基于Wishbone總線的UART IP核設(shè)計(jì)
2 UART IP核的設(shè)計(jì)實(shí)現(xiàn)
UART IP核的研發(fā)是遵照RS232協(xié)議和Wishbone總線標(biāo)準(zhǔn)進(jìn)行的,集成了UART的基本功能。
UART IP核的主要技術(shù)特征包括:
(1)支持標(biāo)準(zhǔn)RSR232接口標(biāo)準(zhǔn)和Wishbone總線規(guī)范。
(2)全雙工獨(dú)立收發(fā)功能。
(3)接收通道進(jìn)行奇偶校驗(yàn),溢出,產(chǎn)生可選中斷。
(4)內(nèi)置支持接收和發(fā)送的16 Byte FIFO。
(5)發(fā)送“空”產(chǎn)生可選中斷,接收“滿”產(chǎn)生可選中斷。
UART IP核體系結(jié)構(gòu)如圖2所示。本文引用地址:http://butianyuan.cn/article/156564.htm
UART IP核內(nèi)部主要包括數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)接收模塊以及Wishbone總線接口模塊。各模塊的設(shè)計(jì)如下。
2.1 Wishbone總線接口模塊設(shè)計(jì)
Wishbone總線接口模塊將UART IP核與微機(jī)系統(tǒng)相連。該模塊提供Wishbone Master和Wishbone Slave接口。
Wishbone總線接口模塊的主要功能如下:
(1)提供UART IP核與其他設(shè)備的接口,如存儲(chǔ)器或者主機(jī)的接口。
(2)包含緩沖描述符(儲(chǔ)存于內(nèi)部RAM)。
(3)包含信號(hào)在主機(jī)時(shí)鐘、發(fā)送時(shí)鐘和接收時(shí)鐘之間的同步邏輯。
(4)發(fā)送功能。讀取發(fā)送緩沖描述符,讀取數(shù)據(jù)到發(fā)送FIFO并開始發(fā)送,其后將發(fā)送狀態(tài)寫到發(fā)送緩沖描述符。
(5)接收功能。讀取接收緩沖描述符,將獲得的字節(jié)寫入接收FIFO,其后通過Wishbone Muter接口與微機(jī)系統(tǒng)進(jìn)行通信。最后,將接收狀態(tài)寫到接收緩沖描述符。
當(dāng)處理器需要串行發(fā)送數(shù)據(jù)時(shí),先將數(shù)據(jù)以包的形式存儲(chǔ)于主存儲(chǔ)器中,然后將存儲(chǔ)的所有包的起始地址、目的地址、長(zhǎng)度以及發(fā)送控制信息寫入發(fā)送描述符中。
Wishbone接口模塊讀取到一個(gè)非空的發(fā)送描述符后即發(fā)送數(shù)據(jù),發(fā)送的數(shù)據(jù)要通過Wishbone接口邏輯訪問位于總線上的主存儲(chǔ)器,讀取到的數(shù)據(jù)首先放到發(fā)送FIFO中,其后再通過發(fā)送控制和同步邏輯與數(shù)據(jù)發(fā)送模塊進(jìn)行握手,將數(shù)據(jù)從TX_O端口串行發(fā)送出去。
當(dāng)接收數(shù)據(jù)時(shí),數(shù)據(jù)由RX_I端口串行地移入接收FIFO中,每收滿8位數(shù)據(jù)就移入接收保持寄存器,然后通過Wishbone總線并行傳輸給處理器核。
2.2 數(shù)據(jù)接收模塊設(shè)計(jì)
由于外部信號(hào)是通過異步串行的形式傳輸,因此當(dāng)接收端口檢測(cè)到一個(gè)由高到低的數(shù)據(jù)就被視為一個(gè)幀的起始位。為了避免接收信號(hào)的噪聲而產(chǎn)生的不正確的數(shù)據(jù),檢測(cè)到的起始位時(shí)鐘至少要低于50%的波特率時(shí)鐘。接收模塊一旦接收到有效的起始位,就將通過RS232標(biāo)準(zhǔn)的波特率對(duì)數(shù)據(jù)位和校驗(yàn)位進(jìn)行采樣。
評(píng)論