Tool/software:
Hello all,
I am trying to develop a library for PGA460 to use with STM32F302 in a meteo station prototype.
This station has 3x PGA460, each connected to a different UART port. I am able to communicate with the sensor but my issue is that when I read the measurement result I am getting first byte as 0x40 for diagnostic.
I am powering the PGA460 from 8V/500ma, I use UTR_1440K_TT_R as transducer connected to PGA with a Wurth Elektronik 750317161, the schematic is shown below.
My debug output is below, Can some one help me understand whey the EEPROM CRC in EEPROM is different from the calculated one?
Also after EEPROM burn and power cycle my settings are not preserved, this is not a big deal as I can set them at each reset but it will be nice to understand.
Sensor 0: Initializing Communication...
Sensor 0: Threshold Level Set to 25%.
Sensor 0: Threshold Written Successfully.
Sensor 0: EEPROM Control Register (EE_CTRL) = 0x00
Sensor 0: Ultrasonic Command 0 Executed Successfully!
Sensor 0: Frequency Diagnostic = 41.67 kHz
Sensor 0: Ultrasonic Command 0 Executed Successfully!
Sensor 0: Decay Period Diagnostic = 4080.00 us
Sensor 0: Temperature (C) Data: 32.00
Sensor 0: Die Temperature = 32.00 C
Sensor 0: Noise Level Data: 23.00
Sensor 0: Noise Level = 23 (8-bit raw)
Sensor 0: EEPROM Bulk Write Data (45 bytes):
0x55 0x0C 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x9D 0xEE 0xEF 0x2D 0xB9 0xEF 0xDC 0x03 0x32 0x80
0x08 0x12 0x32 0x32 0x00 0x33 0xEE 0x3C 0x8F 0x00 0x00 0x05 0x05 0x97
-------------------------------------------------------------------
Sensor 0: Bulk Write to Volatile Memory Successful!
Sensor 0: EEPROM Bulk Read Successful!
Sensor 0: EEPROM Read-Back Data (45 bytes):
0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x9D 0xEE 0xEF 0x2D 0xB9 0xEF 0xDC 0x03 0x32 0x80 0x08
0x12 0x32 0x32 0x00 0x33 0xEE 0x3C 0x8F 0x00 0x00 0x05 0x05 0x63
Sensor 0: EEPROM Data Verified Successfully!
Sensor 0: EEPROM CRC Mismatch! Expected 0xA3, Read 0x63
Sensor 0: EEPROM Check failed.
Sensor 0: TVG Bulk Write Successful!
Sensor 1: Initializing Communication...
Sensor 1: Threshold Level Set to 25%.
Sensor 1: Threshold Written Successfully.
Sensor 1: EEPROM Control Register (EE_CTRL) = 0x00
Sensor 1: Ultrasonic Command 0 Executed Successfully!
Sensor 1: Frequency Diagnostic = 41.67 kHz
Sensor 1: Ultrasonic Command 0 Executed Successfully!
Sensor 1: Decay Period Diagnostic = 4080.00 us
Sensor 1: Temperature (C) Data: 28.67
Sensor 1: Die Temperature = 28.67 C
Sensor 1: Noise Level Data: 16.00
Sensor 1: Noise Level = 16 (8-bit raw)
Sensor 1: EEPROM Bulk Write Data (45 bytes):
0x55 0x0C 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x9D 0xEE 0xEF 0x2D 0xB9 0xEF 0xDC 0x03 0x32 0x80
0x08 0x12 0x32 0x32 0x00 0x33 0xEE 0x3C 0x8F 0x00 0x00 0x05 0x05 0x97
-------------------------------------------------------------------
Sensor 1: Bulk Write to Volatile Memory Successful!
Sensor 1: EEPROM Bulk Read Successful!
Sensor 1: EEPROM Read-Back Data (45 bytes):
0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x9D 0xEE 0xEF 0x2D 0xB9 0xEF 0xDC 0x03 0x32 0x80 0x08
0x12 0x32 0x32 0x00 0x33 0xEE 0x3C 0x8F 0x00 0x00 0x05 0x05 0x63
Sensor 1: EEPROM Data Verified Successfully!
Sensor 1: EEPROM CRC Mismatch! Expected 0xA3, Read 0x63
Sensor 1: EEPROM Check failed.
Sensor 1: TVG Bulk Write Successful!
Sensor 2: Initializing Communication...
Sensor 2: Threshold Level Set to 25%.
Sensor 2: Threshold Written Successfully.
Sensor 2: EEPROM Control Register (EE_CTRL) = 0x00
Sensor 2: Ultrasonic Command 0 Executed Successfully!
Sensor 2: Frequency Diagnostic = 40.82 kHz
Sensor 2: Ultrasonic Command 0 Executed Successfully!
Sensor 2: Decay Period Diagnostic = 4080.00 us
Sensor 2: Temperature (C) Data: 30.67
Sensor 2: Die Temperature = 30.67 C
Sensor 2: Noise Level Data: 21.00
Sensor 2: Noise Level = 21 (8-bit raw)
Sensor 2: EEPROM Bulk Write Data (45 bytes):
0x55 0x0C 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x9D 0xEE 0xEF 0x2D 0xB9 0xEF 0xDC 0x03 0x32 0x80
0x08 0x12 0x32 0x32 0x00 0x33 0xEE 0x3C 0x8F 0x00 0x00 0x05 0x05 0x97
-------------------------------------------------------------------
Sensor 2: Bulk Write to Volatile Memory Successful!
Sensor 2: EEPROM Bulk Read Successful!
Sensor 2: EEPROM Read-Back Data (45 bytes):
0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x9D 0xEE 0xEF 0x2D 0xB9 0xEF 0xDC 0x03 0x32 0x80 0x08
0x12 0x32 0x32 0x00 0x33 0xEE 0x3C 0x8F 0x00 0x00 0x05 0x05 0x63
Sensor 2: EEPROM Data Verified Successfully!
Sensor 2: EEPROM CRC Mismatch! Expected 0xA3, Read 0x63
Sensor 2: EEPROM Check failed.
Sensor 2: TVG Bulk Write Successful!
PGA460 Initialization Complete.
Sensor 0: Ultrasonic Command 0 Executed Successfully!
Sensor 0: Echo Data Dump Diagnostic Error! Code: 64
Sensor 0: Echo Data Dump (130 bytes): 0x40 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xF4 0xE4 0xD4 0xC8 0xBC 0xBC 0xD0 0xF8 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0x05Sensor 0: Ultrasonic Command 0 Executed Successfully!
PGA_OBJ_DATA_SIZE 6!
Sensor 0, Obj 1 - Distance: 11.24 m, Width: 4080 us, Amplitude: 191
Sensor 1: Ultrasonic Command 0 Executed Successfully!
Sensor 1: Echo Data Dump Diagnostic Error! Code: 64
Sensor 1: Echo Data Dump (130 bytes): 0x40 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFC 0xDC 0xBC 0xA4 0x90 0x80 0x78 0x74 0x80 0x98 0xBC 0xEC 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xC3Sensor 1: Ultrasonic Command 0 Executed Successfully!
PGA_OBJ_DATA_SIZE 6!
Sensor 1, Obj 1 - Distance: 11.24 m, Width: 4080 us, Amplitude: 191
Sensor 2: Ultrasonic Command 0 Executed Successfully!
Sensor 2: Echo Data Dump Diagnostic Error! Code: 64
Sensor 2: Echo Data Dump (130 bytes): 0x40 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xE4 0xCC 0xBC 0xB0 0xA8
0xA4 0x9C 0x98 0x98 0x98 0x9C 0xA0 0xA4 0xA4 0xA4 0xA0 0x98 0x84 0x84 0xA8 0xE4
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xF1Sensor 2: Ultrasonic Command 0 Executed Successfully!
PGA_OBJ_DATA_SIZE 6!
Sensor 2, Obj 1 - Distance: 11.24 m, Width: 4080 us, Amplitude: 191
Thank you for your support.