12-01-2017 09:17 AM
@Hooovahh wrote:
@sfrosty wrote:
Have you ever communicated with a GM, Ford, or Chrysler vehicle utilizing only the information from the A2L file?
Yes, not specifically to read engine RPM but other diagnostic information
stored in DIDs, and PIDs.
Edit: sorry wrong protocol, but yes I've used it to read XCP information with nothing other than an A2L.
Did you need to enter the CRO ID or DTO ID in the LabVIEW ECU toolkit UI?
12-01-2017 09:28 AM - edited 12-01-2017 09:31 AM
I have and here is a choice of two packets for connecting that need to appear near the top of your A2L file (Before any COMPU_METHOD, MEASUREMENT, or CHARACTERISTIC definitions):
/begin IF_DATA ASAP1B_CCP /begin TP_BLOB 0x201 0x0206 0x0700 0x0500 0x4000 1 BAUDRATE 1000000 SAMPLE_POINT 75 SAMPLE_RATE 1 BTL_CYCLES 8 SJW 2 SYNC_EDGE SINGLE DAQ_MODE BURST CONSISTENCY ODT ADDRESS_EXTENSION DAQ BYTES_ONLY /begin CHECKSUM_PARAM 0x0000 /* Type */ 0xFFFFFFFF /* Limit */ /end CHECKSUM_PARAM /begin DEFINED_PAGES 0 "FLASH" 0 0x0000 32768 FLASH /end DEFINED_PAGES OPTIONAL_CMD 0x05 /* TEST */ /end TP_BLOB /end IF_DATA
The first line with hex numbers is for:
Next is the option of declaring Baud rate along with sampling. Earlier versions of the AML (Blob Version) expected the following instead.
/begin IF_DATA ASAP1B_CCP /begin RASTER "Cycle24" "Cycle24" 1 3 24 /end RASTER /begin TP_BLOB 0x201 0x0204 0x0700 0x0500 0x4000 1 /begin CAN_PARAM /* 16000 0x40 0x14 /* 1MBaud setting off of the 16MHz Clock - BTR0 & BTR1 */ 16000 0x07 0x14 /* 125KBaud setting off of the 16MHz Clock - BTR0 & BTR1 */ /end CAN_PARAM DAQ_MODE BURST CONSISTENCY DAQ ADDRESS_EXTENSION DAQ BYTES_ONLY /begin CHECKSUM_PARAM 0x0000 /* Type */ 0xFFFFFFFF /* Limit */ /end CHECKSUM_PARAM /begin DEFINED_PAGES 0 "FLASH" 0 0x0000 32768 FLASH /end DEFINED_PAGES OPTIONAL_CMD 0x0F /* SHORT_UPLOAD */ /end TP_BLOB /end IF_DATA
12-05-2017 09:17 AM
@Minions wrote:
I have and here is a choice of two packets for connecting that need to appear near the top of your A2L file (Before any COMPU_METHOD, MEASUREMENT, or CHARACTERISTIC definitions):
/begin IF_DATA ASAP1B_CCP /begin TP_BLOB 0x201 0x0206 0x0700 0x0500 0x4000 1 BAUDRATE 1000000 SAMPLE_POINT 75 SAMPLE_RATE 1 BTL_CYCLES 8 SJW 2 SYNC_EDGE SINGLE DAQ_MODE BURST CONSISTENCY ODT ADDRESS_EXTENSION DAQ BYTES_ONLY /begin CHECKSUM_PARAM 0x0000 /* Type */ 0xFFFFFFFF /* Limit */ /end CHECKSUM_PARAM /begin DEFINED_PAGES 0 "FLASH" 0 0x0000 32768 FLASH /end DEFINED_PAGES OPTIONAL_CMD 0x05 /* TEST */ /end TP_BLOB /end IF_DATAThe first line with hex numbers is for:
- CCP Version
- AML Version (BLOB-Version)
- CRO_ID
- DTO_ID
- Station Address
- Endian (1=Mot, 0=Intel)
Next is the option of declaring Baud rate along with sampling. Earlier versions of the AML (Blob Version) expected the following instead.
/begin IF_DATA ASAP1B_CCP /begin RASTER "Cycle24" "Cycle24" 1 3 24 /end RASTER /begin TP_BLOB 0x201 0x0204 0x0700 0x0500 0x4000 1 /begin CAN_PARAM /* 16000 0x40 0x14 /* 1MBaud setting off of the 16MHz Clock - BTR0 & BTR1 */ 16000 0x07 0x14 /* 125KBaud setting off of the 16MHz Clock - BTR0 & BTR1 */ /end CAN_PARAM DAQ_MODE BURST CONSISTENCY DAQ ADDRESS_EXTENSION DAQ BYTES_ONLY /begin CHECKSUM_PARAM 0x0000 /* Type */ 0xFFFFFFFF /* Limit */ /end CHECKSUM_PARAM /begin DEFINED_PAGES 0 "FLASH" 0 0x0000 32768 FLASH /end DEFINED_PAGES OPTIONAL_CMD 0x0F /* SHORT_UPLOAD */ /end TP_BLOB /end IF_DATAThanks minions! The A2l file I have doesn't list anything except for the byte order (Intel) and the Protocol type (CCP). I see where the A2l file that ships with the ECU examples contains the information you depict in your response. I get error -301007 when utilizing the example app that ships with the ECU toolkit and my A2l file indicating "The parameters are probably not defined in the database file. Solution: Set the communication parameters for the ECU using mcSetProperty before connecting to the ECU." I know the protocol type, byter order, and baud rate. Looks like I need the DTO Id CRO Id, station address, and SeedKey Cal Name (dll). I assume these parameters are vehicle specific - nice if they were OEM specific.
01-29-2019 02:30 PM
My A2L file is void of any CCP information! Nothing listed for Protocol, Baud Rate, Byte Order, DTO Id, CRO Id, Station Address, or Cmd Byte Order. Where in a DBC file might I find this information?
@Hooovahh wrote:
@sfrosty wrote:
Don't see the CRO ID or DTO ID in the A2L. Still looking for info. Don't have a DBC file, is that something I should look to acquire?
I've never needed the DBC for CCP or XCP communication since the A2L file for me has always contained the information needed. I was just suggesting another way to possibly get the information you are looking for.
01-29-2019 02:40 PM
@sfrosty wrote:
My A2L file is void of any CCP information! Nothing listed for Protocol, Baud Rate, Byte Order, DTO Id, CRO Id, Station Address, or Cmd Byte Order. Where in a DBC file might I find this information?
There is no standard for storing this information in your DBC. I have seen DBCs that do define the DTO ID and CRO ID, but they usually don't call them out. Look for a signal that uses all 8 bytes of your payload as a single signal. Also look at the comment on the signal, you may get lucky and the developer may have entered that information there. Beyond that talk to the manufacturer.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
01-29-2019 02:56 PM
What to do if the information is void, that is, not listed in the A2L file?
@sfrosty wrote:
@Minions wrote:
I have and here is a choice of two packets for connecting that need to appear near the top of your A2L file (Before any COMPU_METHOD, MEASUREMENT, or CHARACTERISTIC definitions):
/begin IF_DATA ASAP1B_CCP /begin TP_BLOB 0x201 0x0206 0x0700 0x0500 0x4000 1 BAUDRATE 1000000 SAMPLE_POINT 75 SAMPLE_RATE 1 BTL_CYCLES 8 SJW 2 SYNC_EDGE SINGLE DAQ_MODE BURST CONSISTENCY ODT ADDRESS_EXTENSION DAQ BYTES_ONLY /begin CHECKSUM_PARAM 0x0000 /* Type */ 0xFFFFFFFF /* Limit */ /end CHECKSUM_PARAM /begin DEFINED_PAGES 0 "FLASH" 0 0x0000 32768 FLASH /end DEFINED_PAGES OPTIONAL_CMD 0x05 /* TEST */ /end TP_BLOB /end IF_DATAThe first line with hex numbers is for:
- CCP Version
- AML Version (BLOB-Version)
- CRO_ID
- DTO_ID
- Station Address
- Endian (1=Mot, 0=Intel)
Next is the option of declaring Baud rate along with sampling. Earlier versions of the AML (Blob Version) expected the following instead.
/begin IF_DATA ASAP1B_CCP /begin RASTER "Cycle24" "Cycle24" 1 3 24 /end RASTER /begin TP_BLOB 0x201 0x0204 0x0700 0x0500 0x4000 1 /begin CAN_PARAM /* 16000 0x40 0x14 /* 1MBaud setting off of the 16MHz Clock - BTR0 & BTR1 */ 16000 0x07 0x14 /* 125KBaud setting off of the 16MHz Clock - BTR0 & BTR1 */ /end CAN_PARAM DAQ_MODE BURST CONSISTENCY DAQ ADDRESS_EXTENSION DAQ BYTES_ONLY /begin CHECKSUM_PARAM 0x0000 /* Type */ 0xFFFFFFFF /* Limit */ /end CHECKSUM_PARAM /begin DEFINED_PAGES 0 "FLASH" 0 0x0000 32768 FLASH /end DEFINED_PAGES OPTIONAL_CMD 0x0F /* SHORT_UPLOAD */ /end TP_BLOB /end IF_DATAThanks minions! The A2l file I have doesn't list anything except for the byte order (Intel) and the Protocol type (CCP). I see where the A2l file that ships with the ECU examples contains the information you depict in your response. I get error -301007 when utilizing the example app that ships with the ECU toolkit and my A2l file indicating "The parameters are probably not defined in the database file. Solution: Set the communication parameters for the ECU using mcSetProperty before connecting to the ECU." I know the protocol type, byter order, and baud rate. Looks like I need the DTO Id CRO Id, station address, and SeedKey Cal Name (dll). I assume these parameters are vehicle specific - nice if they were OEM specific.