基于fpga的通用異步收發(fā)器設(shè)計(串口通信)

基于fpga的通用異步收發(fā)器設(shè)計(串口通信)

ID:1261108

大小:477.00 KB

頁數(shù):22頁

時間:2017-11-09

基于fpga的通用異步收發(fā)器設(shè)計(串口通信)_第1頁
基于fpga的通用異步收發(fā)器設(shè)計(串口通信)_第2頁
基于fpga的通用異步收發(fā)器設(shè)計(串口通信)_第3頁
基于fpga的通用異步收發(fā)器設(shè)計(串口通信)_第4頁
基于fpga的通用異步收發(fā)器設(shè)計(串口通信)_第5頁
資源描述:

《基于fpga的通用異步收發(fā)器設(shè)計(串口通信)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、FPGA串行通用異步收發(fā)器設(shè)計實驗?zāi)康模?、掌握QuartusII6.0等EDA工具軟件的基本使用;2、熟悉VHDL硬件描述語言編程及其調(diào)試方法;3、學(xué)習(xí)用FPGA實現(xiàn)接口電路設(shè)計。實驗內(nèi)容:本實驗?zāi)繕?biāo)是利用FPGA邏輯資源,編程設(shè)計實現(xiàn)一個串行通用異步收發(fā)器。實驗環(huán)境為EDA實驗箱。電路設(shè)計采用VHDL硬件描述語言編程實現(xiàn),開發(fā)軟件為QuartusII6.0。1、UART簡介UART(UniversalAsynchronousReceiverTransmitter通用異步收發(fā)器)是一種應(yīng)用廣泛的短距離串行傳輸接口。常常用于短距離、低速

2、、低成本的通訊中。8250、8251、NS16450等芯片都是常見的UART器件?;镜腢ART通信只需要兩條信號線(RXD、TXD)就可以完成數(shù)據(jù)的相互通信,接收與發(fā)送是全雙工形式。TXD是UART發(fā)送端,為輸出;RXD是UART接收端,為輸入。UART的基本特點是:(1)在信號線上共有兩種狀態(tài),可分別用邏輯1(高電平)和邏輯0(低電平)來區(qū)分。在發(fā)送器空閑時,數(shù)據(jù)線應(yīng)該保持在邏輯高電平狀態(tài)。(2)起始位(StartBit):發(fā)送器是通過發(fā)送起始位而開始一個字符傳送,起始位使數(shù)據(jù)線處于邏輯0狀態(tài),提示接受器數(shù)據(jù)傳輸即將開始。(3)數(shù)據(jù)

3、位(DataBits):起始位之后就是傳送數(shù)據(jù)位。數(shù)據(jù)位一般為8位一個字節(jié)的數(shù)據(jù)(也有6位、7位的情況),低位(LSB)在前,高位(MSB)在后。(4)校驗位(parityBit):可以認(rèn)為是一個特殊的數(shù)據(jù)位。校驗位一般用來判斷接收的數(shù)據(jù)位有無錯誤,一般是奇偶校驗。在使用中,該位常常取消。(5)停止位:停止位在最后,用以標(biāo)志一個字符傳送的結(jié)束,它對應(yīng)于邏輯1狀態(tài)。(6)位時間:即每個位的時間寬度。起始位、數(shù)據(jù)位、校驗位的位寬度是一致的,停止位有0.5位、1位、1.5位格式,一般為1位。(7)幀:從起始位開始到停止位結(jié)束的時間間隔稱之為一

4、幀。(8)波特率:UART的傳送速率,用于說明數(shù)據(jù)傳送的快慢。在串行通信中,數(shù)據(jù)是按位進(jìn)行傳送的,因此傳送速率用每秒鐘傳送數(shù)據(jù)位的數(shù)目來表示,稱之為波特率。如波特率9600=9600bps(位/秒)。UART的數(shù)據(jù)幀格式為:STARTD0D1D2D3D4D5D6D7PSTOP起始位數(shù)據(jù)位校驗位停止位FPGAUART系統(tǒng)組成:如下圖所示,F(xiàn)PGAUART由三個子模塊組成:波特率發(fā)生器;接收模塊;發(fā)送模塊;2、模塊設(shè)計:系統(tǒng)由四部部分組成:頂層模塊;波特率發(fā)生器;UART接收器;UART發(fā)送器1)頂層模塊異步收發(fā)器的頂層模塊由波特率發(fā)生器、

5、UART接收器和UART發(fā)送器構(gòu)成。UART發(fā)送器的用途是將準(zhǔn)備輸出的并行數(shù)據(jù)按照基本UART幀格式轉(zhuǎn)為TXD信號串行輸出。UART接收器接收RXD串行信號,并將其轉(zhuǎn)化為并行數(shù)據(jù)。波特率發(fā)生器就是專門產(chǎn)生一個遠(yuǎn)遠(yuǎn)高于波特率的本地時鐘信號對輸入RXD不斷采樣,使接收器與發(fā)送器保持同步。2)波特率發(fā)生器波特率發(fā)生器實際上就是一個分頻器??梢愿鶕?jù)給定的系統(tǒng)時鐘頻率(晶振時鐘)和要求的波特率算出波特率分頻因子,算出的波特率分頻因子作為分頻器的分頻數(shù)。波特率分頻因子可以根據(jù)不同的應(yīng)用需要更改。3)UART接收器由于串行數(shù)據(jù)幀和接收時鐘是異步的,由

6、邏輯1轉(zhuǎn)為邏輯0可以被視為一個數(shù)據(jù)幀的起始位。然而,為了避免毛刺影響,能夠得到正確的起始位信號,必須要求接收到的起始位在波特率時鐘采樣的過程中至少有一半都是屬于邏輯0才可認(rèn)定接收到的是起始位。由于內(nèi)部采樣時鐘bclk周期(由波特率發(fā)生器產(chǎn)生)是發(fā)送或接收波特率時鐘頻率的16倍,所以起始位需要至少8個連續(xù)bclk周期的邏輯0被接收到,才認(rèn)為起始位接收到,接著數(shù)據(jù)位和奇偶校驗位將每隔16個bclk周期被采樣一次(即每一個波特率時鐘被采樣一次)。如果起始位的確是16個bclk周期長,那么接下來的數(shù)據(jù)將在每個位的中點處被采樣。UART接收器的接

7、收狀態(tài)機接收狀態(tài)機一共有5個狀態(tài):R_START(等待起始位);R_CENTER(求中點);R_WAIT(等待采樣);R_SAMPLE(采樣);R_STOP(停止位接收)。R_START狀態(tài)當(dāng)UART接收器復(fù)位后,接收狀態(tài)機將處于這一個狀態(tài)。在此狀態(tài),狀態(tài)機一直在等待RXD的電平跳轉(zhuǎn),從邏輯1變?yōu)檫壿?,即起始位,這意味著新的一幀UART數(shù)據(jù)幀的開始,一旦起始位被確定,狀態(tài)機將轉(zhuǎn)入R_CENTER狀態(tài)。狀態(tài)圖中的RXD_SYNC信號是RXD的同步信號,因為在進(jìn)行邏輯1或邏輯0判斷時,不希望檢測的信號是不穩(wěn)定的,所以不直接檢測RXD信號,

8、而是檢測經(jīng)過同步后的RXD_SYNC信號。R_CENTER狀態(tài)對于異步串行信號,為了使每一次都檢測到正確的位信號,而且在較后的數(shù)據(jù)位檢測時累計誤差較小,顯然在每位的中點檢測是最為理想的。在本狀態(tài),就是由起始

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。