Estou usando um micro controlador MSP430FR2633 e um DAC ADS122C04IPWR sobre I2C a 100kHz.
Posso rotear as linhas I2C através de vias em um PCB de 2 camadas?
Estou usando um micro controlador MSP430FR2633 e um DAC ADS122C04IPWR sobre I2C a 100kHz.
Posso rotear as linhas I2C através de vias em um PCB de 2 camadas?
Respostas:
Nas velocidades I2C, as vias não causarão absolutamente nenhum problema.
Pelo menos, não há problemas em termos de resistência, capacitância ou indutância da via. No entanto, se você tiver uma placa de 2 camadas, o melhor é usar as duas camadas sistematicamente, caso contrário, você poderá se meter em problemas.
O que muitas pessoas fazem é dedicar uma camada de um quadro ao chão. Isso geralmente funciona bem, até que eles começam a cortar o chão com 'apenas uma faixa' na outra camada. Quando essa faixa é unida por 'apenas outra', e outra, o chão acaba parecendo uma cortina de renda. Ele não faz o seu trabalho e é difícil determinar onde e como costurá-lo novamente, especialmente se você é inexperiente. Pior ainda, alguns rotearão todos os trilhos e depois farão um 'derrame de cobre', na esperança de que isso seja um bom plano de terra.
Se você estiver usando duas camadas para sinais, é muito melhor começar com um plano. Use um arranjo de rastreamento 'Manhattan', leste-oeste em uma camada, norte-sul na outra. Comece com um 'solo de grade', coloque faixas paralelas a cada 10 mm ou mais, e através delas em todas as interseções. Isso funciona quase tão bem quanto um plano de terra, e a velocidade I2C é absolutamente tão boa. Agora você tem uma maneira sistemática de percorrer uma pista de qualquer lugar, para qualquer lugar, e pode saltar para o outro lado da placa exatamente onde precisa, sem perturbar a continuidade do solo existente.
Uma alternativa é usar um plano de aterramento, mas evitar cortá-lo, permanecendo na sua camada de sinal para todos os sinais. Cruze faixas passando faixas sob os componentes. Você pode comprar resistores de 'zero ohm' para esse fim, embora um resistor de 1 ou 10 ohm seja tão bom quanto um fio nos níveis de resistência I2C.
Não deve ser um problema. Estamos usando vias no I²C que estão executando até 800 kHz sem problemas.
O pior que vi foi uma via ruim, que criou uma resistência em série na linha I²C. Isso afetou tanto a taxa de giro da placa que a comunicação da I²C falhou. Mas isso estava em uma placa protótipo e nunca aconteceu em uma placa de produção até agora.
100kHz é muito fácil de se movimentar. Nosso equipamento possui EEPROMs I2C montadas em uma parte do sistema substituível pelo cliente, para que as alterações na calibração quando essa peça for substituída sejam lidas automaticamente pelo controlador. Os cabos para isso podem ter metros de comprimento e até agora estão funcionando bem. É certo que temos cabos de baixa capacitância, mas ainda assim, um PCB via não é grande coisa.
Observe que, embora 100kHz seja a frequência padrão I2C original, não é o fim da história. O "Modo Rápido" I2C permite até 400kHz, o "Modo Rápido Plus" permite até 1 MHz e o "Modo de alta velocidade" permite até 3,4 MHz. Olhando para a folha de dados, o seu DAC suporta "Fast Mode Plus" até 1MHz. Enquanto você estiver em 100kHz, poderá basicamente fazer o que quiser, porque não é rápido o suficiente para importar, mas se você quiser ir mais rápido no futuro, deve investigar as regras de design para obter sinais digitais mais rápidos.
Dito isto, o DAC em si só pode gerenciar 2K amostras por segundo. Para um DAC de 24 bits mais a sobrecarga I2C associada, as transferências de dados ocuparão apenas 70-80% da largura de banda em um link de 100kHz. Se você possui vários DACs no mesmo link I2C, convém usar um link mais rápido para atender a todos, mas se você tiver apenas um único DAC, não terá motivos para ir mais rápido que 100kHz.