基于fpga的串口通信設(shè)計(jì)與實(shí)現(xiàn)

基于fpga的串口通信設(shè)計(jì)與實(shí)現(xiàn)

ID:8420857

大?。?72.13 KB

頁數(shù):13頁

時(shí)間:2018-03-27

基于fpga的串口通信設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于fpga的串口通信設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于fpga的串口通信設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于fpga的串口通信設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于fpga的串口通信設(shè)計(jì)與實(shí)現(xiàn)_第5頁
資源描述:

《基于fpga的串口通信設(shè)計(jì)與實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫

1、基于FPGA的UART設(shè)計(jì)與實(shí)現(xiàn)0引言通用異步收發(fā)器(UniversalAsynchronousReceiver/Transmitter,UART)可以和各種標(biāo)準(zhǔn)串行接口,如RS232和RS485等進(jìn)行全雙工異步通信,具有傳輸距離遠(yuǎn)、成本低、可靠性高等優(yōu)點(diǎn)。一般UART由專用芯片如8250,16450來實(shí)現(xiàn),但專用芯片引腳都較多,內(nèi)含許多輔助功能,在實(shí)際使用時(shí)往往只需要用到UART的基本功能,使用專用芯片會(huì)造成資源浪費(fèi)和成本提高。一般而言UART和外界通信只需要兩條信號(hào)線RXD和TXD,其中RXD是UART的接收端,T

2、XD是UART的發(fā)送端,接收與發(fā)送是全雙工形式。由于可編程邏輯器件技術(shù)的快速發(fā)展,F(xiàn)PGA的功能日益強(qiáng)大,其開發(fā)周期短、可重復(fù)編程的優(yōu)點(diǎn)也越來越明顯,在FPGA芯片上集成UART功能模塊并和其他模塊組合可以很方便地實(shí)現(xiàn)一個(gè)能與其他設(shè)備進(jìn)行串行通信的片上系統(tǒng)。FPGA(FieldProgrammableGateArray)現(xiàn)場(chǎng)可編程門陣列在數(shù)字電路的設(shè)計(jì)中已經(jīng)被廣泛使用。這種設(shè)計(jì)方式可以將以前需要多塊集成芯片的電路設(shè)計(jì)到一塊大模塊可編程邏輯器件中,大大減少了電路板的尺寸,增強(qiáng)了系統(tǒng)的可靠性和設(shè)計(jì)的靈活性。1UART功能設(shè)

3、計(jì)1.1UART的工作原理異步通信時(shí),UART發(fā)送/接收數(shù)據(jù)的傳輸格式表1所示,一個(gè)字符單位由開始位、數(shù)據(jù)位、停止位組成。表1UART發(fā)送/接收數(shù)據(jù)的傳輸格式STARTD0D1D2D3D4D5D6D7PSTOP起始位數(shù)據(jù)位較驗(yàn)位停止位異步通信的一幀傳輸經(jīng)歷以下步驟:(1)無傳輸。發(fā)送方連續(xù)發(fā)送信號(hào),處于信息“1”狀態(tài)。(2)起始傳輸。發(fā)送方在任何時(shí)刻將傳號(hào)變成空號(hào),即“1”跳變到“O”,并持續(xù)1位時(shí)間表明發(fā)送方開始傳輸數(shù)據(jù)。而同時(shí),接收方收到空號(hào)后,開始與發(fā)送方同步,并期望收到隨后的數(shù)據(jù)。(3)奇偶傳輸。數(shù)據(jù)傳輸之后是

4、可供選擇的奇偶位發(fā)送或接收。(4)停止傳輸。最后是發(fā)送或接收的停止位,其狀態(tài)恒為“1”。發(fā)送或接收一個(gè)完整的字節(jié)信息,首先是一個(gè)作為起始位的邏輯“0”位,接著是8個(gè)數(shù)據(jù)位,然后是停止位邏輯“1”位,數(shù)據(jù)線空閑時(shí)為高或“1”狀態(tài)。起始位和停止位的作用是使接收器能把局部時(shí)鐘與每個(gè)新開始接收的字符再同步。異步通信沒有可參照的時(shí)鐘信號(hào),發(fā)送器可以隨時(shí)發(fā)送數(shù)據(jù),任何時(shí)刻串行數(shù)據(jù)到來時(shí),接收器必須準(zhǔn)確地發(fā)現(xiàn)起始位下降沿的出現(xiàn)時(shí)間,從而正確采樣數(shù)據(jù)。設(shè)計(jì)時(shí)可參考由專用芯片實(shí)現(xiàn)的UART的功能并進(jìn)行一定精簡(jiǎn),如可以用FPGA的片內(nèi)RA

