Hello;
I'm having 2 strange problems when reading enabled channels.
1. When enabling 13 cells and 2 AUX channels, the returned number of bytes is correct. However, when I enable other channels
(e.g. Vdd18 , Vdd45, and Vmod ), there are 2 extra bytes returned, despite the 455 reporting the correct enabled channels. For example, when reading the enabled channels register, I get this response: 03 1f ff 03 26 f2 ce , and so should receive 2*(13 + 2 + 3) = 36 bytes. However, the 455 replies with 38 bytes:
25 33 da 33 d3 33 db 33 d1 33 c9 33 f3 33 d7 33 db 33 c1 33 cf 33 f1 33 f4 33 b6 2a a5 2a a3 16 d1 39 eb 00 07 00 07
But when I reprogram for just 13 cells and 2 AUX channels, it works correctly: 03 1f ff 03 00 73 14 = 30 bytes
1d 33 d9 33 d2 33 db 33 d1 33 c9 33 f3 33 d6 33 dc 33 c1 33 d0 33 f1 33 f4 33 b6 2a a5 2a a3 cc b2 = OK
2. And, after reprogramming for different sample periods, all the sudden the ADC results have changed to all read ~1.xx volts, rather than the ~3.9 volts they had been reading!? (see the 33 D9). What could account for this? I've checked all the relevant register settings which read back OK:
Command sent: Response from 455:
Sample delay: 81 00 3d 00 38 ac 00 00 00 00 <-- no delay
Sample period: 81 00 3e 00 38 5c 00 bb 40 73 <-- 60uS/60uS
Oversamples: 81 00 07 00 2a 0c 00 7f 41 e0 <-- 8 sample avg.
NumCells: 81 00 0d 00 2c ac 00 0d c1 c5 <-- 13 cells
EnabledCh: 81 00 03 03 68 cd 03 1f ff 03 00 73 14 <-- cells 1..13, Aux1 and Aux2
VsGain: 81 00 d3 00 75 0c 00 00 00 00 <-- gain is 1
VoOffset: 81 00 d2 00 74 9c 00 00 00 00 <-- offset is zero