Loading AI tools
Da Wikipédia, a enciclopédia livre
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.
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.
Início de seqüência | Comprimento de Payload | Payload | Checksum | Fim de seqüência |
---|---|---|---|---|
0xA0, 0xA2 | Dois bytes (15 bits) | Acima de 2¹º - 1 (<1023) | Dois bytes (15 bits) | 0xB0, 0xB3 |
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.
O tamanho do payload, payload length, é transmitido na ordem do maior byte primeiro seguido pelo menor byte.
Byte alto | Byte baixo |
---|---|
< 0x7F | Qualquer valor |
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.
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).
O checksum é transmitido na ordem do byte mais alto primeiro seguido pelo byte mais baixo. Esta ordem é chamada maior fim(big-endian)
Byte alto | Byte baixo |
---|---|
< 0x7F | Qualquer valor |
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).
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.
Hex | Decimal | Nome | Descrição |
---|---|---|---|
35 | 53 | Gerenciamento avançado de energia(Advanced Power Management) | Esquema de gerenciamento de energia para o SiRFLoc e SiRFXTrac |
80 | 128 | Inicializar a fonte de dados(Initialize Data Source) | Inicialização do receptor e parâmetros associados |
81 | 129 | Mudar para o protocolo NMEA | Habilita mensagens, taxa de saída e taxa de transferência(bauds) do protocolo NMEA |
82 | 130 | Define o Almanaque - Set Almanac - (upload) | Envia um arquivo de almanaque existente para o receptor |
83 | 131 | Manipula Dados de Lixo Formatados (Handle Formatted Dump Data) | Envia dados formatados |
84 | 132 | Apuração da versão do software(Poll Software Version) | Apura a versão do software carregado |
85 | 133 | Controle da Fonte DGPS | Correção da fonte DGPS e do sinal de informação do receptor |
86 | 134 | Configura(set) a Porta Serial Binária | Taxa em bauds, bits de dados, bits de parada e paridade |
88 | 136 | Controle de modo | Configuração do modo de Navegação |
89 | 137 | Controlde de máscara DOP | Seleção de máscara DOP e parâmetros |
8A | 138 | Modo DGPS | Seleção do modo DGPS e do valor de timeout |
8B | 139 | Máscara de elevação | Rastreamento de elevação de mascareamento de navegação(Navigation masks) |
8C | 140 | Máscara de força(Power mask) | Rastreamento de força e mascareamento de navegação |
8F | 143 | Navegação estática | Configuração para operação estática |
90 | 144 | Apuração do estado de clock | Apura o estado de clock |
91 | 145 | Habilita(set) a porta serial DGPS | Taxa em bauds da porta DGPS, bits de dados, bits de parada e paridade |
92 | 146 | Apuração de almanaque | Apura dados de almanaque |
93 | 147 | Apuração de efeméride | Apura dados de efeméride |
94 | 148 | Atualização rápida(Flash Update) | Atualiza o software rapidamente |
95 | 149 | Habilita(set) efeméride(upload) | Envia uma efeméride existente ao receptor |
96 | 150 | Muda o modo de operação | Seleção do modo de teste, ID do SV(software version?) e período |
97 | 151 | Habilita parâmetros TricklePower | Empurra para o modo fixo, duty cycle e sobre tempo |
98 | 152 | Apuração dos Parâmetros de Navegação | Apura os atuais parâmetros de navegação |
A5 | 165 | Habilita(set) a configuração UART | Seleção de protocolo, taxa de transferência em bauds, bits de dados, bits de parada e paridade |
A6 | 166 | Habilita Taxa de Mensagem | Taxa de saída de mensagem Binária SiRF |
A7 | 167 | Habilita parâmetros de aquisição de baixa potência(Low Power Acquisition Parameters) | Parâmetros de configuração de baixa potência |
A8 | 168 | Apuração de Parâmetros de comando | Apuração de parâmetros: |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.