You are on page 1of 10

Configuración de dsPIC30F4011

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

El convertidor A / D de 10 bits dsPIC30F tiene las siguientes características clave:


• Aproximación aproximada de aproximación (SAR)
• Velocidad de conversión de hasta 1 Msps
• Hasta 16 pines de entrada analógica
• Pines de entrada de referencia de voltaje externo
• Cuatro amplificadores S / H diferenciales unipolares
• Muestreo simultáneo de hasta cuatro pines de entrada analógica
• Modo de escaneo automático de canales
• Fuente de activación de conversión seleccionable
• Buzón de resultados de conversión de 16 palabras
• modos de llenado de relleno seleccionables
• Cuatro opciones de alineación de resultados
• Operación durante los modos Sleep e inactivo de la CPU
En la figura 17-1 se muestra un diagrama de bloques del A / D de 10 bits. El convertidor A / D de 10
bits puede tener hasta a 16 pines de entrada analógica, designados AN0-AN15. Además, hay dos
pines de entrada analógica para conexiones de referencia de voltaje externo. Estas entradas de
referencia de tensión pueden compartirse con otros pines de entrada analógica. El número real de
pines de entrada analógica y referencia de voltaje externo la configuración de entrada dependerá
del dispositivo dsPIC30F específico. Consulte la hoja de datos del dispositivo para más detalles.
Las entradas analógicas se conectan a través de multiplexores a cuatro amplificadores S / H,
designados CH0-CH3.
Uno, dos o cuatro de los amplificadores S / H pueden estar habilitados para adquirir datos de
entrada. La entrada analógica
los multiplexores se pueden cambiar entre dos conjuntos de entradas analógicas durante las
conversiones. Unipolar las conversiones diferenciales son posibles en todos los canales que
utilizan ciertos pines de entrada (consulte la Figura 17-1).
Se puede habilitar un modo de exploración de entrada analógica para el amplificador CH0 S / H.
Un registro de control especifica qué canales de entrada analógica se incluirán en la secuencia de
exploración.
El A / D de 10 bits está conectado a un búfer de resultados de 16 palabras. Cada resultado de 10
bits se convierte en uno de cuatro formatos de salida de 16 bits cuando se lee desde el búfer.

Registros de control
El módulo A / D tiene seis registros de control y estado. Estos registros son:

• ADCON1: registro de control A / D 1

• ADCON2: registro de control A / D 2

• ADCON3: registro de control A / D 3

• ADCHS: registro de selección de canal de entrada A / D

• ADPCFG: registro de configuración de puerto A / D

• ADCSSL: registro de selección de escaneo de entrada A / D

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.

El buffer de resultados A / D es un buffer de solo lectura.

Configuración del módulo A / D

Se deben seguir los siguientes pasos para realizar una conversión A / D:


1. Configure el módulo A / D
• Seleccione los pines del puerto como entradas analógicas ADPCFG <15: 0>
• Seleccione la fuente de referencia de voltaje para que coincida con el rango esperado en las
entradas analógicas
ADCON2 <15:13>
• Seleccione el reloj de conversión analógica para que coincida con la velocidad de datos deseada
con el reloj del procesador
ADCON3 <5: 0>
• Determinar cuántos canales S / H se utilizarán ADCON2 <9: 8> y ADPCFG <15: 0>
• Determinar cómo se realizará el muestreo ADCON1 <3> y ADCSSL <15: 0>
• Determinar cómo se asignarán las entradas a los canales S / H ADCHS <15: 0>
• Seleccione la secuencia apropiada de muestra / conversión ADCON1 <7: 0> y
ADCON3 <12: 8>
• Seleccione cómo se presentan los resultados de conversión en el búfer ADCON1 <9: 8>
• Seleccione la tasa de interrupción ADCON2 <5: 9>
• Encienda el módulo A / D ADCON1 <15>
2. Configure la interrupción A / D (si es necesario)
• Borrar el bit ADIF
• Seleccione la prioridad de interrupción A / D
Las opciones para cada paso de configuración se describen en las secciones siguientes.

Selección de la fuente de referencia de voltaje


Las referencias de voltaje para las conversiones A / D se seleccionan usando los bits de control VCFG
<2: 0> (ADCON2 <15:13>). La referencia de voltaje superior (VREFH) y la referencia de voltaje más
bajo (VREFL) pueden ser los rieles de voltaje AVDD y AVSS internos o los pines de entrada VREF + y
VREF. Los pines de referencia de voltaje externo se pueden compartir con las entradas AN0 y AN1
en el conteo de pin bajo dispositivos. El convertidor A / D aún puede realizar conversiones en estos
pines cuando se comparten con los pines de entrada VREF + y VREF. Los voltajes aplicados a los
pines de referencia externos deben cumplir con ciertas especificaciones. Referirse a Sección
"Especificaciones eléctricas" de la hoja de datos del dispositivo para más detalles.

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.

Selección del reloj de conversión A / D

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.

Selección de entradas analógicas para muestreo


Todos los amplificadores Sample-and-Hold tienen multiplexores analógicos (vea la Figura 17-1) en
ambos entradas no inversoras e inversoras para seleccionar qué entrada (s) analógica (es) son
muestreadas. Una vez el Se especifica la secuencia de muestra / conversión, los bits ADCHS
determinan qué entradas analógicas son seleccionado para cada muestra, Además, las entradas
seleccionadas pueden variar en una base de muestra alternativa o pueden variar en una secuencia
repetida de muestras La misma entrada analógica se puede conectar a dos o más canales de muestra
y retención para mejorar medidas de conversión.
Nota: diferentes dispositivos tendrán diferentes números de entradas analógicas. Verificar el análogo
disponibilidad de entrada en la hoja de datos del dispositivo.

Configuración de pines de puerto analógico

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.

Selección de entrada de canal 0


El canal 0 es el más flexible de los 4 canales S / H en términos de selección de entradas analógicas.
El usuario puede seleccionar cualquiera de las hasta 16 entradas analógicas como la entrada a la
entrada positiva del canal. Los bits CH0SA <3: 0> (ADCHS <3: 0>) normalmente seleccionan la
entrada analógica para el positivo entrada del canal 0. El usuario puede seleccionar VREF- o AN1
como la entrada negativa del canal. El bit CH0NA (ADCHS <4>) normalmente selecciona la entrada
analógica para la entrada negativa del canal 0.

Especificación de las selecciones de entrada del canal 0 alternado


El bit ALTS (ADCON2 <0>) hace que el módulo alterne entre dos conjuntos de entradas que son
seleccionado durante muestras sucesivas. Las entradas especificadas por CH0SA <3: 0>, CH0NA,
CHXSA y CHXNA <1: 0> se denominan colectivamente las entradas MUX A. Las entradas
especificadas por CH0SB <3: 0>, CH0NB, CHXSB y CHXNB <1: 0> son colectivamente llamadas las
entradas MUX B. Cuando el bit ALTS es '1', el módulo alternará las entradas MUX A en una muestra
y las entradas MUX B en la muestra siguiente. Para el canal 0, si el bit ALTS es '0', solo las entradas
especificadas por CH0SA <3: 0> y CH0NA son seleccionado para muestreo Si el bit ALTS es '1', en la
primera secuencia de muestra / conversión para el canal 0, las entradas especificadas por CH0SA
<3: 0> y CH0NA se seleccionan para el muestreo. En la siguiente secuencia de conversión de muestra
para canal 0, las entradas especificadas por CH0SB <3: 0> y CH0NB se seleccionan para el muestreo.
Este patrón repetirá para las secuencias de conversión de muestra posteriores. Tenga en cuenta que
si hay varios canales (CHPS = 01 o 1x) y muestreo simultáneo (SIMSAM = 1) las entradas alternas
especificadas cambiarán cada muestra porque todos los canales se muestrean en cada tiempo de
muestra. Si hay canales múltiples (CHPS = 01 o 1x) y muestreo secuencial (SIMSAM = 0), las entradas
alternas cambiarán solo en cada muestra de un canal en particular.

Escaneo a través de varias entradas con el canal 0


El canal 0 tiene la capacidad de escanear a través de un vector seleccionado de entradas. El bit de
CSCNA (ADCON2 <10>) permite escanear las entradas del canal CH0 a través de un número
seleccionado de entradas analógicas. Cuando se establece CSCNA, los bits CH0SA <3: 0> se ignoran.
El registro ADCSSL especifica las entradas a escanear. Cada bit en el registro ADCSSL corresponde a
una entrada analógica. El bit 0 corresponde a AN0, el bit 1 corresponde a AN1 y así sucesivamente.
Si un bit en particular en el registro ADCSSL es '1', la entrada correspondiente es parte del escaneo
secuencia. Las entradas siempre se escanean desde entradas de menor a mayor número,
comenzando por primer canal seleccionado después de cada interrupción.
Nota: si la cantidad de entradas escaneadas seleccionadas es mayor que la cantidad de muestras
tomados por interrupción, las entradas numeradas más altas no serán muestreadas.

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.

Selección de entrada de canal 1, 2 y 3

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.

Seleccionar múltiples canales para una sola entrada 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.

Especificación de las selecciones de entrada del canal alterno 1, 2 y 3

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.

Especificando la secuencia de muestra / conversión

El módulo A / D de 10 bits tiene 4 amplificadores de muestra / retención y un convertidor A / D. El


módulo puede realice 1, 2 o 4 muestras de entrada y conversiones A / D por secuencia de muestra/
conversión.

Número de canales de muestra / espera

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>).

Habilitación de muestreo simultáneo


Algunas aplicaciones pueden requerir que se muestreen múltiples señales al mismo tiempo
ejemplo. El bit de control SIMSAM (ADCON1 <3>) funciona junto con el control CHPS bits y controla
la secuencia de muestra / conversión para canales múltiples como se muestra en la Tabla 17-1. los
El bit de control SIMSAM no tiene efecto en el funcionamiento del módulo si CHPS <1: 0> = 00. Si
hay más de uno El amplificador S / H es habilitado por los bits de control CHPS y el bit SIMSAM es
'0', el dos o cuatro los canales seleccionados se muestrean y convierten secuencialmente con dos o
cuatro períodos de muestreo. Si el bit SIMSAM es '1', dos o cuatro canales seleccionados se
muestrean simultáneamente con uno periodo de muestreo. Los canales se convierten luego
secuencialmente.
Cómo iniciar el muestreo

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

La fuente de activación de la conversión finalizará el muestreo y comenzará una secuencia


seleccionada de conversiones Los bits SSRC <2: 0> (ADCON1 <7: 5>) seleccionan la fuente del
activador de conversión.

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.

You might also like