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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA 的簡化UART 電路設(shè)計

          基于FPGA 的簡化UART 電路設(shè)計

          作者: 時間:2009-03-10 來源:網(wǎng)絡(luò) 收藏

          發(fā)送模塊主要實現(xiàn)對并行數(shù)據(jù)的緩存,并串轉(zhuǎn)換,然后把串行數(shù)據(jù)按照既定數(shù)據(jù)幀格式進行輸出,其機構(gòu)如圖3 所示:

          圖3 發(fā)送模塊

          a) data_input[7:0]是8 位并行數(shù)據(jù)的輸入端,轉(zhuǎn)換成串行數(shù)據(jù)后從txd 輸出;
          b) wrn 是寫控制信號,為1 時禁止數(shù)據(jù)輸入,為0 時允許輸入;
          c) reset 為系統(tǒng)復位輸入端,低電平有效;
          d) clk 為系統(tǒng)時鐘信號輸入端,由波特率發(fā)生器產(chǎn)生;
          e) tser 是并串轉(zhuǎn)換過程的標志:在沒有數(shù)據(jù)轉(zhuǎn)換時保持為1,在并串轉(zhuǎn)換開始時變成0,

          并在轉(zhuǎn)換過程中保持為0; f) tbre 是整個工作過程的標志。實驗中串行數(shù)據(jù)結(jié)構(gòu)為1 位起始位,8 位數(shù)據(jù)位,1 位奇偶校驗位,1 位停止位。數(shù)據(jù) 的發(fā)送由外部接收模塊控制,接收模塊給出wrn 信號, 發(fā)送模塊根據(jù)此信號將并行數(shù)據(jù)data-input 鎖存進發(fā)送緩沖,并通過移位寄存器進行并串轉(zhuǎn)換,在轉(zhuǎn)換結(jié)束后加上奇偶校驗位,發(fā)送到端口txd 進行串行輸出。在整個工作過程中,輸出信號tbre 作為標志信號,在串行數(shù)據(jù)全部輸出完畢之后變成0, 并在發(fā)送模塊未工作時保持為0。
          2.4 接收模塊
          接收模塊的結(jié)構(gòu)如圖4 所示。接收模塊的作用是把收到的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)進行輸出,并判斷收到數(shù)據(jù)是否有錯。接收模塊的內(nèi)部結(jié)構(gòu)及工作過程與發(fā)送模塊類似,只不過接收模塊的工作和發(fā)送模塊的工作相反,是進行數(shù)據(jù)的串并轉(zhuǎn)換。


          圖4 接收模塊
          a) rxd 接收串行數(shù)據(jù)輸入;
          b) rdn 為輸入控制端,只有rdn 為0 時,并行數(shù)據(jù)才允許輸出;
          c) data-ready 為數(shù)據(jù)是否準備好的標志;
          d) parity-error 為校驗位是否出錯的標志;
          e) framing-error 為幀是否出錯的標志;
          f) data-out[7:0]為并行數(shù)據(jù)輸出端。


          接收模塊從捕捉到數(shù)據(jù)串的第一個0 開始工作,然后把隨后依次輸入的8 個數(shù)據(jù)位通過移位在寄存器中完成竄并轉(zhuǎn)換,并將并行數(shù)據(jù)輸出至端口data-out 。將8 個數(shù)據(jù)位移位至寄存器后,接收模塊將檢測輸入數(shù)據(jù)串的最后一位是否為1(停止位)來判斷接收到的數(shù)據(jù)幀是否出錯,若不為1,就將輸出framing-error 置1。
          3 仿真驗證在實驗中,作者選用Altera 公司的Cyclone 系列產(chǎn)品中的EP1C12Q240C8 芯片,硬件描述語言采用Verilog HDL,用Quartus 5.1 進行邏輯綜合,仿真工具則使用ModelSim6.0 。發(fā)送模塊和接收模塊的仿真結(jié)果分別如圖5 所示。發(fā)送的數(shù)據(jù)能夠嚴格按照串行通信協(xié)議進行傳輸;接收的數(shù)據(jù)也完全正確。通過仿真測試后,將程序下載到 芯片中運行,結(jié)果通信數(shù)據(jù)正確,電路工作穩(wěn)定、可靠。

          圖5 發(fā)送和接收模塊仿真


          4 結(jié)束語
          實現(xiàn)了UART 通信功能,可以實現(xiàn)對數(shù)據(jù)的接收和發(fā)送,并可以在接收 數(shù)據(jù)時對其校驗位、停止位進行判斷,在發(fā)送數(shù)據(jù)時可以形成完整的一幀數(shù)據(jù)格式。本 文利用 設(shè)計實現(xiàn)了UART 的核心功能,可以和上位機進行異步串行通信。實驗 證明該UART 設(shè)計占用資源少,工作穩(wěn)定可靠。
          本文作者創(chuàng)新觀點:本文對UART 系統(tǒng)結(jié)構(gòu)進行了模塊化分析,可以根據(jù)實際的需要可選擇地實現(xiàn)相應(yīng)的通信功能,簡化了,提高了系統(tǒng)的可靠性,可以靈活地嵌入到各個通信系統(tǒng)當中。


          上一頁 1 2 下一頁

          關(guān)鍵詞: FPGA UART 電路設(shè)計

          評論


          相關(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); })();