當(dāng)前位置:首頁(yè) > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]隨著嵌入式技術(shù)的發(fā)展,基于SoPC技術(shù)的嵌入式系統(tǒng)所具有的軟硬件可裁減、可擴(kuò)充、可升級(jí)以及可在線修改的特點(diǎn)越來(lái)越受到人們的重視。SoPC系統(tǒng)通常具有以下基本特征:采用大容量可編程邏輯器件來(lái)實(shí)現(xiàn),單芯片、低功耗

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

異步串行通信協(xié)議(UART)以低成本、高可靠性等優(yōu)點(diǎn)而廣泛應(yīng)用于嵌入式系統(tǒng)中,多篇文獻(xiàn)也討論了UART協(xié)議的硬件設(shè)計(jì)方法,但多數(shù)只限于討論UART協(xié)議的硬件實(shí)現(xiàn),缺少?gòu)腟oPC系統(tǒng)的角度論述UART IP核的設(shè)計(jì)方法。本文以UART IP核和PLB總線為例,討論了在SoPC系統(tǒng)下UART IP核的設(shè)計(jì)方法,該方法對(duì)其他IP核的設(shè)計(jì)有一定的參考作用。

1 UART協(xié)議介紹

UART是一種串行異步通信方式,它采用RS232電平在串行鏈路上進(jìn)行全雙工的通信,其數(shù)據(jù)傳輸格式如圖1所示:UART協(xié)議在空閑時(shí)為高電平,通過(guò)發(fā)送起始位提示接收方數(shù)據(jù)傳輸即將開(kāi)始,接著傳輸8位有效數(shù)據(jù)位和奇偶檢驗(yàn)位,最后發(fā)送停止位表示一個(gè)字符傳輸完成。

 

 

2 SOPC UART通信系統(tǒng)介紹

本文設(shè)計(jì)的SOPC UART通信系統(tǒng)主要包括MicroBlaze處理器、PLB總線、UART IP核和DDR2控制器IP核,如圖2所示。

 

 

MicroBlaze處理器是Xilinx公司針對(duì)其FPGA器件優(yōu)化的32位微處理器核,它采用RISC(Reduced Instruction System Computer)架構(gòu)和哈佛總線結(jié)構(gòu),具有獨(dú)立32位數(shù)據(jù)和指令總線,能夠高速執(zhí)行和訪問(wèn)片上存儲(chǔ)器和片外存儲(chǔ)器上的程序與數(shù)據(jù);提供本地塊存儲(chǔ)器總線(LMB)、處理器本地總線(PLB)等總線接口。

PLB總線作為IBM CoreConnect總線協(xié)議簇中的一部分,廣泛的應(yīng)用于IBM PowerPC處理器架構(gòu)中。該總線具有總線地址空間大,總線吞吐率高,能支持多個(gè)主從設(shè)備連接等特點(diǎn)。如圖3所示,MicroBlaze處理器通過(guò)PLB總線與UARTIP核、DDR2控制器相互連接,各部件之間通過(guò)PLB總線協(xié)議進(jìn)行交互。其中,MicroBlaze處理器作為主設(shè)備完成系統(tǒng)控制和UART通信流程控制,UART IP核作為從設(shè)備在主設(shè)備的控制下完成異步串行通信,DDR2存儲(chǔ)指令和數(shù)據(jù)。

MicroBlaze處理器和DDR2控制器采用Xilinx公司提供的IP核,UART IP核由用戶編寫(xiě)邏輯,它是文中設(shè)計(jì)的主要內(nèi)容,對(duì)此模塊的設(shè)計(jì)將在下一節(jié)進(jìn)行詳細(xì)闡述。

3 UART IP核設(shè)計(jì)

3.1 PLB Slave Single模塊介紹

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

 

 

在系統(tǒng)中,UART IP核的內(nèi)部寄存器組映射為處理器的某段地址空間,MicroBlaze處理器通過(guò)對(duì)該段地址的讀寫(xiě)實(shí)現(xiàn)對(duì)UART IP核的訪問(wèn)。當(dāng)MicroBlaze處理器訪問(wèn)UART IP核的某個(gè)寄存器時(shí),PLB總線會(huì)產(chǎn)生相應(yīng)的地址信號(hào)和讀寫(xiě)信號(hào),該信號(hào)被UART IP核中的PLB Slave Single模塊解析并生成相應(yīng)的IPIF信號(hào),UART IP核中的UABT邏輯響應(yīng)該IPIF信號(hào),完成寄存器的讀寫(xiě)。

