CY8CMBR3116 raw count hops | Cypress Semiconductor
CY8CMBR3116 raw count hops
I use a CY8CMBR3116 for capacitive level sensing, using raw counts from all 16 channels. It is a custom HW design, supply decoupling follows the datasheet Figure 13. All 16 CSxx inputs are wired through 470R resistors to PCB pads.
Generally the raw counts are stable but occasionally, after booting, one or two raw count values are offset by about +/- 150 counts, without any physical change. This offset stays until next power cycle.
Attached please see a raw count plot, acquired over 50 power cycles ~5 sec each, with no physical change during that time.
Note how CS05 reads ~1465 after power cycle 7,9,18 and 27, only to return to the normal ~1648 again. I have seen this behavior on other channels as well, one or two at the time.
Since I'm sensing absolute levels, these jumps are detrimental to the application, and I am looking for information on how to avoid them.
The sequence for each cycle is:
1) VDD = 3.3V
2) Wait 1200 ms
3) Self diagnostics check, reading TOTAL_WORKING_SNS (OK in all cases)
4) Read 16 raw count values, repeated 10 times. Details:
4.1) Write SENSOR_ID value
4.2) Wait 8 ms
4.3) Read 13 bytes from SYNC_COUNTER1 up to and including SYNC_COUNTER2
4.4) Check for sync counter match and DEBUG_SENSOR_ID match.
4.4.1) If fail wait 4 ms, then goto 4.3
4.4.2) If success then goto 4.1 (next sensor ID)
5) VDD = 0V
6) Wait 800ms, then goto 1)
I.e. the sequence is similar to the one used by the EZClick board
Relevant device configuration: