Entrar

Login para a sua conta

Senha

Artigos

Este artigo explica o que é um sistema operacional de tempo real (RTOS) e como ele pode ser útil em aplicações de medição e controle. Além disso, também serão abordadas as principais diferenças entre RTOS e o sistema operacional Windows

 

Introdução aos Sistemas de Tempo Real

 

 

Em geral, um sistema operacional (SO) é responsável por gerenciar os recursos de hardware e hospedar os aplicativos que são executados no computador. Um sistema operacional de tempo real (RTOS) também executa essas tarefas, mas é projetado especialmente para rodar aplicações com extrema precisão e alto grau de confiabilidade. Isso pode ser especialmente importante para sistemas de medição e controle.

 

Os sistemas operacionais de tempo real foram projetados para trabalhar com resposta a eventos e com sistemas de controle em malha fechada. Um exemplo de aplicação com resposta a eventos, na qual é imprescindível a utilização de RTOS é um sistema de airbag automotivo, este sistema necessita de precisão e confiabilidade, pois a resposta a um estímulo deve ser feita em um determinado espaço de tempo. Já um exemplo de aplicação de controle em malha fechada em que o RTOS é necessário, é para o controle de velocidade em automóveis, pois também é necessário precisão e confiabilidade. Ambos os sistemas exigem a realização de uma operação dentro de um tempo determinado. Esse tipo de desempenho é chamado de determinístico.

 

Sistemas de tempo real podem ser classificados como “soft” ou “hard”. Para sistemas de tempo real do tipo soft, a utilidade de um sistema geralmente é inversamente proporcional ao tempo de resposta, após um determinado prazo ter sido perdido. Por exemplo, quando pressionamos um botão do telefone para atender uma chamada, a conexão deve ser estabelecida logo após o botão ter sido apertado, contudo, o prazo não é tão crítico e pequenos atrasos podem ser tolerados. Sistemas de tempo real do tipo “hard” são aqueles em que a utilidade do sistema torna-se zero em caso de perda do prazo.

 

Uma unidade de controle de um motor (ECU) automotivo deve processar sinais de entrada e calcular a temporização da faísca da vela dentro de um prazo. Se houver perda desse prazo, o motor não irá operar corretamente. A utilidade de uma tarefa após a perda de prazo depende se o sistema de tempo real é do tipo “soft” ou do tipo “hard”, como mostrado na figura 1.
 

 

Sistemas operacionais como Microsoft Windows e MAC OS fornecem uma excelente plataforma para desenvolvimento e execução de aplicações não críticas de medição e controle. Contudo, por serem sistemas operacionais projetados para um propósito geral, eles não são ideais para executar aplicações que necessitem de um desempenho determinístico ou de um maior tempo sem falhas.

 

Sistemas operacionais de propósito geral são otimizados para executar uma variedade de aplicações simultaneamente, assegurando que todas as aplicações possuam um tempo de processamento. Esses sistemas operacionais também devem responder a interrupções de periféricos como mouse e teclado, sendo que o usuário tem controle limitado sobre o modo como essas tarefas são manipuladas pelo processador. Como resultado, tarefas de alta prioridade podem ser interrompidas para que tarefas de baixa prioridade sejam executadas, fazendo com que seja impossível garantir um tempo de resposta constante para suas aplicações críticas.

 

Em contraste, sistemas operacionais de tempo real proporcionam a capacidade de priorizar tarefas, para que as tarefas mais críticas possam sempre ter controle do processador quando necessário. Essa propriedade possibilita a criação de aplicações com resultados que podem ser previstos.

 

Sistemas operacionais de tempo real são necessários quando o processador está envolvido em operações como controle de malha fechada e tomada de decisão em tempo crítico. Essas aplicações necessitam que decisões temporizadas sejam feitas baseadas em dados recebidos. Por exemplo, um equipamento de entrada e saída realiza a amostragem de um sinal de entrada e o envia diretamente para a memória. Então, o processador deve analisar o sinal e enviar a resposta adequada ao equipamento de entradas e saídas. Nessa aplicação, o software deve estar envolvido na malha, portanto, você precisa de um sistema operacional de tempo real para garantir a resposta dentro de um espaço de tempo fixo. Além disso, aplicações que requerem tempo de execução estendido ou operações autônomas são geralmente implementadas com sistemas operacionais de tempo real.

 

