《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應用 > 基于Verilog HDL的UART模塊設(shè)計與仿真
基于Verilog HDL的UART模塊設(shè)計與仿真
摘要: 文章標題:基于Verilog HDL的UART模塊設(shè)計與仿真。中國IT實驗室嵌入式開發(fā)頻道提供最全面的嵌入式開發(fā)培訓及行業(yè)的信息、技術(shù)以及相關(guān)資料的下載.
關(guān)鍵詞: FPGA Verilog HDL UART ModelSim
Abstract:
Key words :

  隨著微機應用和計算機網(wǎng)絡(luò)的發(fā)展,計算機與外界之間的信息交換變得越來越重要,為了保證串行通信的正常進行,提高串行通信的效率和CPU的利用率,在微機系統(tǒng)中采用專用的大規(guī)模集成電路來完成這些工作,這就是串行通信接口。通用異步接收發(fā)送器UART(Universal asynchronousreceiver/transmitter)主要用于控制設(shè)備之間的串行通信。廣泛應用于調(diào)制解調(diào)器Modem、手持工業(yè)設(shè)備、條形碼閱讀器、測試設(shè)備、消費產(chǎn)品與計算機PC、微處理器以及小型通信網(wǎng)絡(luò)之間的通信等。在SOC設(shè)計中,異步串行通信接口已成為不可缺少的一部分,它的性能優(yōu)劣將直接影響相應電子系統(tǒng)的性能和指標。

  1 UART原理

  串行通信是指外部設(shè)備和計算機間使用一根數(shù)據(jù)線(另外需要地線,可能還需要控制線)進行數(shù)據(jù)傳輸?shù)姆绞健?shù)據(jù)在一根數(shù)據(jù)線上一位一位傳輸,每一位數(shù)據(jù)都占據(jù)一個固定的時間長度。與并行通信方式相比,串行通信方式的傳輸速度較慢,但這種通信方式使用的數(shù)據(jù)線少,在遠距離通信中可以節(jié)約通信成本,因此得到了廣泛的應用。

  基本的UART只需要發(fā)送和接收兩條數(shù)據(jù)線就可以完成數(shù)據(jù)的全雙工通信,其基本功能是在發(fā)送端將控制器通過總線傳過來的并行數(shù)據(jù),以設(shè)定的格式,設(shè)定的頻率串行地傳輸出去,并同時在接收端將串行接收到的數(shù)據(jù),轉(zhuǎn)換成相應的并行數(shù)據(jù)發(fā)送出去。UART的基本幀格式如圖1所示。其中,起始位總是邏輯O狀態(tài),停止位總是邏輯l狀態(tài),其持續(xù)時間可選為1位、1.5位或2位,其數(shù)據(jù)位可為5、6、7、8位,校驗位可根據(jù)需要選擇奇校驗位,偶校驗位或無校驗位。

UART的基本幀格式

  2 UART的設(shè)計

  現(xiàn)今復雜的數(shù)字系統(tǒng)的設(shè)計往往采用自頂向下的設(shè)計方案,利用層次化結(jié)構(gòu)化的方法,將一個設(shè)計方案劃分為若干模塊,在不同層次的模塊都可以進行仿真,可以很方便地查看某一層次的代碼以改正仿真時發(fā)現(xiàn)錯誤。在本設(shè)計中UART主要由波特率發(fā)生器、接收模塊、發(fā)送模塊3部分組成,并具有l(wèi)位停止位和無校驗位。波特率發(fā)生器實現(xiàn)波特率的變換,利用外部時鐘信號產(chǎn)生一個所需波特率16倍的波特率時鐘,用來控制UART的接收與發(fā)送。接收模塊是用于接收串行信號,并將其轉(zhuǎn)化為并行數(shù)據(jù);而發(fā)送模塊則將準備輸出的并行數(shù)據(jù)按照UART的幀格式轉(zhuǎn)化為串行數(shù)據(jù)輸出。圖2為UART結(jié)構(gòu)圖。

UART結(jié)構(gòu)圖

  2.1 波特率發(fā)生器

  波特率表示的是每秒鐘傳送的二進制數(shù)據(jù)的位數(shù),即單位時間內(nèi)傳送的信息量。在串行異步傳送中,常用到的波特率為1 200、2 400、4 800、9 600、19 200等。波特率發(fā)生器實際上是一個分頻器,主要是產(chǎn)生和。RS-232通信所采用的波特率同步的時鐘。由于串行數(shù)據(jù)幀與接收數(shù)據(jù)時鐘是異步的,所以存 UART的接收端在什么時刻將數(shù)據(jù)移入寄存器,怎樣選擇可靠的采樣點是非常關(guān)鍵的。一般采用高速時鐘對串行數(shù)據(jù)采樣是非常有效的方法。在實際設(shè)計中,一般最大選擇16倍于波特率的時鐘頻率。實現(xiàn)波特率時鐘的基本思路就是設(shè)計一個計數(shù)器,該計數(shù)器工作在速度很高的系統(tǒng)時鐘下,通過總線寫入不同的數(shù)值到波特率發(fā)生器保持寄存器中,然后用計數(shù)器的方式生成所需要的各種波特率就能得到所需的波特率時鐘,仿真如圖3所示。

仿真如圖

  2.2 接收模塊

  接收模塊是整個UART的設(shè)計的重點,其主要功能是檢測數(shù)據(jù)的起始位,并對接收的數(shù)據(jù)進行串并轉(zhuǎn)換,并將接收好的數(shù)據(jù)儲存等待微機處理。由于串行數(shù)據(jù)幀與接收數(shù)據(jù)時鐘是異步的,接收功能實現(xiàn)的關(guān)鍵是接收器與每個接收字符同步。要保證異步通信的雙方準確無誤地交換信息,必須有效控制采集通信線路上的電平信號的時機。由異步串行通信的特點可知,接收同步是通過低電平起始位實現(xiàn)的。而為了保證采樣的正確性,采樣在數(shù)據(jù)位的中間進行,并且接收單元采樣數(shù)據(jù)的頻率與發(fā)送單元發(fā)送數(shù)據(jù)的頻率相同,是波特率時鐘周期的16倍,這樣可以有效地降低由于時鐘不匹配而導致的誤采樣。接收模塊的設(shè)計主要由狀態(tài)機實現(xiàn)其核心功能,采用獨熱編碼方式,雖然獨熱編碼多用了兩個觸發(fā)器,但所用組合電路可節(jié)省一些,使電路的速度和可靠性有顯著提高。控制接收器的起始/停止位檢測,接收數(shù)據(jù)的計數(shù),移位寄存的功能。狀態(tài)機分為5個狀態(tài),分別為:IDEL,CENTER,WAIT,SAMPLE,STOP。狀態(tài)轉(zhuǎn)換圖如圖4所示。

狀態(tài)轉(zhuǎn)換圖

  1)IDLE狀態(tài) 系統(tǒng)被復位后,接收狀態(tài)機進入IDLE狀態(tài),等待起始位到來,輸入數(shù)據(jù)在空閑時保持為1,當輸入由“l”跳變?yōu)?ldquo;0”時,狀態(tài)機跳轉(zhuǎn)到CENTER狀態(tài)。

  2)CENTER狀態(tài) 啟動起始位檢測電路,為排除噪聲干擾,狀態(tài)機等待8個脈沖,如果數(shù)據(jù)線上仍為低電平,則狀態(tài)機跳轉(zhuǎn)到WAIT狀態(tài),并啟動采樣電路。如果是噪聲干擾,則轉(zhuǎn)入IDLE態(tài)。

  3)WAIT狀態(tài) 狀態(tài)機WAIT狀態(tài),判斷數(shù)據(jù)接收是否完畢,若未完成采樣,則轉(zhuǎn)入SAMPLE狀態(tài)進行數(shù)據(jù)位的采樣檢測,同時啟動位計數(shù)器,用來控制數(shù)據(jù)接收的位數(shù)。無論停止位是幾位,狀態(tài)機只對停止位作一次采樣。接收完畢,轉(zhuǎn)入STOP狀態(tài)。

 

  4)SAMPLE狀態(tài) 在此狀態(tài)對串口輸入數(shù)據(jù)進行采樣,每次采樣均位于數(shù)據(jù)位的中心。并每接收完一位數(shù)據(jù),狀態(tài)機轉(zhuǎn)入WAIT狀態(tài)。

  5)STOP狀態(tài) 接收停止位,完成一個數(shù)據(jù)幀的接收,并將rec_ready置為1,表明收據(jù)接收完畢,待微機讀取。其仿真結(jié)果如圖5所示。

