Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Protocolo para Telemetria com RS232, Notas de estudo de Engenharia Informática

Protocolo de comunicação RS 232 para telemetria.

Tipologia: Notas de estudo

2013

Compartilhado em 21/01/2013

alan-araujo-4
alan-araujo-4 🇧🇷

4.7

(14)

15 documentos

1 / 34

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
PROTOCOLO DE COMUNICAÇÃO PARA TELEMETRIA
VERSÃO 2.0.2
ALCEU SCHNEIKER JUNIOR
ANTONIO ALAN RODRIGUES DE ARAÚJO
MARDSON FREITAS DE AMORIM
RAFAEL GONÇALVES DOS SANTOS DE MELLO
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22

Pré-visualização parcial do texto

Baixe Protocolo para Telemetria com RS232 e outras Notas de estudo em PDF para Engenharia Informática, somente na Docsity!

VERSÃO 2.0.

ALCEU SCHNEIKER JUNIOR ANTONIO ALAN RODRIGUES DE ARAÚJO MARDSON FREITAS DE AMORIM RAFAEL GONÇALVES DOS SANTOS DE MELLO

AUTORES : ALCEU SCHNEIKER JUNIOR, ANTONIO ALAN RODRIGUES DE ARAÚJO, MARDSON FREITAS DE AMORIM, RAFAEL GONÇALVES DOS SANTOS DE MELLO. VERSÃO : 2.0.

i i

SUMÁRIO

1. DEFINIÇÕES

1.1. Protocolo ELETREZ

1.2. MASTER

1.3. MASTER VIRTUAL

1.4. PERIFÉRICO (SLAVE)

1.5. DISPOSITIVO

2. FORMATO DO PACOTE

3. DEFINIÇÕES E TAMANHOS DOS CAMPOS DO PACOTE

4. CAMPO PAD E BYTES DE ENCHIMENTO

5. TABELA DE INSTRUÇÕES

AUTORES : ALCEU SCHNEIKER JUNIOR, ANTONIO ALAN RODRIGUES DE ARAÚJO, MARDSON FREITAS DE AMORIM, RAFAEL GONÇALVES DOS SANTOS DE MELLO. VERSÃO : 2.0.

1. DEFINIÇÕES

1.1. Protocolo ELETREZ

Este protocolo de comunicação visa a necessidade de produtos como esse para tratamento de pequenos
sistemas embarcados.

Resumido em um pacote de 12bytes, o protocolo ELETREZ faz uso de buffer reduzido visando uma troca

de informações mais rápida.
Os principais atores desta documentação são o MASTER (1.2), MASTER Virtual (1.3) e o periférico (1.4)

1.2. MASTER

Terminal responsável pelo gerenciamento e processamento das informações do protocolo. É aqui que são
analisados as informações que chegam do terminal SLAVE (1.3). Os códigos que representam MASTER são
de 251 a 255 (inclusos).

1.3. MASTER VIRTUAL

Simula o MASTER através de um código para possibilitar o roteamento da informação, ou seja, um
periférico só atende as especificações vinda no pacote se ele vier de um MASTER. O código que representa
o MASTER Virtual é 250.

1.4. PERIFÉRICO (SLAVE)

Terminal controlado diretamente pelo MASTER. Pode ser um micro controlador. Os códigos de 1 a

249 representam os periféricos. Código 0 (zero) representa endereçobroadcast.

1.5. DISPOSITIVO

Objeto controlado pelo periférico. Pode ser um sensor.

AUTORES : ALCEU SCHNEIKER JUNIOR, ANTONIO ALAN RODRIGUES DE ARAÚJO, MARDSON FREITAS DE AMORIM, RAFAEL GONÇALVES DOS SANTOS DE MELLO. VERSÃO : 2.0.

4. CAMPO PAD E BYTES DE ENCHIMENTO

Os bytes de Padding (ou bytes de enchimento) permitem que o pacote sempre tenha um tamanho fixo (neste
caso, 12 bytes). Por exemplo: se o valor de N for 4, então 2 bytes de enchimento serão inseridos após a informação. Se
N for igual a 5, apenas um byte de enchimento será inserido. Se N for maior que 6, a informação será quebrada em
vários pacotes (sendo que em cada um deles, a informação será sempre de tamanho 6, exceto no último pacote, onde
poderá ocorrer enchimento). Esta técnica é atualmente usada no protocolo TCP/IP.
Os possíveis valores do campo PAD são:
 0xFF: Enchimento normal.
 0x0P: Um número de P pacotes que ainda serão enviados (fragmentos).

AUTORES : ALCEU SCHNEIKER JUNIOR, ANTONIO ALAN RODRIGUES DE ARAÚJO, MARDSON FREITAS DE AMORIM, RAFAEL GONÇALVES DOS SANTOS DE MELLO. VERSÃO : 2.0.

5. TABELA DE INSTRUÇÕES

