¿Qué significa Computer-in-the-the-loop o CIL relacionado con los sistemas integrados?

0

Estoy tratando de aprender más sobre sistemas embebidos. Durante algunas de mis investigaciones he encontrado referencias a CIL o HWIL (aparentemente Computer-In-Loop o Hardware-In-Loop). No he encontrado mucha explicación en términos de CIL. ¿Alguien podría elaborar un poco más sobre lo que generalmente se refiere? ¿Es posible que esté relacionado con probar escenarios en un entorno de simulación?

    
pregunta BentChainRing

3 respuestas

1

Estos son términos que nunca he usado antes porque nunca estuve en el ejército estadounidense que usa abreviaturas de 3 y 4 letras como loco. Pero básicamente comienza con parámetros y valores precisos para cada fuente de error en cada interfaz y luego valida el diseño en esos parámetros.

por ejemplo

  

Los conjuntos de ejecución de Monte Carlo que utilizan los errores conocidos de la interfaz CIL / HWIL, como el factor de escala, el sesgo y el ruido, se utilizan para crear gráficos de valor de límite mínimo-máximo.

Aunque he trabajado para y con muchas corporaciones estadounidenses, los términos comunes que utilizamos son: Especificaciones de diseño; Plan de TVP, plan de TVP, HALT, HASS y acumulación de tolerancia.

  • DVT = Verificación del diseño (o validación) Plan de prueba (y resultados) que verifica TODAS las especificaciones y, en mi caso, prueba a falla o margen a falla. Utiliza todas las especificaciones de diseño.
  • PVT = Prueba de verificación de producción o proceso Utiliza los resultados de DVT para ajustar la verificación de tolerancia de producción y TODAS las especificaciones de diseño.

  • HALT = Pruebas de vida altamente acelerada (como choque y vibración con tensión de temperatura mientras se ejecutan los márgenes de voltaje en el suministro con errores de tolerancia del cristal, luego aumentan hasta que se produce el fallo)

  • HASS = Evaluación de estrés altamente acelerado (como el anterior pero no estresado en modo de falla) y se utiliza para la detección de calidad y la grabación.
  • Para procesos complejos con muchos, por ejemplo. Se utilizan 10 variables, como el pre-flujo y la soldadura por ola, se utiliza el método Taguchi.

  • Para el trabajo de código incorporado, esto significa hacer vectores de prueba de entrada y salida en el peor de los casos para garantizar que todas las fallas se detecten, se informen o se corrijan. y cada función es validada. Las especificaciones de diseño son obligatorias para las especificaciones de diseño de HIPO. Entrada de proceso de entrada jerárquica. (un acrónimo de IBM) Para procesos de IO complejos, el Método TAguchi se puede usar para reducir el número de experimentos para determinar la sensibilidad del proceso de cada variable.

respondido por el Tony EE rocketscientist
1

Cuando he oído hablar de CIL utilizado en el contexto de la programación integrada, por lo general significa que las pruebas automáticas se realizan en un sistema simulado, en lugar de simulación.

Una forma de probar un microcontrolador incorporado se ejecutaría en un simulador, se burlaría de las rutinas de E / S o usando los registros generados por el simulador. Entonces, su prueba está "bajo el estímulo X, los datos Y deben enviarse a la periferia Z dentro de t ciclos de reloj". Esto es bueno si puede hacerlo porque puede ejecutarse completamente en software. Esto facilita la automatización con un sistema de compilación y hace muchas, muchas corridas. También puede ser más fácil inyectar fallas o hacer una inspección interna como las transiciones de la máquina en el estado del monitor.

Este enfoque también tiene algunas limitaciones. En primer lugar, es simplemente difícil de hacer. Los sistemas integrados están diseñados para "hablar con el mundo" constantemente, y generar un entorno de simulación que capture lo suficientemente bien puede ser difícil. En segundo lugar, las pruebas no reflejan necesariamente las verdaderas restricciones; digamos que la periferia Z de arriba es un chip de bus CAN o SPI. Lo que realmente te importa es que el periférico hace lo que se supone que debe hacer. Si su prueba no captura los requisitos de tiempo de ese periférico, entonces su prueba no detectará ese tipo de error.

Entonces, una prueba HWIL significaría que cuando construyes el programa, lo transfieres a una plataforma de "prueba", luego realizas las pruebas en hardware real y, por ejemplo, registras los resultados con un analizador lógico o un osciloscopio. Si su prueba es que "si el acelerómetro supera algún valor, dispare la bolsa de aire", en realidad está probando el pulso que iría al inflador de la bolsa de aire, en lugar de simplemente llamar a la rutina de E / S correcta en el microprocesador.

    
respondido por el Evan
0

Si bien es probable que existan definiciones oficiales para los términos, la línea entre CIL y HWIL a menudo varía de un grupo a otro. Pídale a su cliente una aclaración sobre lo que generalmente significa.

Como soy el líder en entenderlo, CIL significa que tiene la computadora real en el bucle, es decir, la CPU real y otros chips de procesamiento de datos. A continuación, ejerce el software utilizando entradas y salidas simuladas.

Como soy capaz de entenderlo, HWIL significa que no solo tiene la computadora real, sino que también tiene otros dispositivos de hardware, como sensores o actuadores. La prueba HWIL le permite reducir los errores que pueden surgir si los sensores y actuadores no se comportan exactamente como lo hicieron en la simulación. (porque todos sabemos que cada producto de hardware se comporta exactamente como simulado)

Como ejemplo, si tuviera una solución integrada que fuera un detector de movimiento usando una cámara IR, una configuración CIL podría generar imágenes simuladas y canalizarlas a la CPU como un flujo de datos. Una configuración HWIL que pruebe el mismo producto podría generar imágenes simuladas, proyectarla en una pantalla frente a una cámara IR real y conectar la cámara IR a la CPU.

    
respondido por el Cort Ammon

Lea otras preguntas en las etiquetas