Post Go back to editing

ADAQ7768-1 CRC

Category: Software
Product Number: ADAQ7768-1

Hello,

I have enabled CRC Check (EN_SPI_CRC=1,CRC_TYPE=0)

Then I use single-read mode from ADC_DATA. I received CRC but I think it is different than it should be.

Eg.

I receive data: 0xff 0xfb 0x47 (adc_buf[1],adc_buf[2], adc_buf[3])

According to datasheet https://www.analog.com/media/en/technical-documentation/data-sheets/adaq7768-1.pdf CRC Check on Serial Interface , I expect that CRC should be 0x92

https://crccalc.com/?crc=fffb47ff&method=crc8&datatype=hex&outtype=0

Hower, I read from SPI 0xc7 as CRC (adc_buf[4]).

Could you please check If I understand wrong how CRC should be calculated?

adc_send_buf[0] = 0x6c (read from 0X2c register)

daq_generic_read( &daq, DAQ_REG_VENDOR_H, &id, 1 );
sprintf(msg," > Vendor: \t0x%.2X", ( uint16_t )id);
HAL_UART_Transmit(&huart3, msg, strlen(msg), 100);
daq_generic_read( &daq, DAQ_REG_VENDOR_L, &id, 1 );
sprintf(msg,"%.2X\r\n", ( uint16_t )id);
HAL_UART_Transmit(&huart3, msg, strlen(msg), 100);
daq_generic_read( &daq, DAQ_REG_PRODUCT_ID_H, &id, 1 );
sprintf(msg, " > ID: \t\t0x%.2X", ( uint16_t )id );
HAL_UART_Transmit(&huart3, msg, strlen(msg), 100);
daq_generic_read( &daq, DAQ_REG_PRODUCT_ID_L, &id, 1 );
sprintf(msg, "%.2X\r\n", ( uint16_t )id );
HAL_UART_Transmit(&huart3, msg, strlen(msg), 100);

Vendor: 0x0456
ID: 0x0001

Have a nice day