Escolar Documentos
Profissional Documentos
Cultura Documentos
______________________________________________________________________
Apesar disso, o protocolo I2C excelente para uso na comunicao entre dispositivos
como um microcontrolador (elemento mestre) e alguns dispositivos como: memrias
,RTCs, controladores de I/O, etc (dispositivos escravos). Fica bvio que a realizao do
projeto ser simplificada, pois o padro de comunicao entre os vrios dispositivos
ser o mesmo e o barramento usado tambm.
Comunicao:
O protocolo I2C do tipo sncrono de 2 linhas, sendo uma linha de clock (SCL) e outra
de dados (SDA).
O princpio de funcionamento o seguinte:
-A informao na linha de dados (SDA) somente ser lida quando a linha de clock (SCL)
est em nvel alto;
-Somente ser permitido alterar o nvel da linha de dados quando a linha de clock est
em seu nvel baixo;
-Ambas as linhas permanecem desligadas quando o barramento no est em uso, ou
seja, permanecem em nvel lgico 1.
Para iniciar uma transmisso (condio de incio, START), o dispositivo leva a linha SDA
de 1 para 0 e para finalizar uma transmisso, utilizada uma condio de parada, ou
STOP que consiste na transio de 0 para 1 da linha SDA.
Aps o bit de START, so transmitidos 8 bits de dados, iniciando pelo bit mais
significativo e aps o ltimo bit, o receptor deve gerar uma condio de
reconhecimento (acknowledge), cujo processo se d forando a linha SDA em 1
durante o nono pulso do clock. Caso o receptor no reconhea o dado, o transmissor
deve abortar e reiniciar a transmisso.
Para que diversos dispositivos funcionem adequadamente em uma mesmo
barramento, necessrio que cada um possua uma identificao ou endereo prprio.
Endereo
0010xxxx
0011xxxx
0100xxxx
0111xxxx
1000xxxx
1001xxxx
1010xxxx
1101xxxx
1100xxxx
Significado
Sintetizadores de Voz
Interfaces de udio PCM
Geradores de tons de udio
Displays LED/LCD
Interfaces de vdeo
Interfaces A/D e D/A
Memrias seriais
Relgios / Calendrios
Sintonizadores de RF
Definies do Projeto:
-Nome do Projeto: I2C
-Arquivo
: I2C.c
void main()
{
byte rd;
lcd_ini();
init_ext_eeprom();
//Inicia o LCD
//Inicia a comunicao I2C
//Atraso de 1500 ms
//Escreve no endereo 0x10 da memria EEPROM
//Atraso de 1000 ms
//Faz a leitura no endereo 0x10 da EEPROM e
//armazena o valor lido na varivel rd
//Loop principal