23
Protocolo I 2 C Aluno: Guilherme Guindani

Protocolo_I2C_revisado

Embed Size (px)

DESCRIPTION

Protocolo i2c

Citation preview

  • Protocolo I2CAluno: Guilherme Guindani

  • Introduo ao ProtocoloPara explorar todos os benefcios dos sistemas e dispositivos eletrnicos, os engenheiros e projetistas visam melhorar a eficincia do hardware e minimizar a complexidade dos circuitos.

    Para facilitar esta rdua tarefa surgiu o protocolo de comunicao I2C.

  • Introduo ao ProtocoloO protocolo de comunicao em 2 sinais I2C foi originalmente desenvolvido pela Philips em meados de 1996. Atualmente este protocolo est amplamente difundido e interconecta uma ampla gama de dispositivos eletrnicos. Dentre estes encontramos vrios dispositivos de controle inteligente, normalmente microcontroladores e microprocessadores assim como outros circuitos de uso geral, como drivers LCD, portas de I/O, memrias RAM e EEPROM ou conversores de dados.

  • Introduo ao ProtocoloOrganizao funcional em blocos, providenciando um simples diagrama esquemtico final.No h necessidade dos projetistas desenvolverem interfaces. Todos os dispositivos integram as interfaces "on-chip", o que aumenta a agilidade no desenvolvimento.Endereamento e protocolo de transferncia de dados totalmente definido via software.Possibilidade de incluso ou excluso de dispositivos no barramento sem afeta-lo ou outros dispositivos conectados a este.Muitas vantagens podem ser atribudas ao protocolo I2C. Destacam-se entre elas:

  • Introduo ao ProtocoloDiagnstico de falhas extremamente simples. O mal funcionamento imediatamente detectado.Desenvolvimento simplificado do software atravs do uso de bibliotecas e mdulos de software reutilizveis.Facilidade no desenvolvimento de placas de circuito impresso, devido a quantidade de interconexes.Muitas vantagens podem ser atribudas ao protocolo I2C. Destacam-se entre elas:

  • Introduo ao ProtocoloBaixssimo consumo de corrente.Alta imunidade rudos.Ampla faixa de tenses p/ alimentao.Ampla faixa de temperatura p/ operao.Adicionalmente, utilizando as vantagens da tecnologia CMOS na fabricao dos dispositivos, temos:

  • Caractersticas Gerais do Barramento I2C: Suporta qualquer tecnologia de produo (CMOS,NMOS,Bipolar,etc.).A taxa de transferncia mxima de 100kbit/s no modo padro (standart), ou 400kbit/s no modo rpido (fastmode).Informao de carry entre dispositivos conectados.

  • Caractersticas Gerais do Barramento I2C:Duas vias de comunicao: serial data (SDA) e serial clock (SCL), ambas bidirecionais, conectadas ao positivo da fonte de alimentao atravs de um resistor de pull-up. Enquanto o barramento est livre ambas as linhas ficam em nvel lgico alto.

  • Caractersticas Gerais do Barramento I2C:Todo dispositivo possui um endereo nico no barramento, independente de sua natureza.Qualquer dispositivo conectado pode operar como transmissor ou receptor. Claro que isso depende da natureza do dispositivo - um LCD no vai operar como transmissor, assim como um teclado no operar como receptor. Independente disto, qualquer dispositivo endereado chamado de escravo (slave).O nmero de interfaces conectadas fica dependente da capacitncia mxima do barramento, que de 400pF.

  • Definies:Transimiter (Transmissor): dispositivo que envia dados atravs do barramento.Receiver (Receptor): dispositivo que recebe dados atravs do barramento.Master: dispositivo que inicia a comunicao, gera o sinal de clock e encerra a comunicao.Multi-master: vrios dispositivos podem controlar o barramento, mesmo sem comprometer a mensagem. Quando isto ocorre temos vrios dispositivos operando em modo master.

  • Definies:Arbitration (Arbitrariedade) : procedimento p/ o controle do barramento em modo multi-master. Visa no corromper a transmisso dos dados e perder a sincrioia do clock.Sincronizao: procedimento p/ sincronizar o clock de um ou mais dispositivos.

  • Comunicao:Como o protocolo de comunicao I2C aceita uma ampla gama de mtodos de fabricao para os seus dispositivos (CMOS,NMOS,Bipolar,etc.) os nveis lgicos alto e baixo no possuem valores pr-estabelecidos, dependendo diretamente da teno Vcc de alimentao.Nveis lgicos:

  • Comunicao:O dado na linha SDA precisa ser estvel durante o perodo ALTO do clock. A mudana entre os nveis lgicos alto e baixo s podem ser feitas enquanto a sinal de clock estiver BAIXO.Validao dos dados:

  • Comunicao:Durante todo o processo apenas dois sinais so caracterizados como condies de START e STOP.A transio do nvel lgico ALTO para o BAIXO na linha SDA, enquanto a linha SCL est em nvel lgico ALTO, caracteriza a condio de START.A transio do nvel lgico BAIXO para o ALTO na linha SDA, enquanto a linha SCL est em nvel lgico ALTO, caracteriza a condio de STOP.Depois que se tem uma condio de START, diz-se que o barramento est BUSY, e depois de um certo tempo da condio STOP diz-se que o barramento est FREE.Condies iniciais e Finais:

  • Comunicao:Condies de START e STOP.Condies iniciais e Finais:

  • Comunicao:O dispositivo master ajusta a condio inicial.O dispositivo master envia 7 bis de endereamento.O dispositivo master envia o 8o bit, R/W.O dispositivo slave envia o sinal de ACK (Acknowledge).O dispositivo master (ou slave) envia pacotes de 8 bits de dados, sempre seguidos de um sinal ACK enviado pelo dispositivo slave (ou master) confirmando a recepo.O dispositivo master encerra a comunicao.

  • Comunicao:Endereamento feito pelo MASTER.

  • Comunicao:

  • Comunicao:

  • Comunicao:O endereamento do protocolo I2C bem simples, dado pelo primeiro BYTE que sucede a condio de START. Este enderea o SLAVE que o MASTER vai acessar. A nica exceo esta regra um endereo conhecido como: GENERIC CALL. Que faz com que todos os SLAVES respondam com um ACK.Endereamento de 7-bits

  • Comunicao:(1)Nenhum DispositivoPode responder um STARTcom um ACK.(2)O endereo CBUS foicriado para dar compatibilidadeentre os do CBUS com o I2C.(3)Endereo reservado paracompatibilidade com diferentesformatos de barramento.

  • Consideraes finais:O endereamento default feito com 7 bits, mas existe o modo extendido que possibilita o uso de 10 bits de endereamento (1024 dispositivos).A quantidade de pacotes de transmisso controlada pelo dispositivo master, no possuindo um valor mximo definido. Este um ponto importante a ser observado, pois como os dados sao transmitidos serialmente, na utilizao de memrias, perde-se os limites de endereamento que existem nos dispositivos paralelos.A comunicao pode ser suspensa, simplesmente travando-se o sinal de clock. Isto pode ser til para efetuar o tratamento de interrupes ou derivados, sem, no entanto, corromper os dados transmitidos. importante fazer algumas observaes:

  • Bibliografia:http://www.eletronica.org/modules.php?name=News&file=article&sid=13http://www.semiconductors.philips.com/acrobat/literature/9398/39340011.pdf