利用CANape進(jìn)行基于CCP的汽車控制器的匹配標(biāo)定的設(shè)計(jì)
CCP協(xié)議共定義了28條命令,每條命令在CCP driver中都對應(yīng)一組相應(yīng)的子函數(shù),代表不同的功能,如EEPROM標(biāo)定、DAQ工作模式等。用戶可根據(jù)實(shí)際需要,選擇實(shí)現(xiàn)其中部分或全部功能。每增加一個(gè)新的功能,必須在底層程序中添加開放該項(xiàng)功能的程序接口[3]。如對EEPROM標(biāo)定,首先ECU應(yīng)用程序中應(yīng)包含EEPROM模塊子函數(shù),同時(shí)還需實(shí)現(xiàn)命令處理器與EEPROM模塊之間的調(diào)用接口。
3 利用CANape實(shí)現(xiàn)基于CCP的標(biāo)定
CANape[4]是德國Vector公司出品的一款基于ASAP標(biāo)準(zhǔn)的ECU測試和標(biāo)定工具。它通過一個(gè)控制器硬件接口與ECU相連,兩者之間常用的物理連接是基于CCP協(xié)議的CAN總線。只有控制器的底層程序中有支持CCP協(xié)議的程序接口, CANape才能與控制器通信。
CANape提供了多種功能:在線數(shù)據(jù)評估、離線評估、數(shù)據(jù)管理、FLASH編程、參數(shù)標(biāo)定及ASAP2數(shù)據(jù)編輯器等。此外,測試過程中由CAN總線上傳的數(shù)據(jù)還可以通過CANape在計(jì)算機(jī)顯示和保存,以進(jìn)行離線標(biāo)定和數(shù)據(jù)評估。
3.1 ASAP2控制器描述文件及ASAP2編輯器
CANape與控制器間的通信需要一個(gè)描述文件支持,這個(gè)文件稱為ASAP2控制器描述文件[4]。CANape對控制器的參數(shù)標(biāo)定和數(shù)據(jù)測量都是基于這個(gè)文件,該文件記錄了控制器中各參數(shù)的詳細(xì)信息,如標(biāo)定參數(shù)和測量變量在控制器中的存儲地址、存儲結(jié)構(gòu)、數(shù)據(jù)類型和轉(zhuǎn)換公式等。在CANape中,每個(gè)標(biāo)定參數(shù)和測量數(shù)據(jù)都會有一個(gè)變量名,如發(fā)動機(jī)溫度、冷卻水溫度。當(dāng)CANape需要訪問某個(gè)變量,就在ASAP2描述文件中根據(jù)變量名,找到該變量在控制器中的存儲地址、數(shù)據(jù)長度等信息,然后進(jìn)行操作,如圖5。
圖5 ASAP2控制器描述文件
為了方便用戶對ASAP2文件進(jìn)行維護(hù)和修改,CANape集成了一個(gè)ASAP2數(shù)據(jù)庫編輯器,用以生成和修改ASAP2控制器描述文件。所有的信息都能通過對話框的形式進(jìn)行設(shè)置和修改。該數(shù)據(jù)庫編輯器還能工作在獨(dú)立模式下,以生成一個(gè)ASAP2格式的控制器描述文件。
當(dāng)ECU底層程序修改后,一些標(biāo)定參數(shù)和測量數(shù)據(jù)的內(nèi)存地址可能發(fā)生變動,CANape雖然仍能進(jìn)行標(biāo)定,但修改的已不是原來需要標(biāo)定的參數(shù),而是程序變動后原先地址下當(dāng)前存放的某個(gè)新的未知數(shù)據(jù)。為了簡化手工修改地址的繁瑣,防止因?yàn)殡S意修改某個(gè)數(shù)據(jù)而破壞程序的正常運(yùn)行,CANape支持通過linker map文件自動更新ASAP2文件里的信息。Map文件是ECU底層程序在編譯時(shí)由編譯器生成的一種映射文件,通過Map文件可以自動更新ASAP2文件。
3.2 CANape使用配置
每個(gè)需要標(biāo)定的ECU都要在CANape中進(jìn)行配置。
CANape共定義了28條命令,用以實(shí)現(xiàn)不同的功能,在配置頁面里均有復(fù)選框與其對應(yīng)。控制器的配置必須與CCP Driver在ECU底層程序的具體實(shí)現(xiàn)相匹配,只有對某個(gè)功能的程序接口已經(jīng)開放,才能在CANape中選擇使用該項(xiàng)功能[2][5]。
3.3 CANape中的參數(shù)標(biāo)定
在CANape中,需要標(biāo)定的變量稱為標(biāo)定參數(shù),CANape將標(biāo)定定義為修改駐扎在ECU內(nèi)存中的變量的內(nèi)容。CANape支持多種標(biāo)定方法。這里標(biāo)定方法指如何對標(biāo)定參數(shù)所在的內(nèi)存區(qū)域進(jìn)行初始化、數(shù)據(jù)改寫及保存。根據(jù)標(biāo)定參數(shù)所在不同地址空間(ROM、FLASH或EEPROM),CANape規(guī)定了不同的標(biāo)定方法。
當(dāng)標(biāo)定參數(shù)需要存放在FLASH或ROM中時(shí),在ECU上電初始化后,程序首先將標(biāo)定參數(shù)的初始值復(fù)制到RAM中,在CANape中該段用來存放標(biāo)定參數(shù)的RAM稱為Calibration RAM。標(biāo)定過程中,CANape修改Calibration RAM中的參數(shù)值。標(biāo)定全部結(jié)束后,再將該段RAM中的內(nèi)容復(fù)制回FLASH或ROM中。
當(dāng)標(biāo)定參數(shù)存放在EEPROM中,有兩種標(biāo)定方法。第一種與上述方法相同,首先將標(biāo)定參數(shù)復(fù)制到RAM中,標(biāo)定結(jié)束后再將RAM中的數(shù)據(jù)覆蓋到EEPROM。此外,也可對EEPROM中的參數(shù)直接進(jìn)行改寫,實(shí)現(xiàn)這種方法需要對EEPROM進(jìn)行頻繁擦寫操作,但不占用額外的RAM空間。
由于汽車電子網(wǎng)絡(luò)系統(tǒng)已開始得到廣泛的使用,基于網(wǎng)絡(luò)連接的電子控制單元的匹配標(biāo)定和傳統(tǒng)的匹配標(biāo)定方法已有了很大的不同,特別是基于CAN總線的匹配標(biāo)定技術(shù),目前已成為研究和應(yīng)用的重點(diǎn)。
采用CANape進(jìn)行基于CCP的匹配標(biāo)定,實(shí)現(xiàn)了標(biāo)定工具和內(nèi)容的統(tǒng)一。根據(jù)這種方法能夠快速有效地進(jìn)行汽車電子控制單元的匹配標(biāo)定,在實(shí)際開發(fā)應(yīng)用中取得了良好的效果。
pid控制器相關(guān)文章:pid控制器原理
評論