26.12.2014 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!