• No se han encontrado resultados

3.1 MÓDULO DE GENERACIÓN DE RELOJ CGMC

N/A
N/A
Protected

Academic year: 2021

Share "3.1 MÓDULO DE GENERACIÓN DE RELOJ CGMC"

Copied!
14
0
0

Texto completo

(1)

F.I.E., C.D.P., 2005 NT1001

NT1001

La velocidad del bus es limitada por el tamaño del cristal externo u oscilador que se fije a las terminales del microcontrolador. Anteriormente se informó que la velocidad de bus del microcontrolador es la cuarta parte del cristal externo; aunque parezca poco creible, nuestra pastilla puede correr a velocidades de bus diferentes independientemente de la velocidad del cristal que se situe en las terminales de oscilación, todo esto gracias a un módulo especial que posee un “PLL”1 y permite generar frecuencias múltiplos del cristal.

En principio, se explica a grandes razgos que función tiene un PLL en general y en detalle:

ƒ Cálculo de la frecuencia de bus: En la configuración del PLL para GP32 se analizan los parámetros que deben calcularse para su buen desempeño. ƒ Configuración del Módulo de Generación de Reloj: Inicializar el módulo para

generar una frecuencia máxima de bus, dependiendo del cristal de entrada. ƒ Código: Muestra el listado del programa de configuración del PLL específico

para un cristal de 4.9152 MHz; la función del código es conmutar un LED con un retardo de “software” a 50 Hz configurada una frecuencia de bus máxima. ƒ Simulación: Corroborar de manera gráfica, cómo varían los registros del

módulo de reloj y deducir que acción retoma el microcontrolador, configurado estos registros; finalmente, se utiliza el PLL para generar una frecuencia de bus y un retardo de “software” para generar una frecuencia de cincueta hertz (50 Hz).

1 Lazos Enganchados de Fase o “Phase Locked Loop”

Notas Técnicas de Uso y Aplicación

3.1 MÓDULO DE GENERACIÓN DE RELOJ – CGMC

GENERACIÓN DE FRECUENCIA DE BUS CON EL MÓDULO CGMC (SOLO GP32)

Preparado por: Rangel Alvarado

Estudiante Graduando de Lic. en Ing. Electromecánica Universidad Tecnológica de Panamá

Panamá, Panamá

“e-mail”: issaiass@cwpanama.net

“web site”: http://www.geocities.com/issaiass/

3.1.1 Introducción

ÍNDICE

3.1.1 Introducción 321

3.1.2 Lazos Enganchados de Fase - PLL 322

3.1.3 Registros de Estado y Control del

Módulo de Reloj 322 3.1.4 Diagrama de Flujo 325 3.1.5 Código 327 3.1.6 Simulación 333 3.1.7 Conclusión 334 3.1.8 Referencias 334 3.1.9 Problemas Propuestos 334

(2)

322

Figura 181. Registros de Estado y Control del Módulo de Reloj. (a) Registro de Control del PLL. Controla el estado del PLL, interrupciones, activación y variables P, E. (b) Registro de Control del Ancho de Banda del PLL. Configura el PLL para modo automático, define cuando esta

listo y su modo de operación entre adquisición o “tracking”.

(1) Detecta si la señal está desplazada y

genera pulsos hacia el filtro. (2) Elimina frecuencias fuera de rango.

(3) Genera una señal de oscilación hacia el detector de fase e incrementa la frecuencia ligeramente.

Figura 180. Lazo Enganchado de Fase o PLL. Para el microcontrolador GP32, el PLL incorporado genera una frecuencia de oscilación

la cual es utilizada como reloj del sistema.

(4) Lazo de retroalimentación.

1 = PLL habilitado 0 = PLL inhabilitado 1 = Interrupciones habilitadas 0 = Interrupciones deshabilitadas

Nota: Si el bit AUTO en PBWC está habilitado, PLLF siempre leerá un 0. Nunca Programar E para un valor igual a 112

1 = Reloj del sistema depende del PLL 0 = Reloj del sistema depende del Cristal. 1 = PLL disponible. Si PLLIE está habilitado, genera una

interrupción.

0 = PLL bloqueado, no debe ser usado aún.

E, Multiplicador de potencia base dos del VCO.

P, Bits de Programación

del preescalar. 1 = Control Automático 1 = Modo “Tracking” 0 = Control Manual 0 = Modo de Adquisición

