Sei sulla pagina 1di 62

Conversor Análogo Digital Delta Sigma (ADC_DelSig)

v3.20

PSoC® Creator™ Hoja de datos del componente

Documento original por Cypress Semiconductor Corporation


Traducción del Inglés al Español por:
Ing. Edgardo Daniel Ucha.
Ing. Brayan Andrés Bermúdez

PSoC Latinoamérica
Traducción: Bogotá – Buenos Aires
Noviembre 2016
Caraterísticas
Resoluciónes seleccionables, 8 a 20 bits
11 rangos de entrada para cada resolución
Velocidad de muestreo 8 sps a 384 ksps
Modos de operación:
□ Muestra individual

□ Muestra multiple

□ Modo continuo

□ Muestra multiple (Turbo)

Búfer de entrada de alta impedancia


□ Ganancia del búfer de entrada seleccionable (1, 2, 4, 8) o anular búfer de entrada

Múltiples opciones de referencia, tanto interno como externo


Configuración automática del modo consumo
Hasta 4 configuraciones pueden ejecutarse con un solo ADC

Descripción General

El convertidor analógico-Digital Delta Sigma (ADC DelSig) proporciona una interfaz de entrada
de bajo consumo, niveles bajo ruido para mediciones de precisión. Se puede utilizar en una amplia
gama de aplicaciones, dependiendo de la resolución, frecuencia de muestreo y modo de
funcionamiento. Puede producir audio de 16 bits; alta velocidad y baja resolución para procesos de
comunicación; y alta precisión, 20 bits, baja tasa de muestreo para sensores tales como celdas de
carga, termopares y otros tipos de sensores de alta precisión. Cuando se procesa información de
audio, el ADC_DelSig se utiliza en modo continuo. Cuando se utiliza para el escaneo de sensores
múltiples, el ADC_DelSig se utiliza en uno de los modos multi-sample (muestreo múltiple). Cuando
se utiliza para un único punto de mediciones de alta resolución, el ADC_DelSig se utiliza en single-
sample mode (modo de una muestra).

El sigma delta utilizan sobre-muestreo para extender el ruido de cuantificación en un espectro


de frecuencias más amplio . A este ruido se le da forma para poder mover la mayor parte de
ella fuera del ancho de banda de la señal de entrada. Un filtro pasa-bajos interno se utiliza
para filtrar el ruido fuera de la señal de entrada. Esto hace que los sigma delta sean buenos
tanto para aplicaciones de alta velocidad, resolución media (8 y 16 bits), y aplicaciones de
baja velocidad y alta resolución (16 a 20 bits). La tasa de muestreo se puede ajustar entre 10
y 384000 muestras por segundo, dependiendo del modo elegido y la resolución. El poder
elegir el modo de conversión simplifica la interfaz desde una transmisión de señales como es
el audio, o multiplexación entre múltiples fuentes de señal.
El ADC_DelSig se compone de tres bloques: un amplificador de entrada, un modulador delta-
sigma de tercer orden y un decimador (ver figura 1). El amplificador de entrada proporciona una
entrada de alta impedancia y una ganancia de entrada que el usuario selecciona. El bloque del
decimador contiene un filtro CIC (Cascaded Integrator-Comb, Filtro Peine) de cuatro etapas y una
unidad de post-procesamiento. El filtro CIC trabaja en la muestra de datos proporcionado
directamente por el modulador. La unidad de post-procesamiento opcionalmente realiza funciones
de ganancia, de offset y un filtrado sencillo en la salida del filtro decimador CIC.

Figura 1. Diagrama en bloques del ADC_DelSig

Conexiones de Entrada/Salida

Las conexiones de entrada y salida para el ADC_DelSig se muestra como terminales en el


símbolo del componente en su vista esquemática. Un asterisco (*) en la lista de I/Os indica que
la E/S pueden ocultarse en el símbolo del componente bajo las condiciones indicadas en la lista
descriptiva relativo a esa I/O.

nVref – Input *

El terminal nVref es opcional. Se muestra si ha seleccionado la opción Enable_Vref_Vssa.Esto le


permite conectar la referencia del ADC Vssa a analógico global (AGL[6]). Si no está seleccionada la
opción Enable_Vref_Vssa, este terminal no aparece en el símbolo. Vea el parámetro
Enable_Vref_Vssa para más información.
+Input – Analog
Entrada de la señal análoga positiva al ADC_DelSig. La señal de la entrada positiva siempre
está presente tanto en los modos diferencial como entrada única. La salida del ADC devuelve
un valor que representa el diferencial en voltaje entre la entrada positiva y la entrada negativa.

–Input – Analog *
El terminal de entrada negativo sólo se muestra, en el componente, cuando el Input Mode (Modo
de Entrada) se establece en Differential (Diferencial). Cuando el Input Mode se establece en
Single (Única), el terminal es conectado a Vssa o Vref, dependiendo del rango de entrada
seleccionada.

soc – Input *
Start of Conversion (soc) (Inicio de Conversión) inicia conversiones ADC disparadas por
hardware, cuando se detecta un flanco ascendente. Un flanco ascendente en este terminal tiene
el mismo efecto que llamar a la función ADC_StartConvert(). Esta entrada se muestra cuando el
usuario selecciona el parámetro Hardware SOC (SOC por hardware), que habilita un terminal
externo para que inicie la conversión. Si no se selecciona Hardware SOC, el terminal E/S del
componente se oculta. En el modo Single Sample (Muestra Única), se ejecuta una sola conversión
y el ADC se detiene. En Continuous (Continuo) y otros modos, las conversiones ADC continúan
hasta que se ejecutan las funciones ADC_StopConvert() o ADC_Stop().

aclk – Input *
Reloj externo. Este terminal está presente si el parámetro Clock Source (fuente del reloj) está
establecido en External (Externo). Si el parámetro Clock Source está configurado como Internal
(Interno), el reloj se configura automáticamente dentro del componente y no se muestra el terminal
aclk. La entrada aclk es la entrada reloj que se genera fuera del componente. Esta señal de reloj
puede derivarse internamente o desde una fuente externa al PSoC. Ajuste el reloj con el valor que
aparece en el parámetro Clock Frequency (Frecuencia de Reloj) para obtener la frecuencia de
muestreo seleccionada. El ciclo de trabajo debe ser del 50 por ciento. Este reloj determina la tasa
de conversión en función del método de conversión y la resolución. Un reloj que es externo al
ADC siempre debe basarse en el reloj del sistema. Si se requiere un reloj más preciso y estable,
el reloj del sistema debe estar basado en un reloj u oscilador externo (externo al PSoC).

eoc – Output (Salida)


Un flanco ascendente en End of Conversion (eoc) (Fin de Conversión) indica que una
conversión se ha completado. El terminal se pone en alto durante un período de reloj del ADC.
El eoc está conectada normalmente a una interrupción o a una solicitud del DMA. La petición
DMA se utiliza normalmente para transferir los resultados de la conversión a la RAM del
sistema, DFB, u otro componente. Ya existe una interrupción, interna del componente, que
está conectado a esta señal.
mi – Input *
La Entrada del modulador (mi – entrada modulador) se utiliza para controlar dinámicamente la
polaridad de la señal en el modulador. La polaridad es invertida cuando la entrada "mi” es alta.
Esta señal de entrada permite al usuario modular la señal de entrada con un reloj independiente
para actuar como mezclador de señales.

Parámetros del Componente


El ADC Delta Sigma es un conversor analógo/digital altamente configurable. Arrastre un componente
ADC_DelSig en su diseño y haga doble clic en él para abrir el cuadro de diálogo Configure
(Configurar.)
Modes (Modos)
Conversion mode (Modos de Conversión)
El ADC_DelSig funciona en uno de los cuatro modos:

Modo Descripción
0 - Single Sample El ADC produce una muestra por inicio de conversión.
(Muestra ünica) La interrupción debe habilitarse para conversiones ADC en modo Single Sample
(Muestra ünica) cuando la resolución es superior a 16 bits. Para ello, habilite la Global
Interrupt (Interrupción Global) (llamando a CYGlobalIntEnable) en la aplicación
(main.c)..
El modo de conversión Single Sample permite hacer cola de una conversión. Si se solicita
una muestra llamando a la función StartConvert() o mediante el uso de la entrada "soc" antes
de finalizar la conversión actual, se iniciará automáticamente otra conversión una vez
finalizada la conversión actual.
1 - Multi-Sample El modo Multi-sample (Muestras-multiple) captura muestras individuales al estilo back-to-
Muestreo-Multiple back (espalda contra espalda), reinicializandose a si mismo y al modulador automáticamente
entre cada muestra.
Este modo es útil cuando la entrada conmuta entre varias señales. Los filtros se vacían
entre cada muestra para que las muestras anteriores no afecten a la actual conversión.
NOTA: Tenga cuidado al intercambiar las señales entre las conversiones del ADC. Cambie
la entrada rápidamente entre conversiones con control de hardware o detenga la conversión
del ADC (ADC_StopConvert ()) mientras cambie la entrada. A continuación, reinicie la
conversión del ADC (ADC_StartConvert ()) después de que la nueva señal se haya conectado
al ADC. No hacerlo de este modo podría resultar en contaminación entre las señales en los
resultados del ADC.

2 – Continuous El modo Continuous sample (muestra continua) funciona como un convertidor delta-sigma
Continuo normal. Utilice este modo cuando mida una sola señal de entrada. Hay una latencia de tres
tiempos de conversión antes de que el primer resultado de conversión esté disponible. Este
es el tiempo requerido para preparar el filtro interno. Después del primer resultado, una
conversión estará disponible a la frecuencia de muestreo seleccionada. No utilice este modo
cuando múltiples señales se multiplexen y se midan con un único ADC.

3 - Multi-Sample El modo Multi-Sample (Turbo) funciona de forma idéntica al modo Multi-Sample para
(Turbo) resoluciones de 8 a 16 bits. Para resoluciones de 17 a 20 bits, el rendimiento de este modo
Muestreo-Multiple es aproximadamente cuatro veces más rápido que el modo Multi-Sample..
(Turbo) Nota: Tenga cuidado al cambiar las señales entre las conversiones ADC. Cambie la entrada
rápidamente entre conversiones bajo control de hardware o detenga la conversión ADC
(ADC_StopConvert ()) mientras cambia la entrada. A continuación, reinicie la conversión ADC
(ADC_StartConvert ()) después de que la nueva señal se ha conectado al ADC. De no hacerlo
puede resultar en contaminación entre las señales en los resultados del ADC.

En los cuatro modos del ADC se vacía completamente el decimador cuando el ADC inicia las
conversiones. Esto asegura que la primera lectura del ADC sea válida siempre y cuando el voltaje
de entrada sea estable antes de iniciar las conversiones con la API ADC_StartConvert() o cuando
se active por medio de la entrada "soc". Aunque todos los modos reinician el decimador al iniciar
el ADC, sólo el modo continuo no restablece el decimador entre las lecturas. Debido a esto, la
primera lectura, en modo continuo, dura cuatro veces más que las lecturas posteriores. Cuando
se use un multiplexor análogo para explorar entre entradas múltiples, asegúrese que el ADC no
esté ejecutándose mientras se este conmutando entre entradas.
Al cambia el parámetro Conversion mode (Modo de Conversión), la frecuencia de reloj
cambia para mantener la tasa de muestreo seleccionada. Si la frecuencia de reloj del ADC
excede el mínimo o máximo, se muestra un mensaje de error.
Nota: Al operar en los modos Multi-Sample, Continuous o Multi-Sample (Turbo), es buena
práctica leer el último dato del ADC antes de leer el próximo resultado del ADC. Si se lee el último
resultado en el mismo momento que el siguiente resultado se complete, puede ocurrir una
incoherencia de lectura. Cuando se usa el DMA activado por EOC o código en el ISR del ADC,
este problema se evita fácilmente. Puesto que usted tiene un tiempo de conversión completo para
leer el último resultado, esto no debería ser un problema en la mayoría de los diseños. Si el
firmware no puede "seguir el ritmo" de la tasa de conversión del ADC, la velocidad debe reducirse.
Esta condición sólo ocurre en la familia de productos PSoC 3.

Resolution (Resolución)
La resolución de la ADC_DelSig debe introducirse como un valor entero, de 8 a 20 bits. A mayor
resolución se traduce en una menor frecuencia de muestreo. La resolución por defecto es de 16
bits. Cuando se cambia el parámetro de Resolution (Resolución), la frecuencia de reloj cambia
para mantener la tasa de muestreo seleccionada. Si la frecuencia de reloj del ADC excede el
mínimo o el máximo, la tasa de conversión también cambia para ajustarse al rango.
Los ADCs delta-sigma poseen una inestabilidad inherente, dando como resultado la no linealidad
entre los límites positivos y negativos en una operación. Para corregir para esto, la entrada ha sido
atenuada en un 10 por ciento en el modulador. El procesador posterior compensa entonces esta
atenuación con una ganancia de aproximadamente 1,11. El resultado final amplía el rango de
entrada en un 10 por ciento. Por ejemplo, si selecciona un rango de entrada de ±1.024 V, el rango
real del ADC es aproximadamente ± 1.126 V. El rango de entrada utilizable permanece en ± 1.024
V, pero el ADC no saturará hasta que la entrada exceda los ±1.126 V.
La salida digital del ADC también se extiende en un 10 por ciento. Si el ADC se configura para
operar en 10 bits, normalmente la salida de un ADC diferencial de 10 bits se extenderá de –512
a 511, para una entrada de –1.024 a 1.022, respectivamente. A causa de este 10 por ciento
adicional sobre el rango, la salida digital no saturará hasta aproximadamente ± 563 cuentas, en
vez de –512 a 511..
Esto normalmente no es una preocupación a menos que se seleccione una resolución de 8 o 16
bits. Cuando la resolución se establece en 8 o 16 bits, asegúrese de que el valor numérico no
se "enrrolle" desde su valor más positivo, o negativo, a un valor negativo o positivo,
respectivamente. Para asegurarse de que esto no suceda, es una buena práctica utilizar la
función API que devuelva una palabra más grande que la resolución establecida. Por ejemplo,
si la resolución está establecida en 16 bits y existe la posibilidad de que el valor más positivo
puede ser mayor que 32767 o menos que -32768, utilice la función ADC_GetResult32() en lugar
de ADC_GetResult16(). Se devuelve el valor correcto de 16 bits sin sobrepasarse. Cuando la
resolución se establece en 8 bits y los valores de salida del ADC puede ser menor que -128 o
mayor que 127, utilice la función ADC_GetResult16(). Se devuelve el valor apropiado de 8 bits
sin sobrepasarse.
Limites Tasa de Muestreo para el AD_DelSig
Conversion rate (Tasa de Conversión)
La tasa de conversión del ADC se introduce como un entero decimal en samples per second
(muestras por segundo) (SPS). La frecuencia de muestreo máxima es una función de la
resolución, modo de muestreo y frecuencia máxima de reloj; Cuanto mayor sea la resolución,
menor será la velocidad de muestreo. El mínimo del reloj para todas las resoluciones es de 128
kHz. El máximo del reloj para resoluciones entre 8 y 15 bits es 6.144 MHz. El máximo del reloj
para resoluciones entre 16 y 20 bits es 3.027 MHz..
Consulte la Figura 2 para conocer las tasas de conversión válidas para cada combinación de
resolución y modo de conversión; La misma información se presenta en forma tabular en la
Tabla 1.
Los datos siguientes se aplican con un rango ADC = ± 1,024 V con Buffer Gain = 1,0 (Ganancia
Búfer = 1.0).