MNEMÔNICO CÓDIGO

DECIMAL

BYTES DE DADOS DESCRIÇÃO

ENQ 5 D 0xFF 0xFF 0xFF 0xFF 0xFF

Questiona se está operacional o dispositivo D. Se D = 0, refere-se ao periférico.

ACK 6 INSTRUÇÃO 0xFF 0xFF 0xFF 0xFF 0xFF

Confirmação de instrução (valor INSTRUÇÃO) recebida.

NAK 21 ERR CÓDIGO 0xFF 0xFF 0xFF 0xFF

Ocorrência do erro (ERR) provocado pela mensagem indicada por CÓDIGO.

E1B 51 ENDEREÇO BYTE 0xFF 0xFF 0xFF 0xFF

Escreve um byte na memória no endereço especificado.

E1W 52 ENDEREÇO BYTE BYTE 0xFF 0xFF 0xFF

Escreve uma word (dois bytes) no endereço especificado.

E2W 53 ENDEREÇO (^) BYTE BYTE BYTE BYTE 0xFF

Escreve duas words (quatro bytes) no endereço especificado.

AUTORES : ALCEU SCHNEIKER JUNIOR, ANTONIO ALAN RODRIGUES DE ARAÚJO, MARDSON FREITAS DE AMORIM, RAFAEL GONÇALVES DOS SANTOS DE MELLO. VERSÃO : 2.0.

MNEMÔNICO CÓDIGO

DECIMAL

BYTES DE DADOS DESCRIÇÃO

RSP 80 C SETPOINT SETPOINT 0xFF 0xFF 0xFF

Responde o SETPOINT (referência) ) do controlador C.

ASP 81 C SETPOINT SETPOINT 0xFF 0xFF 0xFF

Altera o SETPOINT (referência) do controlador C.

RIN 82 D 0xFF 0xFF 0xFF 0xFF 0xFF

Reinicializa o dispositivo indicado por D. Se D = 0, RESET o periférico

SSP 83 C 0xFF 0xFF 0xFF 0xFF 0xFF

Solicita o SETPOINT (referência) do controlador C.

SMS 84 S 0xFF 0xFF 0xFF 0xFF 0xFF Solicita medida do sensor S

RMS 86 S MEDIDA

PARTE INTEIRA

MEDIDA

PARTE FRACIONÁRIA

0xFF 0xFF 0xFF Resposta à requisição de medida do sensor S

AUTORES : ALCEU SCHNEIKER JUNIOR, ANTONIO ALAN RODRIGUES DE ARAÚJO, MARDSON FREITAS DE AMORIM, RAFAEL GONÇALVES DOS SANTOS DE MELLO. VERSÃO : 2.0.

MNEMÔNICO CÓDIGO

DECIMAL

BYTES DE DADOS DESCRIÇÃO

TAH 101 DEST 2 DEST 3 DEST 4 DEST 5 DEST 6 0xFF

Esta instrução deve conter três pacotes. Efetua transferência Ad hoc do segundo e terceiro pacotes à sequência de periféricos indicados por IDD e mais até 5 dispositivos indicados por DEST 2 a DEST 6.

AHM 102

Meu MASTER

0xFF 0xFF 0xFF 0xFF 0xFF

Esta instrução deve conter três pacotes. Efetua transferência Ad hoc do segundo e terceiro pacotes ao MASTER do próximo destino.

AUTORES : ALCEU SCHNEIKER JUNIOR, ANTONIO ALAN RODRIGUES DE ARAÚJO, MARDSON FREITAS DE AMORIM, RAFAEL GONÇALVES DOS SANTOS DE MELLO. VERSÃO : 2.0.

7. DESCRIÇÃO DAS INSTRUÇÕES

Instrução: ENQ Código: 5
Descrição:
Este comando verifica a disponibilidade operacional do dispositivo D. Se D = 0, significa que a verificação em questão
é a do próprio periférico. Se D > 0, implica na verificação do dispositivo.
Exemplo:
O MASTER (251) deseja saber a operacionalidade do SLAVE (periférico 13). Então a mensagem que deve ser lida no
periférico é a seguinte:

SOH IDS IDD COD Datta / Padding PAD CRC

01 251 13 5 0 255 255 255 255 255 255 CRC

No entanto, digamos que agora o MASTER (251) deseja saber a operacionalidade do dispositivo (2) do mesmo
periférico (13). Então a mensagem que deve ser lida no periférico é:

SOH IDS IDD COD Datta / Padding PAD CRC

01 251 13 5 2 255 255 255 255 255 255 CRC

AUTORES : ALCEU SCHNEIKER JUNIOR, ANTONIO ALAN RODRIGUES DE ARAÚJO, MARDSON FREITAS DE AMORIM, RAFAEL GONÇALVES DOS SANTOS DE MELLO. VERSÃO : 2.0.