1 = La frecuencia del VCO es cercana a la deseada. 0 = La frecuencia del VCO está lejos de la deseada. Nota: Si AUTO = 1, el bit LOCK siempre leerá un 0.

Cuando el bit LOCK = 1 se puede cambiar la referencia del reloj del sistema.

Un PLL es un circuito que permite que una señal de referencia externa controla la frecuencia y la fase de un oscilador, el mismo, detecta la señal de entrada, la filtra y compara con la señal de oscilación ajustando así la diferencia de fase (señal desplazada).

3.1.3.1 Registros de Control del PLL

(a) (b)

3.1.2 Lazos Enganchados de Fase - PLL

(3)

Nota Técnica

Módulo de Generación de Reloj

323

N, Selector Multiplicador de la Frecuencia del PLL. Nota: NMáx = 212 – 1 = 409510.

N = 0, impone por defecto N = 1.

R, Selector del Divisor de Referencia del PLL.

L, Selector de Rango del VCO del PLL Nota: 1510 R > 0; 25510 L > 0

L = 0, Deshabilita el PLL. R = 0, impone por defecto R = 1

Figura 182. Registros de Estado y Control del Módulo de Reloj (Continuación). (a) Registros Selectores de Multiplicador de la Frecuencia del PLL. Controlan el Módulo del divisor de la retroalimentación del VCO. (b) Registro Selector de Rango del VCO del PLL. Controla el rango lineal

en el cual opera el detector de fase. (c) Selector del Divisor de Referencia del PLL. Igualmente, este registro controla el rango lineal.

Los registros de la figura 181 y 182 no se podrán configurar si PLLON = 1 Valor actual de N P 0

<

N

NMáx 0 NMáx

<

N

NMáx × 2 1 NMáx × 2

<

N

NMáx × 4 2 NMáx × 4

<

N

NMáx × 8 3 Rango de Frecuencias [MHz] E 0

<

ƒVCLK

<

9.8304 0 9.8304.

ƒVCLK

<

19.6608 1 19.6608

ƒVCLK

<

39.3216 2

1. Escoger una frecuencia de bus deseada menor o igual a ocho Megahertz (8 MHz), ƒBUSDES.

2. Calcular la frecuencia del VCO,

ƒVCLKDES = 4 × ƒBUSDES

Ecuación 8. Frecuencia Deseada de Oscilación

3. Apuntar el Cristal de referencia ƒRCLK = ƒXTAL

Ecuación 9. Cristal de Referencia PLL

4. Si, 30 kHz

ƒRCLK

100 kHz, escoger R = 1, de lo contrario









×

=

RCLK VCLK RCLK VCLK Máx

f

f

f

f

R

R

round

int

Ecuación 10. Selector Divisor de Referencia del PLL

(a) (b)

(c)

3.1.3.2 Pasos para la Programación del PLL del GP32

Tabla 69. Parámetros de Configuración del PLL

(4)

324

Figura 183. Configuración del PLL a frecuencia máxima de Bus con Cristal de 4.9152 MHz. (a) PCTL. Inhabilitar el PLL y luego configurar P y E. (b) PBWC. Habilitar el modo automático. (c) PSM[H:L]. (c.1) y (c.2); configurar N. (d) PMRS. Configurar L. (e) PMDS. Configurar R y

luego, habilitar el PLL en el registro PCTL, PLLON = 1.

5. Calcular N para extraer P de la tabla 61(a).





 ×

=

RCLK VCLKDES

f

f

R

N

round

Ecuación 11. Multiplicador de Referencia

6. Calcular la frecuencia del VCO y del bus:

R

f

N

f

P RCLK VCLK

=

2

×

×

/

Ecuación 12. Frecuencia del VCO

4

/

VCLK

BUS

f

f

=

Ecuación 13. Frecuencia de Bus

7. Seleccionar un valor de E de la tabla 69(b). 8. Calcular:





=

NOM E VCLK

f

f

L

2

round

Ecuación 14. Selector de Rango del VCO

En donde fNOM = 38.4 kHz.

9. Recalcular:

(

E

)

NOM

VRS

L

f

f

=

×

2

Ecuación 15. Verificación del VCO

10. Verificar: 1

2

×

E NOM VCLK VRS

f

f

f

Ecuación 16. Verificación de Parámetros del PLL

3.1.3.3 Ejemplo de Programación y Configuración del PLL

Sea un Cristal Externo de 4.9152 MHz y la frecuencia de bus de 8 MHz, configure el PLL. 1. ƒBUSDES = 8 MHz. 2. ƒVCLKDES = 32 MHz. 3. ƒRCLK = 4.9152 MHz. 4. R = 8. 5. P = 0. 6. ƒVCLK = 31.9488 MHz. 7. E = 2. 8. L = D016 9. ƒVRS = 31.9488 MHz. 10. 0

76.8 k

Tabla 70. Parámetros de Configuración para Frecuecias de Bus

(c.1)

(c.2)

(a) ƒXTAL = 4.9152 MHz (b) ƒXTAL = 9.8304 MHz (d)

(a) (b) (e) ƒBUS [MHz] P E N L R 2.0 0 0 F D5 9 2.5 0 1 2 80 1 4.0 0 1 D D0 4 4.9152 0 2 4 80 1 7.3728 0 2 6 C0 1 8 0 2 34 D0 8 ƒBUS [MHz] P E N L R 2.0 0 0 F D5 9 2.5 0 1 1 80 1 4.0 0 1 F D5 9 4.9152 0 2 2 80 1 7.3728 0 2 3 C0 1 8 0 2 D D0 4

(5)

Nota Técnica

Módulo de Generación de Reloj

325

Figura 184. NT1001 – CGM. (a) Programa principal. Configura el Módulo CGMC para generar una frecuencia

máxima de bus basada en un cristal de 4.9152 MHz y conmuta un LED a 50 Hz. (b) Reinicio del Sistema. Al

presionar “reset”, reinicia el sistema.

Bandera Máscara Dirección Vector (Dirección)

FFF2 Vector del PLL (Alto) PLLF AUTO,

PLLIE FFF3 Vector del PLL (Bajo)

Si el bit AUTO está en 1 y las interrupciones están habilitadas (PLLIE = 1) el CPU generará interrupciones si el bit LOCK cambia de estado. Además, cuando el bit AUTO, esté en 0, las interrupciones estarán deshabilitadas y el bit LOCK leerá siempre 0.

10k 0.01uF 0.033uF VDDa VSSa CGMX Osc2 Osc1 RST PTC0 PTC1 PTC2 PTC3REFHREFL PTA0 PTA1 PTA2 PTA3 PTA4 PTA5 PTA6 PTA7 GP32

Nota: Para que el PLL funcione, se necesita realizar la siguiente conexión adicional de componentes pasivos, elija cualquiera de las dos configuraciones.

0.47uF VDDaVSSa CGMX O 2 PTA4PTA5

PTA6 PTA7 GP32

3.1.2.4 Vector de Interrupción del Módulo de Generación de Reloj

Tabla 71. Vector de Interrupción del Módulo PLL

El programa configura el microcontrolador GP32, para que se genere una frecuencia máxima de bus con un cristal externo de 4.9152 MHz y utilizar un retardo de “software” para conmutar el LED PTA6 a una frecuencia de cincuenta hertz (50 Hz).

(b)

(a)

(6)

326

Figura 185. NT1001 – CGMC (continuación, subrutinas). (a) INIT_PLL. Configura el módulo de generación de reloj para que en base a un cristal de 4.9152 MHz genere una frecuencia de bus máxima. (b) INIT_PORTS. Inicializa el puerto A6 en bajo y luego lo ubica como salida para el LED. (b) INIT_ADC. Configura para conversión en el puerto A5. (c) INIT_CONFIG. Inicializa el registro de configuración 1 para inhabilitar el “watchdog”

y hacer que el LVI trabaje a 5V. (d) Delay. Subrutina de retardo programable de un milisegundo (1 ms) de base de tiempo.

(a) (b) (c) (d)

(7)

Nota Técnica

Módulo de Generación de Reloj

NT1001

Rev. 1 del 07.08.05

327

;================================================================= ; ARCHIVO : NT1001 - CGMC - 23 07 04.asm

; PROPÓSITO : Configura el microcontrolador para que con un Cristal ; Externo de 4.9152 MHz, genere una frecuencia de bus de ; 8 MHz y conmute el estado del LED PTA6 a una rata de 50 Hz ;

; NOTA :

; 1 - Observar la rutina de inicialización del PLL.

; 2 - El módulo PLL puede generar una frecuencia máxima o ; cualquiera deseada por el usuario independientemente del ; cristal externo que se tenga.

; REFERENCIA :

; MC68HC908GP32, MC68HC08GP32 Technical Data ; http://www.freescale.com/files/microcontrollers/doc/ ; data_sheet/MC68HC908GP32.pdf

; Págs. 113 @ 116 - Programación del PLL, sección 7.4.6 ;

; LENGUAJE : IN-LINE ASSEMBLER

; --- ; HISTORIAL ; DD MM AA ; 22 07 04 Creado. ; 15 09 04 Modificado. ;================================================================= ; Pasos para iniciar el PLL.

; Nota : Utilizar siempre los últimos valores si estos son redundantes en la ; calibración, p.e. N

; 1 - Escoger una frecuencia de bus, Fbusdes ; 2 - Calcular Fvclkdes = 4 * Fbusdes

; 3 - Calcular la frecuencia del Cristal externo Frclk ; 3.1 - Si 30 kHz <= Frclk <= 100 kHz ---> R = 1 ; 3.2 - Si Frclk > 100 kHz, utilizar la ecuación:

; R = round{Rmáx*[(Fvclkdes/Frclk) - int(Fvclkdes/Frclk)]} ; 4 - Calcular N = round(R*Fvclkdes/Frclk)

; 5 - Seleccionar P de la tabla en la pág. 114 del manual ; 6 - Nuevamente calcular:

; 6.1 - N = round[R*Fvclkdes/(Frclk*2^P)] ; 6.2 - Fvclk = 2^P*N*Frclk/R

; 6.3 - Fbus = Fvclk/4

; 7 - Seleccionar E de la tabla de la página 115 ; 8 - Calcular L = round[Fvclk/(2^E*Fnom)], en donde ; Fnom = 38.4 kHz

; 9 - Calcular Fvrs = L*2^E*Fnom

; 10- Verificar que |Fvrs - Fvclk| <= (Fnom * 2^E)/2

; 11- Los Registros correspondientes de cada variable son: ; 11.1 PCLT_PRE[1:0] = P ; 11.2 PCTL_VPR[1:0] = E ; 11.3 PMS[H(3:0):L] = N ; 11.4 PMRS = L ; 11.5 PMDS = R ;

3.1.5 Código

(8)

NT1001

Rev. 1 del 07.08.05

328

Nota Técnica

; Pasos para programar el PLL.

; 1 - Desactivar el PLL, PCTL_PLLON = 0

; 2 - ¿Necesito Interrupciones?, Programar P & E, PCTL_BCS = 0 ; 3 - Programar N, PMSH[3:0] + PMSL

; 4 - Programar L, PMRS = L ; 5 - Programar R, PMDS = R

; 6 - Seleccionar modo automático (recomendado), PBWC_AUTO = 1 ; 7 - Activar el PLL, PCTL_PLLON = 1

; 8 - Esperar la interrupción o que la bandera PLLF = 1 ; 9 - Cambiar a la referencia interna del VCO, PCTL_BCS = 1

;================================================================= $SET ICS08 ; ICS08 = 1, Vamos a simular en la pastilla ; la velocidad de simulación es menor en la ; PC.

;$SETNOT ICS08 ; ICS08 = 0, Vamos a programar la pastilla ; la aplicación debe correr en tiempo real ;=============================================

; Definiciones del Usuario

;=============================================

DELAY32 equ $03E4 ; Retardo para 8 MHz de Bus

PTA6 equ 6T ; Puerto A, Bit 6

DDRA6 equ 6T ; Registro de Direccionamiento A, Bit 6 LVI5OR3 equ %00001000 ; CONFIG1, Bit de Operación del LVI, LVI @

; 5V

COPD equ %00000001 ; CONFIG1, Bit de Inhabilitación de Watchdog, ; BIT 0 ON

PLLIE equ %10000000 ; PCTL, Bit de Habilitación de interrupciones, ; Bit 7 ON

PLLF equ 6T ; PCTL, Bandera de Interrupciones ; pendientes, Bit 6

PLLON equ 5T ; PCTL, Bandera de activación del PLL, por ; defecto en alto

BCS equ 4T ; PCTL, Seleccionador del Reloj Base, Bit 4 PRE1 equ 0T ; PCTL, Divisor de la Frecuencia a la potencia

; de Dos, Bit 3 OFF

PRE0 equ 0T ; PCTL, Divisor de la Frecuencia a la potencia ; de dos, Bit 2 OFF

P equ PRE1|PRE0 ; PCTL_PRE[1:0] = P, Divisor de la frecuencia ; a la potencia de dos

VPR1 equ %00000000 ; PCTL, Multiplicador a la potencia de dos del ; VCO, Bit 1 ON

VPR0 equ %00000010 ; PCTL, Multiplicador a la potencia de dos del ; VCO, Bit 2 OFF

E equ VPR1|VPR0 ; PCTL_VPR[1:0] = E, Multiplicador a la ; potencia de dos del VCO

AUTO equ 7T ; PBWC, Habilitador del Modo Automático de ; Control del Ancho de Banda, Bit 7 ON LOCK equ 6T ; PBWC, Bandera de Aviso del PLL

; Inicializado (Cuando AUTO = 1 y LOCK = 1) ; el PLL corre a la frecuencia programada MUL11_8 equ $0 ; PMSH, Multiplicador de la frecuencia del

(9)

Nota Técnica

Módulo de Generación de Reloj

NT1001

Rev. 1 del 07.08.05

329

; VCO, Bits OFF

MUL7_0 equ $34 ; PMSL, Multiplicador de la frecuencia del ; VCO, valor de 7

N equ MUL11_8|MUL7_0 ; PMS[H:L] = N, Multiplicador de la frecuencia ; del VCO

VRS7_0 equ $D0 ; PMRS, Selector de Rango del VCO L equ VRS7_0 ; PMRS = L, Selector de Rango del VCO RDS3_0 equ $08 ; PMDS, Selector de Divisor de Referencia,

; por defecto, siempre 1

R equ RDS3_0 ; PMDS = R, Selector de Divisor de ; Rererencia

;============================================= ; Mapa de Memoria del Microcontrolador

;============================================= ;============================================= ; Registro de E/S

;============================================= PORTA equ $0000 ; Dirección, Puerto 0

DDRA equ $0004 ; Registro de Direccionamiento, Puerto 0 ;=============================================

; Módulo Generador de Reloj

;=============================================

PCTL equ $0036 ; Registro de Control del PLL, también ; parámetros P & E

PBWC equ $0037 ; Registro de Control del Ancho de Banda del ; PLL

PMSH equ $0038 ; Registro Selector del Multiplicador N (Alto) PMSL equ $0039 ; Registro Selector del Multiplicador N (Bajo) PMRS equ $003A ; Registro Selector del Rango Lineal L

PMDS equ $003B ; Registro Selector del Divisor de Referencia R

;============================================= ; Registro de Configuraciones

;============================================= CONFIG1 equ $001F ; Vector de configuración 1 ;============================================= ; Memoria FLASH

;============================================= FLASH_START equ $8000 ; Puntero - Mem.FLASH ;============================================= ; Vectores de Usuario

;=============================================

PLLH equ $FFF8 ; Vector de Módulo de Lazo de Fase Cerrada

(10)

NT1001

Rev. 1 del 07.08.05

330

Nota Técnica

;============================================= ; OBJETIVO : Inicio de Codif. del Ensam-

; blador en Memoria FLASH.

;============================================= org FLASH_START ; Inicio Mem. FLASH ;============================================= ; OBJETIVO : Inicializa el PLL para operar

; a la máxima frecuencia de bus ; (8 MHz).

; Prende y apaga el LED cada ; 10 ms, lo que causa una fre- ; cuencia de 50 Hz ;============================================= START rsp ; Inic.Stack = $00ff clra ; Borra A clrx ; Borra X

jsr INIT_CONFIG ; Inicializa el módulo de Configuración jsr INIT_PORTS ; Inicializa Puertos

jsr INIT_PLL ; Inicializa Módulo Fase de Lazo Cerrado

ESPERA

ldhx #10T ; A retardar 10 ms

$IFNOT ICS08 ; Solo retarda si se está en modo de ; programación

jsr Delay ; Retarda $ENDIF

com PORTA ; Conmuta el puerto (50 Hz) bra ESPERA ; Salta al modo de bajo consumo ;=============================================

