在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁(yè) > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 利用CANape進(jìn)行基于CCP的汽車控制器的匹配標(biāo)定的設(shè)

      利用CANape進(jìn)行基于CCP的汽車控制器的匹配標(biāo)定的設(shè)

      作者: 時(shí)間:2012-09-04 來源:網(wǎng)絡(luò) 收藏

      本文引用地址:http://www.biyoush.com/article/196450.htm

      圖3 標(biāo)定程序接口

      ·發(fā)送端:DTO通過CAN driver的發(fā)送子函數(shù)以CAN報(bào)文的格式上傳給MCS。

      ·接收端:主設(shè)備發(fā)送的命令以CAN報(bào)文的格式首先進(jìn)入CAN driver的接收子函數(shù),由其判斷為CRO后,進(jìn)一步交給命令處理器處理。

      命令處理器作為 driver的一個(gè)主要組成部分,負(fù)責(zé)將接收到的CRO,通過其CRM代碼進(jìn)行命令解釋,執(zhí)行相應(yīng)操作,組織反饋數(shù)據(jù)并調(diào)用CAN發(fā)送子函數(shù)。DAQ處理器支持DAQ工作模式,當(dāng)命令處理器判斷收到的命令為DAQ請(qǐng)求后,進(jìn)一步將數(shù)據(jù)傳給DAQ處理器,由DAQ處理器組織數(shù)據(jù)并直接調(diào)用CAN 發(fā)送子函數(shù),以DAQ-DTO的形式定期向主設(shè)備上傳。

      基于協(xié)議的基本CAN通信流程如圖4所示。ECU接收到報(bào)文后,轉(zhuǎn)入CAN接收子函數(shù),在常規(guī)接收流程后,對(duì)報(bào)文的ID標(biāo)識(shí)符進(jìn)行判斷,如為CRO_ID,則將CCP標(biāo)志位(Ccp_indicator)置位。由于采用中斷方式接收?qǐng)?bào)文,為了避免占用過多中斷時(shí)間而影響其他函數(shù)或中斷級(jí)別較低的程序運(yùn)行,在對(duì)ID標(biāo)識(shí)符進(jìn)行判斷后,并不直接在函數(shù)中調(diào)用CCP driver的命令處理器。命令處理器的調(diào)用會(huì)在主函數(shù)中進(jìn)行。

      44.gif

      圖4 接口程序基本流程圖

      主函數(shù)通過判斷標(biāo)志位的狀態(tài),調(diào)用CCP driver的ccpCommand()子函數(shù)。該函數(shù)是命令處理器的主要組成部分,也是命令處理器與CAN driver的接口函數(shù),它負(fù)責(zé)解釋并執(zhí)行收到的CRO命令,調(diào)用CCP driver中的其他函數(shù),進(jìn)行數(shù)據(jù)處理并組織需要反饋的數(shù)據(jù)。

      ccpCommand()通過調(diào)用CAN driver中的CCP發(fā)送子函數(shù)ccpSend()發(fā)送一幀DTO。ccpSend()須在CAN driver中實(shí)現(xiàn),由CCP driver調(diào)用。按實(shí)際情況,將CAN發(fā)送子函數(shù)直接以ccpSend()的形式實(shí)現(xiàn),或在保留原有發(fā)送子函數(shù)的基礎(chǔ)上添加一個(gè)ccpSend()子函數(shù),在其中調(diào)用CAN發(fā)送子函數(shù),以完成DTO的發(fā)送。

      CCP協(xié)議為確保主設(shè)備與ECU之間正常通信,每次發(fā)送后,程序必須通過調(diào)用CCP driver中的ccpSendCallback()子函數(shù)檢查剛才的DTO是否已經(jīng)發(fā)送,否則不能發(fā)送下一幀報(bào)文。針對(duì)不同的CAN driver實(shí)現(xiàn),該函數(shù)調(diào)用的位置不同。最后主函數(shù)將CCP標(biāo)志位清空,等待下一條CRO命令。

      一個(gè)完整的CCP driver 接口還包括與ECU其他應(yīng)用程序的接口。每次單片機(jī)初始化后,主函數(shù)調(diào)用一次CCP driver的CCP初始化子函數(shù)ccpInit(),將上次標(biāo)定殘留在ECU內(nèi)存中的數(shù)據(jù)清空,為下次標(biāo)定與測(cè)量做準(zhǔn)備。

      CCP協(xié)議共定義了28條命令,每條命令在CCP driver中都對(duì)應(yīng)一組相應(yīng)的子函數(shù),代表不同的功能,如EEPROM標(biāo)定、DAQ工作模式等。用戶可根據(jù)實(shí)際需要,選擇實(shí)現(xiàn)其中部分或全部功能。每增加一個(gè)新的功能,必須在底層程序中添加開放該項(xiàng)功能的程序接口[3]。如對(duì)EEPROM標(biāo)定,首先ECU應(yīng)用程序中應(yīng)包含EEPROM模塊子函數(shù),同時(shí)還需實(shí)現(xiàn)命令處理器與EEPROM模塊之間的調(diào)用接口。

      3 利用實(shí)現(xiàn)基于CCP的標(biāo)定

      [4]是德國(guó)Vector公司出品的一款基于ASAP標(biāo)準(zhǔn)的ECU測(cè)試和標(biāo)定工具。它通過一個(gè)硬件接口與ECU相連,兩者之間常用的物理連接是基于CCP協(xié)議的CAN總線。只有的底層程序中有支持CCP協(xié)議的程序接口, 才能與通信。

      CANape提供了多種功能:在線數(shù)據(jù)評(píng)估、離線評(píng)估、數(shù)據(jù)管理、FLASH編程、參數(shù)標(biāo)定及ASAP2數(shù)據(jù)編輯器等。此外,測(cè)試過程中由CAN總線上傳的數(shù)據(jù)還可以通過CANape在計(jì)算機(jī)顯示和保存,以進(jìn)行離線標(biāo)定和數(shù)據(jù)評(píng)估。

      3.1 ASAP2控制器描述文件及ASAP2編輯器

      CANape與控制器間的通信需要一個(gè)描述文件支持,這個(gè)文件稱為ASAP2控制器描述文件[4]。CANape對(duì)控制器的參數(shù)標(biāo)定和數(shù)據(jù)測(cè)量都是基于這個(gè)文件,該文件記錄了控制器中各參數(shù)的詳細(xì)信息,如標(biāo)定參數(shù)和測(cè)量變量在控制器中的存儲(chǔ)地址、存儲(chǔ)結(jié)構(gòu)、數(shù)據(jù)類型和轉(zhuǎn)換公式等。在CANape中,每個(gè)標(biāo)定參數(shù)和測(cè)量數(shù)據(jù)都會(huì)有一個(gè)變量名,如發(fā)動(dòng)機(jī)溫度、冷卻水溫度。當(dāng)CANape需要訪問某個(gè)變量,就在ASAP2描述文件中根據(jù)變量名,找到該變量在控制器中的存儲(chǔ)地址、數(shù)據(jù)長(zhǎng)度等信息,然后進(jìn)行操作,如圖5。

       ASAP2控制器描述文件

      圖5 ASAP2控制器描述文件

      為了方便用戶對(duì)ASAP2文件進(jìn)行維護(hù)和修改,CANape集成了一個(gè)ASAP2數(shù)據(jù)庫(kù)編輯器,用以生成和修改ASAP2控制器描述文件。所有的信息都能通過對(duì)話框的形式進(jìn)行設(shè)置和修改。該數(shù)據(jù)庫(kù)編輯器還能工作在獨(dú)立模式下,以生成一個(gè)ASAP2格式的控制器描述文件。

      當(dāng)ECU底層程序修改后,一些標(biāo)定參數(shù)和測(cè)量數(shù)據(jù)的內(nèi)存地址可能發(fā)生變動(dòng),CANape雖然仍能進(jìn)行標(biāo)定,但修改的已不是原來需要標(biāo)定的參數(shù),而是程序變動(dòng)后原先地址下當(dāng)前存放的某個(gè)新的未知數(shù)據(jù)。為了簡(jiǎn)化手工修改地址的繁瑣,防止因?yàn)殡S意修改某個(gè)數(shù)據(jù)而破壞程序的正常運(yùn)行,CANape支持通過linker map文件自動(dòng)更新ASAP2文件里的信息。Map文件是ECU底層程序在編譯時(shí)由編譯器生成的一種映射文件,通過Map文件可以自動(dòng)更新ASAP2文件。

      3.2 CANape使用配置

      每個(gè)需要標(biāo)定的ECU都要在CANape中進(jìn)行配置。

      CANape共定義了28條命令,用以實(shí)現(xiàn)不同的功能,在配置頁(yè)面里均有復(fù)選框與其對(duì)應(yīng)。控制器的配置必須與CCP Driver在ECU底層程序的具體實(shí)現(xiàn)相匹配,只有對(duì)某個(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)定方法指如何對(duì)標(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中。



      關(guān)鍵詞: CANape CCP 汽車 控制器

      評(píng)論


      相關(guān)推薦

      技術(shù)專區(qū)

      關(guān)閉