3.2 UART IP核寄存器組設(shè)計(jì)

文中設(shè)計(jì)的UART IP核提供了5個(gè)寄存器,如表2所示。其中發(fā)送寄存器和讀接收寄存器完成UART數(shù)據(jù)的發(fā)送和接收。狀態(tài)寄存器提供了UART IP核內(nèi)部狀態(tài),包括接收數(shù)據(jù)有效,發(fā)送FIFO滿,接收FIFO滿,奇偶校驗(yàn)錯(cuò)等狀態(tài)??刂萍拇嫫魈峁┝薝ART IP核復(fù)位功能。配置寄存器提供了波特率設(shè)置,奇偶校驗(yàn)位設(shè)置等功能。

 

 

3. 3 UART協(xié)議邏輯模塊設(shè)計(jì)

本文設(shè)計(jì)的UART協(xié)議邏輯模塊主要包括波特率產(chǎn)生模塊,發(fā)送模塊,接收模塊,寄存器組等幾個(gè)部分,其結(jié)構(gòu)如圖4所示。寄存器組說(shuō)明如表2,其他幾個(gè)模塊的設(shè)計(jì)如圖4所示。

 

 

3. 3.1波特率模塊

波特率模塊根據(jù)PLB總線提供的時(shí)鐘產(chǎn)生需要的發(fā)送時(shí)鐘和接收時(shí)鐘。由于UABT在發(fā)送數(shù)據(jù)時(shí)只需要按照發(fā)送波特率將數(shù)據(jù)串行地發(fā)出就可以了,因此發(fā)送時(shí)鐘就等于發(fā)送波特率。而當(dāng)UART在接收數(shù)據(jù)時(shí),需要對(duì)串行數(shù)據(jù)進(jìn)行采樣以判斷接收數(shù)據(jù)。由于接收方和發(fā)送方的時(shí)鐘不可能完全同步,所以需要對(duì)每一位接收數(shù)據(jù)持續(xù)電平的時(shí)間進(jìn)行分段。分段越多,接收出現(xiàn)誤判的概率就越低,但系統(tǒng)開(kāi)銷也越大。在實(shí)際的設(shè)計(jì)中通常采用發(fā)送時(shí)鐘的16倍作為接收時(shí)鐘。波特率模塊的分頻功能由兩個(gè)16位計(jì)數(shù)器實(shí)現(xiàn),它將PLB總線時(shí)鐘按配置寄存器的設(shè)定進(jìn)行分頻,產(chǎn)生發(fā)送時(shí)鐘和接收時(shí)鐘。

3.3.2發(fā)送模塊

發(fā)送模塊主要包括發(fā)送FIFO和發(fā)送單元兩部分,如圖5(a)所示。發(fā)送FIFO數(shù)據(jù)位寬度為8bit,深度為16字節(jié)。發(fā)送FIFO緩存MicroBlaze處理器需要發(fā)送的數(shù)據(jù)。當(dāng)FIFO空間滿時(shí),發(fā)送模塊將狀態(tài)寄存器中“發(fā)送FIFO滿”標(biāo)志位置1,MicroBlaze處理器通過(guò)查詢?cè)撐灰耘袛郩ART IP核是否可以接收下一個(gè)發(fā)送數(shù)據(jù)。

 

 

發(fā)送單元的設(shè)計(jì)用有限狀態(tài)機(jī)的方法實(shí)現(xiàn),其狀態(tài)轉(zhuǎn)換圖如圖5(b)所示。系統(tǒng)在復(fù)位后,發(fā)送單元處于空閑狀態(tài)。當(dāng)FIFO有發(fā)送數(shù)據(jù)時(shí)(Empty管腳為低),發(fā)送單元發(fā)出讀FIFO操作,并進(jìn)入數(shù)據(jù)準(zhǔn)備狀態(tài)。當(dāng)數(shù)據(jù)從FIFO中讀出,發(fā)送單元首先發(fā)送起始位,進(jìn)入發(fā)送狀態(tài)。在發(fā)送狀態(tài)下,發(fā)送單元依次串行發(fā)送8比特?cái)?shù)據(jù),并計(jì)算當(dāng)前的奇偶校驗(yàn)碼。在數(shù)據(jù)發(fā)送結(jié)束后,若配置寄存器中奇偶校驗(yàn)位為1,則發(fā)送奇偶校驗(yàn)位。最后發(fā)送單元發(fā)送停止位,回到空閑狀態(tài),完成次數(shù)據(jù)發(fā)送。