; INIT_CONFIG : Inicializa registro de confi- ; guración.

; OBJETIVO : Habilita pin Reset, LVI a 5 V ; y Watchdog inhabilitado. ; ENTRADA : Ninguna ; SALIDA : Ninguna ; REGISTROS ; AFECTADOS : CONFIG1 ;============================================= INIT_CONFIG

mov #{LVI5OR3|COPD},CONFIG1 ; LVI a 5V, Watchdog inhabiliado rts ; retorna

(11)

Nota Técnica

Módulo de Generación de Reloj

NT1001

Rev. 1 del 07.08.05

331

;=============================================

; INIT_PORTS : Inicializa variables y re- ; gistros.

; OBJETIVO : Inicializa los registros de ; direccionamiento. ; PTA6 = LOW ; PTA6 = HIGH ; ENTRADA : Ninguna ; SALIDA : Ninguna ; REGISTROS ; AFECTADOS : PORTA ;============================================= INIT_PORTS

bclr PTA6,PORTA ; Puerto A 6 en bajo bset DDRA6,DDRA ; Puerto A 6 es salida rts ; retorna

;============================================= ; INIT_PLL : Inicializa el módulo de PLL.

; OBJETIVO : Módulo PLL operando a la fre ; cuencia de bus MÁXIMA. ; ENTRADA : Ninguna ; SALIDA : Ninguna ; REGISTROS ; AFECTADOS : PCTL, PMS[H:L], PMSR, PMDS, ; PBWC ;============================================= INIT_PLL bclr PLLON,PCTL ; Inhabilita PLL

mov #{P|E},PCTL ; Selecciona reloj del sistema CGMOOUT = ; CGMXCLK/2,

; Programa P = 0T, E = 2T

ldhx #N ; Registro de Seleccionador del Multiplicador, ; N = 52T

sthx PMSH ; Almacena en el registro mov #L,PMRS ; Selector de Rango, L = 208T

mov #R,PMDS ; Selector de Divisor de referencia, R = 8T bset AUTO,PBWC ; PLL decide entre los modos de adquisición y

; tracking

bset PLLON,PCTL ; Enciende el PLL

brclr PLLF,PCTL,* ; Espera a que se configure el PLL

bset BCS,PCTL ; Cambia el PLL a la referencia interna del ; VCO

; CGMOUT = CGMVCLK/2 rts ; Retorno

(12)

NT1001

Rev. 1 del 07.08.05

332

Nota Técnica

;============================================= ; DELAY : Genera un retardo de tiempo

; OBJETIVO : Retardo de tiempo, base 1ms ; ENTRADA : H:X = Retardo en ms ; SALIDA : H:X = 0 ; REGISTROS ; AFECTADOS : H:X ; USO : ; MIN = H:X = 1T ; MÁX = H:X = 65535T ; ldhx #500

; jsr Delay ; retarda 0.5 seg

;============================================= Delay pshx ; [2] Salva X en la pila pshh ; [2] Salva H en la pila

ldhx #DELAY32 ; [3] Carga constante de bucle fino Delay0 aix #-1 ; [2] Decrementa H:X en 1

cphx #0 ; [3] LLegó a cero (0)

bne Delay0 ; [3] Si no es igual, salta a Delay0 pulh ; [2] Si es igual, recupera H de la pila pulx ; [2] Recupera X de la pila

aix #-1 ; [2] Decrementa H:X en 1 cphx #0 ; [3] LLegó a cero (0)

bne Delay ; [3] Si no es igual, salta a Delay rts ; [4] retorna

;============================================= ; OBJETIVO : Inicializa el Vector de Reset

; Arranque del programa en la ; memoria Flash y búsqueda de ; la interrupción del módulo de ; fase de lazo cerrado.

;============================================= ;===== Vector de Reinicio de Sistema =======

org RESET_VEC ; Puntero Vec - RESET dw START ; al darse reset salta a Start

Listado 21. NT1001 – CGMC. El programa principal inicializa el Módulo de Generación de Reloj con un cristal externo de 4.9152 MHz y generar una frecuencia

(13)

Nota Técnica

Módulo de Generación de Reloj

333

(a) Sitúe “breakpoints” en la inicialización del PLL

(b) Al llegar al “breakpoint” ejecute cada instrucción paso a paso (a excepción de la línea brclr PLLF,PCTL,*; ejecútela en “Go”) y observe la configuración de un PLL.

Figura 186. Simulación del Programa Principal. (a) “Breakpoint”. Sitúe “breakpoints” para visualizar la configuración del módulo de generación de reloj. (b) Registros del Módulo de Generación de Reloj. Ejecute cada instrucción y cuando haya llegado a la subrutina de inicialización, deduzca

la variación que causa en el registro. (c) Frecuencia de Bus Límite. Luego de la última línea, el microcontrolador cambia al PLL como reloj de referencia, el cual actúa en el límite del bus.

(a) Inicie WinIDE.

(b) Cargue el archivo NT1001 – CMGC – 23 07 04.asm. (c) Compile.

(d) Entre al simulador.

(e) Añada “breakpoints” según la figura 186(a).

(f) Corra su programa y en la sección de llamado a la rutina de inicialización del módulo reloj (INIT_PLL) observe la ejecución de cada instrucción, ver figura 186(b).

(g) Observe la ventana de ciclos, figura 186(c) y note que la frecuencia del bus ha cambiado a aproximadamente 8 MHz. (h) Ejecute el programa en modo multipaso y observe el resultado de la conmutación del LED.

(i) Si desea “quemar” su pastilla, revisar la NT0009, Sección 1.9.5.

Nota: Recuerde mover su compilación condicional si desea que su programa corra en tiempo real:

; $SET ICS08 $SETNOT ICS08 (c) Luego de la última línea, el

simulador (BCS = 1) capta la nueva frecuencia de bus, que es muy cercana a la máxima.

PCTL PBWC PMSH

PMSL PMSR PMDS

(14)

NT1001 Rev. 1 del 07.08.05

334

Nota Técnica

http://www.freescale.com/files/microcontrollers/doc/data_sheet/MC68HC908GP32.pdf http://www.profesores.frc.utn.edu.ar/electronica/electronicaaplicadaiii/descargas.htm Independientemente del cristal que se posea, para el microcontrolador GP32, se pueden generar frecuencias de buses mayores a la actual. Como el bus del sistema varía, afecta directamente a los módulos como el temporizador, ADC, SCI, que empiezan a calcular en base a esta referencia.

Para efecto práctico, se puede realizar un programa que calcule los parámetros de configuración del PLL; por otro lado, esta nota abarca la configuración a máxima frecuencia de bus, demostrando el poder del módulo de generación de reloj.

3.1.8.1 Data Técnica del MC68HC908GP32, MC68HC08GP32 (a)

Pág. 108 – Diagrama de Bloques del Módulo de Generación de Reloj, figura 7-1 Pág. 109 – Lazos Enganchados de Fase (PLL), Sección 7.4.2

Pág. 110 – Descripción funcional de la figura 7-1 Págs. 113 – 117 – Programación del PLL.

Págs. 119 y 135 – Circuito de Conexión Externa del PLL. Pág. 122 – 130 – Información General de Registros de Control. Págs. 131 y – Interrupción del PLL.

3.1.8.2 Manual de Referencia del CPU

(a) http://www.freescale.com/files/microcontrollers/doc/ref_manual/CPU08RM.pdf

3.1.8.3 Información General de PLL

(a) http://users.telenet.be/educypedia/electronics/pll.htm (b)

3.1.8.4 Otro Código Fuente de PLL en ensamblador (c) http://www.robotroom.com/PLL.html

3.1.8.5 Página “web” de Microcontroladores de esta nota (a) http://www.geocities.com/issaiass/index.htm

3.1.9.1 Calcule los parámetros de configuración del PLL para GP32, para un Cristal de 9.8304 MHz y frecuencia de bus de 8 MHz.

3.1.9.2 Calcule los parámetros del PLL para un Cristal de 4.9152 MHz y frecuencia de bus de 2.5 MHz, y hacer conmutar un LED a 60 Hz utilizando el temporizador.

3.1.7 Conclusión

3.1.8 Referencias

Referencias

Documento similar

 Para recibir todos los números de referencia en un solo correo electrónico, es necesario que las solicitudes estén cumplimentadas y sean todos los datos válidos, incluido el

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

&#34;No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

Por lo tanto, en base a su perfil de eficacia y seguridad, ofatumumab debe considerarse una alternativa de tratamiento para pacientes con EMRR o EMSP con enfermedad activa

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la