Tabla 1. Límites Tasa de Muestreo ADC_SelSig (Ganancia Búfer = 1)


Single Sample Multi-Sample Continuous Multi-Sample Turbo
(Muestra Individual) (Multi-Muestra) (Continuo) (Multi-Muestra Turbo)
Resolución Min Max Min Max Min Max Min Max
8 1561 74926 1911 91701 8000 384000 1581 75851
9 1293 62060 1543 74042 6400 307200 1307 62693
10 1143 54857 1348 64673 5566 267130 1154 55351
11 993 47627 1154 55351 4741 227555 1000 48000
12 854 40960 978 46900 4000 192000 860 41234
13 716 34324 806 38641 3283 157538 720 34516
14 616 29538 685 32855 2783 133565 619 29681

Single Sample Multi-Sample Continuous Multi-Sample Turbo


(Muestra Individual) (Multi-Muestra) (Continuo) (Multi-Muestra Turbo)
Resolución Min Max Min Max Min Max Min Max

15 534 25600 585 28054 2371 113777 536 25707


16 458 10971 495 11861 2000 48000 459 11010
17 271 6494 124 2965 500 12000 272 6508
18 104 2475 31 741 125 3000 104 2477
19 15 357 4 93 16 375 15 357
20 8 182 2 46 8 187 8 182
El búfer del ADC tiene un ancho de banda finita de ganancia, que afecta los tiempos
establecidos. Aumentar la ganancia del búfer reduce la tasa de muestreo máxima disponible.
La tasa de muestreo máxima es la tasa de muestreo de la Tabla 1 dividida por la ganancia del
búfer. Otras ganancias del búfer y rangos también afectan la tasa de muestreo máxima.
Al cambiar el parámetro Conversion rate (Tasa de Conversión), la frecuencia de reloj cambia
para mantener la frecuencia de muestreo seleccionada. Si la frecuencia de reloj del ADC
excede el mínimo o el máximo, aparece una indicación de error junto al parámetro. Consulte
Configuraciónes no válida.

Range (Rango)
Esta área es un parámetro de sólo lectura (nunca esta disponible) que muestra el la tasa de
conversión mínimo y máximo disponible para los ajustes actuales.

Actual conversion rate (Tasa de conversión actual conversion)


Este campo de sólo lectura muestra una tasa de conversión actual y recalculada basada en la
frecuencia del Master Clock (reloj maestro) que se encuentra en la pestaña Clock Editor (editor
de reloj) dentro de Design-Wide Resources, recursos de diseño, (DWR) y del entero divisor
calculado. La tasa de conversión real puede diferir de la tasa de conversión debido al entero
divisor del reloj.

Clock frecuency (Frecuencia de Reloj)


Este cuadro de texto es de sólo lectura (nunca esta disponible) que muestra la frecuencia de reloj
requerida para las condiciones de operación seleccionadas: modo de conversión, resolución, tasa
de conversión, rango de entrada y ganancia del búfer. Se actualiza cuando cualquiera de estas
condiciones cambia. La frecuencia de reloj se visualiza con una resolución de 1 Hz.
La velocidad se muestra en el Design-Wide Resources Clock Editor,Editor de Reloj ubicado dentro
del Recursos de Diseño, que siempre muestra la frecuencia de reloj para Config 1.
La API del ADC establece la frecuencia de reloj real en función de la configuración seleccionada
durante el tiempo de ejecución cuando el parámetro Clock Source,Fuente de Reloj, esté
establecido como Internal (Interno)..
Cuando se utiliza un reloj externo al ADC (ya sea externo al chip o suministrado desde un reloj
interno seleccionado por el usuario), su valor se muestra en este campo. En este modo el
campo Conversion rate, tasa de conversión, es de sólo lectura y se calcula en función de la
frecuencia de reloj.
Invalid settings (Configuraciones no válidas)
Los parámetros Conversion mode, Resolution, y Conversion rate (Modo de
Conversión,Resolución y Tasa de Conversión) afectan a la frecuencia de reloj del ADC. Cambiar
cualquiera de estos parámetros puede hacer que la frecuencia de reloj del ADC exceda la tasa
máxima o mínima. La frecuencia máxima del ADC es una función del Resolution, Buffer gain,
y Input range (Resolución, Ganancia del búfer y Rango de entrada). Si se produce un ajuste no
válido para estos parámetros, aparece un círculo rojo con un signo de exclamación cerca del
campo Conversion rate (Tasa de conversión).
Si coloca el cursor sobre uno de estos símbolos de error, aparecera un mensaje de error.
Cambie los parámetros según sea necesario para cumplir con las especificaciones del ADC.

Opciones de entrada
Input range (Rango de entrada)
Este parámetro configura el ADC para un rango de entrada dado. Esto configura la entrada al
ADC y es independiente de la ganancia del búfer establecida. Las señales analógicas
conectadas al IC deben estar comprendidas entre Vssa y Vdda sin importar qué ajustes del
rango de entrada se establezcan.
El máximo absoluto del rango de entrada del ADC siempre está dictado por el absoluto máximo
y mínimo del Buffer mode (modo del Búfer)..
Las opciones disponibles para este parámetro varían dependiendo de la selección del Input
Mode (modo de entrada); La Tabla 2 y la Tabla 3 describen las opciones.
Las siguientes opciones están disponibles cuando el Input mode (modo de entrada) se
establece en Differential (diferencial). Para sistemas donde se escanean tanto las señales de
una sola entrada como las diferenciales, conecte la entrada negativa a Vssa al escanear un
solo terminal de entrada. Dependiendo de la aplicación, puede seleccionar Rail to Rail (riel a
riel/extremo a extremo), Level Shift o Bypass Buffer (puentear/ignorar búfer) utilizando el
parámetro Buffer mode (modo búfer). Consulte la descripción del parámetro Búfer para
obtener más detalles..
Puede utilizar una referencia externa para proporcionar un rango de funcionamiento diferente.
El rango de entrada utilizable se puede calcular con una ecuación aplicable.
Tabla 2. Opciones Rango de Entrada Diferencial
Input Range
(Rango de Entrada)
Internal Ref
Descripción
(Ref Interno)
(External Ref)
(Ref Externo) (NdT: Input = Entrada)

±1.024 V (–Input ± Cuando se utiliza la referencia interna (1.024 V), el rango de entrada es -Input ±
Vref) 1.024 V. Si la entrada negativa está conectada a 2.048 V el rango de entrada
utilizable es 2.048 ± 1.024 V o 1.024 a 3.072 V.
±2.048 V Cuando se utiliza la referencia interna (1.024 V), el rango de entrada es -Input ±
(–Input ± 2*Vref) 2.048 V. Si la entrada negativa está conectada a 2.028 V el rango de entrada
utilizable es 2.048 ± 2.048 V o 0.0 a 4.096 V.
±6.144 V Cuando se utiliza la referencia interna (1.024 V), el rango de entrada es -Input ±
(–Input ± 6*Vref) 6.144 V, pero no excede el rango máximo de entrada. Puede utilizar este modo
para medir las tensiones de alimentación al conectar la entrada negativa a Vssa.
Si tiene la intención de medir la fuente de alimentación debe evitar (bypass) el
búfer.

Input Range
(Rango de Entrada)
Internal Ref
Descripción
(Ref Interno)
(External Ref)
(Ref Externo) (NdT: Input = Entrada)

±0.512 V Cuando se utiliza la referencia interna (1.024 V), el rango de entrada es -Input ±
(–Input ± Vref/2) 0.512 V. Si -Input está conectado a 1.0 V el rango de entrada utilizable es 1.0 ±
0.512 V o 0.488 a 1.512 V.
±0.256 V Cuando se utiliza la referencia interna (1.024 V), el rango de entrada es -Input ±
(–Input ± Vref/4) 0.256 V. Si -Input está conectado a 1.0 V el rango de entrada utilizable es 1.0 ±
0.256 V o 0.744 a 1.256 V.
±0.128 V Cuando se utiliza la referencia interna (1.024 V), el rango de entrada es -Input ±
(–Input ± Vref/8) 0.128 V. Si -Input está conectado a 1.0 V el rango de entrada utilizable es 1.0 ±
0.128 V o 0.872 a 1.128 V.

±0.064 V Cuando se utiliza la referencia interna (1.024 V), el rango de entrada es -Input ±
(–Input ± Vref/16) 0.064V. Si -Input está conectado a 1.0 V el rango de entrada utilizable es 1.0 ±
0.064 V o 0.936 a 1.064 V.

Las opciones enumeradas en la tabla anterior dependen de la configuración Vref. La siguiente


tabla muestra ejemplos con Vref igual a 1.024 V y 1.200 V. El valor numérico principal depende
del ajuste Vref en la sección Reference (referencia).
Con Vref = 1.024 V Con Vref = 1.2
V
±1.024 V (–Input ± Vref) ±1.200 V (–Input ±Vref)
±2.048 V (–Input ± Vref*2) ± 2.400 V (–Input ± Vref*2)
±6.144 V (–Input ± 6*Vref) ±7.200 V (–Input ± 6*Vref)
±0.512 V (–Input ± Vref/2) ±0.600 V (–Input ± Vref/2)
±0.256 V (–Input ± Vref/4) ±0.300 V (–Input ± Vref/4)
±0.128 V (–Input ± Vref/8) ±0.150 V (–Input ± Vref/8)
±0.064 V (–Input ± Vref/16) ±0.075 V (–Input ±Vref/16)

Las siguientes opciones están disponibles cuando Input Mode (Modo de Entrada) está
configurado como Single (Unico). Para simular la operación en modo único, conecte la entrada
negativa a un valor interno de referencia (Vssa o Vref).

Dependiendo de la aplicación, puede seleccionar Rail to Rail, Level Shift o Bypass Buffer
usando el parámetro Buffer Mode (Modo Búfer). Consulte la descripción del parámetro Búfer
para obtener más detalles.

Puede utilizar una referencia externa para proporcionar un rango de funcionamiento diferente.
El rango de entrada utilizable se puede calcular con una ecuación aplicable.
Tabla 3. Opciones de Rango de Entrada Unico (Single-Ended)
Input Range
(Rango de Entrada)
Internal Ref
(Ref Interno) Descripción
(External Ref)
(Ref Externo)

Vssa a 1.024 V (0 a Cuando se utiliza la referencia interna (1.024 V), la tensión de entrada utilizable en el
Vref) ADC es de 0.0 a 1.024 V.

Vssa a 2.048 V (0.0 a Cuando se utiliza la referencia interna (1,024 V), la tensión de entrada utilizable en el
2*Vref) ADC es de 0,0 a 2,048 V. Este rango requiere que la ganancia del búfer de entrada
sea igual a 1. Si se selecciona una ganancia distinta a 1, el ADC no funcionará
correctamente. Esto se debe a que,en este caso, la tensión de referencia está
conectada directamente a la entrada negativa. La ganancia del búfer de entrada
amplificará solamente la entrada positiva y no la negativa, causando una
amplificación desequilibrada.
Vssa a Vdda Este modo es proporcional de la tensión de alimentación. El rango de entrada es Vssa a
Vdda.
No utilice una referencia externa para esta configuración. Este rango requiere que la
ganancia del búfer de entrada sea igual a 1. Si se selecciona una ganancia distinto a 1,
el ADC no funcionará correctamente.
.
Vssa a 6.144 V (Vssa Cuando se usa la referencia interna (1.024 V), el rango de entrada es de 0.0 a
a 6*Vref) 6.144 V, pero no excede el rango máximo de entrada. Puede utilizar este modo
para medir la tensión de alimentación. Si tiene la intención de medir la fuente
debe evitar el búfer.

La tabla siguiente muestra el ejemplo con Vref = 1,024 V y 1,2 V. El valor numérico principal
depende del ajuste Vref en la sección Reference (Referencia).
Con Vref = 1.024 V Con Vref = 1.2 V

Vssa a 1.024 V (0.0 a Vref) Vssa a 1.200 V (0.0 a Vref)


Vssa a 2.048 V (0.0 a Vref*2) Vssa to 2.400 V (0.0 a Vref*2)
Vssa a Vdda Vssa a Vdda
Vssa a 6.144 V (0.0 a 6*Vref) Vssa a 7.200 V (0.0 a 6*Vref)

Nota: Al seleccionar la opción Vssa a Vdda, se ajusta automáticamente la referencia a Vdda / 4


o Vdda / 3. Esta selección se basa en el valor de Vdda introducido en design-wide resources
(recursos de diseño).

Buffer gain (Ganancia del búfer)


Este parámetro selecciona la ganancia del búfer de entrada del ADC. El búfer del ADC tiene
un ancho de banda en su ganancia finita que afecta los ajustes de tiempo. Aumentar la
ganancia del búfer reduce la tasa de muestreo máxima disponible. La tasa de muestreo
máxima es la tasa de muestreo de la Tabla 1 dividida por la ganancia del búfer.
Para lograr la máxima relación señal / ruido, es importante utilizar el rango completo del
ADC. El búfer de entrada se puede utilizar para amplificar la señal de entrada y así poder
utilizar todo el rango del ADC. Asegúrese de que los ajustes Buffer gain (Ganancia del
búfer) y Input range (Rango de entrada) sean compatibles.
Sin Búfer Con búfer

Ganancia Búfer Descripción


1 Establece la ganancia del buffer de entrada en 1.
2 Establece la ganancia del buffer de entrada en 2.
4 Establece la ganancia del buffer de entrada en 4.
8 Establece la ganancia del buffer de entrada en 8.

Buffer mode (Modo del búfer)


Este parámetro selecciona el modo del búfer de entrada del ADC. El ADC tiene una tasa de
muestreo máxima cuando se utiliza el búfer. Los modos sin búfer reducen ligeramente el
ancho de banda..
Buffer Mode (Modo Búfer) Descripción
Bypass Buffer Desactiva la ganancia del buffer de entrada. Si se selecciona, el búfer se
(Omitir Búfer) deshabilita para reducir el consumo total de energía. El parámetro Buffer Gain
no tiene ningún efecto si se selecciona este modo. Si se selecciona este modo,
la impedancia de entrada se reduce a menos de 500 kΩ. Vea la Figura 3 para
detalles sobre el rango.
Rail to Rail (Riel a Riel) Establece al búfer de entrada al modo rail to rail. Vea la Figura 3 para detalles
sobre el rango.
Level Shift Establece al búfer de entrada en modo Level Shift (Desplazamiento de nivel). Se
usan ambas entradas del búfer, positivo y negativo. El modo Level Shift le permite
ir por debajo de VSSA, pero no todo el camino hacia VDDA. Vea la Figura 3 para
detalles sobre el rango.
Figura 3 Muestra el rango del ADC para todos los modos de búfer..
Figura 3. ADC Range (Rango ADC)
Reference (Referencia)

Vref
Este parámetro selecciona el voltaje de referencia del ADC_DelSig y la configuración. El
voltaje de referencia establece el rango del ADC.
ADC_Reference Descripción
(Referencia_ADC)
Internal Vref 1.024 Volts Usar referencia interna de 1.024-V (por defecto)
Vref Interno 1.024 Volts

Internal Vref, Usar la referencia interna 1.024-V y permite conectar un capacitor de


