《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于XC2287M的工程機械ECU設計
基于XC2287M的工程機械ECU設計
2014年電子技術應用第12期
何海波
(江蘇自動化研究所,江蘇 連云港222061)
摘要: ECU是工程機械電控系統(tǒng)的核心部件,目前國內中高端ECU市場基本被國外廠商所壟斷。設計了一款基于XC2287M微控制器的工程機械智能ECU,采用CODESYS軟PLC作為編程平臺,支持IEC 61131-3定義的5種標準PLC語言進行編程。所設計的ECU擁有豐富的I/O資源和完善的安全保護機制,能夠廣泛應用于各種工程機械控制系統(tǒng),打破國外廠商對ECU市場的壟斷。
中圖分類號: TP332.3
文獻標識碼: A
文章編號: 0258-7998(2014)12-0027-03
Design of ECU for construction machinery based on XC2287M
He Haibo
Jiangsu Automation Research Institute,Lianyungang 222061,China
Abstract: ECU is a core component of the control system for construction machinery, and the current domestic market of ECU is almost monopolized by foreign manufacturers. This paper introduces the design of an intelligent ECU based on XC2287M microcontroller, using CODESYS Soft-PLC which supports five IEC 61131-3 defined PLC languages as the programming platform. The designed ECU has highly multiplexed input and out modules and rich I/O resources, providing sufficient safety protection mechanisms. It can be widely used in a variety of control systems, breaking the monopoly of foreign manufacturers on ECU market.
Key words : XC2287M;ECU;CODESYS;IEC 61131-3;Soft-PLC

 0 引言

  工程機械ECU(Electronic Control Unit)是工程機械的核心控制部件之一,它通過各種安裝在動力系統(tǒng)、執(zhí)行機構上的傳感器,感知系統(tǒng)的運行狀態(tài),以用戶的預期運動為目標,由其內部的控制算法實現工程機械的狀態(tài)控制[1]。目前國內ECU廠商較少,且產品性能偏低,國內ECU市場基本被國外產品所壟斷。

  基于英飛凌公司新一代C166v2架構微控制器XC2287M[2]設計了一款智能ECU,擁有高度復用的輸入輸出模塊和豐富的I/O資源,軟件上采用工程機械控制領域廣泛應用的CODESYS軟PLC平臺,支持IEC 61131-3定義的5種標準PLC語言進行編程[3-4]。

1 硬件設計

  設計的ECU采用XC2287M作為處理核心,通過XC2287M的外設資源擴展PWM、DO、DI、AI和PI等工程機械常用輸入輸出接口。硬件部分包括主處理電路和外圍電路,外圍電路由電源電路、存儲器電路、安全監(jiān)控電路、輸入輸出電路和通信接口電路等組成。

  1.1 主處理電路

  主處理電路選用英飛凌公司具有32位性能的16/32位微控制器XC2287M作為控制核心,外圍電路基于XC2287M的外設資源進行擴展。XC2287M將高性能CPU和一組功能強大的外設單元以高效的方式互連,并集成到一顆芯片中,其原理框圖如圖1所示。

001.jpg

  XC2287M的最高工作頻率為80 MHz,擁有16位外部數據總線,具有兩個可同步ADC、一個16通道捕獲/比較單元CC2、最多4個可產生靈活PWM信號的捕獲/比較單元CCU6、兩個多功能通用定時器單元GPT、最多8個通用串行通道USIC、最多6個CAN節(jié)點的MultiCAN和最多119個GPIO等豐富的外設資源,完全能夠滿足工程機械智能ECU的硬件需求。

  1.2 電源電路


002.jpg

  工程機械ECU由主機的蓄電池供電,電源電路將電池電壓轉換為ECU所需的3.3 V、5 V等內部電壓,并對電源反接、過壓和過流等進行保護。電源電路如圖2所示,其允許的輸入電壓范圍為9~36 V。

  電源電路選用英飛凌公司的TLE6368多電壓處理器供電芯片[5],它具有高效調壓系統(tǒng)、5.5 V~60 V寬輸入電壓、待機功耗低、可通過SPI進行控制和診斷,非常適合于車載12 V/24 V蓄電池供電系統(tǒng)。TLE6368的輸入級使用肖特基二級管和瞬態(tài)抑制二級管實現電源反接和過壓保護;SPI接口與XC2287M的USIC相連,控制TRACK LDO輸出,并可關斷所有電源供電,使系統(tǒng)進入待機狀態(tài);WAKE引腳與整車的點火線開關相連,控制系統(tǒng)的上電,MCU監(jiān)測WAKE引腳的狀態(tài),當檢測到點火線開關關閉時,通過SPI關閉所有供電輸出。TLE6368為數字和模擬外設提供1路高達800 mA的5 V輸出,主處理器和與主處理器相連的數字電路使用3.3 V輸出,6路TRACK LDO輸出并聯起來提供高達100 mA的5 V傳感器供電輸出。

  1.3 功率級輸出電路


