16 votos

Diseño de PCB de señal mixta para PSoC

Estoy desarrollando una PCB para una aplicación de detección analógica. Utiliza el ADC interno de un PSoC3. Como siempre, la aplicación es muy espacio (11mm x 21mm), por lo que he tenido que hacer algunas concesiones en el diseño de la placa de circuito impreso que no habría hecho en una placa más grande.

PSoC PCB

La placa se alimenta con 6v regulados, y contiene dos reguladores lineales de 5v. Un MCP1702 para el suministro digital, y un MIC5205 para el suministro analógico. La placa detecta cinco A1324 Sensores de efecto Hall. Cada señal de salida de efecto Hall está filtrada por un filtro RC de 100nF + 1k. Un sensor está en la propia PCB (abajo a la derecha). Los otros 4 se conectan al conector de 6 pines de la derecha.

El chip actúa como esclavo SPI, pero las muestras del ADC se toman siempre entre Transacciones SPI, por lo que el SPI no debería interferir con las señales analógicas.

Lamentablemente, sigo viendo algo de ruido (alrededor de 1,5 LSB a 12 bits) en las señales analógicas, y me pregunto si hay algo que podría haber hecho de forma diferente en el diseño para mejorarlo.

PSoC Layout

Por favor, abra la imagen en una nueva pestaña para verla en mayor resolución.


Añadido:

Otros diseños de PCB que he realizado utilizando el MCP3208 y las mismas fuentes duales de 5v, los mismos sensores y los mismos filtros RC han conseguido que no se note el ruido a 12 bits.

El ADC del PSoC3 es de tipo delta sigma. Esta versión del PSoC está limitada a 12 bits, pero otro número de parte tiene un ADC de 16 bits (aunque con una tasa de muestreo menor).

Sí me preocupa el ruido, y me gustaría empujarlo un poco más hacia el 12 ENOB. La razón no es la precisión, sino la medición de la velocidad. Actualmente, este nivel de ruido hace que sea imposible realizar un control preciso de la posición y la velocidad en un robot.


Añadido:

Esquema. Siento que esté un poco apretado, pero se pueden leer los valores.

PSoC Schematic

13voto

lillq Puntos 4161

Siempre vas a tener algo de ruido en un ADC, especialmente SA (aproximaciones Sucesivas) de los tipos en el microcontrolador morir. Sigma-delta realizar mejor para ruido Gaussiano, como que la integran. No esperes 12 ENOB de 12-bit ADC.

El controlador del ruido es una razón por la que la mayoría de los microcontroladores no ofrecen una mayor resolución de 10 bits, y el AVR ofrece la posibilidad de detener el microcontrolador durante el ADC de la adquisición, que deberá confirmar que al menos algunos de el ruido viene de la controladora.

Pero la pregunta es: ¿a usted le importa? 1.5 poco de ruido en un 12-bit ADC deja aún más de 10 bits, o mejor que el 0,1 %. ¿Qué tan precisa es su sensor Hall? Otros componentes en el circuito?

editar
Parece que utilizan el PSoC del oscilador interno, ya que no veo ninguna de cristal en el esquemático. Se ve bien: tiene toda la disociación. Aparte de que el reloj interno de la alta velocidad en parte en el circuito parece ser el SPI, pero usted dice que esto va a estar en silencio durante la medición. El resto de la junta es DC o probablemente relativamente baja frecuentes como los sensores de efecto Hall. Y es que un Maldito Pequeño™, que también ayuda a: menor huellas de recoger menos ruido. Estoy seguro de que podría ser quisquilloso acerca de la MCP1702, que me iba a girar 90° a la izquierda para que el condensador de salida se puede colocar incluso más cerca de los pines, pero que no resuelven los problemas.

Yo sólo veo un cambio en el diseño que podría mejorar su ratio de S/N:

enter image description here

En la hoja de datos de split analógico y digital de planos de tierra se sugieren para "Óptimo Rendimiento Analógico" (página 10).

Para el resto: es un pequeño consejo que, como dije, que significa corto huellas y la disociación dentro de un par de mm. Así que me gustaría tener otra mirada en la fuente del ruido. El primer sospechoso es el PSoC del reloj. El PSoC se puede ejecutar una muy baja tensión de alimentación, y que reducir su ruido. Por supuesto que sería de gran ayuda si VDDA tiene que bajar, pero no la he leído en cualquier lugar de la hoja de datos que VDDA no debería ser superior a la VDDD.

A continuación, el ADC. En la página 55 de la hoja de datos dice: 66 dB SINAD, que es de 11 bits, cerca de lo que ahora. El A1324 hoja de datos nos da 7 mVpp ruido en un reposo de voltaje de 2.5 V. Que también es mucho menor que el 72 dB relación S/N que de 12 bits. Usted puede mejorar esto un poco con extra de filtrado.

Usted mencionó que el mejor rendimiento de la MCP3208, pero eso es un ADC de distancia desde el microcontrolador, y que puede explicar cómo una SA ADC puede hacer mejor que un sigma-delta con la misma resolución.

Por ello, las opciones que yo veo: reducción de la digital fuente de alimentación de tensión y división analógicas y digitales de motivos.

2voto

shash Puntos 668

Estoy de acuerdo con lo anterior. 1,5LSB de ruido es bastante razonable. http://www.cypress.com/?docID=39346 muestra una SINAD mínima de 66 dB en el modo de 12 bits, lo que sugiere un ENOB = 10,7.

Sé que esto no es una respuesta directa a tu pregunta, pero voy a interpretar la pregunta como "¿cómo arreglo mis problemas con el control de la velocidad?" y no "¿cómo consigo más de 10,5 ENOB?".

¿Cómo se diferencian? ¿Tienes suficientes ticks de reloj de sobra para hacer algo un poco más suave que una diferencia central de dos puntos? ¿Tal vez algo de 5 muestras de ancho, optimizado en Matlab?

Además, esto puede sonar un poco gracioso, pero el ruido de la velocidad empeora a medida que se muestrea más rápido

$$\frac{1LSB}{\Delta t}$$ se hace más grande a medida que el delta t se hace más pequeño). Intenta muestrear sólo lo que necesites, no lo más rápido que puedas.

No es por ser insultante, pero también echa un vistazo rápido para asegurarte de que no pasa nada tonto en tu control de velocidad, como problemas con las conversiones entre enteros con signo y sin signo, y asegúrate de que tus enteros son lo suficientemente amplios como para evitar errores de desbordamiento cuando los diferencies. Mis propias ecuaciones de control a menudo se complican lo suficiente como para que a veces lance explícitamente cada operación.

Por último, aunque tal vez sea lo más probable, ¿está perdiendo trozos efectivos de la parte superior al no amplificar a escala casi completa? Si es así, puede amplificar o quizás proporcionar una Vref más pequeña.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X