I am using the CY63001 in my design. At power up the chip is put into suspend by the hardware. How do I prevent this... | Cypress Semiconductor
Support & Community
I am using the CY63001 in my design. At power up the chip is put into suspend by the hardware. How do I prevent this...
I am using the CY63001 in my design. At power up, the chip is put into suspend by the hardware. How do I prevent this suspend so that my device can do some work before being suspended?
The 630xx is put into suspend mode by hardware at POR and wait for a bus reset from the host (or D- being pulled LOW) to wake it up. The advantage of this approach is that it tolerates very long ramps on the 5V Vcc pin. If the part isn't suspended by the hardware during slow ramps, the micro may attempt to start execution after Vcc passes the POR trip point. In such cases, this could lead to operation of the micro at Vcc of 3V or less which is too low for reliable operation. Suspending the chip at POR guarantees the part will not operate until Vcc is stable and has reached its max (a bus reset is sent by the host software after a long delay, 100ms. Vcc should be stable by then).
One of the disadvantages of this approach is the issue we're dealing with. Before we try to solve this issue, let me give you some info on the enCore family.
Since you're still at the very first stage of your design, I'd like to inform you that, for new low-speed designs, we recommend the enCore II family. The enCore II offers a lot more nice features over the CY630xx. Some of the added features are crystal-less oscillator (no external oscillator needed), wake-up circuit (external RC circuit is not needed), pull-up resistors, 3.3V internal regulator, SPI compatible. All of these add up to a lower system cost. One additional feature that is VERY USEFUL in your application is that the enCore does NOT continuously stay in suspend mode after POR. We fix the above issue by adding a bit in the microcontroller that allows the user to set an appropriate delay after POR. At POR, the enCore is only suspended for this delay time, and it will start executing code at 0x00. The bus reset is treated as an interrupt, not a reset as in the 630xx. Visit our web site - www.cypress.com for more information
If for some reasons, you have to use the 630xx, you will need to have external circuit to prevent the 630xx from going into suspend at POR. The concept is that the external circuit will bring D- LOW for a few ns at POR to wake it the chip up then release the D-/+ pins for USB operation. Whatever we will do, it should not add addition load to the D-/+ lines to meet the USB Spec.
We have a document that discusses the CY630xx's POR suspend issues in details. Contact USB Apps for this document (A link to our web site will be provided later)