Bypassed on P0[3] 1 desacople externo en el pin P0[3].
Vref Interno,
desacople en P0[3]1

Internal Vref, Usar la referencia interna 1.024-V y permite conectar un capacitor de


Bypassed on P3[2] 1 desacople externo en el pin P3[2].
Vref Interno,
Desacople en P3[2] 1

External Vref on P0[3] Usar una referencia externa en pin P0[3]. Vea Especificaciones Eléctricas ADC Delta-
Vref Externo en P0[3] Sigma para el rango permitido.
External Vref on P3[2] Usar una referencia externa en pin P3[2].
Vref Externo en P3[2]
Internal Vdda/4 Usar referencia Vdda/4 interna.
Vdda/4 Interno
Internal Vdda/4, Usar la referencia interna Vdda/4 y permite conectar un capacitor de
Bypassed on P0[3] 1 desacople externo en el pin P0[3].
Vdda/4 Interno
Desacople en P0[3]1
Internal Vdda/4, Usar la referencia interna Vdda/4 y permite conectar un capacitor de
Bypassed on P3[2] 1 desacople externo en el pin P3[2].
Vdda/4 Interno,
Desacople en P3[2] 1
1La precisión y la relación señal-ruido dependen en gran medida de la calidad de la referencia. La referencia suministrada
al ADC puede ser desacoplada en el puerto P0[3] o el puerto P3[2]. Se recomienda el uso de un capacitor de desacople
externo. El ruido proveniente de la referencia es dependiente de la frecuencia, como se muestra en las mediciones de la
Figura 4.
ADC_Reference
(Referencia_ADC) Descripció
n
Internal Vdda/3 Usa referencia interna Vdda/3.
Vdda/3 Interno

Internal Vdda/3, Usa referencia interna Vdda/3 y colocar un capacitor de desacople en pin P0[3].
Bypassed on P0[3] 1
Vdda/3 interno,
Desacople en P0[3] 1

Internal Vdda/3, Usa referencia interna Vdda/3 y colocar un capacitor de desacople en pin P3[2].
Bypassed on P3[2] 1
Vdda/3 interno,
Desacople en P3[2] 1

Figura 4. Ruido de la Fuente de Referencia

Unbypassed = Sin Desacoplar


Bypass = Con Desacople

Cuando el ruido de referencia integrado es menor que el ruido de cuantificación integrado


sobre la banda hasta f SAMPLE /2, la referencia no limita el rendimiento del ruido. Puede
seleccionar un valor del capacitor mayor de acuerdo con la resolución usando la siguiente
tabla.
Resolution (bits) Bypass Capacitor Value (µF)
Resolución (bits) Capacitor Desacople en (µF)

10 0.01
12 0.01
14 0.1 to 1.0
16 0.1 to 1.0
18 1.0 to 10.0

Nota: Se utiliza la misma referencia interna tanto para el ADC_SAR y ADC_DelSig. Si ambos tipos de ADC tienen que
trabajar con la referencia interna simultáneamente, utilice la opción Internal Vref, bypassed para obtener el mejor
rendimiento.
Vref value (Valor de Vref)
Este parámetro establece o muestra la tensión de referencia utilizada por el ADC. Si se utiliza
la referencia interna de 1.024 voltios, se mostrara el valor 1.0240. Si se selecciona la opción de
referencia Interna Vdda/3 o Vdda/4, el valor se deriva del ajuste Vdda en la página de recursos
globales de diseño (DWR). Si se selecciona una referencia externa, puede introducir la
referencia utilizada para garantizar que las cuentas-a-volts de las API funcionen correctamente.
Los valores mínimos y máximos que se pueden introducir son de 0,9 a 1,3 V, respectivamente.
El valor predeterminado es 1.024V. Cuando la referencia seleccionada está fuera del rango de
0.9 a 1.3V, un símbolo de error aparecerá en el cuadro de valor Vref alertando que se ha
producido una condición de error. Además, la compilación falla si el valor de Vref excede el
rango esperado de 0.9 a 1.3V.
La siguiente tabla muestra el valor de Vref cuando se seleccionan diferentes opciones de referencia.
Referencia Escogida Valor Mostrado Vref Comentario

Interno 1.024 Volts 1.0240 No se puede editar el valor.


Interno Desacoplado en P0.3 1.0240 No se puede editar el valor.
Interno Desacoplado en P3.2 1.0240 No se puede editar el valor.
Externo Vref en P0.3 1.0240 Valor editable, con valor predeterminado de 1.0240.
Externo Vref en P3.2 1.0240 Valor editable, con valor predeterminado de 1.0240.
Interno Vdda/4 1.2500* Este valor se deriva de la configuración Vdda en
recursos globales de diseño (DWR). El valor no es
editable.
* El ejemplo mostrado es para una Vdda de 5 V.
Interno Vdda/4 1.2500* Este valor se deriva de la configuración Vdda en
Desacoplado en P0.3 recursos globales de diseño (DWR). El valor no es
editable.
* El ejemplo mostrado es para una Vdda de 5 V.

Internal Vdda/4 1.2500* Este valor se deriva de la configuración Vdda en


Dessacoplado en P3.2 recursos globales de diseño (DWR). El valor no es
editable.
* El ejemplo mostrado es para una Vdda de 5 V..

Interno Vdda/3 1.100** Este valor se deriva de la configuración Vdda en


recursos globales de diseño (DWR). El valor no es
editable.
** El ejemplo mostrado es para una Vdda de 3.3 V
Internal Vdda/3 Bypassed 1.100** Este valor se deriva de la configuración Vdda en
on P0.3 recursos globales de diseño (DWR). El valor no es
editable.
** El ejemplo mostrado es para una Vdda de 3.3 V.
Interno Vdda/3 1.100** Este valor se deriva de la configuración Vdda en
Desacoplado en P3.2 recursos globales de diseño (DWR). El valor no es
editable.
** El ejemplo mostrado es para una Vdda de 3.3 V.
Coherencia
El valor de la muestra de la salida es tres bytes de ancho. Está protegido en las lecturas
de manera que el hardware subyacente no lo actualice cuando es parcialmente leído
por el software del sistema o DMA. Dependiendo de la configuración del bloque, no
todos los bits del registro de salida son de interés. La metodología de coherencia
permite cualquier tamaño de campo de salida y lo maneja correctamente.

De forma predeterminada, la coherencia se establece en LSB byte para el modo de


alineación a la derecha (LOW) y se puede cambiar a medio (MID) o byte MSB (ALTO)
cuando se selecciona el modo de alineación a la izquierda.
Alignment (Alineación)
Este parámetro determina cómo se alinea el resultado de la palabra de 24 bits. Normalmente,
todos los resultados están justificados a la derecha, pero en los casos en que el resultado del
ADC se transfiera al DFB, tiene más sentido tener los datos justificados a la izquierda.
Las siguientes tablas muestran todos los detalles.
Resolution Alignment Option Coherency Comment
(Resolución) (Opción de Alineamiento) (Coherencia) (Comentario)
8-20 Right (Derecha) LOW (BAJO) Los resultados de toda la gama serán alineados
a la derecha al bit 0.

Resolution Left Alignment Options Coherency Comment


(Resolución) (Opciones Alineamiento Izquierda) (Coherencia) (Comentario)
8 a 15 16 bits (Protegido contra desbordes) MID (Medio) Los resultados de toda la gama serán
alineados al bit 14.

16 bits (No Protegido contra MID (Medio) Los resultados de toda la gama serán
desbordes) alineados al bit 15. Se debe tener cuidado
que los valores negativos no excedan el límite
de rango completo.

16 24 bits (Protegido contra desbordes) HIGH (Alto) El resultado será 24 bits y el valor del rango
completo se alineará en el bit 22.

16 bits (No Protegido contra MID (Medio) Los resultados del rango completo se
desbordes) alinearán con el bit 15. Se debe tener
cuidado que los valores negativos no excedan
el límite de rango completo.
17-20 Bit-23 (Protegido contra desbordes) HIGH Valores de 24 bits alineados con el bit
(Medio) 22 pero con signo ampliado a 32 bits.
Resultado registro bits para el modo diferencial ( “0” – LSB, “-“ – null )

Alineamiento Res. 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Derecha 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 6 5 4 3 2 1 0
9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 7 6 5 4 3 2 1 0
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 9 8 7 6 5 4 3 2 1 0
11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 9 8 7 6 5 4 3 2 1 0
12 12 12 12 12 12 12 12 12 12 12 12 12 11 10 9 8 7 6 5 4 3 2 1 0
13 13 13 13 13 13 13 13 13 13 13 13 12 11 10 9 8 7 6 5 4 3 2 1 0
14 14 14 14 14 14 14 14 14 14 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
15 15 15 15 15 15 15 15 15 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
16 16 16 16 16 16 16 16 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
17 17 17 17 17 17 17 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Page 16 of 55 Document Number: 001-96833 Rev. *C

Resultado registro bits para el modo diferencial ( “0” – LSB, “-“ – null )

Alineamiento Res. 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
18 18 18 18 18 18 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
19 19 19 19 19 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
20 20 20 20 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

A la Izquierda 8 8 8 8 8 8 8 8 8 8 7 6 5 4 3 2 1 0 - - - - - - -
16 bits 9 9 9 9 9 9 9 9 9 9 8 7 6 5 4 3 2 1 0 - - - - - -
(Protegido 10 10 10 10 10 10 10 10 10 10 9 8 7 6 5 4 3 2 1 0 - - - - -
Contra
11 11 11 11 11 11 11 11 11 11 10 9 8 7 6 5 4 3 2 1 0 - - - -
desbordes)
12 12 12 12 12 12 12 12 12 12 11 10 9 8 7 6 5 4 3 2 1 0 - - -
13 13 13 13 13 13 13 13 13 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - -
14 14 14 14 14 14 14 14 14 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 -
15 15 15 15 15 15 15 15 15 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

A la Izquierda 16 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - - - - - - -
24 bits
(Protegido
Contra
desbordes)

A la Izquierda 8 8 8 8 8 8 8 8 8 7 6 5 4 3 2 1 0 - - - - - - - -
16 bits (No 9 9 9 9 9 9 9 9 9 8 7 6 5 4 3 2 1 0 - - - - - - -
Protegido contra
10 10 10 10 10 10 10 10 10 9 8 7 6 5 4 3 2 1 0 - - - - - -
desbordes)
11 11 11 11 11 11 11 11 11 10 9 8 7 6 5 4 3 2 1 0 - - - - -
12 12 12 12 12 12 12 12 12 11 10 9 8 7 6 5 4 3 2 1 0 - - - -
13 13 13 13 13 13 13 13 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - - -
14 14 14 14 14 14 14 14 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - -
15 15 15 15 15 15 15 15 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 -
16 16 16 16 16 16 16 16 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

A la Izquierda 17 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - - - - - -
Bit-23 18 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - - - - -
(Protegido 19 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - - - -
Contra
20 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - - -
desbordes)
Common Settings (Configuraciones en Común)

Number of configurations (Número de Configuraciones)


Puede definir hasta cuatro configuraciones diferentes utilizando el parámetro Number of
configurations (Número de configuraciones). Por ejemplo, el sistema puede requerir la
conmutación entre modo continuo de 16 bits, 48 ksps para audio; modo de muestra única de 20
bits, 60 sps para sensores analógicos; y modo de muestras múltiples para un registro de datos de
uso general de 12 bits en un adquisidor de datos multi-canal . Todas las configuraciones deben
utilizar el mismo modo de entrada, todas de una sola entrada o todas en diferencial.
De forma predeterminada, el ADC se establece en la primera configuración (Config1) a menos
que la función ADC_SelectConfiguration() defina la configuración en un valor diferente. Al
seleccionar entre dos y cuatro configuraciones, aparecen pestañas adicionales en el cuadro de
diálogo Configure (Configurar). Estas múltiples configuraciones le permiten cambiar entre
configuraciones durante el tiempo de ejecución. Cada configuración está contenida en su
propia pestaña.

Hay algunas consideraciones al utilizar múltiples configuraciones del ADC:

 Todas las configuraciones deben utilizar el mismo modo de entrada, todas entradas únicas
o todas entradas diferenciales
 El parámetro Vref también tiene algunas restricciones. Si las opciones de Config 1
establecen un modo de referencia externa o bypass, las otras configuraciones
puedenseleccionar el mismo modo o utilizar la referencia interna.
 Cada configuración tiene su propia rutina de servicio de interrupción (Interrupt Service
Routine). Cuando se llama a la función AD_SelectConfiguration(), el vector de interrupción
cambia a la rutina del vector de interrupción correspondiente.
Clock source (Fuente de Reloj)

El ADC puede ser sincronizado por una fuente interna al ADC, una fuente externa al
componente pero interna al chip usando un componente de reloj estándar o UDB, o por una
fuente externa al chip. La selección del reloj interno o externo se realiza mediante los botones
de selección. Cuando se habilita el reloj externo, se muestra un pin de entrada de reloj en el
símbolo del ADC. Los relojes externos deben tener un ciclo de trabajo del 50 por ciento. El
reloj interno, por su diseño, garantiza el ciclo de trabajo correcto.
La estabilidad del reloj es importante para conseguir una operación de bajo ruido. Uno de los
efectos de la fluctuación es la dispersión sustancial de la señal. Esto se puede ver claramente en
las FFT siguientes. La relación señal-ruido (SNR) del ADC puede mejorarse significativamente
con el uso de un reloj externo.

Una medida del rendimiento del ADC es la distorsión causada por INL, DNL y errores de
temporización. Esta distorsión se mide excitando al ADC con una onda sinusoidal "perfecta" y
luego evaluar la salida usando un FFT (transformada rápida de Fourier). El exceso de INL produce
una distorsión armónica con "líneas" en múltiplos de la frecuencia de onda sinusoidal de entrada.
El exceso de DNL produce un aumento general del nivel de ruido. Los errores de sincronización
(fluctuación en frecuencia) en el reloj del ADC resultan en la propagación de la fundamental
indicada desde una línea nominal en la FFT. El reloj interno del PSoC tiene más fluctuaciónes de
frecuencia que un oscilador de cristal externo. El gráfico superior muestra el ruido y la
propagación en la FFT en el fundamental del reloj interno. La gráfica inferior muestra una
reducción sustancial en la propagación de la fundamental como resultado de una menor
fluctuación en frecuencia en un oscilador de cristal externo.

Figura 5. Ruido versus Reloj


FFT de frecuencia única para oscilador interno
FFT de frecuencia única usando un Oscilador a Cristal Externo

Input mode (Modalidad de entrada)

El ADC es inherentemente diferencial; Sin embargo, puede utilizar este parámetro para cambiar
la entrada diferencial a entrada única.
Este parámetro configura el ADC para una entrada diferencial o única. La selección
predeterminada es Differential (Diferencial). En este modo, diferencial, tanto las entradas
negativas como las positivas se muestran en el símbolo. Cuando se selecciona el modo single-
ended (entrada única), la entrada negativa del ADC se conecta a Vssa.
Differential (Diferencial) Single Ended (Entrada única)

