I want to use the HW-based I2C peripheral of the CC2541 as master. Therefore I connected a scope to SDA and SCL to prepare a measurement setup for debugging later on. I was very surprised when I saw spikes every 20 ms; I did not write my I2C code yet. I implemented already a GPIO IRQ every 20 ms; therefore I assume these spikes are a result from the CC2541 terminating sleep (PM2). Without sleep there are no spikes.
Normally both SDA and SCL are "high" (no activity at I2C). During a spike both SDA and SCL go simultaneously to "Low" for exactly 250 ns. This is definitely no start or stop condition.
I tried all possible settings of the P2 configuration registers, but no setting showed any influence to these spikes.
Currently it seems that my I2C slaves will not be distracted by these spikes; but I am not sure what happens if such a spike will fall into an I2C write or read telegram.
Question 1: Did anybody observed these spikes, too?
Question 2: Is it possible that the CC2541 I2C peripheral will transmit a byte over I2C during sleep (PM1 or PM2)? Or is the CC2541 active always during I2C activity?
Kind regards
Thomas Treyer