Community
cancel
Showing results for 
Search instead for 
Did you mean: 
KMats14
Novice
1,355 Views

Behavior of clock output after Sleep mode

Jump to solution

Dear Experts,

Could you support for a behavior of clock output after Sleep mode ?

I have monitored a clock which is OSC_CLK_OUT_0(High speed clock output) on Breakout Bard.

I have changed the state into Sleep mode using "systemctl stop wpa_supplicant; echo mem > /sys/power/state" command.

After a interrupt is given to Intel Edison and return to normal operation, I can't monitor the outputted OSC_CLK_OUT_0.

My understanding is that the OSC_CLK_OUT_0 output when the mode is changed from Sleep mode to normal operation.

Why doesn't the OSC_CLK_OUT_0 output after Sleep mode ?.

All the best,

1 Solution
idata
Community Manager
81 Views

Hi Kmatsu,

 

 

Thank you for contacting us. As I understand from your case, the output OSC_CLK_OUT_0 is working fine and after the Edison goes from sleep mode to normal mode, the OSC_CLK_OUT_0 signal stops working, is this correct? According to the hardware guide OSC_CLK_OUT_0 is a 19.2 MHz high speed clock output. Have you measured this signal to check if this is actually the output you're receiving? You can use an oscilloscope to measure this. Please attach the images of the oscilloscope before and after the Edison is in sleep mode.

 

 

Also in the hardware guide, there's a section about the different clocks (Section 4): Intel® Edison has two clock outputs. A 32 kHz sleep clock connected to pin 7 and a high frequency 19.2 MHz clock connected to pin 67. The sleep clock has a ±5 mA drive capability, and may be programmed to provide an output when the SoC is in a sleep state.

 

 

From this excerpt one can infer that only one clock can work as a sleep clock, the 32KHz clock. This may be why the output of OSC_CLK_OUT_0 stops working after sleep mode.

 

 

You can find the hardware guide of the Edison here: http://www.intel.com/content/www/us/en/support/boards-and-kits/000005808.html

 

 

We'll be waiting for your response.

 

 

-Sergio A

 

View solution in original post

5 Replies
idata
Community Manager
82 Views

Hi Kmatsu,

 

 

Thank you for contacting us. As I understand from your case, the output OSC_CLK_OUT_0 is working fine and after the Edison goes from sleep mode to normal mode, the OSC_CLK_OUT_0 signal stops working, is this correct? According to the hardware guide OSC_CLK_OUT_0 is a 19.2 MHz high speed clock output. Have you measured this signal to check if this is actually the output you're receiving? You can use an oscilloscope to measure this. Please attach the images of the oscilloscope before and after the Edison is in sleep mode.

 

 

Also in the hardware guide, there's a section about the different clocks (Section 4): Intel® Edison has two clock outputs. A 32 kHz sleep clock connected to pin 7 and a high frequency 19.2 MHz clock connected to pin 67. The sleep clock has a ±5 mA drive capability, and may be programmed to provide an output when the SoC is in a sleep state.

 

 

From this excerpt one can infer that only one clock can work as a sleep clock, the 32KHz clock. This may be why the output of OSC_CLK_OUT_0 stops working after sleep mode.

 

 

You can find the hardware guide of the Edison here: http://www.intel.com/content/www/us/en/support/boards-and-kits/000005808.html

 

 

We'll be waiting for your response.

 

 

-Sergio A

 

View solution in original post

KMats14
Novice
81 Views

Hi Sergio A

Thank you for your support.

As for not appear the clock output return from sleep mode,

 

it was caused by "/lib/firmware/intel_mcu.bin" which is compiled mcu_main.c by myself.

When I have used "/lib/firmware/intel_mcu.bin" on "Firmware version installed: 201606061707",

 

I can watch the OSC_CLK_OUT_0 by oscilloscope.

 

That is to say, it may depend on mcu control. I attached the source cord.

And other conditions are as follows:

- Linux edison3 3.10.98-poky-edison+ # 1 SMP PREEMPT Mon Jun 6 14:32:08 PDT 2016 i686 GNU/Linux

 

- MCU Software Development Kit Version 1.0.10

< mcu_main.c >

 

# include "mcu_api.h"

 

# include "mcu_errno.h"

void mcu_main()

 

{

 

while ( 1 ) { /* your loop code starts here */

 

/* sleep 1 second, one tick is 10 ms for Edison MCU */

 

mcu_sleep( 500 );

 

}

 

}
idata
Community Manager
81 Views

You're welcome, we want to try to help.

 

 

Could you explain in a little more detail how you're entering sleep mode? In your original post you mentioned you're using systemctl and in the latest reply you're using the mcu_sleep. These are two different approaches to enter sleep mode, one using the CPU and another one using the MCU. Please clarify.

 

 

There's an example of how wake the Edison here https://software.intel.com/en-us/node/557354 under the section "Waking up the host CPU using the MCU"

 

 

We'll be waiting for your results.

 

 

-Sergio A

 

idata
Community Manager
81 Views

Hi Kmatsu,

 

 

Do you still need assistance with this thread? Keep us updated on your progress.

 

 

-Sergio A

 

KMats14
Novice
81 Views

Hi Sergio A

Thanks a million for your support.

I don't need to keep this thread.

Best regards,

Reply