003.jpg

  功率級輸出用于控制外部電磁閥、電機等執(zhí)行器,實現對整車動作的控制。圖3為2.5 A功率級輸出電路的原理圖。BTS5125L為2路智能高邊開關,導通電阻90 mΩ,負載電流可達3.7 A,提供短路保護、過壓保護、ESD保護和過熱關斷等功能,可通過狀態(tài)反饋引腳監(jiān)測輸出狀態(tài),支持阻性、容性和感性負載。

  BTS5215L的輸入引腳與XC2287M的CCU63的輸出引腳相連,實現PWM輸出和DO輸出的復用,可滿足不同負載需求。XC2287M的I/O端口在上電復位時為弱上拉,而BTS5215L的輸入為高有效,需要在輸入引腳連接10 kΩ下拉電阻以確保功率級在上電時處于關斷狀態(tài)。BTS5215L的GND引腳連接100 Ω電阻實現反向電池電壓保護,輸出引腳連接的續(xù)流二級管可支持感性負載。為了增加ECU的靈活性,BTS5215L的輸出引腳通過分壓電阻網絡與MCU的輸入引腳相連,通過軟件可以將輸出端口復用為輸入。

  1.4 安全監(jiān)控電路

  安全監(jiān)控電路選用英飛凌公司高性能8051微控制器XC866。XC2287M通過USIC與XC866的SSC相連,XC866工作在SPI從模式,用于監(jiān)控系統(tǒng)的工作狀態(tài),控制安全繼電器,并與工作在SPI主模式的XC2287M共同控制所有功率級輸出的使能。

  XC2287M和XC866各有一個GPIO用作功率級使能信號(PWREN#),所有的功率級輸出(PWM和DO)都受MCU_PWREN#和DOG_PWREN#的共同控制,只有兩者都有效時,功率級輸出才被使能。

  1.5 通信接口電路

  ECU通過CAN總線連接支持CAN總線的傳感器,CAN總線還作為ECU與CODESYS編程環(huán)境的通信通道。通信接口電路由XC2287M的MultiCAN外接CAN總線收發(fā)器構成[6],其電路原理圖如圖4所示。

004.jpg

  設計中XC2287M的工作電壓為3.3 V,CAN總線收發(fā)器選用NXP公司的TJA1042T/3,它兼容3 V~5 V微處理器接口,由VIO(I/O電平適配)引腳決定接口電平。為了提高兼容性,圖4中芯片的第5引腳連接了2個可選電阻,RXD引腳連接了2.2 kΩ限流電阻,該電路可兼容3 V~5 V系統(tǒng),應用時可根據需要選擇CAN總線收發(fā)器。設計中使用了分裂終端電阻形式,可以有效減少電磁發(fā)射并具有更高的抗干擾性。

2 軟件設計

  2.1 軟件總體框架

  設計的ECU運行CODESYS軟PLC運行時,構建了適合IEC 61131-3標準的開放式、可擴展ECU平臺。ECU軟件由Bootloader、BSP和C語言算法庫、安全監(jiān)控服務和CODESYS運行時、IEC接口層、IEC應用層等構成,其軟件架構框圖如圖5所示。

005.jpg

  Bootloader用于系統(tǒng)程序下載和升級維護;BSP包含硬件驅動程序,為上層提供平臺無關的接口;C語言算法庫實現復雜的控制算法,為應用程序提供算法加速;安全監(jiān)控服務對系統(tǒng)運行狀態(tài)進行監(jiān)測;CODESYS運行時為用戶IEC程序提供運行環(huán)境,并通過Debug接口實現程序的斷點調試;IEC程序通過外部庫接口和I/O映像與運行時和外部硬件進行數據交互。

  2.2 Bootloader設計

  工程機械ECU通常工作在較為惡劣的現場環(huán)境中,為了達到特定的防護等級,一般采用密封的外殼結構。為了方便后續(xù)的升級與維護,需要在ECU中實現Bootloader,其工作流程如圖6所示。

006.jpg

  Bootloader是系統(tǒng)上電之后運行的第一段程序,它首先執(zhí)行基本的系統(tǒng)初始化和通信接口初始化,然后一直輪詢以檢查是否有上位機更新請求。當接收到更新請求時,進入更新服務流程,若100 ms內無更新請求,檢查Flash中指定位置的應用程序是否有效,有效時執(zhí)行相應的程序,無效時則進入更新服務流程。

  2.3 CODESYS運行時移植

  使用基于IEC 61131-3標準的CODESYS編程環(huán)境對硬件設備進行編程之前,在設備中必須安裝部署CODESYS運行時?;赬C2287M的運行時移植主要包括對Main.c、RtsCst.c、RtsCst.h、RtsInc.h、RtsUsr.h、RtsUtil.c和RtsCan.c等文件的修改與適配。

  RtsCst.c是移植工作的重點和難點,它主要為運行時提供I/O配置解析、I/O映像讀寫、外部庫函數接口的實現,以及IEC程序的保存與加載等功能。在移植中需要根據ECU的外設實現CstIOConfigChanged、CstReadInputs、CstWriteOutputs、CstGetExtRefTable、CstFlashProgram和CstLoadProgram等函數接口。

  運行時通過外部庫函數表為IEC程序提供外部庫函數接口。函數CstGetExtRefTable返回用戶外部庫函數表s_ExtRefTable的指針。s_ExtRefTable是以NULL結尾的結構體ExtRef的數組,其成員結構為:

  typedef struct tagExtRef {

  char szName[32];//外部庫函數名稱,通常為大寫

  void(*pFunction)(void);//外部庫函數的函數指針

  } ExtRef;

  其中,szName為在CODESYS編程環(huán)境中調用此外部庫函數時使用的樁函數名稱,pFunction為指向運行時中相應函數的函數指針。任何需要由運行時導出給IEC程序使用的用戶函數都需要包含在s_ExtRefTable中,C語言算法庫也由它提供給IEC程序調用。

  2.4 安全監(jiān)控軟件設計

  為了滿足工程機械的安全性要求,設計的ECU采用了雙CPU架構。XC2287M為主CPU,負責執(zhí)行主要功能;XC866為看門狗CPU,負責對整個ECU進行安全監(jiān)控,并在異常時關斷安全關鍵的外部輸出,確保系統(tǒng)安全。ECU的安全狀態(tài)轉換如圖7所示。

007.jpg

  系統(tǒng)上電后,整個系統(tǒng)處于初始狀態(tài),所有功率級輸出被關閉。主CPU嘗試與看門狗CPU建立通信,并下載安全關鍵的外設配置到看門狗CPU。成功建立通信后,看門狗CPU開始監(jiān)測安全關鍵外設和主CPU的狀態(tài),整個系統(tǒng)進入正常工作狀態(tài)。隨后主CPU與看門狗CPU周期性的交換狀態(tài)數據,當通信中斷或外設異常時,主CPU和看門狗CPU都將進入安全狀態(tài),并關閉所有安全關鍵的功率輸出。

3 結束語

  設計的ECU具有豐富的I/O資源和完善的安全保護機制,支持在系統(tǒng)失效時切換到預定義的安全輸出狀態(tài),保證異常條件下ECU及外圍設備的安全。ECU軟件遵循IEC 61131-3標準,可以通過CODESYS進行用戶編程,支持5種標準PLC編程語言,提供豐富的外部庫函數接口。本設計具有編程靈活、性能穩(wěn)定、安全可靠、易于擴展等諸多優(yōu)點,可以廣泛應用于各種工程機械控制系統(tǒng)。設計的ECU目前已經成功應用于包括挖掘機、推土機、高空作業(yè)車、大噸位平板車等在內的多種工程機械車型,取得了良好的經濟效益。

參考文獻

  [1] 王國慶,劉潔,張宗濤,等.工程機械智能化控制器研究[J].筑路機械與施工機械化,2008,25(3):73-75.

  [2] Infineon Technologies AG.XC2200M Derivatives user′s manual V2.0[D/OL].(2009-03)[2014-09].http://www.infi- neon.com.

  [3] 3S-Smart Software Solutions GmbH.The CoDeSys runtime system For C16x Infineon processors V2.2[D/OL].(2001-03)[2014-09].http://www.codesys.com.

  [4] 王麗麗,康存鋒,馬春敏,等.基于CoDeSys的嵌入式軟PLC系統(tǒng)的設計與實現[J].現代制造工程,2007(3):54-56.

  [5] Infineon Technologies AG.TLE6368/SONIC data sheet V2.1[D/OL].(2006-12)[2014-09].http://www.infineon.com.

  [6] 張素偉,王志剛,王紅,等.基于Infineon單片機的CAN網關研究[J].電子技術應用,2009(12):125-127.

基金項目:國家自然科學基金項目(61303045);江蘇省自然科學基金項目(BK2012237)

此內容為AET網站原創(chuàng),未經授權禁止轉載。