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

基于SOPC技術的異步串行通信IP核的設計與實現

2012-07-13 03:06:30許揚婧
電子設計工程 2012年3期
關鍵詞:系統設計

鄧 偉 , 許揚婧

(1.通信信息控制和安全技術重點實驗室 浙江 嘉興 314033;2.中國電子科技集團公司第三十六研究所 浙江 嘉興 314033)

隨著嵌入式技術的發展,基于SoPC技術的嵌入式系統所具有的軟硬件可裁減、可擴充、可升級以及可在線修改的特點越來越受到人們的重視。SoPC系統通常具有以下基本特征:采用大容量可編程邏輯器件來實現,單芯片、低功耗;至少包含1個以上的嵌入式處理器IP核;具有一個或多條片上總線作為系統擴展功能的接口;具有充足的片上可編程邏輯資源,用戶可以根據需要擴充功能部件[1]。

異步串行通信協議(UART)以低成本、高可靠性等優點而廣泛應用于嵌入式系統中,多篇文獻也討論了UART協議的硬件設計方法,但多數只限于討論UART協議的硬件實現,缺少從SoPC系統的角度論述UART IP核的設計方法[2-3]。本文以UART IP核和PLB總線為例,討論了在SoPC系統下UART IP核的設計方法,該方法對其他IP核的設計有一定的參考作用。

1 UART協議介紹

UART是一種串行異步通信方式,它采用RS232電平在串行鏈路上進行全雙工的通信,其數據傳輸格式如圖1所示:UART協議在空閑時為高電平,通過發送起始位提示接收方數據傳輸即將開始,接著傳輸8位有效數據位和奇偶檢驗位,最后發送停止位表示一個字符傳輸完成。

圖1 UART數據傳輸格式Fig.1 UART frame format

2 SOPC UART通信系統介紹

本文設計的SoPC UART通信系統主要包括MicroBlaze處理器、PLB總線、UART IP核和DDR2控制器IP核,如圖2所示。

圖2 SoPC UART通信系統原理圖Fig.2 System chart of SoPC UART

MicroBlaze處理器是Xilinx公司針對其FPGA器件優化的32位微處理器核,它采用RISC (Reduced Instruction System Computer)架構和哈佛總線結構,具有獨立32位數據和指令總線,能夠高速執行和訪問片上存儲器和片外存儲器上的程序與數據;提供本地塊存儲器總線(LMB)、處理器本地總線(PLB)等總線接口[5]。

PLB總線作為IBM CoreConnect總線協議簇中的一部分,廣泛的應用于IBM PowerPC處理器架構中。該總線具有總線地址空間大,總線吞吐率高,能支持多個主從設備連接等特點[6]。如圖3所示,MicroBlaze處理器通過PLB總線與UARTIP核、DDR2控制器相互連接,各部件之間通過PLB總線協議進行交互。其中,MicroBlaze處理器作為主設備完成系統控制和UART通信流程控制,UART IP核作為從設備在主設備的控制下完成異步串行通信,DDR2存儲指令和數據。

MicroBlaze處理器和DDR2控制器采用Xilinx公司提供的IP核,UART IP核由用戶編寫邏輯,它是文中設計的主要內容,對此模塊的設計將在下一節進行詳細闡述。

3 UART IP核設計

3.1 PLB Slave Single模塊介紹

如上,UART IP核作為PLB總線的從設備,必須提供PLB總線接口。但由于PLB總線協議復雜,實現其接口難度較大,Xilinx公司為了使用戶編寫的邏輯能夠方便的連結到PLB總線上,提供了一種PLB總線與用戶邏輯之間的接口模塊(IPIF,IP Interface),利用它簡化了 PLB總線接口信號、總線協議和其他接口相關問題。IPIF接口邏輯中最簡單的模塊稱為PLB Slave Single模塊,它提供了一種輕量級的PLB總線接口,為PLB總線主設備提供了解析從設備地址空間,讀寫從設備寄存器/存儲空間等基本服務[7]。本文設計的UART IP核與MicroBlaze處理器之間僅通過寄存器的讀寫進行交互,PLB Slave Single模塊很好的滿足了該設計要求,因此采用PLB Slave Single模塊與UART邏輯共同構成了UART IP核。PLB Slave Single模塊與UART邏輯之間的連接關系如圖3所示,接口信號說明如表1所示。

