Kommunikation zwischen zwei AVR-Mikrocontrollern über SPI mit unterschiedlichen Netzteilen

Ich habe zwei ATMEGA32-Mikrocontroller. Zuerst hat man folgende Stromversorgung: 220VAC-Netzfilter-Transformator-Brückengleichrichter-Filter-Spannungsregler-5VDC. Ein anderer wird über USB 5VDC mit Strom versorgt. Sie haben also unterschiedliche Gründe.

Ich möchte sie über SPI verbinden.

Wie kann ich das machen?

Antworten (3)

Wenn Sie isolierte Stromkreise haben, können Sie immer 1 Referenzpunkt auf jedem Stromkreis auswählen, um ihn mit dem anderen zu verbinden. Einziger. In den meisten Fällen wird das der Grund sein.

Beide 5-V-Versorgungen sind durch Transformatoren voneinander getrennt, dann können Sie ihre Masse sicher miteinander verbinden.

Verwenden Sie einen Chip wie den ISO7241C von TI . Analog Devices hat vergleichbare Teile und diskutiert hier die SPI-Isolation .

Eine andere Alternative, wenn Sie SPI zwischen Geräten sprechen müssen, die mit unterschiedlichen Spannungen arbeiten, ist die Verwendung eines einfachen Pegelumsetzers wie dem 4050: http://www.nxp.com/products/logic/level_shifters_translators/series/74HC4050.html

Diese Chips sind sehr billig, aber achten Sie darauf, wenn Sie Dinge anschließen, da sie unidirektional sind. Je nach Leitung (MISO, MOSI, SCK, SS, Interrupt) laufen die Signale von A nach B oder von B nach A.

SPI-Datenfluss

Ein Level-Shifter wird es wahrscheinlich nicht schneiden, wenn Sie eine nicht isolierte Stromversorgung mit einem signifikanten Offset haben. Wenn überhaupt, sollten Sie einen Optokoppler empfehlen. Darüber hinaus zeigt Ihr Diagramm nur die grundlegende SPI-Topologie, ein Diagramm mit Ihrer vorgeschlagenen Lösung wäre viel hilfreicher.
Sie haben Recht, der Kommentar bezog sich nur auf verschiedene Ebenen und nicht auf Isolation. In Bezug auf das Diagramm habe ich nur die SPI-Signalflussrichtung dargestellt