Página 1 de 2
Recebimento de dados seriais no PIC

Enviado:
01 Set 2008 06:37
por lpagano
Pessoal,
Seguinte, quero fazer um protocolo simples unidirecional só usando 0 e +5Vcc (sem ser os RS da vida) para enviar num PIC e depois ser decodificado. Por exemplo: mandar para um único pino do PIC vários bits de informações, bit a bit serial, tipo uma máquina de aquisição de dados. A partir daí o uC decodifica isso, aciona um led, etc, etc. O esquema seria aquele mais simples: mandar 8 bits seriais e um bit de sicronismo.
O meu problema é como estruturar a programação para esse tipo de hardware, já que estou tendo dificuldades no início.
Não estou querendo dicas de programação ou exemplos prontos, mas se puderem me dizer a estrutura que deve ser seguida na programação, já seria um bom começo para mim.
O que pensei de início foi fazer uma programação tipo PLCs, que ficam constantemente fazendo uma varredura em todas as entradas da CPU para ver se chega algum dado.
Não sei se deu para entender.
Valeu!

Enviado:
01 Set 2008 08:37
por xultz
Eu não entendi se você já projetou a camada de hardware ou não, e não entendi que distância você quer cobrir com tua linha, eu sugeriria dar uma olhada no protocolo LIN, ele foi desenhado pensando em usar linhas de 12V, mas você pode operar com 5V (apesar que se a tensão de entrada do teu circuito for algo diferente de 5V, seria interessante usar esta tensão). Procure no site da Microchip por app note de LIN, tem apresentação em Powerpoint do protocolo, exemplos de circuito e de firmware para implementar o bichano.

Enviado:
01 Set 2008 20:06
por phophollety
Baseie-se no protocolo One Wire, é um ótimo começo (pode tirar algumas frescuras deles)
Mas eu, se fosse para fazer, faria serial mesmo.. nem que fosse na unha, funciona bem, sabe-se as limitações e você conhece..
Para que ficar inventando a roda se vai ser unidirecional mesmo!?

Enviado:
01 Set 2008 22:17
por lpagano
Phophollety e xultz,
Pelo jeito acho que vocês entenderam o que eu queria. Obrigado!
Portanto vou ver esses dois protocolos (LIN e OneWire) e dar uma estudada.
Ainda não fiz nada de hardware, só mesmo pensei em fazer alguma coisa.
A distância para a comunicação não seria maior do que uns 10 metros.
Valeu!

Enviado:
01 Set 2008 22:30
por Djalma Toledo Rodrigues
Start Stop é a mais simples (e antiga) solução
A linha fica no nível alto
O que transmite :
Start / Byte / Stop
O que recebe
Na transição para nível baixo presume que é o Start bit , no meio desse pulso é feita nova verificação (as vezes duas) que confirma é realmente o Start bit
Apartir dai os 8 bits de dados são verificados tmb no meio do pulso de cada um
Após os dados vem o Stop bit , verificado também no meio do pulso, com duração em dobro ( pode durar 1 ou 11/2 ) no caso doblo é mais recomendado . Este Stop bit não tem limite de tempo, pode e deve ficar indefinidamente em nível alto até uma nova mensagem.
Assim
------__-......................----
........S¹........Byte.........S²
S¹ Start bit
S² Stop bit
Este é o sistema da UART. Ver 8251 da Intel
P. S. : O que recebe sabe o tempo de duração dos pulsos.

Enviado:
03 Set 2008 04:23
por lpagano
Djalma,
Achei interessante essa UART, não conhecia a fundo.
Também pensei em criar o meu próprio protocolo nesse mesmo esquema, mas antes vou ver esses UART, LIN e 1-WIRE para depois verificar se compensa fazer o meu próprio, "made by lpagano".
Valeu!

Enviado:
03 Set 2008 08:07
por phophollety
lpagano escreveu:Djalma,
Achei interessante essa UART, não conhecia a fundo.
Também pensei em criar o meu próprio protocolo nesse mesmo esquema, mas antes vou ver esses UART, LIN e 1-WIRE para depois verificar se compensa fazer o meu próprio, "made by lpagano".
Valeu!
Eu iria certo que não vale, tem todos esses protocolos relativamente simples muito usados já, alguns até com rotinas por SW em C e ASM perdidas por ai...
Eu iria de OneWire, assim pode ter a flexibilidade de usar qualquer IO (um com interrupção de mudança de estado ou de borda será melhor) sem ter que depender de módulo podendo assim usar um pic low end se for necessário...

Enviado:
03 Set 2008 09:49
por Djalma Toledo Rodrigues
phophollety escreveu:Eu iria certo que não vale, tem todos esses protocolos relativamente simples muito usados já, alguns até com rotinas por SW em C e ASM perdidas por ai...podendo assim usar um pic low end se for necessário...
A UART / USART é o principio de todos. Veja o 485 é a UART com linhas simétricas. Ela é
tão low end, mais
tão low end que é o sistema das Teleimpressoras mecânicas as famosas Lorens Alemã ou Teletype USA, com Código Baudot de 5 bits. Depois dessas máquinas veio os Telex.
-------------------------------------------------------------------------------------

Uma curiosidade:
Durante teste essas teleimpressoras enviavam as letras RYRYRYRYRY
a combinação dos códigos dessas letras é uma onda quadrada que servia para ajustar a velocidade das máquinas ou o Bias dos Equipamentos Eletrônicos .
Pessoal antigo cabeças ! Esse código foi inventado em 1871. Consulte o Google.

Enviado:
04 Set 2008 06:44
por lpagano
Realmente esse protocolo UART é mais simples do que qualquer outra coisa.
Agora o interessante é que esse código foi inventado em 1871!!!!!

Enviado:
04 Set 2008 12:36
por Djalma Toledo Rodrigues
Pois é, muito antes da eletrônica "nascer"
A verificação no centro do pulso faz o sistema seguro mesmo que a velocidade de TX Rx não seja exatamente igual.
Como ele se sincroniza a cada Start não acumula desvio e
Ainda que os pulsos sofram deformação, devido ao meio ( Cabos, RF etc.) e se transformem até em trapezoidal /¨¨¨\ continua funcionado.
Abraço e bom start/stop

Enviado:
05 Set 2008 00:35
por lpagano
Djalma,
Pelo jeito você é doutor no assunto!!!
Mas esses detalhes são realmente ajudam muito.
Valeu!

Enviado:
07 Set 2008 20:48
por Djalma Toledo Rodrigues
A tempo:

Se vc usar velocidade compatível com a Porta Serial do PC (pode configurar diversas velocidades no PC) Poderá se comunicar através da porta Serial do PC com seu PIC, desde este possua um CI chamado Max232 para compatibilizar nível de tensão do PC.
Isto facilita monitorar o PIC.

Enviado:
08 Set 2008 00:53
por Renie
Olá Ipagano,
Você já viu meu Remoto Serial?
Tá lá no meu site

Enviado:
08 Set 2008 01:24
por lpagano
Renie,
Qual é o site?

Enviado:
08 Set 2008 02:05
por Djalma Toledo Rodrigues
Renie aí na sua foto esse a direita é "você amanhã" ? Ki koisa tétrica.
Agora sério. Agente ta aqui, mas, o coveiro já pode estar cavando a nossa.
Outro dia li aqui "Morrer é igual a nascer, só que ao contrário.
Vou experimetar. Se a cabeça passar ... "Adeus Mundo Imundo!"
