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

基于FPGA的UART的設(shè)計(jì)實(shí)現(xiàn)

2019-06-15 01:01:22羅春梅肖順文王涌

羅春梅 肖順文 王涌

摘要:本設(shè)計(jì)采用Verilog_HDL語言設(shè)計(jì)實(shí)現(xiàn)UART系統(tǒng)。該系統(tǒng)由波特率時(shí)鐘生成模塊、數(shù)據(jù)發(fā)送模塊和數(shù)據(jù)接收模塊等三個(gè)模塊組成。經(jīng)Modelsim模擬仿真顯示,各模塊設(shè)計(jì)均滿足要求,數(shù)據(jù)傳輸速率高、數(shù)據(jù)傳輸準(zhǔn)確。

關(guān)鍵詞:FPGA;UART;異步串行通信;Modelsim仿真

中圖分類號:TN92 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2019)03-0150-02

0 引言

通用異步收發(fā)傳輸器UART(Universal Asynchronous Receiver and Transmitter)使用非常廣泛,只需一根數(shù)據(jù)傳輸線和幾根信號線就可以完成計(jì)算機(jī)與外部設(shè)備的通信,并且支持全雙工通信,節(jié)約了傳輸成本[1]。本文采用Verilog_HDL語言設(shè)計(jì)實(shí)現(xiàn)UART,這種接口比專用的UART器件更加簡單、資源利用率更高,能夠完成數(shù)據(jù)的發(fā)送和接收。

1 異步串行通信原理

異步串行通信是以字符為單位進(jìn)行傳輸?shù)?,傳輸時(shí),嚴(yán)格按照UART幀格式來進(jìn)行傳輸。UART數(shù)據(jù)幀格式包含1位起始位、數(shù)據(jù)位(可以設(shè)置為5~8位)、1位奇偶校驗(yàn)位(可有可無)、停止位(可以設(shè)置為1、1.5或2位)[2]。發(fā)送方就是按照此順序一位一位的來進(jìn)行發(fā)送,再通過數(shù)據(jù)傳輸線逐次被接收方接收。UART數(shù)據(jù)幀格式如圖1所示。

由于異步通信兩端的時(shí)鐘不同,所以設(shè)置起始位和停止位可以保證發(fā)送和接收同步。本系統(tǒng)采用1位起始位、8位數(shù)據(jù)位、1位停止位的幀格式,即一幀數(shù)據(jù)共有10位。

2 UART系統(tǒng)設(shè)計(jì)

本系統(tǒng)基于FPGA實(shí)現(xiàn)UART系統(tǒng),包括三個(gè)主模塊:波特率生成模塊、數(shù)據(jù)發(fā)送模塊和數(shù)據(jù)接收模塊。

2.1 波特率時(shí)鐘生成模塊

波特率是指每秒傳送的字節(jié)數(shù),是收發(fā)雙方共同約定的系統(tǒng)傳輸速率。本系統(tǒng)的系統(tǒng)時(shí)鐘設(shè)為50M,對系統(tǒng)時(shí)鐘進(jìn)行分頻就可以生成想要的波特率時(shí)鐘[3]。為了能從外部來修改波特率,設(shè)置了一個(gè)波特率選擇端口,設(shè)置該端口的值就可以選擇自己想要的波特率,它的原理其實(shí)就是設(shè)置了一個(gè)數(shù)據(jù)選擇器,端口取不同值時(shí),使得分頻系數(shù)取不同值,由此便改變了波特率。端口取各值時(shí),對應(yīng)波特率為:00對應(yīng)9600HZ;01對應(yīng)19200HZ;10對應(yīng)38400HZ;11對應(yīng)115200HZ。

2.2 數(shù)據(jù)發(fā)送模塊

該模塊的采樣時(shí)鐘即為波特率時(shí)鐘,假設(shè)波特率設(shè)置為115200HZ,系統(tǒng)時(shí)鐘是50M,則分頻系數(shù)[4],完成一幀數(shù)據(jù)的發(fā)送,需要10個(gè)波特率時(shí)鐘周期,即為。則一幀數(shù)據(jù)就需要11個(gè)波特率脈沖來進(jìn)行傳輸,第11個(gè)時(shí)鐘到來就意味著一幀數(shù)據(jù)發(fā)送完成。一幀數(shù)據(jù)的發(fā)送時(shí)序圖如圖2所示。

