??? 摘? 要: CAN總線的主要功能與特點、CAN控制器以及CAN總線在混和動力汽車控制系統" title="電機控制系統">電機控制系統中的應用;CAN總線與電機控制芯片TMS320F241的接口設計、幀結構以及通信中斷服務程序流程圖等。?
??? 關鍵詞: CAN總線? 混和動力汽車? 電動機? 控制系統
?
??? CAN(Controller Area Network)總線即控制器局域網絡,是一種有效支持分布式控制或實時控制的串行通信網絡,屬于現場總線的范疇。德國Bosch公司在二十世紀80年代初將其研究成功,最初主要用于汽車內部檢測以及控制系統間的數據通信。CAN總線通信協議是在充分考慮工業現場環境的背景下制訂的,它采用了國際標準化組織ISO制訂的開放系統互連(ISO-OSI)模型中的三層,即物理層、數據層和應用層,是OSI的一種簡化網絡結構。CAN總線規范已被國際標準化組織制訂為國際標準ISO11898,并得到Motorola、Intel、Philips等著名半導體器件生產廠家的支持,進而迅速推出了各種集成有CAN協議的產品。目前,CAN總線主要用于汽車自動化領域,如應用于發動機的自動點火、注油、復雜的加速剎車控制、抗鎖定剎車系統和抗滑系統等。隨著人們對環境保護的日益重視,混和動力汽車(Hybrid Electrical Vehicle,HEV)及電動汽車(Electrical Vehicle,EV)的研究發展很快,由于這兩種汽車都使用電機驅動系統,因此電機控制系統與CAN總線的通信是一項重要課題。本文主要探討CAN總線在電機控制系統中的應用。?
1 CAN總線的功能與特點?
??? (1)采用面向數據塊的通信方式,信號傳輸使用短幀結構,每幀數據量為8個字節。若通信距離在40m內,數據傳輸速率可達1Mbps。?
??? (2)可實現多主工作方式,數據收發方式靈活??蓪崿F點對點、一點對多點、全局廣播等幾種傳輸方式。?
??? (3)CAN總線采用非破壞性的基于優先權競爭的總線仲裁方式。?
??? (4)CAN具有CRC校驗及其它檢驗措施,并具有錯誤識別及自動重發功能。?
??? (5)通訊介質可以是雙絞線、同軸電纜或光纖。?
??? (6)接口簡單、編程方便,容易構成用戶系統。?
??? 總之,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所示。?
?
?
參考文獻?
1 鄔寬明. CAN總線原理和應用系統設計. 北京:北京航空航天出版社,1996?
2 陽憲惠. 現場總線技術及其應用. 北京:清華大學出版社,1999?
3 TI Company.Understanding the CAN Controller on TMS320C24x?DSP Controller.Application Report SPRA500, 1998