CAN總線在混和動力汽車電機控制系統中的應用
2 CAN控制器
TMS320F241是美國TI公司TMS320系列定點數字信號處理器產品之一,專為數字電機控制而設計,其指令執行速度是20MIPS,幾乎所有指令都可以在一個50ns的單周期內執行完畢。同時TMS320F241芯片內嵌了CAN模塊,因此該芯片是設計基于CAN總線的數字式電機控制系統的優選芯片。TMS320F241的CAN模塊是FullCAN控制器,包括報文處理器(負責接收和發送管理以及幀存儲),需要的CPU開銷比 BasicCAN控制器少,并且適應技術規范CAN2.0B,因此可以發送和接收標準幀(11-bit標識符)和擴展幀(29-bit標識符)。同時,CAN模式包括6個信箱(Mailbox)以及15個不同的16-bit寄存器,這些寄存器分別是控制寄存器、狀態寄存器、中斷寄存器和接收屏蔽寄存器。
3 CAN總線在HEV電機控制系統中的應用
3.1 硬件設計
TMS320F241 芯片與CAN總線接口的總線收發器采用Philips公司的PCA82C250芯片。82C250可以提供對CAN總線的差動發送能力及對CAN控制器的差動接收能力。通信介質采用雙絞線,信號差動發送和差動接收的最高通信速率可達1Mbps。為了增強抗干擾能力,在TMS320F241與82C250之間采用高速光耦6N137進行隔離。
TMS320F241與CAN總線的接口電路如圖1所示。
3.2 幀結構
電機控制單元(MCU)與整車控制單元(VCU)之間的報文傳送由兩種類型的幀表示和控制:數據幀攜帶數據由發送器到接收器;遠程幀通過總線單元發送,以請求發送具有相同標識符的數據幀。數據幀和遠程幀借助幀空間與當前幀分開。
3.2.1 數據幀
CAN 技術規范2.0B中存在兩種不同的幀格式,其主要區別在于標識符的長度,具有11位標識符的幀稱為標準帖,而29位標識符的幀稱為擴展幀。本系統中數據幀采用標準帖。數據幀由7個不同的位段組成,包括幀起始(SOF)、仲裁段、控制段、數據段、循環冗余檢查段(CRC)、應答段(ACK)以及幀結束(EOF)。其中仲裁段由標識符和遠程發送請求位(RTR)組成;控制段由數據長度碼(DLC)和兩個保留位r0、r1組成;數據段由數據幀中被發送的數據組成,它包括0~8個字節,每個字節8位。
VCU向MCU發送的數據幀包括:MCU初始化、檢測MCU、VCU發生不可恢復錯誤、VCU的工作狀態、控制電機轉速、控制電機轉矩、請求返回電機的錯誤狀態等請求或命令。
MCU向VCU發送的數據幀包括:返回MCU當前狀態、送回電機轉速、送回電機轉矩、電機或MCU出錯、電機工作正常等信息。
為了區別VCU發出的不同請求和命令,采用了Universal Serial No字節。該字節位于數據段的首字節,表示請求或命令和編號。
3.2.2 遠程幀
遠程幀與數據幀的結構相同,只是不包括數據段。遠程幀的遠程請求發送位為1。遠程幀用于請求信息。TMS320F241的CAN模塊可以自動回復遠程帖,即節點收到遠程幀。如果該節點中有和遠程幀的標識符相同的報文,則該節點就將相應的數據幀發送到總線上。本系統中遠程幀和數據幀一樣,采用標準格式。
VCU的MCU發送的遠程幀包括:請求返回電機狀態、請求返回電機轉速、請求返回電機轉矩等。
3.3 通信中斷服務程序
VCU的指令通過CAN部到達MCU之后,采用中斷的形式(如IRQ5),使MCU轉入通信中斷服務子程序。以保證VCU的指令可以及時發送到MCU。通信中斷服務子程序流程圖如圖2所示。
評論