I2C interface: descrição em russo

Índice:

I2C interface: descrição em russo
I2C interface: descrição em russo
Anonim

Em eletrodomésticos modernos, eletrônicos industriais e vários equipamentos de telecomunicações, soluções semelhantes podem ser encontradas, embora os produtos possam ser praticamente não relacionados. Por exemplo, quase todos os sistemas incluem o seguinte:

  • uma certa unidade de controle "inteligente", que na grande maioria dos casos é um microcomputador de chip único;
  • componentes de uso geral, como buffers de LCD, RAM, portas de E/S, EEPROM ou conversores de dados dedicados;
  • componentes específicos, incluindo sintonização digital e circuitos de processamento de sinal para sistemas de vídeo e rádio.

Como otimizar sua aplicação?

breve descrição das interfaces uart spi i2c
breve descrição das interfaces uart spi i2c

Para tirar o máximo proveito dessas soluções comuns para o benefício de designers e fabricantes, bem como para melhorar o desempenho geral de vários hardwares e simplificar os componentes de circuitos aplicados, a Philips decidiu desenvolver a solução bidirecional de dois fios mais simples barramento que fornece o inter-chip mais produtivoao controle. Este barramento fornece transferência de dados através da interface I2C.

Hoje, a linha de produtos do fabricante inclui mais de 150 CMOS, além de dispositivos bipolares compatíveis com I2C e projetados para funcionar em qualquer uma das categorias listadas. Deve-se notar que a interface I2C é inicialmente incorporada a todos os dispositivos compatíveis, devido aos quais eles podem se comunicar facilmente entre si usando um barramento especial. Devido ao uso de tal solução de projeto, foi possível resolver um número bastante grande de problemas de interface de vários equipamentos, o que é bastante típico para o desenvolvimento de sistemas digitais.

Principais Benefícios

interface i2c
interface i2c

Mesmo se você olhar para uma breve descrição das interfaces UART, SPI, I2C, você pode destacar as seguintes vantagens deste último:

  • Para funcionar, você precisa apenas de duas linhas - sincronização e dados. Qualquer dispositivo que se conecte a esse barramento pode ser endereçado programaticamente a um endereço completamente exclusivo. A qualquer momento, existe uma relação simples que permite que os mestres atuem como mestre-transmissor ou mestre-receptor.
  • Este barramento permite ter vários mestres ao mesmo tempo, fornecendo todos os meios necessários para determinar colisões, bem como arbitragem para evitar corrupção de dados no caso de dois ou mais mestres começarem a transmitir informações simultaneamente. No modo padrãoapenas a transmissão de dados serial de 8 bits é fornecida a uma velocidade não superior a 100 kbps e, no modo rápido, esse limite pode ser aumentado quatro vezes.
  • Os chips usam um filtro embutido especial que suprime efetivamente os surtos e garante a máxima integridade dos dados.
  • O número máximo possível de chips que podem ser conectados a um barramento é limitado apenas pela sua capacidade máxima possível de 400 pF.

Benefícios para Construtores

interface i2c lcd1602
interface i2c lcd1602

A interface I2C, assim como todos os chips compatíveis, podem acelerar significativamente o processo de desenvolvimento, desde um diagrama funcional até seu protótipo final. Ao mesmo tempo, deve-se notar que, devido à possibilidade de conectar esses microcircuitos diretamente ao barramento sem usar todos os tipos de circuitos adicionais, é fornecido espaço para modernização e modificação do sistema protótipo, desconectando e conectando vários dispositivos do ônibus.

Existem muitos benefícios que destacam a interface I2C. A descrição, em particular, permite que você veja as seguintes vantagens para os construtores:

  • Os blocos no diagrama funcional correspondem totalmente aos microcircuitos e, ao mesmo tempo, é fornecida uma transição bastante rápida do funcional para o fundamental.
  • Não há necessidade de desenvolver interfaces de barramento porque o barramento já está integrado nativamente em chips dedicados.
  • Protocolos de comunicação integrados eo endereçamento do dispositivo permite que o sistema seja completamente definido por software.
  • Os mesmos tipos de microcircuitos, se necessário, podem ser usados em aplicações completamente diferentes.
  • O tempo total de desenvolvimento é significativamente reduzido devido ao fato de que os designers podem se familiarizar rapidamente com os blocos funcionais mais usados, bem como vários microcircuitos.
  • Se desejar, você pode adicionar ou remover chips do sistema, e ao mesmo tempo não ter muito efeito em outros equipamentos conectados ao mesmo barramento.
  • O tempo total de desenvolvimento de software pode ser reduzido significativamente ao permitir uma biblioteca de módulos de software reutilizáveis.

