Con FPGAS hacia la seguridad funcional
Los dispositivos electrónicos son críticos para la seguridad cada vez que se producen fallos o roturas que ponen en peligro la vida humana o causan un daño ambiental y / o material importante. Los sistemas críticos para la seguridad deben, por lo tanto, funcionar de manera fiable en todo momento. El uso de la lógica FPGA garantiza esta seguridad funcional crucial.
Las especificaciones para los sistemas embebidos de seguridad crítica a menudo son específicas de la industria y están sujetas a estándares estrictos. No hay lugar para errores en hardware o software. Las aplicaciones típicas se pueden encontrar en el transporte por ferrocarril, autobuses, barcos y aviones, así como en aplicaciones más complejas en la automatización industrial, la tecnología médica o el sector de la energía. La seguridad funcional es de particular importancia en estos contextos.
Pero, ¿es posible salvaguardar un sistema contra todos los riesgos conocidos a través de su diseño? Esto incluye tanto fallos aleatorios resultantes de fallos de componentes, efectos de EMC o radiación cósmica, como también posibles defectos de diseño que pueden evitarse durante el desarrollo a través de procesos apropiados. ¿Es posible además certificar sistemas para los estándares de seguridad de diferentes mercados a pesar de que la mayoría de los componentes estándar disponibles no están diseñados para estos estándares?
Obtener la certificación por uno mismo suele ser muy laborioso, especialmente cuando se trata de componentes complejos. En ocasiones, esto requiere la cooperación de los fabricantes de los componentes para proporcionar los conocimientos necesarios sobre los procesos de producción. ¿Pero darán su apoyo? A menudo no, porque para la mayoría de los proveedores de componentes estándar utilizados en ordenadores embebidos, la seguridad funcional es un nicho de mercado. Entonces, ¿cómo puede eludir este dilema y desarrollar sistemas funcionalmente seguros?
Las pruebas retrospectivas de los componentes estándar no son viables
Actualmente, la única alternativa verdaderamente viable para las pruebas retrospectivas de componentes estándar es el uso de FPGAS (Field Programmable Gate Arrays), para redefinir las funciones de acuerdo con los estándares de seguridad aplicables. Esta es una solución ideal para cumplir con los requisitos críticos de seguridad de industrias específicas. Con las FPGAS, incluso es posible implementar diseños altamente personalizados para tamaños de lotes pequeños de manera eficiente y rentable. Esto las convierte en una base ideal para garantizar la seguridad funcional específica de la aplicación. Una gran ventaja de las FPGA es que no todo tiene que desarrollarse desde cero cada vez. Por el contrario, los bloques de construcción de IP funcionales
se pueden combinar según sea necesario, ahorrando costes y tiempo de desarrollo. Esto se aplica no solo al diseño de una FPGA específica, sino también al diseño de placas o sistemas con múltiples FPGA que reciben su funcionalidad altamente individual a través de los respectivos ajustes de FPGA.
Simulación de errores y pruebas de comportamiento
Antes de que un diseño crítico para la seguridad pueda ser calificado y certificado, se debe proporcionar evidencia de su comportamiento en caso de fallo. Esto es comparativamente fácil con herramientas de desarrollo para FPGA ya que el entorno de desarrollo virtual para FPGA hace posible provocar incluso errores serios o complejos para probar cómo se comporta el sistema, o para verificar si el sistema tiene un comportamiento de error definido. Si bien esta forma de simulación no es común en el software, es una herramienta básica en el diseño de FPGA, donde también se utiliza para desarrollos estándar sin ningún requisito de seguridad funcional. Las FPGA, por lo tanto, no necesitan ningún esfuerzo adicional de cadena de herramientas. Además, la simulación no solo puede usarse para demostrar el comportamiento de error deseado, sino también para manifestar la implementación correcta de una función. En otras palabras, puede crear informes de simulación sin fisuras para enviar a proveedores de servicios de certificación técnica, como la TÜV alemana.
Implementación de funciones avanzadas de monitorización y control La correcta supervisión del comportamiento también es de gran importancia en las aplicaciones de seguridad crítica, ya que esta es la única forma de detectar fallos e iniciar acciones apropiadas. Las temperaturas, el funcionamiento de los componentes o la recepción de datos deben ser monitorizados y analizados para activar un estado seguro en caso de desviaciones de los puntos de ajuste, por ejemplo, para apagar una máquina o detener un tren de manera controlada. Los componentes listos para usar para conectar E / S, como interfaces seriales o GPIO, rara vez brindan las funciones de monitorización necesarias para cumplir con la EN 50129 para ferrocarriles, o IEC 61508 para sistemas electrónicos con requisitos de seguridad funcional. Tales funciones se pueden mapear de manera muy eficiente en FPGA si no hay microcontroladores adecuados. Cuando tales funciones de monitorización están integradas en FPGA, son libremente configurables y se pueden adaptar a las necesidades exactas de la aplicación, lo que es una ventaja distintiva sobre los microcontroladores.
Disponibilidad a largo plazo y menor riesgo de obsolescencia
La máxima "nunca cambie un sistema en funcionamiento" es particularmente deseable para sistemas funcionalmente seguros. En primer lugar, probar el cumplimiento del estándar de seguridad funcional es un proceso complejo que debe repetirse con cada cambio, lo que lo hace muy costoso. En segundo lugar, cualquier cambio conlleva inevitablemente, el riesgo de introducir un nuevo error. Por esta misma razón, los sistemas se están utilizando sin revisión durante décadas, especialmente en los sectores del ferrocarril y la aviación. Pero esto requiere una estrategia de obsolescencia para los componentes, ya que los componentes industriales estándar raramente están disponibles durante más de 5 a 10 años. Las FPGA ofrecen ventajas significativas a este respecto, ya que la función no se realiza en un componente dedicado, sino en la programación en sí. En consecuencia, la interrupción en el suministro de los componentes es relativamente fácil de gestionar, ya que el código puede ser portado funcionalmente de modo idéntico a las nuevas FPGAS. La duración de los proyectos de más de 30 años no son un problema, incluso si se cambia el fabricante de FPGA. Esto proporciona independencia de un proveedor en particular.
Con las FPGA, siempre existe la opción de integrar funciones adicionales más adelante, por ejemplo, para actualizar el sistema. Por supuesto, esta flexibilidad también afecta el comienzo del ciclo de vida del producto: si algunas de las funciones de hardware se implementan en FPGA, esas funciones se pueden probar en paralelo para un mayor desarrollo. Esto ahorra tiempo más tarde durante la etapa de puesta en marcha y prueba de todo el sistema.
Componentes para el rango de temperatura ampliado
Un requisito frecuente en el área de seguridad crítica es el soporte de un rango de temperatura amplio, por lo general de -40 a + 85 ° C. Encontrar componentes estándar y bloques de construcción adecuadamente calificados puede ser un problema. Sin embargo, una vez que los requisitos se mueven al rango de temperaturas extremas de -55 a + 125 ° C, es mucho más difícil, si no imposible, obtener componentes para las diversas funciones de hardware. Afortunadamente, las FPGA también ofrecen un rango suficientemente amplio para estas temperaturas extremas.
Fácil integración de redundancias e inmunidad SEU
La estrategia más importante para hacer que un sistema sea menos susceptible al riesgo es la redundancia: la duplicación funcionalmente idéntica de los componentes clave para poder compensar rápidamente los fallos de los componentes individuales. Un bloque de construcción que hace que todo el sistema se apague cuando se produce un fallo se denomina SPOF (Single Point of Failure o punto único de fallo). Cada bloque de construcción importante puede ser un SPOF. En aplicaciones aeronaúticas, por ejemplo, los errores de memoria debido a la radiación cósmica son un problema. Esto da lugar a efectos tales como SEUS (Single Event Upset) o MBUS (Multi-bit Upsets), donde uno o más bits en elementos de memoria saltan de 0 a 1 por error o viceversa. Si se proporcionan componentes críticos como una CPU en múltiples versiones redundantes con votación, esto aumenta la seguridad funcional y la fiabilidad. Tal redundancia con la funcionalidad de votación se puede construir con FPGA, con la ventaja añadida de que puede replicar esta lógica en cada instancia simplemente copie y pegue.
Esta redundancia se repite en la FPGA misma para poder completar el cálculo en la FPGA si falla un flip-flop de FPGA. Esto da como resultado una función de tasa de error de solo 0.000001 FIT, lo que significa que la probabilidad de fallo por mil millones de horas de funcionamiento es solo de uno en un millón. Para los estándares humanos, esto es virtualmente cero.
Capacidad en tiempo real y capacidad de respuesta garantizada
Además de la fiabilidad, los entornos críticos para la seguridad también requieren tiempos de ejecución calculables. El sistema tiene que reaccionar a un evento externo dentro de un período de tiempo establecido, incluso en las peores condiciones. Sin embargo, las arquitecturas informáticas típicas usan interrupciones y topologías de DMA que pueden afectar negativamente los tiempos de respuesta de las tareas individuales cuando otra tarea solicita los mismos recursos. Esto hace que sea difícil lograr el comportamiento determinista requerido, es decir, el tiempo exactamente predecible. Esta es la razón por la cual se evitan tales soluciones para requisitos extremos en tiempo real. Las FPGA, por otro lado, soportan la capacidad en tiempo real inherentemente porque son paralelas por naturaleza. Como resultado, los diversos procesos no compiten entre sí, sino que siguen su propio camino predefinido, que no se ve alterado por otros eventos. Esto hace que sea mucho más fácil garantizar la capacidad determinista en tiempo real con un comportamiento claramente definido.
Integración de aplicaciones de seguridad
En los días del Internet de las cosas, la Industria 4.0 y la Movilidad 4.0, la cuestión de la seguridad, en el sentido de la protección de la manipulación, surgirá tarde o temprano en el contexto de la seguridad funcional. Una vez más, las FPGA ofrecen muchas formas de proteger la aplicación contra la manipulación, el acceso no autorizado o la duplicación de datos. Por ejemplo, una clave única puede programarse en la FPGA y almacenarse de forma segura en forma cifrada en una memoria no volátil. Esta clave puede garantizar que los datos solo puedan ser leídos por las aplicaciones y las personas que conocen la clave. Además, la clave también se puede usar para identificar la comunicación del dispositivo con otros dispositivos.
Debido a que está basado en hardware, no puede ser manipulado por el lado del software y siempre identifica de manera única el dispositivo. Además, el código emitido en el hardware no se puede copiar tan fácilmente como el software. Como resultado, una FPGA puede asumir funciones de seguridad críticas que van mucho más allá que, por ejemplo, los módulos de plataforma fiables. Las FPGA tienen un beneficio muy significativo sobre las soluciones estándar, ya que gracias a su programación individual también son mucho menos susceptibles a la piratería.
Desarrollo de sistemas con seguridad funcional
Empresas como MEN Mikro Elektronik se especializan en plataformas basadas en FPGA para sistemas informáticos embebidos de seguridad crítica y también están familiarizados con los requisitos de industrias específicas. Por ejemplo, en algunas industrias es una práctica común que el desarrollo de FPGA no está incluido en las normas, pero los proveedores de soluciones actuales desean utilizar los resultados de simulación de las herramientas de desarrollo de FPGA para ahorrar en costes de documentación para certificaciones.
A pesar de todo el esfuerzo involucrado en el desarrollo, las FPGA pueden ahorrar un tiempo considerable en el proceso de certificación, que a veces es más complejo que el desarrollo mismo. Y ya hay muchos bloques de funciones de MEN en uso en aplicaciones certificadas. Aquí, cumplen con las funciones de la placa base y también asignan funciones de E / S específicas. Los ejemplos de bloques de construcción de IP de MEN para FPGA incluyen: gráficos y controladores de pantalla táctil; interfaces de bus de campo como CAN y MVB; diferentes UART como RS232 o RS485; Interfaces Ethernet y HDLC; SRAM y controladores de memoria flash; GPIO, E / S digitales, contadores, decodificadores en cuadratura y funciones PWM.
Todos estos núcleos IP se pueden combinar con núcleos proporcionados por Altera (Avalon Bus) o la comunidad Opencores (Wishbone Bus). MEN también admite desarrollos en torno al procesador de núcleo blando Nios de Altera. Los puentes especialmente desarrollados Wishbone-to-avalon y Avalon-to-wishbone completan la gama lógica FPGA lista para usar de MEN Mikro Elektronik, que se mejora continuamente y también se puede personalizar y expandir.