從圖2中可以看出,波特率時(shí)鐘到來之前,數(shù)據(jù)線一直置“1”,在時(shí)鐘的第一個(gè)上升沿到來時(shí),開始發(fā)送第一位即起始位“0”,之后的每一個(gè)時(shí)鐘上升沿就發(fā)送一位,而特別需要注意的是,數(shù)據(jù)位的發(fā)送是由低到高依次發(fā)送。

2.3 數(shù)據(jù)接收模塊

數(shù)據(jù)接收過程中,在對傳輸線上的數(shù)據(jù)進(jìn)行采樣時(shí),通常將每一位的中間時(shí)刻視作是最穩(wěn)定的,所以中間點(diǎn)的采樣電平就被認(rèn)為是該位的電平。然而在數(shù)據(jù)接收時(shí),有可能發(fā)生外部干擾促使電平反轉(zhuǎn)的情況,所以只采樣一次是不準(zhǔn)確的[4]。為了解決這個(gè)問題,對每一位數(shù)據(jù)都設(shè)置了六次采樣,根據(jù)這六次采樣結(jié)果來判斷該位的電平狀態(tài),將出現(xiàn)次數(shù)較多的采樣電平當(dāng)作該位的真實(shí)電平,若是兩者一樣多,則視為數(shù)據(jù)不可靠,不執(zhí)行任何操作[5]。一位數(shù)據(jù)的接收原理圖如圖3所示。

從圖3中,把一位數(shù)據(jù)分成了16小段,在6個(gè)中間時(shí)刻對其進(jìn)行采樣,圖中的①②③④⑤⑥即為六個(gè)采樣時(shí)刻。根據(jù)這種采樣方式可知,實(shí)際采樣頻率應(yīng)該是16倍的波特率。其中,要特別注意起始位的判斷,因?yàn)橛袝r(shí)候干擾信號也會使得下降沿出現(xiàn)。在數(shù)據(jù)線上有下降沿出現(xiàn)時(shí),假設(shè)它就是起始位,接著在六個(gè)中間時(shí)刻對它進(jìn)行采樣,若是6次采樣結(jié)果中,低電平出現(xiàn)的次數(shù)比較多,那么它就是真正的起始位,否則,它就不是起始位,應(yīng)當(dāng)繼續(xù)等待真正的起始位。

3 UART系統(tǒng)仿真測試及分析

編寫測試腳本后,在Modelsim中分別對發(fā)送模塊和接收模塊進(jìn)行仿真測試,測試結(jié)果如圖4、圖5所示。

從圖4中可以看出,在復(fù)位信號置高及發(fā)送使能信號有效時(shí),開始發(fā)送數(shù)據(jù),此時(shí),uart由空閑狀態(tài)轉(zhuǎn)換為發(fā)送狀態(tài),在一幀數(shù)據(jù)發(fā)送完畢后,uart又重新回到空閑狀態(tài),同時(shí)輸出一個(gè)時(shí)鐘周期高電平的發(fā)送結(jié)束信號。根據(jù)異步串行通信原理可知,待發(fā)送的八位并行數(shù)據(jù)為10111010時(shí),數(shù)據(jù)線上的傳輸數(shù)據(jù)應(yīng)當(dāng)依次為0(起始位)、0、1、0、1、1、1、0、1、1(停止位)。與上圖進(jìn)行對比后發(fā)現(xiàn),每隔一個(gè)波特率時(shí)鐘便輸出一位數(shù)據(jù),輸出的數(shù)據(jù)為0010111011[6]。并且此時(shí)波特率選擇端口值為11,說明波特率設(shè)置為115200HZ,發(fā)送一幀數(shù)據(jù)應(yīng)該為86806ns,用光標(biāo)進(jìn)行測量,測量數(shù)據(jù)正確。這說明發(fā)送模塊設(shè)計(jì)正確,能夠滿足要求。

從圖5可以看出,復(fù)位電平置高且串行輸入有下降沿出現(xiàn)時(shí),開始接收數(shù)據(jù),在一幀數(shù)據(jù)接收完畢后,同時(shí)輸出接收結(jié)束信號。根據(jù)異步串行通信原理可知,在串行數(shù)據(jù)為0010101011時(shí),它的數(shù)據(jù)位是01010101,則接收模塊收到的8位并行數(shù)據(jù)應(yīng)該是10101010。與上圖進(jìn)行對比后發(fā)現(xiàn),接收模塊輸出的并行數(shù)據(jù)正是10101010。這說明接收模塊設(shè)計(jì)正確,能夠滿足要求。

