Professional Documents
Culture Documents
1.-Configuración de puertos:
TRIS Registers:
Los bits de control de registro TRISx determinan si cada pin asociado con el puerto de E / S es entrada
o una salida. Si el bit TRIS para un pin de E / S es un '1', entonces el pin es una entrada. Si el bit TRIS
para un pin de E / S es un '0', luego el pin está configurado para una salida. Una manera fácil de
recordar es que un '1' parece una I (entrada) y un '0' parece una O (salida). Todos los pines de puerto
se definen como entradas después de un Reiniciar.
PORT Registers:
Se puede acceder a los datos de un pin de E / S a través de un registro PORTx. Una lectura del registro
PORTx lee el valor del pin de E / S, mientras que una escritura en el registro PORTx escribe el valor
en el enganche de datos del puerto.
Muchas instrucciones, como las instrucciones BSET y BCLR, son operaciones de lectura, modificación
y escritura.
Por lo tanto, una escritura en un puerto implica que los pines del puerto se leen, este valor se
modifica, y luego escrito en el pestillo de datos del puerto. Se debe tener cuidado cuando se usan
comandos de lectura-modificación-escritura en los registros PORTx y cuando algunos pines de E / S
asociados con el puerto se configuran como entradas. Si un pin de E / S configurado como una
entrada se cambia a una salida en algún momento posterior, un inesperado el valor puede salir en
el pin de E / S. Este efecto ocurre porque la lectura-modificación-escritura instrucción lee el valor
instantáneo en el pin de entrada y carga ese valor en los datos del puerto pestillo.
LAT Registers:
El registro LATx asociado con un pin de E / S elimina los problemas que podrían ocurrir con leer-
modificar-escribir instrucciones. Una lectura del registro LATx devuelve los valores almacenados en
el puerto pestillos de salida, en lugar de los valores en los pines de E / S. Una operación de lectura,
modificación y escritura en el LAT registro, asociado con un puerto de E / S, evita la posibilidad de
escribir los valores de pin de entrada en el pestillos del puerto. Una escritura en el registro LATx
tiene el mismo efecto que una escritura en el registro PORTx. Las diferencias entre los registros
PORT y LAT se pueden resumir de la siguiente manera:
• Una escritura en el registro PORTx escribe el valor de los datos en el pestillo del puerto.
• Una escritura en el registro LATx escribe el valor de los datos en el pestillo del puerto.
• Una lectura del registro PORTx lee el valor de datos en el pin de E / S. • Una lectura del registro
LATx lee el valor de datos contenido en el pestillo del puerto. Cualquier bit y sus datos asociados y
registros de control que no son válidos para un dispositivo en particular estar deshabilitado Eso
significa que los registros correspondientes de LATx y TRISx, y el pin de puerto, leerán como ceros.
Multiplexación periférica
Cuando se habilita un periférico, los controladores de salida de pines asociados son típicamente
controlados por módulos mientras que algunos son configurables por el usuario. El pin de E / S se
puede leer a través de la ruta de datos de entrada, pero la salida el controlador para el bit de puerto
de E / S generalmente está deshabilitado. Un puerto de E / S que comparte un pin con otro periférico
siempre está subordinado al periférico. los las señales de datos y control de salida del búfer de
periféricos se proporcionan a un par de multiplexores. los los multiplexores seleccionan si el
periférico, o el puerto asociado, tiene la propiedad de la salida datos y señales de control del pin de
E / S. La Figura 11-2 muestra cómo se comparten los puertos con otros periféricos y el pin de E / S
asociado al que están conectados.
Nota: Para usar los pines PORTB para E / S digital, los bits correspondientes en ADPCFG el registro
debe establecerse en '1', incluso si el módulo A / D está apagado.
Conversor analógico/digital
Introducción
Registros de control
El módulo A / D tiene seis registros de control y estado. Estos registros son:
Los registros ADCON1, ADCON2 y ADCON3 controlan el funcionamiento del módulo A / D. El registro
ADCHS selecciona los pines de entrada que se conectarán a los amplificadores S / H. El ADPCFG
registro configura los pines de entrada analógica como entradas analógicas o como E / S digital. El
registro ADCSSL selecciona entradas para ser escaneadas secuencialmente.
Tampón de resultados de A / D
El módulo contiene una RAM de doble puerto de 16 palabras, llamada ADCBUF, para almacenar los
resultados A / D. los 16 ubicaciones de búfer se conocen como ADCBUF0, ADCBUF1, ADCBUF2, ....,
ADCBUFE,ADCBUFF.
Nota: VREF + amd VREF externo debe seleccionarse para tasas de conversión superiores a 500 ksps.
Consulte la Sección 17.22 "Velocidades de conversión A / D" para obtener más detalles.
El convertidor A / D tiene una velocidad máxima a la que se pueden completar las conversiones.
Un análogo el reloj del módulo, TAD, controla el tiempo de conversión. La conversión A / D
requiere 12 periodos de reloj (12 TAD). El reloj A / D se deriva del reloj de instrucciones del
dispositivo o de la fuente de reloj RC interna.
El período del reloj de conversión A / D es software seleccionado usando un contador de 6 bits.
Hay 64 opciones posibles para TAD, especificadas por ADCS <5: 0> bits (ADCON3 <5: 0>). La
ecuación 17-1 da el valor TAD como una función de los bits de control ADCS y el período de reloj
del ciclo de instrucción del dispositivo, TCY.
Para conversiones A / D correctas, se debe seleccionar el reloj de conversión A / D (TAD) para
garantizar un tiempo mínimo de TAD de 83.33 nsec (ver Sección 17.22 "Velocidades de conversión
A / D" para más información detalles).
El convertidor A / D tiene una fuente interna dedicada de reloj RC que se puede usar para realizar
conversiones La fuente de reloj RC interna se debe usar cuando se realizan conversiones A / D
mientras que dsPIC30F está en modo de Suspensión. El oscilador RC interno se selecciona
configurando el ADRC bit (ADCON3 <7>). Cuando se establece el bit ADRC, los bits ADCS <5: 0> no
tienen efecto en el A / D operación.
El registro ADPCFG especifica la condición de entrada de los pines del dispositivo utilizados como
entradas analógicas.
Un pin se configura como entrada analógica cuando el bit PCFGn correspondiente (ADPCFG <n>)
es claro.
El registro ADPCFG es claro en Reset, lo que hace que los pines de entrada A / D se configuren para
analógico, entrada por defecto en Reset.
Cuando está configurado para entrada analógica, el búfer de entrada digital de E / S del puerto
asociado está deshabilitado, por lo que no funciona no consumir corriente.
El registro ADPCFG y el registro TRISB controlan el funcionamiento de los pines del puerto A / D.
Los pines de puerto que se desean como entradas analógicas deben tener su correspondiente bit
TRIS configurado, especificando entrada de puerto. Si el pin de E / S asociado con una entrada A /
D se configura como salida, bit TRIS se borra y el nivel de salida digital de los puertos (VOH o VOL)
se convertirá. Después de reiniciar el dispositivo, todos los bits TRIS están configurados.
Un pin se configura como E / S digital cuando se establece el bit PCFGn correspondiente (ADPCFG
<n>). En esto configuración, la entrada al multiplexor analógico está conectada a AVSS.
Nota 1: Al leer el registro del puerto A / D, cualquier pin configurado como entrada analógica se lee
como un '0'. 2: Niveles analógicos en cualquier pin que se define como una entrada digital (incluido
el AN15: AN0 pines) puede causar que el buffer de entrada consuma corriente que está fuera del
dispositivo especificación.
Los bits ADCSSL solo especifican la entrada de la entrada positiva del canal. El bit CH0NA aún
selecciona la entrada de la entrada negativa del canal durante el escaneo. Si el bit ALTS es '1', el
escaneo solo se aplica a la selección de entrada MUX A. La entrada MUX B la selección, según lo
especificado por el CH0SB <3: 0>, seguirá seleccionando la entrada del canal alterno 0. Cuando las
selecciones de entrada están programadas de esta manera, la entrada del canal 0 se alternará entre
conjunto de entradas de escaneo especificadas por el registro ADCSSL y una entrada fija especificada
por el CH0SB bits.
Los canales 1, 2 y 3 pueden muestrear un subconjunto de los pines de entrada analógica. Los canales
1, 2 y 3 pueden seleccionar uno de dos grupos de 3 entradas.
El bit CHXSA (ADCHS <5>) selecciona la fuente para las entradas positivas de los canales 1, 2 y 3.
Al borrar CHXSA se selecciona AN0, AN1 y AN2 como fuente analógica para las entradas positivas
de canal 1, 2 y 3, respectivamente. El ajuste de CHXSA selecciona AN3, AN4 y AN5 como el análogo
fuente.
Los bits CHXNA <1: 0> (ADCHS <7: 6>) seleccionan la fuente para las entradas negativas del canal 1,
2 y 3.
Programando CHXNA = 0x, selecciona VREF- como la fuente analógica para las entradas negativas
de canal 1, 2 y 3. Programando CHXNA = 10 selecciona AN6, AN7 y AN8 como la fuente analógica
a las entradas negativas de los canales 1, 2 y 3, respectivamente. La programación de CHXNA = 11
selecciona AN9, AN10 y AN11 como la fuente analógica.
El multiplexor de entrada analógica se puede configurar de modo que el mismo pin de entrada
esté conectado a dos o
más canales de muestra y retención. El A / D convierte el valor mantenido en un canal de S / H,
mientras que el
el segundo canal S / H adquiere una nueva muestra de entrada.
Al igual que con las entradas del canal 0, el bit ALTS (ADCON2 <0>) hace que el módulo alterne
entre dos conjuntos de entradas que se seleccionan durante muestras sucesivas para los canales
1,2 y 3.
Las entradas MUX A especificadas por CHXSA y CHXNA <1: 0> siempre seleccionan la entrada
cuando ALTS = 0.
Las entradas MUX A se alternan con las entradas MUX B especificadas por CHXSB y CHXNB <1: 0>
cuando ALTS = 1.
Habilitación del módulo
Cuando el bit ADON (ADCON1 <15>) es '1', el módulo está en modo activo y está completamente
alimentado yfuncional.
Cuando ADON es '0', el módulo está deshabilitado. Las porciones digital y analógica del circuito
son apagado para obtener el máximo ahorro actual.
Para volver al modo Activo desde el modo Desactivado, el usuario debe esperar las etapas
analógicas estabilizar. Para conocer el tiempo de estabilización, consulte la sección Características
eléctricas del dispositivo ficha de datos.
Nota: Los bits SSRC <2: 0>, SIMSAM, ASAM, CHPS <1: 0>, SMPI <3: 0>, BUFM y ALTS, así
como los registros ADCON3 y ADCSSL, no deberían escribirse mientras ADON = 1. Esto llevaría a
resultados indeterminados.
Los bits de control CHPS <1: 0> (ADCON2 <9: 8>) se usan para seleccionar cuántos amplificadores
S/H son utilizado por el módulo A / D durante las secuencias de muestra / conversión. Las siguientes
tres opciones pueden ser seleccionado: • solo CH0 • CH0 y CH1 • CH0, CH1, CH2, CH3 Los bits de
control CHPS funcionan junto con el bit de control SIMSAM (muestra simultánea) (ADCON1 <3>).
Manual
El ajuste del bit SAMP (ADCON1 <1>) hace que el A / D comience a muestrear. Una de varias
opciones se puede usar para finalizar el muestreo y completar las conversiones. El muestreo no se
reanudará hasta que El bit SAMP nuevamente se establece. Para un ejemplo, vea la Figura 17-4.
Automático
Configurar el bit ASAM (ADCON1 <2>) hace que el A / D comience a muestrear automáticamente
un canal cada vez que una conversión no está activa en ese canal. Se puede usar una de varias
opciones para finalizar muestrear y completar las conversiones. Si el bit SIMSAM especifica el
muestreo secuencial, el muestreo en un canal se reanuda una vez que se completa la conversión
de ese canal. Si el SIMSAMbit especifica el muestreo simultáneo, el muestreo en un canal se
reanuda después de la conversión de todos
canales completados Para un ejemplo, vea la Figura 17-5.
Cómo detener el muestreo y comenzar las conversiones
Nota: Las fuentes de activación de conversión disponibles pueden variar según dsPIC30F
variante del dispositivo Por favor, consulte la hoja de datos del dispositivo específico para el disponible
fuentes de activación de conversión.
Nota: Los bits de selección SSRC no se deben cambiar cuando el módulo A / D está habilitado. Si el
usuario desea cambiar la fuente de activación de conversión, el módulo A / D debería primero se
desactivará al borrar el bit ADON (ADCON1 <15>).
Manual
Cuando SSRC <2: 0> = 000, el activador de conversión está bajo control de software. Limpiando el
SAMP bit (ADCON1 <1>) inicia la secuencia de conversión. La Figura 17-4 es un ejemplo donde la
configuración del bit SAMP inicia el muestreo y la eliminación del SAMP bit termina el muestreo y
comienza la conversión. El software del usuario debe sincronizar la configuración y despejar el bit
SAMP para asegurar el tiempo de muestreo adecuado de la señal de entrada. Vea el Ejemplo 17-1
por ejemplo de código.