CAN總線在混和動(dòng)力汽車電機(jī)控制系統(tǒng)中的應(yī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ù)子程序。以保證VCU的指令可以及時(shí)發(fā)送到MCU。通信中斷服務(wù)子程序流程圖如圖2所示。
評(píng)論