• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

    基于CAN 總線的信息采集系統設計

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

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

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

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

      初始化程序如下:

      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);系統軟件界面如圖5 所示。

      2 實驗結果:

      經過實驗驗證,該系統采集的數據經過通信后不變,確保了的可靠、準確。

      3 結束語:

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


    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 景洪市| 兴宁市| 平顺县| 益阳市| 蚌埠市| 星子县| 定州市| 大厂| 江山市| 青冈县| 平阳县| 元谋县| 宾阳县| 临江市| 长岛县| 当涂县| 大洼县| 江达县| 灵石县| 剑河县| 沁源县| 揭阳市| 中西区| 望谟县| 盐池县| 西华县| 喀喇沁旗| 尉氏县| 木里| 如东县| 诸暨市| 和林格尔县| 获嘉县| 大石桥市| 祁连县| 疏附县| 会理县| 青河县| 武邑县| 大丰市| 通山县|