Desempenho em Tempo Real

 

O equívoco mais comum associado ao desempenho em tempo real é dizer que ele aumenta a velocidade de execução do programa. Apesar de ser verdade em alguns casos, a aplicação é melhorada proporcionando temporização precisa e previsível. Com essas melhorias, você pode determinar o tempo exato quando certo evento ocorrerá.

 

Controle em Tempo Real

 

Com controle em tempo real, é possível monitorar e simular continuamente um sistema físico. Aplicações de controle em tempo real executam repetidamente uma tarefa definida pelo usuário com um intervalo de tempo específico entre cada execução. A maioria dos sistemas de controle em tempo real monitora um sistema físico, comparam o estado atual com o estado desejado e então simulam o sistema físico baseando-se nessa comparação. O tempo que leva para que essa malha execute é considerado o tempo de ciclo da malha. O tempo de ciclo da malha de controle varia baseado na complexidade do sistema.

 

O determinismo mede a consistência do intervalo de tempo especificado entre os eventos. Muitos algoritmos de controle, como o PID, requerem um comportamento muito determinístico. Por exemplo, um elevador move-se gradualmente para o andar correto por causa do comportamento determinístico da malha de controle. Sem o determinismo, o elevador chega ao andar correto, porém sem estabilidade.

 

Em todos os sistemas de tempo real há uma quantidade de erro chamada jitter. O jitter é outra maneira de medir o determinismo de um sistema de tempo real. Você pode calculá-lo como a diferença máxima entre qualquer atraso individual de tempo e o atraso de tempo desejado em um sistema, veja na figura 2.
 

 

Resposta a eventos em Tempo Real

 

Com a utilização da resposta a eventos em tempo real é possível responder a um simples evento dentro de um dado espaço de tempo. O sistema de tempo real garante algum tempo máximo de resposta a um evento único. O evento pode ser tanto periódico quanto aleatório. Um exemplo de uma aplicação de resposta a um evento em tempo real é um sistema de monitoração de segurança. Se uma planta entra em um estado de perigo, o sistema de tempo real deve responder a este evento dentro de um espaço de tempo garantido.

 

A latência é usada para descrever o tempo que leva para se responder a um evento. É similar ao determinismo em aplicações de controle em tempo real. Com resposta a eventos em tempo real, é garantido o pior caso de latência.

 

Tecnologia de Tempo Real, da National Instruments

 

Os módulos LabVIEW Real-Time e LabWindows™/CVI Real-Time são usados para se alcançar execução determinística confiável em hardware dedicado. Caso haja necessidade de um determinismo maior, o módulo LabVIEW FPGA, combinado com um hardware que inclua tecnologia de entradas e saídas reconfiguráveis (RIO – Reconfigurable I/O) oferece resposta de hardware em nanossegundos.

 

Use o conjunto de software da National Instruments para:

• Desenvolver rapidamente aplicações determinísticas com programação gráfica ou ANSI C;

• Criar facilmente controles distribuídos e sistemas de monitoração;

• Eliminar o tempo gasto integrando diversas entradas e saídas.

 

A National Instruments oferece uma variedade de hardware de tempo real que contém um processador embarcado executando um sistema operacional de tempo real para máxima confiabilidade e desempenho determinístico. É possível integrar uma vasta gama de entradas e saídas com hardware modular que possa ser expandido para atender a um grande número de canais para aquisição de dados e controle, condicionamento de sinais industriais e isolação segura. Observe a figura 3.
 

 

 

* Matéria originalmente publicada na revista Mecatrônica Atual; Ano:11; N° 60; Jan/ Fev – 2013