Pergunta

Eu estou projetando software em torno de um produto de hardware existente. Eu tenho o controle total do protocolo de comunicação, mas não tenho certeza de como facilitar a detecção de dispositivo.

Um dispositivo pode ter uma variedade de configurações possíveis (isto é, taxa de transmissão, os bits de dados, bits de paridade, bits de paragem) que devem ser detectados no tempo de execução. Qual é a maneira mais fácil e confiável para o software para descobrir o que a configuração que está usando? Novamente, eu tenho o controle total do protocolo de comunicação para que eu possa definir qualquer mecanismo que eu desejo.

Foi útil?

Solução

Este é um dispositivo full-duplex ou half-duplex? você pode controlar request-to-send e monitorar clear-to-send em ambas as extremidades da linha de série? É a linha serial ponto-a-ponto (como RS-232) ou multi-drop (como RS-485)? Ele vai fazer uma (embora pequena) diferença se você está indo para interferir com outros dispositivos já conectados ao negociar com um recém-conectado.

Se você acha do processo de aperto de mão como um modem negociar um protocolo de camada de link, ele usa um conjunto padrão de mensagens para descrever o tipo de comunicações que gostaria de ter e espera por um "ack" do outro lado. No seu caso eu recomendo ter uma mensagem padrão "Vamos Conversar" que a sua extremidade da cabeça gera com a gama de taxas de bits e aguarda a confirmação do dispositivo.

Eu recomendo também reduzir o número de opções de configuração para o dispositivo. Esqueça sobre bits variável de dados, bits de paridade e bits de parada. O mundo das comunicações de série já não é tão instável é como era na década de 70. Basta usar 8 bits de dados, sem paridade, um bit de parada e variar a taxa de bits. A CRC no final de mensagens fornece uma abundância de verificação de erros.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top