摘要:CAN
總線以其通信效率高、可靠性強、連接方便等優點在汽車電子領域得到了廣泛的應用。CCP協議作為CAN通信系統的標定協議,以主從機通信模式實現了CAN網絡中標定工具對一個或多個控制器的在線標定和實時監測。基于CCP協議的汽車ABS標定系統CAN模塊的研發,為ABS控制系統的開發提供了準確、實時的通信保證,顯著縮短了ABS控制系統的開發周期。
關鍵詞:防抱死系統 CAN CCP
0 引言
傳統的ABS參數匹配一般采用手工修改控制程序、調試匹配控制參數,重新編譯下載方式來實現,開發的周期較長。而基于CCP協議的ABS標定系統,利用標定系統的實時消息處理機制,可在線檢測ABS控制效果并對控制參數進行標定。借助標定系統的工具可對控制效果進行分析和評價,并對控制參數進行優化,縮短了ABS控制系統的開發周期。其中通信模塊是標定系統中電控單元ECU和PC標定平臺數據傳輸的核心部分,它直接影響數據傳輸的準確性和實時性。
控制局部網(CAN總線)是一種具有很高保密性、有效支持分布式控制或實時控制的串行通信網絡。CAN的應用范圍從高速網絡到低成本的多線路網絡。在自動化電子領域、發動機控制部件、傳感器、抗滑系統等應用中,CAN的位速率可高達1Mbit/s。
1 CAN總線通信
1.1 CAN總線介紹
CAN總線是德國BOSCH公司在20世紀80年代初為解決現代汽車中眾多的控制器和
測試儀器之間的數據交換而開發的一種串行數據通信總線。由于采用了許多新技術及獨特的設計,CAN總線的數據通訊具有突出的可靠性、實時性、開放性、靈活性等特點。CAN總線通信接口集成了CAN協議中的物理層和數據鏈路層功能,可完成對通信數據的成幀處理。CAN控制器具有單片形式和集成于通用微控制器上的片上形式兩種。筆者采用集成了片上TwinCAN模塊的XCl64單片機。
1.2 CAN總線通信的優點
CAN總線采用了獨特的設計,可靠性、抗干擾性及通信方式靈活性高于已有的通信技術,其優點概括如下:
⑴ 使用簡單方便。許多CAN控制器實現了CAN物理層及數據鏈路層的大部分功能,用戶只須對CAN控制器進行初始化和對CAN總線上的數據進行收發操作即可實現通信。
⑵ 高可靠性。CAN上的最大通信速率可達1Mbps,CAN總線是多主節點,各節點通過總線仲裁獲得總線控制權。完善的錯誤處理機制保證了高噪聲干擾環境下數據傳送的安全可靠。
⑶ 系統可擴展性能好。
2 CCP協議
CCP協議(CAN Calibration Protocol)即CAN標定協議屬于CAN通信的應用層協議,主要用于對控制器的標定,同時可進行循環或事件驅動的數據采集和檢測。目前廣泛應用的CCP協議2.0版采用CAN2。0B(11位或29位ID)實現測量標定系統與ECU之間的通信,該協議具有通用性強和適用范圍廣的特點,無論是8位低速帶CAN的控制器還是32位高速帶CAN的控制器,均可滿足工作要求。
基于CCP協議的ECU標定采用主-從通信方式,主設備通過CAN總線與多個從設備相連,如圖1所示。其中主設備是測量標定系統,從設備是需要標定的ECU。根據CCP協議,主設備首先與其中一個從設備建立邏輯連接,建立邏輯連接后主、從機之間所有的數據傳遞均由主機控制,從機執行主機命令后返回包含命令響應值或錯誤代碼等信息的報文。任何一個從機都可以定時地根據由主機通過控制命令所設置的列表來傳遞內部的數據。因此數據的傳遞是由主機初始化并且由從機來執行的,并且是由固定的循環采樣頻率或者事件來觸發的。

CCP定義了兩種工作模式:Polling(查詢)模式;DAQ(Data Acquisition Command)模式。查詢模式下,主設備與從設備間的每一次通信都由主設備發送命令來起始,從設備收到主設備的命令后,執行相應的操作并反饋一幀報文。這種工作模式實現簡單,而且占用ECU內存資源較小,但由于需要主機與從機之間進行“一問一答”的信息交互,工作效率不高。DAQ模式使從設備可以脫離主設備的命令控制按一定周期自動向主設備上傳數據。DAQ模式下,主設備首先發送一條請求DAQ的命令,從設備收到后,按命令中的參數自行配置并組織需要上傳的數據,然后按一定周期自主向主設備上傳數據。這種模式由于不需要主機通過命令逐步控制,工作效率高,但實現較復雜,如果需要上傳的數據量很大,會占用大量ECU內存空間。
基于CCP協議的標定只占用兩幀CAN報文,分別是命令接收對象CRO(Command Receive Object)和數據傳輸對象DTO(Data Transmission Object),如圖2所示。CRO由主設備發給從設備,DTO是從設備反饋的報文。兩者分別通過一個自己的ID標識符進標識(CRO-ID與DTO-ID)。
3 應用實例
3.1 硬件設計
該控器選用集成了CAN控制器的英飛凌公司的XCl64CS芯片作為主控制器。TwinCAN模塊包括兩個全功的CAN功能節點,這兩個節點可獨立工作或者通過網關功能交換數據幀和遠程幀。CAN幀的發送和接收遵循CAN2.0B規范,可以發送和接收1l位標識符的標準幀,或29位標識符的擴展幀。TwinCAN模塊能夠滿足復雜嵌入式控制應用的實時需求。
兩個CAN節點的定時都源于外設時鐘,可以通過編程使其達到l Mbps。每個CAN節點通過一對接收和發送引腳鏈接到總線
收發器。根據實際需要,32個報文對象可獨立地分配給兩個CAN節點之一。仲裁寄存器對接收到的報文進行濾波,接收到的報文標識符與保存在內部CAN控制器中的所有報文對象的標識符進行比較,比較操作的結果與驗收屏蔽寄存器中的內容是否相同。如果檢測到是一致的,接收到的報文存儲到CAN控制器的報文對象中。TwinCAN模塊框圖如圖3所示。


圖4是CAN通信接口電路。TLE6250針對汽車環境設計的CAN收發器,支持傳輸速率高達1Mbps,具有短路和開路保護功能以及抗干擾性能。終端負載電阻連接在CAN-H與CAN-L之間,用于抑制反射,本系統電阻為120Ω。

3.2 軟件設計
根據CCP協議,本系統將在標定平臺與ABS控制器之間建立邏輯連接。標定平臺的站地址為0X49,ABS控制器的站地址為00X28。
CCP協議至少需要兩個消息對象:主設備發給從設備的消息對象(CRO);從設備發送給主設備的消息對象(DTO)。CRO用來接收命令代碼和相關的參數,以執行內部函數或者在多個已建立邏輯連接的CAN節點之間進行內存內容傳輸,即傳送主設備下達給從設備的命令。當從設備收到CRO命令后,就給主設備以DTO的形式發送一個握手消息。這個DTO消息的返回代碼是用來決定與之關聯的CRO命令執行的成功與否。
CCP驅動模塊中兩個報文對象取如下擴展ID標識碼:CRO為0x01020304;DTO為0x03040506。在實際設計中,用第0個報文對象來作為DTO報文的發送,第5個報文對象來作為CRO報文的接收。接收采用中斷方式,以實現系統的實時性。流程如圖5所示。

3.3 實驗結果
圖6即為在本文開發的基于CCP協議的汽車ABS標定平臺基礎上,進行實時標定的一個界面。標定平臺中修改的標定參數可以通過CCP協議的標定系統通過CAN通信模塊實時地傳遞給ABS ECU中,再次進行驗證,驗證的結果通過檢測曲線實時反映出來。通過多次的標定修改,最終達到理想的控制效果,省去了修改控制參數后再燒寫入ECU的繁瑣過程,大大縮短了開發周期。

4 結論
基于CCP協議的ABS標定系統大大縮短了ABS控制系統的開發時間,節約了ABS控制器的調試成本。同時,建立在CAN通信基礎上的標定系統,具有實時性好,安全可靠,可實現同時進行控制器的在線標定和數據實時監測,傳輸速率高等優點。隨著汽車工業的不斷發展和人們對CAN總線的不斷深入研究,CAN總線技術將會在汽車電子的其他領域獲得廣泛的