Alternativen zu SPI wegen EMI

Ich mache derzeit ein System, das aus einem Kunststoffgehäuse besteht, das eine MCU enthält, die mit 7 ADCs spricht, die 2 MHz SPI über etwa 5 cm lange Drähte verwenden.

MCU und ADCs über SPI verbunden

Das Problem ist, dass ich mir Sorgen um EMI mache. Alles, was ich gelesen habe, deutet darauf hin, dass jedes digitale Signal, das sich nicht sicher auf einer Leiterplatte in einem geerdeten Metallgehäuse befindet, zu viel abstrahlt, um die EMI-Tests zu bestehen. Ich denke, das würde auch I2C beinhalten.

Wird dies wahrscheinlich die EMI-Tests nicht bestehen? Was kann ich dagegen tun?

Ich suche nach Antworten jeglicher Art, einschließlich "Verwenden Sie einen anderen Bus / ADC", aber keine Antworten, die mechanische Änderungen beinhalten, wie: "Legen Sie alle ADCs auf dieselbe Leiterplatte" oder "Legen Sie das Ganze in eine Metallbox". . Ich interessiere mich besonders für Low-EMI-Alternativen zu SPI, einschließlich Differenzbussen.

Hier finden Sie einige relevante Informationen zur Anwendung. Bitte lassen Sie mich wissen, wenn Sie mehr Dinge wissen müssen:

  • 6 Drähte gehen zu jeder ADC-Platine (Power, GND, CS, CLK, MOSI, MISO).
  • ADCs sind derzeit MCP3208 (Microchip 8-Kanal, 12-Bit)
  • Ich arbeite in einer Anwendung mit stark eingeschränktem Platzangebot , daher ist das Hinzufügen einer Abschirmung zu den Drähten nicht wirklich eine Option.
  • Es wäre schön, eine Art Differenzbus zu verwenden (nur ein oder zwei Paare), aber die einzigen ADCs mit Differenzkommunikation scheinen Multi-MSPS-LVDS-Typen zu sein.
  • CAN ist wahrscheinlich zu langsam und auch etwas sperrig für eine solche platzbeschränkte Anwendung.
  • Abtastrate: Ich muss jeden Kanal mit 1 kHz abtasten.

Hinzugefügt:

Nur um mal einen Eindruck von den Platzverhältnissen zu geben:

Kleine Platine mit MCP3202

Hier sehen Sie eine der ADC-Platinen. Dieser hat tatsächlich einen MCP3202 anstelle eines MCP3208, aber er ist kompatibel (ish). Es ist in einem TSSOP 8-Paket enthalten. Die Platine ist 11 mm x 13 mm groß. Das schwarze Kabel hat einen Durchmesser von 2 mm. Wie Sie sehen können, gibt es nicht einmal Platz für einen Stecker und die Drähte werden direkt auf die Platine gelötet und dann vergossen. Das Fehlen eines Steckverbinders ist eher auf Platzbeschränkungen in der Umgebung als auf Platzbeschränkungen auf der Leiterplatte zurückzuführen.

Wie kann eine Abschirmung der Kabel als unpraktisch angesehen werden, aber eine Verdopplung der Anzahl von Drähten (differenzielle Signalisierung) als praktikabel angesehen werden?
Entschuldigung, ich hätte mich deutlicher ausdrücken sollen. Ich meinte so etwas wie CAN, das ist 2-Draht-Differential. Offensichtlich ist es unmöglich, die Anzahl der Drähte zu verdoppeln. Ich habe die Frage bearbeitet.
Welche Art von Prüfung/Zertifizierung möchten Sie bestehen?
@JoelB - Entschuldigung, ich bin ziemlich neu bei EMI, also bin ich mir nicht wirklich sicher. Aber irgendwann müssen wir eine Art EMI-Test durchführen. Wahrscheinlich eine Art normaler / Verbraucherebene von EMI-Tests, wenn es so etwas gibt.
@Rocketmagnet Was ist die Anstiegszeit Ihres Signals?
@Kortuk - Schwer zu sagen, weil ich es im Moment nicht richtig einschätze. Es sieht nach etwa 40 ns aus, aber dies könnte ein Artefakt der schlechten Sonden und Krokodilklemmen sein. Es kommt nur aus einem Mikrocontroller.
@Rocketmagnet, ja, das richtige Scoping hat viel damit zu tun. Ihre Strahlungen werden jedoch von Ihrer Anstiegszeit bestimmt, nicht von Ihrer Taktrate.
@Kortuk - Aber ich bin mir sicher, dass ich gelesen habe (möglicherweise im digitalen High-Speed-Design), dass praktisch jeder aus dem Chassis kommende Draht, selbst wenn er an der Grundebene befestigt ist, dazu führen würde, dass Sie EMI versagen.
@Rocketmagnet, Ohh, versteh mich nicht falsch, dass du sehr, sehr einfach eine Antenne herstellst. Es gibt dafür Designmethoden, er geht näher darauf ein, aber wenn Ihr Kabel keine Frequenz trägt, die ein EMI-Test für Sie überprüft, müssen Sie sicherstellen, dass Sie kein anderes Rauschen mit höheren Frequenzen von anderen Orten einkoppeln heraus (was einfach ist, wie das digitale Hochgeschwindigkeitsdesign sagte). Ich wollte nur eine bessere Vorstellung von Ihrem Problem. Ich mag die Frage sehr und sie hat bereits meine +1 bekommen