3.3.3接收模塊

接收模塊由接收FIFO和接收單元兩部分組成,如圖6(a)所示。接收FIFO數(shù)據(jù)位寬度為8bit,深度16字節(jié),它負(fù)責(zé)緩存接收單元收到的數(shù)據(jù),并在收到數(shù)據(jù)后將狀態(tài)寄存器中“接收數(shù)據(jù)有效”標(biāo)志位置1.MicroBlaze處理器通過(guò)查詢?cè)撐粊?lái)判斷是否有數(shù)據(jù)到達(dá)。

 

 

接收單元的設(shè)計(jì)同樣采用了有限狀態(tài)機(jī)的方法,其狀態(tài)轉(zhuǎn)換圖如圖6(b)所示。系統(tǒng)在復(fù)位后接收單元處于就緒狀態(tài)。當(dāng)接收單元在接收管腳連續(xù)檢測(cè)到8個(gè)低電平時(shí)認(rèn)為起始位有效,進(jìn)入接收狀態(tài)。在接收狀態(tài)下,接收單元每16個(gè)接收時(shí)鐘采集一次接收數(shù)據(jù)。8個(gè)接收數(shù)據(jù)都采集完成后,接收單元根據(jù)配置寄存器中“奇偶校驗(yàn)位”是否為1決定是否進(jìn)行奇偶校驗(yàn)。若奇偶校驗(yàn)通過(guò),接收單元將接收到的數(shù)據(jù)寫(xiě)入接收FIFO.若奇偶校驗(yàn)未通過(guò)接收FIFO滿,接收單元丟棄收到的數(shù)據(jù),并在狀態(tài)寄存器中置“奇偶校驗(yàn)出錯(cuò)”位或“接收FIFO滿”位為1.

4實(shí)驗(yàn)驗(yàn)證

系統(tǒng)硬件介紹

本文采用Xilinx公司提供的ML505 V5 FPGA Demo板作為SoPC系統(tǒng)硬件平臺(tái)。ML505 FPGA演示驗(yàn)證板主要由一塊Virtex-5 XC5VLX50T FPGA構(gòu)成,此外還包括RAM、Flash、以太網(wǎng)接口芯片、USB接口芯片以及ADM3202 RS-232電平轉(zhuǎn)換芯片等外圍擴(kuò)展芯片,其中ADM3202電路原理圖如圖7所示。

 

 

實(shí)驗(yàn)采用Xilinx公司ISE工具完成UART IP核的邏輯綜合和仿真,仿真波形如圖8所示,發(fā)送數(shù)據(jù)為0x01.UART IP核仿真通過(guò)后,用EDK工具提供的Peripheral Import Wizard生成一個(gè)采用PLB Slave Single模塊的自定義IP核框架。在該IP核目錄下的user_logic.v文件中例化波特率模塊、發(fā)送模塊、接收模塊和寄存器組,并增加相應(yīng)總線訪同邏輯后即生成了本文設(shè)計(jì)的UART IP核。

 

 

用EDK工具中的Base System Builder wizard新建一個(gè)如圖3所示的SoPC系統(tǒng),如圖9所示。在Port界面下將UART IP核的收發(fā)管腳定義為External,并在UCF文件中加入收發(fā)管腳的管腳映射描述。在Address界面下生成UART IP核的地址空間,UART通信測(cè)試程序?qū)⑼ㄟ^(guò)該地址空間訪問(wèn)UART IP核。用EDK工具中Hardware菜單下Generate Bit Stream命令生成該SoPC系統(tǒng)的FPGA配置文件。用該配置文件配置ML505板載FPGA后,即生成了SoPC UART通信系統(tǒng)硬件。

 

 

用EDK工具中的Xilinx SDK軟件開(kāi)發(fā)工具編寫(xiě)相應(yīng)的UART通信測(cè)試程序,編譯后將程序下載至MicroBlaze處理器程序空間。將ML505板串口與PC機(jī)串口連接后運(yùn)行UART通信測(cè)試程序,在PC機(jī)上可以觀察到此UART通信系統(tǒng)可以正確的發(fā)送和接收UART數(shù)據(jù),證明了該UART IP核工作正常。

5結(jié)論

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