999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的UART模塊設計

2016-07-10 04:09:12王昱煜
電子技術與軟件工程 2016年7期

王昱煜

本文介紹了一種利用FPGA實現UART通用異步收發器模塊的方法,所設計的UART模塊充分利用了FPGA硬件可編程性、高度集成性、實時性的特點。實踐測試表明,該模塊設計具有高可靠性、便于擴展和移植的優點。

【關鍵詞】FPGA UART 狀態機

通用異步收發器(Universal Asynchronous Receiver Transmitter,UART)是數字通信領域流行和廣泛使用的一種接口設備,它可以和各種標準串行接口,如RS232、RS485等進行異步通信,具有傳輸距離遠、成本低、可靠性高等優點。

一般來說UART通信需要使用專門的接口協議芯片,但是這種協議芯片存在體積較大、接口復雜且成本較高的缺點。此外,這種芯片的結構與功能相對固定,在設計中缺乏靈活性。本文介紹了利用FPGA實現UART通訊的方法,將原來UART專用協議芯片的功能集成到了FPGA中,提高了設計的靈活性與可靠性。

1 UART通訊原理

支持UART的串行接口目前比較常用的有RS232、RS422、RS485等,它們之間的區別主要表現在電氣特性上,但最基本的通訊原理是一樣的。UART模塊接收/發送的都是符合TTL(或CMOS)標準的邏輯電平,與外設之間還需要經過專門的轉換芯片將通訊數據轉化為符合RS232、RS422或RS485標準的電平。

UART作為一種異步串行通訊方式,數據在通訊過程中是字節為單位按位傳輸,一般從最低有效位(LSB)開始。典型的UART通訊數據格式如圖1所示。

2 UART的FPGA實現

UART通訊模塊內部邏輯結構如圖2,可分為控制模塊、接收模塊和發送模塊,各個模塊的主要功能如下:

控制模塊:根據CPU寫入的數據配制UART通訊參數,并根據接收、發送模塊回送的指令產生相應中斷上報給CPU,對接收、發送模塊狀態進行監控、管理;

接收模塊:該模塊主要用于將接收到的串行數據轉化為并行數據,再以本地總線形式發送給CPU。此外,該模塊還將接收過程中的參數上報給控制模塊,用于監控管理以及接收中斷、錯誤中斷的產生。

發送模塊:該模塊主要用于將CPU要發送的數據在控制邏輯的調度下轉化為串行數據后發送出去,此外該模塊還將發送過程中的參數上報給控制模塊,用于監控管理以及發送中斷、錯誤中斷的產生。

2.1 接收模塊的設計

該模塊的數據接收過程通過一個狀態機來實現,其狀態轉移圖如圖3所示,狀態轉移所用的時鐘是波特率時鐘16倍頻clk16x。整個工作流程如下:

2.1.1 系統復位后

狀態機進入idle狀態等待起始位,當接收端電平由高變為低(RXD值由1變為0)時即為檢測到了一個起始位,狀態機進入start狀態;

2.1.2 start狀態下

等待8個clk16x周期后再判斷一次RXD的值,若不為0,則說明之前接收到的是由于線上干擾而引起的虛假起始位,狀態機返回idle狀態;若仍為0則再等待8個clk16x周期后狀態機進入shift狀態;

2.1.3 shift狀態下

模塊每隔16個clk16x周期從RXD上讀取1bit的數據進行移位操作,直到讀完全部8bit數據后,若奇偶校驗被使能,則狀態機進入parity狀態,否則直接進入stop狀態;

2.1.4 parity狀態下

模塊等待16個clk16x周期從RXD上讀取1bit的奇偶校驗位的值,之后狀態機進入stop狀態;

2.1.5 stop狀態下

模塊等待16個clk16x周期從RXD上讀取1bit的停止位的值,之后狀態機進入done狀態,停止位值經取反操作后用做幀錯誤校驗位;

2.1.6 done狀態下

若奇偶校驗被使能,且奇偶檢驗與幀校驗均正確,或奇偶校驗未被使能,但幀校驗正確時,移位寄存器中的8bit數據被存入接收FIFO中,否則該數據被丟棄。狀態機將在1個clk16x周期后返回idle,等待新數據。

2.2 發送模塊的設計

該模塊的數據發送過程通過一個狀態機來實現,其狀態轉移圖如圖4所示,狀態轉移所用的時鐘是波特率時鐘16倍頻clk16x。整個工作流程如下:

2.2.1 系統復位后

狀態機進入idle狀態等待發送FIFO中寫入數據,當FIFO的非空標志被置位時狀態機進入start狀態;

2.2.2 start狀態下

模塊先發送一個數據起始位,同時從FIFO中讀取一個字節的數據放入發送移位寄存器,然后狀態機進入shift狀態;

2.2.3 shift狀態下

模塊按照LSB在前,MSB在后的順序,每間隔16個clk16x周期從移位寄存器中移出1bit的數據,直到移完全部8bit數據后,若奇偶校驗被使能,則狀態機進入parity狀態,否則直接進入stop狀態;

2.2.4 parity狀態下

模塊等待16個clk16x周期從TXD上發出1bit的奇偶校驗位,之后狀態機進入stop狀態;

2.2.5 stop狀態下

模塊等待16個clk16x周期從TXD上發出1bit的停止位(TXD上為1),之后狀態機進入done狀態;

2.2.6 done狀態下

表示一個字節數據發送完成,狀態機在1個clk16x周期后直接回到idle狀態,等待發送新的數據。

2.3 控制模塊的設計

