240 likes | 416 Views
Protocolo I 2 C. Aluno: Guilherme Guindani. Introdução ao Protocolo. Para explorar todos os benefícios dos sistemas e dispositivos eletrônicos, os engenheiros e projetistas visam melhorar a eficiência do hardware e minimizar a complexidade dos circuitos.
E N D
Protocolo I2C Aluno: Guilherme Guindani
Introdução ao Protocolo Para explorar todos os benefícios dos sistemas e dispositivos eletrônicos, os engenheiros e projetistas visam melhorar a eficiência do hardware e minimizar a complexidade dos circuitos. Para facilitar esta árdua tarefa surgiu o protocolo de comunicação I2C.
Introdução ao Protocolo O protocolo de comunicação 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 eletrônicos. Dentre estes encontramos vários dispositivos de controle inteligente, normalmente microcontroladores e microprocessadores assim como outros circuitos de uso geral, como drivers LCD, portas de I/O, memórias RAM e EEPROM ou conversores de dados.
Introdução ao Protocolo Muitas vantagens podem ser atribuídas ao protocolo I2C. Destacam-se entre elas: • Organização funcional em blocos, providenciando um simples diagrama esquemático final. • Não há necessidade dos projetistas desenvolverem interfaces. Todos os dispositivos integram as interfaces "on-chip", o que aumenta a agilidade no desenvolvimento. • Endereçamento e protocolo de transferência de dados totalmente definido via software. • Possibilidade de inclusão ou exclusão de dispositivos no barramento sem afeta-lo ou outros dispositivos conectados a este.
Introdução ao Protocolo Muitas vantagens podem ser atribuídas ao protocolo I2C. Destacam-se entre elas: • Diagnóstico de falhas extremamente simples. O mal funcionamento é imediatamente detectado. • Desenvolvimento simplificado do software através do uso de bibliotecas e módulos de software reutilizáveis. • Facilidade no desenvolvimento de placas de circuito impresso, devido a quantidade de interconexões.
Introdução ao Protocolo • Baixíssimo consumo de corrente. • Alta imunidade à ruídos. • Ampla faixa de tensões p/ alimentação. • Ampla faixa de temperatura p/ operação. Adicionalmente, utilizando as vantagens da tecnologia CMOS na fabricação dos dispositivos, temos:
Características Gerais do Barramento I2C: • Suporta qualquer tecnologia de produção (CMOS,NMOS,Bipolar,etc.). • A taxa de transferência máxima é de 100kbit/s no modo padrão (standart), ou 400kbit/s no modo rápido (fastmode). • Informação de carry entre dispositivos conectados.
Características Gerais do Barramento I2C: • Duas vias de comunicação: serial data (SDA) e serial clock (SCL), ambas bidirecionais, conectadas ao positivo da fonte de alimentação através de um resistor de pull-up. Enquanto o barramento está livre ambas as linhas ficam em nível lógico alto.
Características Gerais do Barramento I2C: • Todo dispositivo possui um endereço ú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 não vai operar como transmissor, assim como um teclado não operará como receptor. Independente disto, qualquer dispositivo endereçado é chamado de escravo (slave). • O número de interfaces conectadas fica dependente da capacitância máxima do barramento, que é de 400pF.
Definições: • Transimiter (Transmissor): dispositivo que envia dados através do barramento. • Receiver (Receptor): dispositivo que recebe dados através do barramento. • Master: dispositivo que inicia a comunicação, gera o sinal de clock e encerra a comunicação. • Multi-master: vários dispositivos podem controlar o barramento, mesmo sem comprometer a mensagem. Quando isto ocorre temos vários dispositivos operando em modo master.
Definições: • Arbitration (Arbitrariedade) : procedimento p/ o controle do barramento em modo multi-master. Visa não corromper a transmissão dos dados e perder a sincrioia do clock. • Sincronização: procedimento p/ sincronizar o clock de um ou mais dispositivos.
Comunicação: Níveis lógicos: • Como o protocolo de comunicação I2C aceita uma ampla gama de métodos de fabricação para os seus dispositivos (CMOS,NMOS,Bipolar,etc.) os níveis lógicos alto e baixo não possuem valores pré-estabelecidos, dependendo diretamente da tenção Vcc de alimentação.
Comunicação: Validação dos dados: • O dado na linha SDA precisa ser estável durante o período ALTO do clock. A mudança entre os níveis lógicos alto e baixo só podem ser feitas enquanto a sinal de clock estiver BAIXO.
Comunicação: Condições iniciais e Finais: • Durante todo o processo apenas dois sinais são caracterizados como condições de START e STOP. • A transição do nível lógico ALTO para o BAIXO na linha SDA, enquanto a linha SCL está em nível lógico ALTO, caracteriza a condição de START. • A transição do nível lógico BAIXO para o ALTO na linha SDA, enquanto a linha SCL está em nível lógico ALTO, caracteriza a condição de STOP. • Depois que se tem uma condição de START, diz-se que o barramento está BUSY, e depois de um certo tempo da condição STOP diz-se que o barramento está FREE.
Comunicação: Condições iniciais e Finais: • Condições de START e STOP.
Comunicação: • O dispositivo master ajusta a condição inicial. • O dispositivo master envia 7 bis de endereçamento. • 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 recepção. • O dispositivo master encerra a comunicação.
Comunicação: • Endereçamento feito pelo MASTER.
Comunicação: Endereçamento de 7-bits • O endereçamento do protocolo I2C é bem simples, é dado pelo primeiro BYTE que sucede a condição de START. Este endereça o SLAVE que o MASTER vai acessar. A única exceção à esta regra é um endereço conhecido como: GENERIC CALL. Que faz com que todos os SLAVES respondam com um ACK.
Comunicação: (1)Nenhum Dispositivo Pode responder um START com um ACK. (2)O endereço CBUS foi criado para dar compatibilidade entre os do CBUS com o I2C. (3)Endereço reservado para compatibilidade com diferentes formatos de barramento.
Considerações finais: É importante fazer algumas observações: • O endereçamento default é feito com 7 bits, mas existe o modo extendido que possibilita o uso de 10 bits de endereçamento (1024 dispositivos). • A quantidade de pacotes de transmissão é controlada pelo dispositivo master, não possuindo um valor máximo definido. Este é um ponto importante a ser observado, pois como os dados sao transmitidos serialmente, na utilização de memórias, perde-se os limites de endereçamento que existem nos dispositivos paralelos. • A comunicação pode ser suspensa, simplesmente travando-se o sinal de clock. Isto pode ser útil para efetuar o tratamento de interrupções ou derivados, sem, no entanto, corromper os dados transmitidos.
Bibliografia: • http://www.eletronica.org/modules.php?name=News&file=article&sid=13 • http://www.semiconductors.philips.com/acrobat/literature/9398/39340011.pdf