基于CAN總線(xiàn)的數據通信采集系統
1.2 系統軟件設計:
系統軟件主要完成基于CAN 總線(xiàn)的數據通信, 并在接收數據之后按要求對采集的導航數據進(jìn)行處理,轉換成實(shí)際所需數據類(lèi)型,對陀螺組合的狀態(tài)進(jìn)行監測。
本系統CAN 總線(xiàn)通信報文格式采用CAN2.0B 擴展模式,通信數據格式主要是對CAN 總線(xiàn)協(xié)議中的(仲裁場(chǎng)ArbitrationField)和(數據場(chǎng)Data Field)進(jìn)行定義,要求數據傳輸速率為500 Kb/s。協(xié)議幀格式如圖3 所示。

系統的接收軟件設計流程圖如圖4 所示。

在使用CAN 接口卡之前首先要對卡進(jìn)行波特率、傳輸報文格式等參數的初始化。
1) 初始化CAN 總線(xiàn)的傳輸報文格式為提供29 位地址的CAN2.0B 擴展模式;2) 初始化CAN 總線(xiàn)的波特率為500 Kb/s。
利用PCI/cPCI -7841CAN 接口卡的CanOpen-Driver () 函數打開(kāi)CAN 端口, 用CanConfigPort () 函數進(jìn)行初始化,用CanSendMsg()函數發(fā)送數據包,用Can-RcvMsg()函數接收數據包,用CanCloseDriver () 函數關(guān)閉端口[3]。創(chuàng )建接收線(xiàn)程,接收數據之后按要求對數據進(jìn)行處理。應用MFC 制作通信界面。注意,線(xiàn)程函數只能是靜態(tài)成員函數,或者是在類(lèi)外面聲明的一個(gè)函數。
評論