Tenga en cuenta que el ADC Delta-Sigma en PSoC 3 y PSoC 5LP tiene inherentemente entrada
diferencial. El modo de entrada única se implementa conectando internamente la entrada
negativa a tierra.
La Figura 6 muestra las características de entrada y salida del ADC delta-sigma para entrada
diferencial y entrada única para una resolución de 16 bits. El ADC es un ADC diferencial, aunque
se conecte la entrada Vn a Vssa, efectivamente hace que el ADC se vea como si fuera un ADC
de una sola entrada (entrada única), ya que todas las entradas estarán referenciadas a Vssa.
Incluso en el modo de entrada única, en algunos modos del búfer, la entrada Vp puede estar hasta
100mV por debajo de Vssa lo que hará que el ADC devuelva un valor negativo correcto. Es por
esto que el valor de retorno del ADC siempre es un número con signo.

Cuando ADC está en el modo diferencial, el rango total de la entrada será siempre
simétrico alrededor de cero. Cuando está en el modo de entrada única, el rango de entrada
será apenas por debajo de Vssa hasta el valor de escala completo.
Figura 6. Características E/S ADC Delta-Sigma
Tenga en cuenta que al configurar el ADC en el modo entrada única y en 16 bits, la salida no se
detiene en 0x7FFF, sino que llega hasta 0xFFFF. Como ejemplo, un ADC en modo entrada única
en 16 bits se implementa considerando un ADC diferencial de 17 bits e ignorando la mitad del
rango (aunque la implementación interna es ligeramente diferente de aquél).

Si su sistema requiere ambos modos, diferencial y entrada única, debe seleccionar el modo
diferencial y puede utilizar un multiplexor analógico para conectar Vssa a la entrada negativa
del ADC y así poder usarlo como un ADC de entrada única..
Este parámetro controla las opciones disponibles en el parámetro Input Range (Rango de
Entrada)

Hardware SOC (Start of Conversion/Comienzo de Conversión)


El ADC puede ser iniciado por firmware con la función ADC_StartConvert() o por activación con
una señal de hardware. Tildando el parámetro Hardware SOC aparece un pin externo para iniciar
la conversión. Cuando el Hardware SOC está habilitado, dicho pin se muestra en el componente,
de lo contrario, no se mostrará ningún pin. La conversión comienza en el flanco ascendente de la
señal en el pin. Las conversiones continúan hasta que se llame a ADC_StopConvert(). De forma
predeterminada, Hardware SOC está deshabilitado. Si una conversión ya está en proceso, se
ignora la activación de Hardware SOC..

External charge pump clock (Reloj de Carga Externa)


La opción External charge pump clock siempre está habilitada para garantizar la frecuencia
óptima de carga. Esto maximiza el rendimiento del ADC. La frecuencia de reloj de carga se
ajusta automáticamente para un rendimiento óptimo, pero con la menor potencia. Este reloj está
ajustado 2 a 4 veces mayor que la frecuencia del ADC. Esta opción no está disponible para la
selección del usuario y es de sólo lectura.

Enable Vref/Vssa (Habilitar Vref/Vssa)


Este parámetro le permite conectar la entrada negativa de referencia Vssa del ADC al analógico
global AGL[6]. Para sistemas de alta precisión, el Vref_Vssa se puede conectar a la Vssa
externa para eliminar cualquier pequeña diferencia entre el Vssa dentro del chip y el Vssa fuera
del chip. Esta pequeña diferencia podría causar un error de ganancia en el ADC.
Vref_Vssa es una característica avanzada que es útil cuando se utiliza una referencia externa al
ADC. La conexión Vref_Vssa puede ser encaminada a un pin por medio del analog routing (ruteo
analógico). Esto le permite conectarse a una referencia externa y eliminar cualquier
desplazamiento en la referencia suministrada al ADC debido a las caidas I*R en el pin Vssa y
cable de unión.
El Vref_Vssa está conectado directamente a Analog Global Left 6 (AGL[6]). (Véase el diagrama
analógico de enrutamiento en la hoja de datos del dispositivo para obtener más información.)
AGL[6] esta directamente conectado a los pins P4[6], P4[2], P0[6] y P0[2]. Para obtener el mejor
rendimiento, asegúrese de que Vref_Vssa esté conectado a uno de estos pines. Colocar
Vref_Vssa en otro pin hace que se consuman recursos adicionales de enrutamiento y se añade
resistencia adicional en serie con la conexión.
The manual analog routing system (MARS) components allow you to a add rule check that ensures
that only the specified pins can be used. By placing an Analog Resource Constraint on the
Vref_Vssa net, only resources that make direct connections to that net can be used. If you place
a pin on that net that is not directly connected to AGL[6], the tool generates an error during the
build process. The error indicates that you have connected a resource to that net that has no direct
connection to the pin and therefore cannot route. The following graphic is an example:

Enable modulator input


When this parameter is enabled, the modulator input terminal will be enabled on the symbol. The
designer may route a signal from the DSI to drive the modulator input “mi” signal. This is an
advanced user option.

Page 22 of 55 Document Number: 001-96833 Rev. *C

Application Programming Interface


(Interfaz de programación de aplicaciones)
Las rutinas de la Interfaz de Programación de Aplicación (API) le permiten configurar el
componente utilizando el software. La tabla siguiente enumera y describe la interfaz de cada
función. Las secciones siguientes cubren cada función con más detalle.
Por defecto, PSoC Creator asigna el nombre de instancia "ADC_DelSig_1" a la primera instancia
de un componente en un diseño dado. Puede cambiar el nombre de la instancia a cualquier
valor único que siga las reglas sintácticas de los identificadores. El nombre de instancia se
convierte en el prefijo de cada nombre de la función global, variable y símbolo de constante.
Para facilitar la lectura, el nombre de instancia utilizado en la siguiente tabla es "ADC".
Funciones
Función Descripción
ADC_Start() Establece la variable initVar, llama a la función ADC_Init() y luego llama a la
Función ADC_Enable().
ADC_Stop() Detiene las conversiones del ADC y se apaga.
ADC_SetBufferGain() Selecciona la ganancia del buffer de entrada (1,2,4,8).
ADC_StartConvert() Comienza la Conversión
ADC_StopConvert() Detiene las conversiones
ADC_IRQ_Enable() Habilita interrupciones al final de la conversión
ADC_IRQ_Disable() Deshabilita interrupciones
ADC_IsEndConversion() Devuelve un valor distinto de cero si la conversión está completa
ADC_GetResult8() Devuelve un resultado de conversión de 8 bits
ADC_GetResult16() Devuelve un resultado de conversión de 16 bits
ADC_GetResult32() Devuelve un resultado de conversión de 32 bits
ADC_Read8() Inicia conversiones ADC, espera que la conversión se complete, detiene las
conversiones del ADC y devuelve el valor con signo de 8 bits.
ADC_Read16() Inicia conversiones ADC, espera que la conversión se complete, detiene las
conversiones del ADC y devuelve el valor con signo de 16 bits.

ADC_Read32() Inicia conversiones ADC, espera que la conversión se complete, detiene las
conversiones del ADC y devuelve el valor con signo de 32 bits.

ADC_SetOffset() Establece el desplazamiento (offset) utilizado por las funciones


ADC_CountsTo_mVolts(), ADC_CountsTo_uVolts() y ADC_CountsTo_Volts().
ADC_SelectConfiguration() Establece una de las cuatro configuraciones ADC
ADC_SetGain() Establece la ganancia utilizada por las funciones ADC_CountsTo_mVolts(),
ADC_CountsTo_uVolts() y ADC_CountsTo_Volts().
ADC_CountsTo_mVolts() Convierte las cuentas del ADC en milivoltios
Function Description
ADC_CountsTo_uVolts() Convierte las cuentas del ADC en microvolts
ADC_CountsTo_Volts() Convierte las cuentas del ADC en voltios de coma flotante
ADC_Sleep() Detiene el funcionamiento del ADC y guarda la configuración del usuario
ADC_Wakeup() Restaura y activa la configuración del usuario
ADC_Init() Inicializa o restaura el ADC usando los ajustes de Configure (Configurar)
ADC_Enable() Habilita el ADC
ADC_SaveConfig() Saves the current configuration
ADC_RestoreConfig() Restaura la configuración
ADC_SetCoherency() Establece el registro de coherencia
ADC_SetGCOR() Calcula un nuevo valor de GCOR y pone los registros GCOR con este
nuevo valor.
ADC_ReadGCOR() Devuelve los valores del registro GCOR normalizado

void ADC_Start(void)

Descripción: Establece la variable initVar, llama a la función ADC_Init() y luego llama a la


Función ADC_Enable().
Esta función configura y activa el ADC, pero no inicia las conversiones. De forma
predeterminada,el ADC está configurado para Config1. Utilice la función
ADC_SelectConfiguration() para seleccionar una configuración distinta.
Parámetros: Ninguna
Valor Ninguna
Devuelto:
Efectos Permite interrupciones. La lectura del resultado borra la interrupción. Consulte la
secundario: sección Interrupción de la rutina de servicio para obtener información sobre cómo
eliminar la interrupción interna.

void ADC_Stop(void)

Descripción: Deshabilita y apaga el ADC.


Parámetros: Ninguna
Valor Ninguna
Devuelto:
Efectos Ninguna
secundario:
void ADC_SetBufferGain(uint8 gain)
Descripción: Establece la ganancia del búfer de entrada.
Parámetros: uint8 gain: Ajuste de ganancia de entrada. La siguiente tabla muestra las constantes de
ganancia válidas.
Gain Options Description

ADC_BUF_GAIN_1X Establece la ganancia del buffer de entrada en 1


ADC_BUF_GAIN_2X Establece la ganancia del buffer de entrada en 2
ADC_BUF_GAIN_4X Establece la ganancia del buffer de entrada en 4
ADC_BUF_GAIN_8X Establece la ganancia del buffer de entrada en 8
Valor Devuelto: Ninguno
Efectos
secundario: Aumentar la ganancia reducirá el ancho de banda del búfer.

void ADC_StartConvert(void)
Descripción: Fuerza al ADC iniciar una conversión.
En el modo de entrada única (Single Sample mode), use esta API para iniciar una
conversión única. Cuando se completa la conversión, utilice la API
ADC_IsEndConversion() para comprobar o esperar a este evento, el ADC se
detendrá. Si se llama a la función ADC_StartConvert () mientras se está realizando
una conversión, la próxima conversión se pone en cola y se iniciará una nueva
conversión después de finalizar la conversión en curso. Si desea iniciar una nueva
conversión sin esperar a que finalice la conversión actual, detenga la conversión
actual llamando a ADC_StopConvert(). Después de detener la conversión, reinicie la
conversión llamando a ADC_StartConvert().

En modo Multi muestra (Multi Sample), Contínua (Continuous) o Muestra múltiple


(Turbo) [Multi Sample (Turbo)], llame a esta API para iniciar conversiones ADC
continuas hasta que se ejecuten las funciones ADC_StopConvert() o ADC_Stop().
Parámetros: Ninguno
Valor Devuelto: Ninguno
Efectos secundario: Ninguno

void ADC_StopConvert(void)
Descripción: Obliga al ADC a detener todas las conversiones. Si el ADC está en medio de una
conversión, el ADC se reiniciará y no proporcionará un resultado para esa conversión
parcial.
Parámetros: Ninguno
Valor Devuelto: Ninguno
Efectos secundario: Ninguno
void ADC_IRQ_Enable(void)
Descripción: Habilita interrupciones al final de una conversión. Global interrupts (interrupciones
globales) también debe estar activada para que se produzcan las interrupciones del
ADC. Para habilitar Global interrupts, utilice la macro habilitación de interrupción global
“CYGlobalIntEnable;” en main.c, antes de que se produzcan las interrupciones.
Parámetros: Ninguno
Valor Devuelto: Ninguno
Efectos secundario: Habilita interrupciones. La lectura del resultado borra la interrupción. Consulte
Interrupt Service Routine (Rutina de Servicio Interrupción) para obtener información
sobre cómo eliminar la interrupción interna.

void ADC_IRQ_Disable(void)
Descripción: Deshabilita interrupciones al final de una conversión.
Parámetros: Ninguno
Valor Devuelto: Ninguno
Efectos secundario: Ninguno

uint8 ADC_IsEndConversion(uint8 retMode)


Descripción: Comprueba el fin de conversión del ADC. Esta función proporciona al programador dos opciones.
En un modo esta función retorna inmediatamente con el estado de conversión. En el otro modo, la
función no devuelve (bloqueo) hasta que se haya completado la conversión.
Parámetros: uint8 retMode: Comprueba el modo de retorno de conversión. Consulte la tabla siguiente para ver
las opciones.
Opciones Descripción

ADC_RETURN_STATUS Devuelve inmediatamente el estado del resultado de conversión.

ADC_WAIT_FOR_RESULT No vuelve hasta que la conversión del ADC esté completa.

Valor Devuelto: uint8: Si se devuelve un valor distinto de cero, se ha completado la última conversión. Si el
valor devuelto es cero, el ADC sigue calculando el último resultado.
Efectos
secundario: Cuando se utiliza la salida EOC para activar el DMA para leer el resultado ADC, no
se debe utilizar la función ADC_IsEndConversion(). Esto se debe a que al leer el
registro de salida con DMA se borra el indicador (flag) de conversión completo del
ADC y esta API no puede devolver cuando está en el modo
ADC_WAIT_FOR_RESULT.
int8 ADC_GetResult8(void)
Descripción: Devuelve un valor con signo de 8 bits. El valor con signo de 8 bits positivo más grande
que se puede representar es 127, pero en el modo de entrada única de 8 bits, el valor
máximo positivo es 255. Por lo tanto, para el modo de entrada única de 8 bits, utilice la
función ADC_GetResult16() . Tenga en cuenta que si la resolución del ADC se establece
mayor a 8 bits, devuelve el LSB del resultado.
Parámetros: Ninguno
Valor Devuelto: int8: LSB de la última conversión ADC.
Efecto Ninguno
secundario:

int16 ADC_GetResult16(void)
Descripción: Devuelve un resultado de 16 bits para una conversión que tiene una resolución de 8 a 16
bits. Si la resolución es mayor de 16 bits, devolverá los 16 bits menos significativos del
resultado. Cuando el ADC está configurado para el modo de 16 bits entrada única, utilice la
función ADC_GetResult32() en su lugar. Esta función sólo devuelve resultados de 16 bits
con signo, lo que permite un valor positivo máximo de 32767, no de 65535.
Parámetros: Ninguno
Valor Devuelto: int16: Resultado 16-bit de la última conversión ADC.
Efecto Ninguno
secundario:

int32 ADC_GetResult32(void)
Descripción: Devuelve un resultado de 32 bits para una conversión que tenga una
resolución de 8 a 20 bits.
Parámetros: Ninguno
Valor Devuelto: int32: Resultado de la última conversión ADC.
Efecto secundario: Ninguno

int8 ADC_Read8(void)
Descripción: Esta función simplifica la obtención de resultados del ADC cuando sólo se requiere
una sola lectura.
Cuando es llamada, iniciará las conversiones del ADC, esperará a que la conversión
se complete, detenga conversión del ADC y devuelva el resultado. Esta es una
función de bloqueo y no se reinicializa hasta que el resultado esté listo.
Cuando el ADC está configurado en el modo de entrada única de 8 bits, se debe
utilizar la función ADC_Read16(). Esta función sólo devuelve valores de 8 bits con
signo. El valor máximo positivo con signo de 8 bits es 127, pero en el modo de entrada
única de 8 bitsl, el valor máximo positivo es de 255.
Parámetros: Ninguno
Valor Devuelto: int8: LSB de una conversión ADC.
Efecto secundario: Ninguno
int16 ADC_Read16(void)
Descripción: Esta función simplifica la obtención de resultados del ADC cuando sólo se requiere
una lectura única.
Cuando se es llamada, iniciará las conversiones del ADC, esperará a que la
conversión esté completa, detiene las conversiónes del ADC y devuelva el
resultado. Esta es una función de bloqueo y no reinicia hasta que el resultado esté
listo.
Cuando el ADC esté configurado en modo de entrada única de 16 bits, se debe
utilizar la función ADC_Read32(). Esta función devuelve sólo valores de 16 bits
con signo, lo que permite un valor máximo positivo de 32767 y no de 65535.

Parámetros: Ninguno
Valor Devuelto: int16: Resultado de 16 bits de una conversión ADC.
Efecto secundario: Ninguno

int32 ADC_Read32(void)
Descripción: Esta función simplifica la obtención de resultados del ADC cuando sólo se requiere
una lectura única.
Cuando se es llamada, iniciará las conversiones del ADC, esperará a que la
conversión esté completa, detiene las conversiónes del ADC y devuelva el resultado.
Esta es una función de bloqueo y no reinicia hasta que el resultado esté listo.
Devuelve un resultado de 32 bits para una conversión, con un resultado que tiene una
resolución de 8 a 20 bits.

Parameters: Ninguno
Return Value: int32: Resultado de una conversión ADC.
Efecto secundario: Ninguno

void ADC_SetOffset(int32 offset)


Descripción: Establece el desplazamiento (offset) del ADC el cual es utilizado por las funciones
ADC_CountsTo_uVolts(), ADC_CountsTo_mVolts() y ADC_CountsTo_Volts() para
restar el desplazamiento (offset) de la lectura dada antes de calcular la conversión a
voltaje.
Parámetros: int32 offset: Este valor es un valor medido cuando las entradas están cortocircuitadas
o conectadas a la misma tensión de entrada.
Valor Devuelto: Ninguno.
Efecto secundario: Afecta a las funciones ADC_CountsTo_uVolts(), ADC_CountsTo_mVolts() y
ADC_CountsTo_Volts() restando el desplazamiento dado.
void ADC_SetGain(int32 adcGain)
Descripción: Establece la ganancia del ADC en cuentas por volt para las funciones de conversión de
voltaje. Este valor se establece de forma predeterminada por los ajustes de referencia y
rango de entrada. Sólo debe utilizarse para calibrar el ADC con una entrada conocida o si
se utiliza una referencia externa.

Parámetros: int32 adcGain: Ganancia del ADC en cuentas por voltio.


Valor Devuelto: Ninguno.
Efecto secundario: Afecta sólo las funciones ADC_CountsTo_uVolts(), ADC_CountsTo_mVolts() y
ADC_CountsTo_Volts() al suministrar la conversión correcta entre los recuentos ADC y
el voltaje.

void ADC_SelectConfiguration(uint8 config, uint8 restart)


Descripción: Establece una de las cuatro configuraciones del ADC. Esta API primero detiene el ADC
y, a continuación, inicializa los registros con los valores predeterminados para la nueva
configuración. El valor del registro GGOR personalizado, establecido por la API
ADC_SetGCOR() para una configuración particular, no se sobrescribe como valor
predeterminado. Si el valor del segundo del parámetro es 1 al reiniciarse, se reiniciará
el ADC. Si este valor es cero, debe llamar ADC_Start() y ADC_StartConvert() para
reiniciar la conversión..
La API ADC_Start() se debe llamar antes del primer uso de la API
ADC_SelectConfiguration para la inicialización y la operación correcta.

Parámetros: uint8 config: Opción de configuración entre 1 y 4.


uint8 restart: Opción de reinicio. 1 significa iniciar el ADC y reiniciar la conversión. 0
significa que no se inicia el ADC ni la conversión.
Valor Devuelto: Ninguno.
Efecto secundario: La interrupción interna se configura al nuevo vector, relacionado con el número de
configuración y habilitado. Consulte la sección Rutina de Servicio de Interrupción
para obtener información sobre cómo quitar la interrupción interna.

int16 ADC_CountsTo_mVolts(int32 adcCounts)


Descripción: Convierte la salida del ADC en milivoltios como un entero de 16 bits. Por ejemplo, si el
ADC midió 0,534 V, el valor de retorno sería 534 mV. El cálculo de la tensión depende
del valor de la referencia de tensión. Cuando el Vref se basa en Vdda, el valor utilizado
para Vdda se establece para el proyecto en la pestaña de System (Sistema) del Design
Wide Resources (DWR) (Recursos de Diseño Globales).
Parámetros: int32 adcCounts: Resultado de la conversión ADC.
Valor Devuelto: int16: Resultado en mV.
Efecto secundario: Ninguno
int32 ADC_CountsTo_uVolts(int32 adcCounts)
Descripción: Convierte la salida del ADC en milivoltios como un entero de 32 bits. Por ejemplo, si el
ADC midió –0.02345 V, el valor de retorno sería –23450 µV. El cálculo de la tensión
depende del valor de la referencia de tensión. Cuando el Vref se basa en Vdda, el valor
utilizado para Vdda se establece para el proyecto en la pestaña de System (Sistema)
del Design Wide Resources (DWR) (Recursos de Diseño Globales).
Parámetros: int32 adcCounts: Resultado de la conversión ADC.
Valor Devuelto: int32: Resultado en µV.
Efecto secundario: Ninguno

float32 ADC_CountsTo_Volts(int32 adcCounts)


Descripción: Convierte la salida del ADC en volts como un número de coma flotante. Por ejemplo, si
el ADC mide un voltaje de 1.2345 V, el valor de retorno sería +1.2345 V. El cálculo de la
tensión depende del valor de la referencia de tensión. Cuando el Vref se basa en Vdda,
el valor utilizado para Vdda se establece para el proyecto en la pestaña de System
(Sistema) del Design Wide Resources (DWR) (Recursos de Diseño Globales).
Parámetros: int32 adcCounts: Resultado de la conversión ADC.
Valor Devuelto: float: Resultado en volts.
Efecto secundario: Ninguno

void ADC_Sleep(void)
Descripción: La función ADC_Sleep() comprueba si el componente está habilitado y guarda ese
estado.
A continuación, llama a la función ADC_Stop() y llama a ADC_SaveConfig() para
guardar la configuración de usuario.
Llame a la función ADC_Sleep() antes de llamar a la función CyPmSleep() o
CyPmHibernate(). Consulte la Guia de Referencia del PSoC Creator para obtener
más información acerca de las funciones de administración de energía.

Parámetros: Ninguno
Valor Devuelto: Ninguno
Efecto secundario: Ninguno
void ADC_Wakeup(void)
Descripción: La función ADC_Wakeup() llama a la función ADC_RestoreConfig() para restaurar
la configuración de usuario. Si el componente se habilitó antes de que se llamó a
la función ADC_Sleep(), la función ADC_Wakeup() volverá a habilitar el
componente.
Parámetros: Ninguno
Valor Devuelto: Ninguno
Efecto secundario: Llamar a la función ADC_Wakeup() sin primero llamar al ADC_Sleep() o
a ADC_SaveConfig() puede producir un comportamiento inesperado.

void ADC_Init(void)
Descripción: Inicializa o restaura los parámetros del componente según la configuración en el
cuadro de diálogo Configure (Configurar). No es necesario llamar a esta función si se
llama a ADC_Start().
Parámetros: Ninguno
Valor Devuelto: Ninguno
Efecto secundario: Todos los registros se restablecerán a sus valores iniciales. Esto reinicializa el
componente.

void ADC_Enable(void)
Descripción: Habilita el reloj y la alimentación del ADC.
Parámetros: Ninguno
Valor Devuelto: Ninguno
Efecto secundario: Permite la interrupción interna. Consulte la sección Rutina de Servicio de Interrupción
para obtener información sobre cómo quitar la interrupción interna.

void ADC_SaveConfig(void)
Descripción: Esta función guarda la configuración del componente. Esto salvará los registros no
retenibles Esta función también guardará los parámetros actualesdel componente,
tal como se definen en el cuadro de diálogo Configure (Configurar) o modificados por
las API apropiadas. Esta función es llamada por la función ADC_Sleep().
Parámetros: Ninguno
Valor Devuelto: Ninguno
Efecto secundario: Ninguno.
void ADC_RestoreConfig(void)
Descripción: Esta función restaura la configuración del componente. Esto restaurará los registros no
retenible. Esta función también restaurará los parámetros del componente a los que eran
antes de llamar a la función ADC_Sleep()
Parámetros: Ninguno
Valor Devuelto: Ninguno
Efecto secundario: Llamar a esta función sin llamar primero a la función ADC_Sleep() o ADC_SaveConfig()
puede producir un comportamiento inesperado.

void ADC_SetCoherency(uint8 coherency)


Descripción: Esta función le permite cambiar cuál de los resultados de tres palabras del ADC
activará un desbloqueo de coherencia. El resultado del ADC no se actualizará hasta
que el byte de ajuste sea leído por el ADC o el DMA. Por defecto, el LSB es el byte de
coherencia. Si escribe un DMA o API personalizada donde el LSB no es el último byte
leído, utilice esta API para establecer el último byte del resultado del ADC que se lee.
Si se realiza una lectura de varios bytes mediante DMA o el procesador ARM, la
coherencia puede establecerse en cualquier byte en la última palabra leída.
Parámetros: uint8 coherency: Ajustes de coherencia. La siguiente tabla muestra los valores de
coherencia válidos.
Coherency Options Description

ADC_COHER_LOW LSB debe ser el último byte leído.

ADC_COHER_MID El byte del medio debe ser el último byte leído.

ADC_COHER_HIGH MSB debe ser el último byte leído.

Valor Devuelto: Ninguno


uint8 ADC_SetGCOR(float gainAdjust)
Descripción: Esta función calcula un nuevo valor GCOR (Ganancia ADC) y lo escribe en el
registro GCOR El valor GCOR es un valor de 16 bits que representa una ganancia
de 0 a 2. El resultado del ADC se multiplica por este valor antes de que se coloque
en los registros de salida del ADC.
Al ejecutar la función, el valor antiguo de GCOR se multiplica por gainAdjust
input (ajuste ganacia de entrada) y se vuelve a cargar en el registro GCOR. El
valor GCOR es normalizado basándose en el registro GVAL.
El valor, calculado por esta API, también se almacena en la RAM para cada
configuración activa y se utiliza por SelectConfiguration() API para inicializar el
registro GCOR.
Parámetros: float gainAdjust: Coeficiente del multiplicador de ganancia para la corrección
GCOR. El valor GCOR resultante debe estar en el rango de 0,000 a 1,9999.
Valor Devuelto: uint8: Se devolverá un valor distinto a cero, si el valor de corrección está fuera del
rango de valores del GCOR de 0,00 a 1,9999.
Efecto secundario: El valor GCOR real depende del registro GVAL. El registro GVAL se establece en un
valor igual al número de bits válidos en el registro GCOR menos uno. Si GVAL es 15
(0x0F), todos los 16 bits de los registros GCOR son válidos. Si GVAL es 11 (0x0B),
sólo 12 bits son válidos.
Los cuatro bits menos significativos se pierden cuando el valor GCOR se
desplaza cuatro posiciones hacia la derecha. El registro GVAL se establece
automáticamente mediante las API de Init() y SelectConfiguration() y no necesita
ser actualizado por el usuario.

uint16 ADC_ReadGCOR(void)
Descripción: Esta función devuelve el valor actual del registro GCOR, normalizado en basado
al ajuste de GVAL. Por ejemplo, si el valor GCOR es 0x0812 y el registro GVAL
se establece en 11 (0x0B), el valor devuelto se desplaza por cuatro bits a la
izquierda. (Valor actual de GCOR = 0x0812, valor devuelto = 0x8120).
Parámetros: Ninguno
Valor Devuelto: uint16: Valor GCOR normalizado
Efecto secundario: El valor GCOR depende del registro GVAL. Si GVAL se establece en menos de 15
(0x0F), el valor de GCOR se desplaza a la derecha por 15 menos GVAL. El registro
GVAL se establece automáticamente mediante las API de Init() y
SelectConfiguration() y no necesita ser actualizado por el usuario.

Variables Globales
Variable Descripción
ADC_initVar La variable ADC_initVar indica si el ADC se ha inicializado. La variable se inicializa a
0 y se establece en 1 la primera vez que se llama a ADC_Start(). Esto permite que el
componente se reinicie sin reinicializarse después de la primera llamada a la rutina
ADC_Start().
Si se requiere la reinicialización del componente, la función ADC_Init() se puede llamar
antes de las funciones ADC_Start() o ADC_Enable().
Variable Description
ADC_offset La variable ADC_offset se utiliza para calibrar el desplazamiento. Inicialmente, esta
variable se pone a cero. Las aplicaciones pueden modificarlo utilizando la función
ADC_SetOffset(). Afecta sólo a las funciones ADC_CountsTo_Volts(),
ADC_CountsTo_mVolts() y ADC_CountsTo_uVolts() al sustraer el desplazamiento
dado.
ADC_CountsPerVolt La variable ADC_countsPerVolt se utiliza para calibrar la ganancia. Inicialmente, esta
variable se calcula para la configuración predeterminada del ADC . El valor calculado
depende de la resolución, rango de entrada y voltaje de referencia. Las aplicaciones
pueden modificarlo utilizando la función ADC_SetGain(). Afecta sólo a las funciones
ADC_CountsTo_Volts(), ADC_CountsTo_mVolts() y ADC_CountsTo_uVolts() al
suministrar la conversión correcta entre las cuentas del ADC y el voltaje de entrada
aplicado.

ADC_convDone La variable ADC_convDone se utiliza como indicador de software para comprobar la


conversión del ADC en modo de conversión de una sola muestra para resoluciones por
encima de 16 bits.

Macros Callbacks
Las macros callbacks permiten a los usuarios ejecutar código desde los archivos API que son
generados automáticamente por PSoC Creator. Consulte la Ayuda de PSoC Creator y la Guía
del Autor de Componente para obtener más detalles.
Para agregar código a la macro callback presentes en los archivos generados del componente,
realice lo siguiente:
 Defina una macro para señalar la presencia de un callback (en cyapicallbacks.h).
Esto "Descomenta" la llamada a la función del código fuente del componente.
 Escriba la declaración de la función (en cyapicallbacks.h). Esto hará que esta
función sea visible por todos los archivos del proyecto.

 Escriba la implementación de la función (en cualquier archivo de usuario).


Macro Callback [2] Macro Asociado Descripción
ADC_ISR1_EntryCallback ADC_ISR1_ENTRY_CALLBACK Se utiliza al principio del controlador de
interrupción ADR ISR1() para realizar
acciones adicionales y específicas de la
aplicación.

ADC_ISR1_ExitCallback ADC_ISR1_EXIT_CALLBACK Se utiliza al final del controlador de interrupción


ADR_ISR1() para realizar acciones adicionales
específicas de la aplicación.
ADC_ISR2_EntryCallback ADC_ISR2_ENTRY_CALLBACK Se utiliza al principio del controlador de
interrupción ADR_ISR2() para realizar
acciones adicionales específicas de la
aplicación.

2 El nombre macro callback está formado por el nombre de la función del componente opcionalmente añadido por
una breve explicación y como sufijo "Callback".
Macro Callback [2] Macro Asociado Descripción
ADC_ISR2_ExitCallback ADC_ISR2_EXIT_CALLBACK Se utiliza al final del controlador de interrupción ADR
ISR2() para realizar acciones adicionales específicas
de la aplicación.
ADC_ISR3_EntryCallback ADC_ISR3_ENTRY_CALLBACK Se utiliza al principio del controlador de
interrupción ADR_ISR3() para realizar
acciones adicionales específicas de la
aplicación.

ADC_ISR3_ExitCallback ADC_ISR3_EXIT_CALLBACK Se utiliza al final del controlador de interrupción


ADR_ISR3() para realizar acciones adicionales
específicas de la aplicación.
ADC_ISR4_EntryCallback ADC_ISR4_ENTRY_CALLBACK Se utiliza al principio del controlador de
interrupción ADC_ISR4() para realizar
acciones adicionales específicas de la
aplicación.

ADC_ISR4_ExitCallback ADC_ISR4_EXIT_CALLBACK Se utiliza al final del controlador de interrupción


ADC_ISR4() para realizar acciones adicionales
específicas de la aplicación.

Ejemplo de código fuente del firmware


PSoC Creator proporciona muchos proyectos como ejemplo que incluyen esquemas y código de
ejemplo en el cuadro de diálogo Find Example Project (Buscar Ejemplos de Proyectos). Para
ejemplos específicos de componentes, abra el cuadro de diálogo Component Catalog (Catálogo
de Componentes) o una instancia del componente en un esquemático. Para ejemplos generales,
abra el cuadro de diálogo Start Page (Menú Inicio) o File (Archivo). Cuando sea necesario, utilice
Filter Options (Opciones de Filtrado) para restringir la lista de proyectos disponibles para
seleccionar.
Consulte el tema “Find Example Project” (Buscar Ejemplo de Proyecto) en la Ayuda dentro del
PSoC Creator para obtener más información.

Conformidad MISRA
Esta sección describe el cumplimiento y las divergencias del MISRA-C: 2004 para el
componente. Hay dos tipos de divergencias definidas:

 Divergencias del proyecto – Divergencias aplicables a todos los componentes de


PSoC Creator
 Divergencias Específicas – Divergencias aplicables únicamente a este componente
Esta sección proporciona información sobre las divergencias específicas del componente.
Las divergencias del proyecto se describen en la sección Conformidad MISRA en System
Reference Guide (Guí de Referencia del Sistema) junto con información sobre el entorno
de verificación del cumplimiento MISRA.
El componente ADC_DelSig no tiene ninguna divergencia específica.
Este componente tiene los siguientes componentes integrados: Interrupt (Interrupción), Clock
(Reloj), AMux (Multiplexor). Consulte la hoja de datos de los componentes para obtener
información sobre su conformidad MISRA y divergencias específicas.
API Uso de memoria
El uso de memoria del componente varía significativamente, dependiendo del compilador, el
dispositivo, el número de APIs utilizadas y la configuración del componente. La siguiente tabla
proporciona el uso de memoria para todas las API disponibles en la configuración del
componente dado.
Las mediciones se han hecho con el compilador asociado configurado en el modo Release
con la optimización establecida para Size. Para un diseño específico, el archivo de mapa
generado por el compilador puede analizarse para determinar el uso de la memoria.
PSoC 3 (Keil_PK51) PSoC 5LP (GCC)
Configuración
Flash Bytes SRAM Bytes Flash Bytes SRAM Bytes
8-20 bits 3824 27 2968 23

Rutina de Servicio de Interrupción


ADC_DelSig contiene cuatro rutinas de servicio de interrupción en el archivo ADC_INT.c, donde
"ADC" es el nombre de instancia. Las rutinas de servicio se etiquetan ADC_ISR1, ADC_ISR2,
ADC_ISR3 y ADC_ ISR4 y están relacionadas con el número de configuración. La función
ADC_SelectConfiguration() cambia la dirección del vector de interrupción a la rutina de
interrupción correspondiente.
Puede colocar código personalizado en las áreas designadas para realizar cualquier función que se
requiera al final de una conversión. Coloque el código entre los comentarios “/* `#START
MAIN_ADC_ISR1` */” y “/* `#END` */”. Esto garantiza que el código se conservará cuando se
regenere un proyecto.
Hay una función avanzada para eliminar la interrupción interna. Es útil cuando se conecta el
componente de interrupción externo a la salida del EOC y no se requiere el ISR interno.
Establezca el parámetro rm_int en true en la vista Expression view (ver Expression) de la
pestaña Common (Común) (haga clic con el botón derecho en la pestaña Common del
componentes) para suprimir la interrupción interna. Asegúrese de que Expression view esté
habilitada en el menú Creator: Tools/Option…/Design Entry/Component Catalog/Enable
Param Edit Views.
Information DMA
El componente DMA se puede utilizar para transferir los resultados convertidos del registro
ADC_DelSig a la RAM u otro componente, como el bloque de filtro digital (DFB). La señal de
solicitud de datos del DMA (DRQ) debe conectarse al pin EOC del ADC.
Puede utilizar el Asistente del DMA para configurar su operación de la siguiente manera:
DMA Soli. DMA Soli.
Nombre de la fuente DMA Longuitud Direc. Señal Tipo Descripción
ADC_DelSig_DEC_SAMP_PTR 1 fuente EOC Flanco Recibe un resultado de 1 byte para
Ascenden. el valor analógico de entrada que
tiene una resolución de 8 bits.

ADC_DelSig_DEC_SAMP_PTR 2 fuente EOC Flanco Recibe un resultado de 2 bytes


Ascenden. para el valor analógico de entrada
que tiene una resolución de 9 a 16
bits..
Tenga en cuenta que la coherencia
debe establecerse en MID byte
(medio). Utilice la API
ADC_SetCoherency() para cambiar
la coherencia.
ADC_DelSig_DEC_SAMP_PTR 3 fuente EOC Flanco Recibe un resultado de 3 bytes
Ascenden. para el valor analógico de entrada
que tiene una resolución de 17 a 20
bits.
Tenga en cuenta que la coherencia
debe establecerse en byte MSB
(ALTO)..
Utilice la API ADC_SetCoherency()
para cambiar la coherencia.
Descripción Funcional

El canal delta-sigma contiene los siguientes bloques:

 Buffer de entrada de alta impedancia de entrada (con ganancia programable) que puede

ser anulado (y apagado) cuando no es necesario.

 Un modulador capacitivo conmutado totalmente diferencial de tercer orden.

 Posterior filtrado digital que consiste en: un filtro Peine Integrador en Cascada (CIC) de
cuarto orden (también llamado el decimador) y el motor de postprocesamiento
(cicdec4_pproc), que opcionalmente realiza funciones de ganancia, offset y un simple
filtrado FIR en los datos a medida que dejan el filtro CIC.

 ANAIF - El bloque lógico Analog interface (interfaz analógica) consiste en el control del
registro para el búfer de entrada y el modulador.

Sin un búfer de entrada, una etapa de entrada a capacitor conmutado consume corriente
para cargar el capacitor durante cada ciclo. En este caso, la resistencia de entrada
equivalente es del orden del 1/(fs × C), o 1/((3 MHz) × (5 pF)) = 66 k Ω. Muchas aplicaciones
de sensores requieren una impedancia mucho mayor para lograr una lectura precisa. Por lo
tanto, un búfer de entrada se hace una parte del canal delta sigma.
El buffer de entrada también debe manejar señales más cercanas a tierra en algunas
aplicaciones y en otras debe trabajar más cerca a los rieles (rail) de suministro. La arquitectura
del búfer de entrada contiene dos búferes de entrada única, que crean un canal diferencial.
Puede seleccionar cualquier búfer para el canal.. Cuando el canal funciona en modo de entrada
única, una de las entradas se conecta al riel de tierra y se evita el correspondiente búfer. Puede
apagar los buffers individualmente. Los búfers tienen dos modos de operación:

 Modo Level-Shifted (Desplazamiento de Nivel): La salida de búfer puede ser desplazada


de nivel desde la entrada cuando la entrada está cerca a 0V del rango de voltaje de modo
común.

 Modo Rail to Rail (riel a riel): Este modo se utiliza cuando la entrada es de riel a riel.
Figura 7. Estructura del Búfer ADC

La implementación de condensadores conmutado se muestra en la Figura 8. Un bloque de


correspondencia de elementos dinámicos (DEM) modela los errores causados por la falta de
coincidencia en la realimentación DAC de condensador conmutado del modulador cuando
opera bajo una cuantificación de 9 niveles. Cuando el buffer y el modulador están configurados
correctamente para una aplicación dada, el cuantificador programable de nivel variable (nivel
2, 3, o 9) en el modulador produce el flujo de bits "cuantificado". Este flujo de bits cuantificado
es de 8 bits de ancho y en formato termométrico. La conversión del código del cuantificador
termométrico en el formato de complemento a 2, para su uso en el decimador (Sinc4 y Sinc1),
se realiza en el bloque ANAIF.
Figura 8. Estructura del Conmutador Capacitivo del Delta Sigma

Registros
Registros de Muestreo
Los resultados del ADC pueden tener entre 8 y 20 bits de resolución. La salida se divide en
tres registros de 8 bits. La CPU o DMA puede acceder a estos registros para leer el resultado
del ADC.

ADC_DEC_SAMP (Salida del registro bajo de datos del ADC)


Bits 7 6 5 4 3 2 1 0
Valor Datos[7:0]

ADC_DEC_SAMPM (Salida del registro medio de datos del ADC)


Bits 7 6 5 4 3 2 1 0
Valor Datos[15:8]
ADC_DEC_SAMPH (Salida del registro alto de datos del ADC)
Bits 7 6 5 4 3 2 1 0
Valor Datos[23:16]

Recursos
El ADC_DelSig utiliza un decimador, un modulador delta-sigma y un reloj. Si se selecciona una
referencia externa o un desacople de la referencia, P0 [3] o P3 [2] se pueden utilizar para la
referencia externa o el condensador de desacople.

Caraterísticas Eléctricas para PSoC 3


Las especificaciones son válidas para –40 °C ≤ TA ≤ 85 °C y TJ ≤ 100 °C, excepto cuando se
indique lo contrario.

Las especificaciones son válidas para 1.71 V a 5.5 V, excepto cuando se indique lo contrario.
Los valores típicos son para T A = 25°C. Las condiciones de funcionamiento son:

 Operación en modo de muestra continuo

 fclk = 3.072 MHz para una resolución = 16 a 20 bits; fclk = 6.144 MHz para una
resolución = 8 a 15 bits

 Referencia = 1.024-V referencia interna desacoplada en P3[2] o P0[3]

 A menos que se especifique lo contrario, todos las táblas y gráficos muestran el valor típico

Especificaciones DC del ADC Delta-Sigma para PSoC 3


Parámetro Descripción Condiciones Min Tip. Max Unidades
Resolución 8 – 20 bits
Número de canales, – – No. de –
Terminación única GPIO
Número de El par diferencial se forma – – No. de –
canales, diferencial utilizando un par de GPIOs. GPIO/2

Repetitivo Si – – – –
Ge Error de ganancia 3 Búfer, ganancia búfer = 1, – – ±0.2 %
rango de entrada = ±1.024 V,
modo 16-bit

3 El error de ganancia total es la suma del error del ADC y el error del búfer.
Parámetro Descripción Condiciones Min Tip. Max Unidades

Gd Deriva ganancia Búfer, modo 16-bit – – 50 ppm/° C


ganancia búfer = 1,
Rango entrada = ±1.024 V,
VOS Voltaje offset entrada Búfer, modo 16-bit, rango – – ±0.2 mV
de voltaje total, 25 °C

Búfer, modo 16-bit, – – ±0.1 mV


VDDA = 1.7 V, 25 °C
TCVOS Coeficiente de temperatura, Ganancia búfer = 1, 16- – – 1 µV/°C
voltaje de offset de entrada bit,
Rango =±1.024V

Rango voltaje de entrada, VSSA – VDDA V


terminación única 4
Rango voltaje de entrada, VSSA – VDDA V
diferencial sin búfer 5
Rango voltaje de VSSA – VDDA – 1 V
entrada, diferencial,
búfer 5
PSRRb Relación de rechazo de la Ganancia búfer = 1, 16- 90 – – dB
fuente de alimentación, con bit, Rango = ±1.024 V
búfer 5
CMRRb Relación de rechazo modo Ganancia búfer = 1, 16- 85 – – dB
común, búfer 5 bit, Range = ±1.024 V
INL20 No linealidad Integral 5 Rango = ±1.024 V, sin búfer – – ±32 LSB
DNL20 No linealidad Diferencial 5 Rango = ±1.024 V, sin búfer – – ±1 LSB
INL16 No linealidad Integral 5 Rango = ±1.024 V, sin búfer – – ±2 LSB
DNL16 No linealidad Diferencial 5 Range = ±1.024 V, sin búfer – – ±1 LSB
INL12 No linealidad Integral 5 Rango = ±1.024 V, sin búfer – – ±1 LSB
DNL12 No linealidad Diferencial 5 Rango = ±1.024 V, sin búfer – – ±1 LSB
INL8 No linealidad Integral 5 Rango = ±1.024 V, sin búfer – – ±1 LSB
DNL8 No linealidad Diferencial 5 Rango = ±1.024 V, sin búfer – – ±1 LSB
Rin_Buff Resistencia entrada ADC Búfer de entrada utilizado 10 – – M
Rin_ADC16 Resistencia entrada ADC Búfer de entrada desacoplado, – 74 6 – k
16-bit, Rango = ±1.024 V

4 Rango VSSA a 6 × VBG se utiliza para la medición directa de la fuente de alimentación VDDA. La escala real
está limitada a VDDA.
5 Basado en la caracterización del dispositivo (no probado en la producción).
6 El uso de condensadores conmutados en la entrada ADC crea una resistencia de entrada efectiva. Manteniendo la ganancia
y el número de bits constante, la resistencia es proporcional a la inversa de la frecuencia del reloj. Este valor se calcula, no
se mide. Para obtener más información, consulte el Manual de referencia técnica.
Parámetro Descripción Condiciones Min Tip. Max Unidades
Rin_ADC12 Resistencia entrada ADC Entrada búfer desacoplado, – 148 6 – k
12 bit, Rango = ±1.024 V

VEXTREF Tensión entrada de referencia Pines P0[3], P3[2] 0.9 – 1.3 V


externa del ADC
Consumo de Corriente
IDD_20 Consumo de corriente, 20-bit 5 187 sps, sin búfer – – 1.5 mA
IDD_16 Consumo de corriente, 16-bit 5 48 ksps, sin búfer – – 1.5 mA
IDD_12 Consumo de corriente, 12-bit 5 192 ksps, sin búfer – – 1.95 mA
IBUFF Consumo de corriente Búfer 5 – – 2.5 mA

Especificaciones AC del ADC Delta-Sigma para PSoC 3


Parámetro Descripción Condiciones Min Tip. Max Unidades
Tiempo de inicio – – 4 Muestras
ADC_SelectConfiguration() API CPU reloj = 24 Mhz – 90 - µs
Tiempo de ejecución
THD Distorsión armónico total 7 Ganancia búfer = 1, 16 – – 0.0032 %
bit, Rango = ±1.024 V
Resolución 20-Bit
SR20 Tasa muestreo 7 Rango = ±1.024 V, 7.8 – 187 sps
sin búfer
BW 20 Ancho de banda de entrada a la Rango = ±1.024V, – 40 – Hz
frecuencia máxima de muestreo 7 sin búfer

