How Psoc communication with other MCU in I2C?

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

cross mob
David_Zhang
Level 5
Level 5
Distributor - Arrow(GC)
First comment on blog First like received 50 sign-ins

Many times PSOC as Slove touch the touch of MCU and MUC control communication complex function, as shown in the figure below for typical topology diagram, such as STM32F7 as master, CY8C4014LQI as touch, need to have the following questions need to be solved:

1. What is the slave address of STM32F7 through IIC and CY8C4014LQI?

2. How can STM32F7 know when a button is pressed? Is it STM32F7 to read the IIC data on a regular basis?

3. CY8C4014LQI is changed from the dormant state of the non-touch to the activated state with touch press. What is the output of the reminder?

4. If CY8C4014LQI needs to implement complex touch algorithm, the algorithm is implemented in CY8C4014LQI or directly read different touch value algorithms in the main MCU.

5. Please provide examples of relevant touching and other MCU communication.

6、 Is there any problem with the interface between the touch of CY8C4014 and other MCU in the following schematic diagram?

pastedImage_3.png

0 Likes
1 Solution
3 Replies
RyanZhao
Moderator
Moderator
Moderator
250 sign-ins First question asked 750 replies posted

Hi David,

1. What is the slave address of STM32F7 through IIC and CY8C4014LQI?

- You can define I2C slave address of CY8C4014LQI by yourself in PSoC Creator.

2. How can STM32F7 know when a button is pressed? Is it STM32F7 to read the IIC data on a regular basis?

- It requires to define a customized I2C buffer. Update this buffer after every scanning/processing loop. You can use polling mode to monitor I2C, or you can use an another pin as external INT, if sensor status changed, send the INT signal to STM32F7.

3. CY8C4014LQI is changed from the dormant state of the non-touch to the activated state with touch press. What is the output of the reminder?

- What does "reminder" do you mean? If PSoC4 entered deepsleep, I2C should have entered into deepsleep mode too. You can write your own command to drive PSoC4 entering deepsleep and active/work mode manually. The first of all is to define your own I2C register map.

4. If CY8C4014LQI needs to implement complex touch algorithm, the algorithm is implemented in CY8C4014LQI or directly read different touch value algorithms in the main MCU.

- It is recommended to implement extra algorithm in main MCU. More complex code may lead to PSoC4 ROM overflow. And it would not be good for further maintaining of firmware. Personally I recommend to use PSoC4 to report buttons' ON/OFF status only. Reserve enough PSoC4 flash size in case of any further filtering/patches code about CapSense performance tuning.

5. Please provide examples of relevant touching and other MCU communication.

- Refer to CapSense example and I2C example in PSoC Creator. Read CapSense status and load it in your I2C buffer. You can use bridge control panel to read buttons status through a kitprog or Miniprog3

6、 Is there any problem with the interface between the touch of CY8C4014 and other MCU in the following schematic diagram?  

- What is the voltage level of VCC?  Refer to PSoC4000 datasheet about VCCD/VDDD connection.

- If VCC is 3.3V, recommend to add ~100ohm series res on I2C. If VCC is 1.8V, series resistors for SWD and I2C should be replaced by 0-ohm for better slew rate.

- Please let us know more about your applications background details, so that we could provide more comments on this design. If this is a customer confidential design, suggest to file a tech support case for further discussion.

Thanks,

Ryan

0 Likes
Anonymous
Not applicable

hi  Ryan:

   Can you help to provide the demo code , Other MUC connect with  cy8c4014lqi_s412  with i2c mode,  in my point, it's useful to understand the work way of cypress chip, thanks;

0 Likes