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

          新聞中心

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

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

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

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

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

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

            本研究用VC編程語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)的顯示。PC—CAN接口卡自帶三個(gè)文件CAN232dll.DLL,CAN232dll.LIB,ExportHead.H,其中ExportHead.H描述了動(dòng)態(tài)鏈接庫(kù)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);

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

          4、結(jié)論

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


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁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); })();