Alternativas ao SPI por causa do EMI


24

Atualmente, faço um sistema que consiste em um gabinete de plástico que contém um MCU conversando com 7 ADCs usando 2MHz SPI sobre fios de cerca de 5 cm de comprimento.

MCU e ADCs conectados por SPI

O problema é que estou preocupado com a EMI. Tudo o que li sugere que qualquer tipo de sinal digital que não seja seguro em uma PCB em um chassi de metal aterrado irradiará muito para passar nos testes EMI. Eu acho que isso incluiria o I2C também.

É provável que isso falhe nos testes EMI? O que é que eu posso fazer sobre isto?

Estou procurando qualquer tipo de resposta, incluindo "Usar um barramento / ADC diferente", mas não incluindo respostas que envolvam alterações mecânicas como: "Coloque todos os ADCs no mesmo PCB" ou "Coloque tudo em uma caixa de metal" . Estou especialmente interessado em alternativas de baixo EMI ao SPI, incluindo barramentos diferenciais.

Aqui estão algumas informações relevantes sobre o aplicativo. Entre em contato se precisar de mais informações:

  • 6 fios vão para cada placa ADC (Potência, GND, CS, CLK, MOSI, MISO).
  • Atualmente, os ADCs são MCP3208 (Microchip 8 canais, 12 bits)
  • Eu estou trabalhando em um aplicativo com restrições de espaço desesperadamente , portanto, adicionar blindagem aos fios não é realmente uma opção.
  • Seria bom usar algum tipo de barramento diferencial (apenas um ou dois pares), mas os únicos ADCs com comunicação diferencial parecem ser do tipo LVDS multi-MSPS.
  • O CAN é provavelmente muito lento e também meio volumoso para uma aplicação com restrição de espaço.
  • Taxa de amostragem: preciso amostrar todos os canais em 1kHz.

Adicionado:

Apenas para ter uma idéia das restrições de espaço:

PCB pequeno com MCP3202

Aqui você pode ver um dos PCBs da ADC. Na verdade, este possui um MCP3202 em vez de um MCP3208, mas é compatível (ish). Está em um pacote TSSOP 8. O PCB é de 11 mm x 13 mm. O cabo preto tem 2 mm de diâmetro. Como você pode ver, não há espaço para um conector e os fios são soldados diretamente na placa de circuito impresso e depois em vasos. A falta de conector é devido a restrições de espaço circundantes, em vez de restrições de espaço de PCB.


4
Como a blindagem dos cabos pode ser considerada impraticável, mas a duplicação do número de fios (sinalização diferencial) pode ser considerada prática?
timrorr

Desculpe, eu deveria ter sido mais claro. Eu quis dizer algo como CAN, que é um diferencial de 2 fios. Obviamente, dobrar o número de fios é impossível. Eu editei a pergunta.
Rocketmagnet

11
Especificamente, que tipo de teste / certificação você está tentando passar?
Joel B

11
@JoelB - Desculpe, sou um pouco novo na EMI, então não tenho muita certeza. Mas, em algum momento, teremos que fazer algum tipo de teste EMI. Provavelmente algum tipo de nível normal / consumidor de teste EMI, se houver.
Rocketmagnet

11
@Rocketmagnet, Ohh, não me entenda mal que você está criando uma antena com muita facilidade. Existem métodos de design para isso, ele explica mais, mas se o cabo não estiver carregando nenhuma frequência que um teste EMI verifica, tudo bem, você deve certificar-se de que não está acoplando outros ruídos de frequências mais altas de outros lugares out (o que é fácil como o design digital de alta velocidade disse). Eu só queria uma idéia melhor do seu problema. Eu gosto muito da pergunta e ela já recebeu o meu +1
Kortuk

Respostas:


13

O SPI de 2 MHz com cabos de 5 cm não é enorme. Faço muito SPI de 30 MHz em cabos de 10 cm, passando na Classe B da FCC e no equivalente da CE. A chave é garantir que você tenha um bom cabo (controlando o melhor possível para a área de loop) e finalizando adequadamente seus sinais.