4 結(jié)語

本系統(tǒng)采用Verilog_HDL硬件描述語言來實(shí)現(xiàn)通用異步收發(fā)器。根據(jù)功能需求,分別對UART的三個(gè)主模塊進(jìn)行了設(shè)計(jì)。最終的仿真測試結(jié)果顯示,該設(shè)計(jì)完全滿足要求,能夠很好的進(jìn)行數(shù)據(jù)的發(fā)送和接收。該設(shè)計(jì)簡單便捷,實(shí)用性高。

參考文獻(xiàn)

[1] 吳厚航.深入淺出玩轉(zhuǎn) FPGA[M].北京:北京航空航天大學(xué)出版社,2010.

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

[3] 賈亮,冀源.基于FPGA的串口通信控制器設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2016,35(22):33-35.

[4] 夏宇聞.Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程(第三版)[M].北京:北京航空航天大學(xué)出版社,2013.

[5] 袁玉卓,曾凱鋒,梅雪松.FPGA自學(xué)筆記-設(shè)計(jì)與驗(yàn)證[M].北京:北京航空航天大學(xué)出版社,2017.

[6] 謝謝.基于FPGA的UART設(shè)計(jì)[J].電子設(shè)計(jì)工程,2016,20(16):51-53.

Design and Implementation of UART Based on FPGA

LUO Chun-Mei,XIAO Shun-Wen,WANG Yong

(School of Electronic and Information Engineering,China West Normal University,Nanchong Sichuan? 637009)

Abstract:This design uses Verilog_HDL language to achieve UART system. The system consists of three modules: the baud rate clock generation module, data sending module and data receiving module. Modelsim simulation shows that the design of each module complies with the requirements, with high data transmission rate and accurate data transmission.

Key words:FPGA;UART;Asynchronous serial communication;Modelsim simulation

主站蜘蛛池模板: 国产区精品高清在线观看| 久草青青在线视频| 欧美日韩国产精品va| 欧美日韩导航| 中文字幕亚洲专区第19页| 日韩高清成人| 免费毛片全部不收费的| 亚洲无码视频图片| 高潮毛片免费观看| 台湾AV国片精品女同性| 国内精品免费| 性视频一区| 国产在线观看高清不卡| 国产免费网址| 中文天堂在线视频| 欧美三级日韩三级| 高清色本在线www| 日韩无码黄色| 91蜜芽尤物福利在线观看| 激情无码视频在线看| 欧美啪啪网| 亚洲一区二区三区在线视频| 五月天久久综合国产一区二区| 日本AⅤ精品一区二区三区日| 欧美日韩中文字幕在线| 精品自窥自偷在线看| jizz在线免费播放| 久久亚洲中文字幕精品一区| 国产在线精品人成导航| av在线无码浏览| 18禁不卡免费网站| 免费AV在线播放观看18禁强制| www.亚洲一区二区三区| 国产又大又粗又猛又爽的视频| 婷婷六月色| 欧美日韩国产高清一区二区三区| 精品五夜婷香蕉国产线看观看| 麻豆精品视频在线原创| 午夜欧美理论2019理论| 国产综合精品一区二区| 国产在线高清一级毛片| 色成人综合| 国产福利在线观看精品| 97青青青国产在线播放| 精品超清无码视频在线观看| 亚洲香蕉伊综合在人在线| 国产精品成人AⅤ在线一二三四| 四虎国产永久在线观看| 成人国产小视频| 国产一区二区三区视频| 久操线在视频在线观看| 亚洲人成在线精品| 精品视频一区在线观看| 亚洲三级影院| 色爽网免费视频| 制服无码网站| 午夜a视频| 国产精品视频导航| 国产精品不卡片视频免费观看| 亚洲欧洲自拍拍偷午夜色| 久久婷婷综合色一区二区| 欧美成人精品一区二区 | 亚洲人精品亚洲人成在线| 亚洲精品久综合蜜| 国产成人综合日韩精品无码不卡| 国产啪在线| 久久福利片| 国产又粗又猛又爽视频| 亚洲精品视频网| 中文字幕亚洲精品2页| 国产av一码二码三码无码| 91视频青青草| 成人在线视频一区| 欧美啪啪精品| 特级欧美视频aaaaaa| 午夜福利网址| 亚洲精品制服丝袜二区| 免费啪啪网址| 欧美va亚洲va香蕉在线| 国内黄色精品| 国产成人毛片| 成年人国产视频|