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.
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:
Hinzugefügt:
Nur um mal einen Eindruck von den Platzverhältnissen zu geben:
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.
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.
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.
timrrr
Raketenmagnet
Joel B
Raketenmagnet
Kortuk
Raketenmagnet
Kortuk
Raketenmagnet
Kortuk