仿真結(jié)果

  2.3 發(fā)送模塊

  發(fā)送模塊的設(shè)計相對簡單,其功能是將要發(fā)送的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),并且在輸出的串行數(shù)據(jù)流中加入起始位和停止位。發(fā)送器首先將要發(fā)送的8位數(shù)據(jù)寄存,并在最低位后添加起始位‘0’,在最高位前添加停止位‘l’,組成10位要發(fā)送的數(shù)據(jù),然后根據(jù)UART內(nèi)核模塊的計數(shù)值將相應的數(shù)據(jù)送入移位寄存器輸入端。UART內(nèi)核模塊輸出的計數(shù)值是從0依次計到9,即先將要發(fā)送數(shù)據(jù)的最低位送入移位寄存器。仿真結(jié)果如圖6所示。

仿真結(jié)果

  2.4 UART各個模塊的整合

  在各模塊功能實現(xiàn)的基礎(chǔ)上,把它們有機地整合在一起,使波特率發(fā)生器能夠按照UART通訊的要求正常工作,接收模塊和發(fā)送模塊能夠根據(jù)各自的復位信號使整合模塊具有發(fā)送或接收功能。仿真結(jié)果如圖7所示。

仿真結(jié)果

  3 結(jié)束語

  本文介紹了基于Verilog HDL設(shè)計的UART模塊,采樣點選擇可靠,其可以準確判斷接收數(shù)據(jù)的起始,接收器與接收數(shù)據(jù)實現(xiàn)同步,串行數(shù)據(jù)能被準確接收,并通過在ModelSim下的仿真,可下載至可編程邏輯器件中實現(xiàn)UART功能。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美xx69| 国产精品美女久久久免费| 亚洲调教视频在线观看| 久久精品123| 性欧美暴力猛交另类hd| 亚洲视频一区二区在线观看 | 欧美日韩精品二区| 欧美激情综合| 欧美激情一二三区| 欧美精品日韩精品| 欧美日韩国产免费观看| 欧美日韩日日骚| 欧美视频一区二区三区…| 欧美婷婷久久| 国产精品久在线观看| 国产精品女人久久久久久| 国产精品麻豆va在线播放 | 国产精品人人爽人人做我的可爱 | 麻豆成人小视频| 美女脱光内衣内裤视频久久影院| 久久精品午夜| 久久综合给合久久狠狠狠97色69| 久久亚洲午夜电影| 欧美电影在线播放| 欧美日韩一区二区三区视频 | 亚洲一区在线观看视频 | 香蕉久久久久久久av网站| 午夜日韩电影| 久久成人精品电影| 亚洲黄色av| 亚洲另类自拍| 亚洲午夜精品一区二区| 午夜日韩激情| 久久久久久网站| 欧美国产精品久久| 欧美特黄一区| 国产女主播一区二区| 激情久久久久| 亚洲国产成人一区| 一区二区电影免费观看| 香蕉久久久久久久av网站| 91久久精品国产| 亚洲一区二区成人| 久久久久这里只有精品| 欧美激情欧美激情在线五月| 国产精品成人久久久久| 国产一区二区三区高清| 亚洲国产清纯| 亚洲主播在线观看| 亚洲国产精彩中文乱码av在线播放| 亚洲毛片在线观看| 香蕉久久一区二区不卡无毒影院| 久久裸体艺术| 欧美涩涩网站| 激情成人在线视频| 99这里有精品| 久久精品免费观看| 亚洲香蕉成视频在线观看 | 国产网站欧美日韩免费精品在线观看| 一区一区视频| 中文国产一区| 亚洲国产精彩中文乱码av在线播放| 一本大道av伊人久久综合| 性做久久久久久久久| 欧美 日韩 国产精品免费观看| 欧美午夜电影在线| 好看不卡的中文字幕| 99re视频这里只有精品| 久久成人精品电影| 亚洲视频中文字幕| 久久在线免费视频| 国产精品久久久久aaaa九色| 伊大人香蕉综合8在线视| 一区二区三区免费在线观看| 亚洲高清激情| 午夜精品视频在线| 欧美成人性生活| 国产日韩综合一区二区性色av| 亚洲精品视频免费观看| 久久精品电影| 先锋影音久久| 欧美激情偷拍| 激情欧美日韩一区| 亚洲男人的天堂在线| 在线视频亚洲一区| 美女诱惑一区| 国产视频综合在线| 亚洲婷婷综合久久一本伊一区| 亚洲精品国精品久久99热一| 久久精品一区蜜桃臀影院 | 国产精品高潮呻吟久久av无限| 在线成人激情视频| 欧美一区免费视频| 亚洲欧美国产高清va在线播| 欧美精品v日韩精品v国产精品| 好吊日精品视频| 欧美亚洲视频一区二区| 亚洲免费小视频| 欧美连裤袜在线视频| 精品不卡在线| 欧美在线免费视频| 欧美一区二区三区四区夜夜大片 | 亚洲国产欧美日韩另类综合| 久久成人精品| 国产农村妇女精品一二区| 一区二区三区欧美视频| 99国产精品国产精品毛片| 猛男gaygay欧美视频| 国产在线不卡精品| 午夜在线不卡| 欧美在线一区二区三区| 国产精品亚洲аv天堂网| 亚洲视频免费| 亚洲综合精品| 国产精品成人va在线观看| 日韩一区二区精品视频| 亚洲日本欧美在线| 免费视频最近日韩| 1000部精品久久久久久久久| 久久精品免费播放| 久热精品视频在线| 在线电影欧美日韩一区二区私密| 欧美制服丝袜| 久久亚洲一区二区| 在线播放日韩| 亚洲精品久久久蜜桃| 欧美精品粉嫩高潮一区二区| 亚洲精品乱码久久久久| 99这里只有久久精品视频| 欧美日韩麻豆| 亚洲视频一区在线| 欧美在线亚洲在线| 国产自产女人91一区在线观看| 欧美在线播放| 免费看av成人| 亚洲精品女人| 亚洲专区免费| 国产欧美一区二区三区久久 | 日韩一级黄色片| 99热免费精品| 欧美视频在线观看免费网址| 亚洲图片欧美日产| 久久国产精品99精品国产| 国产视频久久久久久久| 久久精品五月婷婷| 欧美国产日韩精品| 一区二区三区免费看| 久久不射2019中文字幕| 亚洲高清网站| 中文高清一区| 国产美女精品视频免费观看| 久久国产欧美| 欧美精品日韩| 亚洲一级黄色av| 久久久久久久久久久久久9999| 在线免费观看欧美| 中文一区二区在线观看| 国产精品美女久久| 亚洲激情一区二区三区| 欧美日韩视频免费播放| 午夜精彩国产免费不卡不顿大片| 鲁大师影院一区二区三区| 日韩午夜一区| 久久精品免费播放| 亚洲激情影院| 香蕉精品999视频一区二区| 亚洲成色777777在线观看影院| 亚洲视频第一页| 国产一区二区三区在线观看精品 | 合欧美一区二区三区| 夜夜嗨av一区二区三区中文字幕| 国产精品久久久久77777| 久久精品一区二区三区不卡牛牛 | 国产精品久久久久久亚洲毛片 | 亚洲免费在线播放| 红杏aⅴ成人免费视频| 一本色道久久88亚洲综合88| 国产精品一二| 亚洲精品日韩在线观看| 国产伦理一区| 亚洲作爱视频| 一区二区三区在线观看国产| 亚洲夜间福利| 亚洲电影免费观看高清完整版在线观看 | 亚洲欧美三级伦理| 欧美激情一区二区三区蜜桃视频| 亚洲一区美女视频在线观看免费| 欧美 日韩 国产一区二区在线视频| 亚洲私拍自拍| 久久综合五月| 亚洲欧美日韩成人| 欧美日韩国产探花| 久久精品日韩一区二区三区| 国产精品久久久久av| 亚洲另类在线视频| 国内综合精品午夜久久资源| 亚洲综合电影| 日韩视频一区| 欧美成人一区在线| 欧美一区二区视频在线观看|