Você está na página 1de 29

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/329162849

Sistema de Computadores de Bordo de Satélites Artificiais

Book · June 1996

CITATIONS READS

0 79

1 author:

Mario Eugenio Saturno


National Institute for Space Research, Brazil
9 PUBLICATIONS   6 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Scientific Microsatellite - SACI View project

All content following this page was uploaded by Mario Eugenio Saturno on 24 November 2018.

The user has requested enhancement of the downloaded file.


Mario Eugenio Saturno

Sistema de Computadores de Bordo de


Satélites Artificiais

Integrado apresentado ao Departamento de Pós-


Graduação em Computação Aplicada, do
INPE, como parte dos requisitos para obtenção
do título de Mestre

Banca: Dr. Tatuo Nakanishi


Dr. Alderico Rodrigues de Paula Jr
Dr. Otávio Cupertino Durão

São José dos Campos


1996
Resumo

A redução dos custos dos satélites artificiais foi acompanhado no


crescimento de sua utilização nos mais variados campos de aplicação, pesquisa, militar e
comerciais.

O satélite é composto de equipamentos de telecomunicações, suprimento de


energia, computadores de supervisão de bordo e controle de atitude e órbita. Além de
sensores, atuadores, câmaras e detectores para desempenhar seus objetivos.
O computador de supervisão de bordo tem a função de adquirir os sinais de
telemetria, receber as mensagens de telecomando, gerenciar a carga útil, de implementar o
controle térmico, a detecção, isolamento e recuperação de falhas.

O controle de atitude e órbita é constituído de um computador e dos sensores


de atitude e dos atuadores e tem a função de manter a atitude pré-estabelecida do satélite e
executar as manobras de mudança de órbita determinadas a partir do controle de solo.

O Software de Bordo é constituído de um conjunto de programas que


facilitam o acesso às interfaces de hardware e implementa um protocolo de comunicação e
sincronização entre os processos (Sistema Operacional) e de programas que desempenham
as funções de processamento de telemetria e telecomando, housekeeping, diagnose,
determinação e controle da atitude e gerenciamento da memória (Programas Aplicativos).
Neste trabalho serão apresentados alguns aspectos que devem ser
considerados no projeto de software de bordo visando a melhoria de sua qualidade.

2
ÍNDICE
1 - INTRODUÇÃO ............................................................................................................................................ 5

2 - DEFINIÇÃO DO PORTE ........................................................................................................................... 8

3 - SUBSISTEMAS ............................................................................................................................................ 9

4 - COMPUTADORES DE BORDO ............................................................................................................. 11

4.1 - COMPUTADOR DE SUPERVISÃO DE BORDO ........................................................................ 12

4.2 - COMPUTADOR DE CONTROLE DE ATITUDE E ÓRBITA .................................................. 14

5 - SOFTWARE DE BORDO ......................................................................................................................... 15

5.1 - SISTEMA OPERACIONAL (SO) ................................................................................................... 16

5.2 - PROGRAMAS APLICATIVOS ...................................................................................................... 17

6 - TOLERÂNCIA A FALHAS ...................................................................................................................... 19

6.1 - CÃO-DE-GUARDA .......................................................................................................................... 20

6.2 - DETECÇÃO E CORREÇÃO DE ERROS ..................................................................................... 20

6.3 - CONFIABILIDADE DO SISTEMA................................................................................................ 22

6.4 - TESTES.............................................................................................................................................. 23

7 - CONCLUSÃO ............................................................................................................................................ 25

3
ÍNDICE DE FIGURAS

FIGURA 1.1 DIAGRAMA DE BLOCOS DE UM SATÉLITE ..................................................................... 7

FIGURA 4.1 - DIAGRAMA DO COMPUTADOR DE SUPERVISÃO DE BORDO .............................. 13

FIGURA 5.1 - ARQUITETURA DO SOFTWARE DE BORDO ............................................................... 15

FIGURA 5.1 - DIAGRAMA DE BLOCOS DOS PROGRAMAS APLICATIVOS E FLUXO DE


MENSAGENS ....................................................................................................................... 17

FIGURA 7.1 - ARQUITETURA DO SOFTWARE DE BORDO ............................................................... 27

ÍNDICE DE TABELAS

TABELA 2.1 - DEFINIÇÃO DO PORTE..................................................................................................8

4
1 - INTRODUÇÃO

Inicialmente, será apresentada as características gerais de um satélite


artificial. Em seguida, serão apresentados os conceitos de computador e software de bordo
utilizados em satélites brasileiros, baseado no Satélite de Sensoreamento Remoto [1], e da
ESA [3] e no experimento ELISMA a ser enviado para Marte [2]. Finalmente, serão
apresentados alguns aspectos que devem ser considerados para a melhoria da qualidade no
projeto de software de bordo.

Os satélites artificiais são utilizados principalmente em aplicações onde


outros meios se tornam técnica ou economicamente inviáveis. Entre diferentes aplicações
encontram-se as comerciais, militares, científicas e tecnológicas[1].

Satélites científicos são usados em aplicações tais como observação da


Terra, o estudo do desmatamento de florestas, da ionosfera, do geomagnetismo, da
meteorologia e da radiação espacial[1].

Satélites comerciais são usados, entre outras atividades, em


telecomunicações, previsão do tempo, GPS (sistema de posicionamento global), a evolução
de plantações visando a previsão de safras, o controle de queimadas e enchentes e
localização de cargas[1].

Para desempenhar as atividades descritas acima são utilizados no satélite


dispositivos, tais como sensores, atuadores, câmaras e detetores de radiação. Um sensor é
um dispositivo utilizado para dar uma orientação ao satélite detectando o sol, o campo
magnético, o horizonte e algumas estrelas. Um atuador é um dispositivo utilizado para
alterar a orientação ou a órbita do satélite. Uma câmara é um dispositivo utilizado para
adquirir imagens da banda espectral visível e infravermelho.

O sensor solar detecta a luminosidade do Sol e o ângulo entre o sensor e o


Sol. O sensor magnetômetro detecta o campo magnético existente entre os pólos da Terra.
O sensor de horizonte detecta o horizonte da Terra pelo contraste com o espaço. O sensor
de estrelas detecta a luz emitida por algumas estrelas.

5
Um atuador pode ser um propulsor, uma roda de reação ou uma bobina
magnética. O propulsor é um motor de reação, ou seja, impulsiona matéria e, que por
reação, é impulsionado. A roda de reação é uma roda que gira mantendo a orientação do
satélite (mesmo principio que faz o pião ficar em pé). A bobina magnética gera um campo
magnético fazendo o satélite mudar a orientação ou sua rotação.

O satélite pode ser caracterizado pela órbita em que será lançado, a sua
forma de estabilização, a massa, a potência elétrica, a vida útil, a atitude e a confiabilidade.

A órbita do satélite pode ser equatorial (gira em torno da Terra na linha do


Equador), polar (gira de um polo ao outro) e inclinada (intermediária). Em relação à altura,
quanto mais alta, mais demorada é a volta em torno da Terra; quando a volta demora 24
horas, é chamada órbita geoestacionária. Ainda, a órbita pode ser circular (excentricidade
nula) ou elíptica (excentricidade maior que zero).

A massa é medida em quilogramas. A potência elétrica é fornecida em watts.


A vida útil é o tempo esperado que o satélite funcione definido no projeto. A atitude indica
o apontamento do satélite no espaço. A confiabilidade é a probabilidade de que o satélite
não falhe durante a sua vida útil.

O satélite é composto de uma plataforma e da carga útil. A Plataforma é


composta de telecomunicações de serviço, suprimento de energia, estrutura mecânica,
controle térmico, supervisão de bordo e controle de atitude e órbita [1]. A Figura 1.1 mostra
o Diagrama de Blocos de um Satélite com Computadores de Bordo.

A impossibilidade de efetuar reparos de satélites artificiais em órbita, as


condições hostis do lançamento (a vibração e a aceleração) e do espaço (o vácuo, a radiação
e os ciclos térmicos provocados pelo sol e pela sombra da Terra) requerem técnicas
especiais. O uso de componentes eletrônicos com baixa taxa de falha contribui para a
confiabilidade do sistema. Quando os requisitos de confiabilidades de uma missão espacial
não são atingidos, é necessário o uso de técnicas de tolerância a falhas[2]. A tolerância a
falhas está intimamente relacionada ao uso de redundância, que por sua vez está associado
ao uso de múltiplos componentes de software e hardware[3].

6
Satélite

Antena sinais de
tele metria
Computador Computador
Telecomunicações de de Controle
Bordo de Atit/Orb

comandos liga/desl comandos liga/desl atuadores

Carga Suprimento
Útil de
Energia

Figura 1.1 Diagrama de Blocos de um Satélite

A disponibilidade atual de microprocessadores mais poderosos e confiáveis


permite o uso de processadores redundantes. Por exemplo, o Space Shuttle utiliza cinco
computadores de bordo. Quatro deles compõem o sistema de redundância quádrupla e
desempenham todas as operações de bordo e o quinto funciona como reserva [2].

O projeto de satélites tem sido afetado pelos avanços tecnológicos, tais como
a maior integração nos circuitos integrados, a redução no consumo de energia, a maior
eficiência das células solares e baterias e uso do GPS como "sensor" de atitude [3].

Reduzir os custos torna-se uma tarefa obrigatória no novo cenário mundial.


