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

PSoC™ 5, 3 & 1 Forum Discussions

shlu_1817156
Level 3
Level 3

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.

20170923095315.jpg

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?

0 Likes
5 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

2.How to reduce the current further? Disable debugging by setting the debug option to GPIO in system view.

Bob

0 Likes

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.

0 Likes
shlu_1817156
Level 3
Level 3

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.

0 Likes
shlu_1817156
Level 3
Level 3

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.

0 Likes

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?

0 Likes