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

          新聞中心

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

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

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

          MSComm是VB對(duì)使用串口的用戶定制的控件,它提供了一系列標(biāo)準(zhǔn)屬性和方法,簡(jiǎn)單編寫相關(guān)程序便可端口的連接。主要用到的屬性如表2所示。

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

          f.jpg


          為驗(yàn)證與PC的,需要編寫發(fā)送和接收程序,為簡(jiǎn)化程序,部分屬性直接在注冊(cè)表中設(shè)定。如InPutMode設(shè)定為1即二進(jìn)制方式讀取數(shù)據(jù);由于程序接收部分使用OnComm事件,所以這里把SThreshold屬性設(shè)定為1,而RThreshold屬性設(shè)定為發(fā)送數(shù)據(jù)的字節(jié)數(shù),即接收緩沖區(qū)接收到全部字節(jié)數(shù)后MSComm控件觸發(fā)OnComm事件,執(zhí)行相應(yīng)的接收程序。InBufferSize和OutBufferSize均設(shè)置為1 024即1 KB緩沖空間。
          如下是發(fā)送和接收子程序:
          g.jpg

          4 實(shí)驗(yàn)驗(yàn)證
          實(shí)驗(yàn)過程中數(shù)據(jù)的收、發(fā)等功能在Altera公司的CycloneⅡ系列EP2C5芯片下,在VB 6.0中編寫相應(yīng)的與PC通信的調(diào)試窗口,如圖7所示為數(shù)據(jù)傳輸率9 600 b/s的實(shí)驗(yàn)結(jié)果。

          h.jpg


          打開應(yīng)用程序,設(shè)置好通信端口、約定的通信速率、數(shù)據(jù)位等,在相應(yīng)的輸入框輸入“與PC通信成功!”字符,點(diǎn)擊5次發(fā)送,從顯示區(qū)可以看到理想的結(jié)果,實(shí)驗(yàn)結(jié)果表明FPGA與PC通信可靠。

          5 結(jié)語
          本文與FPGA的串口通信,結(jié)合上位機(jī)的VB程序驗(yàn)證了通信的正確性。設(shè)計(jì)過程中FIFO部分運(yùn)用了IP核使得程序更加簡(jiǎn)潔,且外加了一位撥碼開關(guān),實(shí)現(xiàn)了運(yùn)行過程中兩種波特率的靈活選擇。實(shí)際運(yùn)用中可以再相應(yīng)地增加撥碼開關(guān)實(shí)現(xiàn)多波特率多數(shù)據(jù)位等的互調(diào),不必為了適應(yīng)不同的通信標(biāo)準(zhǔn)而重新編寫代碼、重新配置。FPGA部分的程序在QuartusⅡ9.1環(huán)境下編輯、調(diào)試,綜合結(jié)果顯示共占用
          FPGA的144個(gè)邏輯單元、81個(gè)專用邏輯寄存器、32位存儲(chǔ)器和1個(gè)鎖相環(huán),相比百萬門大規(guī)模FPGA占用資源很少,可以作為IP核靈活移植到其他工程中實(shí)現(xiàn)與PC的通信,為今后的設(shè)計(jì)開發(fā)提供參考。


          上一頁 1 2 3 下一頁

          評(píng)論


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