基于SOPC技術(shù)的異步串行通信IP核的設(shè)計(jì)與實(shí)現(xiàn)
摘要:介紹了SoPC(System on a Programmable Chip)系統(tǒng)的概念和特點(diǎn),給出了基于PLB總線的異步串行通信(UART)IP核的硬件設(shè)計(jì)和實(shí)現(xiàn)。通過(guò)將設(shè)計(jì)好的UART IP核集成到SoPC系統(tǒng)中加以驗(yàn)證,證明了所設(shè)計(jì)的UARTIP核可以正常工作。該設(shè)計(jì)方案為其他基于SoPC系統(tǒng)IP核的開(kāi)發(fā)提供了一定的參考。
關(guān)鍵詞:SoPC;UKRT;PLB;IPIF;FPGA
隨著嵌入式技術(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ò)展功能的接口;具有充足的片上可編程邏輯資源,用戶(hù)可以根據(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核由用戶(hù)編寫(xiě)邏輯,它是文中設(shè)計(jì)的主要內(nèi)容,對(duì)此模塊的設(shè)計(jì)將在下一節(jié)進(jìn)行詳細(xì)闡述。
評(píng)論