Antworten (2)

2 MHz SPI über 5 cm Kabel ist nicht riesig. Ich mache viel 30-MHz-SPI über 10-cm-Kabel und bestehe die FCC-Klasse B und das CE-Äquivalent. Der Schlüssel ist, sicherzustellen, dass Sie ein gutes Kabel haben (um den Schleifenbereich so gut wie möglich zu kontrollieren) und Ihre Signale richtig zu terminieren.

Sie kontrollieren den Schleifenbereich, indem Sie die Strom-/GND-Signale irgendwo in der Mitte des Kabels platzieren: Beide in der Mitte des Steckers, aber auch in der Mitte des Kabelbündels. Normalerweise hätten Sie eine Stromversorgung oder GND pro Signal, aber da dies selten eine praktische Lösung ist, müssen Sie das Beste aus dem machen, was Sie haben. Stellen Sie außerdem sicher, dass Sie an beiden Enden des Kabels eine oder zwei Entkopplungskappen auf die Leiterplatten setzen.

Das richtige Beenden der Signale wird ein wenig schwierig sein, da Sie keine kontrollierte Impedanz an Ihrem Kabel haben. Was ich tun würde, ist, an beiden Enden des Kabels einen RC-Filter auf die Platine zu setzen. Das RC-Filter hätte das C auf der Kabelseite und das R auf der Chipseite. Beim Signaltreiber würde ich mit einem R von etwa 75 Ohm und einem C von etwa 1 nF beginnen. Am Empfänger wäre R etwa 10 Ohm und C immer noch 1 nF. Sobald Sie die Prototypen gebaut haben, sollten Sie verschiedene Werte ausprobieren. Im Grunde will man höhere Werte für R und C, aber nicht so hoch, dass das Ding nicht mehr funktioniert oder die Signalpegel zu gedämpft werden. Die Kanten Ihrer Signale sollten sehr abgerundet aussehen, aber es sollte kein Nachschwingen geben und die Takte sollten schön im Signalübergangsband (normalerweise 0,8 bis 2,0 Volt) liegen.

Ein Kappenwert von mindestens 3 nF ist ideal für den ESD-Schutz, aber das ist in Ihrer Anwendung möglicherweise kein Problem.

Danke für deine Antwort. Ja, ich bin mir ziemlich sicher, dass sich die Impedanz an mehreren Stellen ändert, wenn sie sich von der Leiterplatte zum Stecker zum Kabel usw. bewegt. Außerdem werden die CS-, CLK- und MOSI-Leitungen von allen ADCs gemeinsam genutzt. Macht das einen Unterschied?
@Rocketmagnet Die RC-Filter werden im Wesentlichen überbeendet. Deshalb werden die Signale sehr abgerundet aussehen. Dies wird mehrere Dinge für Sie tun, das Wichtigste ist, die Impedanz nicht so kritisch zu machen. Sie sollten CS-, CLK- und MOSI-Signale neu puffern, damit sie nicht über Kabel geteilt werden. Manchmal ist dies nicht möglich, daher ist es am zweitbesten, für jedes Kabel eine separate Terminierung zu verwenden und keine Terminierung gemeinsam zu nutzen.

CAN ist mit ziemlicher Sicherheit die beste Wahl für diese Art von Anwendung. Es ist differenziell und sollte tatsächlich die Anzahl der Drähte reduzieren, die zu jeder Platine gehen. Wenn Sie sieben Chips, acht Kanäle pro Chip und zwölf Bits pro Kanal abtasten, sind das 672 Datenbits pro Abtastzeit. Bei 1 kHz Samples, 1 Mbit Übertragungsrate, das sind 1000 Bits pro Samplezeit. Das lässt Ihnen nicht viel Platz für Overhead, also könnten Sie in Erwägung ziehen, einen Mikrocontroller zu verwenden, der zwei separate CANbus-Controller eingebaut hat. (Microchip stellt mehrere her, ich verwende den dsPIC 30F6012a.) zentralen Mikrocontroller auf beiden, und Sie sollten genügend Bandbreite haben.

Auf der anderen Seite könnten Sie erwägen, die A/D-Wandler durch Mikrocontroller zu ersetzen. dsPIC 30F4013 könnte dort eine gute Wahl sein. 13 12-Bit-A/D-Kanäle plus CANbus.

Alternativ denke ich, dass Sie SPI in / von Differenzspannungsprotokollen wie RS-485 konvertieren können. Aber ich wüsste nicht genug darüber, um es vernünftig zu kommentieren.

Danke für deine Antwort. Ich habe über CAN nachgedacht, aber am Ende bin ich mir nicht sicher, ob der Platz für die Komponenten ausreicht. Wenn es irgendwelche winzigen CAN-Transceiver gäbe, dann wäre es vielleicht möglich. Die kleinsten, die ich finden kann, scheinen SOIC 8 zu sein.
!! Wenn Sie Platzmangel sagen, meinen Sie es ernst! Sie können sich diese Antwort ansehen: electronic.stackexchange.com/a/30596/7523 Anscheinend können Sie unter diesen Umständen möglicherweise damit davonkommen, keinen Transceiver zu verwenden. Mich würde auf jeden Fall interessieren, ob du das kannst!
Heh. Überprüfen Sie den Namen der Antwort, mit der Sie verlinkt haben.
Also das, was ich über mich gesagt habe, dass ich nicht genug weiß, um intelligent zu kommentieren? Ja.