5 Replies Latest reply on Jan 3, 2010 11:17 PM by glen.qiu

    Capsense design hangs I2C

    mark.kraft
              I have a system level capsense design with 10 buttons using CY8C20434. I2C hangs when inputs are configured as capsense. Using USBtoIIC windows utility it will sometimes list the device other times it will not. If it does it can take a minute or so to get picked up. Attempting to read button status the utility indicates that the I2C protocol is working but I may or may not read status change from a button. Sometimes the status will stick for a while before returning to zero.   
         
      I created an alternative sys level project with digital inputs on the same port pins. This works fine. It is only a problem when I am configured as capsense (CSA).   
         
      Have a previous design using CY8C20234 and 10 inputs, no problems.   
         
      The same product that has the 202434 and I2C problem has 6 other identical devices configured for two 10-segment sliders. These all work correctly.   
         
      What issue with button layout, shape, trace length, etc. might contribute to these symptoms. Seems to be only difference between my slider devices and this 10-button device.   
         
      Haven't received any response from my case for this, hope I may get something thru the forum.   
         
      thanks   
        • 1. Re: Capsense design hangs I2C
          pmad
                  Hello,   
             
          This problem should not have occurred because once the I2C UM is placed it will be listed in the devices provided interrupts are enabled. Since, you are using System Level Design, so this thing is taken care of automatically. Please zip your project and attach it here.   
          • 2. Re: Capsense design hangs I2C
            glen.qiu
                    Hi All,   
            I'm having a similar problem,   
            Im using the 24894 with I2C on the ISSP pins,   
               
            Capsense with 16 buttons works fine transmitting the 16 raw values (12bit) if im using the CSD with PRS8 as clock source.   
            But if i use PRS16 or PRS8 with Prescaler the I2C bus never communicates.   
               
            With a demo board I ran into the same problem (well I think it was) a while back with the Bootloader I2C UM, I remember changing the I2C port to the other one (forget which one) and it worked.   
               
            I have tried starting from scratch but no luck.   
               
            I want more Resolution...   
            Cheers   
            • 3. Re: Capsense design hangs I2C
              pmad
                      Glen,   
                 
              I'll provide you an example project and let me know if that helps or not   
              • 4. Re: Capsense design hangs I2C
                glen.qiu
                        Thanks,   
                In addition, I've just noted that changing the Module from PRS8 (working fine) to PRS16 (I2C dies) and back to PRS8 does not revive the I2C...   
                I'm not changing anything else but the Module using Right Click on UM -> Selection Options...   
                • 5. Re: Capsense design hangs I2C
                  glen.qiu
                          Woo Hoo!   
                  Found it,   
                  I ran a file differences check and notices Port 1 (where my I2C is was being set up differenly after changing the CSD Module)   
                  The PSoC Designer still had the port on the screen labled, but in the properties it had reverted back to default, so my I2C SCL pin was not working at all.   
                  So i changed the EzI2C Pin parameter to the other port, then back again, and it fixed the problem.   
                     
                     
                  Cheers!