- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We have designed a product base on CY8CKIT-033A platform.We have re-designed the hardware with CY8C3446LTI-073, and worked in Apple device powered mode.
But it can not pass the Apple's certification,because it draws too much current in low power mode.
In the project Music_Creation, use APPLE_DEVICE_POWERED powered mode, uncomment HANDLE_USB_SUSPEND in Configuration.h.
I debug the project, I found it can not enter USB Suspend status.
I have a few questions follow:
1.In what conditions it will enter USB Suspend status?
2.How to reduce the current further?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2.How to reduce the current further? Disable debugging by setting the debug option to GPIO in system view.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for your reply,Bob.
I set the "Debug Select" option as "GPIO",in the Sysem view of .cydwr.
It did not reduce the current a little bit.
sd.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I found that , in function ServiceUSBSuspend, it enter sleep mode uses the code bellow:
CyPmSaveClocks();
CyPmSleep(PM_SLEEP_TIME_NONE, PM_SLEEP_SRC_PICU); /* PSoC 3 is in sleep mode */
CyPmRestoreClocks();
I added 2 line code as:
CyPmSaveClocks();
PSOC_APP_LED_Write(1);//LED ON
CyPmSleep(PM_SLEEP_TIME_NONE, PM_SLEEP_SRC_PICU); /* PSoC 3 is in sleep mode */
PSOC_APP_LED_Write(0);//LED OFF
CyPmRestoreClocks();
I measure the LED ON time, it is only 37.2us!
I change to CyPmSleep(PM_SLEEP_TIME_CTW_2MS, PM_SLEEP_SRC_CTW); ,it is only 39.2us.
Why? And how to increase the Sleep Time?
sd.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The ILO must be set to 100 kHz for USB bus reset interrupt to function correctly.
Then, CTW can not be the wakeupSource for the Sleep mode,but FTW.
I'd like to make MCU Sleep 2.50ms,and change code as follow:
CyPmSaveClocks();
PSOC_APP_LED_Write(1);//LED ON
CyPmAltAct(PM_ALT_ACT_TIME_FTW(250),PM_ALT_ACT_SRC_FTW);
CyPmReadStatus(CY_PM_FTW_INT);
PSOC_APP_LED_Write(0);//LED OFF
CyPmRestoreClocks();
It did not get a fixed H level as 2.50ms at the LED pin, it is a PWM signal with unstable H level. ps.I have uncomment the other code lines where oprate the LED pin.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
By the way,CyPmAltAct() is not enter Sleep mode, but Standby state.See page 37 of system_reference_guide.pdf.
In Standby state,it did not reduce current a little bit.
The function CyPmSleep() have a parameter wakeupSource, it dose not support FTW as wakeupSource.
My question is, how to enter Sleep mode as the ILO works at 100 kHz?