《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應用 > 基于XC2287M的工程機械ECU設(shè)計
基于XC2287M的工程機械ECU設(shè)計
2014年電子技術(shù)應用第12期
何海波
(江蘇自動化研究所,江蘇 連云港222061)
摘要: ECU是工程機械電控系統(tǒng)的核心部件,目前國內(nèi)中高端ECU市場基本被國外廠商所壟斷。設(shè)計了一款基于XC2287M微控制器的工程機械智能ECU,采用CODESYS軟PLC作為編程平臺,支持IEC 61131-3定義的5種標準PLC語言進行編程。所設(shè)計的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í)行機構(gòu)上的傳感器,感知系統(tǒng)的運行狀態(tài),以用戶的預期運動為目標,由其內(nèi)部的控制算法實現(xiàn)工程機械的狀態(tài)控制[1]。目前國內(nèi)ECU廠商較少,且產(chǎn)品性能偏低,國內(nèi)ECU市場基本被國外產(chǎn)品所壟斷。

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

1 硬件設(shè)計

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

  1.1 主處理電路

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

001.jpg

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

  1.2 電源電路


002.jpg

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

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

  1.3 功率級輸出電路


003.jpg

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

  BTS5215L的輸入引腳與XC2287M的CCU63的輸出引腳相連,實現(xiàn)PWM輸出和DO輸出的復用,可滿足不同負載需求。XC2287M的I/O端口在上電復位時為弱上拉,而BTS5215L的輸入為高有效,需要在輸入引腳連接10 kΩ下拉電阻以確保功率級在上電時處于關(guān)斷狀態(tài)。BTS5215L的GND引腳連接100 Ω電阻實現(xiàn)反向電池電壓保護,輸出引腳連接的續(xù)流二級管可支持感性負載。為了增加ECU的靈活性,BTS5215L的輸出引腳通過分壓電阻網(wǎng)絡(luò)與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ā)器構(gòu)成[6],其電路原理圖如圖4所示。

004.jpg

  設(shè)計中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),應用時可根據(jù)需要選擇CAN總線收發(fā)器。設(shè)計中使用了分裂終端電阻形式,可以有效減少電磁發(fā)射并具有更高的抗干擾性。

2 軟件設(shè)計

  2.1 軟件總體框架

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

005.jpg

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

  2.2 Bootloader設(shè)計

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

006.jpg

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

  2.3 CODESYS運行時移植

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

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

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

  typedef struct tagExtRef {

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

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

  } ExtRef;

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

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

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

007.jpg

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

3 結(jié)束語

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

參考文獻

  [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)的設(shè)計與實現(xiàn)[J].現(xiàn)代制造工程,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網(wǎng)關(guān)研究[J].電子技術(shù)應用,2009(12):125-127.

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。