Para isso, deve-se implementar o reuso de componentes de software e hardware. E para
desenvolver novos componentes deve-se utilizar sistemas computacionais de
desenvolvimento com facilidade que implemente verificação e testes automaticamente[3].

7
2 - DEFINIÇÃO DO PORTE

A definição do porte de um satélite mais aceita pelos pesquisadores,


relacionando peso e complexidade, segue a Tabela 2.1 [3].

TABELA 2.1 - DEFINIÇÃO DO PORTE

Classificação Peso complexidade

Nanosatélite <= 5 Kg

Microsatélite 5-50 Kg

Satélite Pequeno 50-500 Kg média

Satélite Médio 100-700 Kg alta

Satélite grande 500-1000 Kg alta

Os nanossatélites e microssatélites são, em geral, utilizados para testar novas


tecnologias espaciais e constituir constelações de satélites (dispostos em uma ordem no
espaço compondo uma "constelação"). Geralmente, são lançados juntamente com outros
satélites com um custo pequeno[3].

Os satélites pequenos são utilizados, principalmente, para aplicações em


comunicação e sistemas em órbita de baixa altitude. É comum os satélites de médio porte
servirem à observação da Terra, aplicações em comunicação e sistemas em órbita de alta
altitude. Já os satélite de grande porte encontram aplicações geoestacionárias e militares [3].

Essa classificação é devido, principalmente, à busca de redução de custos.


Além disso, é um modo de adequar a tecnologia aos diferentes tipos de aplicações
espaciais.

8
3 - SUBSISTEMAS

Um satélite é composto de diversos subsistemas. Os que compõem a


plataforma são: estrutura, telecomunicações (telemetria e telecomando), suprimento de
energia, controle térmico, supervisão de bordo e controle de atitude e órbita. Os subsistemas
que compõem a carga útil dependem da finalidade do satélite[1].

O subsistema de telecomunicações de serviço tem a função de receber e


demodular os sinais provenientes das estações terrenas (chamados de telecomandos ou
mensagens de telecomandos) e modular e transmitir as informações do satélite, em geral,
fornecidas pelo Computador de Bordo (chamadas de telemetria ou mensagens telemetria).
Os telecomandos informam o satélite que comandos devem ser executados, tais como ligar
ou desligar subsistemas, alterar a orientação do satélite e reconfigurar o computador de
bordo. Estes telecomandos podem ser executados diretamente pelo subsistema de
telecomunicações (gerar os pulsos elétricos de comandos que acionarão circuitos do
satélite) ou enviados ao Computador de Bordo (na forma de mensagens de telecomando que
serão processadas pelo Computador de Bordo)[1].

O subsistema suprimento de energia tem a função de gerar e distribuir


energia elétrica para o satélite. Em geral, este subsistema capta a energia solar, converte
essa energia luminosa em energia elétrica, utilizando-se de células solares (fixadas no
corpo do satélite ou em painéis solares que são abertos quando o satélite entra em órbita),
armazená-la em um conjunto de baterias e fornecer energia elétrica nas diversas tensões
para os demais subsistemas[1].

As funções típicas de um computador de supervisão de bordo são: adquirir


os sinais de telemetria dos diversos subsistemas, processá-los, formatá-los em mensagens e
enviá-las para o subsistema de telecomunicações; de receber as mensagens de telecomando,
decodificá-las e gerar os comandos para os diversos subsistemas; de gerenciar
acomunicação com a carga útil, enviando comandos e recebendo dados; de implementar o
controle térmico, a detecção, isolamento e recuperação de falhas[1,3].

9
O controle de atitude e órbita é constituído, em geral, de um computador,
dos sensores de atitude (sensores solares, de horizonte, giroscópio, magnetômetro e,
atualmente, o GPS) e dos atuadores (micropropulsores, rodas de reação e bobinas de torque
magnético) e tem a função de manter a atitude pré-estabelecida do satélite e executar as
manobras de mudança de órbita (quando for o caso)[1,3].

A carga útil é constituída de equipamentos (tais como câmaras imageadoras,


sensores magnéticos, detetores de radiação, retransmissores, etc.) que desempenham a
missão do satélite (científica, tecnológica, militar, comercial).

10
4 - COMPUTADORES DE BORDO

O sistema de computação de bordo é formado pelo Computador de


Supervisão de Bordo e pelo Computador de Controle de Atitude e Órbita (alguns satélites
utilizam um único computador para desempenhar estas atividades) e do Software de Bordo.

O computador, geralmente, é composto dos módulos de potência e


chaveamento, da unidade de processamento, da memória, das interfaces de entradas e saídas
analógica, digital, termistor e serial[1].

Devido à complexidade das tarefas a serem executadas pelos computadores e


da susceptibilidade dos circuitos eletrônicos a erros provocados pela radiação presente no
espaço, um cuidado especial deve ser tomado na escolha de processadores e da arquitetura.

As arquiteturas devem propor redundâncias, dependentes dos requisitos de


confiabilidade e da missão[3]. Normalmente, os módulos são duplicados e as unidades
reservas podem ou não permanecerem energizadas. A memória principal têm um circuito
para detecção de erros simples (um erro na palavra da memória) e duplos e corrigir erros
simples[1].

Os microprocessadores utilizados na área espacial para implementar a


unidade de processamento são, entre outros: 80C86, MAS 281, MA 31750,
AD 21020 DSP, SPARC e Transputer[3]. O 80C86 é o mesmo tipo de microprocessador
usados nos populares computadores pessoais similares ao IBM-PC. O SPARC é um
microprocessador RISC, ou seja, com um número reduzido de instruções e grande
velocidade de processamento.

O transputer é um microprocessador que tem quatro canais de comunicação


serial de alta velocidade (10 Mbps) e facilidades que permitem o uso em processamento
paralelo e concorrente (com vários transputers formando uma rede). Essas facilidades
incluem o suporte para comunicação entre processadores, escalonamento e gerenciamento
dos processos e relógio. A linguagem Occam é uma linguagem de alto nível e provê o
melhor desempenho no uso das características especiais do transputer [2].

11
4.1 - Computador de Supervisão de Bordo

O Computador de Supervisão de Bordo desenvolvido para o Satélite de


Sensoriamento Remoto [1] é constituído de Módulo de Processamento (Unidades principais
e reservas), Módulo de Potência e Chaveamento, Módulo de Memória, Módulo de
Telecomando e Telemetria, Módulo de Pulsos Liga e Desliga, e Módulo de Aquisição de
Dados.

Os módulos são redundantes e ligados à Unidade de Processamento através


de dois barramentos internos, um para cada unidade. Na falha de uma unidade, a outra é
ativada. A unidade reserva pode estar desligada. No caso de falha da unidade principal,
cabe ao Módulo de Potência e Chaveamento ligar a reserva e desligar a principal. Os
circuitos são projetados de forma que a parte desligada não influencie a parte ligada e que o
número de falhas simples seja o mínimo possível. A Figura 4.1 mostra o Diagrama do
Computador de Supervisão de Bordo [1].

A unidade de processamento contém o microprocessador, o oscilador e os


canais seriais.

O Módulo de Memória contém memórias PROM (memória apenas de


leitura) e RAM (memória de leitura), para a execução de programas e armazenamento de
dados. O software é armazenado em PROM e, depois de iniciar o sistema, é executada em
RAM, de forma a permitir reprogramação em vôo[1,2,3].

O Módulo de Telecomando e Telemetria é redundante sendo constituído de


pelo menos dois circuitos de recepção de mensagens telecomando e dois circuitos para
gerar as mensagens de telemetria. Os canais principais são isolados dos reservas de modo
que um não interfira no outro [1].

12
Tensão

Unidade Memória Unidade Memória


Chaveamento Processam Unidade Processam Unidade
Principal Principal Reserva Reserva
Barramento Principal

Barramento Reserva

Pulsos Aquisição Aquisição


Telecomando
Liga de de
Telemetria
Desliga Dados Dados

.. .. ..

Figura 4.1 - Diagrama do Computador de Supervisão de Bordo

O Módulo de Pulsos Liga e Desliga contém circuitos para gerar vários


pulsos que são utilizados para ligar ou desligar os equipamentos a bordo. Os circuitos
também são redundantes e os principais são isolados dos reservas [1].

O Módulo de Aquisição de Dados tem circuitos redundantes para aquisição


de sinais analógicos de telemetria. Os circuitos convertem os sinais analógicos em palavras
digitais. Os circuitos principais são isolados dos reservas [1].

Um circuito para detecção de erros simples e duplos e correção de erros


simples é utilizado para a proteção da memória RAM contra os erros causados
principalmente pela radiação presente no espaço [1,3].

13
4.2 - Computador de Controle de Atitude e Órbita [1]

O Computador de Controle de Atitude e Órbita tem a função de adquirir os


sinais dos diversos sensores de atitude, processá-los segundo as leis de controle pré-
estabelecidas e ativar os atuadores para realizarem as correções necessárias na atitude do
satélite. Também realiza, sob controle de solo, as manobras necessárias para corrigir a
órbita do satélite.

A arquitetura é similar ao Computador de Supervisão de Bordo. O


Computador de Controle de Atitude e Órbita é constituído de Módulo de Processamento
(unidades principais e reservas), Módulo de Potência e Chaveamento, Módulo de Memória,
Módulo de Pulsos Liga e Desliga, Módulo de Entrada e Saída de Dados Seriais, Módulo de
Controle dos Micropropulsores e Módulo de Emergência.

