<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于Verilog HDL的UART模塊設(shè)計(jì)與仿真

          基于Verilog HDL的UART模塊設(shè)計(jì)與仿真

          作者: 時(shí)間:2010-07-27 來源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/191639.htm


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


          1)IDLE狀態(tài) 系統(tǒng)被復(fù)位后,接收狀態(tài)機(jī)進(jìn)入IDLE狀態(tài),等待起始位到來,輸入數(shù)據(jù)在空閑時(shí)保持為1,當(dāng)輸入由“l(fā)”跳變?yōu)椤?”時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到CENTER狀態(tài)。
          2)CENTER狀態(tài) 啟動起始位檢測電路,為排除噪聲干擾,狀態(tài)機(jī)等待8個(gè)脈沖,如果數(shù)據(jù)線上仍為低電平,則狀態(tài)機(jī)跳轉(zhuǎn)到WAIT狀態(tài),并啟動采樣電路。如果是噪聲干擾,則轉(zhuǎn)入IDLE態(tài)。
          3)WAIT狀態(tài) 狀態(tài)機(jī)WAIT狀態(tài),判斷數(shù)據(jù)接收是否完畢,若未完成采樣,則轉(zhuǎn)入SAMPLE狀態(tài)進(jìn)行數(shù)據(jù)位的采樣檢測,同時(shí)啟動位計(jì)數(shù)器,用來控制數(shù)據(jù)接收的位數(shù)。無論停止位是幾位,狀態(tài)機(jī)只對停止位作一次采樣。接收完畢,轉(zhuǎn)入STOP狀態(tài)。
          4)SAMPLE狀態(tài) 在此狀態(tài)對串口輸入數(shù)據(jù)進(jìn)行采樣,每次采樣均位于數(shù)據(jù)位的中心。并每接收完一位數(shù)據(jù),狀態(tài)機(jī)轉(zhuǎn)入WAIT狀態(tài)。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();