Boa tarde à todos.

Estou procurando informações sobre comunicação RS485, pois pretendo fazer o seguinte:

Existem vários escravos, que leem informações de sensores (temperatura, botão, etc). O mestre chama o primeiro escravo pelo seu endereço, este responde e devolve o estado de seu sensor.

O mestre trata a informação e chama o segundo escravo, e assim por diante.

Sei que RS485 não é protocolo de comunicação e sim apenas o meio físico, então pretendo usar a UART do PIC e fazer a comunicação RS232 usando o nono bit ( para endereçamento).
Aí é que aparece a dúvida, nunca fiz comunicação com 9 bits. Se alguem tiver algum código em CCS bem simples, onde eu possa montar e testar no Proteus, agradeço.
Obrigado.

Exibições: 1610

Respostas a este tópico

Blz José.

Eu também estou estudando isso.

Essa linha de comunicação é praticamente a mesma forma da RS 232, porém, aumenta a distância de até 1200metro e trinta e dois dispositivos.

Neste site usa-se o conversor USB para RS 485 e vice versa.

Está me ajudando muito.

http://www.rogercom.com/CursoOnlineUSB/ModuloUnicoAula018.htm#convr...

Olá Rodrigo, obrigado por responder.

Realmente é como você falou, e o site do Rogercom tem alguma informação. Mas eu gostaria de ver um código para PIC em CCS, que utilizasse o 9º bit (usado para endereçamento). Desta forma cada slave teria um endereço próprio e poderia ficar em sleep enquanto não estivesse lendo seus sensores. Assim só "acordaria" quando chegasse seu endereço - vindo do mestre, então ele devolveria ao mestre os dados de seus sensores. E assim com os demais escravos.

Oi, você conhece o protocolo modbus?

Olá Wiechert, não conheço o protocolo. É simples de usar ? É apropriado para meu caso?

Será que voce tem um código simples (em CCS), para eu montar no Proteus ?

Obrigado.

Como o Weichert disse, uma boa seria você usar o ModBus (ou algum outro protocolo que vc invente). 

No  modbus.org você pode encontrar mais informações: http://modbus.org/tech.php

Ah, e sem contar que o CCS implementa o ModBus. 
Não me lembro se a implementação da CCS é boa, mas já é um início: http://www.ccsinfo.com/forum/viewtopic.php?t=50430

Olá Rafael,

Não conheço o ModBus, vou pesquisar mais.

Mas na verdade gostaria de aprender usar RS232 com 9 bits, pois assim teria um bom protocolo já com endereçamento.

Olá,
Na verdade você não precisa usar 9 bits para ter um sistema de endereçamento.
Use a comunicação padrão de 8 bits e reserve o primeiro byte da mensagem para indicar o endereço do escravo e os seguintes para as informações da mensagem.

Finalmente uma luz no fim do túnel !

Obrigado Wiechert, o problema é ficarmos bitolados numa única solução, quando existem outras mais simples.

Acho que assim resolve o problema .

Muito obrigado à todos que participaram, e continuem compartilhando conhecimentos, pois sozinhos demoraremos mais para atingirmos nossos objetivos.

De minha parte, podemos dar por encerrada esta discussão.

Não sei se entendi bem, mas reservar um bit (seja qual for) para o endereço significa limitar o número de dispositivos na rede em apenas dois (2^1).

O Wiechert disse em reservar 1 byte (8 bits), podendo endereçar até 255 dispositivos.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço