Recommended scan rate by I2C Master

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
PaBr_4578176
Level 2
Level 2
First like given Welcome!

Hi,

My micro-controller type is cy8c4014lqs-422. I would like to ask, what is recommended scan rate by I2C Master from buffer I2C Slave. I want read continuously only 4 bytes. How frequently CapSense buttons should be pulled? There is some technical recommendation from Cypress?

According to Jacob Nielsen in his book Usability Engineering, from 1993, which is considered an important reference in Systems Usability and User Experience:

  • 0.1 second is about the limit for having the user feel that the system is reacting instantaneously, meaning that no special feedback is necessary except to display the result.

But this is too much general. I'm assuming scan rate shall be much less.

0 Likes
1 Solution
BragadeeshV
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hi PaBr_4578176​,

It is usually recommended to have a refresh rate of around 20 ms when there is an active touch.

If there is no active touch for x duration, you can scan every 100 to 200 ms. You can switch back to active mode when there is a touch detected.

You can implement low power modes also in the in between time if the CPU is idle.

Refer to the code example

https://www.cypress.com/documentation/code-examples/ce210291-psoc-4-capsense-one-button

It is not required to poll the CapSense device from the master after every scan to know CapSense touch status. It is enough to read the slave device only if there is a change in touch status. To do this, you can have a host interrupt pin that is triggered by the slave device whenever there is change in the capsense touch status. The master has to read the slave device only when the interrupt is triggered by the slave.

Regards,

Bragadeesh

Regards,
Bragadeesh

View solution in original post

0 Likes
1 Reply
BragadeeshV
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hi PaBr_4578176​,

It is usually recommended to have a refresh rate of around 20 ms when there is an active touch.

If there is no active touch for x duration, you can scan every 100 to 200 ms. You can switch back to active mode when there is a touch detected.

You can implement low power modes also in the in between time if the CPU is idle.

Refer to the code example

https://www.cypress.com/documentation/code-examples/ce210291-psoc-4-capsense-one-button

It is not required to poll the CapSense device from the master after every scan to know CapSense touch status. It is enough to read the slave device only if there is a change in touch status. To do this, you can have a host interrupt pin that is triggered by the slave device whenever there is change in the capsense touch status. The master has to read the slave device only when the interrupt is triggered by the slave.

Regards,

Bragadeesh

Regards,
Bragadeesh
0 Likes