Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
v3.20
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
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).
Conexiones de Entrada/Salida
nVref – Input *
–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).
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).
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.
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 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
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
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
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
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
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)
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.
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)
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.
void ADC_Start(void)
void ADC_Stop(void)
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().
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
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_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.
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.
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.
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.
Conformidad MISRA
Esta sección describe el cumplimiento y las divergencias del MISRA-C: 2004 para el
componente. Hay dos tipos de divergencias definidas:
Buffer de entrada de alta impedancia de entrada (con ganancia programable) que puede
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 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
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.
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.
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:
fclk = 3.072 MHz para una resolución = 16 a 20 bits; fclk = 6.144 MHz para una
resolución = 8 a 15 bits
A menos que se especifique lo contrario, todos las táblas y gráficos muestran el valor típico
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
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
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
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 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
fclk = 3.072 MHz para una resolución = 16 a 20 bits; fclk = 6.144 MHz para una
resolución = 8 a 15 bits
A menos que se especifique lo contrario, todos las táblas y gráficos muestran el valor típico
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
Resolución 16-Bit
SR16 Tasa muestreo, 16-bit 10 Rango diferencial 2 – 48 ksps
±1.024 V
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.
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.
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.
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.
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.
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"
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.