??? 摘? 要: CAN總線的主要功能與特點(diǎn),、CAN控制器以及CAN總線在混和動(dòng)力汽車控制系統(tǒng)" title="電機(jī)控制系統(tǒng)">電機(jī)控制系統(tǒng)中的應(yīng)用;CAN總線與電機(jī)控制芯片TMS320F241的接口設(shè)計(jì)、幀結(jié)構(gòu)以及通信中斷服務(wù)程序流程圖等,。?
??? 關(guān)鍵詞: CAN總線? 混和動(dòng)力汽車? 電動(dòng)機(jī)? 控制系統(tǒng)
?
??? CAN(Controller Area Network)總線即控制器局域網(wǎng)絡(luò),是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò),屬于現(xiàn)場(chǎng)總線的范疇,。德國(guó)Bosch公司在二十世紀(jì)80年代初將其研究成功,最初主要用于汽車內(nèi)部檢測(cè)以及控制系統(tǒng)間的數(shù)據(jù)通信,。CAN總線通信協(xié)議是在充分考慮工業(yè)現(xiàn)場(chǎng)環(huán)境的背景下制訂的,它采用了國(guó)際標(biāo)準(zhǔn)化組織ISO制訂的開放系統(tǒng)互連(ISO-OSI)模型中的三層,即物理層、數(shù)據(jù)層和應(yīng)用層,是OSI的一種簡(jiǎn)化網(wǎng)絡(luò)結(jié)構(gòu),。CAN總線規(guī)范已被國(guó)際標(biāo)準(zhǔn)化組織制訂為國(guó)際標(biāo)準(zhǔn)ISO11898,并得到Motorola,、Intel、Philips等著名半導(dǎo)體器件生產(chǎn)廠家的支持,進(jìn)而迅速推出了各種集成有CAN協(xié)議的產(chǎn)品,。目前,CAN總線主要用于汽車自動(dòng)化領(lǐng)域,如應(yīng)用于發(fā)動(dòng)機(jī)的自動(dòng)點(diǎn)火,、注油、復(fù)雜的加速剎車控制,、抗鎖定剎車系統(tǒng)和抗滑系統(tǒng)等,。隨著人們對(duì)環(huán)境保護(hù)的日益重視,混和動(dòng)力汽車(Hybrid Electrical Vehicle,HEV)及電動(dòng)汽車(Electrical Vehicle,EV)的研究發(fā)展很快,由于這兩種汽車都使用電機(jī)驅(qū)動(dòng)系統(tǒng),因此電機(jī)控制系統(tǒng)與CAN總線的通信是一項(xiàng)重要課題。本文主要探討CAN總線在電機(jī)控制系統(tǒng)中的應(yīng)用,。?
1 CAN總線的功能與特點(diǎn)?
??? (1)采用面向數(shù)據(jù)塊的通信方式,信號(hào)傳輸使用短幀結(jié)構(gòu),每幀數(shù)據(jù)量為8個(gè)字節(jié),。若通信距離在40m內(nèi),數(shù)據(jù)傳輸速率可達(dá)1Mbps。?
??? (2)可實(shí)現(xiàn)多主工作方式,數(shù)據(jù)收發(fā)方式靈活,??蓪?shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn),、全局廣播等幾種傳輸方式,。?
??? (3)CAN總線采用非破壞性的基于優(yōu)先權(quán)競(jìng)爭(zhēng)的總線仲裁方式。?
??? (4)CAN具有CRC校驗(yàn)及其它檢驗(yàn)措施,并具有錯(cuò)誤識(shí)別及自動(dòng)重發(fā)功能,。?
??? (5)通訊介質(zhì)可以是雙絞線,、同軸電纜或光纖。?
??? (6)接口簡(jiǎn)單,、編程方便,容易構(gòu)成用戶系統(tǒng),。?
??? 總之,CAN總線具有實(shí)時(shí)性強(qiáng)、可靠性高,、抗干擾能力強(qiáng),、結(jié)構(gòu)簡(jiǎn)單、操作性好,、價(jià)格低廉等優(yōu)點(diǎn),是公認(rèn)的最有前途的現(xiàn)場(chǎng)總線之一,。?
2 CAN控制器?
??? TMS320F241是美國(guó)TI公司TMS320系列定點(diǎn)數(shù)字信號(hào)處理器產(chǎn)品之一,專為數(shù)字電機(jī)控制而設(shè)計(jì),其指令執(zhí)行速度是20MIPS,幾乎所有指令都可以在一個(gè)50ns的單周期內(nèi)執(zhí)行完畢。同時(shí)TMS320F241芯片內(nèi)嵌了CAN模塊,因此該芯片是設(shè)計(jì)基于CAN總線的數(shù)字式電機(jī)控制系統(tǒng)的優(yōu)選芯片,。TMS320F241的CAN模塊是FullCAN控制器,包括報(bào)文處理器(負(fù)責(zé)接收和發(fā)送管理以及幀存儲(chǔ)),需要的CPU開銷比BasicCAN控制器少,并且適應(yīng)技術(shù)規(guī)范CAN2.0B,因此可以發(fā)送和接收標(biāo)準(zhǔn)幀(11-bit標(biāo)識(shí)符)和擴(kuò)展幀(29-bit標(biāo)識(shí)符),。同時(shí),CAN模塊包括6個(gè)信箱(Mailbox)以及15個(gè)不同的16-bit寄存器,這些寄存器分別是控制寄存器、狀態(tài)寄存器、中斷寄存器和接收屏蔽寄存器,。?
3 CAN總線在HEV電機(jī)控制系統(tǒng)中的應(yīng)用?
3.1 硬件設(shè)計(jì)?
??? TMS320F241芯片與CAN總線接口的總線收發(fā)器采用Philips公司的PCA82C250芯片,。82C250可以提供對(duì)CAN總線的差動(dòng)發(fā)送能力及對(duì)CAN控制器的差動(dòng)接收能力。通信介質(zhì)采用雙絞線,信號(hào)差動(dòng)發(fā)送和差動(dòng)接收的最高通信速率可達(dá)1Mbps,。為了增強(qiáng)抗干擾能力,在TMS320F241與82C250之間采用高速光耦6N137進(jìn)行隔離,。?
??? TMS320F241與CAN總線的接口電路如圖1所示。?
?
?
3.2 幀結(jié)構(gòu)?
??? 電機(jī)控制單元(MCU)與整車控制單元(VCU)之間的報(bào)文傳送由兩種類型的幀表示和控制:數(shù)據(jù)幀攜帶數(shù)據(jù)由發(fā)送器到接收器;遠(yuǎn)程幀通過總線單元發(fā)送,以請(qǐng)求發(fā)送具有相同標(biāo)識(shí)符的數(shù)據(jù)幀,。數(shù)據(jù)幀和遠(yuǎn)程幀借助幀間空間與當(dāng)前幀分開,。?
3.2.1 數(shù)據(jù)幀?
??? CAN技術(shù)規(guī)范2.0B中存在兩種不同的幀格式,其主要區(qū)別在于標(biāo)識(shí)符的長(zhǎng)度,具有11位標(biāo)識(shí)符的幀稱為標(biāo)準(zhǔn)幀,而29位標(biāo)識(shí)符的幀稱為擴(kuò)展幀。本系統(tǒng)中數(shù)據(jù)幀采用標(biāo)準(zhǔn)幀,。數(shù)據(jù)幀由7個(gè)不同的位段組成,包括幀起始(SOF),、仲裁段、控制段,、數(shù)據(jù)段,、循環(huán)冗余檢查段(CRC)、應(yīng)答段(ACK)以及幀結(jié)束(EOF),。其中仲裁段由標(biāo)識(shí)符和遠(yuǎn)程發(fā)送請(qǐng)求位(RTR)組成;控制段由數(shù)據(jù)長(zhǎng)度碼(DLC)和兩個(gè)保留位r0,、r1組成;數(shù)據(jù)段由數(shù)據(jù)幀中被發(fā)送的數(shù)據(jù)組成,它包括0~8個(gè)字節(jié),每個(gè)字節(jié)8位。?
??? VCU向MCU發(fā)送的數(shù)據(jù)幀包括:MCU初始化,、檢測(cè)MCU,、VCU發(fā)生不可恢復(fù)錯(cuò)誤、VCU的工作狀態(tài),、控制電機(jī)轉(zhuǎn)速,、控制電機(jī)轉(zhuǎn)矩、請(qǐng)求返回電機(jī)的錯(cuò)誤狀態(tài)等請(qǐng)求或命令,。?
??? MCU向VCU發(fā)送的數(shù)據(jù)幀包括:返回MCU當(dāng)前狀態(tài),、送回電機(jī)轉(zhuǎn)速、送回電機(jī)轉(zhuǎn)矩,、電機(jī)或MCU出錯(cuò),、電機(jī)工作正常等信息。?
??? 為了區(qū)別VCU發(fā)出的不同請(qǐng)求和命令,采用了Universal Serial No字節(jié),。該字節(jié)位于數(shù)據(jù)段的首字節(jié),表示請(qǐng)求或命令的編號(hào),。?
3.2.2? 遠(yuǎn)程幀?
??? 遠(yuǎn)程幀與數(shù)據(jù)幀的結(jié)構(gòu)相同,只是不包括數(shù)據(jù)段。遠(yuǎn)程幀的遠(yuǎn)程請(qǐng)求發(fā)送位為1,。遠(yuǎn)程幀用于請(qǐng)求信息,。TMS320F241的CAN模塊可以自動(dòng)回復(fù)遠(yuǎn)程幀,即節(jié)點(diǎn)收到遠(yuǎn)程幀。如果該節(jié)點(diǎn)中有和遠(yuǎn)程幀的標(biāo)識(shí)符相同的報(bào)文,則該節(jié)點(diǎn)就將相應(yīng)的數(shù)據(jù)幀發(fā)送到總線上,。本系統(tǒng)中遠(yuǎn)程幀和數(shù)據(jù)幀一樣,采用標(biāo)準(zhǔn)格式。?
??? VCU向MCU發(fā)送的遠(yuǎn)程幀包括:請(qǐng)求返回電機(jī)狀態(tài)、請(qǐng)求返回電機(jī)轉(zhuǎn)速,、請(qǐng)求返回電機(jī)轉(zhuǎn)矩等,。?
3.3 通信中斷服務(wù)程序?
??? VCU的指令通過CAN總線到達(dá)MCU之后,采用中斷的形式(如IRQ5),使MCU轉(zhuǎn)入通信中斷服務(wù)子程序。數(shù)據(jù)傳輸所使用的中斷優(yōu)先級(jí)高于定時(shí)中斷的優(yōu)先級(jí),以保證VCU的指令可以及時(shí)發(fā)送到MCU,。通信中斷服務(wù)子程序流程圖如圖2所示,。?
?
?
參考文獻(xiàn)?
1 鄔寬明. CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì). 北京:北京航空航天出版社,1996?
2 陽(yáng)憲惠. 現(xiàn)場(chǎng)總線技術(shù)及其應(yīng)用. 北京:清華大學(xué)出版社,1999?
3 TI Company.Understanding the CAN Controller on TMS320C24x?DSP Controller.Application Report SPRA500, 1998