Automatización de producción de electrónica de señal mixta de bajo volumen (prueba de hardware, calibración, parpadeo) [cerrado]

Estoy diseñando una placa de señal mixta con microcontrolador que necesitará programación de memoria flash para su firmware, (auto)prueba y documentación para los pasos finales de producción.
Sé que hay toda una rama de la industria de fabricación de productos electrónicos a la vuelta de la prueba (ATE), pero aún no he encontrado una lista simple de pasos y opciones para el proceso básico, solo para comenzar y descubrir la forma más simple y de bajo costo. de automatizar esto a pequeña escala.

Empecemos con el flasheo imprescindible del micro:

  1. Conectar dispositivo al programador (PC+Software)
  2. Haga clic en el botón "programar" para flashear el firmware
  3. Desconectar dispositivo

¿Cómo se simplificaría esto a una mínima participación humana como

  1. Insertar dispositivo
  2. Retire el dispositivo

? probablemente con

  • una plantilla de prueba y sondas con resorte (pogo-pins) para las conexiones.
  • un método para que la computadora detecte el dispositivo (cambie o vuelva a intentar hasta que se establezca una conexión exitosa a la MCU).
  • una interfaz hombre-máquina (audio, visual a través de PC o en una plantilla de prueba)

La máquina IO podría ser tan "simple" como otra placa de microcontrolador (por ejemplo, Arduino) conectada a través del puerto serie (UART/RS-232). Luego, es posible que el software de la PC deba personalizarse para controlar el proceso (software IO y Flasher). Por supuesto, solo para flashear hay varias opciones (enlace específico del proveedor, JTAG, gestor de arranque).

Lo siguiente de interés sería la prueba y calibración automatizadas del dispositivo. Por supuesto, esto es muy específico del hardware. El equipo necesario podría generalizarse como

  • fuente de alimentación
  • generador de señal (voltaje de referencia / señal)
  • dispositivo de medición (multímetro, osciloscopio)
  • cargas (sumideros, fuentes)
  • interfaces

En lugar de utilizar rutinas de autocomprobación o E/S en el hardware (firmware de prueba separado o rutinas de prueba que forman parte del firmware de producción), el host de control externo podría ejecutar pruebas de bajo nivel a través del escaneo de límites de hardware / JTAG .

Dependiendo del circuito, esto podría simplificarse a una autocomprobación con una plantilla pasiva que actúa principalmente como un dispositivo de bucle invertido.

En cualquier caso, una secuencia general para la prueba/calibración podría ser:

  1. aplicar señal
  2. señal de medida
  3. [calcular/almacenar parámetros de calibración]

Por ejemplo, las salidas podrían regresar a (múltiples) entradas a través de la plantilla de prueba. La calibración de la señal analógica requiere una referencia que podría ser externa. Es posible que se requiera conmutación de señal si se utiliza una referencia con entradas (ADC) y salidas (DAC), p.

  1. aplicar voltaje de referencia externo a la entrada
  2. calibrar entrada
  3. cambiar salida a entrada
  4. Salida de autocalibración (ajustar hasta que la salida sea la misma que la de referencia)

Alternativamente, se podría usar un comparador externo con el voltaje de referencia para la retroalimentación (que requiere una entrada y una rutina para buscar el valor de salida correcto). Por supuesto, hay disponibles equipos de prueba listos para usar con interfaces de control que permiten la configuración/medición directa de señales analógicas para calcular los valores de calibración.

Escribir los datos de calibración en el dispositivo o en la memoria adjunta requiere estructuras de datos/direcciones correspondientes utilizadas por el firmware. Los datos pueden escribirse directamente en la memoria cuando sea posible (limitaciones de la memoria flash, por ejemplo, ciclo de borrado, tamaño de bloque) o incrustarse en la imagen del firmware/eeprom antes de escribir el firmware de producción final. Alternativamente, si el firmware tiene una interfaz de calibración, esta podría usarse para transferir/actualizar estos valores después de parpadear una vez que el dispositivo esté funcionando.

En cuanto a la identificación y la documentación, si no hay una identificación de hardware presente en los dispositivos, el entorno de prueba puede generar una y escribirla en el dispositivo. La información del firmware y del producto se puede escribir en la base de datos y enviar a la impresora de etiquetas para la identificación física en el dispositivo.

Por supuesto, cualquier solución es siempre una compensación y solo se puede abordar más en función de los detalles de los requisitos de la prueba.

Estaría interesado en más ideas o sugerencias para cuentas de implementaciones.


Ver también:

Respuestas (1)

muchos programadores ARM gratuitos (utilidad ST-LINK, Jlink, etc.) tienen el modo automático. Usualmente uso la utilidad ST-LINK + pines pogo. Cuando el dispositivo está conectado, la utilidad ST-LINK lo detecta, programa los flashes, establece los bits de opción (protección de memoria, por ejemplo) y solicita la desconexión del dispositivo, luego espera otro. Incluso haciéndolo manualmente puedes programar 100-200 dispositivos/hora.

La calibración es más difícil ya que necesita tener

  1. Utilidades de calibración en su software, a menudo con la señalización en el pin cuando la calibración está lista.

  2. Software en el lado de la PC: generalmente escribo mis propios programas para él. Entonces establece los datos de calibración y espera la confirmación del dispositivo, establece otros y así sucesivamente. El pin de señalización no tiene que estar dedicado, solo lo necesita durante la calibración. Solo se necesita una almohadilla para el pin pogo.