Instrução: ACK Código: 6
Descrição:
Esta instrução é usada para confirmação. O valor da INSTRUÇÃO indica o comando recebido.
Exemplo:
O MASTER (251) envia o comando ENQ (5) ao periférico (17) para certifica-se de sua disponibilidade. No entanto, este
SLAVE (17) estando operacional enviará o comando ACK (6) afirmando que a mensagem foi recebida. O pacote que
chega ao periférico (17) é:
Ao receber esse pacote e estando operacional, o periférico retorna ao MASTER:

SOH IDS IDD COD Datta / Padding PAD CRC 01 17 251 6 5 255 255 255 255 255 255 CRC

Instrução: NAK Código: 21
Descrição:

AUTORES : ALCEU SCHNEIKER JUNIOR, ANTONIO ALAN RODRIGUES DE ARAÚJO, MARDSON FREITAS DE AMORIM, RAFAEL GONÇALVES DOS SANTOS DE MELLO. VERSÃO : 2.0.

Exemplo:
O MASTER (252) quer escrever um byte (L) no endereço (3) do periférico (12), então segue o pacote:

SOH IDS IDD COD Datta / Padding PAD CRC

01 253 12 51 3 L 255 255 255 255 255 CRC

Instrução: E1W Código: 52
Descrição:

Comando usado para escrever umaword (dois bytes) a partir do endereço especificado no pacote.

Exemplo:

O MASTER (251) vai escrever umaword (LD) no periférico (2) a partir do endereço (11). O pacote é:

SOH IDS IDD COD Datta / Padding PAD CRC

01 251 2 52 11 L D 255 255 255 255 CRC

Instrução: E2W Código: 53
Descrição:

AUTORES : ALCEU SCHNEIKER JUNIOR, ANTONIO ALAN RODRIGUES DE ARAÚJO, MARDSON FREITAS DE AMORIM, RAFAEL GONÇALVES DOS SANTOS DE MELLO. VERSÃO : 2.0.

Comando usado para escrever duaswords (quatro bytes) a partir do endereço especificado no pacote.

Exemplo:

O MASTER (251) vai escrever duaswords (LDAE) no periférico (2) a partir do endereço (11). O pacote é:

SOH IDS IDD COD Datta / Padding PAD CRC

01 251 2 52 11 L D A E 255 255 CRC

Instrução: ENB Código: 54
Descrição:
Este comando escreve N bytes na memória no endereço especificado pelo pacote. Para N > 4, é necessário enviar mais
de um pacote. Neste caso, a partir do segundo pacote segue o código de continuidade de fragmentação de pacote (CPF
= 57). É preciso verifica o campo PAD.
Exemplo:
O MASTER (255) precisa enviar N (6) bytes ao periférico (15) a partir do endereço (11). Atenção para o campo PAD,
segue o pacote:

SOH IDS IDD COD Datta / Padding PAD CRC

AUTORES : ALCEU SCHNEIKER JUNIOR, ANTONIO ALAN RODRIGUES DE ARAÚJO, MARDSON FREITAS DE AMORIM, RAFAEL GONÇALVES DOS SANTOS DE MELLO. VERSÃO : 2.0.

Resposta à solicitação de N bytes. Se N > 6, então será preciso repassar mais de um pacote. Neste caso, a partir do
segundo pacote segue o código de continuidade de fragmentação de pacote (CPF = 57). É preciso verifica o campo
PAD.
Exemplo:
Ao solicitar N (7) bytes do exemplo anterior (LBN = 55), o MASTER (251) recebe o seguinte pacote com a resposta da
solicitação:

SOH IDS IDD COD Datta / Padding PAD CRC

01 9 251 56 E L E T R E 1 CRC

SOH IDS IDD COD Datta / Padding PAD CRC

01 9 251 57 Z 255 255 255 255 255 255 CRC

Instrução: CPF Código: 57
Descrição:

AUTORES : ALCEU SCHNEIKER JUNIOR, ANTONIO ALAN RODRIGUES DE ARAÚJO, MARDSON FREITAS DE AMORIM, RAFAEL GONÇALVES DOS SANTOS DE MELLO. VERSÃO : 2.0.

Este comando informa a continuidade de pacote fragmentado. Ao enviar cada pacote é necessário atualização do
campo PAD.
Exemplo:
O MASTER (251) deve escrever N (16) bytes na memória do periférico (11) a partir do endereço (7) através do comando
(ENB = 54). Observe que o campo PAD irá atualizar a cada pacote e que, a partir do segundo envio o código passará a
ser CPF = 57. Isso porque o pacote será desfragmentado. Seguem três pacotes:

SOH IDS IDD COD Datta / Padding PAD CRC

01 251 11 54 7 16 P R O T 2 CRC

SOH IDS IDD COD Datta / Padding PAD CRC

01 251 9 57 O C O L O E 1 CRC

SOH IDS IDD COD Datta / Padding PAD CRC

01 251 9 57 L E T R E Z 255 CRC