版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 HCU地址空間分配TC1767地址線32位,可尋址范圍04G大小,TC1767原有地址空間分配如下表所示。Mem名稱起始地址大小PFLASH0X800000000XA00000002MDFLASH00X8FE000000XAFE0000032KDFLASH10X8FE100000XAFE1000032KBROM0X8FFFC0000xAFFFC00016KLDRAM0XD000000068KOVRAM0X8FE800000xafe800008KPRAM0XF00500008KPCODE0XF006000016K為了將標(biāo)定數(shù)據(jù)放入指定內(nèi)存空間,我們將地址空間分配更改成如下表所示。Mem名稱起始
2、地址大小備注PFLASH0X800000000XA00000001536K存儲代碼DFLASH00X8FE000000XAFE0000032K存放可修改的標(biāo)定數(shù)據(jù),斷電后數(shù)據(jù)仍存在DFLASH10X8FE100000XAFE1000032K暫時(shí)不使用,以后可以用來保存一些需要掉電保護(hù)的數(shù)據(jù)BROM0x8fffc0000xafffc00016k英飛凌Boot Loader代碼保存區(qū)域PRAM0xf00500008kPCP數(shù)據(jù)內(nèi)存PCODE0xf006000016kPCP指令內(nèi)存OVRAM0X8FE800000xAFE800008K監(jiān)測數(shù)據(jù)存放SPRAM0XD400000016K另一頁標(biāo)定數(shù)據(jù)存放
3、,實(shí)際可能不需要使用LDRAM0XD000000068K隨機(jī)變量存放區(qū)域Calrom0x801800000xA0180000512k用來存放標(biāo)定數(shù)據(jù)中始終不會改變的數(shù)據(jù)Section定義cal_flash,定位到DFLASH0區(qū)域,如果要在這區(qū)域定義變量在頭文件cal_flash.h中聲明(我覺得這個(gè)區(qū)域不需要定義變量)。cal_rom,定位到calrom區(qū)域,如果要在這區(qū)域定義變量在頭文件cal_rom.h中聲明,聲明成const變量。cal_ram,定位在calram區(qū)域,要把變量定位到這個(gè)區(qū)域,在頭文件cal_ram.h中聲明,如果用OVRAM區(qū)域的話這個(gè)區(qū)域不使用cal_ram_ano
4、ther,定位在spram區(qū)域,實(shí)際可能不需要用到,在這個(gè)區(qū)域定義變量的話,在跟它同名的頭文件中聲明。Monitor,定位在ovram區(qū)域,要把變量定位到這個(gè)區(qū)域,在頭文件monitor.h中聲明,注意這邊聲明變量的順序要跟cal_flash.h中聲明變量的順序要一致。需要注意的一點(diǎn)是,不能用Tasking 3.4r1版本編譯,用這個(gè)版本編譯的話變量不會定位到我們預(yù)想的區(qū)域,建議使用Tasking 3.3r1版本編譯。標(biāo)定功能實(shí)現(xiàn)想法:在PFLASH區(qū)存放始終不會改變的數(shù)據(jù),在DFLASH區(qū)存放需要改變的數(shù)據(jù),OVRAM區(qū)域定向到DFLASH區(qū)域用來監(jiān)測標(biāo)定數(shù)據(jù)。OVRAM功能是通過配置重定向
5、寄存器,定向到PFLASH或DFLASH區(qū)域。通過對FLASH區(qū)域地址寫來修改OVRAM區(qū)域的值,而程序不能通過寫OVRAM區(qū)域地址來修改OVRAM區(qū)域??梢酝ㄟ^OVRAM區(qū)域地址讀取數(shù)據(jù),這樣我們在標(biāo)定查詢的時(shí)候直接從OVRAM區(qū)域讀取,在修改標(biāo)定數(shù)據(jù)是,通過寫FLASH地址來修改OVRAM區(qū)域,最后我們把OVRAM中的數(shù)據(jù)燒錄到FLASH中區(qū)。系統(tǒng)上電首先將DFLASH區(qū)中的數(shù)據(jù)拷貝到OVRAM區(qū)域中,然后通過配置重定向寄存器將OVRAM定向到DFLASH0的前8K單元,寄存器配置如下所示。在CANAPE標(biāo)定數(shù)據(jù)的地址map使用DFLASH區(qū)域變量的地址map。void ovram_set
6、(void)將DFLASH中的數(shù)據(jù)拷貝到OVRAM區(qū)域ubyte* pDflash0 = (ubyte*)0xafe00000;ubyte* pOvram = (ubyte*)0xafe80000;/OVC_OCON |= OVC_OCON_OVSTP;/ 停止overlay/ 把DFLASH中的標(biāo)定數(shù)據(jù)拷貝到OVRAM中for(int i = 0;i < 0x2000;i+)*pOvram+ = *pDflash0+;OVERLAY Block0重定向到0xAFE00000,大小是2K,overlay基地址是0xAFE80000/ 目標(biāo)地址配置OVC_OTAR0 = 0Xafe0000
7、0;/ Overlay基地址配置OVC_RABR0 = 0X8FE80000;/ MASK寄存器配置OVC_OMASK0 = 0X0FFFF800;OVERLAY Block1重定向到0xAFE00800,大小是2K,overlay基地址是0xAFE80800/ 目標(biāo)地址配置OVC_OTAR1 = 0Xafe00800;/ Overlay基地址配置OVC_RABR1 = 0X8FE80800;/ MASK寄存器配置OVC_OMASK1 = 0X0FFFF800;OVERLAY Block2重定向到0xAFE01000,大小是2K,overlay基地址是0xAFE81000/ 目標(biāo)地址配置OVC
8、_OTAR2 = 0Xafe01000;/ Overlay基地址配置OVC_RABR2 = 0X8FE81000;/ MASK寄存器配置OVC_OMASK2 = 0X0FFFF800;OVERLAY Block3重定向到0xAFE01800,大小是2K,overlay基地址是0xAFE81800/ 目標(biāo)地址配置OVC_OTAR3 = 0Xafe01800;/ Overlay基地址配置OVC_RABR3 = 0X8FE81800;/ MASK寄存器配置OVC_OMASK3 = 0X0FFFF800;OVC_OCON = 0x0000000f | OVC_OCON_OVSTRT;CCP協(xié)議介紹1、
9、 CCP通信方式CCP協(xié)議采用主從通信方式,如下圖所示。根據(jù)CCP協(xié)議,一個(gè)主設(shè)備可以通過CAN總線與多個(gè)從設(shè)備相連,每個(gè)從設(shè)備均有其特定地址。主設(shè)備通過每個(gè)ECU的地址,與其建立一對一的關(guān)系。按CCP協(xié)議,在某一時(shí)刻只有一個(gè)從設(shè)備與主設(shè)備建立連接并進(jìn)行通信。邏輯連接CAN總線 CCP協(xié)議中MCD與ECU的通信又可具體分為以下兩種。Polling模式:這種通信模式可通俗的理解為一問一答的通信模式,即通過主設(shè)備先問,從設(shè)備回答,兩者之間不斷交互來實(shí)現(xiàn)主、從設(shè)備間的通信和數(shù)據(jù)交換。在這種模式下,當(dāng)主設(shè)備與從設(shè)備建立邏輯連接后,主設(shè)備與從設(shè)備的每次通信都是通過主設(shè)備首先發(fā)送一條請求命令,請求從設(shè)備執(zhí)
10、行某項(xiàng)操作,或請求其內(nèi)部數(shù)據(jù)。從設(shè)備收到命令后,執(zhí)行相應(yīng)操作,通過返回一幀消息,提供主設(shè)備請求的數(shù)據(jù)及命令執(zhí)行情況代碼。這種通信方式實(shí)現(xiàn)起來比較簡單,占用ECU內(nèi)存資源少,但效率較低。DAQ模式:與Polling模式相對應(yīng)的是DAQ模式,其英文全稱為Data Acquisition Mode。不同于Polling模式一問一答的通信機(jī)制,DAQ模式下從設(shè)備可以脫開主設(shè)備的控制,按一定的通信周期自主向主設(shè)備上傳數(shù)據(jù)。這種方式數(shù)據(jù)上傳效率高,但實(shí)現(xiàn)起來復(fù)雜,尤其當(dāng)所需上傳數(shù)據(jù)量交大時(shí),會占用ECU較多RAM空間。2、 CCP消息格式由于CCP協(xié)議遵從CAN通信規(guī)范,因此基于CCP的通信都是以CAN報(bào)
11、文的形式來實(shí)現(xiàn)。為了規(guī)范,CCP消息統(tǒng)一采用8個(gè)字節(jié)的數(shù)據(jù)場。CCP協(xié)議的實(shí)現(xiàn)只依賴兩則CAN消息:命令接收對象(Command Receive Object,CRO)和數(shù)據(jù)傳輸對象(Data Transmission Object,DTO)。命令接收對象(CRO)是主設(shè)備向ECU發(fā)送的消息對象,包括命令代碼及命令參數(shù),以下為CRO消息對象的結(jié)構(gòu)。位置類型描述0字節(jié)命令代碼CMD1字節(jié)命令序號CTR27字節(jié)命令參數(shù)域CCP協(xié)議共規(guī)定了28條命令。從設(shè)備接收到CRO后,通過相應(yīng)的CMD代碼解釋受到的命令并執(zhí)行。數(shù)據(jù)傳輸對象(DTO)是從設(shè)備反饋給主設(shè)備的消息。按DTO的不同用途,DTO又可分為三
12、類:l 命令返回消息CRM-DTOCRM-DTO發(fā)生在Polling通信模式下,是針對主設(shè)備發(fā)送的CRO的反饋消息。當(dāng)從設(shè)備收到主設(shè)備發(fā)送的一則CRO后,按照CCP規(guī)定,必須反饋一則DTO,這則DTO就稱為CRM-DTO。l 事件消息(Event Message-DTO)事件消息是黨ECU內(nèi)部發(fā)生錯(cuò)誤時(shí),由ECU自主發(fā)送。這類DTO不需要事先收到主設(shè)備的CRO,一旦ECU發(fā)生內(nèi)部錯(cuò)誤,會自動向主設(shè)備發(fā)送一則事件消息,報(bào)告內(nèi)部發(fā)生的情況,請求主設(shè)備暫停當(dāng)前工作并進(jìn)行處理。l DAQ-DTO(Data Acquisition-DTO)3、 CCP命令代碼簡介CCP協(xié)議共規(guī)定了28條命令,其中11條
13、為必選命令,17條為可選命令。由于CCP是開放協(xié)議,因此用戶可之選其中一部分予以實(shí)現(xiàn)。每條命令在CCP協(xié)議中均有自己獨(dú)立的CMD代碼,從設(shè)備即通過CRO中的CMD代碼來對收到的CCP命令進(jìn)行解釋并執(zhí)行。下表描述了28條命令代碼。命令CMD代碼ACK應(yīng)答時(shí)間(ms)備注CONNECT0x0125GET_CCP_VERSION0x1B25EXCHANGE_ID0x1725GET_SEED0x1225可選ULOCK0x1325可選SET_MTA0x0225DNLOAD0x0325DNLOAD_60x2325可選UPLOAD0x0425SHORT_UP0x0F25可選SELECT_CAL_PAGE0x
14、1125可選GET_DAQ_SIZE0x1425SET_DAQ_PTR0x1525WRITE_DAQ0x1625START_STOP0x0625DISCONNECT0x0725SET_S_STATUS0x0C25可選GET_S_STATUS0x0D25可選BUILD_CHECKSUM0x0E30000可選CLEAR_MEMORY0x1030000可選PROGRAM0x18100可選PROGRAM_60x22100可選MOVE0x1930000可選TEST0x0525可選GET_ACTIVE_CAL_PAGE0x0925可選START_STOP_ALL0x0825可選DIG_SERVICE0x2
15、0500可選ACTION_SERVICE0x215000可選4、 ERR代碼列表CRM-DTO的ERR代碼知識了CRO命令的執(zhí)行情況,事件消息中的ERR代碼表示ECU內(nèi)部發(fā)生的錯(cuò)誤類型,CCP協(xié)議對ERR代碼的定義見下表。代碼描述錯(cuò)誤等級備注0x00確認(rèn)/無錯(cuò)誤-0x01DAQ處理器超載C0無(等待直到ACK或時(shí)間溢出)0x10指令處理器忙C1無(等待直到ACK或時(shí)間溢出)0x11DAQ處理器忙C1無(等待直到ACK或時(shí)間溢出)0x12內(nèi)部超時(shí)C1無(等待直到ACK或時(shí)間溢出)0x18請求密鑰C1無(等待直到ACK或時(shí)間溢出)0x19階段狀態(tài)請求C1無(等待直到ACK或時(shí)間溢出)0x20冷啟動
16、請求C2冷啟動0x21標(biāo)定數(shù)據(jù)初始化請求C2標(biāo)定數(shù)據(jù)初始化0x22DAQ列表初始化請求C2DAQ列表初始化0x23更新代碼請求C2(冷啟動)0x30未知指令C3(錯(cuò)誤)0x31指令句法錯(cuò)誤C3錯(cuò)誤0x32參數(shù)超出許可范圍C3錯(cuò)誤0x33訪問被拒絕C3錯(cuò)誤0x34超載C3錯(cuò)誤0x35訪問鎖址保護(hù)C3錯(cuò)誤0x36資源/功能暫不可用C3錯(cuò)誤錯(cuò)誤登記分類及措施級別描述措施重試次數(shù)超時(shí)無握手信號重試2C0警告-C1偽錯(cuò)誤(comm錯(cuò)誤,忙.)等待(ACK或超時(shí))2C2可修復(fù)的(溫度、掉電.)初始化1C3不可修復(fù)的(重啟,超載.)終止-5、 CCP指令1) 連接指令(CONNECT)按照CCP協(xié)議,主設(shè)備
17、必須先與總線上的某個(gè)從設(shè)備建立邏輯連接,才能與其開始通信。CONNECT命令就是主設(shè)備用來與從設(shè)備建立邏輯連接的,其中包括了從設(shè)備ECU的站地址。下面是CONNECT命令的CRO數(shù)據(jù)結(jié)構(gòu)。位置類型描述0字節(jié)命令代碼=0x011字節(jié)命令序號=CTR2,3字ECU地址(Intel格式,低字節(jié)在前)47字節(jié)無效針對CONNECT命令反饋DTO數(shù)據(jù)結(jié)構(gòu)如下表所示。位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR47字節(jié)無效2) 交換站標(biāo)識符(EXCHANGE_ID)EXCHANGE_ID命令的CRO數(shù)據(jù)結(jié)構(gòu),如下所示位置類型描述0字節(jié)命令代碼=0x171字
18、節(jié)命令序號=CTR2字節(jié)CCP主設(shè)備ID信息(可選,根據(jù)實(shí)際應(yīng)用情況而定)37字節(jié)無效應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)。位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR3字節(jié)從設(shè)備ID標(biāo)識符的長度4字節(jié)從設(shè)備ID數(shù)據(jù)類型5字節(jié)資源可用狀態(tài)字節(jié)6字節(jié)資源保護(hù)狀態(tài)字節(jié)7字節(jié)無效從設(shè)備收到該命令后,會自動將地址指針定義到存放ID標(biāo)識符的起始地址,主設(shè)備隨后就以該起始地址使用UPLOAD指令上傳ID信息。3) 申請密鑰(GET_SEED)GET_SEED命令的CRO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)命令代碼=0x121字節(jié)命令序號=CTR2字節(jié)請求從設(shè)備開放功能37字節(jié)無效應(yīng)答
19、DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR3字節(jié)請求功能當(dāng)前受保護(hù)狀態(tài)47字節(jié)密鑰數(shù)據(jù)4) 接觸保護(hù)(UNLOCK)UNLOCK命令的CRO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)命令代碼=0x131字節(jié)命令序號=CTR27字節(jié)鑰匙應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR3字節(jié)各項(xiàng)功能當(dāng)前狀態(tài)47字節(jié)無效5) 設(shè)置MTA地址(SET_MTA)MTA地址的英文全稱是Memory Transfer Address,相當(dāng)于一個(gè)地址指針的概念。CCP協(xié)議定義了兩個(gè)MTA地址:MT
20、A0與MTA1,分別針對不同的命令。DNLOAD,UPLOAD、DNLOAD_6、SELECT_CAL_PAGE、CLEAR_MEMORY、PROGRAM及PROGRAM_6命令使用MTA0,MOVE命令使用MTA1,SET_MTA命令CRO數(shù)據(jù)結(jié)構(gòu)如下所示。位置類型描述0字節(jié)命令代碼=0x021字節(jié)命令序號=CTR2字節(jié)MTA序號(0或1)3字節(jié)地址偏移47無符號長整型地址應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR37字節(jié)無效6) 數(shù)據(jù)下載(DNLOAD)DNLOAD指令負(fù)責(zé)將CRO中的數(shù)據(jù)下載到ECU中,起始地址為先前設(shè)
21、定的MTA0,下載完畢后MTA0指針自增,自增的字節(jié)數(shù)為下載數(shù)據(jù)的字節(jié)數(shù)。DNLOAD命令的CRO數(shù)據(jù)結(jié)構(gòu),如下所示。位置類型描述0字節(jié)命令代碼=0x031字節(jié)命令序號=CTR2字節(jié)下載數(shù)據(jù)大?。ㄗ止?jié)數(shù))37字節(jié)下載數(shù)據(jù)(最多為5個(gè)字節(jié))應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR3字節(jié)MTA0偏移量(自增后)47無符號長整型MTA0地址(自增后)7) 6字節(jié)數(shù)據(jù)下載(DNLOAD_6)該命令的功能與DNLOAD命令相同,區(qū)別在于DNLOAD命令一次下載數(shù)據(jù)可為15個(gè)字節(jié)不等。DNLOAD_6下載固定為6字節(jié)大小的數(shù)據(jù),起始地
22、址為MTA0,下載結(jié)束后MTA0指針會自增6個(gè)字節(jié)。DNLOAD_6的CRO數(shù)據(jù)結(jié)構(gòu)如下所示。位置類型描述0字節(jié)命令代碼=0x231字節(jié)命令序號=CTR27字節(jié)下載數(shù)據(jù)(6個(gè)字節(jié))應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR3字節(jié)MTA0偏移量(自增后)47無符號長整型MTA0地址(自增后)8) 數(shù)據(jù)上傳(UPLOAD)主設(shè)備通過UPLOAD命令,請求從設(shè)備以MTA0起始地址,將命令中規(guī)定字節(jié)數(shù)的數(shù)據(jù)上傳。隨后MTA0指針自動增加相應(yīng)的字節(jié)數(shù)(上傳的字節(jié)數(shù))。UPLOAD命令的CRO數(shù)據(jù)結(jié)構(gòu),如下所示。位置類型描述0字節(jié)命令代
23、碼=0x231字節(jié)命令序號=CTR2字節(jié)請求上傳的數(shù)據(jù)大小(字節(jié)數(shù))37字節(jié)無效應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR37字節(jié)所請求的數(shù)據(jù)9) 數(shù)據(jù)短上傳(SHORT_UP)該命令的功能同UPLOAD命令,同樣用于主設(shè)備要求從設(shè)備上傳數(shù)據(jù)。區(qū)別在于UPLOAD命令中上傳數(shù)據(jù)的起始地址是MTA0,SHORT_UP中的起始地址由命令本身指定,從設(shè)備按該起始地址上傳數(shù)據(jù)。上傳后MTA0指針保持不變。SHORT_UP命令的CRO數(shù)據(jù)結(jié)構(gòu)如下所示。位置類型描述0字節(jié)命令代碼=0x0F1字節(jié)命令序號=CTR2字節(jié)請求上傳的數(shù)據(jù)大?。?/p>
24、15字節(jié))3字節(jié)地址偏移量47無符號長整型無效應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR37字節(jié)所請求的數(shù)據(jù)10) 選擇標(biāo)定數(shù)據(jù)頁(SELECT_CAL_PAGE) 該命令的功能取決于ECU的內(nèi)部實(shí)現(xiàn)。執(zhí)行該條命令后,先前設(shè)置的MTA0地址將會自動指向該命令激活的標(biāo)定頁。SELECT_CAL_PAGE命令的CRO數(shù)據(jù)結(jié)構(gòu)如下所示。位置類型描述0字節(jié)命令代碼=0x111字節(jié)命令序號=CTR27字節(jié)無效應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR37字節(jié)無效11
25、) 獲取DAQ列表大?。℅ET_DAQ_SIZE) 該命令用來湖區(qū)某個(gè)特定DAQ列表的大小,即其中ODT列表的個(gè)數(shù),并清空當(dāng)前DAQ列表內(nèi)的數(shù)據(jù),為下次DAQ通信做準(zhǔn)備。同時(shí)該命令還對DAQ列表進(jìn)行初始化并終止該DAQ列表當(dāng)前的通信。GET_DAQ_SIZE命令的CRO數(shù)據(jù)結(jié)構(gòu)如下所示。位置類型描述0字節(jié)命令代碼=0x141字節(jié)命令序號=CTR2字節(jié)DAQ列表號3字節(jié)無效47無符號長整型該DAQ列表,其所對應(yīng)的DTO的CAN ID標(biāo)識符應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR3字節(jié)DAQ列表大?。∣DT列表數(shù))47字節(jié)無效
26、12) 設(shè)置DAQ列表指針(SET_DAQ_PTR) 在進(jìn)行DAQ模式通信前,必須先對DAQ列表進(jìn)行配置,經(jīng)數(shù)據(jù)寫入到相應(yīng)DAQ列表的ODT元素中。SET_DAQ_PTR命令用來為寫入DAQ列表數(shù)據(jù)設(shè)置入口地址指針。SET_DAQ_PTR命令的CRO數(shù)據(jù)結(jié)構(gòu)如下所示。位置類型描述0字節(jié)命令代碼=0x141字節(jié)命令序號=CTR2字節(jié)DAQ列表號3字節(jié)ODT序號4字節(jié)該ODT中的第幾個(gè)元素57字節(jié)無效應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR37字節(jié)無效13) 寫入DAQ列表(WRITE_DAQ) 在進(jìn)行DAQ模式通信前,必須先
27、對DAQ列表進(jìn)行配置,將所需上傳的數(shù)據(jù)先寫入DAQ列表的ODT列表中,該條命令的功能是將數(shù)據(jù)寫入DAQ列表,先前由SET_DAQ_PTR命令所定義的地址即為該條命令的數(shù)據(jù)寫入地址。在該命令中,一次寫入的數(shù)據(jù)稱為一個(gè)DAQ元素。WRITE_DAQ命令的CRO數(shù)據(jù)結(jié)構(gòu)如下所示。位置類型描述0字節(jié)命令代碼=0x161字節(jié)命令序號=CTR2字節(jié)DAQ元素的大?。?,2或4)3字節(jié)DAQ元素的地址偏移47字節(jié)DAQ元素的地址應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR37字節(jié)無效14) 開始/終止數(shù)據(jù)傳輸(START_STOP) 該條命
28、令用于DAQ通信模式,其作用是開始或終止某個(gè)DAQ列表的數(shù)據(jù)上傳。START_STOP命令的CRO數(shù)據(jù)結(jié)構(gòu)如下所示。位置類型描述0字節(jié)命令代碼=0x061字節(jié)命令序號=CTR2字節(jié)模式:開始/終止/準(zhǔn)備0-終止,1-開始,2-準(zhǔn)備3字節(jié)DAQ列表號4字節(jié)最后一個(gè)ODT序號5字節(jié)事件通道號(對應(yīng)上傳的周期)67字節(jié)傳輸速率預(yù)分頻值應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR37字節(jié)無效15) 斷開(DISCONNECT)DISCONNECT命令的CRO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)命令代碼=0x071字節(jié)命令序號=CTR2字節(jié)命令參
29、數(shù):0-暫時(shí)斷開,1-終止3字節(jié)無效4,5字節(jié)ECU地址6,7字節(jié)無效應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR37字節(jié)無效16) 設(shè)置當(dāng)前通信狀態(tài)(SET_S_STATUS)該命令的CRO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)命令代碼=0x0C1字節(jié)命令序號=CTR2字節(jié)狀態(tài)字節(jié)(見下表)37字節(jié)無效位置名稱描述0CAL標(biāo)定數(shù)據(jù)初始化完成1DAQDAQ列表初始化完成2RESUME請求ECU斷點(diǎn)時(shí)自動保存DAQ列表設(shè)置,在下次啟動時(shí)再自動啟動DAQ列表35保留保留6STORE請求ECU斷電時(shí)保存標(biāo)定數(shù)據(jù)7RUN正處于運(yùn)行狀態(tài)應(yīng)答DTO數(shù)
30、據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR37字節(jié)無效17) 獲取當(dāng)前通信狀態(tài)(GET_S_STATUS)該命令的CRO數(shù)據(jù)結(jié)構(gòu)。位置類型描述0字節(jié)命令代碼=0x0D1字節(jié)命令序號=CTR27字節(jié)無效應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR3字節(jié)狀態(tài)字節(jié)4字節(jié)其他狀態(tài)信息限定5字節(jié)其他狀態(tài)信息(可選)18) 建立checksum表(BUILD_CHKSUM)Checksum是CCP提供的一個(gè)可選功能。為了提高效率,在每次對ECU進(jìn)行標(biāo)定前,CCP支持先對需要進(jìn)行標(biāo)定
31、的內(nèi)存區(qū)域進(jìn)行checksum算法,如果checksum結(jié)果與下載數(shù)據(jù)不一致,表明內(nèi)存中的數(shù)據(jù)與標(biāo)定數(shù)據(jù)不同,主設(shè)備才開始下載標(biāo)定數(shù)據(jù)。BUILD_CHKSUM命令的CRO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)命令代碼=0x0E1字節(jié)命令序號=CTR25字節(jié)Block大小6,7字節(jié)無效應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR3字節(jié)Checksum數(shù)據(jù)長度47字節(jié)Checksum數(shù)據(jù)19) 清空內(nèi)存(CLEAR_MEMORY)該命令的CRO數(shù)據(jù)結(jié)構(gòu)如下所示。位置類型描述0字節(jié)命令代碼=0x101字節(jié)命令序號=CTR25字節(jié)內(nèi)存區(qū)域大小6
32、,7字節(jié)無效應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR37字節(jié)無效20) 編程(PROGRAM)不同與DNLOAD命令,PROGRAM命令用以將一塊大小確定的數(shù)據(jù)少些到ECU的非易失性存儲器中,起始地址為MTA0。PROGRAM命令的CRO數(shù)據(jù)結(jié)構(gòu)如下所示。位置類型描述0字節(jié)命令代碼=0x181字節(jié)命令序號=CTR2字節(jié)數(shù)據(jù)大小37字節(jié)數(shù)據(jù)(最多為5個(gè))應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR3字節(jié)MTA0偏移(自增后)47字節(jié)MTA0地址(自增后)21
33、) 6字節(jié)數(shù)據(jù)編程(PROGRAM_6)該命令的CRO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)命令代碼=0x181字節(jié)命令序號=CTR27字節(jié)數(shù)據(jù)應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR3字節(jié)MTA0偏移(自增后)47字節(jié)MTA0地址(自增后)22) 內(nèi)存轉(zhuǎn)移(MOVE)MOVE可將固定長度的一塊內(nèi)存區(qū)域中的內(nèi)容由MTA0起始地址出轉(zhuǎn)移到MTA1起始地址處MOVE命令的CRO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)命令代碼=0x181字節(jié)命令序號=CTR2字節(jié)數(shù)據(jù)大小37字節(jié)數(shù)據(jù)(最多為5個(gè))應(yīng)答DTO數(shù)據(jù)結(jié)構(gòu)位置類型描述0字節(jié)Packet ID:0xFF1字節(jié)命令返回代碼=ERR2字節(jié)命令序號=CTR3字節(jié)MTA0偏移(自增后)47字節(jié)MTA0地址(自增后)23) 診斷服務(wù)(DIAG_SERVICE)該命令使從設(shè)備自動執(zhí)行主設(shè)備請求的診斷服務(wù),MTA0會自動重新定位,主設(shè)備從新的MTA0起始地址處獲取診斷服務(wù)的反饋信息。該命令的CRO數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度共享單車運(yùn)營管理服務(wù)合同4篇
- 二零二五年度大連二手房買賣價(jià)格調(diào)整機(jī)制合同4篇
- 2025年度特色小吃店廚師招聘與管理服務(wù)合同3篇
- 二零二五版220系列駁接件在電力工程中的管道連接服務(wù)合同3篇
- 二零二五年度健康醫(yī)療設(shè)施物業(yè)管理服務(wù)協(xié)議4篇
- 2025年度餐飲場所消防安全責(zé)任合同協(xié)議3篇
- 學(xué)生活動策劃與團(tuán)隊(duì)協(xié)作能力提升
- 科技創(chuàng)新驅(qū)動的宏觀經(jīng)濟(jì)新機(jī)遇挖掘
- 三人合資創(chuàng)業(yè)投資合同范本:2024年版一
- 二零二五年度茶葉茶具批發(fā)市場入駐管理合同3篇
- 部編版六年級下冊道德與法治全冊教案教學(xué)設(shè)計(jì)
- 【高空拋物侵權(quán)責(zé)任規(guī)定存在的問題及優(yōu)化建議7100字(論文)】
- 二年級數(shù)學(xué)上冊100道口算題大全 (每日一套共26套)
- 物流無人機(jī)垂直起降場選址與建設(shè)規(guī)范
- 肺炎臨床路徑
- 外科手術(shù)鋪巾順序
- 創(chuàng)新者的窘境讀書課件
- 聚焦任務(wù)的學(xué)習(xí)設(shè)計(jì)作業(yè)改革新視角
- 移動商務(wù)內(nèi)容運(yùn)營(吳洪貴)任務(wù)三 APP的品牌建立與價(jià)值提供
- 電子競技范文10篇
- 食堂服務(wù)質(zhì)量控制方案與保障措施
評論
0/150
提交評論