PIC comunicando com 3 dispositivos via serial

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

PIC comunicando com 3 dispositivos via serial

Mensagempor rafaelvg » 03 Jan 2008 15:00

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
rafaelvg
Nibble
 
Mensagens: 52
Registrado em: 16 Jul 2007 12:52

Mensagempor Cláudio » 03 Jan 2008 15:19

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....
[]´s
Cláudio
_______________________________________
"Quem quer, de verdade, faz. Quem não quer, inventa desculpas.
Avatar do usuário
Cláudio
Byte
 
Mensagens: 110
Registrado em: 17 Out 2006 09:19

Mensagempor rafaelvg » 03 Jan 2008 15:23

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....
rafaelvg
Nibble
 
Mensagens: 52
Registrado em: 16 Jul 2007 12:52

Mensagempor Cláudio » 03 Jan 2008 15:37

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".
[]´s
Cláudio
_______________________________________
"Quem quer, de verdade, faz. Quem não quer, inventa desculpas.
Avatar do usuário
Cláudio
Byte
 
Mensagens: 110
Registrado em: 17 Out 2006 09:19

Mensagempor rafaelvg » 03 Jan 2008 15:42

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?????
rafaelvg
Nibble
 
Mensagens: 52
Registrado em: 16 Jul 2007 12:52

Mensagempor LeandroPIC » 03 Jan 2008 15:43

Utilize RS485 ai vc pode pendurar até 128 dispositivos com o MAX487
Avatar do usuário
LeandroPIC
Byte
 
Mensagens: 163
Registrado em: 06 Jul 2007 12:19

Mensagempor Cláudio » 03 Jan 2008 15:49

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.
[]´s
Cláudio
_______________________________________
"Quem quer, de verdade, faz. Quem não quer, inventa desculpas.
Avatar do usuário
Cláudio
Byte
 
Mensagens: 110
Registrado em: 17 Out 2006 09:19

Mensagempor andre_luis » 03 Jan 2008 15:52

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.

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor rafaelvg » 03 Jan 2008 16:00

Obrigado pessoal pela ajuda...vi que vou ter um pouco de dor de cabeça ... mas isso faz parte....


obrigado!!!
rafaelvg
Nibble
 
Mensagens: 52
Registrado em: 16 Jul 2007 12:52

Mensagempor Cláudio » 03 Jan 2008 16:05

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...
[]´s
Cláudio
_______________________________________
"Quem quer, de verdade, faz. Quem não quer, inventa desculpas.
Avatar do usuário
Cláudio
Byte
 
Mensagens: 110
Registrado em: 17 Out 2006 09:19

Mensagempor fabim » 03 Jan 2008 16:18

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
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor rafaelvg » 03 Jan 2008 16:19

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
rafaelvg
Nibble
 
Mensagens: 52
Registrado em: 16 Jul 2007 12:52

Mensagempor fabim » 03 Jan 2008 16:24

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
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?


Voltar para PIC

Quem está online

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

cron

x