Página 1 de 1

Multiplexar Serial no PIC16f877A

MensagemEnviado: 15 Abr 2009 12:13
por ZetaOne
Preciso usar 3 dispositivos na serial do microcontrolador PIC16F877A. Um dispositivo de USB, dispositivo RFID e o rs232 com o computador.

Estou tentando multiplexar com o CI 74LS153, mas não funciona. Por enquanto estou fazendo teste somente com o rs232 com o computador.

Alguma idéia de como utilizar estes dispositivos na serial do microcontrolador?

Obrigado a todos.

MensagemEnviado: 15 Abr 2009 14:05
por leoabubauru
O seu teste só com o computador não vai funcionar se você só usar um 74LS153. Para o caso descrito dos periféricos você tem RX e TX, portanto precisaria também de um DEMULTIPLEX qualquer. Mas acho que a solução seria imposs... (não vou usar essa palavra pois já quebrei a cara ao usá-la antes), quero dizer, muito difícil, envolvento estratégia de software em todos os periféricos. Porque você não experimenta usar a MSSP + USART + Serial emulada por software e pino de IO? Assim você teria uma serial dedicada para cada dispositivo. É possível achar na net software pronto para emular serial em pino de IO. Basta fuçar no pai GOOGLE. Além disso, teria o custo do projeto reduzido!


Espero ter sido útil

MensagemEnviado: 15 Abr 2009 14:22
por EvandroPic
Algumas perguntas...

Você perecisa de comunicação full duplex com os 3 dispositivos?
quer dizer, você multiplexa tanto o tx quanto o rx nos 3 dispositivos?

Você está convertendo de TTL pra RS232, e vice-versa, no teste que você está realizando?

:roll:

MensagemEnviado: 15 Abr 2009 14:30
por ZetaOne
Não é full duplex. Acesso um de cada vez.

A conversão de ttl para rs232 é o circuito utilizando o max232? Se for, estou usando sim.

Sou novato em microcontroladores, estou começando agora...

MensagemEnviado: 15 Abr 2009 14:34
por leoabubauru
A questão não é ser full-duplex (RX e TX ao mesmo tempo), mas o fato de ter que transmitir e receber. O PIC deveria ter um canal só e nele usar o MUX para pegar os TX de cada device e colocar num só RX do PIC. E um DEMUX do TX do PIC para os RX dos devices. A menos que o PIC só receba e nunca transmita nada. Mas creio que a melhor saida seja usar 3 portas serias como sugeri acima.

MensagemEnviado: 15 Abr 2009 15:01
por EvandroPic
ZetaOne escreveu:Não é full duplex. Acesso um de cada vez.

A conversão de ttl para rs232 é o circuito utilizando o max232? Se for, estou usando sim.

Sou novato em microcontroladores, estou começando agora...


Esse full duplex que me refiro é se você usa a TX e a RX da USART do PIC. Em todos os dispositivos você vai usar TX e RX, só que escolhendo apenas um dos dispositivos por vez, certo? sendo assim é full duplex.

Sim... conversão RS232 é a do MAX232.
Você já do PIC conversando separadamente com cada dispositivo, sem o mux? funciona?
Eu sugiro que você primeiro veja se o teu PIC conversa com o PC pelo melo menos. Depois com os outros dois dispositivos separadamente.
Os outros dispositivos são TTL ou RS 232?

Seria bom você fornecer mais detalhes sobre o que você está fazendo e como está fazendo. :roll:

MensagemEnviado: 15 Abr 2009 15:09
por ZetaOne
isso mesmo... então é full duplex :D

Sim, já testei eles separados e estão todos funcionando.

O rfid e o usb são ttl.

Estou brincando com rfid e usb, quero pegar as informações de um cartão rfid de 1kb e guardar em um arquivo na usb. e estou querendo testar envio e recebimento de informações para o computador pela serial.

Obrigado pela a atenção.

MensagemEnviado: 15 Abr 2009 16:10
por rodrigoadachi
EvandroPic escreveu:
ZetaOne escreveu:Não é full duplex. Acesso um de cada vez.

A conversão de ttl para rs232 é o circuito utilizando o max232? Se for, estou usando sim.

Sou novato em microcontroladores, estou começando agora...


Esse full duplex que me refiro é se você usa a TX e a RX da USART do PIC. Em todos os dispositivos você vai usar TX e RX, só que escolhendo apenas um dos dispositivos por vez, certo? sendo assim é full duplex.

Sim... conversão RS232 é a do MAX232.
Você já do PIC conversando separadamente com cada dispositivo, sem o mux? funciona?
Eu sugiro que você primeiro veja se o teu PIC conversa com o PC pelo melo menos. Depois com os outros dois dispositivos separadamente.
Os outros dispositivos são TTL ou RS 232?

Seria bom você fornecer mais detalhes sobre o que você está fazendo e como está fazendo. :roll:



Ola ZetaOne,

Full-Duplex quer dizer poder lêr e escrever ao mesmo tempo
Half-Duplex quer dizer poder lêr em um momento e no outro escrever

Já pelo fato de que irá poder lêr e escrever de um momento, no outro do outro e em outro no outro, ja não eh mais ful-duplex, pois vc não poderar lêr e escrever em realtime em um dispositivo pois haverá hora em que ele estará setado para outro..

Mas vamos esquecer estes termos, o mais recomendado a vc eh utilizar três seriais em seu PIC, um por hardware o os outros dois por software (assim como o pessoal indicou ai em cima), o PIC 16F877A faz isso, se tiver duvida quanto a isso posta aki q te passo cm.

MensagemEnviado: 15 Abr 2009 16:33
por ZetaOne
Obrigado.

Se eu usar a diretiva #use rs232(baud=19200, xmit=PIN_A0, rcv=PIN_A1, stream=serial)

e usar o comando fprintf(serial, "Teste");

o ccs já emula a serial por SW?