I'm using a Multi-Cal setup to communicate with a PGA309. In the Fast Scan portion of the code, before the EEPROM verify, I've added the mnemonic commands to set up register 6 for internal temperature measurements and then read the temperature from register 0. Occasionally I get an invalid value back from register 0.
The command sequence is ONE 0x55 0x01 0x06, ONE 0x55 0x04 0x03 0x12, ONE 0x55 0x01 0x00, ONE 0x55 0x10 R R. I have a 100mS delay between the register 6 write and the setting of the address for the read. I have found that if I repeat the sequence twice in a row, the second time I always get a good temperature reading.
For example I've read back 201B, 014B; 1A5B, 014B; 014A, 014A. The first read is sometimes an invalid value. I can detect this in software and retry, but would like to understand why it's happening. Has any one run into something similar?
Thanks!