O Módulo de Entrada e Saída de Dados Seriais envia os comandos


serialmente para os atuadores e recebe as telemetrias serialmente dos sensores de atitude. O
circuito é redundante e cada canal serial principal é isolado do reserva.

O Módulo de Controle dos Micropropulsores gera os pulsos para controlar o


tempo de atuação dos micropropulsores. Seu circuito é redundante e isolado.

O Módulo de Emergência, quando existente no satélite, tem a função de


apontar os painéis solares para o sol, quando ativado. Este módulo só é ativado quando o
Computador de Controle de Atitude e Órbita falha.

14
5 - SOFTWARE DE BORDO

Em geral, o Software de Bordo é constituído de um Sistema Operacional e


dos Programas Aplicativos. O Sistema Operacional é um conjunto de programas que
padronizam e facilitam o acesso às interfaces de hardware e implementa um protocolo de
comunicação e sincronização entre os processos (programas em execução no sistema) [3].

Os Programas Aplicativos são os que desempenham as funções de


processamento de dados de bordo, formatação dos dados em mensagens de telemetria;
recepção, análise e execução das mensagens de telecomando; comunicação com a carga
útil; controle térmico; controle de atitude e órbita; detecção e correção de falhas de software
e hardware [1,3]. A Figura 5.1 apresenta a Arquitetura do Software de Bordo.

Programas
Aplicativos

Sistema
Operacional

Hardware

Figura 5.1 - Arquitetura do Software de Bordo

15
5.1 - Sistema Operacional (SO)

O Sistema Operacional provê um ambiente para execução. Para isso, é


composto de um conjunto de programas que implementam serviços que facilitam a
execução de programas, operações de entrada e saída, gerenciamento de dados, detecção de
erros. Entre esses serviços estão o controle e o tratamento de interrupções, entrada e saída
de dados analógicos e digitais, relógio, cão-de-guarda.

A interrupção do relógio também tem a função de escalonar os processos


(programas aplicativos). É o responsável pela padronização de mensagens e pelo protocolo
que implementa a troca de dados e a sincronização entre os processos.

O Sistema Operacional implementa uma tabela que permite aos processos


serem executados de um modo eficiente dentro computador. Para isso, os processos são
caracterizados e colocados em um dos cinco possíveis estados de execução[1]:

- Executando: está sendo executado pela unidade de processamento;

- Pronto: aguardando para ser executado;

- Bloqueado: aguardando uma mensagem;

- Suspenso: aguardando o tempo de execução;

- Desativado: fora de operação.

No Computador do Satélite de Sensoriamento Remoto[1] o Sistema


Operacional é executado a cada 200 ms (Base de Tempo) por uma interrupção de hardware.
O SO verifica se o programa que estava sendo executado não excedeu o tempo máximo
permitido. Verifica ainda se algum processo na fila de suspenso atingiu o tempo que deve
ser executado. O SO também é executado quando um processo termina sua execução, ou
quando o processo em execução envia uma mensagem para um outro processo ou solicita
uma operação de aquisição ou transmissão de dado.

No computador de bordo do experimento a ser enviado a Marte para estudar


a atmosfera e a ionosfera[2] daquele planeta, o programa é organizado como um conjunto
de processos sendo executados concorrentemente pelo transputer, em diferentes níveis de

16
prioridade. O Transputer é programado para responder a erros de tal forma que um processo
errante será parado. Tarefas críticas podem ser replicadas e executadas concorrentementes e
ter seus resultados comparados em um esforço para detectar e recuperar de erros locais.
Devido aos requisitos de amostragem de dados do instrumento, o programa de aquisição é
executado em alto nível de prioridade.

5.2 - Programas Aplicativos

Os Programas Aplicativos desempenham as funções de processamento de


telemetria e telecomando, housekeeping, diagnose, determinação e controle da atitude e
gerenciamento da memória[3]. A Figura 5.1 apresenta o Diagrama de Blocos dos
Programas Aplicativos e o fluxo de mensagens.

Operação do Satélite

Telecomando Telemetria

Housekeeping Carga
Útil

Gerencia
Diagnose
Memória

Controle
Atitude
Órbita Aquisição
Dados

Figura 5.1 - Diagrama de Blocos dos Programas Aplicativos e fluxo de mensagens

17
O processamento de telecomandos é implementado pela aquisição de uma
mensagem de telecomando do módulo de comunicação, decodificação, validação e
distribuição dos telecomandos. O telecomando tem dois modos de execução: direto ou
destinado ao computador de bordo. O software provê capacidade para executar os
telecomandos destinados ao computador de bordo em tempo real (imediatamente) ou
temporizado (com atraso programável) [3].

O processamento de telemetria é responsável pela aquisição de dados de


