CAN總線在混和動(dòng)力汽車電機(jī)控制系統(tǒng)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:CAN總線的主要功能與特點(diǎn)、CAN控制器以及CAN總線在混和動(dò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)場總線的范疇。德國Bosch公司在二十世紀(jì)80年代初將其研究成功,最初主要用于汽車內(nèi)部檢測以及控制系統(tǒng)的數(shù)據(jù)通信。CAN總線通信協(xié)議是在充分考慮工業(yè)現(xiàn)場環(huán)境的背景下制訂的,它采用了國際標(biāo)準(zhǔn)化組織 ISO制訂的開放系統(tǒng)互連(ISO-OSI)模型中的三層,即物理層、數(shù)據(jù)層和應(yīng)用層,是OSI的一種簡化網(wǎng)絡(luò)結(jié)構(gòu)。CAN總線規(guī)范已被國際標(biāo)準(zhǔn)化組織制訂為國際標(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)等。隨著人們對環(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)對點(diǎn)、一點(diǎn)對多點(diǎn)、全局廣播等幾種傳輸方式。
(3)CAN總線采用非破壞性的基于優(yōu)先權(quán)競爭的總線仲裁方式。
(4)CAN具有CRC校驗(yàn)及其它檢驗(yàn)措施,并具有錯(cuò)誤識(shí)別及自動(dòng)重發(fā)功能。
(5)通訊介質(zhì)可以是雙絞線、同軸電纜或光纖。
(6)接口簡單、編程方便,容易構(gòu)成用戶系統(tǒng)。
總之,CAN總線具有實(shí)時(shí)性強(qiáng)、可靠性高、抗干擾能力強(qiáng)、結(jié)構(gòu)簡單、操作性好、價(jià)格低廉等優(yōu)點(diǎn),是公認(rèn)的最有前途的現(xiàn)場總線之一。
2 CAN控制器
TMS320F241是美國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可以提供對CAN總線的差動(dòng)發(fā)送能力及對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ā)送,以請求發(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í)符的長度,具有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ā)送請求位(RTR)組成;控制段由數(shù)據(jù)長度碼(DLC)和兩個(gè)保留位r0、r1組成;數(shù)據(jù)段由數(shù)據(jù)幀中被發(fā)送的數(shù)據(jù)組成,它包括0~8個(gè)字節(jié),每個(gè)字節(jié)8位。
VCU向MCU發(fā)送的數(shù)據(jù)幀包括:MCU初始化、檢測MCU、VCU發(fā)生不可恢復(fù)錯(cuò)誤、VCU的工作狀態(tài)、控制電機(jī)轉(zhuǎn)速、控制電機(jī)轉(zhuǎn)矩、請求返回電機(jī)的錯(cuò)誤狀態(tài)等請求或命令。
MCU向VCU發(fā)送的數(shù)據(jù)幀包括:返回MCU當(dāng)前狀態(tài)、送回電機(jī)轉(zhuǎn)速、送回電機(jī)轉(zhuǎn)矩、電機(jī)或MCU出錯(cuò)、電機(jī)工作正常等信息。
為了區(qū)別VCU發(fā)出的不同請求和命令,采用了Universal Serial No字節(jié)。該字節(jié)位于數(shù)據(jù)段的首字節(jié),表示請求或命令和編號(hào)。
3.2.2 遠(yuǎn)程幀
遠(yuǎn)程幀與數(shù)據(jù)幀的結(jié)構(gòu)相同,只是不包括數(shù)據(jù)段。遠(yuǎn)程幀的遠(yuǎn)程請求發(fā)送位為1。遠(yuǎn)程幀用于請求信息。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)程幀包括:請求返回電機(jī)狀態(tài)、請求返回電機(jī)轉(zhuǎn)速、請求返回電機(jī)轉(zhuǎn)矩等。
3.3 通信中斷服務(wù)程序
VCU的指令通過CAN部到達(dá)MCU之后,采用中斷的形式(如IRQ5),使MCU轉(zhuǎn)入通信中斷服務(wù)子程序。以保證VCU的指令可以及時(shí)發(fā)送到MCU。通信中斷服務(wù)子程序流程圖如圖2所示。