<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    基于CAN總線在車載系統中的應用

    發布時間:2010-4-8 13:07    發布者:我芯依舊
    關鍵詞: CAN , 車載 , 系統 , 應用 , 總線
    1 引言

    CAN(Controller Area Network)即控制器局域網絡,它是德國波許(Bosch)一公司從20世紀80年代初開始,為解決當代汽車中日益增多的控制與測試儀器之間的數據交換而開發的一種能有效支持分布式控制或實時控制的串行通信網絡,F代汽車安全性、舒適性及環保要求的不斷提高,因此,本課題著眼于其發展的現狀,通過CAN總線和外設傳感器的應用,保證了車載系統和外圍電路更好的通信,最大程度的保證了車輛的安全。

    2 總體結構

    本課題旨在通過對CAN總線的研究,保證車身與外圍擴展電路正常的通信。經過分析比較,確定實行方案,并加以驗證。

    整個系統是將溫度、加速度,還有TTS、GPS的數據經過AT90CAN128進行處理,通過轉發器,一并發到CAN總線上,然后,接收端(CAN轉串口232)將接到的數據通過串口發到車載平臺上,對數據進行處理。同理,車載平臺發送的命令也會經過CAN總線傳回控制器,對外圍設備進行控制(數據的逆向傳輸)。

    系統原理如圖1所示:


    圖1系統原理

    2.1硬件設計

    1) AT90CAN128做主控制器,它是ATMEL公司生產帶有一個CAN的控制器,CAN控制器集成了CAN協議的物理層和數據鏈路層的功能,可完成對數據的成幀處理,包括位填充、數據塊編碼、循環冗余校驗和優先級判別等功能。符合CAN2.OA和CAN2.OB協議規范,支持標準幀和擴展幀的接收和發送。

    2) ATA6660也是ATMEL公司的新型高速度的CAN總線收發器。這種新產品采用了ATMEL公司的0.8微米BCDMOS處理技術,可滿足45伏特電壓甚至更為苛刻環境中的應用。ATA6660是為不同工作模式下高速差動數據傳輸(如工業和汽車制造上的應用)而專門設計的。針對高速數據傳輸的需求,波特率可以調整到1 Mbaud。與國際高速CAN數據通訊標準ISO11898完全兼容。

    2.1.1 CAN控制器的數據接收

    首先,選定CAN控制器的MOB0模式,設定自動增量,初值為0。再使CANSTMOB的RXOK置1,從而使CAN控制器處于接收數據狀態,接收一個數據后,清接收中斷標志。

    2.1.2 CAN控制器的數據發送

    需要先關中斷的標志,其次裝載消息數據,并把CAN控制器設置為發送狀態,待數據發送完后。再把全局中斷寄存器CANGIE設置為接收使能。

    CAN總線收發器的原理圖為圖2:


    圖2 CAN總線收發器的原理圖

    2.1.3 RS232-CAN總線轉換器

    帶有RS232接口的數據操作站可以通過RS232接口接入,實現與CAN智能模塊的信息通訊,完成操作命令的下發及智能模塊實時數據、運行狀態的采集。

    RS232-CAN總線轉換器原理圖為圖3:


    圖3 RS232-CAN總線轉換器原理圖

    2.2軟件設計

    2.2.1 AT90CAN128的初始化

    AT90CAN128的初始化是在復位模式下進行,初始化主要包括工作方式的設置、接收濾波方式的設置,接收屏蔽寄存器ARM和接收代碼寄存器ACR的設置.波特率參數的設置和中斷允許寄存器IER的設置等,在完成AT90CAN128的初始化設置以后,AT90CAN128回到工作狀態進行正常的通訊任務。

    CAN總線初始化的流程圖為圖4:


    圖4 CAN總線初始化的流程圖

    下面給出了CAN初始化程序。

    CANGCON=0x01 //CAN硬件reset
    CANGIE=0xB0; //允許除定時器溢出外的所有中斷(如接收、發送中斷)
    ///////////////////////////////
    CANEN2=0x03;
    CANEN1=Ox00; //Mob0、Mob1選通,Mob2-14禁止
    //////////////////////////////
    CANIE2=0x03;
    CANIEl=Ox00; //Mob0、Mob1允許中斷,Mob2-14禁止中斷
    CANHPMOB=0x10   //Mob()具有最高優先級
    /////////////////////////////
    CANBT1=0x7E;
    CANBT2=Ox6E;
    CANBT3=Ox7F;
    CANTCON=OxFF: .//波特率設置為10.000kHz
    /////////////////////////////
    CANPAGE=0xOO://選通Mob0
    CANSTMOB=0: //狀態寄存器清零
    CANCDMOB=Ox01;//DLC選擇lbyte
    CANCDMOB I=0x80;//允許接收
    CANGCON I=0x02;//選擇使能模式

    2.2.2 CAN總線收發器設計

    此系統選用了ATMEL公司的AT90CAN128芯片作為CAN總線控制器,通過對其相應寄存器的配置,并與ATA6660CAN總線收發器配合,便可實現對CAN總線的操縱。

    AT90CAN128兼容CAN2.0A和CAN2.OB規范,提供了從MOBO到MOBl4共15組MOB,每個MOB都有獨立的ID和ID接收過濾碼,可看作CAN總線上的獨立器件進行控制。

    2.2.3中斷處理

    在CAN收發數據中,最霞要的就是中斷處理過程。

    為了保證總線轉換過程中不產生丟包現象,在此設計中。CAN與RS232的接收均采用中斷形式,并設計了兩個軟件F1-FO分別做為CAN和RS232的緩沖,在中斷處理中將數據壓入FIFO,減少了中斷服務程序所占用的時間。使系統中斷后能迅速恢復并準備接收下一數據。當總線空閑時,轉換器再將FIFO中的數據以硬件中斷形式依次發出。由于CAN總線數據采用的是短幀結構,不會長時問占用總線,所以這樣做不會對總線的實時性產生很大影響。

    本文作者創新點:本論文主要研究CAN總線的特性及優勢,實現在CAN總線上進行數據通信。課題設計并實現的功能模塊,可擴展性好,便于升級和維護。有良好的實際應用價值,有利于CAN總線的汽車應用國產化。


    作者:唐輝,劉錦高      來源:《微計算機信息》(嵌入式與SOC)2009年第3-2期
    本文地址:http://www.portaltwn.com/thread-10248-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區

    相關在線工具

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