5、M替代UART的FIFO,不用單獨(dú)在UART模塊中實(shí)現(xiàn)。設(shè)計(jì)的基本原則是保留最主要的功能,基于FPGA的UART系統(tǒng)波特率時(shí)鐘發(fā)生器、接收器和發(fā)送器3個(gè)子模塊組成,如圖1所示。圖1基于FPGA的UART組成模塊1.1接收器設(shè)計(jì)接收器的工作過程如下,如圖2所示,在接收數(shù)據(jù)寄存器被讀出一幀數(shù)據(jù)或系統(tǒng)開始工作以后,接收進(jìn)程被啟動(dòng)。接收進(jìn)程啟動(dòng)之后,檢測(cè)起始位,檢測(cè)到有效起始位后,以約定波特率的時(shí)鐘開始接收數(shù)據(jù),根據(jù)數(shù)據(jù)位數(shù)的約定,計(jì)數(shù)器統(tǒng)計(jì)接收位數(shù)。一幀數(shù)據(jù)接收完畢之后,如果使用了奇偶校驗(yàn),則檢測(cè)校驗(yàn)位,如無誤則接收停止位。

6、停止位接收完畢后,將接收數(shù)據(jù)轉(zhuǎn)存到數(shù)據(jù)寄存器中。圖2數(shù)據(jù)接收?qǐng)D為確保接收器可靠工作,在接收端開始接收數(shù)據(jù)位之前,處于搜索狀態(tài),這時(shí)接收端以16倍波特率的速率讀取線路狀態(tài),檢測(cè)線路上出現(xiàn)低電平的時(shí)刻。因?yàn)楫惒絺鬏數(shù)奶攸c(diǎn)是以起始位為基準(zhǔn)同步的。然而,通信線上的噪音也極有可能使傳號(hào)“1”跳變到空號(hào)“0”。所以接收器以16倍的波特率對(duì)這種跳變進(jìn)行檢測(cè),直至在連續(xù)8個(gè)接收時(shí)鐘以后采樣值仍然是低電平,才認(rèn)為是一個(gè)真正的起始位,而不是噪音引起的,其中若有一次采樣得到的為高電平則認(rèn)為起始信號(hào)無效,返回初始狀態(tài)重新等待起始信號(hào)的到來。找

7、到起始位以后,就開始接收數(shù)據(jù),最可靠的接收應(yīng)該是接收時(shí)鐘的出現(xiàn)時(shí)刻正好對(duì)著數(shù)據(jù)位的中央。由于在起始位檢測(cè)時(shí),已使時(shí)鐘對(duì)準(zhǔn)了位中央,用16倍波特率的時(shí)鐘作為接收時(shí)鐘,就是為了確保在位寬的中心時(shí)間對(duì)接收的位序列進(jìn)行可靠采樣,當(dāng)采樣計(jì)數(shù)器計(jì)數(shù)結(jié)束后所有數(shù)據(jù)位都已經(jīng)輸入完成。最后對(duì)停止位的高電平進(jìn)行檢測(cè),若正確檢測(cè)到高電平,說明本幀的各位正確接收完畢,將數(shù)據(jù)轉(zhuǎn)存到數(shù)據(jù)寄存器中,否則出錯(cuò)。采用有限狀態(tài)機(jī)模型可以更清晰明確地描述接收器的功能,便于代碼實(shí)現(xiàn)。接收器的狀態(tài)轉(zhuǎn)換圖如圖3所示,為突出主要過程,圖中省略了奇偶校驗(yàn)的情況。接收

8、器狀態(tài)機(jī)由5個(gè)工作狀態(tài)組成,分別是空閑狀態(tài)、起始位確認(rèn)、采樣數(shù)據(jù)位、停止位確認(rèn)和數(shù)據(jù)正確,觸發(fā)狀態(tài)轉(zhuǎn)換的事件和在各個(gè)狀態(tài)執(zhí)行的動(dòng)作見圖中的文字說明。圖3接收器狀態(tài)轉(zhuǎn)換圖根據(jù)狀態(tài)圖其主要的程序如下所示:elseif(RX_En_Sig)case(i)4'd0:if(H2L_Sig)begini<=i+1'b1;isCount<=1'

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

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

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