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

          新聞中心

          EEPW首頁 > 汽車電子 > 設計應用 > 基于CAN 總線的信息采集系統(tǒng)設計

          基于CAN 總線的信息采集系統(tǒng)設計

          作者: 時間:2010-11-17 來源:網絡 收藏

            在使用 接口卡之前首先要對卡進行波特率、傳輸報文格式等參數(shù)的初始化。

            1) 初始化 的傳輸報文格式為提供29 位地址的2.0B 擴展模式;2) 初始化CAN 的波特率為500 Kb/s。

            利用PCI/cPCI -7841CAN 接口卡的CanOpen-Driver () 函數(shù)打開CAN 端口, 用CanConfigPort () 函數(shù)進行初始化,用CanSendMsg()函數(shù)發(fā)送數(shù)據(jù)包,用Can-RcvMsg()函數(shù)接收數(shù)據(jù)包,用CanCloseDriver () 函數(shù)關閉端口[3]。創(chuàng)建接收線程,接收數(shù)據(jù)之后按要求對數(shù)據(jù)進行處理。應用MFC 制作通信界面。注意,線程函數(shù)只能是靜態(tài)成員函數(shù),或者是在類外面聲明的一個函數(shù)。

            初始化程序如下:

            PORT_STRUCT setPort;long handle[2];HANDLE rcvEvent0;HANDLE rcvEvent1;setPort.mode = 1; // 0 : 11-bit ; 1 : 29-bit CAN networksetPort.accCode = 0; // Only ID = accCode can pass thefiltersetPort.accMask = 0x7FF; // Don't care bitsetPort.baudrate = 2; // 0:125 Kb/s; 1:250 Kb/s; 2:500 Kb/s;3:1 Mb/s//open porthandle[0] = CanOpenDriver(0, 0);handle[1] = CanOpenDriver(0, 1);CanConfigPort(handle[0], setPort);CanConfigPort(handle[1], setPort);//get the receive event handleCanGetReceiveEvent(handle[0], rcvEvent0);CanGetReceiveEvent(handle[1], rcvEvent1);系統(tǒng)軟件界面如圖5 所示。

            2 實驗結果:

            經過實驗驗證,該系統(tǒng)采集的數(shù)據(jù)經過通信后不變,確保了的可靠、準確。

            3 結束語:

            由于基于CAN 的數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性,同時由于TMS320F2812 DSP 的eCAN 模塊使數(shù)據(jù)傳輸更加靈活方便,數(shù)據(jù)量更大,可靠性更高,功能更加完備,用該DSP 進行下位機的數(shù)據(jù)發(fā)送,PCI/cPCI CAN 接口卡進行數(shù)據(jù)接收,從而完成,并對采集的數(shù)據(jù)進行相應處理,對陀螺組合的狀態(tài)進行監(jiān)測,這對衛(wèi)星等的導航有著重要意義。


          上一頁 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); })();