Power On Reset/es

From Qi-Hardware
Jump to: navigation, search

Para asegurar el correcto funcionamiento del Nano, es necesario que los voltajes externos que se utilizaran en el JZ4720 sean suministrados con una secuencia especifica, en la figura se puede observar esta secuencia detalladamente, en la tabla se explican cada uno de estos.

En el procesador es importante que el orden de suministro se mantenga como se establece a continuación:

1 VDDRTC
2 VDDA: VDDCDAC, VDDCADC, VDDLHP, y VDDRHP
3 Todos aquellos de 3.3V VDDs (VDD33): VDDIO, VDDADC, y  VDDUSB
4 Los de 1.8V (VDD18): VDDCORE, y VDDPLL
times diagram

Table

Symbol signal min max unit
tR_VDDRTC VDDRTC rise/stabilization time 0 100 ms
tD_VDD33 Delay between VDDRTC stable and applies VDD33 -tR_VDDRTC 10 ms
tR_VDD33 VDD33 rise/stabilization time 0 100 ms
tD_VDD18 Delay between VDD33 stable and applies VDD18 -tR_VDD33/2 10 ms
tR_VDD18 VDD18 rise/stabilization time 0 100 ms
tD_18A Delay between VDD18 arriving 1.5 V and VDDA arriving 1V 0.01 10 ms
tR_VDDA VDDA rise/stabilization time 0 100 ms
tD_PPRST_ Delay between VDDA stable PPRST_ deasserted 20 - ms

Author: Richard Based on Jz4740 Boot ROM Specification from Ingenic datasheet.

Cada tension es suministrada de acuerdo al tipo de componente que la requiera. En la figura se presenta el suministro de tensiones que requieren los componentes del Nano.

Power three


El SoC JZ4720 tiene una frecuencia de operacion de hasta 366MHz, presenta un suministro de tensión entrada/salida de 3.3 ± 0.3V, Core: 1.8 ± 0.2 , El consumo de potencia depende de la frecuencia en la que se encuentre operando. Por ejemplo a 240MHz necesita 150mw.

En el archivo que se encuentra en arch/mips/include/asm/mach-jz4740/regs.h se definen los archivos que se encargan del POWER MANAGEMENT


* ...
/************************************************************************* 
* CPM (Clock reset and Power control Management) 
*************************************************************************/ 
/* Low Power Control Register */ 
#define CPM_LCR_DOZE_DUTY_BIT 	3 
#define CPM_LCR_DOZE_DUTY_MASK 	(0x1f << CPM_LCR_DOZE_DUTY_BIT) 
#define CPM_LCR_DOZE_ON		(1 << 2) 
#define CPM_LCR_LPM_BIT		0 
#define CPM_LCR_LPM_MASK	(0x3 << CPM_LCR_LPM_BIT) 
 #define CPM_LCR_LPM_IDLE	(0x0 << CPM_LCR_LPM_BIT) 
 #define CPM_LCR_LPM_SLEEP	(0x1 << CPM_LCR_LPM_BIT) 
.
/* Sleep Control Register */ 
#define CPM_SCR_O1ST_BIT	8 
#define CPM_SCR_O1ST_MASK	(0xff << CPM_SCR_O1ST_BIT) 
#define CPM_SCR_USBPHY_ENABLE	(1 << 6) 
#define CPM_SCR_OSC_ENABLE	(1 << 4) 
.
/* Hibernate Control Register */ 
#define CPM_HCR_PD		(1 << 0) 
.
/* Wakeup Filter Counter Register in Hibernate Mode */ 
#define CPM_HWFCR_TIME_BIT	0 
#define CPM_HWFCR_TIME_MASK	(0x3ff << CPM_HWFCR_TIME_BIT) 
/* Reset Counter Register in Hibernate Mode */ 
.
#define CPM_HRCR_TIME_BIT	0 
#define CPM_HRCR_TIME_MASK	(0x7f << CPM_HRCR_TIME_BIT) 
.
/* Wakeup Control Register in Hibernate Mode */ 
#define CPM_HWCR_WLE_LOW	(0 << 2) 
#define CPM_HWCR_WLE_HIGH	(1 << 2) 
#define CPM_HWCR_PIN_WAKEUP	(1 << 1) 
#define CPM_HWCR_RTC_WAKEUP	(1 << 0) 
.
/* Wakeup Status Register in Hibernate Mode */ 
#define CPM_HWSR_WSR_PIN	(1 << 1) 
#define CPM_HWSR_WSR_RTC	(1 << 0) 
.
/* Reset Status Register */ 
.
#define CPM_RSR_HR		(1 << 2) 
#define CPM_RSR_WR		(1 << 1) 
#define CPM_RSR_PR		(1 << 0) 


Reset

Se pueden presentar 3 fuentes de reset, PPRST_pin reset, WDT timeout y hibernating reset después de que se produce el reset, se inicia el boot. El primer reset se presenta cuanto PPRST_N tiene un valor logico de 0, y sucede cuando se presiona la tecla RESETK del Nano, ó también cuando el RTC power es encendido. Aquí Todos los modulos internos regresan a su estado inicial predefinido.

El WDT (watchdog timer) reset es activado debido a mal funcionamiento del sistema como ruido, o errores del sistema. Por último se tiene el modo Hibernate reset. se habilita cuando se reconoce la señal WAKEUP_N debida a la tecla ONOFFK del Nano, Despues que se presenta el reset la CPU y los perifericos son sincronizados directamente por el oscilador de 12MHz, el PLL tambien regresa a su estado apagado, y los modulos internos son inicializados a su estado reset.

Personal tools
Namespaces
Variants
Actions
Navigation
interactive
Toolbox
Print/export