999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LEON3的SoC平臺(tái)構(gòu)建及UART全雙工通信驗(yàn)證

2014-06-09 12:33:06段大高王平麗

段大高,王平麗

(北京工商大學(xué),計(jì)算機(jī)與信息工程學(xué)院,北京 100048)

基于LEON3的SoC平臺(tái)構(gòu)建及UART全雙工通信驗(yàn)證

段大高,王平麗

(北京工商大學(xué),計(jì)算機(jī)與信息工程學(xué)院,北京 100048)

LEON3是一個(gè)可配置、可移植、高性能和開(kāi)源的軟核處理器,在工業(yè)領(lǐng)域和空間應(yīng)用中得到廣泛研究。論文基于LEON3軟核構(gòu)建了一種高性能、靈活的SoC硬件平臺(tái),并設(shè)計(jì)了UART全雙工通信功能。首先介紹了 LEON3開(kāi)發(fā)環(huán)境硬件平臺(tái)的搭建,并通過(guò)tsim-leon3模擬器,驗(yàn)證了LEON3 SoC的基本功能;其次研究LEON3的UART通信功能,并在LEON3 SoC硬件平臺(tái)上進(jìn)行了UART全雙工通信實(shí)現(xiàn)。結(jié)果驗(yàn)證了基于LEON3的SoC平臺(tái)的可行性,并實(shí)現(xiàn)了SoC的UART全雙工通信功能,為SoC的開(kāi)發(fā)提供一個(gè)良好的參考方案。

LEON3;UART;tsim-leon3;SoC

0 引言

隨著芯片設(shè)計(jì)技術(shù)的飛速發(fā)展,SoC已成為集成電路設(shè)計(jì)界的焦點(diǎn),SoC的性能要求越來(lái)越高,規(guī)模也越來(lái)越大。LEON系列微處理器是歐洲航天局(ESA)下屬研究機(jī)構(gòu) Gaisler Research公司所開(kāi)發(fā)和維護(hù)的,LEON3處理器是基于SPARC V8架構(gòu)的32位精簡(jiǎn)指令集計(jì)算機(jī)微處理器,目的是擺脫對(duì)美國(guó)航空局的依賴,LEON3是一個(gè)可配置的、可移植的、高性能的、高可靠的軟核處理器[1]。它的源碼是可綜合的VHDL代碼,并且是開(kāi)源的,任何人都可以在其網(wǎng)站上免費(fèi)下載其硬件代碼和各種開(kāi)發(fā)軟件工具與文檔。由于LEON3具有良好的可移植性、可配置性和遵循GPL許可協(xié)議的開(kāi)源性,這些特性保證系統(tǒng)SoC芯片的安全性,提供良好的性能和靈活的解決方案[2],也決定了在LEON3上進(jìn)行嵌入式操作系統(tǒng)移植的特殊性,所以很適合SoC平臺(tái)開(kāi)發(fā)[3~5]。本文為基于LEON3的SoC平臺(tái)設(shè)計(jì)提供一個(gè)良好的參考方案。

1 基于LEON3的SoC平臺(tái)搭建

1.1 基于LEON3的SoC平臺(tái)系統(tǒng)框架的設(shè)計(jì)

LEON3系統(tǒng)是基于AMBA AHB和APB總線設(shè)計(jì)的[6],系統(tǒng)所有模塊都通過(guò)AMBA總線連接,LEON3處理器和其他高寬帶設(shè)備都連接在AMBA AHB總線上,如:AHB控制器、內(nèi)存控制器、JTAG接口、USB接口等,其他低速外設(shè)設(shè)備連接在 AMBA APB總線上,如:VGA、定時(shí)器、串口、I/O口等。系統(tǒng)框圖如圖1所示。

1.2 搭建LEON3研發(fā)環(huán)境

(1)軟件條件。在Win7系統(tǒng)上安裝虛擬機(jī)VMwareWorkstation 10.0,在虛擬機(jī)上安裝Linux系統(tǒng):Ubuntu10.10,在Linux環(huán)境下進(jìn)行硬件配置。安裝grmon-eval,用于下載bit文件,查看硬件地址信息等。

(2)硬件條件。本文使用開(kāi)發(fā)板X(qián)ilinx公司的spartan3e xc3s1600e。它包含了豐富的,靈活的邏輯資源,包含一個(gè)xc3s1600e FPGA芯片,邏輯單元33192,IEEE 1149.1/ 1532 JTAG編程/調(diào)試端口等邏輯資源。

(3)tsim-leon3驗(yàn)證。TSIM是SPARC架構(gòu)處理器通用軟件仿真器[7],用于軟件仿真ERC32和LEON處理器。它作為軟件模擬的VHDL模型,調(diào)試過(guò)程中需要啟動(dòng)一些常見(jiàn)的選項(xiàng)進(jìn)行設(shè)置,如:-freq。使用tsim-leon3對(duì)Hello World程序進(jìn)行測(cè)試,進(jìn)而驗(yàn)證LEON3研發(fā)環(huán)境成功搭建,為下一步硬件平臺(tái)環(huán)境搭建建立基礎(chǔ)。

圖1 系統(tǒng)框圖Fig.1 System block diagram

1.3 基于LEON3的硬件平臺(tái)搭建

本文是使用Xilinx公司的spartan3e系列的xc3s1600e作為L(zhǎng)EON3處理器系統(tǒng)的載體,在配置好硬件平臺(tái)開(kāi)發(fā)環(huán)境以后,接下來(lái)進(jìn)行硬件平臺(tái)的搭建,搭建流程如圖2所示。

圖2 硬件平臺(tái)搭建流程Fig.2 Procedure of designing hardware platform

由于前期階段已經(jīng)下載安裝了GRLIB IP庫(kù),即LEON3源代碼,在Linux環(huán)境下,找到目標(biāo)板的文件目錄,使用make xconfig命令對(duì)各個(gè)硬件模塊進(jìn)行配置,利用圖形配置界面配置各個(gè)模塊,配置信息將保存在config.vhd中。

使用make ise命令建立工程文件,使用 Xilinx ISE14.3編譯整個(gè)工程文件,生成 bit文件,最后將bit文件下載到FPGA開(kāi)發(fā)板上。

打開(kāi)grmon-eval,使用info sys命令[8],查看LEON3內(nèi)核硬件地址信息,可以看出內(nèi)核的處理器是Gaisler Research LEON3 SPARC V8 Processor,APB UART的基地址是0x80000100,從而可知LEON3硬件平臺(tái)搭建成功。

2 基于LEON3的UART全雙工通信驗(yàn)證

2.1 APB UART的結(jié)構(gòu)

APB UART主要包括接收模塊、發(fā)送模塊、波特率產(chǎn)生模塊和串口控制器等4個(gè)部分。APB UART為串行通信提供接口,該UART支持帶8個(gè)數(shù)據(jù)位,一個(gè)可選的奇偶校驗(yàn)位和1個(gè)停止位的數(shù)據(jù)幀。為產(chǎn)生波特率,每個(gè)UART具有一個(gè)可編程的12位時(shí)鐘分頻器。當(dāng)fifosize>1時(shí),兩個(gè)FIFO用于APB總線和UART之間的數(shù)據(jù)傳輸。當(dāng) fifosize=1時(shí),兩個(gè)保持寄存器用于APB總線和UART之間的數(shù)據(jù)傳輸。當(dāng)VHDL的參數(shù)聲明(flow)里設(shè)置流控制時(shí),通過(guò)RTSN/CTSN握手信號(hào)支持硬件流控制。當(dāng)VHDL參數(shù)聲明(parity)里設(shè)置奇偶校驗(yàn)位時(shí),支持奇偶校驗(yàn)。APB UART模塊的工作模式包括:發(fā)送模式、接收模式、波特率生成、回環(huán)模式、FIFO調(diào)試模式、中斷產(chǎn)生模式。通過(guò)選擇不同的工作模式,對(duì)寄存器選擇不同的操作和控制。

2.2 APB UART的幀格式和寄存器

UART無(wú)奇偶校驗(yàn)位的幀格式包括線路空閑狀態(tài)(idle,高電平)、起始位(start bit,低電平)、8位數(shù)據(jù)位(data bits)和停止位(stop bit)。

通過(guò)寄存器映射到 APB地址空間來(lái)控制 IP核。APB UART的相關(guān)寄存器的地址偏移量如表1所示。

(1)UART數(shù)據(jù)寄存器:數(shù)據(jù)寄存器有32位,只有低7位有效,在發(fā)送模式下,存儲(chǔ)的是要發(fā)送的數(shù)據(jù),在接收模式下,存儲(chǔ)的是接收到的數(shù)據(jù)。

表1 APBUART的寄存器Tab.1 APBUART registers

(2)UART狀態(tài)寄存器:狀態(tài)寄存器中的各位數(shù)據(jù)表明現(xiàn)在UART的狀態(tài),比較典型的位有:10:RF表示接受FIFO滿;9:TF表示發(fā)送FIFO滿;8:RH表示接收FIFO中至少有一半的數(shù)據(jù);7:TH表示發(fā)送FIFO中的數(shù)據(jù)少于一半;6:FE表示檢測(cè)到幀錯(cuò)誤;5:PE表示檢測(cè)到奇偶校驗(yàn)位錯(cuò)誤;4:OV表示由于溢出丟失了一個(gè)或多個(gè)數(shù)據(jù);2:TE表示發(fā)送FIFO空;1:TS表示數(shù)據(jù)移位寄存器為空;0:DR數(shù)據(jù)準(zhǔn)備,表示可以在FIFO中獲得新數(shù)據(jù)。

(3)UART控制寄存器:UART控制寄存器是一組可以對(duì)UART進(jìn)行操作控制的寄存器,使其工作在不同的工作模式下,其中比較典型的位如下:7:LB置位時(shí),UART工作在回環(huán)模式;6:FL置位時(shí),用CTS/RTS使能流控制;5:PE置位時(shí),奇偶校驗(yàn)使能;4:PS選擇奇偶校驗(yàn)的種類,1是奇校驗(yàn),0是偶校驗(yàn);3:TI置位時(shí),當(dāng)發(fā)送一個(gè)數(shù)據(jù)幀時(shí)產(chǎn)生一個(gè)中斷;2:RI置位時(shí),當(dāng)接收掃一個(gè)數(shù)據(jù)幀時(shí)產(chǎn)生一個(gè)中斷;1:TE使能發(fā)送數(shù)據(jù);0:RE使能接收數(shù)據(jù)。

(4)UART計(jì)數(shù)寄存器:根據(jù)UART計(jì)數(shù)寄存器的值可以計(jì)算UART的波特率。

2.3 UART全雙工通信程序

(1)UART的寄存器硬件地址映射。

#define UART_BASE 0x80000100

#defineUART_RX_FIFO *(volatileunsignedint*)(UART_BASE)

#define UART_TX_FIFO*(volatile unsigned int*)(UART_BASE)

#defineUART_STATE*(volatileunsignedint*)(UART_BASE+0x04)

#define UART_CON*(volatile unsigned int*)(UART_BASE+0x08)

#defineUART_SCALE*(volatileunsignedint*)(UART_BASE+0x0c)

以上代碼是對(duì)UART的相關(guān)寄存器進(jìn)行物理映射,UART的基地址是0x80000100,這是APB總線的地址段,以這個(gè)地址段開(kāi)頭向后偏移相應(yīng)的偏移地址得到相應(yīng)寄存器的地址。這和寄存器中相應(yīng)的地址是對(duì)應(yīng)的,所以對(duì)相對(duì)應(yīng)的物理地址進(jìn)行讀寫(xiě)操作,可以對(duì)應(yīng)的對(duì)寄存器進(jìn)行讀寫(xiě)操作。

(2)程序流程圖。UART接收過(guò)程中,task_buf記錄有效數(shù)據(jù)量,由于FIFO深度為8字節(jié),故接收的有效數(shù)據(jù)量不應(yīng)大于8字節(jié),接收程序流程如圖3所示。

