Top Qs
Linha do tempo
Chat
Contexto
Protocolo binário SiRF
Da Wikipédia, a enciclopédia livre
Remove ads
Protocolo binário SiRF, ou do inglês SiRF Binary protocol, é o protocolo de comunicação padrão utilizado por todas as arquiteturas dos produtos da SiRF.
Camadas do protocolo
Resumir
Perspectiva
Transporte
A camada de transporte empacota uma mensagem GPS em dois caracteres de início e dois de parada e adiciona um prefixo de 2 bytes(15 bits) e um checksum também de 2 bytes (15 bits) antes dos dois caracteres de parada. Os valores dos caracteres de início e parada e a escolha de um valor de 15 bits para o checksum e o comprimento assegura que o comprimento e o checksum da mensagem naõ podem ser confundidos com um código de início ou de parada.
Validação da mensagem
A camada de validação é a parte da camada de transporte, porém opera independentemente. A contagem de bytes refere-se à quantidade de bytes de payload. O checksum (soma de teste) é a soma do payload.
Tamanho do Payload
O tamanho do payload, payload length, é transmitido na ordem do maior byte primeiro seguido pelo menor byte.
Mesmo que o protocolo tenha um comprimento máximo de (2¹5 – 1)bytes, considerações práticas requerem que a implementação do módulo GPS SiRF limite esse valor para um número menor. Os programas de recepção SiRF(e.g., SiRFdemo) podem limitar o tamanho real para algo menor que este máximo.
Dados de Payload
Os dados de payload seguem o tamanho do payload. Ele contem o número de bytes especificados pelo tamanho do payload. O tamanho do payload pode conter qualquer valor de 8 bits.
Onde valores de múltiplos bytes estiverem nos dados de payload nem o alinhamento nem a ordem de byte são definidos como parte do transporte apesar de que os payloads SiRF irão usar a ordem do maior fim(big-endian).
Checksum
O checksum é transmitido na ordem do byte mais alto primeiro seguido pelo byte mais baixo. Esta ordem é chamada maior fim(big-endian)
O checksum é uma soma de teste de 15 bits dos bytes nos dados de payload. O seguinte pseudo-código define o algoritmo usado.
A mensagem é o array de bytes a serem enviados pela camada de transporte.
O msgLen é o número de bytes no array mensagem a ser transmitido.
Index = first
checkSum = 0
while index < msgLen
checkSum = checkSum + mensagem[Index]
checkSum = checkSum AND (2¹5 – 1).
Remove ads
Mensagens de Entrada
Há um conjunto de mensagens que podem ser recebidos por um receptor GPS SiRF, sendo que o tamanho do buffer para essas mensagens de entrada(input messages) é de 912 bytes. A tabela a seguir lista as mensagens de entrada do protocolo juntamente com seus respectivos códigos.
Remove ads
Mensagens de Saída
Referências
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads