Protocolo RS-485

Software e Hardware para uC da Qualcomm, NXP, FreeScale e Motorola

Moderadores: 51, guest2003

Protocolo RS-485

Mensagempor Giovak » 04 Dez 2007 08:49

Bom dia, estou querendo comunicar dois micros atraves do protocolo RS-485, dei uma lida nos tópicos postados aqui no forum referente ao tema e tenho algumas duvidas de como fazer o protocolo que trate o sinal recebido.

Estou utilizando dois micros MC9S08QD4 e dois SN75176. Pelo datasheet montei o esquematico, liguei os pinos DE e RE juntos.
Estou programando em C.
Alguém poderia me dar uma ajuda para comunicar os micros?
Giovak
Bit
 
Mensagens: 12
Registrado em: 19 Out 2006 07:21

Re: Protocolo RS-485

Mensagempor Paulo » 04 Dez 2007 12:46

Giovak escreveu:Bom dia, estou querendo comunicar dois micros atraves do protocolo RS-485, dei uma lida nos tópicos postados aqui no forum referente ao tema e tenho algumas duvidas de como fazer o protocolo que trate o sinal recebido.

Estou utilizando dois micros MC9S08QD4 e dois SN75176. Pelo datasheet montei o esquematico, liguei os pinos DE e RE juntos.
Estou programando em C.
Alguém poderia me dar uma ajuda para comunicar os micros?


O RS485 é apenas uma especificação elétrica, assim como o RS232 e não um protocolo de comunicação.
Sugiro que você faça os dois micros se comunicarem sem nenhum hardware entre eles, ou seja, ligue o TX de um no RX do outro e vice-versa, depois que você fizer essa comunicação funcionar, daí você coloca o hardware referente ao padrão RS485, isso vai te permitir alcançar distâncias maiores e aumentar a eficiência na sua recepção, pois ele usa dois fios onde trafega um sinal balanceado.

Espero ter te ajudado um pouco.
Qq dúvida coloca aí...


Até +...
Paulo D.
"Se o teu sonho for maior que ti, Alonga tuas asas, Esgarça os teus medos, Amplia o teu mundo, Dimensiona o infinito, E parte em busca da estrela... " (Trecho de Voa - Ivan Lins / Leda Selma)
Avatar do usuário
Paulo
Byte
 
Mensagens: 421
Registrado em: 07 Nov 2006 07:26

Mensagempor Giovak » 05 Dez 2007 08:25

eu me referia ao protocolo que poderia usar utilizando a especificação elétrica RS-485.
Fiz o que vc me sugeriu, liguei os dois micros e estão se comunicando sem problema.
Eu queria transmitir a uma distancia de 10 metros. E quando conseguir comunicar 2 micros tenho que fazer com que 3 micros se comuniquem numa central. Por isso pensei utilizar o RS-485 porque é de baixo custo, tem proteção referente a ruido entre outras coisas.
Ouvi que tem varios protocolos EA-485, MOdbus etc.
Poderia me sugerir um e como implementa-lo em C.
Muito obrigado
Giovak
Bit
 
Mensagens: 12
Registrado em: 19 Out 2006 07:21

Mensagempor Fábio Pereira » 05 Dez 2007 08:54

Nós já implementamos MODBUS sobre 485 aqui e utilizando HCS08.

Não vejo problemas em se fazer isso, mas aconselharia que você utilizasse um micro com SCI (o QD4 não tem e você deve estar fazendo por software), pois alivia bastante a carga sobre a CPU.

Existe bastante material no internet sobre o MODBUS (que de fato é bastante simples).

Por outro lado, você poderia implementar o seu próprio protocolo. Num projeto recente eu utilizei um protocolo baseado em frames com a seguinte estrutura:

HEADER (1 byte) + comando (1 byte) + registrador (1 byte) + dado (1 byte) + checksum (1 byte)

A implementação é bastante simples e eficiente. Você pode criar comandos para escrita, leitura, etc. De fato o protocolo é uma variação do MODBUS.

T+
Fábio Pereira
embeddedsystems.io
Avatar do usuário
Fábio Pereira
Word
 
Mensagens: 674
Registrado em: 16 Out 2006 09:07
Localização: Kitchener, ON

Mensagempor Paulo » 05 Dez 2007 13:05

Giovak escreveu:eu me referia ao protocolo que poderia usar utilizando a especificação elétrica RS-485.
Fiz o que vc me sugeriu, liguei os dois micros e estão se comunicando sem problema.
Eu queria transmitir a uma distancia de 10 metros. E quando conseguir comunicar 2 micros tenho que fazer com que 3 micros se comuniquem numa central. Por isso pensei utilizar o RS-485 porque é de baixo custo, tem proteção referente a ruido entre outras coisas.
Ouvi que tem varios protocolos EA-485, MOdbus etc.
Poderia me sugerir um e como implementa-lo em C.
Muito obrigado


Faço das palavras do Fábio, as minhas.
Eu também tenho um sistema aqui na empresa que se comunica através de um protocolo que criamos aqui mesmo.
A cara dele é bem simples, mas eficiente, nunca tivemos problema.
Ele é constituído de sete bytes, com a seguinte sequencia:

1º byte = Comando
2º, 3º, 4º e 5º bytes = Dados
6º e 7º bytes = Checksum

Talvez resolva o seu problema.

Até +...
Paulo D.
"Se o teu sonho for maior que ti, Alonga tuas asas, Esgarça os teus medos, Amplia o teu mundo, Dimensiona o infinito, E parte em busca da estrela... " (Trecho de Voa - Ivan Lins / Leda Selma)
Avatar do usuário
Paulo
Byte
 
Mensagens: 421
Registrado em: 07 Nov 2006 07:26

Mensagempor Giovak » 05 Dez 2007 14:25

Ao que parece é bem simples, vou mudar de micro, vou utilizar o AW.
Não achei o topico da implementacao do Modbus com HCS08.
Se puder postar aqui agradeço.
Giovak
Bit
 
Mensagens: 12
Registrado em: 19 Out 2006 07:21

Mensagempor j.silvestre » 10 Out 2008 11:14

existe um modo de transmissão para o RS 485 que usa 4 fios e é chamado
de rs485 20mA. alguém sabe a diferença entre o rs485 padrão e este ??
usa o seguinte sinais.

receive +
receive -
transmit +
transmit -


j.silvestre
j.silvestre
Byte
 
Mensagens: 260
Registrado em: 12 Out 2006 22:15


Voltar para NXP (ex-FreeScale (ex-Motorola))

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x