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