新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的數(shù)據(jù)通信采集系統(tǒng)

基于CAN總線的數(shù)據(jù)通信采集系統(tǒng)

作者: 時(shí)間:2010-11-20 來(lái)源:網(wǎng)絡(luò) 收藏

  1.2 軟件設(shè)計(jì):

  軟件主要完成 , 并在接收數(shù)據(jù)之后按要求對(duì)的導(dǎo)航數(shù)據(jù)進(jìn)行處理,轉(zhuǎn)換成實(shí)際所需數(shù)據(jù)類(lèi)型,對(duì)陀螺組合的狀態(tài)進(jìn)行監(jiān)測(cè)。

  本 通信報(bào)文格式采用2.0B 擴(kuò)展模式,通信數(shù)據(jù)格式主要是對(duì)CAN 協(xié)議中的(仲裁場(chǎng)ArbitrationField)和(數(shù)據(jù)場(chǎng)Data Field)進(jìn)行定義,要求數(shù)據(jù)傳輸速率為500 Kb/s。協(xié)議幀格式如圖3 所示。

  

  系統(tǒng)的接收軟件設(shè)計(jì)流程圖如圖4 所示。

  

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

  1) 初始化CAN 總線的傳輸報(bào)文格式為提供29 位地址的CAN2.0B 擴(kuò)展模式;2) 初始化CAN 總線的波特率為500 Kb/s。

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



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