1 Reply Latest reply on Aug 20, 2019 5:47 PM by MoTa_728816

    CY8CKIT-040 as I2C master with external slave device

    NaJa_4363881

      Hello!

       

      This is regarding a prior discussion on the I2C communication. Previously I had issues with running CY8CKIT-042 as slave and CY8CKIT-040 as master with two different Creator versions (4.0 and 4.2), but it later got resolved with successive discussions in this forum. I would like to thank Bob and Moto for helping me in resolving the compatibility issues between the two kits.

       

      Currently I am trying to interface CY8CKIT-040 (Master) with a video decoder (slave) that supports an serial MPU interface with a data rate of 400 kbps. I was able to set the data rate on the CY8CKIT-040 to 400 kbps by changing the IMO clock frequency to 32 MHz. But I am concerned about the internal pull up resistors that are already installed on the CY8CKIT-040, as the video decoder requires a 4.7 K resistor for proper operation.

       

      Please advise on whether there is a way to disable these internal pull up resistors so that I can go ahead connecting the external video decoder to the CY8CKIT-040 with external pull up resistors (4.7 K).

       

      Thanks and Regards,

      Nandhini Jayapandian

        • 1. Re: CY8CKIT-040 as I2C master with external slave device
          MoTa_728816

          Hi,

           

          Usually I2C operates with pull-up resistor of 2K ~ 10K and 4.7K is a middle (safe?) range.

          But what important is the ramp of rise and fall edge.

           

          Please refer to the I2C specification

          https://www.nxp.com/docs/en/user-guide/UM10204.pdf

           

          Having written above,  chance is high that with the 2.2K installed in the CY8CKIT-040, the slave can work.

          I'd suggest you to connect the device and monitor the ramp to see if it is within the specification range.

          (Or more casually, connect and try! I hope it will work...)

           

          In case not, if the ramp is out of range, I would do (from easy to difficult)

          (1) remove pull-up resistors if there is/are between the CY8CKIT-040 and the slave

          (2) replace R8 and R9 of the CY8CKIT-040 with  4.7K

          (3) use P3[0] and P3[1] for I2C pins and add external pull-up resistors

          Note: (3) uses pins for SWD, so we need to set Debug select to GPIO,

          with this we will not be able to debug the program.

          002-Debugging-config.JPG

           

          moto