Ejemplo de Dispositivos en Kit

Download Report

Transcript Ejemplo de Dispositivos en Kit

Dispositivos Disponibles en los Distintos Kits DEMOACKIT y DEMOACEX Parte I

LEDs en KIT10

LED 4  LED 3  LED 2  LED 1  PTF5 PTF4 PTF1 PTF0 Dos Registros para manejarlos • PTFDD (Data Direction) Indica si el pin es de entrada(0) o de salida(1).

• PTFD (Data) Indica el valor del pin .

Logica Negativa  0 Led Activado 1 Led Desactivado

LEDs en Expansion

LED 5  LED 6  LED 7  LED 8  LED 9  LED 10  PTE2 PTE3 PTE4 PTE5 PTE6 PTE7 LED 11  LED 12  LED 13  LED 14  LED 15  LED 16  PTA2 PTA3 PTA4 PTA5 PTA6 PTA7 Logica positiva  1 Led Activado 0 Led Desactivado

SWITCHs en KIT10

SWITCH 4  SWITCH 3  SWITCH 2  SWITCH 1  PTG3 PTG2 PTG1 PTG0 Tres Registros para manejarlos • PTGDD (Data Direction) Indica si el pin es de entrada(0) o de salida(1).

• PTGD (Data) Indica el valor del pin .

• PTGPE (Pullup Enable) El valor 1 habilita el pullup.

Luego del reset los dist. Pins son de imput. La rutina de INICIO deberia hacer PTxPE=1 o cambiar la direccion del pin a OUTPUT.

SWITCHs en Expansion

Los switchs de la plaqueta de expansión no son del tipo mecánico.

Son del tipo campo eléctrico. Detectan la variación de capacidad entre dos electrodos cuando un objeto extraño interfiere.

Su uso mas frecuente es:        Teclados con contactos SI/NO.

Paneles de control Sensado de nivel Sensado de hielo Deslizantes lineales o rotativos Detección de proximidad Detección de tamaño

SWITCHs en Expansion

El dispositivo entrega una variable analógica que es función de la capacitancia entre los electrodos en el pin AD1P11 (ingreso al conversor analógico digital). 4 variables de entrada seleccionan al electrodo cuyo valor se entregará según la siguiente tabla: PTC4 PTC2 PTC1 PTC0 Entrega 0 0 0 0 0 1 1 0 E1 E2 0 0 1 1 E3 0 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 E4 E5 E6 E7

SWITCHs en Expansion

La relación entre los Switchs y los electrodos E es: Izq Central B1 Der E3 E2 E1 B2 B3 B4 B5 B6 B7 B1  E7 B2  E3 B3  E2 B4  E1 B5  E3 y E1 B6  E3 y E2 B7  E1 Y E2 CENTER  E4 DER  E5 IZQ  E6

SWITCHs en Expansion

En el ejemplo de aplicación al leer AD1P11 no se hace una sola B1 lectura sino que se promedian 8 lecturas consecutivas.

Esto es porque la sensibilidad de este tipo de switch es muy alta y la señal entregada varía mucho aunque el dedo permanezca sobre el switch. Comprobar que a pesar de ello los Leds parpadean. La aplicación ejemplo esta armada de la siguiente forma: El potenciómetro regula la sensibilidad de los switchs y debe ubicarse de forma tal, que en reposo, ninguno de los leds 1, 2 y 3 estén activados.

Cada switch activa distintos Leds según la siguiente descripción:  Titilan Leds 5 a 10 B2  Led3 B3  Led2 B4  Led1 B5  Leds1 y 3 BCentral  Led8 BCentral y Der  Led9 B6  BDer Leds2 y 3 B7 BCentral y Izq  Led10   Led7 Leds 1 y 2 BIzq BIsq y Der   Leds 5 y 6 Leds10, 5 y 6

POTENCIOMETRO

El potenciómetro es una resistencia de 5 Kohm conectada entre VDD y GND. La salida es un punto intermedio de la resistencia y se entrega en el pin AD1P8/ACMP1+/PTD0.

COMPARADOR

Existen dos comparadores ACMP1 y ACMP2. Cada uno compara dos voltajes aplicados a ACMPx+ y ACMPx- o compara un voltaje aplicado a ACMPx- con un voltaje generado internamente.

La salida es ALTA cuando ACMPx+ es mayor que ACMPx- y viceversa. La salida puede leerse en una variable llamado ACO y también se entrega al exterior en el pin ACMPxO.

El funcionamiento se controla mediante un registro de 8 bits (ACMPxSC) ACME ACBGS ACF ACIE ACO ACOPE ACME  Dispositivo enable(1) o disable ACBGS  ACMPx+ es externo (0) o interno ACF  es seteado cuando un evento según ACMOD ocurre ACMOD ACIE  ACO  enable interrupcion (1) o disable es el valor de la salida ACOPE  cuando vale 1, la salida estará disponible en ACMPxO ACMOD  Define el tipo de comparacion que setea ACF 00 y 10  falling edge 01  rising edge 11  falling and rising edge

CONVERSOR ANALÓGICO DIGITAL

Se puede elegir entre 28 canales. La salida puede ser de 8, 10 o 12 bits.

Cuando termina una conversion pone un Flag y/o interrumpe.

Registros que lo controlan: ADCSC1/2 ADCRH/RL ADCCVH/VL ADCCFG APCTL1/2/3 Status y Control 1 y 2 Data Result high y low Compare Value high y low Configurator Pins enable

COCO

CONVERSOR ANALÓGICO DIGITAL

ADCSC1 AIEN ADCO ADCH COCO  Complete Flag. Es seteado cuando termina una conversion si no hay comparacion(ACFE=0) o si hay comparacion cuando la misma se cumple. Se reseteado al leer el registro ADCRL AIEN  interrupciones enable ADCO  (0) Una sola conversion, (1) Conversiones continuas ADCH  Imput Channel (00000)  Ch0 (11011)  Ch27

CONVERSOR ANALÓGICO DIGITAL

ADACT ADTRG ACFE ADCSC2 ACFGT 0 0 0 0 ADACT  Conversion activa. Es seteado cuando la conversion se inicia y reseteado cuando termina ADTRG  Conversion Trigger Select (0)  SW, (1)  HW ACFE  Compare Function Enable ACFGT  (0) Dispara cuando imput es menor que compare value (1) Dispara cuando imput mayor o igual a compare value

CONVERSOR ANALÓGICO DIGITAL

ADCRH Y ADCRL Son dos registros de 8 bits cada uno que representan el valor convertido.

Se debe leer primero RH. Esto bloquea un nuevo dato hasta que se lea RL. Si no se lo hace antes que una nueva conversión termine el dato se pierde.

ADCCVH Y ADCCVL Representan el valor de comparación.

CONVERSOR ANALÓGICO DIGITAL

ADCFG ADLPC ADIV ADLSMP MODE ADICLK ADLPC  (0) High speed configuration, (1) Low Power configuration ADIV  Clock divide selector 00  %1, 01  %2, 10  %4, 11  %8 ADLSMP  Long Sample Time Configurator 0  short, 1  Long MODE  Selecciona cant. bits de la salida. 00  8, 01  10, 10  12 ADICLK  Imput Clock select. 00  bus clock 01  10 11   bus clock % 2 ALTCLK ADACK

CONVERSOR ANALÓGICO DIGITAL

APCTL1, APCTL2 Y APCTL3 Definen la función de 24 pines del CPU (0) El pin funcionará como I/O pin (1) El pin funcionará como entrada de alguno de los canales del conversor analógico digital

CONVERSOR ANALÓGICO DIGITAL

DESCRIPCION FUNCIONAL Luego del reset el ADC está disable.

Si ADCH = todos 1’s el ADC está disable Cuando una conversión es completada el dato se coloca en ADCRH/RL (según sea de 8, 10 o 12 bits), el flag COCO es seteado y si AIEN=1 se genera una interrupción Una conversión se inicia cuando:  Luego de grabar ADCSC1 (con ADCH no todos 1’s) si SW trigger es seleccionado   Luego de un pulso en ADHWT si HW trigger es seleccionado Luego de una transferencia a ADCRH/RL si conversión continua es seleccionada

CONVERSOR ANALÓGICO DIGITAL

Secuencia de Trabajo 1º Grabar ADCCFG para seleccionar: imput clock, divide, sample time, low power 2º Grabar ADCSC” para seleccionar: Trigger (SW o HW), compare función (ON o OFF) 3º Grabar ADCSC1 para seleccionar: Continua o única, con interrupciones o no, el canal a utilizar 4º Esperar hasta que COCO=1 o hasta que se produzca la interrupción 5º Leer ADCRH y luego ADCRL

Dispositivos Disponibles en los DistiCs Kits DEMOACKIT y DEMOACEX Parte II

KEYBOARD Interrup (KBI)

Para no tener que estar chequeando permanentemente el status de los switch el micro tiene un modulo que genera interrupciones ante la presencia de un evento en la entrada asociada al switch.

KEYBOARD Interrup (KBI)

Los 4 switch estan relacionados con 4 señales de interrupción KBI1P0/1/2/3.

El modulo tiene 2 registros para controlar su funcionamiento: Status and control register KBISC Pin enable register KBIPE

KEYBOARD Interrup (KBI)

KBED G7 KBED G6 KBED G5 KBED G4 KBF KBACK KBIE KBIMOD KBEDG7/6/5/4: Edge select para los port bits 7/6/5/4. 0  frente negativo o nivel bajo 1  frente positivo o alto KBF: es set cuando algun KBI dispara la interrupción. Se resetea grabando 1 en KBACK.

KBIE: 1  Interrup enable. 0  Interrup disable KBIMOD: Deteccion mode. 0  edge only 1  edge y nivel Port 0-3 solo frente negativo (fn) o fn y nivel bajo Port 4-7 dependen también de KBEDGn.

00  fn 01  fn y nivel bajo 10  fp 11  fp y nivel alto

KEYBOARD Interrup (KBI)

KBIPE 7 KBIPE 6 KBIPE 5 KBIPE 4 KBIPE 3 KBIPE 2 KBIPE 1 KBIPE 0 KBIPEn:Definen la funcion de los port bits del modulo 0  el port es un pin de I/O de uso general.

1  el port es un keyboard interrup input.

FTM(Flex Timer Module)

Es un contador de 16 bits (con o sin signo) que puede tener hasta 8 canales que soportan: INPUT CAPTURE: cuando en una señal externa ocurre un evento el valor del FTM es salvado.

OUTPUT COMPARE: un cierto nivel un evento ocurre en una señal externa cuando el valor del FTM alcanza PWM: Una señal externa asume ciclicamente valores 0 o 1 pudiendose controlar el periodo y el tiempo en cada valor

FTM(Flex Timer Module)

 El FTM usa un I/O Pin por canal(FTMxCHn) el cual es compartido por un I/O pin de uso general. Los registros Data, Data Direction y PullUp Enable siguen teniendo valor.

 La fuente para el clock puede ser: System clock. Fixed system clock External clock  Puede pre-escalarse dividiendo por:1, 2, 4, 8, 16, 32, 64, 128.

FTM(Flex Timer Module)

 Si el contador es Up (CPWMS=0) cuenta entre un Valor Inicial (INIT) y un valor MODULE (MOD). Cuando llega a MOD carga nuevamente INIT. El flag y la interrupción, si esta activada, ocurren cuando el contador cambia de MOD a INIT  Si el contador es Up-Down (CPWMS=1) cuenta entre INIT y MOD y luego decrementa hasta INIT nuevamente. El flag y la interrupción, si esta activada, ocurren cuando el contador cambia de MOD a MOD-1

FTM(Flex Timer Module)

 El contador tiene 7 registros de control principales y otros adicionales.

FTM Status and Control Reg. (FTMxSC).

FTM Counter Reg. (FTMxCNTH/L). (contador) FTM Modulo Reg. (FTMxMODH/L). (MOD) FTM Initial Value Reg. (FTMxCNTINH/L). (INIT) Y cada canal tiene tres registros: FTM Channel (n) Status and Control Reg (FTMxCnSC) FTM Channel Value Reg. (FTMxCnVH/L). (VALUE)

FTM(Flex Timer Module) FTMxSC: Status and Control del Contador TOF TOIE CPWMS CLKS PS TOF: es seteado cuando el contador para de MOD a INIT es reseteado luego de leer este registro y grabar un 0 en TOF TOIE: interrup enable CPWMS: 0  contador UP 1  contador UpDown CLKS: clock source 00  10  Disable 01 Fixed System 11   System External PS:Factor de pre-escala 000  1 ……………111  128

FTM(Flex Timer Module) FTMxCNTH/L: Valor del contador. Cuando se lee un byte el otro se bufferea para mantener sincronizados los dos valores.

FTMxMODH/L: Registran el valor del modulo MOD.

FTMxCNTINH/L: Registran el valor inicial INIT.

FTM(Flex Timer Module) FTMxCnSC: Status and Control del Canal CHnF CHnIE MSnB MSnA ELSnB ELSnA Reservados CHnF :es seteado cuando: Input Capture: un Active Edge ocurre en el pin del canal.

Output Compare: el contador alcanza el valor VALUE.

PWM edge Aligned: el contador alcanza el valor VALUE.

PWM Center Aligned: el contador alcanza el valor VALUE. Tanto en Up como en UpDown.

CHnIE: interrup enable MSnB/A y ELSnB/A definen el comportamiento del canal según la tabla siguiente:

Table 11-7. Mode, Edge, and Level Selection

FTM(Flex Timer Module)

COMBINE

X 0 1

CPWMS

X 0

MSnB:MSnA

XX 00

ELSnB:ELSnA

00 01 01 1X 10 11 01 10 11 10 1 0 XX XX X1 10 X1 10

Mode Configuration

Pin not used for FTM - revert the channel pin to general purpose I/O Input capture Capture on rising edge only Output compare Edge-aligned PWM Capture on falling edge only Capture on rising or falling edge Toggle output on match Clear output on match Set output on match High-true pulses (clear output on match) Center-aligned PWM Low-true pulses (set output on match) High-true pulses (clear output on match-up) Combine PWM Low-true pulses (set output on match-up) High-true pulses (set on channel (n) match, and clear on channel (n+1) match) X1 Low-true pulses (clear on channel (n) match, and set on channel (n+1) match)

Table 11-7. Mode, Edge, and Level Selection

FTM(Flex Timer Module) FTMxCnVH/VL: Registran el valor VALUE

Table 11-7. Mode, Edge, and Level Selection

FTM(Flex Timer Module) Input Capture Mode FTMEN=0; COMBINE=0;CPWMS=0;MSnB:A=0:0; ELSnB:A<>0:0 Cuando el edge seleccionado ocurre en el ‘pin de entrada’ del canal el valor del ‘contador’ es capturado en ‘VALUE’, el flag del canal (CHnF) es seteado y si corresponde una interrupción de canal es generada.

Edge seleccionado  Rising, falling, ambos en funcion de ELSnB:A.

El PullEnable del pin de entrada debe activarse.

Table 11-7. Mode, Edge, and Level Selection

FTM(Flex Timer Module) Output Compare Mode FTMEN=0;COMBINE=0;CPWMS=0;MSnB:A=0:1 Cuando en contador alcanza VALUE el pin de salida del canal se setea a 0; 1 o se cambia según los valores de ELSnB:A.

El flag (TOF) es seteado y una interrupción del contador es generada, si corresponde, cuando el contador cambia de MOD a INIT.

El flag (CHnF) es seteado y una interrupción del canal es generada, si corresponde, cuando el contador alcanza VALUE.

FTM(Flex Timer Module) Output Compare Mode. Ejemplo FTMxMODH:L = 0x0005 FTMxCnVH:L = 0x0003 counter channel (n) overflow match counter overflow Channel(n) counter match overflow L 0 1 channel (n) output previous value 2 3 4 5 0 1 2 3 4 5 0 1 .

CHnF bit previous value TOF bit

Example of the output compare mode when the match toggles the channel output

FTM(Flex Timer Module) Edge Aligned Mode. FTMEN=0;COMBINE=0;CPWMS=0;MSnB=1 El periodo es determinado por MOD-INIT+1 y el ancho del pulso por VALUE-INIT El flag (TOF) es seteado y una interrupción del contador es generada, si corresponde, cuando el contador cambia de MOD a INIT.

El flag (CHnF) es seteado y una interrupción del canal es generada, si corresponde, cuando el contador alcanza VALUE.

FTM(Flex Timer Module) Edge Aligned Mode. FTMEN=0;COMBINE=0;CPWMS=0;MSnB=1 Se llama Edge Aligned pues el flanco positivo de las señales PWM de todos los canales estan alineados al comienzo del periodo.

FTM(Flex Timer Module) Center Aligned Mode. FTMEN=0;COMBINE=0;CPWMS=1 Es el único mode que usa el contador en UpDown El periodo es determinado por 2x(MOD-INIT) y el ancho del pulso por 2x(VALUE-INIT) El flag (TOF) es seteado y una interrupción del contador es generada, si corresponde, cuando el contador cambia de MOD a MOD-1.

El flag (CHnF) es seteado y una interrupción del canal es generada, si corresponde, cuando el contador alcanza VALUE tanto en Up como en Down

FTM(Flex Timer Module) Center Aligned Mode. FTMEN=0;COMBINE=0;CPWMS=1 Se llama Center Aligned pues el centro de las señales PWM de todos los canales están alineados con el valor INIT del contador

FTM(Flex Timer Module) Center Aligned Mode. FTMEN=0;COMBINE=0;CPWMS=1 Si un canal trabaja en Center Aligned Mode todos los canales deben hacerlo en ese mismo modo.

Real-Time Interrupt (RTI)

Sirve para generar interrupciones periódicas. Tiene un único registro de control SRTISC.

RTIF RTIACK RTICLKS RTIE RESER .

RTIS2 RTIS1 RTIS0 RTIF: es seteado cuando el tiempo especificado expiró.

RTIACK: Clear RTIF cuando se le graba un 0.

RTICLKS: 0  internal clock 1 KHz 1  external clock RTIE: interrup enable cuando es 1 RTIS2/S1/S0: Determina el tiempo entre interrupciones 000  disable 001  8ms 010  32ms 011  64ms 100  128ms 101  256ms 110  512ms 111  1024ms