Home
Company Products Tech.Info Notice    Dev.Tools
Home > Developement Guide > FAQ
FAQ
HMS30C7202  :  ADCLCDPMU PLL RESETSDRAM SMI MMCUART CAN SPI USBTIMER PWM PS2 KEDGPIOAPPLICATION
HMS30C7201  :  ADCPMU PLLETCAPPLICATION
Q1.Can I directly connect the 32.768 KHz and 3.686 MHz signals to the Processor.If yes ... what is the typical duty cycle etc that the processor may require ?
Q2.The Microbuddy boots up with a default value of 2 MHz instead of 3.686MHz ? Can the MagnaChip processor operate correcly at this frequency. What I intend doing is running code out of the FLASH and writing to the Microbuddy to initialise it to run at 3.686 MHz. Will there be any issues of processor stalling etc due to sudden jump of frequency from 2 MHz to 3.686 MHz.
Q3.As I understand from the MagnaChip Data sheet:
1. The processor can be put to Deep sleep Mode by writing either 0x07 or 0x0F to the PMU Mode register.
2. The processor can be brought out of the Deep sleep mode when either, some or all of the following signals are asserted:
(a) nPMWAKEUP is brought low (The PMUresetStatus reads D4= 1 when this happens)
(b) Port A interrupt (The PMUresetStatus reads D4= 1 when this happnes)
(c) MRING is brought low (The PMUresetStatus reads D5= 1 when this happens)
(d) RTC wake up (The PMUresetStatus reads D6= 1 when this happens)
Question) How do we differentiate between event (a) and event (b)? i.e. Port A interrupt event waking from Deep Sleep Mode and the nPMWAKEUP signals event waking from deep sleep.
Q4.If we wish to say just wake the processor up by MRING signal .. is there any way to do it ? The mask bits D9 (OnEvt Interrupt enable), D10(MRING Interrupt Request/Clear), D11 (RTC Wakeup interrupt Request/Clear) don't seem to have an effect.
I tried the following:
(a) Set the PMUResetStatus=0x1ff( to reset all pending status bits )
(b) Disable Rtc interrupt by writing 0x00 to RTCCR
(c) Set the PMUResetStatus=0x400( to allow mring to waker the processor up)
(d) Save the PMUMode
(e) write 0x07 to PMUMode
(f) LOOP for 1ffff times (The PMU enters deep sleep mode) Now if I assert any of the wakeup signals i.e. MRING or nPMWAKE
UP .. the processor wakes up. If my understanding is correct ... since I set only D9=1 in the PMUResetStatus i.e. step (c), the nPMWAKEUP should not have any effect.
Q5.The steps given to enable the wakeup of processor by nPMWAKEUP signal on page 7-7 of the databook (Enable the nPM WAKEUP interrupt but by writing 0 to bit 9 of the ResetStatusResgister) is different from what is suggested in table 7-6 i.e Bit =1 Enable PMU interrupt from nPMWAKEUP. Can you please let me know which of the two statements are correct ?
Q6.Does the processor go into idle (on the way to deep sleep) as soon as the PMU_MODE register is written to, or can the processor run for a few more cycles (and instructions) before the PMU stops its clock? What is the purpose to wait after idle, surley all the clocks will be running, the SDRAM controller will be running etc as soon as the processors clock starts running and executing code again?
Q7.I notice in the MagnaChip test code file pmutest.c you flush the write buffer(SDRAMC) just before going into deep sleep, and also have a delay before and after deep sleep (fragment of code below). What is the reason for this and is it required?
Q8.Some SDRAM's require a bust of refresh cycles after exiting self refresh because the refresh counter inside the SDRAM is different for normal refresh and self refresh. Is there any need for a bust of refresh cycles after exiting deep sleep with the HY57V641620HG or can the refresh controller inside the GMS30C7201 just be left to refresh 4096 cycles every 64ms?
Q9.When the GMS30C7201 is powered on .. the PLL3 freq. is at 49.7664 MHz.We write to the Clkctl register to increase this to 59.xxx MHz.For doing this we set bit[6] = 1 and write the appropriate data to the CLKctl register (see page 7-4 of the databook). Will this gurantee at all times that PLL freq. is changed instaneously or we have to follow the alternate method that MagnaChip has recommended i.e. writing to the Clkcntrl register with bit[6]=0 .. taking the processor to deep sleep mode and then waking it up using an interrupt ? Is there a delay required after we write to Clkcntrl register with bit[6]=1.