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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA和nRF905的挖掘機(jī)無線監(jiān)控?cái)?shù)據(jù)傳輸系統(tǒng)

          基于FPGA和nRF905的挖掘機(jī)無線監(jiān)控?cái)?shù)據(jù)傳輸系統(tǒng)

          作者: 時(shí)間:2012-08-18 來源:網(wǎng)絡(luò) 收藏

          (2) SOPC片上串口通信程序設(shè)計(jì)
          NIOSII的UART核可以設(shè)置所需的通信模式,比如波特率、偶校驗(yàn)、停止位、數(shù)據(jù)位和其他控制信號(hào)。系統(tǒng)選用的串口波特率為9600bps。采用1位起始位,8位數(shù)據(jù)位和1位停止位。串口通信可以使用查詢的方式也可以使用中斷的方式。但是由于查詢的方式較為占用資源,所以本系統(tǒng)采用中斷的方式直接讀取寄存器。UART核能夠輸出一個(gè)單獨(dú)的中斷請(qǐng)求(IRQ)信號(hào)給Avalon總線,從而連接到Nios II處理器,通知將數(shù)據(jù)轉(zhuǎn)發(fā)至SPI接口。串口程序流程圖如圖4所示。

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

          a.JPG



          3 上下位機(jī)與間的串口程序設(shè)計(jì)
          3.1 MTC方的串口通信設(shè)計(jì)
          Codesyrs進(jìn)行RS232通信編程,要用到以下四個(gè)函數(shù):SysComOpen,SysComSetSettings,SysComRead,SvsComWrite。編寫程序方法類似C語言。
          SvsComOpen:打開RS232通訊端口,MTC僅可選COM2,其余皆不可用。
          Buffm Address:當(dāng)讀取到數(shù)據(jù)后拷貝到變量BUFFER_DATA指向的地址內(nèi);
          Bvtes To Read:讀取多少個(gè)bytes。
          Buffer Address:發(fā)送數(shù)據(jù)所在地址。
          3.2 PC方的串口通信設(shè)計(jì)
          PC的串口通信程序使用VC6.0編寫,使用Microsoft公司ActiveX控件MSComm。采用事件驅(qū)動(dòng)的辦法,每當(dāng)有數(shù)據(jù)由串口收到時(shí),就會(huì)觸發(fā)消息的響應(yīng)函數(shù)OnComm。即可由PC收取串口的數(shù)據(jù)。發(fā)送時(shí)可直接調(diào)用該控件發(fā)送。

          4 結(jié)束語
          本系統(tǒng)能夠低成本地設(shè)計(jì)出無線傳輸系統(tǒng),較好地完成半雙工的無線數(shù)據(jù)傳輸工作。采用SOPC設(shè)計(jì)無線傳輸模塊的控制器能夠在軟硬件設(shè)計(jì)上實(shí)現(xiàn)模塊化,能夠大量地減輕研發(fā)工作量、提高研發(fā)速度。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: FPGA 905 nRF 挖掘機(jī)

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