Entre outras coisas, vale a pena notar o procedimento extremamente simples para diagnosticar falhas ocorridas e posterior depuração, que distingue a interface I2C. A descrição sugere que, se necessário, mesmo pequenos desvios na operação de tais equipamentos podem ser monitorados instantaneamente sem qualquer dificuldade e, nesse sentido, medidas apropriadas podem ser tomadas. Também vale a pena notar que os designers obtêm soluções especiais, que, em particular, são bastante atraentes para vários equipamentos e sistemas portáteis que fornecem energia a bateria usando a interface I2C. A descrição em russo também indica que seu uso permite fornecer as seguintes vantagens importantes:

  • Grau de resistência suficientemente alto a qualquer interferência emergente.
  • Em última análisebaixo consumo de energia.
  • Ampla faixa de tensão de alimentação.
  • Ampla faixa de temperatura.

Benefícios para tecnólogos

Vale a pena notar que não apenas designers, mas também tecnólogos começaram recentemente a usar uma interface I2C especializada com bastante frequência. A descrição em russo indica uma gama bastante ampla de vantagens que essa categoria de especialistas oferece:

  • Um barramento serial padrão de dois fios com essa interface minimiza as interconexões entre os ICs, o que significa que há menos pinos e menos trilhas necessárias, tornando os PCBs mais baratos e muito menores.
  • Uma interface I2C totalmente integrada LCD1602 ou alguma outra opção elimina completamente a necessidade de decodificadores de endereço e outras pequenas lógicas externas.
  • É possível usar vários mestres em um barramento desse tipo ao mesmo tempo, o que agiliza significativamente os testes e a configuração posterior do equipamento, pois o barramento pode ser conectado a um computador de linha de montagem.
  • A disponibilidade de ICs compatíveis com esta interface em pacotes VSO, SO e DIL personalizados pode reduzir significativamente os requisitos de tamanho do dispositivo.

Esta é apenas uma pequena lista de vantagens que distinguem a interface I2C do LCD1602 e outras. Além disso, chips compatíveis podem aumentar significativamente a flexibilidade do sistema utilizado, proporcionandodesign extremamente simples de várias opções de equipamentos, bem como atualizações relativamente fáceis para apoiar ainda mais o desenvolvimento no nível atual. Assim, é possível desenvolver toda uma família de equipamentos diferentes, tendo como base um determinado modelo básico.

A modernização dos equipamentos e a ampliação de suas funções podem ser realizadas por meio de uma conexão padrão ao barramento do microcircuito correspondente utilizando a interface Arduino 2C ou qualquer outra da lista disponível. Se for necessária uma ROM maior, será suficiente selecionar outro microcontrolador com uma ROM aumentada. Como os chips atualizados podem substituir completamente os antigos, se necessário, você pode adicionar facilmente novos recursos ao equipamento ou aumentar seu desempenho geral simplesmente desconectando os chips obsoletos e substituindo-os por equipamentos mais novos.

ACCESS.bus

Devido ao fato do barramento ter natureza de dois fios, além da possibilidade de endereçamento de programas, uma das plataformas mais ideais para o ACCESS.bus é a interface I2C. A especificação (a descrição em russo é apresentada no artigo) deste dispositivo o torna uma alternativa muito mais barata à interface RS-232C usada ativamente anteriormente para conectar vários periféricos a computadores usando um conector padrão de quatro pinos.

Introdução às especificações

descrição da interface i2c em russo
descrição da interface i2c em russo

Para aplicações modernascontrole de 8 bits, que utiliza microcontroladores, é possível definir alguns critérios de projeto:

  • sistema completo inclui principalmente um microcontrolador e outros periféricos, incluindo memória e várias portas de E/S;
  • custo total de combinar diferentes dispositivos dentro de um sistema deve ser minimizado tanto quanto possível;
  • o sistema que controla as funções não prevê a necessidade de fornecer transferência de informações em alta velocidade;
  • a eficiência total depende diretamente do equipamento escolhido, bem como da natureza do barramento de conexão.

Para projetar um sistema que atenda totalmente aos critérios listados, você precisa usar um barramento que usará a interface serial I2C. Embora o barramento serial não tenha a largura de banda do barramento paralelo, ele requer menos conexões e menos pinos de chip. Ao mesmo tempo, não esqueça que o barramento inclui não apenas fios de conexão, mas também vários procedimentos e formatos necessários para garantir a comunicação dentro do sistema.

Os dispositivos que se comunicam por software de emulação da interface I2C ou do barramento correspondente devem possuir um protocolo específico que permita evitar diversas possibilidades de colisões, perda ou bloqueio de informações. Dispositivos rápidos devem ser capazes de se comunicar com dispositivos lentos, e o sistema não deve depender dedo equipamento a ele conectado, caso contrário todas as melhorias e modificações não poderão ser utilizadas. Também é necessário desenvolver um procedimento com a ajuda do qual seja realista estabelecer qual dispositivo específico está atualmente fornecendo controle de barramento e em que momento. Além disso, se diferentes dispositivos com diferentes frequências de clock estiverem conectados ao mesmo barramento, você precisará decidir sobre a origem de sua sincronização. Todos esses critérios são atendidos pela interface I2C para o AVR e quaisquer outros desta lista.

Conceito Principal

descrição da especificação da interface i2c em russo
descrição da especificação da interface i2c em russo

O barramento I2C pode suportar qualquer tecnologia de chip utilizada. A interface I2C LabVIEW e outras semelhantes a ela prevêem o uso de duas linhas para transferência de informações - dados e sincronização. Qualquer dispositivo conectado desta forma é reconhecido pelo seu endereço único, independentemente de ser um buffer LCD, microcontrolador, memória ou interface de teclado, podendo atuar como receptor ou transmissor, dependendo da finalidade a que se destina.

Na grande maioria dos casos, o buffer LCD é um receptor padrão, e a memória pode não apenas receber, mas também transmitir vários dados. Entre outras coisas, de acordo com o processo de movimentação de informações, os dispositivos podem ser classificados como escravos e mestres.

Neste caso, o mestre é o dispositivo que inicia a transferência de dados, e também gerasinais de sincronização. Neste caso, quaisquer dispositivos endereçáveis serão considerados escravos em relação a ele.

A interface de comunicação I2C prevê a presença de vários mestres ao mesmo tempo, ou seja, mais de um dispositivo capaz de controlar o barramento pode se conectar a ele. A capacidade de usar mais de um microcontrolador no mesmo barramento significa que mais de um mestre pode ser encaminhado a qualquer momento. Para eliminar o caos potencial que corre o risco de aparecer quando tal situação surge, foi desenvolvido um procedimento de arbitragem especializado que usa a interface I2C. Expansores e outros dispositivos permitem conectar dispositivos ao barramento de acordo com a chamada regra de fiação.

A geração do sinal de clock é responsabilidade do mestre, e cada mestre gera seu próprio sinal durante a transferência de dados, e só pode ser alterado posteriormente se for "puxado" por um escravo lento ou outro mestre quando ocorrer uma colisão.

Parâmetros gerais

Tanto o SCL quanto o SDA são linhas bidirecionais que se conectam a uma fonte de alimentação positiva com um resistor pull-up. Quando o pneu está absolutamente livre, cada linha está em uma posição alta. Os estágios de saída dos dispositivos conectados ao barramento devem ser open-drain ou open-collector para que a função AND com fio possa ser fornecida. As informações através da interface I2C podem ser transmitidas a uma velocidade não superior a 400 kbpsmodo rápido, enquanto a velocidade padrão não excede 100 kbps. O número total de dispositivos que podem ser conectados simultaneamente ao barramento depende de apenas um parâmetro. Esta é a capacitância da linha, que não é superior a 400 pf.

Confirmação

descrição da interface i2c
descrição da interface i2c

A confirmação é um procedimento obrigatório no processo de transferência de dados. O mestre gera o pulso de sincronismo apropriado enquanto o transmissor libera a linha SDA durante este pulso de sincronismo como uma confirmação. Depois disso, o receptor deve garantir que a linha SDA seja mantida estável durante o estado alto do clock em um estado baixo estável. Nesse caso, certifique-se de levar em consideração os tempos de configuração e espera.

Na grande maioria dos casos, é obrigatório que o destinatário endereçado gere uma confirmação após cada byte recebido, com exceção apenas quando o início da transmissão inclui um endereço CBUS.

Se o receptor-escravo não tiver como enviar a confirmação de seu próprio endereço, a linha de dados deve ficar alta, e então o mestre poderá emitir um sinal de "Stop", que interromperá o envio de todas as informações. Se o endereço foi confirmado, mas o escravo não pode receber mais dados por muito tempo, o mestre também deve interromper o envio. Para isso, o escravo não reconhece o próximo byte recebido e simplesmente sai da linha alto, fazendo com que o mestre gere um sinal de parada.

Se o procedimento de transferência prevê a presença de um mestre-receptor, neste caso deve informar o escravo sobre o fim da transmissão, e isso é feito não reconhecendo o último byte recebido. Neste caso, o escravo-transmissor libera imediatamente a linha de dados para que o mestre possa emitir um sinal de "Stop" ou repetir o sinal de "Start" novamente.

Para verificar se o equipamento está funcionando, você pode tentar inserir exemplos padrão de sketches para a interface I2C no Arduino, como na foto acima.

Arbitragem

interface 2c arduino
interface 2c arduino

Os mestres podem começar a enviar informações somente depois que o barramento estiver completamente livre, mas dois ou mais mestres podem gerar um sinal de início no tempo mínimo de espera. Isso eventualmente resulta em um sinal específico de "Iniciar" no barramento.

A arbitragem funciona no barramento SDA enquanto o barramento SCL está alto. Se um dos mestres começar a transmitir um nível baixo na linha de dados, mas ao mesmo tempo o outro estiver alto, este último será completamente desconectado dele, porque o estado SDL não corresponde ao estado alto de sua linha interna.

A arbitragem pode continuar por vários bits. Devido ao fato de que o endereço é transmitido primeiro, e depois os dados, a arbitragem pode durar até o final do endereço, e se os mestres irão endereçarmesmo dispositivo, dados diferentes também participarão da arbitragem. Devido a este esquema de arbitragem, nenhum dado será perdido se ocorrer alguma colisão.

Se o mestre perder a arbitragem, ele poderá emitir pulsos de clock em SCL até o final do byte, durante o qual o acesso foi perdido.

Recomendado: