I2C Info-I2C Bus, Interface and Protocol

I2C é um protocolo serial para interface de dois fios para conectar dispositivos de baixa velocidade como microcontroladores, EEPROMs, Conversores A/D E D/A, interfaces I / O e outros periféricos similares em sistemas embarcados. Foi inventado pela Philips E agora é usado por quase todos os principais fabricantes de IC. Cada dispositivo I2C slave precisa de um endereço – eles ainda devem ser obtidos a partir de NXP (anteriormente Philips semiconductors).,

I2C bus é popular porque é simples de usar, pode haver mais do que um mestre, apenas superior velocidade do barramento é definido e apenas dois fios com pull-up resistores são necessários para conectar o número quase ilimitado de dispositivos I2C. I2C pode usar microcontroladores ainda mais lentos com pinos i/O de propósito geral, uma vez que eles só precisam gerar condições corretas de início e Paragem, além de funções para ler e escrever um byte.

cada dispositivo escravo tem um endereço único., Transferência de e para o dispositivo mestre é serial e é dividido em pacotes de 8 bits. Todos estes requisitos simples fazem com que seja muito simples implementar interface I2C, mesmo com microcontroladores baratos que não têm nenhum controlador especial de hardware I2C. Você só precisa de 2 pinos de E/S livres e algumas rotinas simples de i2C para enviar e receber comandos.

as especificações iniciais do I2C definiram uma frequência máxima de clock de 100 kHz. Este foi mais tarde aumentado para 400 kHz como Modo Rápido. Há também um modo de alta velocidade que pode ir até 3,4 MHz e há também um modo ultra-rápido de 5 MHz.,

I2C Interface

I2C usa apenas dois fios: SCL (relógio serial) e SDA (dados seriais). Ambos precisam de ser puxados com um resistor para +Vdd. Existem também metamorfos de nível I2C que podem ser usados para se conectar a dois ônibus I2C com voltagens diferentes.

I2C Addresses

Basic I2C communication is using transfers of 8 bits or bytes. Cada dispositivo I2C slave tem um endereço de 7 bits que precisa ser único no ônibus. Alguns dispositivos têm endereço fixo I2C, enquanto outros têm poucas linhas de endereço que determinam bits menores do endereço I2C., Isso torna muito fácil ter todos os dispositivos I2C no barramento com endereço único I2C. Existem também dispositivos que têm endereço de 10 bits conforme permitido pela especificação.

7-bit address represents bits 7 to 1 while bit 0 is used to signal reading from or writing to the device. Se o bit 0 (no byte de endereço) for definido como 1, Então o dispositivo mestre irá ler a partir do dispositivo escravo I2C.

Master device needs no address since it generates the clock (via SCL) and addresses individual I2C slave devices.,

protocolo I2C

no estado normal, ambas as linhas (SCL e SDA) são elevadas. A comunicação é iniciada pelo dispositivo principal. Gera a (s) condição (S) inicial (is) seguida (s) pelo endereço do dispositivo escravo (B1). Se o bit 0 do byte de endereço foi definido como 0, o dispositivo principal irá escrever para o dispositivo slave (B2). Caso contrário, o próximo byte será lido a partir do dispositivo escravo. Uma vez que todos os bytes são lidos ou escritos (Bn), o dispositivo principal gera condição de paragem (P)., Isto sinaliza para outros dispositivos no barramento que a comunicação terminou e outro dispositivo pode usar o barramento.

a maioria dos dispositivos I2C suportam a condição de arranque repetida. Isso significa que antes que a comunicação termine com uma condição de parada, o dispositivo mestre pode repetir a condição de início com byte de endereço e mudar o modo de escrita para leitura.

conclusão

I2C bus é usado por muitos circuitos integrados e é simples de implementar. Qualquer microcontrolador pode se comunicar com dispositivos I2C mesmo que não tenha interface especial I2C., As especificações I2C são flexíveis-o bus I2C pode se comunicar com dispositivos lentos e também pode usar modos de alta velocidade para transferir grandes quantidades de dados. Devido a muitas vantagens, o bus I2C permanecerá como uma das interfaces seriais mais populares para conectar circuitos integrados no tabuleiro.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *