新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于CAN總線技術(shù)的汽車儀表軟件實現(xiàn)方案

基于CAN總線技術(shù)的汽車儀表軟件實現(xiàn)方案

作者: 時間:2012-09-26 來源:網(wǎng)絡(luò) 收藏

  CAN2.0的分層結(jié)構(gòu)是按ISO/OSI模型對CAN結(jié)構(gòu)的描述。數(shù)據(jù)鏈路層又分為邏輯鏈路層(LLC,Logical Link Control)和媒體訪問控制(MAC,Medium Access Control)兩個層。LLC層完成下列功能:為數(shù)據(jù)發(fā)送以及以及遠(yuǎn)層數(shù)據(jù)請求傳送服務(wù);判斷是否接受接收到的數(shù)據(jù);提供恢復(fù)管理和超載處理。

  MAC層主要定義了傳輸協(xié)議,包括信息幀格式、仲裁方式、應(yīng)答信號、錯誤檢測、錯誤信令和故障限制等。

  物理層實現(xiàn)節(jié)點間的物理信號的傳送,主要定義網(wǎng)絡(luò)的電氣特性。CAN網(wǎng)絡(luò)中可以采用多種不同的物理層協(xié)議。

  本研究用VC編程語言實現(xiàn)數(shù)據(jù)的顯示。PC—CAN接口卡自帶三個文件CAN232dll.DLL,CAN232dll.LIB,ExportHead.H,其中ExportHead.H描述了動態(tài)鏈接庫CAN232dll.DLL所定義的外部函數(shù)。如下所示:

  void OpenSerialPort(int nPort,unsigned int Baud);

  void CAN232Send(unsigned char*sdata,size_t Len);

  void CAN232Setting(unsigned char*sdata,size_t Len);

  char CAN232Receive(unsigned char*CANReceive);

  將接口卡所帶的三個文件拷貝在VC目錄下,在VC菜單的PROJECT->SETTING中的LINK項下,填入CAN232dll.LIB。然后在程序的頭文件中加入“#include ExportHead.H”。

4、結(jié)論

  本研究只有一個CAN節(jié)點,所以顯示器所顯示的數(shù)據(jù)只有轉(zhuǎn)速、機油壓力、水溫、燃油消耗,但是在實際的汽車網(wǎng)絡(luò)中,通過編程我們可以動態(tài)獲得CAN總線上的所有信息,并能夠以友好的人機界面顯示,使車輛信息對駕駛員或乘客透明化。所以基于CAN總線的軟件實現(xiàn)是設(shè)計的一個新的嘗試。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