圖3 PLB Slave Single模塊與UART邏輯連接圖Fig.3 Connection between PLB slave single and UART logic

在系統中,UART IP核的內部寄存器組映射為處理器的某段地址空間,MicroBlaze處理器通過對該段地址的讀寫實現對UART IP核的訪問。當MicroBlaze處理器訪問UART IP核的某個寄存器時,PLB總線會產生相應的地址信號和讀寫信號,該信號被UART IP核中的PLB Slave Single模塊解析并生成相應的IPIF信號,UART IP核中的UART邏輯響應該IPIF信號,完成寄存器的讀寫。

表1 IPIF接口信號Tab.1 IPIF interface signal

3.2 UART IP核寄存器組設計

文中設計的UART IP核提供了5個寄存器,如表2所示。其中發送寄存器和讀接收寄存器完成UART數據的發送和接收。狀態寄存器提供了UART IP核內部狀態,包括接收數據有效,發送FIFO滿,接收FIFO滿,奇偶校驗錯等狀態。控制寄存器提供了UART IP核復位功能。配置寄存器提供了波特率設置,奇偶校驗位設置等功能。

表2 UARTIP核寄存器組Tab.2 UART IP registers

3.3 UART協議邏輯模塊設計

本文設計的UART協議邏輯模塊主要包括波特率產生模塊,發送模塊,接收模塊,寄存器組等幾個部分,其結構如圖4所示。寄存器組說明如表2,其他幾個模塊的設計如圖4所示。

圖4 UART邏輯模塊原理圖Fig.4 Logical chart of UART module

3.3.1 波特率模塊

波特率模塊根據PLB總線提供的時鐘產生需要的發送時鐘和接收時鐘。由于UART在發送數據時只需要按照發送波特率將數據串行地發出就可以了,因此發送時鐘就等于發送波特率。而當UART在接收數據時,需要對串行數據進行采樣以判斷接收數據。由于接收方和發送方的時鐘不可能完全同步,所以需要對每一位接收數據持續電平的時間進行分段。分段越多,接收出現誤判的概率就越低,但系統開銷也越大。在實際的設計中通常采用發送時鐘的16倍作為接收時鐘[8]。波特率模塊的分頻功能由兩個16位計數器實現,它將PLB總線時鐘按配置寄存器的設定進行分頻,產生發送時鐘和接收時鐘。

3.3.2 發送模塊

發送模塊主要包括發送FIFO和發送單元兩部分,如圖5(a)所示。發送FIFO數據位寬度為8bit,深度為16字節。發送FIFO緩存MicroBlaze處理器需要發送的數據。當FIFO空間滿時,發送模塊將狀態寄存器中“發送FIFO滿”標志位置1,MicroBlaze處理器通過查詢該位以判斷UART IP核是否可以接收下一個發送數據。

圖5 發送模塊示意圖和狀態轉換圖Fig.5 Transmitter structural and transmitter state flow

發送單元的設計用有限狀態機的方法實現,其狀態轉換圖如圖5(b)所示。系統在復位后,發送單元處于空閑狀態。當FIFO有發送數據時 (Empty管腳為低),發送單元發出讀FIFO操作,并進入數據準備狀態。當數據從FIFO中讀出,發送單元首先發送起始位,進入發送狀態。在發送狀態下,發送單元依次串行發送8比特數據,并計算當前的奇偶校驗碼。在數據發送結束后,若配置寄存器中奇偶校驗位為1,則發送奇偶校驗位。最后發送單元發送停止位,回到空閑狀態,完成本次數據發送。

3.3.3 接收模塊

接收模塊由接收FIFO和接收單元兩部分組成,如圖6(a)所示。接收FIFO數據位寬度為8 bit,深度16字節,它負責緩存接收單元收到的數據,并在收到數據后將狀態寄存器中“接收數據有效”標志位置1。MicroBlaze處理器通過查詢該位來判斷是否有數據到達。

圖6 接收模塊結構示意圖和狀態轉換圖Fig.6 Receiver structure and receiver state flow

接收單元的設計同樣采用了有限狀態機的方法,其狀態轉換圖如圖6(b)所示。系統在復位后接收單元處于就緒狀態。當接收單元在接收管腳連續檢測到8個低電平時認為起始位有效,進入接收狀態。在接收狀態下,接收單元每16個接收時鐘采集一次接收數據。8個接收數據都采集完成后,接收單元根據配置寄存器中“奇偶校驗位”是否為1決定是否進行奇偶校驗。若奇偶校驗通過,接收單元將接收到的數據寫入接收FIFO。若奇偶校驗未通過接收FIFO滿,接收單元丟棄收到的數據,并在狀態寄存器中置“奇偶校驗出錯”位或“接收FIFO滿”位為 1。

4 實驗驗證

4.1 系統硬件介紹

本文采用Xilinx公司提供的ML505 V5 FPGA Demo板作為SoPC系統硬件平臺。ML505 FPGA演示驗證板主要由一塊Virtex-5 XC5VLX50T FPGA構成,此外還包括RAM、Flash、以太網接口芯片、USB接口芯片以及ADM3202 RS-232電平轉換芯片等外圍擴展芯片[4],其中ADM3202電路原理圖如圖7所示。

實驗采用Xilinx公司ISE工具完成UART IP核的邏輯綜合和仿真,仿真波形如圖8所示,發送數據為0x01。

圖7 ML505 V5 FPGA Demo板ADM3202電路原理圖Fig.7 The ADM3202 schematic of ML505 V5 FPGA demo board

圖8 UART IP核仿真波形Fig.8 Simulation waveform of UART IP

UART IP核仿真通過后,用EDK工具提供的Peripheral Import Wizard生成一個采用PLB Slave Single模塊的自定義IP核框架。在該IP核目錄下的user_logic.v文件中例化波特率模塊、發送模塊、接收模塊和寄存器組,并增加相應總線訪問邏輯后即生成了本文設計的UART IP核。

用EDK工具中的Base System Builder wizard新建一個如圖3所示的SoPC系統,如圖9所示。在Port界面下將UART IP核的收發管腳定義為External,并在UCF文件中加入收發管腳的管腳映射描述。在Address界面下生成UART IP核的地址空間,UART通信測試程序將通過該地址空間訪問UART IP核。用EDK工具中Hardware菜單下Generate BitStream命令生成該SoPC系統的FPGA配置文件。用該配置文件配置ML505板載FPGA后,即生成了SoPC UART通信系統硬件。

用EDK工具中的Xilinx SDK軟件開發工具編寫相應的UART通信測試程序,編譯后將程序下載至MicroBlaze處理器程序空間。將ML505板串口與PC機串口連接后運行UART通信測試程序,在PC機上可以觀察到此UART通信系統可以正確的發送和接收UART數據,證明了該UART IP核工作正常。

5 結 論

文中詳細介紹了一種基于SoPC概念的UART IP核的設計。通過將Xilinx公司提供的PLB Slave Single模塊和本文設計的UART邏輯模塊結合,快速搭建了一個滿足PLB總線接口要求的UART IP核,仿真與綜合結果表明該UART IP核各項功能均達到預期要求。該設計方法既采用了成熟的商業IP核,也利用總線接口模塊將用戶自定義IP核與商業IP核連接成為一個完整的SoPC系統。該方法增加了系統的靈活性、擴展性,同時縮短了系統開發時間,降低了系統開發難度,可為其他嵌入式系統的開發提供有益的參考。

圖9 EDK環境下的SoPC UART通信系統Fig.9 SoPC UART system in EDK environment

[1]楊強浩.基于EDK的FPGA嵌入式系統開發[M].北京:機械工業出版社,2008.

[2]鄭爭兵.一種基于FPGA的UART電路設計 [J].國外電子測量技術,2010,29(7):85-87.

ZHENG Zheng-bing.Design of UART circuit based on FPGA[J].ForeignElectronicMeasurementTechnology, 2010,29(7):85-87.

[3]李秋菊,楊銀堂,高海霞.基于Verilog HDL的UART IP的設計[J].半導體技術,2007,32(6):520-523.

