I2C

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

I2C

Mensagempor rcakto » 17 Out 2011 02:13

pessoal, seguinte...

tenho um LPC2478 e nele estarei controlando varios dispositivos
cada dispositivos possue um atuador para fechar um circuito e um sinal proveniente de um quadro com os botoes (no caso somente ON/OFF de cada circuito)

estava pensando em colocar um PIC em cada dispositivo e usar o I2C para comunicar entre o PIC e o LPC.
A ideia de usar um "I/O Extender" vai deixar muito caro o projeto, pois esta na base de uns 200 circuitos ou mais e pontos de controle deve ser quase o triplo pois alguns circuitos existem 2 ou mais botoes em locais diversos... e a distancia maxima entre o PIC e o LPC deve ser de uns 30 a 50 metros de cabo...

tendo o LPC como master ja usei muito para comunicar com ICs, o problema e que quando um botao for precionado, o PIC deve enviar para o LPC que o estado atual foi mudado pois o display mostra quais circuitos estao ligados e desligados e pode controlar tudo pelo LPC tambem ....

em resumo, a comunicacao entre 2 uC eu nunca fiz... faco nem ideia de onde comecar.... alguem teria algum codigo em C para ajudar??? serve entre 2 PICs mesmo... o que eu preciso e analisar e implementar no meu projeto.
(parado por culpa da faculdade...)Osciloscopio opensource... entre e participe:
http://asm51.eng.br/phpBB/viewtopic.php?t=10710
rcakto
Word
 
Mensagens: 787
Registrado em: 09 Jun 2010 00:57
Localização: vitoria ES

.

Mensagempor tcpipchip » 17 Out 2011 07:11

Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor rcakto » 17 Out 2011 12:13

vlw tcp, vo da uma geral, pelomenos agora eu tenho uma base por onde comecar...
(parado por culpa da faculdade...)Osciloscopio opensource... entre e participe:
http://asm51.eng.br/phpBB/viewtopic.php?t=10710
rcakto
Word
 
Mensagens: 787
Registrado em: 09 Jun 2010 00:57
Localização: vitoria ES

Mensagempor MarcusPonce » 18 Out 2011 07:09

O sistema vai ficar grande. Veja que se você já especificou que

"(...) e a distancia maxima entre o PIC e o LPC deve ser de uns 30 a 50 metros de cabo... "

então será necessário usar RS485, ou CAN, ou outra rede que funcione nesta distância.
MarcusPonce
Byte
 
Mensagens: 166
Registrado em: 12 Fev 2007 13:58
Localização: Campinas - SP

Mensagempor rcakto » 18 Out 2011 11:44

opa... blz entao... vlw pela dica... vou dar uma olhada no rs485...
(parado por culpa da faculdade...)Osciloscopio opensource... entre e participe:
http://asm51.eng.br/phpBB/viewtopic.php?t=10710
rcakto
Word
 
Mensagens: 787
Registrado em: 09 Jun 2010 00:57
Localização: vitoria ES

Mensagempor fabim » 18 Out 2011 12:58

rcakto escreveu:opa... blz entao... vlw pela dica... vou dar uma olhada no rs485...


Brímã.
O RS485 é apenas um padrão eletrico, de twisted pair.
Ele é bidirecional, ou seja.
Em uma ligação RS232->Sobre uma padrão RS485, você ou transmite ou recebe o dado.
No seu caso, é muito simples o uso.
O ARM esta sempre em Stand_by, e todos os pics também.

Quando um pic for precionado, através de uma USART , você observa se tem algum outro pic conversando. Ou seja, se dentro do tempo X não houver dados chegando no pino de recepção, ai tu pode enviar o dado para o ARM.

faça assim.
Olha a formatação que simples

0x80-0x55-(endereço que foi precionado)-( status )-0x55-(cheksun de tudo em 16 bits).

o cheksun é muito facil de ser calculado, não vou entrar no merito.

Se o cheksun dos 5 bytes que chegaram bater com o cheksun que o pic mandou, ta tudo ok com a comunicação e os dados são validos.
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 ARM

Quem está online

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

x