Ir ao conteúdo
  • Cadastre-se
Key_46

EEPROM I2C e PIC16F628

Recommended Posts

Olá galera, estou com um pequeno projeto e nele eu teria que ligar uma EEPROM externa a um PIC16F628A, pela capacidade e por poder ligar outras memorias na mesma linha optei pela EEPROM 24LC08B. Estou usando o código I2C que veio com o Hi-Tech PICC Lite e vou usar o oscilador interno do PIC.

Nessas condições eu preciso fazer alguma adaptação nesse código, além de das variaveis referentes aos pinos SDA e SCL, para funcionar?

Eu procurei sobre como ligar um ao outro e encontrei esquemas com e sem resistores de "pull-up", exatamente para que servem? e são obrigatorios?

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Olá galera, estou com um pequeno projeto e nele eu teria que ligar uma EEPROM externa a um PIC16F628A, pela capacidade e por poder ligar outras memorias na mesma linha optei pela EEPROM 24LC08B. Estou usando o código I2C que veio com o Hi-Tech PICC Lite e vou usar o oscilador interno do PIC.

Nessas condições eu preciso fazer alguma adaptação nesse código, além de das variaveis referentes aos pinos SDA e SCL, para funcionar?

Eu procurei sobre como ligar um ao outro e encontrei esquemas com e sem resistores de "pull-up", exatamente para que servem? e são obrigatorios?

Obrigado.

Salve, Key_46.

Esses resistores de pull-up são obrigatórios no protocolo I2C, uma vez que o mesmo é de coletor aberto e os dispositivos só podem fornecer nível zero no barramento.

Pra fazer o barramento funcionar, SDA de todos os dispositivos conectados juntos, e SCL de todos também conectados juntos.

Não conheço PIC, mas, acredito que deva colocar os pinos SDA e SCL em alta impedância, na inicialização.

A parte física é somente isso, depois, é só software do barramento.

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Maurício! Só mais uma pergunta, no caso, os resistores vão do barramento até o Vcc, isso inverteria o sinal logico do meu PIC?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

Se a entrada do PIC estiver em alta-impedância, o nível que vai estar presente nos pinos é 1. Se algum dos pinos estiver chaveado para zero, vai estar zero no barramento inteiro, e vai haver uma corrente circulando pelos pull-ups e consequentemente, por esses pinos.

A Philips determina que o barramento está ocioso, quando o nível das linhas estiver em nível alto.

Forneça os pull-ups e configure os pinos do seu MCU em alta-impedância, o resto, o protocolo se encarrega.

Dê uma olhada aqui para saber mais sobre o protocolo I2C:

http://www.nxp.com/#/pip/pip=[pfp=41735]|pp=[t=pfp,i=41735]

É isso.

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×