基于AT90CAN128單片機(jī)的某車型CAN總線系統(tǒng)設(shè)計(jì)
引言
現(xiàn)場(chǎng)總線技術(shù)[1]是目前自動(dòng)化控制領(lǐng)域發(fā)展比較迅速的一門技術(shù),其中CAN(Controller Area Network)總線[2]是在國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。近幾年隨著汽車電子行業(yè)的發(fā)展,現(xiàn)代汽車中CAN總線已經(jīng)成為必須采用的裝置之一。本文以ATMEL公司新近生產(chǎn)的一款內(nèi)置CAN控制器的單片機(jī)——AT90CAN128為基礎(chǔ),設(shè)計(jì)了一款車載CAN總線系統(tǒng),通過CAN智能測(cè)控儀表對(duì)車中部分單元參數(shù)量進(jìn)行實(shí)時(shí)監(jiān)控,使各單元之間協(xié)調(diào)運(yùn)轉(zhuǎn)。另外,傳輸線束大大簡(jiǎn)化,可靠性得到了極大的提高,有效節(jié)約了線束安裝空間和系統(tǒng)成本。
1 AT90CAN128特性概述
1.1 基本特性
AT90CAN128[3]是基于AVR RISC結(jié)構(gòu)的8位低功耗CMOS微處理器,它采用了先進(jìn)的指令集以及單周期指令執(zhí)行時(shí)間,其數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz,其內(nèi)核具有豐富的指令集和32個(gè)通用工作寄存器。所有寄存器都直接與ALU相連接。通過將8位RISC CPU與系統(tǒng)內(nèi)可編程的Flash集成在一個(gè)芯片內(nèi),為許多嵌入式控制應(yīng)用提供了靈活而低成本的方案。
1.2 內(nèi)置CAN控制器概述
AT90CAN128內(nèi)置有完全符合CAN2.0A和2.0B標(biāo)準(zhǔn)協(xié)議的CAN控制器。采用MOb(消息對(duì)象)方式進(jìn)行數(shù)據(jù)的發(fā)送和接收,共有15個(gè) MOb,它們具有相同的屬性:有11位標(biāo)識(shí)符(2.0A協(xié)議),也可擴(kuò)展至29位(2.0B議);8位數(shù)據(jù)緩沖(靜態(tài)分配);Tx,Rx幀
緩沖或自動(dòng)響應(yīng)配置;時(shí)間標(biāo)識(shí)。CAN控制器的結(jié)構(gòu)如圖1所示。
圖1、CAN控制器結(jié)構(gòu)
MOb是一個(gè)CAN消息幀的描述符。它包括處理一個(gè)CAN消息幀的所有信息。這意味著一個(gè)MOb可以看成一個(gè)對(duì)象,來描述一條CAN消息。MOb的數(shù)目是從0到14。它們相互獨(dú)立,但在多重比較的時(shí)候,低位的MOb會(huì)獲得優(yōu)先權(quán)。每個(gè)MOb都被安置在一個(gè)頁(yè)中來保存。頁(yè)的序號(hào)就是MOb的序號(hào)。
評(píng)論