Desenvolvimento de um VeÃculo Aéreo Não-Tripulado - LARA ...
Desenvolvimento de um VeÃculo Aéreo Não-Tripulado - LARA ...
Desenvolvimento de um VeÃculo Aéreo Não-Tripulado - LARA ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Requisição<br />
<strong>de</strong> dados<br />
Recebimento<br />
dos dados<br />
Nova requisição<br />
<strong>de</strong> dados<br />
Processador<br />
Principal<br />
Processamento<br />
Periódico<br />
t<br />
...<br />
Processador<br />
Auxiliar<br />
Organização dos<br />
dados disponíveis<br />
na memória<br />
Aquisição<br />
Periódica<br />
(Processo 1)<br />
Aquisição<br />
Periódica<br />
(Processo 2)<br />
Aquisição<br />
Periódica<br />
(Processo n)<br />
Aquisição<br />
contínua<br />
Envio <strong>de</strong> dados<br />
ao módulo auxiliar<br />
Envio <strong>de</strong> dados<br />
(Resposta a aquisição<br />
periódica - Processo 1)<br />
Módulo Auxiliar<br />
(Síncrono)<br />
Módulo Auxiliar<br />
(Assíncrono)<br />
Figura 4.2: Organização do sistema <strong>de</strong> sincronismo <strong>de</strong> dados<br />
[45], que em si foi baseado em <strong>um</strong> esqueleto <strong>de</strong> protocolo genérico muito com<strong>um</strong> em sistema <strong>de</strong><br />
comunicação serial. O protocolo em si está <strong>de</strong>scrito na Figura 4.3<br />
Hea<strong>de</strong>r<br />
1<br />
Hea<strong>de</strong>r<br />
2<br />
Tipo <strong>de</strong><br />
pacote<br />
(ID)<br />
Tamanho<br />
(n bytes)<br />
Dados<br />
(Byte 1)<br />
Dados<br />
(Byte 2)<br />
. . .<br />
Dados<br />
(Byte n)<br />
Checks<strong>um</strong><br />
Figura 4.3: Protocolo <strong>de</strong> comunicação utilizado no sistema<br />
Basicamente, o protocolo é serial, utilizando bytes como tamanho da palavra digital, a fim <strong>de</strong><br />
utilizar esse protocolo em dispositivos UART ou SPI sem modificações. Ele é composto <strong>de</strong> dois<br />
digitos únicos, chamados <strong>de</strong> hea<strong>de</strong>rs, que são utilizados para sinalizar o início <strong>de</strong> <strong>um</strong>a comunicação,<br />
seguido <strong>de</strong> <strong>um</strong> ID, que i<strong>de</strong>ntifica o tipo <strong>de</strong> pacote a ser enviado (requisição <strong>de</strong> dados, dados <strong>de</strong><br />
atuação, reset do sistema, etc.). O próximo dado é a quantida<strong>de</strong> <strong>de</strong> dados a ser enviados, seguido<br />
dos dados em si, e <strong>de</strong> <strong>um</strong> checks<strong>um</strong>, que são os bits menos significativos <strong>de</strong> todos os dados.<br />
O uso <strong>de</strong> dois hea<strong>de</strong>rs garante que o sistema <strong>de</strong>tecte <strong>de</strong> forma confiável o início <strong>de</strong> <strong>um</strong>a nova<br />
comunicação, facilitando a recuperação <strong>de</strong> eventuais erros <strong>de</strong> comunicação. O tipo <strong>de</strong> pacote e<br />
tamanho variáveis permitem a flexibilização da comunicação, enquanto que o checks<strong>um</strong> garante<br />
a integrida<strong>de</strong> dos dados. O uso <strong>de</strong>sse protocolo entre os dispositivos significa que para cada<br />
comunicação, só os hea<strong>de</strong>rs, tipos <strong>de</strong> pacotes e formas <strong>de</strong> <strong>de</strong>codificação precisam ser <strong>de</strong>finidas e<br />
testadas, facilitando muito o <strong>de</strong>senvolvimento.<br />
A <strong>de</strong>codificação foi implementada utilizando <strong>um</strong>a máquina <strong>de</strong> estados. Uma versão simplificada<br />
<strong>de</strong>ssa máquina está ilustrada na Figura 4.4. A versão completa inclui algoritmos <strong>de</strong> validação dos<br />
IDs e timeouts.<br />
Durante os testes, esse protocolo mostrou taxas <strong>de</strong> erro <strong>de</strong> 0,005% em 3 horas <strong>de</strong> comunicação<br />
73