亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的UART設(shè)計

        2011-05-12 05:06:08王志學(xué)
        中國新技術(shù)新產(chǎn)品 2011年7期
        關(guān)鍵詞:數(shù)據(jù)位波特率低電平

        王志學(xué)

        (廣東輕工職業(yè)技術(shù)學(xué)院,廣東 廣州 510000)

        UART(Universal Asynchronous Receiver/Transmitter,通用異步收/發(fā)器),用于控制計算機與串行設(shè)備之間的數(shù)據(jù)通信,它提供了外設(shè)用到的RS-232C數(shù)據(jù)終端設(shè)備接口,使計算機可以和調(diào)制解調(diào)器或其它使用RS-232C接口的串行設(shè)備進行通信。常見的UART有8250、8251、NS16450、NS16550等,這些芯片做的比較復(fù)雜,功能齊全。但是由于結(jié)構(gòu)和功能相對固定,因而不能根據(jù)我們的實際需要去裁剪和移植。當我們不需要用到完整的UART功能和一些輔助功能時,就可以將需要的UART功能集成到FPGA上,從而大大的減少了體積、簡化了電路,也提高了系統(tǒng)的可靠性、穩(wěn)定性和靈活性。

        1 UART簡介

        UART是一種串行數(shù)據(jù)總線,用于異步通信,并且雙向通信,可實現(xiàn)全雙工傳輸和接收?;镜腢ART只需要兩條信號線(TXD、RXD)和一條地線就可以完成數(shù)據(jù)的相互通信,接收和發(fā)送互不干擾,這樣就大大節(jié)省了傳輸費用。由于UART是異步通信,所以需要對數(shù)據(jù)進行同步?;镜腢ART幀格式如圖1所示:

        圖1 UART幀格式

        從圖中可以看出,串行異步通信的幀格式包括四個部分:起始位、數(shù)據(jù)位、校驗位和停止位。起始位在一個字符中占一位,并且必須為0,表示字符的開始;起始位后面是數(shù)據(jù)位,一般為5至8位,由串行通信的初始化程序設(shè)定,數(shù)據(jù)的排列方式是低位在前,高位在后。數(shù)據(jù)位后面是校驗位,該位可根據(jù)實際需要可選可不選;一個字符的最后是停止位,該位必須存在,表示一個字符的結(jié)束。停止位可以是1位、1.5位或2位。異步通信的這種由起始位開始,停止位結(jié)束所構(gòu)成的一串二進制數(shù)即為幀,從微觀來看,異步通信時一位一位的傳輸?shù)模瑥暮暧^來看,又是一幀一幀傳輸?shù)摹T谝粠瑪?shù)據(jù)中的每一位之間的時間間隔是一樣的,但是幀與幀之間的時間間隔是隨機的。

        2 UART的模塊設(shè)計

        本文采用模塊設(shè)計的方法,并且針對實際要求,將整個軟件劃分為波特率發(fā)生器模塊、接收啟動模塊、接收模塊和發(fā)送模塊四個部分。各模塊功能分析如下:

        2.1 波特率發(fā)生器模塊

        波特率發(fā)生器實際上就是一個簡單的分頻器,它的功能是產(chǎn)生和RS-232C通信所采用的波特率同步的時鐘,這樣才能按照RS-232C的時序要求進行數(shù)據(jù)的收發(fā)。而波特率發(fā)生器的系數(shù)在FPGA實現(xiàn)時一般是固定的,但對于不同的實現(xiàn),這個系數(shù)需要更改(因為FPGA在設(shè)計時比較容易改動,而專用芯片不易改動,所以UART專用芯片一般通過添加一個接口以便在使用時改變波特率)。可以在VHDL語言中使用Generic語句,或在Verilog HDL語言中使用parameter語句使問題得到解決。因發(fā)送和接收時對時鐘的要求不同,給發(fā)送模塊和接收模塊提供的時鐘頻率也不相同。當發(fā)送數(shù)據(jù)時,只需要將數(shù)據(jù)按照一定的速率串行的輸出就可以了,所以,發(fā)送的時鐘和發(fā)送的波特率是一致的;但是,在接收數(shù)據(jù)時,在數(shù)據(jù)位的什么位置對數(shù)據(jù)信息進行判斷非常的重要,最理想的情況就是在串行數(shù)據(jù)每一位的中點對數(shù)據(jù)進行采樣,因為發(fā)送方和接收方的時鐘是不一致的,所以需要對每一位數(shù)據(jù)的時間進行分段,分段越多,采樣時就越接近中點,并且采樣時出現(xiàn)錯誤的概率也越低,但是,分段越多,采樣的時間也越多,系統(tǒng)的開銷越大,所以,實際設(shè)計時,波特率發(fā)生器產(chǎn)生的分頻時鐘,是波特率時鐘頻率的16倍。波特率發(fā)生器模塊如圖2所示。clk16x是波特率發(fā)生器得到的分頻時鐘;clk是時鐘輸入信號;rst是系統(tǒng)復(fù)位信號。

        圖2 波特率發(fā)生器模塊示意圖

        2.2 接收啟動模塊

        由于串行數(shù)據(jù)幀和接收時鐘是異步的,由高電平轉(zhuǎn)化為低電平可以視為一個數(shù)據(jù)幀的起始位。但是,在實際的電路中,會有多方面的原因干擾,為了避免毛刺影響,正確的判斷起始位的到來,采樣時在時鐘的上升沿(即由波特率發(fā)生器提供的16倍于波特率的時鐘)檢驗數(shù)據(jù)是否為低電平,如果接收到的是低電平,則開始計數(shù),如果連續(xù)8個時鐘內(nèi)都是低電平,則表示起始信號有效,即要求接收到的起始位在波特率時鐘采樣過程中有一半是屬于邏輯0才表示接收到的起始位有效。如果在采樣時,有一次檢驗到高電平,即邏輯1時,則認為起始信號無效,返回初始的狀態(tài)重新等待下一個起始位信號。當起始位的信號時有效時,每隔16個時鐘采樣一次,這樣就保證了每次采樣都是在數(shù)據(jù)位的中點。

        2.3 接收模塊

        接收模塊如圖3所示。clk16x是由波特率發(fā)生器產(chǎn)生的分頻時鐘;rst是系統(tǒng)復(fù)位信號;rxd是來自其他設(shè)備的串行數(shù)據(jù);data_ready表示"數(shù)據(jù)已準備好",在rdn為1的情況下,并行數(shù)據(jù)轉(zhuǎn)換完畢就可以輸出,此時將data_ready置為0;在rdn不為1的情況下,串并轉(zhuǎn)換完成后將此data_ready置1以表示數(shù)據(jù)己經(jīng)轉(zhuǎn)換完畢,可以輸出了,通知接收模塊每隔16個clk16x周期采樣一次,接收UART幀中剩余的數(shù)據(jù)位,否則,接收模塊不工作。dout<7:0>是接收模塊將接收到的串行數(shù)據(jù)轉(zhuǎn)換成的并行數(shù)據(jù),送給發(fā)送模塊的輸入信號din<7:0>。

        圖3 接收模塊示意圖

        2.4 發(fā)送模塊

        發(fā)送模塊相對于接收模塊要容易處理得多。只要每隔16個clk16x周期輸出1位即可,次序遵循1位起始位,8位數(shù)據(jù)位,1位停止位。發(fā)送模塊如圖4所示。din<7:0>是將要發(fā)送出去的并行數(shù)據(jù);clk16x、rst信號同接收模塊;wrn是數(shù)據(jù)發(fā)送的啟動信號;txd是發(fā)送出去的串行數(shù)據(jù)信號。

        圖4 發(fā)送模塊示意圖

        結(jié)語

        用FPGA實現(xiàn)UART功能,減少了系統(tǒng)的面積,降低了系統(tǒng)的功耗,提高了系統(tǒng)的穩(wěn)定性,同時,由于數(shù)據(jù)幀和波特率都比較容易改變,大大的提高了系統(tǒng)設(shè)計的靈活性和可移植性。

        [1]史故臣,石旭剛,左緒勇.基于FPGA的UART設(shè)計與實現(xiàn)[J].中國新通信,2009.4:62-64

        [2]聶濤,許世宏.基于 FPGA 的 UART 設(shè)計[J].現(xiàn)代電子技術(shù),2006,29(2):127-129

        [3]播松,黃繼業(yè).EDA 技術(shù)與 VHDL[M]北京:清華大學(xué)出版社,2007

        [4]楊宗國,李艷萍.基于FPGA的UART模塊的設(shè)計[J].現(xiàn)代電子技術(shù),2009,2:19-22

        [5]黃智偉,王彥.FPGA系統(tǒng)設(shè)計與實踐[M].北京:電子工業(yè)出版社,2005

        [6]潘松,王國棟.VHDL使用教程.電子科技大學(xué)出版社.1999

        猜你喜歡
        數(shù)據(jù)位波特率低電平
        數(shù)字電路中“邏輯非”的用法辨析
        A320飛機大氣數(shù)據(jù)的采集和計算在排故中的應(yīng)用
        鐵道車輛高/低電平信號智能發(fā)生器設(shè)計
        CAN 總線波特率自適應(yīng)程序設(shè)計
        智能制造(2020年5期)2020-07-03 06:24:00
        2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車型低電平參考電壓總線電路圖
        基于FPGA的異步串行通信波特率容錯設(shè)計
        電子測試(2018年7期)2018-05-16 06:27:18
        一種適用于FPGA系統(tǒng)中的變速箱電路設(shè)計
        減少調(diào)度自動化設(shè)備通訊串口丟包率的措施
        電子測試(2016年3期)2016-03-12 04:46:52
        集成電路靜態(tài)參數(shù)測試
        微處理機(2012年5期)2012-07-25 03:21:06
        C*Core芯片SCI串口波特率容限優(yōu)化
        在线毛片一区二区不卡视频| 亚洲精品一区二区三区日韩 | 国产人妻大战黑人20p| 婷婷五月六月综合缴情| 国产av影片麻豆精品传媒 | 精品无吗国产一区二区三区av| av网页在线免费观看| 国产亚洲综合另类色专区 | 亚洲av无码av日韩av网站| 国产精品久久久久久久专区| 国产人妖一区二区av| 五月婷婷六月丁香久久综合| 天堂中文а√在线| 8ⅹ8x擦拨擦拨成人免费视频| 亚洲一区二区在线视频播放| 免费人成网在线观看品观网 | 青青久在线视频免费观看| 日日碰狠狠添天天爽五月婷| 久久久久亚洲av无码专区导航| 亚洲成a人片在线观看导航| 中文字幕精品乱码一区| 毛茸茸性xxxx毛茸茸毛茸茸| av色一区二区三区精品 | 亚洲天堂线上免费av | 国产精品亚洲精品专区| 亚洲女同一区二区久久| 91国产自拍精品视频| 久久精品国产亚洲av麻豆色欲| 中文成人无字幕乱码精品区| 亚洲区偷拍自拍29p| 亚洲一区二区三区最新视频| 国产午夜视频在线观看免费| 国产成人av一区二区三区| 欧美高大丰满freesex| 国产精品青草视频免费播放| 日韩精品有码中文字幕在线| 亚洲av日韩专区在线观看| 国产精选自拍视频网站| 国产丝袜美女一区二区三区| 99热久久这里只精品国产www| 久久亚洲aⅴ精品网站婷婷|