LusoRobótica - Robótica em Português

Software => Software e Programação => Tópico iniciado por: KammutierSpule em 16 de Fevereiro de 2021, 18:56

Título: Protocolo multi-dispositivo, para barramento RS485
Enviado por: KammutierSpule em 16 de Fevereiro de 2021, 18:56
Viva,
Tenho andado à procura de um protocolo que funcione com um barramento partilhado entre dispositivos (half-duplex)
que sirva para funcionar com RS485
Os protocolos antigos, não atraem muito, ou teria que ser algo desenvolvido "em cima deles".
Interessante, seria algo mais parecido com CAN.

Alguém conhece alguma coisa?

O meu cenário é: um dispositivo principal e dois nós.
Alguem tem sugestões?
Título: Re: Protocolo multi-dispositivo, para barramento RS485
Enviado por: senso em 16 de Fevereiro de 2021, 19:02
Depende do tipo/quantidade de dados..
Modbus RTU ou DMX ou simplesmente uma UART a funcionar em modo 9 bits e comutas dados/comandos com o 9º bit, ou outra coisa completamente diferente.
Título: Re: Protocolo multi-dispositivo, para barramento RS485
Enviado por: jm_araujo em 16 de Fevereiro de 2021, 20:32
Acho que podes usar o data layer do CAN sobre o rs485.
Senão usa um dos populares como o DMX, sempre acumulas conhecimento que pode ser útil no futuro.
Título: Re: Protocolo multi-dispositivo, para barramento RS485
Enviado por: KammutierSpule em 17 de Fevereiro de 2021, 08:42
Não estudei ainda em detalhe esses protocolos, mas, pelo pouco que vi:
Modbus RTU: é um protocolo Master/Slave. Também não gosto da parte dos "registos", é simples mas restritivo. Eventuamente suponho que de para contornar.

No meu caso, o Slave vai ser um interface com utilizador, que tem de enviar logo os eventos.
Teria de estar a fazer polling muito frequentemente.

DMX: vi que era daisy-chain, no meu caso pode não ser possivel ligar dessa maneira.
Tambem nao percebi se era unidirecional ou tambem pode ser comunicacao bi-direcional.

CAN: pensei que depois não poderia usar, exemplo, um PC normal com porta série para testar e ligar nesse barramento.

Um exemplo que encontrei de um protocolo foi este:
https://github.com/dukelec/cdbus_ip

Permite multi nós, comunicação assíncrona por qualquer nó no barramento.
O funcionamento do protocolo é idêntico a como o meio fosse um meio de radio frequência.