在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網 > 電子技術應用 > 汽車電子 >

基于CAN總線的車輛虛擬儀表數據采集系統設計(2)

2011年09月21日 14:36 本站整理 作者:網絡 用戶評論(0

  3.1 CAN控制器編程

  本系統軟件設計的一個難點在于關于CAN的編程。本系統處理的CAN程序模塊有:CAN初始化子程序、CAN中斷程序和CAN數據收發子程序。

  CAN 是Controller Area Network 的縮寫,是國際標準化的串行通信協議。在當前的汽車產業中,出于對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統被開發了出來。由于這些系統之間通信所用的數據類型及對可靠性的要求不盡相同,由多條總線構成的情況很多,線束的數量也隨之增加。為適應"減少線束的數量"、"通過多個LAN,進行大量數據的高速通信"的需要,1986 年德國電氣商博世公司開發出面向汽車的CAN 通信協議。此后,CAN 通過ISO11898 及ISO11519 進行了標準化,現在在歐洲已是汽車網絡的標準協議。

  CAN總線的基本特點:

  *CAN協議廢除了傳統的站地址編碼,采用數據通信數據塊進行編程,可以多主方式工作。

  *CAN采用非破壞性仲裁技術,當兩個節點同時向網絡上傳送數據時,優先級低的節點主動停止數據發送,而優先級高的節點可不受影響地繼續傳輸數據,有效避免了總線沖突。

  *CAN采用短幀結構,每一幀的 有效字節為8個(CAN技術規范2.0A),數據傳輸時間短,受干擾的概率低,重新發送的時間短。

  *CAN的每幀數據都有CRC效驗及其他檢錯措施,保證了數據傳輸的高可靠性,適于在高干擾環境中使用。

  *適用于現場設備與儀表之間或者與其上位設備間的通信網絡,可以統一組態,相互操作,控制功能分散到最底層。

  *CAN節點在錯誤嚴重的情況下,具有自動關閉總線的功能,切斷它與總線的聯系,以使總線上其它操作不受影響。

  *CAN可以點對點、一點對多點(成組)及全局廣播集中方式傳送和接受數據

  *CAN總線直接通訊距離最遠可達10km/5Kbps,通訊速率最高可達1Mbps/40m.

  *采用不歸零碼(NRZ-Non-Return-to-Zero)編碼/解碼方式,并采用位填充(插入)技術。

  CAN控制器是以CPU存儲器映像外圍設備出現的。P80C592的CPU與CAN控制器之間的數據傳輸通過4個特殊功能寄存器來實現,即: CANADR、CANCON、CANSTA和CANDAT,通過這四個特殊功能寄存器,CPU可以訪問CAN控制器內部的任一寄存器(地址為0~29)和 DMA邏輯。表1給出了這四個SFR的功能簡述,其中CANCON和CANSTA的讀寫操作含義不同。

表1 SFR功能簡述

 

  CAN控制器初始化(圖4)是CAN通信中一個非常重要的子程序,程序是否合理將直接影響整個通信過程。CAN控制器的初始化首先必須通過置位CAN控制寄存器的"復位請求"位,置位"復位請求"并不影響正在進行的一個收發作業,特別需要注意的是,只有當復位請求被置位時,CAN內部地址為4-8的寄存器方可被訪問,在復位操作結束后必須將該位置0以保持所進行的設置并使CAN返回工作狀態。

 

  圖4 CAN通信中一個重要的子程序

  P80C592和其在片CAN控制器都具有中斷寄存器,必須注意兩者的區別。CAN中斷子程序(圖5)首先讀CAN中斷寄存器(IR)以判斷中斷類型,據此轉入相應的操作。如果接收緩存器滿而另一個報文的首字節又需要被存儲時,數據超限位被置位,此時應清除超限并釋放接收緩存,然后重新發送數據請求。在數據接受子程序中當數據被轉入RAM區后,應及時釋放接受緩存器,以便為接收下一幀數據做好準備。

 

  圖5 CAN中斷子程序

  數據發送子程序見圖6.CAN控制器向總線發送數據時,首先將在片主RAM中數據存放的首地址寫入CANSTA,然后讀取CANSTA.6的值(讀 CANSTA的操作其實是對CAN控制器內部狀態寄存器的讀操作,CANSTA.6是錯誤顯示位,當至少有一個總線錯誤計數器計數達到CPU告警極限時,該位將被CAN控制器置位。),若檢測出錯,則執行CAN初始化子程序,若正常,則繼續檢測接收狀態和發送緩沖器狀態,若發送條件滿足則在CANADR中寫入發送緩存器地址并置位DMA控制位,DMA傳送隨即被啟動,數據場由RAM拷貝到發送緩存器,置發送請求位后數據開始發送。

  4 結語

  用高性能的P80C592和AD1674A數據采集模塊組成車輛環境數據采集系統具有較高的性價比,目前該系統已投入試用階段,運行狀況良好。CAN總線非常適合分布式控制或適時控制的串行通信網絡,本課題只涉及了數據采集,如果在此基礎上擴展車輛輔助控制和重要數據備份功能,系統將會有更廣闊的應用前景。

 

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

( 發表人:大本 )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 一级毛片一级毛片一级级毛片| 91精品啪国产在线观看免费牛牛| 一女被两男吃奶玩乳尖口述| 天天做天天爱夜夜爽| 久久都是精品| 人人狠狠综合88综合久久| 五月婷婷在线视频| 久久精品国产99精品最新| 免费h视频在线观看| 国产精品久久久久久福利| 日日干夜夜爽| 天天插天天色| 天天添天天射| 欧美成人在线影院| 手机看片久久| 天天操夜夜操天天操| 日日操夜夜| 欧美性猛交xxxx黑人喷水| 4438x五月天| 福利社看片| 久操久操久操| 久久国产香蕉视频| 免费观看在线视频| 国产成人精品高清免费| 好爽好黄的视频| 成片一卡三卡四卡免费网站| 一道精品视频一区二区三区男同| 乌克兰毛片| 美女扒开尿口给男人爽免费视频| 又黄又涩的视频| 一级待一黄aaa大片在线还看| 五月天婷婷一区二区三区久久| 午夜伦理片免费观看在线| 日本黄色短视频| 91在线网址| 无毒不卡| 三级黄网| 啪啪小视频网站| ⅹxxxx68日本老师hd| 91最新网站免费| 亚洲成在人线影视天堂网|