Post Go back to editing

LTC2983 Channel Assignment Memory READ Access

Category: Datasheet/Specs
Product Number: ltc2983

Hello,

I have configured the channels on my LTC2983 for sense resistors and thermistors. I would like to verify that these channels are configured correctly by performing a READ on each channel assignment location (0x200 - 0x24F). However, the READ results are not as expected due to the following: 

  • A READ on the channel assignment memory locations (0x200 - 0x24F) always returns the most recent uint32_t that was written to memory, regardless of which channel assignment is being read.
  • However, I can correctly read 0x40 from the command status register as expected.
  • The same issue arises when I try to read from the custom Steinhart-Hart data locations (0x250 - 0x3CF).

My question is: Is this expected behavior? Does the user not have READ access in certain memory locations of the LTC2983? 

Thanks for any help!

  • I have discovered the issue -- the STM32 (with the ARM Cortex M4) is little endian. The LTC2983, however, stores data in memory using big endian. Since my SPI is configured to transmit 8 bits at a time, any transmissions greater than 8 bits were being sent in the incorrect byte order (the LTC2983 uses 16-bit addresses and 32-bit configuration/result data). This meant that I was reading from the wrong address (instead of 0x0200, I was reading from 0x0002), and the configuration data I was transmitting was byte-reversed.