發(fā)送過(guò)程分三種情況:當(dāng)發(fā)送FIFO為空時(shí),最多發(fā)送8個(gè)字節(jié)數(shù)據(jù);當(dāng)發(fā)送FIFO少于一半時(shí),最多發(fā)送4個(gè)字節(jié)數(shù)據(jù);當(dāng)發(fā)送FIFO滿時(shí),不發(fā)送數(shù)據(jù)。發(fā)送過(guò)程流程圖如圖4所示。

(3)測(cè)試結(jié)果。UART全雙工通信功能驗(yàn)證:在Windows平臺(tái)下編寫(xiě)串口通信程序,測(cè)試程序編寫(xiě)完成,使用sparc-elf-gcc編譯器編譯C程序生成可執(zhí)行文件。再使用grmon-eval下載到目標(biāo)板上,使用 run命令,運(yùn)行程序,使用串口調(diào)試助手進(jìn)行觀測(cè),本測(cè)試中選擇的是無(wú)奇偶校驗(yàn)位的數(shù)據(jù)幀格式,通信雙方采用相同的波特率9600bps,上位機(jī)打開(kāi)一個(gè)串口調(diào)試助手,通過(guò)USB轉(zhuǎn)的串口6與串口調(diào)試助手相連接,準(zhǔn)備一系列字節(jié)用于發(fā)送數(shù)據(jù),下位機(jī)運(yùn)行時(shí),可以通過(guò)連接串口6的調(diào)試助手看到不斷的收到所發(fā)數(shù)據(jù),測(cè)試結(jié)果如圖5所示。對(duì)比發(fā)送和接收的數(shù)據(jù),發(fā)現(xiàn)二者是一致的,也無(wú)錯(cuò)誤發(fā)生,測(cè)試結(jié)果可以看出,該測(cè)試程序完成了UART全雙工的通信,從而也可以驗(yàn)證UART的接收功能和發(fā)送功能。

圖3 接收程序流程圖Fig.3 The receiving program flow diagram

圖4 發(fā)送過(guò)程流程圖Fig.4 The transmitting program flow diagram

3 總結(jié)

本文利用LEON3軟核處理器的可配置、可綜合、 可移植等性質(zhì), 構(gòu)建了一基于LEON3的 SoC硬件平臺(tái),并且通過(guò)UART全雙工通信,驗(yàn)證了平臺(tái)的搭建成功,同時(shí)驗(yàn)證了基于LEON3軟核的UART全雙工通信的可行性,為以后LEON3 SoC的開(kāi)發(fā)提供一個(gè)良好的參考方案。

圖5 測(cè)試結(jié)果Fig.5 Test results

[1]Gaisler A.LEON/GRLIB Configuration and Development Guide[Z]. Aeroflex Gaisler,2012.

[2]李林,張曉林,楊希.基于 LEON開(kāi)源軟核的 SoC平臺(tái)構(gòu)建與測(cè)試[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2007,1.

[3]Zhonghua Z,Wuchen W,Ming H,et al.A SoPC design based on LEON3 SoC platform[A].Microelectronics&Electronics,2009.PrimeAsia 2009. AsiaPacificConferenceonPostgraduateResearchinIEEE[C].2009.

[4]Pei L,Jian Z.A high reliable SOC on-board computer based on LEON3[A].Computer Science and Automation Engineering(CSAE), 2012 IEEE International Conference on.IEEE[C].2012.

[5]Mu?oz A,Ostua E,Bellido M J,et al.Building a SoC for industrial applications based on LEON microprocessor and a GNU/Linux distribution[A].Industrial Electronics,2008.ISIE 2008.IEEE International Symposium on.IEEE[C].2008.

[6]Gaisler A.GRLIB IP Core User's Manual,Version 1.2.2 B4123[Z]. Aeroflex Gaisler:January 2013.

[7]Gaisler A.TSIM2 Simulator User's Manual Version2.0.23[Z].Aeroflex Gaisler AB:October 2012.

[8]Gaisler A.GRMON User's Manual Version 1.1.56[Z].Aeroflex Gaisler AB:December 2012.

SoC Platform and UART Full-duplex Communication Verification Based on LEON3

DUAN Da-Gao,WANG Ping-Li
(College of Computer and Information Engineering,Beijing Technology and Business University,Beijing 100048,China)

LEON3 is a configurable,portable,high-performance and open source soft-core processor,which has been widely used in the field of industrial and space applications.In this paper,we built a high-performance,flexible SoC hardware platform based on LEON3 softcore,and designed?the function of UART full-duplex communication.Firstly,the build of the hardware platform of LEON3 development environment is introduced,and the basic function of LEON3 SoC is verified through tsim-leon3 simulator.Secondly,the communication of SoC UART is proposed and the UART full-duplex function is implemented on LEON3 SoC hardware platform.The experimental results show that the high-performance LEON3 SoC platform is achieved.A good reference solution for the development of SoC is provided.

LEON3;UART;tsim-leon3;SoC

TP39

:Adoi:10.3969/j.issn.1002-6673.2014.03.045

1002-6673(2014)03-115-03

2014-03-12

段大高 (1976-),男,博士,副教授。主要研究方向:多媒體信息處理、現(xiàn)代網(wǎng)絡(luò)通信、嵌入式系統(tǒng)、智能數(shù)據(jù)分析等;王平麗 (1988-),女,碩士研究生。主要研究方向:嵌入式系統(tǒng)開(kāi)發(fā)、多媒體信息處理等。

主站蜘蛛池模板: 亚洲最大福利视频网| 亚洲性一区| 在线免费无码视频| 欧美精品在线看| 在线网站18禁| 国产在线97| 精品国产成人国产在线| 亚洲男人天堂久久| 亚洲精品无码久久毛片波多野吉| 又大又硬又爽免费视频| 国产成人福利在线| 米奇精品一区二区三区| 性欧美久久| 永久免费精品视频| 无码网站免费观看| 毛片在线看网站| 超清人妻系列无码专区| 亚洲浓毛av| 国产电话自拍伊人| 国产精彩视频在线观看| 欧美在线视频a| 国产SUV精品一区二区6| 久久性视频| 国产全黄a一级毛片| 亚洲国内精品自在自线官| 日本不卡在线播放| 亚洲国产成人超福利久久精品| 伊人久久大香线蕉综合影视| 中文字幕日韩视频欧美一区| 亚洲人成影院在线观看| 久久精品亚洲中文字幕乱码| 国产欧美专区在线观看| 国产黑丝一区| 久久99蜜桃精品久久久久小说| 亚洲无码在线午夜电影| 欧美色图久久| 91国内视频在线观看| 亚洲无码高清一区二区| 好吊色妇女免费视频免费| 99re66精品视频在线观看| 国产夜色视频| 国产特一级毛片| 久久精品亚洲热综合一区二区| 久无码久无码av无码| 免费网站成人亚洲| 国产精品手机在线观看你懂的| 色色中文字幕| 99久视频| 国产乱子伦视频三区| www.日韩三级| 97se亚洲| 国产成人一区在线播放| 国产青青草视频| 欧美成人精品高清在线下载| 亚洲日本一本dvd高清| 色婷婷狠狠干| 玖玖免费视频在线观看| 国产杨幂丝袜av在线播放| 伊人大杳蕉中文无码| 制服丝袜一区| 亚洲精品天堂自在久久77| 国产成a人片在线播放| 日本久久久久久免费网络| 秘书高跟黑色丝袜国产91在线 | 亚洲女同一区二区| 在线观看国产黄色| 久久久国产精品免费视频| 91精品亚洲| 波多野结衣视频一区二区| 99在线视频免费观看| 成人一级免费视频| 91精品国产麻豆国产自产在线| 日韩欧美国产区| 亚洲另类色| 国产精品乱偷免费视频| 久久青草免费91线频观看不卡| 亚洲成a∧人片在线观看无码| 四虎影视无码永久免费观看| 免费高清a毛片| 自拍偷拍欧美| 啪啪永久免费av| 成人一级黄色毛片|