telemetria adquirida pelo Módulo de Aquisição, formatação e envio das mensagens de
telemetria para o transmissor [3].

O housekeeping é implementado pela aquisição de dados de eventos e erros


que ocorrem no sistema e são gerados pelos demais processos [3].

A diagnose verifica periodicamente o funcionamento dos subsistemas,


circuitos eletrônicos, instrumentos e sensores de atitude e toma ações corretivas, quando
possível [3].

A determinação e controle da atitude é implementada pela aquisição de


dados dos sensores de atitude, determinação da atitude e, se necessário, controle (atuação)
para corrigir desvios de atitude ou órbita. O auxílio de solo pode ser utilizado para
determinar a atitude ou a órbita e também o controle que deve ser implementado [3].

O gerenciamento da memória controla o uso da memória destinada ao


armazenamento de dados. Executa a inicialização das área de memória, o endereçamento da
área para o armazenamento de dados, endereçamento da área para o fornecimento de dados
e verificação periódica da integridade da memória e eventuais correções [3].

18
6 - TOLERÂNCIA A FALHAS

Os mecanismos de tolerância a falhas são organizados em três fases:


detecção de erro, diagnose e recuperação. Alguns mecanismos são totalmente
implementados em hardware, outros em software, contudo a maioria deles utiliza uma
combinação entre hardware e software. Como nos satélites de órbita baixa o tempo de
visada com a estação terrena é curto, muitas vezes não é possível esperar uma troca de
mensagem com o segmento solo para se estabelecer um esquema de recuperação. Portanto,
grande parte dos mecanismos são implementados para operar de forma autônoma sem
intervenção de centro de controle do satélite[1].

As principais técnicas de detecção de erros que são implementadas são [1]:

- codificação de palavras ou mensagens a serem transferidas, e verificação das palavras


ou mensagens recebidas;

- atuação e verificação da resposta;

- comparação do resultado.

Alguns mecanismos de detecção de erro atuam concomitantemente com a


operação; outros logo após a operação e alguns fora de operação. Os mecanismos de
detecção são organizados nos seguintes níveis: de circuito, de sistema operacional e de
programa aplicativo [1].

O principal mecanismo de detecção de erro a nível de circuito é o cão-de-


guarda. Este mecanismo detecta erros causados por três fatores [1]:

- um defeito grave no circuito do computador que o impeça de executar programas;

- Um defeito no projeto do programa colocando o sistema em "loop", ou gerando um


desvio não esperado;

- um defeito transitório em um circuito causando um desvio não programado na


execução do programa.

19
A ocorrência de um defeito grave deve causar o desligamento da unidade
ativando sua substituta. Os demais defeitos devem ativar o programa de diagnose [1].

6.1 - Cão-De-Guarda

O cão-de-guarda é constituído por um contador que deve ser zerado em certo


tempo. Caso o contador não seja zerado, o contador gera uma interrupção que ativa a rotina
de diagnose. Caso o sistema não consiga se recuperar do erro, o cão-de-guarda leva o
computador para o estado de "reset". O cão-de-guarda também indica a falha ocorrida para
que o computador seja desligado e o reserva assuma o controle, no caso de falha
permanente[1].

6.2 - Detecção E Correção De Erros

A memória do tipo RAM é o circuito do computador mais susceptível às


radiações cósmicas. Radiações de alta energia podem causar a troca de estado das células da
RAM (de 0 para 1 e vice-versa). Por este motivo, é implementado um circuito de detecção e
correção de erros simples e detecção de erros duplos. Este circuito requer o acréscimo de
bits de paridade [1].

O mecanismo implementado pelo circuito consiste em gerar e armazenar na


RAM os bits de paridade, segundo o código Hamming, toda vez que uma palavra é escrita
na memória. Ao se ler uma palavra da RAM, o circuito calcula novamente os bits de
paridade e compara-os com os bits de paridade lidos da RAM. Caso seja detectado um erro
simples (um erro na palavra), o circuito corrige este erro, incrementa o contador de erro
simples. A palavra corrigida é armazenada novamente na RAM e enviada para o
microprocessador. No caso de erro duplos e erros múltiplos que não geram palavras com o
código de Hamming correto, um pedido de interrupção é gerado para ativar a rotina de
diagnose [1].

20
As técnicas de detecção de erro a nível de sistema operacional podem ser
agrupadas em duas classes[1]:

- Verificação de parâmetros operacionais;

- Verificação dos dados transmitidos ou recebidos pelas rotinas de entrada e saída.

Na primeira classe são verificados os seguintes parâmetros:

- tempo de execução de um processo;

- endereço das mensagens enviadas pelos processos;

- número máximo de mensagens na fila de entrada de cada processo;

- número de "buffers" livres.

