El hardware en tiempo real tiene más que ver con la forma en que funciona su software que con el hardware en sí mismo. Al preguntar si algo es difícil en tiempo real, debe aplicarse al sistema completo (Hardware, RTOS y aplicación). Esto significa problemas de diseño de sistemas en tiempo real o blandos.
Bajo carga que excede la especificación, incluso un sistema en tiempo real difícil fallará (con la debida indicación de falla) mientras que un sistema blando en tiempo real con poca carga daría resultados duros en tiempo real. La cantidad de procesamiento que debe pasar en el tiempo y la cantidad de procesamiento previo/posterior que se puede realizar es la verdadera clave para el hard/soft en tiempo real.
En algunas aplicaciones en tiempo real, la pérdida de algunos datos no es una falla, solo debería estar por debajo de un cierto nivel, de nuevo un criterio del sistema.
Puede generar entradas en la placa y tener una pequeña aplicación contarlas y verificar a qué nivel se van a perder los datos. Pero eso le da una calificación específica para ese sistema que ejecuta esa aplicación. Tan pronto como comienza a hacer más procesamiento aumenta su carga de cómputo y ahora tiene un límite diferente de tiempo real.
Esta placa ejecutará un planificador bare bones dará un gran rendimiento predecible en tiempo real para la mayoría de las tareas. Al ejecutar un RTOS completo con una gran carga computacional, es probable que solo obtenga blando en tiempo real.
Edit after comment
La forma más eficiente y más fácil que he utilizado para medir el rendimiento de mi software (suponiendo que se utiliza un cedular) es mediante el uso de un temporizador de hardware de funcionamiento libre en el tablero y en cuando estampar mi inicio y el final de mi ciclo . O si ejecuta un sello de tiempo RTOS completo, adquiere y transmite. Ahorre su tiempo máximo y ejecute un promedio de los valores en un segundo. Si su promedio es de alrededor del 50% y su máximo está dentro del 20% de su promedio, está bien. Si no, es hora de refactorizar su aplicación. A medida que su aplicación crezca, el tiempo de ciclo crecerá. Puede controlar el efecto de todos los cambios de software en su tiempo de ciclo.
Otra forma es utilizar un temporizador de hardware generar una interrupción cíclica. Si está a tiempo, reinicie la interrupción. Si pierde la fecha límite, significa que la señal del controlador de interrupción es un error.Sin embargo, esto solo le dará una advertencia una vez que la aplicación demore demasiado, pero depende del hardware y las interrupciones, por lo que no puede perderse.
Estas soluciones también eliminan el requisito de conectar un endoscopio para controlar la salida, ya que la información de tiempo puede mostrarse en cualquier tipo de terminal mediante una tarea en segundo plano. Si es fácil de controlar, lo controlará regularmente evitando resolver los problemas de sincronización al final, pero tan pronto como se introduzcan.
Espero que esto ayude
Por cierto, puede llamar a soporte. He recibido "Grant" 3 veces ahora. Él es bastante útil. –
Utilice la matriz de puertas para el bit de tiempo real. Para eso es para eso. –
es lo que nos dimos cuenta. Ahora usando una placa diferente, ejecutando VxWorks –