3 Replies Latest reply on May 12, 2014 6:03 AM by userc_42553

    PSOC3 device doesn't respond (Hang / Suspended ?)

      Hello all,


      I am using PSOC3 device and configured it as USB HID device. It is usb powered and has 15 capsense keys and a slider, each with LED indication on board.


      The PCB(capsense based) is pasted on 1.5mm thick acrylic sheet.


      Afetr USB connection the device is recognised to PC as HID device & every functions work fine.


      But at some stage, while I use, i observed that sometimes the data is not getting sent to PC at all. The device remains recognized to PC as HID device. But it remains in the hang state. Any capsense key pressed, it doesn't respond in that state.


      I have to reinsert the usb to resume the action. There are LED indications on it, which remains ON, means power from PC is OK.  


      Any Idea what is happening ? Is the capsense device getting hanged/busy ?


      Hoping for kind reply




        • 1. Re: PSOC3 device doesn't respond (Hang / Suspended ?)

          "Hangs" can be caused by different reasons, a software-bug could be one. If you have got a miniprog3 and when you can connect it to your board, you might see what the reason is.


          Bad Power supply is another frequent source of errors, check for noise & spikes with an oszilloscope.





          • 2. Re: PSOC3 device doesn't respond (Hang / Suspended ?)

            This is a brute force debug effort I would think. If you can debug while in-situ all the better.




            I would start by creating an "alive" pin that I periodically pulse, and start with minimalist code


            acessable, and increase code routines used/called until I hit a non responsive pin toggling.




            HW wise look at code on any port with mixed I/O and make sure you do not have an infinite


            loop situation if you examine a port with  floating pin configured in it, and your code stays in


            a loop trying to test a pin with unknown state.




            Re. Bobs suggestion, use DSO, set triggering V first to Vdd + .7, then Vss -4.7, looking for


            any pin getting a transient outside allowable I/O pin levels. Then use infinite persistence


            on scope and look at supply railsfor a few seconds to see if you have load transients causing


            supply to drop out of spec.




            This is tedious at best.




            Lastly look at Capsense layout and compare to recomendations in Cypress Capsense




















            Regards, Dana.

            • 3. Re: PSOC3 device doesn't respond (Hang / Suspended ?)

              I assigned LED on condition on while loop[while(!USBFS_bGetEPAckState(1))] in my code. And kept it for running.


              After 3 days running this LED was seen in ON state.


              Thus the execution is staying in this loop. Which kind of ACK this function provides?


              then why the ACK is not received?