A detecção de erro a nível de programa aplicativo é implementada pelos


seguintes mecanismos [1]:

- verificação da consistência dos dados calculados ou lidos dos subsistemas do satélite;

- verificação da palavra de cheque das mensagens recebidas e sua origem;

- verificação de tempo de recebimento das mensagens;

- execução de programa de testes.

O programa de teste é projetado para ser executado periodicamente. Sua


principal função é testar a memória principal e o microprocessador [1].

O teste do microprocessador consiste em executar uma rotina que exercita,


ao máximo, os circuitos da unidade processadora, principalmente o microprocessador [1].

O teste da memória principal está dividida em três partes. A primeira parte


consiste em ler todos os endereços da memória RAM. Caso exista algum erro gerado por
fenômeno transitório, ele será corrigido automaticamente. O programa deve ler novamente
o endereço para verificar se o erro foi corrigido, se não foi, o erro é considerado permanente
e um relato é gerado [1].

21
A segunda parte do teste da RAM consiste em escrever e em seguida ler
palavras que exercitam todos os seus bits em todas as posições da RAM. Esta rotina visa
detectar erros permanentes na RAM.

A terceira parte consiste em testar a PROM, verificando os "checksum" [1].

A fase de diagnose tem a função de localizar o defeito que ocasionou o erro


e avaliar os danos causados na estrutura de dados [1].

Devido à complexidade dos circuitos e à diversidade dos possíveis defeitos,


a diagnose deve se limitar a algumas classes de erros [1].

O programa de diagnose é constituído por um conjunto de rotinas, uma para


cada classe de erro. Algumas rotinas são chamadas através de interrupção, como cão-de-
guarda e erro duplo, e outras pelas rotinas de entrada e saída do Sistema Operacional. Essas
rotinas indicam o circuito com defeito [1].

Dependendo do procedimento pré-estabelecido para cada classe de erro, o


programa de diagnose realiza uma das seguintes ações [1]:

- gera um relato de erro e retorna à operação normal;

- gera um relato de erro e repete a última operação;

- escreve um relato de erro na área não afetada pelo início do sistema após um "reset",
envia um relato de erro para a outra unidade e deixa o cão-de-guarda provocar um
"reset" no processador.

- envia um relato de erro para a outra unidade e deixa o cão-de-guarda provocar o


chaveamento para a unidade reserva.

6.3 - Confiabilidade Do Sistema

Todo sistema redundante contém algum tipo de chaveamento ou


mascaramento através do qual módulos em falha são desconectados ou são mascarados.

22
Exemplos típicos são os comparadores/multiplexadores em um sistema duplex (dois
computadores redundantes) e votadores/comparadores em sistemas TMR (Triple Modular
Redundancy, três computadores redundantes). Estes elementos devem ser implementados
mantendo um grau de complexidade o menor possível e ainda manter uma baixa taxa de
falhas (em comparação com a taxa de falhas do sistema como um todo), uma vez que eles
representam um ponto de falha crítico, ou seja, se falharem, todo o sistema falha [2].

O estudo da confiabilidade de sistemas redundantes duplex e TMR, quando


comparada com aquela dos sistemas sem redundância, mostra que a confiabilidade aumenta
com a introdução de unidades redundantes, sendo encontrada no sistema TMR a maior
confiabilidade. Também o tempo entre falhas aumenta com a introdução de unidades
redundantes, quanto mais unidades, mais tempo demora para o sistema falhar [2].

6.4 - Testes

Atualmente, um enfoque modular também é empregado na fase de


integração e testes visando reduzir o tempo de desenvolvimento. As ferramentas utilizadas
para atingir este objetivo são [3]:

- os testes elétricos são feitos com um alto nível de automação pelo uso de sistemas
semi-automáticos;

- o ambiente de desenvolvimento provê uma grande capacidade de integração entre


usuário e sistema;

23
- a capacidade de diagnose de falhas embutida no software de bordo e o sistema de
testes são usadas para apoiar e reduzir tanto quanto possível os problemas que
aparecem nas unidades de processamento;

- concepção modular aplicado nas unidades de processamento.

24
7 - Conclusão

O Software do Computador de Bordo deve desempenhar suas funções de


acordo com o modo de operação do satélite. O modo de operação caracteriza o momento
em que o satélite se encontra durante o lançamento. O modo é classificado como Pré-
Lançamento, Início, Aquisição de Atitude, e Operação Normal.

Durante o modo de Pré-Lançamento, o computador pode estar desligado.


Durante o lançamento até a separação, a energia do satélite é fornecida pela bateria,
enquanto as células solares não forem iluminadas pelo sol.

