PIC para PIC pela interface RS485

F

fuzzzy

Guest
Oi,

Estou tentando ligar 2 PIC16f876 pela RS485 utilizando SN75176 transceptor.Eu gostaria de usar uma meia duplex configuração, assim que eu controlo RE e DE pinos togheter pelo Porto C5 thata é sempre 0 (recepção).Será fixado 1 antes transimitting e, em seguida, ele retorna a 0.
Eu uso pinos C6 e C7, para receber e transmitir dados.

Eu
tenho alguns problemas na comunication.After de muita tentativa, percebi que, quando um PIC transimts dados, parece que ele recebe o que tem transmitido e isto irá preencher a receber tampão.por isso o transimitting pic recebe os mesmos dados que envia.e quando a outra pic tryes para enviar os dados da primeira pic não pode decodificar os dados.

Tentei todas as configuração sugerida na ficha técnica para remover o viés, com 120 ohm resistências e assim por diante, mas é o mesmo.Então eu deveria excluir problemas na linha.

O que vai sugerir a tentar?Como posso resolver este problema?

obrigado!

PS I meu programa PIC utilizando CCS C

 
Parece que você tem o eco problema.
O que você deve tentar primeiro é o de enviar uma frase (comando) para fora e, durante esse período de tempo não permitir que qualquer coisa para ser lida pelo primeiro PIC.Após a transmissão em uma direção é completado aguarde a resposta dos outros PIC ..

 
Se você ler as fichas para SN75176 e PIC16f876 você vai achar que o
receptor do SN75176 VOH tem um mínimo de 2.7V e os pinos do RC7
PIC tem VIH mínimo de 0.8VDD = 4V (neste caso).

É óbvio que os chips não são eletricamente compatíveis, então você deve começar, através da fixação
este problema.

/ Rambo

 
O problema é que você não desative recepção em
75.176 durante a transmissão.Verifique os níveis lógicos em RE e DE pinos durante Transmisión.Olha com um osciloscope no Rx pino durante a transmissão de
75.176 (RE pino de alto nível).Você deve ter um elevado nível estável nesta alfinete.

 
oi fuzzzi,

o "problema" que você está vendo é normal com RS485 se você não desativar o receibver como escreveu marie65 você sempre receberá também o que você está transmitindo

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorrir" border="0" />Como você programa em CCS pode procurar o CAC fórum para a palavra-chave RS485 e você vai encontrar um monte de informações úteis como o código fonte mesmo alguns nesta discussão:
http://www.ccsinfo.com/forum/viewtopic.php?t=21909&highlight=rs485

hope this helps

 
o problema que você fixa é o que eu supunha.I tryed um lote de solução.Tenho pino RE e DE de sn75176 ligados toghrter com pino C5 do PIC.Eu manualmente colocar pino Alto c5 e após transission ou após um determinado tempo eu coloquei manualmente-lo.mas o problema é o mesmo,
e também no # use rs232 existe uma opção para o controle do pino automaticamente também neste caso é o mesmo problema!

quando i tryed esta uma configuração um PIC 16f84A eu não tinha este problema!transission foi perfeito!o código é praticamente o mesmo!

 
Bem, que o pino do 16F84A que você utiliza para receber os dados?

/ Rambo

 
Segundo a ficha 16F84A porto B tem entradas TTL,
ou seja, é compatível
com o SN75176.electrically

Este é o problema com o 16F876 - sua entrada pino não
é eletricamente
compatível com o SN75176.O "elevado" nível de saída do SN75176 não chegar
o mínimo exigido tensão no pino C7, de modo que a lógica está no nível do "proibido"
zona.Além disso, a receber o pino do SN75176 é colocada em alta impedância modo quando
o receptor está desativado, para pin C7 poderia ser a transmissão overhearing secção
do SN75176.

Você pode ser capaz de contornar o problema, colocando um resistor pull-up (1 kW ou tente
menores) no pino C7 do 16F876.

No entanto, se este projecto vai ser usado em uma "missão crítica" dispositivo Estou firmemente
sugerimos que você redesenhar é compatível com batatas fritas, ou um nível-shifter,
de outra forma
a comunicação pode falhar se, por exemplo, a temperatura sobe um
casal de graus.
E se um paciente morre devido a esta falha?Quem você culpa, então,
a Texas Instruments?Meu ponto é: ler a ficha - todos do mesmo./ Rambo

 
Concordo em tudo o que você diria sobre leitura e ficha de segurança.este é um protótipo e não posso mudá-la.Escolhi esta configuração de hardware porque usart deste pic.
Evry regime I've Evere visto utilizado este dois pinos C6 e C7 para comunicação serial,
por vezes interfaceado com sn75176 ou no máximo 485.Então esta foi uma suposta solução correcta.

Agora eu tento ver o que acontece wit pullup um resistor.

obrigado por seu apoio

 
Oi, eu finalmente é gerida!parece uma coisa muito estúpida agora!o problema era o de definir correctamente TRISC.Eu defini TRISC7 = 1 e está tudo ok agora.
meus dois pic comunicar perfeitamente sem qualquer culpa!

 
o código está funcionando?Você se importa de partilhar com isso?Estou indo para usar mesmo método de comunicação com você.

Obrigado

 
se yo ur código está funcionando, então por favor compartilhe com nós

 
fuzzzy escreveu:

Oi, eu finalmente é gerida!
parece uma coisa muito estúpida agora!
o problema era o de definir correctamente TRISC.
Eu defini TRISC7 = 1 e está tudo ok agora.

meus dois pic comunicar perfeitamente sem qualquer culpa!
 
funnynypd escreveu:fuzzzy escreveu:

Oi, eu finalmente é gerida!
parece uma coisa muito estúpida agora!
o problema era o de definir correctamente TRISC.
Eu defini TRISC7 = 1 e está tudo ok agora.

meus dois pic comunicar perfeitamente sem qualquer culpa!
 

Welcome to EDABoard.com

Sponsor

Back
Top