Você controla a área do loop colocando os sinais de energia / GND em algum lugar no meio do cabo: ambos no meio do conector, mas também no meio do feixe de fios. Normalmente você teria uma potência ou GND por sinal, mas como essa raramente é uma solução prática, você precisa fazer o melhor com o que tem. Além disso, certifique-se de colocar uma ou duas tampas de desacoplamento nas PCBs nas duas extremidades do cabo.

Terminar corretamente os sinais será um pouco complicado, pois você não tem uma impedância controlada no cabo. O que eu faria é colocar um filtro RC na PCB nas duas extremidades do cabo. O filtro RC teria o C no lado do cabo e o R no lado do chip. No driver de sinal, eu começaria com um R de cerca de 75 ohms e um C de cerca de 1 nF. No receptor, o R seria de cerca de 10 ohms e C ainda 1 nF. Depois de criar os protótipos, tente valores diferentes. Essencialmente, você deseja valores mais altos para R e C, mas não tão altos que a coisa pare de funcionar ou os níveis de sinal sejam muito atenuados. As bordas dos seus sinais devem parecer muito arredondadas, mas não deve haver zumbido e os relógios devem estar agradáveis ​​na faixa de transição do sinal (geralmente 0,8 a 2,0 volts).

Um valor limite de pelo menos 3 nF é ideal para proteção contra ESD, mas isso pode não ser um problema em seu aplicativo.


Obrigado pela sua resposta. Sim, tenho certeza de que a impedância muda em vários pontos à medida que se move do PCB para o conector do cabo, etc. Além disso, as linhas CS, CLK e MOSI são compartilhadas em todos os ADCs. Isso faz alguma diferença ?
Rocketmagnet

@Rocketmagnet Os filtros RC basicamente vão acabar demais. É por isso que os sinais parecerão muito arredondados. Isso fará várias coisas para você, o mais importante é tornar a impedância não tão crítica. Você deve rebuffer os sinais CS, CLK e MOSI para que eles não sejam compartilhados entre os cabos. Às vezes, isso não é possível; portanto, o segundo melhor (distante) é usar terminação separada para cada cabo e não compartilhar terminação.

2

O CAN é quase certamente a sua melhor aposta nesse tipo de aplicação. É diferencial e deve realmente reduzir o número de fios que vão para cada placa. Se você estiver amostrando sete chips, oito canais por chip, doze bits por canal, são 672 bits de dados por tempo de amostra. Em amostras de 1 kHz, taxa de transferência de 1 Mbit, ou seja, 1000 bits por tempo de amostra. Isso não deixa muito espaço para sobrecarga, portanto, você pode considerar usar um microcontrolador que possui dois controladores CANbus integrados. (O microchip faz vários, eu uso o dsPIC 30F6012a.) Divida seus A / Ds em dois ônibus, com o seu microcontrolador central em ambos, e você deve ter muita largura de banda.

Por outro lado, considere substituir os conversores A / D por microcontroladores. O dsPIC 30F4013 pode ser uma boa escolha lá. 13 canais A / D de 12 bits, mais CANbus.

Como alternativa, acho que você pode converter SPI para / de protocolos de tensão diferencial como o RS-485. Mas eu não saberia o suficiente sobre isso para comentar de forma inteligente.


Obrigado pela sua resposta. Eu considerei CAN, mas, no final, não tenho certeza de que há espaço suficiente para os componentes. Se houvesse algum pequeno transceptor CAN disponível, talvez isso fosse possível. Os menores posso encontrar parece ser SOIC 8.
Rocketmagnet

2
!! Quando você diz que o espaço é limitado, você está falando sério! Você pode conferir esta resposta: electronics.stackexchange.com/a/30596/7523 Aparentemente, você PODE ser capaz de se safar por não usar um transceptor nessa circunstância. Eu certamente estaria interessado em saber se você pode!
precisa

3
Heh. Confira o nome na resposta à qual você vinculou.
Rocketmagnet

11
Então, o que eu disse sobre eu não saber o suficiente para comentar de maneira inteligente? Sim.
9788 Stephen
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.