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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA的串行接收模塊的設(shè)計

          基于FPGA的串行接收模塊的設(shè)計

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

          1 前言
          隨著的飛速發(fā)展與其在現(xiàn)代電子設(shè)計中的廣泛應(yīng)用,越來越多的實驗和設(shè)計中會運用與RS232通信。與此同時, 具有功能強大、開發(fā)過程投資小、周期短、可反復(fù)編程等特點。筆者在FPGA芯片上集成了功能,從而簡化了電路、縮小了電路板的體積、提高了可靠性。本文主要介紹圍繞FPGA所設(shè)計的符合 RS232標(biāo)準(zhǔn)的。
          2 異步串行通信原理
          串行通信分為兩種類型:同步通信方式和異步通信方式。本設(shè)計采用的是異步通信方式,其的特點是:通信的發(fā)送方和接收方各自有獨立的時鐘,傳輸?shù)乃俾视呻p方約定。國際上規(guī)定的一個串行通信波特率標(biāo)準(zhǔn)系列是:110、300、600、1200、1800、2400、4800、9600、 19200,單位是 bps。本文采用的是 19200bps。
          異步傳輸是一個字符接一個字符傳輸。一個字符的信息由起始位、數(shù)據(jù)位、奇偶校驗位和停止位組成。每一個字符的傳送靠起始位來同步,字符的前面是一位起始位,用下降沿通知接收方傳輸開始,緊跟著起始位之后的是數(shù)據(jù)位,傳輸時低位在前、高位在后,字符本身由5~8位數(shù)據(jù)位組成。數(shù)據(jù)位后面是奇偶校驗位,昀后是停止位,停止位是高電平,標(biāo)志一個字符的結(jié)束,并為下一個字符的開始傳送做準(zhǔn)備。停止位后面是不定長度的空閑位。停止位和空閑位都規(guī)定高電平,這樣可以保證起始位開始處有一個下降沿,如圖1所示。 3 硬件接口電路原理設(shè)計
          在串行通信中,普遍采用的是 RS232-C接口的標(biāo)準(zhǔn)。 RS232-C接口信號引腳的連接方式規(guī)定了25芯的D型連接器DB-25,本設(shè)計采用的是一個 9芯的D型連接器DB-9,并且用昀為簡單常用的三線制接法,即地、接受數(shù)據(jù)和發(fā)送數(shù)據(jù)三腳相連。

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


          本設(shè)計的硬件接口電路圖如圖2所示,由三部分組成: FPGA串口接收、 MAX232和DB-9。FPGA采用的是Xilinx公司的SPARTAN系列的 XC2S50芯片,其封裝為TQ144。 MAXIM公司的MAX232CPE是為滿足EIA/TEA-232E的標(biāo)準(zhǔn)而設(shè)計的,具有功耗低、波特率高、價格低等優(yōu)點。工作電源為 +5V,外界電容僅為 luF,為雙組 RS-232收發(fā)器。MAX232有兩個發(fā)送器,本設(shè)計只用其中一個發(fā)送器,另外一個發(fā)送器的輸入端接地、輸出端懸空。
          異步數(shù)據(jù)接收過程可作為一個整體來實現(xiàn),數(shù)據(jù)由 DB-9的RxD端輸入,經(jīng)過 MAX232進行電平轉(zhuǎn)換由FPGA串口接收模塊的 RxD端進入,然后在串口接收模塊內(nèi)部對接收來得數(shù)據(jù)進行判斷,并昀終實現(xiàn)對FPGA輸出信號的控制。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: FPGA 串行接收 模塊

          評論


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