No modo de Início, o computador de bordo é ligado (se estiver desligado no


mode de Pré-Lançamento), uma diagnose rápida deve ser executada. Se for detectada uma
falha, a unidade reserva é ligada e a principal desligada. Os painéis solares devem ser
abertos (se for o caso) e caso não sejam, manobras devem ser feitas para tentar corrigir o
defeito.

No modo de Aquisição de Atitude, o computador de bordo adquire dados


dos sensores de atitude, calcula a atitude e efetua o controle para atingir a atitude e a
estabilidade esperadas.

Ao entrar no modo de Operação Normal, o computador liga os equipamentos


necessários para o funcionamento normal e executa uma diagnose exaustiva das atividades
do satélite e da carga útil. Cada equipamento é ligado e colocado em operação.

Em Operação Normal, a radiação pode provocar erros no computador. A


correção desses erros é uma tarefa necessária e nem sempre muito simples. Inicialmente, o
sistema de hardware executou essa tarefa com maior predominância mas, atualmente, o
software tem assumido uma responsabilidade crescente na detecção e correção de erros.

A sincronização e comunicação entre processos exige uma atenção especial


para erros de dead-lock, ou seja, um processo fica esperando indefinidamente uma
mensagem de outro processo. Isso ocorre por erros de programação ou durante a
substituição de um processo por outro. O software deve ser provido contra tais erros

25
detectando pela diagnose ou time-out (tempo máximo de espera) e reiniciando o processo e
colocando-o em um estado conhecido.

O avanço tecnológico nos microprocessadores e memórias permitem a


utilização do espaço para aplicações cada vez mais complexas. Essa rapidez de renovação
exige que os softwares de bordo tornem-se cada vez maiores e mais complexos e devam ser
desenvolvidos em um tempo cada vez menor. Isso torna obrigatório o uso de novas técnicas
que enfoquem o reaproveitamento de software desde a análise até o código.

Para o reaproveitamento de software deve-se modificar a visão que se tem da


arquitetura do software. Desde que se reaproveite o mesmo microprocessador ou que seja
compatível, pode-se reaproveitar o Sistema Operacional. Para que isso seja possível, é
necessário que o Sistema Operacional seja implementado de tal forma que sua arquitetura
permita uma rápida substituição das partes afetadas com a mudança do hardware. Os
Programas Aplicativos tem diversas funções, tais como telemetria, telecomando e aquisição
de memória, que estão presentes em todos os satélites e compõem um nível operacional do
computador. Nesses processos pode-se identificar funções genéricas, independentes do
Sistema Operacional que podem ser programadas visando reaproveitamento futuro. Essa
separação também permite reaproveitamento no caso de mudança de Sistema Operacional,
necessitando modificar as funções que interagem com o Sistema Operacional. Para ilustrar
essa visão, é apresentado na Figura 7.1 a Arquitetura do Software de Bordo.

O Uso de redundância em software de bordo não é muito utilizado nem a


comparação de resultados de um processamento sobre os mesmos dados utilizando-se
diferentes processos. Com o aumento do processamento de dados (alguns críticos) a bordo,
esse enfoque deve crescer e merecer atenção especial.

26
Programas Aplicativos

Telecomando
Aquisição
Telemetria de
Sistema Dados
Operacional

Diag Hardware
nose

Contr
Atitude
Órbita
Carga Útil

Figura 7.1 - Arquitetura do Software de Bordo

Conforme a situação de falha, a reconfiguração de hardware ou de software


se torna necessária, em geral, a reconfiguração implica em perda de dados ou de parte do
processamento já realizado. Nessa reconfiguração, por exemplo, poderá ser necessário
isolar um processador em falha e seus processos serem atribuidos aos outros processadores.
Uma possibilidade de implementar a reconfiguração é a de carregar software ou dados a
partir de solo e, dessa forma, corrigir ou atualizar o sistema de bordo.

Os custos para a fabricação de um satélite estão caindo progressivamente


criando uma demanda no mercado para diversas aplicações espaciais. O custo de
desenvolvimento do software deve acompanhar a queda do custo do hardware e isso só será
possível com utilização de novas técnicas de desenvolvimento.

27
Referência Bibliográfica

[1] De Paula Jr., Alderico R.; "Aspectos de Tolerância a Falhas do Sistema de Computação
do Satélite de Sensoriamento Remoto da MECB", II Simpósio de Computadores
Tolerantes a Falhas, São José dos Campos, outubro 1994.

[2] Castro, H.D.S.; Gough, M.P.; "A Fault-Tolerant Multi-Transputer System for Space
Applications", Micro-processors and Microsystems, September 1991.

[3] Adami, G.; Fossati, D.; Turri, M; "A Novel Architecture for Data Management and
Control for Small Satellite" in Advanced and Next-Generation Satellite, 25-28
Setembro 1995, Proc. SPIE, Vol. 2583, pp 528-538.

28

View publication stats

Você também pode gostar