CompactCom 40 SPI Setup - CRCs not matching


I am developing a host application for a CompactCom 40 using the SPI interface. I am currently stuck in the Startup state. I can see that the response I get from the module has an incorrect CRC. I have verified using a logic analyzer on the SPI lines that my application is receiving the message correctly. I have also verified that the host code for calculating the CRC32 is correct according to the example arrays in the document HMSI-216-125 (v 3.9). I don’t know hoe to solve this issue since the incorrect CRC is coming from the module.
The frame I receive back from the module is:
00 00 00 00 00 06 04 39 A1 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 EA 3A E0 B7
Meaning the 32 bit CRC is 0xB7E03AEA

The software calculates the CRC to be 0x481F3AEA

I verified this calculation result with an external CRC calculator and got the same result. I’ve tried running the SPI clock at 5 MHz and 1 MHz. My data is based on the leading edge of the clock.

I find it interesting that the lower word matches in the received and calculated but I don’t know what to make of it. Is it possible for the module to calculate and send the wrong CRC?


A post was merged into an existing topic: Anybus Compactcom 40 SPI CRC received does not match CRC calculated