當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]簡要介紹了AT90CAN 28的功能特點,講述了AT90CAN128中CAN控制器的原理及使用方法,針對所設(shè)計車型CAN總線控制系統(tǒng)的構(gòu)成特點,制定了通信協(xié)議,并以聯(lián)合制動單元為具體實例,對其設(shè)計過程進行了詳細的描述

摘要:簡要介紹了AT90CAN 28的功能特點,講述了AT90CAN128中CAN控制器的原理及使用方法,針對所設(shè)計車型CAN總線控制系統(tǒng)的構(gòu)成特點,制定了通信協(xié)議,并以聯(lián)合制動單元為具體實例,對其設(shè)計過程進行了詳細的描述,使讀者能更加深刻地體會到這款單片機的特別之處。
關(guān)鍵詞:AT90CAN128;單片機;CAN總線;聯(lián)合制動;通訊協(xié)議

引言

    現(xiàn)場總線技術(shù)[1]是目前自動化控制領(lǐng)域發(fā)展比較迅速的一門技術(shù),其中CAN(Controller Area Network)總線[2]是在國際上應(yīng)用最廣泛的現(xiàn)場總線之一。近幾年隨著汽車電子行業(yè)的發(fā)展,現(xiàn)代汽車中CAN總線已經(jīng)成為必須采用的裝置之一。本文以ATMEL公司新近生產(chǎn)的一款內(nèi)置CAN控制器的單片機——AT90CAN128為基礎(chǔ),設(shè)計了一款車載CAN總線系統(tǒng),通過CAN智能測控儀表對車中部分單元參數(shù)量進行實時監(jiān)控,使各單元之間協(xié)調(diào)運轉(zhuǎn)。另外,傳輸線束大大簡化,可靠性得到了極大的提高,有效節(jié)約了線束安裝空間和系統(tǒng)成本。

1 AT90CAN128特性概述

1.1 基本特性

    AT90CAN128[3]是基于AVR RISC結(jié)構(gòu)的8位低功耗CMOS微處理器,它采用了先進的指令集以及單周期指令執(zhí)行時間,其數(shù)據(jù)吞吐率高達1 MIPS/MHz,其內(nèi)核具有豐富的指令集和32個通用工作寄存器。所有寄存器都直接與ALU相連接。通過將8位RISC CPU與系統(tǒng)內(nèi)可編程的Flash集成在一個芯片內(nèi),為許多嵌入式控制應(yīng)用提供了靈活而低成本的方案。

1.2 內(nèi)置CAN控制器概述

    AT90CAN128內(nèi)置有完全符合CAN2.0A和2.0B標準協(xié)議的CAN控制器。采用MOb(消息對象)方式進行數(shù)據(jù)的發(fā)送和接收,共有15個MOb,它們具有相同的屬性:有11位標識符(2.0A協(xié)議),也可擴展至29位(2.0B議);8位數(shù)據(jù)緩沖(靜態(tài)分配);Tx,Rx幀

    緩沖或自動響應(yīng)配置;時間標識。CAN控制器的結(jié)構(gòu)如圖1所示。

     

圖1、CAN控制器結(jié)構(gòu)

    MOb是一個CAN消息幀的描述符。它包括處理一個CAN消息幀的所有信息。這意味著一個MOb可以看成一個對象,來描述一條CAN消息。MOb的數(shù)目是從0到14。它們相互獨立,但在多重比較的時候,低位的MOb會獲得優(yōu)先權(quán)。每個MOb都被安置在一個頁中來保存。頁的序號就是MOb的序號。

2  車載CAN總線控制系統(tǒng)[4]的設(shè)計

    由于對實時性要求比較高,所以采用高速CAN總線,信息傳輸速度為500kbps,連接的主要對象有:駕駛員計算機、發(fā)動機、自動變速器、安全氣囊、儀表信號采集系統(tǒng)、聯(lián)合制動系統(tǒng)等。由于各個節(jié)點作用不同,所以在硬件搭建和軟件設(shè)計以及通信協(xié)議的制定上都采用了相應(yīng)的方案。下面以聯(lián)合制動單元為例,做具體分析。

    聯(lián)合制動單元接收由駕駛員計算機終端發(fā)送的CAN總線消息命令,根據(jù)對液力制動扭矩、機械制動扭矩、合成扭矩等參數(shù)進行檢測的狀態(tài),經(jīng)過電液控制算法計算,實現(xiàn)前驅(qū)、后驅(qū)制動控制。對正常制動回路油位、緊急制動回路油位的報警等信息,通過CAN總線反饋給駕駛員計算機終端。

