I2C + CD4094

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

I2C + CD4094

Mensagempor Diego_Oliveira » 06 Jul 2010 14:02

Seguinte um pic com I2C via Hardware, um outro dispositivo escravo I2C qualquer e um CD4094 utilizando o mesmo barramento I2C para passar os dados para ambos tanto o dispositivo I2C quanto para o CD4094.

Ou seja, os pinos SDA e SCL do Barramento I2C estão conectados nos pinos Data e Clock do CD4094 respectivamente, porém o CD4094 possui um pino de Strobe que eu utilizo outro pino qualquer do pic para colocalo em nivel baixo, e pulsalo quando quero que as informaçoes passadas para o CD4094 passen para sua saida.

Para acesar o dispositivo I2C basicamente eu dou um START no barramento, Passo os dados e dou um STOP no barramento, já para acessar o CD4094 eu passo os dados (1 byte ) diretamente sem START e sem STOP e pulso o pino de Strobe.

Bom isso está funcionando, mas minha duvida é a seguinte, não estou fazendo isso de maneira erronea ? será q estes dados que estou jogando no barramento I2C sem START e sem STOP não podem causar mau funcionamento no dispositivo I2C com o tempo ? ou posso fazer isso sem medo ?

Grato pela atenção !

Att

Diego Bittencourt de Oliveira
Avatar do usuário
Diego_Oliveira
Nibble
 
Mensagens: 79
Registrado em: 05 Abr 2008 15:18
Localização: Rio Grande do Sul

Mensagempor Guri » 06 Jul 2010 14:18

até que dá sim, porém eu acho melhor vc enviar corretamente os dados principalmente quando se trata de um protocolo seja ele qual for.

Porque vc não desabilita a i2c e habilita o 4094 pelo pino de strob e vice versa de forma a utilizar somente um de cada vêz, seria melhor...

As vezes parece que esta funcionando corretamente, só parece, daí vc finaliza o projeto com essa duvida e começa em campo o treco a dar pau...xiiii, aí tá a dor de cabeça...
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Mensagempor Diego_Oliveira » 06 Jul 2010 14:39

Sim entendo o que quis dizer, mas se pensar o que o CD4094 precisa para funcionar:

um pino de Clock ->> SCL da I2C
um pino de Data ->> SDA da I2C
um pino de strobe que pode ser um pino qualquer.

para o CD4094 funcionar ele precisa que cada um dos bits enviados pelo pino de data seje aconpanhado por um pulso de clock (exatamente o que a I2C faz para enviar dados), apos esviar esses bits ele dá um pulso no strobe, este pino sim seria a parte, sem envolver a I2C.

Agora até onde sei os Dispositivos I2c precisam de um Start no barramento, precisam de um byte que indique o endreço do dispositivo sendo que nesta mesma informação segue se estou efetuando uma leitura ou escrita, logo apos envio ou recebo os dados corespodentes ao que queria fazer na primeira informação enviada, e posteriormente dou o sinal de STOP.

Logo inicialmente não vejo conflito algum dos dispositivos I2C com os dados enviados para o CD4094 e os outros dispositivos I2C, e na minha cabeça não creio que vá existir algum comflito pelo fato dos Dispositivos I2C necessitarem de que este protocolo seje seguido corretamente e caso aconteça deles detectarem estes bytes no barramento eles os ignorariam afinal não foram previamente endereçados e muitos menos foi seguido o protocolo de comunicação, logo os dispositivos I2C vão encarar esses dados como não sendo respectivos a eles e iram seguir seu funcionamento normalmente.

Então ou eu matei a charada e o que estou fazendo se feito com este cuidado que citei, não dará problema algum ou estou eskecendo de algum detalhe :?

Grato pela atenção !

Att

Diego Bittencourt de Oliveira
Avatar do usuário
Diego_Oliveira
Nibble
 
Mensagens: 79
Registrado em: 05 Abr 2008 15:18
Localização: Rio Grande do Sul


Voltar para PIC

Quem está online

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

x