當(dāng)前位置:首頁 > 通信技術(shù) > 通信設(shè)計應(yīng)用
[導(dǎo)讀]   UART使用的是異步串行通信   串行通信是指利用一條傳輸線將資料一位位地順序傳送。特點是通信線路簡單,利用簡單的線纜就可實現(xiàn)通信,降低成本,適用于遠(yuǎn)距離通信,但傳輸速度慢的應(yīng)用場合

  UART使用的是異步串行通信

  串行通信是指利用一條傳輸線將資料一位位地順序傳送。特點是通信線路簡單,利用簡單的線纜就可實現(xiàn)通信,降低成本,適用于遠(yuǎn)距離通信,但傳輸速度慢的應(yīng)用場合。

  異步通信以一個字符為傳輸單位,通信中兩個字符間的時間間隔多少是不固定的,然而在同一個字符中的兩個相鄰位間的時間間隔是固定的。

  數(shù)據(jù)傳送速率用波特率來表示,即每秒鐘傳送的二進制位數(shù)。例如數(shù)據(jù)傳送速率為120字符/秒,而每一個字符為10位(1個起始位,7個數(shù)據(jù)位,1個校驗位,1個結(jié)束位),則其傳送的波特率為10&TImes;120=1200字符/秒=1200波特。

  數(shù)據(jù)通信格式如下圖:

  

  其中各位的意義如下:

  起始位:先發(fā)出一個邏輯”0”信號,表示傳輸字符的開始。

  數(shù)據(jù)位:可以是5~8位邏輯”0”或”1”。如ASCII碼(7位),擴展BCD碼(8位)。

  校驗位:數(shù)據(jù)位加上這一位后,使得“1”的位數(shù)應(yīng)為偶數(shù)(偶校驗)或奇數(shù)(奇校驗)。

  停止位:它是一個字符數(shù)據(jù)的結(jié)束標(biāo)志。可以是1位、1.5位、2位的高電平。

  空閑位:處于邏輯“1”狀態(tài),表示當(dāng)前線路上沒有資料傳送。

  異步通信是按字符傳輸?shù)模邮赵O(shè)備在收到起始信號之后只要在一個字符的傳輸時間內(nèi)能和發(fā)送設(shè)備保持同步就能正確接收。下一個字符起始位的到來又使同步重新校準(zhǔn)(依靠檢測起始位來實現(xiàn)發(fā)送與接收方的時鐘自同步的)

  串行通信的硬件接口電路原理設(shè)計

  在串行通信中,普遍采用的是RS-232-C接口的標(biāo)準(zhǔn)。RS-232-C接口信號引腳的連接方式規(guī)定了25芯的D型連接器(DB225),實際使用中多采用的是一個9芯的D型連接器(DB29),本方案采用了DB29連接器

  

  本方案的異步串行通信的硬件接口電路圖如圖2所示,由三部分組成:FPGA串口模塊、MAX232和DB29。MAXIM公司的MAX232是為滿足EIA/TEA2232E的標(biāo)準(zhǔn)而設(shè)計的,具有功耗低、波特率高、價格低等優(yōu)點,工作電源為+5V,外界電容僅為0.1uF或1Uf,為雙組RS2232收發(fā)器。MAX232有兩個發(fā)送器,若只用其中一個發(fā)送器,另外一個發(fā)送器的輸入、輸出端可以懸空。本方案把異步通信電路作為一個整體來實現(xiàn),數(shù)據(jù)由DB29的RxD端輸入,經(jīng)過MAX232進行電平轉(zhuǎn)換由FPGA串口模塊的RxD端進入,進行串并轉(zhuǎn)換后經(jīng)由8位數(shù)據(jù)總線(D72D0)進入FPGA的其它模塊或其它的處理芯片。數(shù)據(jù)處理后經(jīng)由8位數(shù)據(jù)總線進入FPGA串口模塊,在其中進行并串轉(zhuǎn)換后由TxD端輸出MAX232的12管腳,在MAX232種經(jīng)過電平轉(zhuǎn)換后由DB29的TxD端輸出。

  FPGA串口模塊設(shè)計

  FPGA串口模塊是本設(shè)計的關(guān)鍵所在,的內(nèi)部邏輯結(jié)構(gòu)及各部件的功能。如圖3所示,主要由波特率發(fā)生模塊、發(fā)送模塊,接收模塊組成。用Verilog實現(xiàn)設(shè)計的各部件功能說明如圖3

  

  波特率發(fā)生模塊

  設(shè)計的UART的接收和發(fā)送按照相同的波特率進行,波特率可以通過接口模塊的總線接口進行設(shè)置。UART收發(fā)的每一個數(shù)據(jù)寬度都是波特率發(fā)生器輸出的時鐘周期的16倍,即假定當(dāng)前按照9600b/s進行收發(fā),那么波特率發(fā)生器的輸出時鐘頻率應(yīng)該為9600&TImes;16Hz。假定提供的外部時鐘為1.6MHz,可以很簡單地通過總線寫入不同的數(shù)值到波特率發(fā)生器保持寄存器,然后用計數(shù)器的方式生成所需要的各種波特率,即分頻器。計算公式為:1600000/(16&TImes;所期望的波特率)-1,如果希望輸出10000Hz的波特率,可以得出從總線寫入的數(shù)值為1600000/(16&TImes;10000)-1=9(09H)。

  發(fā)送模塊

  根據(jù)UART協(xié)議的描述,發(fā)送數(shù)據(jù)由接口模塊控制,接口模塊給出wrn信號,發(fā)送器根據(jù)此信號將并行數(shù)據(jù)鎖存,并通過發(fā)送保持寄存器和發(fā)送移位寄存器發(fā)送并行數(shù)據(jù)。由計數(shù)器no-bs-sent控制狀態(tài)的轉(zhuǎn)移,即數(shù)據(jù)的發(fā)送,計數(shù)值為1時,數(shù)據(jù)從發(fā)送保持寄存器傳送到發(fā)送移位寄存器,計數(shù)值為2時,發(fā)送開始位(1b低電平),計數(shù)值為3~10,發(fā)送8位數(shù)據(jù),計數(shù)器為11,發(fā)送校驗位,計數(shù)值為12,發(fā)送1位停止位,計數(shù)器隨后清零。發(fā)送時鐘是根據(jù)數(shù)據(jù)傳輸?shù)牟ㄌ芈十a(chǎn)生的,16倍于波特率發(fā)生器產(chǎn)生的時鐘。

  在Xilinx的ISE7.1.02i集成環(huán)境中,用Verilog編寫代碼,Synplifypro8.1進行邏輯綜合,Modelsim6.0d進行仿真,其結(jié)果如圖4所示。

  

  接收模塊

  接收邏輯首先通過檢測輸入數(shù)據(jù)的下降沿來檢查起始位,然后產(chǎn)生接收時鐘,利用接收時鐘來采樣串行輸入數(shù)據(jù),在緩沖器中作移位操作,同時產(chǎn)生校驗位,在第9位處比較校驗位是否正確,在第10位處比較停止位是否為高,在校驗位錯誤或停止位錯誤的情況下產(chǎn)生錯誤指示信號。接收時鐘是根據(jù)數(shù)據(jù)傳輸?shù)牟ㄌ芈十a(chǎn)生的,16倍于波特率發(fā)生器產(chǎn)生的時鐘。

  使用Modelsim6.0對接收模塊做了時序仿真,其結(jié)果如圖5所示。接收時鐘與發(fā)送時鐘相同,接收到一幀串行數(shù)據(jù),由接收模塊轉(zhuǎn)換為并行輸出,并且檢驗校驗位和停止位,產(chǎn)生framing-error和parity-error信號輸出。

  

  接口控制模塊

  接口控制模塊連接控制發(fā)送、接收、波特率發(fā)生模塊,并與外部并行總線相連接,從外部(CPU或單片機)接收控制信號(nrst,nwrn,nbdn,nrdn),來控制UART的發(fā)送、接收以及內(nèi)部時鐘的生成。在nwrn有效并且內(nèi)部信號tbre=‘0’(發(fā)送緩沖寄存器空)時,將數(shù)據(jù)總線輸入的并行數(shù)據(jù)發(fā)送給發(fā)送模塊數(shù)據(jù)線din(7:0),執(zhí)行發(fā)送數(shù)據(jù)功能。在nrdn有效并且內(nèi)部信號data-ready,parity-error,framing-error有效時,允許從接收模塊讀入接收到的數(shù)據(jù)。波特率發(fā)生器和發(fā)送模塊的并行數(shù)據(jù)輸入端口共用一個數(shù)據(jù)總線。

  綜合實現(xiàn)其性能分析

  使用Xilinx的SpatanIIxc2s100FPGA芯片,對整個FPGA設(shè)計使用Synplifypro8.1進行邏輯綜合,其實占用的FPGA資源總共僅為56個查找表(LUTs),占用的資源很少,可以很方便的集成在其他的FPGA設(shè)計中;最高時鐘速度可以到達121.8MHz,可見此設(shè)計完全可以滿足任何一種標(biāo)準(zhǔn)的波特率系列

  硬件電路實現(xiàn)及軟件實現(xiàn)

  在驗證此UARTFPGA設(shè)計時,使用了PADS來設(shè)計電路原理圖和PCB圖,并最終在硬件上下載調(diào)試成功。在驗證UART通信時,此設(shè)計的PC機串口通信程序,采用了Ac2tiveX控件方式來實現(xiàn)。

  用FPGA實現(xiàn)了UART通信功能,可以實現(xiàn)對數(shù)據(jù)的接收和發(fā)送,并可以在接收數(shù)據(jù)時對其校驗位、停止位進行判斷,在發(fā)送數(shù)據(jù)時可以形成完整的一幀數(shù)據(jù)格式。其接收和發(fā)送數(shù)據(jù)的時鐘有內(nèi)部波特率發(fā)生器產(chǎn)生,根據(jù)預(yù)置的分頻系數(shù),對外部時鐘進行分頻,產(chǎn)生需要的接收或發(fā)送時鐘。將該UARTFPGA設(shè)計作為一功能塊嵌入到一個FPGA實現(xiàn)的數(shù)據(jù)采集與處理系統(tǒng)中,可以成功地實現(xiàn)和遠(yuǎn)端的PC機進行異步串行通信。實驗證明該UART設(shè)計占用資源少,工作穩(wěn)定可靠,可運使用在低端的異步通信。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