2.1 聯(lián)合制動單元硬件電路組成

    以AT90CAN128單片機作為控制系統(tǒng)核心,外圍設(shè)有8路光隔模擬量輸入、4路模擬量輸出、多路光隔開關(guān)量輸入、輸出、LED報警及CAN總線收發(fā)器,總線的接口芯片選用的是Philips公司的PCA82C250。具體結(jié)構(gòu)見圖2。

圖2、制動單元硬件框圖

2.2          通信協(xié)議制定

2.2.1 各終端消息標識符的定義

    表1定義了駕駛員計算機終端及聯(lián)合制動單元之間相互通訊的消息標識符。

表1、各終端的消息標識符

    采用CAN擴展幀的29位標識符進行定義,其中P為3位優(yōu)先級;R為保留擴展位;8位的BW為報文類型代碼;8位的BD為目標地址或報文類型擴展碼;8位的BY為發(fā)送報文源地址。部分設(shè)備節(jié)點名稱和分配地址如下:主駕駛員終端地址10、副駕駛員終端地址20、聯(lián)合制動單元地址30。

2.2.2 各消息類型和命令值內(nèi)容的定義

    駕駛員計算機終端對聯(lián)合制動單元的控制消息內(nèi)容為2個字節(jié)——命令類型和命令值。命令類型包括:狀態(tài)查詢命令(數(shù)據(jù)0x1,命令值0x0)、前/后驅(qū)制動命令(數(shù)據(jù)0x2/0x3,命令值0x0)、聯(lián)合制動單元前/后驅(qū)制動信息確認(數(shù)據(jù)0x4/0x5,命令值0x0)等。

    聯(lián)合制動單元提供給駕駛員計算機終端的消息內(nèi)容包括:聯(lián)合制動單元狀態(tài)信息(7字節(jié),分別為液力制動扭矩、機械制動扭矩、合成扭矩、速度以及緊急回路和正常油壓的數(shù)值,以及正常制動回路油位和緊急制動回路油位的報警狀態(tài))、聯(lián)合制動單元報警信息(2字節(jié),分別為正常制動回路油位報警和緊急制動回路油位的報警)、聯(lián)合制動單元制動返回消息(2字節(jié),分別為收到的前驅(qū)或后驅(qū)制動命令的命令數(shù)據(jù)和命令值)等。

2.3  軟件設(shè)計(CAN總線通訊部分)

2.3.1 初始化部分

    初始化前將CAN通用控制寄存器的最高位置1(復(fù)位模式)。完成后,回到操作模式。

    下面給出了CAN控制器的初始化程序:

void  CAN_INIT ( void )

{

CANGCON = 0x80 ;  /*進入復(fù)位模式并且復(fù)位MOb*/

while  ( ENFG == 1 ) ;  /*測試CANGSTA中的ENFG位是否為0*/

CANGIE = 0xB0 ;  /*使能所有中斷及接收、發(fā)送中斷*/

CANIE2 = 0xFF ;  /*MOb 0~7中斷使能*/

CANIE1 = 0x00 ;  /*MOb 8~14中斷禁止*/

CANBT1 = 0x02 ;  /*設(shè)置波特率為500kbps*/

CANBT2 = 0x20 ;  

CANBT3 = 0x01 ; 

CANTCON = 0x8F ;  /*設(shè)置定時器預(yù)定標*/

/*以“聯(lián)合制動單元狀態(tài)查詢消息”為例*/

CANPAGE = TX_PAGE ;  /*指定此消息的MOb頁(寄存器中的高4位)*/

CANCDMOB = 0x17 ;  /*禁止狀態(tài),IDE位為1表示擴展幀,數(shù)據(jù)長度代碼為7*/

CANIDT1 = 0x84 ;  /*標識符設(shè)置*/

CANIDT2 = 0xB1 ;

CANIDT3 = 0x18 ;

CANIDT4 = 0xF2 ;

CANIDM1 = 0xFF ;  /*標識符屏蔽設(shè)置*/

CANIDM2 = 0xFF ;

CANIDM3 = 0xFF ;

CANIDM4 = 0xFF ;

CANGCON = 0x02 ;  /*進入操作模式*/

While  ( ENFG == 0 ) ;  /*測試CANGSTA中的ENFG位是否為1*/

}

