Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by kjay

  1. Hoovah thanks for your response. I actually read a lot from your blog (Part 9 where you spoke about the CAN CRC and bucket filling technique). Could you help me precisely on the below 2 questions, I'm trying to find the checksum using the calculator and prove but it doesn't work (like you mentioned). 1.I tried creating a checksum using the CRC calculator (from the payload I sent, I ignored the 7th byte and used the remaining 7 bytes and found a checksum value). I put the checksum on the 7th byte and sent it. I even decoded by finding the checksum (with all the 8 bytes per the J1850), and XORed with FF which yields the C4 value. However when I send tis packet in the bus, I get a DTC on the module for checksum error. Is this the right way? Can I just use the 7 bytes and insert the identified checksum in the 7th byte later? 2. Is it even possible to backtrack and find the checksum from a system generated log? I'm assuming there would be permutation and a number of 8 bit CRC could be possible for the same log? Is this assumption correct and valid? I'll continue to update this thread based on my finding. Thanks all for the response and support. Regards Jay
  2. Hello, I'm working on a gateway application that will disengage a real ecu and simulate in the software using CAN msgs for automotive. Situation: It looks like the CAN message has a count and a checksum as part of the payload, so every time I change a msg, i need to modify the counter recalculate the checksum. Now in my msg, the checksum is at the 7th byte and the count is in the 8th byte. Ive added below some sample logs collected from the module. So I tried using an online CRC calculator to derive the Polynomial but I'm unable to arrive there. From the below logs, F9,F0,F6 and EE is the checksum. I'm trying to reverse engineer and validate what checksum method and polynomial was used, so that I can play and change the msgs. One more question I have is, while calculating the checksum (in this case), can I ignore the 7th byte(where checksum is inserted) and use the remaining 7 bytes including the count? I tried that route and used the standard CRC8, CRC8_SAE_J1850, CRC8_SAE_J1850_Zero but none that works. 6F 5A 6F 86 73 7C F9 70 6F 5A 6F 83 73 7E F9 71 6F 5D 6F 88 73 7D F0 73 6F 5C 6F 88 73 77 F6 74 6F 5D 6F 87 73 7E EE 75 I'm trying to implement this in LabVIEW and im using the XNET API's. This is kind of not so important now, i need to first identify and validate the checksum, I'm pretty confident with the implementation in LabVIEW. Any help/leads would be helpful and appreciated. Thanks Jay
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.