Resposta revisada
O quadro ARINC 429 é composto de 4 bytes (32 bits numerados pela convenção 1 a 32 da direita para a esquerda). Os bits 11 a 29, que são a carga útil do quadro, podem representar dados usando formatos diferentes, por ex. dados binários ou BCD. O rótulo é usado para indicar o conteúdo do campo de dados e qual formato é usado e é necessário converter os bits de dados em informações úteis.
ARINC 429 frame usado no formato BCD ( source )
A etiqueta é normalmente escrita como uma quantidade octal (em vez de decimal ou hexadecimal), e. 01010110
2 será escrito como 126 8 ( 01 010 110
) em vez de 56 16 ( 0101 0110
) ou 86 10 .
A forma como os bits são numerados de alguma forma torna o rótulo o "byte menos significativo" e o bit 1 o "bit menos significativo". No entanto:
-
O formato acima é para nomear e ordenar informações, mas não informa como os bits são realmente armazenados na memória dos componentes.
-
Na engenharia digital, os bits geralmente são numerados de 0 a 31, já que o número realmente indica o peso do bit: 0 é 2 0 (1), 4 é 2 4 (16). Nesta convenção, o bit 0 é de fato menos significativo que o bit 31.
O barramento de dados ARINC 429 é composto de 2 fios e a referência de terra. Quando um quadro ARINC é transmitido no barramento, ele deve ser serializado, o que significa enviar bits um de cada vez. A ordem de transmissão é:
- O byte de rótulo transmitido primeiro, "MSB" primeiro: 8-7-6-5-4-3-2-1.
- Os outros bits são transmitidos primeiro "LSB": 9-10-11 ... 30-31-32.
Então, voltando à sua pergunta, por que não usar a ordem da esquerda para a direita para o quadro inteiro? Ou pelo menos a ordem da esquerda para a direita para o rótulo, se ele for enviado primeiro?
Em Wikipédia :
Like CAN Protocol Identifier Fields, ARINC 429 label fields are transmitted most significant bit first. [...] This notional reversal also reflects historical implementation details.
Portanto, vamos supor que não há razão para inverter os bits de rótulo, além das implementações históricas que desejavam imitar o comportamento do CAN. Na versão francesa deste artigo da Wikipédia, afirma-se que essa inversão ajudou a ler o rótulo ao olhar para um quadro usando um osciloscópio. O MSB que chega primeiro também aparece à esquerda do display (o sinal em um osciloscópio geralmente entra à direita da tela e rola para o lado esquerdo como uma função do tempo):
ARINC 429 bit stream em um datascope ( source )
Estou um pouco perplexo com essa explicação, pois os engenheiros que trabalham com representações binárias são usados para lê-los em ambas as direções com bastante facilidade após um curto período de tempo.
Ainda de acordo com a Wikipedia, o hardware usado para serializar e desserializar a palavra ARINC era realmente insensível à ordem dos bits da etiqueta:
ARINC 429 transceivers have been implemented with 32-bit shift registers. Parallel access to that shift register is often octet-oriented. As such, the bit order of the octet access is the bit order of the accessing device, which is usually LSB 0; and serial transmission is arranged such that the least significant bit of each octet is transmitted first. So, in common practice, the accessing device wrote or read a "reversed label" (for example, to transmit a Label 2138 [or 8B16] the bit-reversed value D116 is written to the Label octet). Newer or "enhanced" transceivers may be configured to reverse the Label field bit order "in hardware."
Sobre paridade ímpar
É usual na comunicação serial digital usar as mudanças no valor dos dados (0 a 1 ou 1 a 0) para derivar uma pista de cronometragem a fim de garantir que o receptor faça a amostragem da tensão da linha no momento certo. Isso é menos caro do que transmitir o sinal do relógio em um fio separado. Como cada bit dura o mesmo tempo, o receptor usa um relógio local que está aproximadamente em sincronia com o relógio de transmissão. Para realmente manter a sincronização a longo prazo, o receptor usa as bordas de subida e descida do sinal para detectar bordas de bit e alinhar fase com seu relógio.
Ressincronização do clock do receptor nas bordas frontal e traseira do sinal
Isso funciona bem se o atraso entre as bordas for curto. Isso significa evitar o envio de séries longas de 0 ou 1. O bit de paridade pode ajudar. Para dados contendo apenas 0 bits (ou 1 bits), o bit de paridade ímpar será 1 (ou 0), evitando que surjam longos fluxos de edgeless.
Em alguns usos de ARINC 429, o bit de paridade não é transmitido e é usado para dados, mas, no entanto, parece supérfluo para sincronização, já que o protocolo de link é de 3 níveis com retorno a zero, assegurando duas arestas para cada bit de dados.
Retornar para código zero ( source )