LI Qiu-ju,YANG Yin-tang,GAO Hai-xia.Design of UART based on Verilog HDL[J].Semiconductor Technology,2007,32(6):520-523.

[4]聶濤,許世宏.基于FPGA的UART設計[J].現代電子技術,2006,29(2):127-129.

NIE Tao,XU Shi-hong.Design of UART based on FPGA[J].Modern Electronics Technique,2006,29(2):127-129.

[5]Xilinx Company.ML505/ML506/ML507 evaluation platform user guide[EB/OL]. (2011)[2011-12-05].http://www.xilinx.com/support/documentation/boards_and_kits/ug347.pdf

[6]Xilinx Company.Microblaze processor reference guide[EB/OL].(2008) [2011-12-05].http://www.xilinx.com/support/documentation/sw_manuals/mb_ref_guide.pdf

[7]Xilinx Company.Xilinx LogiCORE?DS531 Processor Local Bus(PLB) v4.6[EB/OL].(2010)[2011-12-05]http://www.xilinx.com/support/documentation/ip_documentation/plb_v46.pdf.

[8]Xilinx Company.PLBV46 interface simplifications[EB/OL].(2007) [2011-12-05].http://www.xilinx.com/support/documentation/sw_manuals/edk10_sp026.pdf

猜你喜歡
系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: a在线观看免费| 91精品伊人久久大香线蕉| 亚洲中久无码永久在线观看软件| 色窝窝免费一区二区三区 | 精品国产黑色丝袜高跟鞋| 亚洲欧美另类中文字幕| 无码中文AⅤ在线观看| 色婷婷成人网| 99久久精品国产麻豆婷婷| 免费一级成人毛片| 99人体免费视频| 亚洲一区二区约美女探花| 丁香五月激情图片| 国产网友愉拍精品| 中文字幕人妻无码系列第三区| 久草网视频在线| 国产第二十一页| 成人午夜福利视频| 国产原创演绎剧情有字幕的| 91无码人妻精品一区二区蜜桃 | 亚洲AV无码久久天堂| 国产在线日本| 国产剧情无码视频在线观看| 国产靠逼视频| 99国产精品免费观看视频| 多人乱p欧美在线观看| 欧美中文字幕在线播放| 99这里只有精品在线| 国产无码制服丝袜| 国产菊爆视频在线观看| 国产福利小视频高清在线观看| 亚洲欧美一区在线| 国产Av无码精品色午夜| 一本色道久久88亚洲综合| 国产在线一区二区视频| 朝桐光一区二区| 亚洲va欧美ⅴa国产va影院| 久久五月视频| 免费激情网址| 国产情精品嫩草影院88av| 99精品免费在线| 国产欧美日本在线观看| 香蕉视频在线观看www| 香蕉蕉亚亚洲aav综合| 日韩AV手机在线观看蜜芽| 日本国产精品| 99视频有精品视频免费观看| AV熟女乱| 91小视频在线观看| 在线精品视频成人网| 国产成人精品视频一区视频二区| 成人午夜网址| 四虎国产精品永久一区| 福利国产微拍广场一区视频在线| 国产一级毛片yw| 国产欧美日韩综合一区在线播放| 国产麻豆精品在线观看| 91精品啪在线观看国产60岁| 亚洲第一黄片大全| 在线网站18禁| 狠狠亚洲五月天| 伊人久久综在合线亚洲2019| 狼友av永久网站免费观看| 日本尹人综合香蕉在线观看| 亚洲av综合网| 538精品在线观看| 国产精品男人的天堂| 日韩人妻无码制服丝袜视频| 国产精品毛片一区| 亚洲,国产,日韩,综合一区| 国产精品中文免费福利| 日本草草视频在线观看| 日本久久久久久免费网络| 999精品色在线观看| 一区二区三区国产精品视频| 超碰免费91| 天堂va亚洲va欧美va国产| 一级成人a毛片免费播放| 超薄丝袜足j国产在线视频| 国产鲁鲁视频在线观看| 亚洲第一成年免费网站| 亚洲中文制服丝袜欧美精品|