2.3.2 消息的發(fā)送部分

    消息的發(fā)送均采用中斷方式實現(xiàn)。首先通過設(shè)置CANPAGE寄存器來指定被發(fā)送的頁數(shù),將數(shù)據(jù)裝載到CANMSG寄存器中,然后由CANCDMOB寄存器來控制發(fā)送動作,將消息發(fā)送出去,同時將觸發(fā)CANSTMOB中的TXOK中斷。

    下面以協(xié)議中的“聯(lián)合制動單元狀態(tài)查詢命令”為例,給出了發(fā)送程序:

void  CAN_TX ( void )

{

CANPAGE = TX_PAGE ;  /*指定此消息的MOb頁(寄存器中的高4位)*/

CANMSG = 0x01 ;  /*裝載消息數(shù)據(jù)*/

CANMSG = 0x00 ;  /*裝載消息命令值*/

CANCDMOB = 0x52 ;  /*發(fā)送狀態(tài),IDE位為1表示擴展幀,數(shù)據(jù)長度代碼為2*/

}

void  CAN_TX_INTER ( void )  /*發(fā)送中斷子程序*/

{

If  ( ( CANSTMOB & 0x40 ) == 0x40 )  /*發(fā)送中斷*/

{

CANSTMOB & = 0xBF ;  /*清TXOK位*/

CANCDMOB = 0x12;  /*停止發(fā)送*/

}

}

2.3.3 消息的接收部分

    消息的接收同樣采用中斷方式實現(xiàn)。先設(shè)置CANPAGE寄存器來指定接收的頁數(shù),隨后由CANCDMOB寄存器來控制接收動作,當(dāng)有消息到達時,將觸發(fā)CANSTMOB中的RXOK中斷,消息中的數(shù)據(jù)將被裝載到CANMSG寄存器中。

    下面以協(xié)議中的“接收聯(lián)合制動單元狀態(tài)信息”為例,給出了接收程序:

void  CAN_RX ( void )

{

CANPAGE = RX_PAGE ;  /*指定此消息的MOb頁(寄存器中的高4位)*/

CANCDMOB = 0x97 ;  /*接收狀態(tài),IDE位為1表示擴展幀,數(shù)據(jù)長度代碼為7*/

}

void  CAN_RX_INTER ( void )  /*接收中斷子程序*/

{

If  ( ( CANSTMOB & 0x20 ) == 0x20 )  /*接收中斷*/

{
         CANSTMOB & = 0xDF ;  /*清RXOK*/

   For ( i = 0 ; i < 7 ; i++ )
            {
              MObData [ RX_PAGE ] [ i ] = CANMSG ;  /*裝載數(shù)據(jù)*/
        }

}

}

4 結(jié)束語

    與目前同類型的單片機相比較,AT90CAN128在數(shù)據(jù)采集、PWM(快速PWM模式)等設(shè)計中都有其明顯的優(yōu)勢,特別是內(nèi)置了CAN控制器,這讓它在現(xiàn)代自控領(lǐng)域的發(fā)展前景十分樂觀。通過實踐證明,該車載CAN總線系統(tǒng)運行良好,完全可以達到預(yù)期的功能。

    本文作者創(chuàng)新點:本文由于采用了AT90CAN128單片機,使得該CAN總線系統(tǒng)的設(shè)計方法與傳統(tǒng)的CAN總線網(wǎng)絡(luò)設(shè)計思路有所不同,內(nèi)置CAN控制器可大大降低設(shè)備成本、簡化硬件結(jié)構(gòu)、通信效率加強、提高了安全性以及可靠性。軟件設(shè)計上可通過對MOb的配置,實現(xiàn)消息隊列的設(shè)定,這種方法更加的靈活、易懂。

參考文獻:

[1]  史久根,張培仁,陳真勇. CAN現(xiàn)場總線系統(tǒng)設(shè)計技術(shù). 國防工業(yè)出版社,2004.第1版
[2]  饒運濤,鄒繼軍,鄭勇蕓. 現(xiàn)場總線CAN原理與應(yīng)用技術(shù)[M].北京航空航天大學(xué)出版社,2003.第1版
[3]  AT90CAN128.pdf.  www.atmel.com/literature
[4]  王軼,張凡. CAN總線技術(shù)在智能汽車系統(tǒng)中的應(yīng)用. 《微計算機信息》2005年第七期47頁

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