控制模塊的主要作用是根據CPU寫入的參數對UART進行配制,此外還能根據接收/發送模塊的工作狀態產生中斷,并上報給CPU。該模塊內部結構由一個波特率時鐘發生器、三個寄存器以及中斷仲裁邏輯組成。

波特率時鐘發生器能對輸入的系統時鐘進行分頻操作,從而產生相應的波特率16倍頻后的時鐘clk16x。

三個寄存器分別是控制寄存器(conreg)、中斷使能寄存器(int_en_reg)以及狀態寄存器(statusreg)。其中conreg和int_en_reg是只寫存儲器,它們分別用于存儲CPU寫入的UART配制參數以及中斷使能條件,UART即按照這兩個寄存器中被寫入的參數進行工作;statusreg是只讀存儲器,存儲了UART工作時的狀態數據,CPU通過讀取這些狀態信息來做出相應的操作。

控制模塊在中斷被使能的前提下,根據中斷仲裁邏輯,向CPU發送三種中斷:錯誤中斷、接收中斷、發送中斷。這三種中斷的產生條件如下:

(1)錯誤中斷。當接收數據時,若奇偶校驗或幀校驗錯誤,則在接收端RXD上的串行數據全部移入移位寄存器后,該中斷即被置位;

(2)接收中斷。在接收到新數據,并且接收到的數據被保存至接收FIFO后,該中斷即被置位;

(3)發送中斷。在發送數據時,當發送FIFO中的數據被發送移位寄存器讀空以后,該中斷即被置位。

3 結論

本文提出了一種基于FPGA設計和實現UART的方法,通過利用FPGA片上邏輯資源來實現UART的基本功能,其通訊波特率、校驗方法、中斷方式均可根據實際需要進行配制。此外,利用FPGA的可重配置性,還可以在FPGA上方便的實現多路UART通訊擴展,與傳統設計相比,能有效減少系統的PCB面積,降低系統的功耗,提高設計的穩定性和可靠性,并可方便地進行系統升級和移植。

參考文獻

[1]何健標,王宏遠,林靜宜,等.基于最佳接收的UART的設計與實現[J].電子技術應用,2006(8):55-58.

[2]何慧珠,秦麗,張會新.基于FPGA的UART IP設計與實現[J].微計算信息,2008,24(1):223-224.

[3]陳小琴.基于Verilog HDL的多功能信號發生器的設計與實現[J].儀器儀表學報, 2008,29(4):322-324.

[4]季雄,段繼海,胡媛媛,等.基于Verilog HDL的UART設計[J].微計算機信息,2006,6(2):230-232.

[5]趙延,葛利嘉,雙濤,基于FPGA的UART設計實現及其驗證方法[J],現代電子技術,2008(17):163-164.

作者單位

蘇州長風航空電子有限公司 江蘇省蘇州市 215151

主站蜘蛛池模板: 国产96在线 | 亚洲精品卡2卡3卡4卡5卡区| 99热亚洲精品6码| 一本大道香蕉中文日本不卡高清二区| 色妞www精品视频一级下载| 狠狠v日韩v欧美v| 亚洲欧洲日产国码无码av喷潮| 国产经典在线观看一区| 嫩草影院在线观看精品视频| 亚洲天堂视频在线观看| 91在线精品麻豆欧美在线| 精品成人一区二区三区电影| 亚洲天堂在线视频| 国产丝袜第一页| 99在线免费播放| 无码中文字幕乱码免费2| 永久免费av网站可以直接看的| 日韩天堂视频| 99精品热视频这里只有精品7| 国产经典三级在线| 手机永久AV在线播放| 国产va在线观看| 日本道综合一本久久久88| 国产成年无码AⅤ片在线 | 中文字幕人妻无码系列第三区| 久久黄色视频影| 性喷潮久久久久久久久| 国产亚洲精品自在久久不卡| 午夜小视频在线| 美女扒开下面流白浆在线试听| 精品国产香蕉伊思人在线| 国产主播喷水| 日韩小视频在线播放| 精品少妇人妻一区二区| 亚洲精品大秀视频| 在线精品自拍| 国产一二三区在线| 人妻丰满熟妇啪啪| 一级毛片在线直接观看| 强奷白丝美女在线观看| 国产亚洲精品91| 国产日韩欧美精品区性色| 国产精品内射视频| 狠狠色丁香婷婷综合| 久久无码免费束人妻| 91成人精品视频| 日韩成人在线一区二区| 精品国产网站| 亚洲资源在线视频| 欧美三級片黃色三級片黃色1| 国产亚洲欧美日韩在线观看一区二区| 国产精品一线天| 精品久久777| 色婷婷视频在线| 亚洲男人天堂2018| 欧美自拍另类欧美综合图区| 无码内射在线| 国产精品亚洲五月天高清| 亚洲欧美成人综合| av一区二区无码在线| 亚洲第一色视频| 亚洲国产精品人久久电影| 亚洲国产成熟视频在线多多| 精品久久高清| 特级aaaaaaaaa毛片免费视频| 国产偷倩视频| 日本亚洲最大的色成网站www| 最新亚洲人成网站在线观看| 亚洲精品午夜天堂网页| 成人精品午夜福利在线播放| 无码专区在线观看| 欧美成人日韩| 久久毛片基地| 亚洲欧美日韩色图| 福利片91| 成人在线不卡视频| 亚洲国语自产一区第二页| 国产后式a一视频| 国产亚洲欧美在线专区| 成人av专区精品无码国产| 亚洲AⅤ综合在线欧美一区| 99久久精品无码专区免费|