Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

CAN Module read vehicle RPM with ECU toolkit

Solved!
Go to solution

@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? 

0 Kudos
Message 21 of 26
(2,416 Views)
Solution
Accepted by sfrosty

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:

 

  • 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_DATA

 

Help the Community (and future reviewers) by marking posts as follows:
If it helped - KUDOS
If it answers the issue - SOLUTION
Message 22 of 26
(2,416 Views)

@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_DATA

The 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_DATA

 Thanks 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.


 

0 Kudos
Message 23 of 26
(2,399 Views)

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.


 

0 Kudos
Message 24 of 26
(2,134 Views)
Solution
Accepted by sfrosty

@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.

Message 25 of 26
(2,129 Views)

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_DATA

The 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_DATA

 Thanks 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.


 


 

0 Kudos
Message 26 of 26
(2,124 Views)