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

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 一種高可靠性的計算機與FPGA串行通信的實現(xiàn)

          一種高可靠性的計算機與FPGA串行通信的實現(xiàn)

          作者: 時間:2011-12-21 來源:網(wǎng)絡 收藏

          摘要:主要介紹以為硬件平臺的下位機與(上位機)進行,將串口功能集成到單片內,運行中波特率可調,經過適當?shù)谋?、分頻了零誤差的波特率發(fā)生器,提高了數(shù)據(jù)傳輸?shù)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/可靠性">可靠性。上位機上編寫VB程序負責主設備的發(fā)送命令并接收顯示來自回發(fā)的數(shù)據(jù),實驗結果表明可行,高。
          關鍵詞:FPGA;;VB;

          通信廣泛應用于數(shù)字通信和工業(yè)控制領域,傳統(tǒng)的專用串口通信芯片接口復雜,體積較大,隨著微電子技術的發(fā)展,F(xiàn)PGA的等效門數(shù)迅速增加,可以完全將串口功能集成在單片F(xiàn)PGA內,減少了外圍電路的體積,降低了設計的復雜性,同時也提高通信的可靠性。

          1 串行通信的原理
          串行通信是指通信的發(fā)送和接收方之間數(shù)據(jù)信息的傳輸是在單根數(shù)據(jù)線上完成,以每次一個二進制的0或1為最小單位逐位進行傳輸,本文采用異步的全雙工通信方式,數(shù)據(jù)傳輸是以字符為單位,如圖1所示為異步通信的幀格式。

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

          a.jpg


          其中,一幀數(shù)據(jù)包括起始位、數(shù)據(jù)位、校驗位和停止位。線路空閑狀態(tài)下,發(fā)送和接收端均保持高電平;通信開始時,通信一方發(fā)送一個起始位(低電平),表示通信的開始,緊接著發(fā)送有效的數(shù)據(jù)位,通常約定的數(shù)據(jù)位有5,6,7或者8位,根據(jù)用戶需要進行設定,然后發(fā)送校驗位,這里選用偶校驗,最后發(fā)送停止位,可以是1,1.5或2位不等,用戶自行約定即可。本文選用8位數(shù)據(jù)位、偶校驗、1位停止位,可以所有字符的收、發(fā)。
          串行通信傳送數(shù)據(jù)是按位順序進行,最少只需要一根傳輸線即可完成,要全雙工的通信共需要2根數(shù)據(jù)線和1根接地線即可,通信雙方可以在同一時刻進行發(fā)送和接收的操作。本文采用的是RS 232C串行接口標準,是目前PC機與通信工業(yè)中應用最廣泛的一種串行接口。但的串口是用正負電壓來表示邏輯狀態(tài),與FPGA電路板上以高低電平表示的邏輯狀態(tài)的標準不同。因此,為了能夠同進行通信,必須在兩者之間進行電平的邏輯關系轉換,本文采用集成電路芯片MAX232來完成兩種電平的雙向轉換。如圖2所示。

          b.jpg


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();