Página 1 de 1

PIC comunicando com 3 dispositivos via serial

MensagemEnviado: 03 Jan 2008 15:00
por rafaelvg
OLá a todos, estou com uma duvida preciso fazer a comunicação de dois perifericos com um PIC16F917 e a comunicação desse pic com o PC, minha duvida é se eu implemento uma UART via sw ou se eu multiplexo a serial do pic... qual a sugestão dos senhores????? :D :D

MensagemEnviado: 03 Jan 2008 15:19
por Cláudio
Depende da sua aplicação... Detalhe mais.
Exemplo: se você vai precisar de comunicar com os periféricos isoladamente, se você tem disponibilidade de memória de programa e pinos de I/O, disponibilidade de custo (afinal, pra multiplexar vc vai precisar de CI extra), enfim....

MensagemEnviado: 03 Jan 2008 15:23
por rafaelvg
Cláudio escreveu:Depende da sua aplicação... Detalhe mais.
Exemplo: se você vai precisar de comunicar com os periféricos isoladamente, se você tem disponibilidade de memória de programa e pinos de I/O, disponibilidade de custo (afinal, pra multiplexar vc vai precisar de CI extra), enfim....


Pinos I/O tenho sobrando e memoria não é tão critico assim... jah o custo é uma coisa de se pensar porem um CI axo que não vai encarecer muito o projeto....O projeto consiste em ler os dados de um periférico e comparar com os dados de outro periferico....

MensagemEnviado: 03 Jan 2008 15:37
por Cláudio
Certo, mas a multiplexação só funciona se o PIC tiver o controle de quem vai enviar o que em qual momento. Ou seja, cada periférico comunica de uma vez com o PIC (sob supervisão deste), e os outros ficam "mudos".

MensagemEnviado: 03 Jan 2008 15:42
por rafaelvg
Cláudio escreveu:Certo, mas a multiplexação só funciona se o PIC tiver o controle de quem vai enviar o que em qual momento. Ou seja, cada periférico comunica de uma vez com o PIC (sob supervisão deste), e os outros ficam "mudos".


posso implementar via sw a comunicação com 2 perifericos utilizando pinos diferentes?????

MensagemEnviado: 03 Jan 2008 15:43
por LeandroPIC
Utilize RS485 ai vc pode pendurar até 128 dispositivos com o MAX487

MensagemEnviado: 03 Jan 2008 15:49
por Cláudio
Sim, rafaelvg... Na verdade, eh o único jeito, já que a serial do PIC não permitiria você fazer uma ligação multiponto.
Você pode utilizar a serial por hardware pra ligação de um dispositivo e fazer a outra serial por software. Não sei se já ouviu falar, mas a técnica chama-se bit-bang. A recepção pode ser feita na interrupção externa (daí você detecta o start bit), e com uma taxa de tx fixa você tem a temporização para amostrar o sinal e decodificá-lo. A transmissão pode ser feita em qualquer pino, e não requer interrupção - bastando seguir a temporização de acordo com sua taxa.

MensagemEnviado: 03 Jan 2008 15:52
por andre_luis
Implementar UART por firmware cai nos seguintes problemas :

1) Deve-se utilizar taxas de baud nao muito elevadas para nao comprometer a capacidade de processamento do PIC.
2) Convém utilizar interrupção de I/O para detectar o start bit, porém como o PIC possui apenas 1 vetor de interrupção, se os 2 start bits chegarem simultaneamente, pode perder dado.
3) Verifica como o compilador implementa o ´printf´ ou o ´getchar´, pois pode ser que fique num loop, avacalhando com a outra UART ( se ambas forem por firmware ).

O melhor é criar manualmente sua própria biblioteca.

+++

MensagemEnviado: 03 Jan 2008 16:00
por rafaelvg
Obrigado pessoal pela ajuda...vi que vou ter um pouco de dor de cabeça ... mas isso faz parte....


obrigado!!!

MensagemEnviado: 03 Jan 2008 16:05
por Cláudio
Qualquer coisa tamos aí... O problema eh q nao sabemos o que eh q vc está fazendo, talvez poderíamos dar mais idéias...
Talvez não seja seu caso, mas as vezes não podemos falar pra todo mundo mesmo...
Quem sabe somos até concorrentes? rsrs
Abraço...

MensagemEnviado: 03 Jan 2008 16:18
por fabim
bom.... do lado do PC, lemre-se do RTS e CTS.. todo mundo esquece desses meninos...

Do lado dos periféricos, veja se tambem tem
RTS e CTS, se tiver use TX e RX tudo em paralelo em padrão..
GOOGLE > RS232 ONE WIRE..rsrsrs...

priguiça eim..

fabim

MensagemEnviado: 03 Jan 2008 16:19
por rafaelvg
Já ajudaram bastante...na medida que eu for fazendo e surgindo as duvidas vou postando no fórum...e se obter sucesso na implementação posso ajudar os outros também...

Vlw

MensagemEnviado: 03 Jan 2008 16:24
por fabim
fabim escreveu:bom.... do lado do PC, lemre-se do RTS e CTS.. todo mundo esquece desses meninos...

Do lado dos periféricos, veja se tambem tem
RTS e CTS, se tiver use TX e RX tudo em paralelo em padrão..
GOOGLE > RS232 ONE WIRE..rsrsrs...

priguiça eim..

fabim


pra quem não manja muito.

http://www.fag.edu.br/professores/dalto ... Serial.pdf