dispositivos disponibles en los distintos kits demoackit y demoacex
Post on 13-Jan-2016
23 Views
Preview:
DESCRIPTION
TRANSCRIPT
Dispositivos Disponibles en los Distintos Kits DEMOACKIT y DEMOACEX
Parte I
LEDs en KIT10
LED 4 PTF5LED 3 PTF4LED 2 PTF1LED 1 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 PTE2LED 6 PTE3LED 7 PTE4LED 8 PTE5LED 9 PTE6LED 10 PTE7
Logica positiva 1 Led Activado 0 Led Desactivado
LED 11 PTA2LED 12 PTA3LED 13 PTA4LED 14 PTA5LED 15 PTA6LED 16 PTA7
SWITCHs en KIT10
SWITCH 4 PTG3SWITCH 3 PTG2SWITCH 2 PTG1SWITCH 1 PTG0
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.
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.
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 ExpansionEl 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 Entreg
a0 0 0 1 E10 0 1 0 E20 0 1 1 E30 1 0 0 E40 1 0 1 E50 1 1 0 E60 1 1 1 E7
SWITCHs en ExpansionLa relación entre los Switchs y los electrodos E es:
B2
B3
B4 B7
B6
B5E3
E2
E1
Central
Izq Der
B1
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 ExpansionEn el ejemplo de aplicación al leer AD1P11 no se hace una
sola 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:
B1Titilan Leds 5 a 10 B2Led3 B3Led2B4Led1
B5 Leds1 y 3 B6Leds2 y 3B7Leds 1 y 2BCentralLed8 BCentral y IzqLed7 BIzqLeds 5 y
6BCentral y DerLed9 BDerLed10 BIsq y DerLeds10, 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.
COMPARADORExisten 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 ACMODACMEDispositivo enable(1) o disable
ACBGS ACMPx+ es externo (0) o internoACFes seteado cuando un evento según ACMOD ocurreACIE enable interrupcion (1) o disableACO es el valor de la salidaACOPE cuando vale 1, la salida estará disponible en ACMPxOACMODDefine el tipo de comparacion que setea ACF00 y 10 falling edge 01 rising edge 11falling 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 Status y Control 1 y 2ADCRH/RL Data Result high y lowADCCVH/VL Compare Value high y lowADCCFG ConfiguratorAPCTL1/2/3 Pins enable
CONVERSOR ANALÓGICO DIGITAL
ADCSC1COCO 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
ADCSC2ADACT
ADTRG
ACFE 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 ADCRLSon 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 ADCCVLRepresentan el valor de comparación.
CONVERSOR ANALÓGICO DIGITAL
ADCFG
ADLPC ADLSMP
ADIV MODE ADICLK
ADLPC (0) High speed configuration, (1) Low Power configuration
ADIV Clock divide selector 00 %1, 01%2, 10%4, 11%8
ADLSMPLong Sample Time Configurator 0short, 1Long
MODE Selecciona cant. bits de la salida. 008, 0110, 1012
ADICLKImput Clock select. 00 bus clock01 bus clock % 210 ALTCLK11 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 DIGITALDESCRIPCION FUNCIONAL
Luego del reset el ADC está disable.Si ADCH = todos 1’s el ADC está disableCuando 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 DIGITALSecuencia 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)KBEDG7
KBEDG6
KBEDG5
KBEDG4
KBF KBACK
KBIE KBIMOD
KBEDG7/6/5/4: Edge select para los port bits 7/6/5/4. 0frente 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: 1Interrup enable. 0 Interrup disable
KBIMOD: Deteccion mode. 0edge only 1edge y nivel
Port 0-3 solo frente negativo (fn) o fn y nivel bajoPort 4-7 dependen también de KBEDGn.00 fn 01fn y nivel bajo 10fp 11 fp y nivel
alto
KEYBOARD Interrup (KBI)KBIPE7
KBIPE6
KBIPE5
KBIPE4
KBIPE3
KBIPE2
KBIPE1
KBIPE0
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: cuando el valor del FTM alcanza un cierto nivel un evento ocurre en una señal externa
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 ContadorTOF TOIE CPWM
SCLKS PS
TOF: es seteado cuando el contador para de MOD a INIT
es reseteado luego de leer este registro y grabar un
0 en TOFTOIE: interrup enable
CPWMS: 0contador UP 1 contador UpDownCLKS: clock source 00 Disable 01 System
10 Fixed System 11ExternalPS:Factor de pre-escala
0001 ……………111128
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 CanalCHnF CHnIE MSnB MSn
AELSn
BELSnA 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:
FTM(Flex Timer Module)
Table 11-7. Mode, Edge, and Level Selection
COMBINE CPWMS MSnB:MSnA ELSnB:ELSnA Mode Configuration
X X XX 00 Pin not used for FTM - revert the channel pin to general purpose I/O
0 0 00 01 Input capture Capture on rising edge only
10 Capture on falling edge only
11 Capture on rising or falling edge
01 01 Output compare Toggle output on match
10 Clear output on match
11 Set output on match
1X 10 Edge-alignedPWM
High-true pulses (clear output on match)
X1 Low-true pulses (set output on match)
1 XX 10 Center-alignedPWM
High-true pulses (clear output on match-up)
X1 Low-true pulses (set output on match-up)
1 0 XX 10 Combine PWM 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)
FTM(Flex Timer Module)
Table 11-7. Mode, Edge, and Level Selection
FTMxCnVH/VL: Registran el valor VALUE
FTM(Flex Timer Module)
Table 11-7. Mode, Edge, and Level Selection
Input Capture ModeFTMEN=0; COMBINE=0;CPWMS=0;MSnB:A=0:0;
ELSnB:A<>0:0Cuando 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.
FTM(Flex Timer Module)
Table 11-7. Mode, Edge, and Level Selection
Output Compare ModeFTMEN=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
L 0 1 2 3 4 5 0 1 2 3 4 5 0 1 .
counter channel (n)overflow match
CHnF bit
TOF bit
FTMxMODH:L = 0x0005FTMxCnVH:L = 0x0003
channel (n) output previous value
Channel(n) counter match overflow
counter overflow
previous value
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: 0internal clock 1 KHz 1 external clockRTIE: interrup enable cuando es 1
RTIS2/S1/S0: Determina el tiempo entre interrupciones000disable 0018ms 01032ms 01164ms100128ms 101256ms 110512ms 1111024ms
top related