PSoC 5LP - USB UART CDC - Unstable/glitchy operation

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

cross mob
lock attach
Attachments are accessible only for community members.
DaEr_349131
Level 5
Level 5
25 likes received 50 sign-ins 5 comments on KBA

Hi,

   

We're using a PSoC 5LP with a basic UART CDC driver and code just printing "hello" once a second.

   

Connected to a Mac we just monitor the output in a Terminal (also tested on a Windows machine via Putty).

   

After just a few seconds, the usb serial connection drops for unknown reasons. Power scoped and looks good so assume this is something we just missed and/or some timing issue. Not sure though how to best debug further. Hopefully it's something simple...

   

On the mac-side it looks like this:  
07/12/15 16:07:41,000 kernel[0]: USBF:    15199.861    AppleUSBXHCI::DoControlTransfer sync request on workloop thread.  Use async!
 

   

dumping the registers before (when it works) vs after (when it has died), comparing the two, the only diff is:

   

USB_SIE_EP3_CR0 became 0x49, which should be bit 6 according to the TRM -> 6 err_in_txn...

   

The Error in transaction bit is set whenever an error is detected. For an IN transaction, this indicates a no response from HOST scenario. For an OUT transaction, this represents an RxErr (PID error/ CRC error/ bit-stuff error scenario). This bit is cleared by any writes to the register. 0- No errored transactions since bit was last cleared. 1- Indicates a transaction ended with an error.

   

 

   

 

   

ps. I double-checked our design against the CY8CKIT-059. Nothing really that can be wrong in terms of how USB is tied up. One difference though is that our VDD* is 1.8 and 3.3V only, not "usb vbus: 5V" as on the kit, but I assume that shouldn't matter right?

   

 

   

Thanks David

0 Likes
3 Replies
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

You need to tell the USB component the voltage when you start it (using the USBFS_3V_OPERATION parametwer to the _Start() call). Also,l set the voltages correct in the design-wide resources.

0 Likes
lock attach
Attachments are accessible only for community members.
DaEr_349131
Level 5
Level 5
25 likes received 50 sign-ins 5 comments on KBA

Hi,

   

To clarify, our VDDD is 1.8V.  I assume it is not possible to use USB when running the digital domain @ 1.8V..!?

   

Please confirm.

0 Likes
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted
        dav01, I believe that USB operation requires 3.3V supply minimum: http://www.cypress.com/forum/psoc-5-architecture/unable-run-usb-uart-example-code-psoc-5-kit   
0 Likes