<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA的UART設計

基于FPGA的UART設計

作者: 時(shí)間:2012-10-24 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:作為RS232協(xié)議的控制接口得到了廣泛的應用,將的功能集成在芯片中,可使整個(gè)系統更為靈活、緊湊,減小整個(gè)電路的體積,提高系統的可靠性和穩定性。提出了一種基于的實(shí)現方法,具體描述了發(fā)送、接收等模塊的設計,恰當使用了有限狀態(tài)機,實(shí)現了片上UART的設計,給出了仿真結果。
關(guān)鍵詞:通用異步收發(fā)器;串口通信;現場(chǎng)可編程邏輯器件;有限狀態(tài)機

通用異步收發(fā)器(Universal Asynchronous Receiver/Transmitter,UART)可以和各種標準串行接口,如RS232和RS485等進(jìn)行全雙工異步通信,具有傳輸距離遠、成本低、可靠性高等優(yōu)點(diǎn)。一般UART由專(zhuān)用芯片來(lái)實(shí)現,但專(zhuān)用芯片引腳都較多,內含許多輔助功能,在實(shí)際使用時(shí)往往只需要用到UART的基本功能,使用專(zhuān)用芯片會(huì )造成資源浪費和成本提高。當我們不需要用到完整的的UART功能和一些輔助功能時(shí),就可以將需要的UART功能集成用FPGA來(lái)實(shí)現,然而,FPGA內部并不擁有CPU控制單元,無(wú)法處理由UART控制器產(chǎn)生的中斷,所以FPGA不能利用現成的UART控制器構成異步串行接口,必須將UART控制器的功能集成到FPGA內部。從而可以大大的減少了體積、簡(jiǎn)化了電路,也提高了系統的靈活性。

1 UART的工作原理
UART是一種串行數據總線(xiàn),用于異步通信,并且雙向通信,可實(shí)現全雙工發(fā)送和接收?;镜腢ART只需要兩條信號線(xiàn)(TXD、RXD)和一條地線(xiàn)就可以完成數據的互相通信,接收和發(fā)送互不干擾,這樣就大大節省了傳輸費用。由于UART是異步通信,所以需要對數據進(jìn)行同步。UA RT發(fā)送/接收數據的傳輸格式如圖1所示,一個(gè)字符單位由開(kāi)始位、數據位、校驗位、停止位組成(其中校驗位可供選)。

本文引用地址:http://dyxdggzs.com/article/189813.htm

b.JPG


發(fā)送或接收一個(gè)完整的字節信息,首先是一個(gè)作為起始位的邏輯“0”位,接著(zhù)是8個(gè)數據位。然后是停止位邏輯“1”位,數據線(xiàn)空閑時(shí)為高或“1”狀態(tài)。在字符的8位數據部分,先發(fā)送數據的最低位,最后發(fā)送最高位。每位持續時(shí)間是固定的,由發(fā)送器本地時(shí)鐘控制,每秒發(fā)送的數據位個(gè)數,即為“波特率”。起始位和停止位起著(zhù)很重要的作用。顯然,它們標志每個(gè)字符的開(kāi)始和結束,但更重要的是他們使接收器能把他的局部時(shí)鐘與每個(gè)新開(kāi)始接收的字符再同步。異步通信沒(méi)有可參照的時(shí)鐘信號,發(fā)送器隨時(shí)都可能發(fā)送數據,任何時(shí)刻串行數據到來(lái)時(shí),接收器必須準確地發(fā)現起始位下降沿的出現時(shí)間,從而正確地采樣緊接著(zhù)的10或者11位(包括開(kāi)始位、數據位和停止位),接收器的時(shí)鐘和發(fā)送器的時(shí)鐘不是同一個(gè),因此,接收器所確定的采樣點(diǎn)的間隔和發(fā)送器所確定的位間隔時(shí)間不同,這點(diǎn)要特別注意。

2 UART功能設計
異步通信的一幀傳輸經(jīng)歷以下步驟:1)空閑狀態(tài)。發(fā)送方連續發(fā)送信號,處于信息“1”狀態(tài)。2)開(kāi)始傳輸。發(fā)送方在任何時(shí)刻將傳號變成空號,即“1”跳變到“0”,并持續1位時(shí)間表明發(fā)送方開(kāi)始傳輸數據。而同時(shí),接收方收到空號后,開(kāi)始與發(fā)送方同步,并期望收到隨后的數據。3)奇偶傳輸。數據傳輸之后是可供選擇的奇偶位發(fā)送或接收。4)停止傳輸。最后是發(fā)送或接收的停止位,其狀態(tài)恒為“1”。
設計的基本原則是保留最主要的功能,基于FPGA的UART系統由波特率時(shí)鐘發(fā)生器、接收器和發(fā)送器3個(gè)子模塊組成,如圖2所示。

c.JPG


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: FPGA UART

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>