Resolución 16-Bit
SR16 Tasa muestreo 7 Rango = ±1.024 V, 2 – 48 ksps
sin búfer
BW 16 Ancho de banda de entrada a la Rango = ±1.024 V, – 11 – kHz
frecuencia máxima de muestreo 7 sin búfer
SINAD16int Relación señal/ruido, 16 bits, Rango = ±1.024V, 81 – – dB
referencia interna 7 sin búfer
SINAD16ex Relación señal / ruido, 16 bits, Rango = ±1.024 V, 84 – – dB
t referencia externa 7 sin búfer

7 Basado en la caracterización del dispositivo (no probado en la producción).


Parámetro Descripción Condiciones Min Tip. Max Unidades

Resolución 12-Bit
SR12 Tasa de muestreo, continua, alta Rango = ±1.024 V, 4 – 192 ksps
potencia 7 sin búfer
BW 12 Ancho de banda de entrada a la Rango = ±1.024 V, – 44 – kHz
frecuencia máxima de muestreo 7 sin búfer
SINAD12int Relación señal-ruido, 12 bits, Rango = ±1.024 V, 66 – – dB
referencia interna 7 sin búfer
Resolución 8-Bit
SR8 Tasa de muestreo, continua, Rango = ±1.024 V, 8 – 384 ksps
alta potencia 7 sin búfer
BW 8 Ancho de banda de entrada a la Rango = ±1.024 V, – 88 – kHz
frecuencia máxima de muestreo 7 sin búfer
SINAD8int Relación señal-ruido, 8 bits, Rango = ±1.024 V, 43 – – dB
referencia interna 7 sin búfer
Figuras

Delta-Sigma ADC IDD ver. sps, Sin búfer


Delta-Sigma ADC IDD ver. sps, Con búfer

Histograma de ruido ADC Delta-Sigma,


1000 Muestras, 20-Bit, 187 sps, Ref Ext ,
VIN = VREF/2, Rango = ±1.024 V Histograma de ruido ADC Delta-Sigma, 1000 muestras,
16-bit, 48 ksps, Ref Ext, VIN = VREF/2,
Range = ±1.024 V

Histograma de ruido ADC Delta-Sigma,


1000 muestras, 16-bit, 48 ksps, Ref Int, VIN =
VREF/2, Rango = ±1.024 V ADC Delta-Sigma INL ver. Resolución a la frecuencia
máxima de muestreo
RMS Delta-Sigma ADC Ruido en cuentas ver. Rango de entrada y Frecuencia de
muestreo, 20 bits, Referencia externa, Entrada única
Rango Tensión de
Entrada
Tasa muestras,
SPS 0 a VREF 0 a Vref × 2 VSSA a VDDA 0 a Vref × 6

8 1.28 1.24 6.02 0.97


23 1.33 1.28 6.09 0.98
45 1.77 1.26 6.28 0.96
90 1.65 0.91 6.84 0.95
187 1.87 1.06 7.97 1.01
RMS Delta-Sigma ADC Ruido en cuentas ver. Rango de entrada y Frecuencia de
muestreo, 20 bits, Referencia externa, Diferencial
Rango Tensión de
Entrada
Tasa muestras,
SPS ±VREF ±Vref/2 ±Vref/4 ±Vref/8 ±Vref/16

8 0.70 0.84 1.02 1.40 2.65


11.3 0.69 0.86 0.96 1.40 2.69
22.5 0.73 0.82 1.25 1.77 2.67
45 0.76 0.94 1.02 1.76 2.75
61 0.75 1.01 1.13 1.65 2.98
170 0.75 0.98
REGION OPERATIVA INVALIDA
187 0.73

Delta-Sigma ADC INL ver. Salida Código, 16-bit, Delta-Sigma ADC DNL ver. Salida Código, 16-bit,
48 ksps, 25 °C VDDA = 3.3 V 48 ksps, 25 °C VDDA = 3.3 V

Valores de capacitancia de entrada (en pF) utilizados por cada uno de los rangos de
entrada para resoluciones 8 a 20
Capacitancia de entrada en pF
Rango de Entrada
Resolución 8 a 15 Resolució 16 a 20
VSS to VREF (Unica) 0.896 3.888
VSS to VREF*2 (Unica) 0.896 3.888
VSS to VDD (VDD/3 Unica) 0.592 1.296
Capacitancia de entrada en pF
Rango de Entrada
Resolución 8 a 15 Resolución 16 a 20
VSS to VDD (VDD/4 Unica) 0.496 0.992
VSS to VREF*6 (Unica) 0.400 0.688
± VREF (Diferencial) 0.896 3.888
± VREF*2 (Diferencial) 0.400 1.888
± VREF*6 (Diferencial) 0.400 0.688
± VREF/2 (Diferencial) 1.600 6.000
± VREF/4 (Diferencial) 2.800 12.000
± VREF/8 (Diferencial) 3.488 17.588
± VREF/16 (Diferencial) 5.696 17.200

Características eléctricas DC y AC para PSoC 5LP


Las especificaciones válidas para –40 °C ≤ TA ≤ 85 °C y TJ ≤ 100 °C, excepto cuando se indique lo
contrario. Las especificaciones válidas para 1.71 V a 5.5 V, excepto cuando se indique lo
contrario. Los valores típicos para T A = 25°C
Las condiciones de operación son:
 Operación en modo Continuo

 fclk = 3.072 MHz para una resolución = 16 a 20 bits; fclk = 6.144 MHz para una
resolución = 8 a 15 bits

 Referencia = 1.024-V referencia interna desacoplado en P3[2] or P0[3]

 A menos que se especifique lo contrario, todos las táblas y gráficos muestran el valor típico

Especificaciones DC del ADC Delta-Sigma para PSoC 5LP


Parámetro Descripción Condiciones Min Tip. Max Unidades
Resolución 8 – 20 bits
Número de canales, – – No. de
terminal único GPIOs
Número de canales, El par diferencial se forma – – No. de
diferencial usando un par de GPIOs GPIOs/2
Repetitivo Si – – –
Parámetro Descripción Condiciones Min Tip. Max Unidades
Ge Error ganancia Con búfer, ganancia búfer = – – ±0.4 %
1, Rango = ±1.024 V, modo
16-bit, 25 °C
Gd Deriva ganancia Con búfer, ganancia búfer = – – 50 ppm/°C
1, Rango = ±1.024 V, modo
16-bit, 25 °C
VOS Offset Tensión Entrada Con búfer, modo 16-bit, – – ±0.2 mV
Rango de voltaje total,
25 °C
Con búfer, modo 16-bit, VDDA – – ±0.1 mV
= 1.7 V, 25 °C
TCVOS Coeficiente de Ganancia búfer = 1, 16- – – 1 µV/°C
temperatura, voltaje de bit, Range = 1.024 V
desplazamiento de entrada
Input voltage range 8 Terminal único, sin búfer VSSA – VDDA V
Diferencial, sin búfer VSSA – VDDA V
Diferencial, con búfer VSSA – VDDA – 1 V
PSRRb Relación de rechazo de Ganancia búfer = 1, 16- 90 – – dB
fuente de alimentación, bit, Rango = ±1.024 V
con búfer 8
CMRRb Relación de rechazo de Ganancia búfer = 1, 16- 85 – – dB
modo común, con búfer 8 bit, Rango = ±1.024 V
INL20 INL para 20-bit 8 Rango diferencial ±1.024 V – – ±32 LSB
DNL20 DNL para 20-bit 8 Rango diferencial ±1.024 V – – ±1 LSB
INL16 Integral alinealidad, 16-bit 8 Rango diferencial ±1.024 V – – ±2 LSB
DNL16 Diferential alinealidad 16-bit 8 Rango diferencial ±1.024 V – – ±1 LSB
INL12 INL para 12-bit 8 Rango diferencial ±1.024 V – – ±1 LSB
DNL12 DNL para 12-bit 8 Rango diferencial ±1.024 V – – ±1 LSB
INL8 INL para 8-bit 8 Rango diferencial ±1.024 V – – ±1 LSB
DNL8 DNL para 8-bit 8 Rango diferencial ±1.024 V – – ±1 LSB
Rin_Buff ADC resistencia entrada Búfer entrada usada 10 – – MΩ
Rin_ADC_16 ADC resistencia entrada Búfer entrada omitida, – 74 9 – kΩ
16-bit, rango = ±1.024 V

8 Basado en la caracterización del dispositivo (no probado en la producción)


9 El uso de condensadores conmutados en la entrada ADC crea una resistencia de entrada efectiva.
Manteniendo la ganancia y el número de bits constante, la resistencia es proporcional a la inversa de la
frecuencia del reloj. Este valor se calcula, no se mide. Para obtener más información, consulte el Manual de
referencia técnica
Parámetro Descripción Condiciones Min Tip. Max Unidades
Rin_ADC_12 ADC resistencia entrada Búfer entrada omitida, – 148 9 – kΩ
12-bit, rango = ±1.024 V
VEXTREF ADC referencia externa, Pines P0[3], P3[2] 0.9 – 1.3 V
tensión de entrada, Véase
también Referencia Interna en
Especificaciones Referencia
de voltaje

Consumo Corriente
IDD_20 Consumo corriente, Sin búfer – – 1.5 mA
20-bit, 187 sps 8
IDD_16 Consumo corriente, Sin búfer – – 1.5 mA
16-bit, 48 ksps 8
IDD_12 Consumo corriente, Sin búfer – – 1.95 mA
12-bit, 192 ksps 8
IDD_8 Consumo corriente, Sin búfer – – 1.95 mA
8-bit, 384 ksps 8
IBUFF Búfer Consumo corriente 8 – – 2.5 mA

Especificaciones AC del ADC Delta-Sigma para PSoC 5LP


Parámetro Descripción Condiciones Min Tip. Max Unidades
Tiempo de inicio – – 4 Samples
ADC_SelectConfiguration() API CPU reloj = 24 Mhz – 50 – µs
Tiempo de inicio
THD Distorsión harmónico total, 16-bit 10 Sin búfer, rango – – 0.0032 %
±1.024 V
Resolución 20-Bit
SR20 Tasa muestreo, 20-bit 10 Rango diferencial 7.8 – 187 sps
±1.024 V
BW 20 Ancho de banda, 20-bit 10 Rango diferencial – 40 – Hz
±1.024 V

Resolución 16-Bit
SR16 Tasa muestreo, 16-bit 10 Rango diferencial 2 – 48 ksps
±1.024 V

10 Basado en la caracterización del dispositivo (no probado en la producción).


Parámetro Descripción Condiciones Min Tip. Max Unidades
BW 16 Ancho de banda, 16-bit 10 Rango difereencial – 11 – kHz
±1.024 V
SINAD16int Señal a ruido + distorsión - 16 Sin búfer, rango = 81 – – dB
bits, referencia interna 10 ±1.024 V
SINAD_16ext Señal a ruido + distorsión - 16 bits, Unbuffered, rango = 84 – – dB
referencia externa 10 ±1.024 V
Resolución 12-Bit
SR12 Tasa muestreo, 12-bit 10 Rango difereencial 4 – 192 ksps
±1.024 V
BW 12 Ancho de banda, 12-bit 10 Rango difereencial – 44 – kHz
±1.024 V
SINAD12int Señal a ruido + distorsión - 12 bits, Sin búfer, rango = 66 – – dB
referencia interna 10 ±1.024 V
Resolución 8-Bit
SR8 Tasa muestreo, 8-bit 10 Rango difereencial 8 – 384 ksps
±1.024 V
BW 8 Ancho de banda, 8-bit 10 Rango difereencial – 88 – kHz
±1.024 V
SINAD8int Señal a ruido + distorsión - 8 bits, Sin búfer, rango = 43 – – dB
referencia interna 10 ±1.024 V

Especificaciones Voltaje de Referencia


Consulte también las especificaciones de referencia externas del ADC bajo VEXTREF en
Delta-Sigma ADC Especificaciones DC para PSoC 5LP
Parámetro Descripción Condiciones Min Tip. Max Unidades

VREF Precisión voltaje de referencia Recorte inicial 1.023 1.024 1.025 V


(–0.1%) (+0.1%)
Deriva térmica 11 – – 30 ppm/°C
Deriva a largo plazo – 100 – ppm/Khr
Deriva ciclos térmicos – 100 – ppm
(estabilidad))11

11 Basado en la caracterización del dispositivo (no probado en la producción).


Errata componente
En esta sección se enumeran los problemas conocidos con el componente ADC_DelSig.
Cypress Versión
ID Componente Problema Solución
236300 3.20 En ciertos casos, los resultados de la conversión pueden ser Ninguna.
incorrectos en el modo de entrada diferencial . Cuando la
resolución (bits): >= 16 y rango de entrada:: +/- 0.256 o +/- 0.128 o
+/- 0.064, asegúrese de que la tensión en modo común no
exceda 2 voltios en la entrada del modulador, no la entrada del
búfer.
El voltaje de modo común en el modulador será el voltaje de
modo común en la entrada del búfer multiplicado por la ganancia
del búfer. Así que si la ganancia del búfer es 4, necesita limitar el
voltaje de modo común del búfer a 0,5 voltios.

Cambios en el Componente
Esta sección enumera los cambios principales en el componente de la versión anterior.
Versión Descripciónn del Cambio Motivo de los cambios / impacto
3.20.c Actualización de la hoja de datos. Elemento de errata de componente añadido para Cypress
ID 236300.
3.20.b Actualización de la hoja de datos. Se agregó la sección de Macro Callbacks
3.20.a Actualización de la hoja de datos. Datos de caracterización actualizados para que
coincidan con la hoja de datos del dispositivo.
3.20 Actualización de la descripción de la API La API ADC_Start() proporciona la inicialización
ADC_SelectConfiguration() con una nota necesaria para el correcto funcionamiento de la API
que no se puede llamar antes de la API ADC_SelectConfiguration. Esta restricción es válida
ADC_Start() la primera vez. para la versión 3.0 y posterior de este componente.
Eliminado los picos de INL observados en La configuración de DeltaSigma ADC DEM era incorrecta.
18-20 bits de resolución.
Cuando el componente está configurado Las opciones de bypass (puenteo) se deben permitir
para entrada única con rango Vssa a que se seleccionen en este modo.
Vdda, se ha extendido la lista de posibles
opciones de Referencia para incluir
opciones de bypass (puenteo).

Cambió el mensaje de error mostrado para el Añadido Información adicional sobre la causa del
valor vRef cuando vRef está fuera de rango. problema.
Añadido DRC y error en la GUI en caso de La frecuencia del reloj debe ser verificada para todas las
que la frecuencia de reloj maestro (Master) es configuraciones.
menor que la frecuencia de reloj interno.
3.10 Corregidos cambios de componentes Para obtener más información, consulte el artículo de
realizados en PSoC Creator 3.0 SP1; Knowledge Base KBA94159
Sección Errata eliminada. (www.cypress.com/go/kba94159).
Versión Descripciónn de los Cambios Motivo de los cambios / impacto
Se han corregido los ajustes de los parámetros del búfer El parámetro de modo Buffer era incorrecto y no
en el cuadro de diálogo Configure (Configurar) del correspondía a la pestaña de configuración
componente para que correspondan a la pestaña de asociada.
configuración asociada.

