曾富豪 劉潤琴 董婷



摘 要:文章基于英飛凌多核單片機的MultiCAN+模塊,闡述了相關寄存器的作用,設計了CAN通信的硬件電路,并對軟件設計的流程做了詳細的說明。另外通過實驗的方式驗證了CAN通信硬件電路的可行性以及底層軟件代碼的正確性。
關鍵詞:英飛凌;MultiCan+;Hightec
中圖分類號:TN108.7 ?文獻標識碼:A ?文章編號:1671-7988(2019)12-49-03
Abstract: This article is based on the MultiCAN+ module of Infineon multi-core microcontroller, explain the related registers Functions, designed the hardware circuit of CAN communication, and detailed the process of software design. In addition, the feasibility of CAN communication hardware circuit and the correctness of the underlying software code are verified by experiments.
Keywords: Infineon; MultiCan+; Hightec
CLC NO.: TN108.7 ?Document Code: A ?Article ID: 1671-7988(2019)12-49-03
引言
英飛凌中的TC26x B-Step系列的單片機中的MultiCAN +模塊含有5個CAN節點,使得CAN通信在汽車中的應用穩定,可靠,傳輸速度快,本為所使用的BMS是根據某汽車公司的設計要求,自主研發的一款BMS,并且已經完成量產,且已經投入到該汽車公司中使用,以下重點介紹該BMS中CAN通信的部分。
1 CAN通信硬件電路設計
本文中使用的CAN總線收發器采用AMIS42665TJAA1 RG該收發器在信號輸入時具有較寬的共模電壓范圍,而且電磁敏感性等級高,另外輸出信號產生的電磁輻射低,該收發器是一種新型的收發器,該BMS的CAN通信硬件電路如圖所示:
2 CAN通信模塊軟件設計
2.1 CAN初始化
CAN 初始化包括三部分,模塊初始化,節點初始化以及報文初始化,在完成這三個部分的初始化之前得先定義相關的全局變量也就是相關的handle,在完成上述操作后配置模塊初始化的參數,節點初始化的參數以及報文初始化的參數,模塊初始化的配置主要有時鐘頻率的選擇等,節點初始化的配置主要包括節點的選擇,回環模式的選擇,相應輸入輸出的引腳設置等,報文初始化的配置主要包括幀格式的選擇,消息體的ID設置以及數據發送長度等,相應的程序流程圖如圖所示:
2.2 CAN 底層接收
數據接收過程首先要判斷CAN節點寄存器接收標志位是否置位,如果置位則從報文相關寄存器中取出報文的ID與數據,其中數據高低字節分別放在CAN_MODATAL和CAN_MODATAH寄存器中,接收完成后將清除RXOK標志位,報文對象接收流程圖如圖所示:
2.3 CAN底層發送
數據發送前,需要配置好報文的相關參數,如報文由哪個節點發送,報文的id,報文的發送狀態,其中報文的id存儲在報文對象n仲裁寄存器MOARn的ID位中,配置完成之后調用集成完成的發送報文函,該函數可以返回總線的狀態,用以判斷總線是否處于空閑狀態,如果總線處于空閑狀態,則發送下一幀報文,直到將所有報文發送完畢,CAN節點將不再進行發送報文,也就是表示所有報文發送完成。報文對象發送流程圖如圖所示:
3 CAN通信實驗驗證
下圖所示為電池包與主控板之間的連接示意圖,該電池包一共有25個模組,每個模組都含有4節單體電池,25個模組串聯而成,一共有100節單體電池。
3.1 BMS與整車控制器之間通信測試
通過CANtest軟件采集到的BMS與整車控制器之間通信的報文如圖所示:
1802d0f3是BMS與整車控制器之間的通信ID,表示的是該消息由整車控制器發送,由BMS接收,其中數據10 68 3A 69 14 38 0E B0代表著發送數據的Bit0-Bit7,報文解析根據如下公式而來:物理值=總線值x比例因子+偏移量,舉例如下:數據字節10和68根據以上協議分別代表著電池組當前最大允許充電電壓高字節和充電電壓低字節,十六進制數1068轉換為十進制數為4200,再用4200x0.1=420,與上位機檢測到的數值420v一致,驗證了BMS與整車控制器之間的通信正常,其余的報文解析與上述方法一樣。
3.2 BMS與非車載充電機之間的通信測試
BMS在充電開始前,電池的狀態參數如下表1所示,充電電流為13.79A,充電過程使用的電池是三元鋰電池,工作電壓為3.5v-4.2v,充電時的參數如下表2所示,充電結束后的參數如下表3所示:
4 總結
本文以英飛凌單片機TC265為基礎,重點研究了其中MULTICAN+模塊的應用,設計了CAN通信的硬件電路,編寫了CAN底層代碼,并在實驗部分驗證了BMS與整車控制器的通信,BMS與非車載充電機的通信,實驗結果表明,根據整車廠的協議,CAN通信能夠很好的達到通信要求。
參考文獻
[1] 英飛凌單片機TC265手冊.
[2] 周幸.電池管理系統中CAN通信技術的應用研究[D].湖南大學, 2017.
[3] 麻金龍.基于英飛凌XC2785的電動汽車電池管理系統設計[D].天津大學,2014.