Ir ao conteúdo
  • Cadastre-se

EEPROM I2C e PIC16F628


Key_46

Posts recomendados

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.

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...