3.0.b Hoja de datos editada para agregar la sección Errata Documentar problemas conocidos con el componente.
de componente.
3.0.a Edición menor de la hoja de datos.
3.0 Se agregó la sección de Conformidad MISRA. El componente no tiene desviaciones específicas.

Se ha añadido la opción Alignment (Alineación) a las Mejora del componente.


pestañas Configuration (Configuración).
Ajustó la relación del condensador de entrada y el El cambio tiene impacto en los resultados de
registro de corrección de ganancia para permitir la medición del ADC. Los resultados pueden diferir
medición precisa de señales que oscilan en todo el entre la versión 3.0 y versiones anteriores.
rango de entrada.
Corregido un problema con el fin de la detección de Siempre se devolvió un valor distinto a cero.
estado de conversión por la API
ADC_IsEndConversion() en modo de muestra única
con resolución superior a 16 bits.
Para el modo de reloj externo, el campo de No se puede construir el proyecto sin el reloj interno
frecuencia de muestreo se desactivó y se recalculó adecuado
en función de la frecuencia de reloj externa.

Añadido APIs ADC_Read8(), ADC_Read16(), Esta función simplifica la obtención de resultados del
ADC_Read32(). ADC cuando sólo se requiere una sola lectura.

Se ha añadido la entrada opcional al modulador (mi). Esta entrada se utiliza para controlar
dinámicamente la polaridad de la señal en el
modulador.
El coeficiente de ganancia, calculado y escrito por Este cambio impide sobrescribir el GCOR
la API ADC_SetGCOR() se almacena en la personalizado para una configuración en particular.
memoria RAM y se utiliza por la API
SelectConfiguration() para inicializar el registro
GCOR.
Se agregó el parámetro avanzado (rm_int) para Es útil cuando se conecta el componente de
eliminar opcionalmente la interrupción interna. interrupción externo a la salida de EOC y no se
requiere ISR interno.
Fixed an issue when ADC_Wakeup() API started La API ADC_Sleep() guarda el estado de
conversion after sleep mode even when conversion conversión. API ADC_Wakeup() inicia la
was disabled before. conversión sólo cuando la conversión estaba
activada antes del modo de suspensión.

2.30.a Arreglo Rango del ADC. El diagrama estaba incorrecto


2.30 Solucionado un problema con el ajuste del divisor de Problema de configuración del divisor de reloj con
reloj ADC cuando se utilizan múltiples configuraciones varias configuraciones de ADC
y reloj ADC no se deriva del BUS de reloj.
Versión Descripciónn de los Cambios Motivo de los cambios / impacto
Solucionado un problema con la Problema de configuración de carga del divisor de
configuración de carga del divisor de reloj al utilizar múltiples configuraciones de ADC
reloj al usar múltiples configuraciones.
Solucionado un problema en el que el Reinicio del dispositivo al activar la referencia al ADC
dispositivo se reinicializaba al habilitar la
referencia ADC con valores de VDDA
mayor de 5.3 Volts

Fixed an issue with reference buffer setting La configuración del búfer de referencia es incorrecta
when using multiple configurations cuando se utilizan múltiples configuraciones de ADC.

Se agregaron a todas las API la palabra No todas las API son realmente reentrantes. Los
clave CYREENTRANT cuando se incluyen comentarios en los archivos fuente de la API del
en el archivo .cyre. componente indican qué funciones son candidatas.
Este cambio es necesario para eliminar las
advertencias del compilador para las funciones que
no reentran de forma segura: protegidas de
llamadas concurrentes por flags o secciones
críticas.

Añadido soporte PSoC 5LP.


Figura 4 actualizada. Características de Solucionar problemas con la Figura 4.
E/S del ADC Delta Sigma en la hoja de
datos.
Descripción actualizada de la API Actualizaciones para mencionar los efectos secundarios
SetBufferGain() del uso de la ganancia del búfer.
Se agregó una nota sobre el uso de la La referencia interna es compartida entre SAR y ADC
referencia interna para el ADC en la sección DelSig.
Descripción de parámetros de referencia.
Sección de efectos secundarios actualizada Actualizaciones para mencionar los efectos secundarios
para la API ADC_IsEndConversion(). del uso en conjunto del DMA y API
ADC_IsEndConversion().

2.20.a Correcciones en la hoja de datos


2.20 Se implementan tres APIs nuevas ADC_SetCoherency() para establecer el registro de
ADC_SetCoherency(), ADC_SetGCOR() coherencia. Ayuda a cambiar fácilmente el byte de
y ADC_ReadGCOR() coherencia.
ADC_SetGCOR() para configurar el registro de
corrección de ganancia. ADC_ReadGCOR() para leer el
valor del registro GCOR normalizado.

Se han añadido cuatro nuevas opciones de Opciones de referencia del Bypass para la
referencia al Bypass (puenteo). referencia Vdda/3 y Vdda/4.
Añadido nombre a los parámetros El parámetro config ayuda a asignar un nombre único
y configurción a las configuraciones de ADC.
El parámetro comment (comentario) describe el uso de
la configuración.
La API ADC_Stop() cambia para PSoC 5 Cambio necesario para evitar que el componente
impacte señales analógicas no relacionadas cuando se
detiene, cuando se usa con PSoC 5.
El ajuste de la potencia del ADC cambia en Para optimizar el uso de energía del componente ADC.
función de la frecuencia del reloj del ADC
Versión Descripciónn de los Cambios Motivo de los cambios / impacto
Solucionado un problema con la API Llamar la API ADC_SelectConfiguration() sin llamar a
ADC_SelectConfiguration(). ADC_Start() ahora funciona como se esperaba.

Se agregaron datos de caracterización


de PSoC 5 a la hoja de datos
Actualizado marcador de posición de los
gráficos en la hoja de datos con datos
reales
El reloj de carga externa es la opción ADC ahora utiliza siempre un reloj de carga externa en
predeterminada y no puede seleccionarse vez de un reloj interno. Esto es para garantizar la
por el usuario. óptima carga de frecuencia del reloj óptima para
maximizar el rendimiento del ADC.
2.10 Dos rangos de entrada diferencial Estos rangos de entrada tienen un error en su
±0.128 V(–Input ± Vref/8) nombre. Nota:
±0.064 V(–Input ± Vref/16) Actualizar un diseño existente que utiliza una versión
se cambian los nombres. anterior a 2.0 con la versión 2.10 de ADC_DelSig,
puede resultar en un mensaje de error en la evaluación
de parámetros..
Para solucionar el problema, abra el cuadro de diálogo
Configure (Configurar) y, a continuación, cambie la
selección para el modo de entrada. Haga clic en OK
(Aceptar) para cerrar el cuadro de diálogo y, a
continuación, generar el proyecto.
Se han añadido dos nuevas opciones de La entrada de referencia para el ADC del PSoC 3 tiene
referencia: VDDA/4 interno y VDDA/3 interno. un rango estrecho, de 0,9 V a 1,3 V. Esto puede hacer
que el rango ratiométrico VSS a VDDA funcione
incorrectamente cuando VDDA es inferior a 3,6 V. Esta
nueva referencia VDDA/3 corrige este problema.
El cambio del valor de referencia afecta Las actualizaciones de la lista de rangos de
a la lista de rangos de entrada. entrada se basan en el voltaje de referencia
seleccionado.
Proveedor de errores se agrega al Para advertir al usuario si el valor de Vref excede el
parámetro Vref Value (Valor Vref). rango esperado de 0.9V a 1.3V.
La frecuencia de reloj ADC depende ahora La frecuencia de reloj del ADC depende del rango de
de la selección del rango de entrada. entrada seleccionado. La frecuencia máxima del reloj
ADC difiere según el rango de entrada. Si la frecuencia
de reloj del ADC excede la frecuencia de reloj máxima
para el rango de entrada seleccionado, entonces se
mostrará un símbolo de error en el cuadro de texto de
frecuencia de reloj.

Corregido un problema con cálculo del offset 0 a 2 *Vref modo único de entrada para las resoluciones
(compensación). 9, 10, 11, 13, 14 y 15 ahora funciona como se esperaba.

Corregido un problema con el El Asistente DMA utiliza el registro de salida ADC


código generado por el Asistente correcto cuando la resolución está por encima de 8 bits.
del DMA.
Se agregaron datos de caracterización a la
hoja de datos
Ediciones y actualizaciones menores de la
hoja de datos.
Versión Descripciónn de los Cambios Motivo de los cambios / impacto

2.0 Cambió el parámetro Input Range (rango de Al actualizar un proyecto existente con la versión 2.0
entrada): se añadió cuatro nuevos rangos de ADC_DelSig, este cambio puede resultar en un
de entrada: mensaje de error de evaluación de parámetros.
Vssa a 6*Vref Para solucionar el problema, abra el cuadro de diálogo
±6.144 V(–Input ± 6*Vref) Configure (Configurar) y, a continuación, cambie la
selección para el modo de entrada. Haga clic en OK
±0.125 V(–Input ± Vref/8) (aceptar) para cerrar el cuadro de diálogo y, a
±0.0625 V(–Input ± Vref/16) continuación, generar el proyecto.
Nota Este cambio probablemente
descompondrá los diseños existentes.
Actualizado para soportar PSoC 3 ES2 o Esta versión soporta PSoC 3 ES2 o posterior y PSoC
posterior y PSoC 5 o posterior. 5 o posterior. Las versiones anteriores del
componente mostrarán un mensaje de error cuando
se utilicen con versiones más recientes del chip.
Añadido Sleep/Wakeup y Init/Enable APIs. Para admitir modos de baja potencia, así como
para proporcionar interfaces comunes para separar
el control de inicialización y habilitación de la
mayoría de los componentes.
Se han añadido nuevos parámetros: Input Estos nuevos parámetros no estaban presentes en las
Mode (Modo de entrada) y Buffer Mode versiones anteriores del componente ADC_DelSig. Al
(Modo de búfer). actualizar a la versión 2.0 del componente, los nuevos
Se eliminó el parámetro Power y se añadió el parámetros reciben valores por defecto. El valor
nuevo modo de conversión "Single Sample". predeterminado para el parámetro Input Mode es
"Differential". El parámetro Input Mode controla la
selección Input Range. Por lo tanto, un componente
actualizado previamente configurado con un rango de
entrada "single-ended" obtendrá un valor
predeterminado de "Differential"

Se agregó archivo de Este archivo permite que el ADC_DelSig sea soportado


capacidades DMA al componente. por el Asistente DMA en PSoC Creator.

Se agregó soporte de reentrada de Añade la capacidad para que los clientes


función de Keil a las API. especifiquen funciones generadas individuales como
reentrantes.
Editado el cuadro de diálogo Configurar. Se ha hecho Voltage Reference editable.
Se agregaron diferentes configuraciones para admitir
el cambio de la configuración durante el tiempo de
ejecución.
Cuadro de diálogo le permite modificar los valores de
tensión cuando se selecciona el rango de entrada VSSA
a VDDA.

Los valores de ajuste se incorporan en Los valores netos se usan para ajustar la ganancia
la implementación ADC para los rangos del decimador para mejorar el rendimiento del
de entrada seleccionados. ADC.
Se agregaron constantes al archivo header El componente ADC ahora tiene constantes tales como
(encabezado) para facilitar su uso. la referencia utilizada, ajuste de ganancia, el modo
utilizado, la tasa de muestreo utilizada, etc., para que
pueda utilizarlos en sus aplicaciones.
Se ha agregado una nueva conexión Esto se puede utilizar para conectar la referencia Vssa
opcional (nVref) al componente ADC del ADC al analógico global (AGL [6]).
DelSig
Versión Descripciónn de los Cambios Motivo de los cambios / impacto
El ajuste de carga de potencia se ha Hubo un problema con el rango de 8 bits del
activado dependiendo de la frecuencia de ADC . El problema fue causado por no ajustar
reloj. los bits de ajuste de potencia de carga con
respecto al reloj ADC en el registro
DSM_CR16. El código del ADC se modificó
para establecer estos bits en función de la
frecuencia de reloj.
Se ha eliminado la API SetPower. La API SetPower era una API que no funcionaba. Se
eliminó intencionalmente porque no ofrecía ningún
valor. Si tiene esta función en su código, debe quitarla.

© Cypress Semiconductor Corporation, 2013-2016. This document is the property of Cypress Semiconductor Corporation and its subsidiaries, including Spansion LLC (“Cypre ss”). This
document, including any software or firmware included or referenced in this document (“Software”), is owned by Cypress under the intellectual property laws and treaties of the United States and
other countries worldwide. Cypress reserves all rights under such laws and treaties and does not, except as specifically sta ted in this paragraph, grant any license under its patents, copyrights,
trademarks, or other intellectual property rights. If the Software is not accompanied by a license agreement and you do not otherwise have a written agreement with Cypress governing the use
of the Software, then Cypress hereby grants you a personal, non-exclusive, nontransferable license (without the right to sublicense) (1) under its copyright rights in the Software (a) for Software
provided in source code form, to modify and reproduce the Software solely for use with Cypress hardware prod ucts, only internally within your organization, and (b) to distribute the Software in
binary code form externally to end users (either directly or indirectly through resellers and distributors), solely for use o n Cypress hardware product units, and (2) under those claims of Cypress’s
patents that are infringed by the Software (as provided by Cypress, unmodified) to make, use, distribute, and import the Soft ware solely for use with Cypress hardware products. Any other use,
reproduction, modification, translation, or compilation of the Software is prohibited.
TO THE EXTENT PERMITTED BY APPLICABLE LAW , CYPRESS MAKES NO W ARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS DOCUMENT OR ANY
SOFTWARE OR ACCOMPANYING HARDWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED W ARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. To the extent permitted by applicable law, Cypress reserves the right to make changes to this document without furth er notice. Cypress does not assume any liability arising out of
the application or use of any product or circuit described in this document. Any information provided in this document, incl uding any sample design information or programming code, is provided
only for reference purposes. It is the responsibility of the user of this document to properly design, program, and test the functionality and safety of any application made of this information and
any resulting product. Cypress products are not designed, intended, or authorized for use as critical components in systems designed or intended for the operation of weapons, weapons
systems, nuclear installations, life-support devices or systems, other medical devices or systems (including resuscitation equipment and surgical implants), pollu tion control or hazardous
substances management, or other uses where the failure of the device or system could cause personal injury, death, or propert y damage (“Unintended Uses”). A critical component is any
component of a device or system whose failure to perform can be reasonably expected to cause the failure of the device or system, or to affect its safety or effectiveness. Cypress is not liable, in
whole or in part, and you shall and hereby do release Cypress from any claim, damage, or other liability arising from or rela ted to all Unintended Uses of Cypress products. You shall indemnify
and hold Cypress harmless from and against all claims, costs, damages, and other liabilities, including claims for personal i njury or death, arising from or related to any Unintended Uses of
Cypress products.
Cypress, the Cypress logo, Spansion, the Spansion logo, and combinations thereof, WICED, PSoC, CapSense, EZ -USB, F-RAM, and Traveo are trademarks or registered trademarks of
Cypress in the United States and other countries. For a more complete list of Cypress trademarks, visit cypress.com. Other names and brands may be claimed as property of their respective
owners.

Potrebbero piacerti anche