Forum: Platinen Feedback zu Platine mit ARM, USB, und isoliertem SPI


von David H. (tuxpilot)



Lesenswert?

Hi, hier das Gegenstück zu Beitrag "Feedback zu Platine mit ARM und 5 Stromsensoren".

Das ist eine PCIe x1 low profile Steckkarte (ohne elektrischen 
Anschluss, aber mit Mousebite für PCI) mit einem NXP Kinetis KL25z 
Mikrocontroller.
Dieser ist das USB-Interface für den Computer welcher die 
SSH-Fernsteuerung und sowas übernimmt (dem “DAE”).
Die Platine wird in ein System under Test (“SuT”) eingesteckt, welches 
mit einigen Leistungssensoren (siehe anderer Thread) ausgestattet ist.
Die Leistungssensoren sind über einen isolierten SPI-Bus angeschlossen.

Neben dem SPI-Bus gibt es einen Wannenstecker mit 2 Reed-Relais, damit 
kann man den Power- und Reset-Taster simulieren.
Diese Funktion wird voraussichtlich in jedem Messaufbau erforderlich 
sein, darum direkt auf dieser Platine implementiert.
Reed-Relais verbrauchen schön wenig Strom, aber scheinen Frustpotential 
zu haben.
Kann ich die beiden überhaupt direkt nebeneinander stellen?
Alternativ habe ich Footprints für normale Subminiaturrelais vorgesehen.

KiCad-Dateien unter 
https://invent.kde.org/davidhurka/usb-spi-power-sensors.
Ach ja, ihr dürft Feedback geben. :)

---

Der Rest dieses Posts bezieht sich auf die Isolierung.

Der Computer, von welchem die Leistung gemessen wird (das “SuT”), liegt 
möglicherweise auf einem anderen Erdpotential.
Wie man die Potentialdifferenz realisiert, ist jedem Idioten selbst 
überlassen. ;)
Man könnte einen Laptop mit “Erdung” über Y-Kondensatoren (ja, sowas 
gibts und tut weh) als DAE benutzen, und mit einem SuT mit normaler 
Erdung verbinden.
Darum ist der SPI-Bus mit dem ADuM241 isoliert.

Die Isolierung macht mir ein paar Herausforderungen:
Der SPI-Bus braucht nun eine eigene Stromversorgung.
Man könnte dafür 12VSB vom SuT benutzen, dieses kann man so abgreifen 
dass die Leistungsmessung nicht beeinflusst wird.
Für Computer wo 12VSB nicht vorhanden/auffindbar ist, könnte man 5V von 
einem USB-Port benutzen, die haben ja oft auch im Standby Spannung.
Falls das die Leistungsmessung zu stark beeinflusst, gibt es noch einen 
(geregelten) DC-DC-Wandler von DAE-USB zum SPI-Bus.

Wie schließe ich nun den Schirm vom USB-Kabel korrekt an?
Das Gehäuse vom SuT ist zwar ein Schirm, aber mit dem falschen 
GND-Potential.
Über den Gehäuseschirm mit Platinen-GND verbinden ist also keine Option.
Ich habe aufgegeben, und erstmal eine Ferrite-Bead zu Platinen-GND 
genommen.

Spannend ist auch der geschirmte USB-B-Stecker am Kabel zum DAE.
Bevor man diesen eingesteckt hat, berührt man vermutlich doch noch das 
metallische Gehäuse vom SuT, und die Isolierung ist sinnlos.
Mache ich mir da zu viele Gedanken?

von W.S. (Gast)


Lesenswert?

David H. schrieb:
> Hi,

Ebenfalls hi,

also ist dein Beitrag nun ein Feedback auf irgendwas, das ich nicht 
kenne oder erwartest du von anderen, daß sie ein Feedback geben?

W.S.

von David H. (tuxpilot)


Lesenswert?

> Ach ja, ihr dürft Feedback geben. :)

Hast du vielleicht überlesen, bei meinem ganzen Geschwafel.

Ich habe übrigens beschlossen, das Layout nochmal 4-lagig zu machen.

von Dunno.. (Gast)


Lesenswert?

Ich finde die Idee mit der Steckkarte im PC, die dann ein anderes 
Potential hat nicht so ideal. Die Problematik hast du ja schon erkannt.

Vielleicht lieber nur den Bus zum dae isolieren und den Rest bewusst auf 
dem Potential der Kiste lassen.

Ist ja im eingebauten Zustand ne Einheit.

Im Laborbereich gibt's Isolatoren mit Glasfaserverbindung. Das erledigt 
alle deine Probleme.

von Dunno.. (Gast)


Lesenswert?

Nachtrag: ein Bussystem das von Haus aus gut mit Potentialdifferenz 
umgehen kann, wäre übrigens popeliges Ethernet.. ;)

von David H. (tuxpilot)


Lesenswert?

Hmm. Ich könnte ein Slotblech nur mit dem SPI-Wannenstecker und ESD- und 
Kurzschlussschutz machen. Dann steckt man das Flachbandkabel an dem 
Slotblech ein, und der ulkige Pfostenstecker (Reichelt PFL 10) passt eh 
nur in den USB-Adapter mit diesem Controller und SPI-Isolator.

Vielleicht sollte ich da draußen lieber ein geschirmtes Kabel benutzen? 
Sub-D? Der SPI-Bus soll bei 12MHz laufen.

Dunno.. schrieb:
> Vielleicht lieber nur den Bus zum dae isolieren und den Rest bewusst auf
> dem Potential der Kiste lassen.

Meinst du so einen Analog iCoupler USB FullSpeed Isolator?

Dunno.. schrieb:
> Nachtrag: ein Bussystem das von Haus aus gut mit
> Potentialdifferenz
> umgehen kann, wäre übrigens popeliges Ethernet.. ;)

Ethernet ist mir bewusst, aber ich glaube das macht zu viel Komplexität 
für das was ich mit dem SPI-Isolator einfacher erreiche.

von voraus (Gast)


Lesenswert?

"Master" ist out, "Controller" o.ä. ist in, siehe auch I2C spec von NXP.
Hab ich in der Fa. schon vor 10 Jahren geändert.

von voraus (Gast)


Lesenswert?

Relay, nicht Relais

von Frank K. (fchk)


Angehängte Dateien:

Lesenswert?

David H. schrieb:

> Dunno.. schrieb:
>> Nachtrag: ein Bussystem das von Haus aus gut mit
>> Potentialdifferenz
>> umgehen kann, wäre übrigens popeliges Ethernet.. ;)
>
> Ethernet ist mir bewusst, aber ich glaube das macht zu viel Komplexität
> für das was ich mit dem SPI-Isolator einfacher erreiche.

Nö.

Ich habe etwas sehr ähnliches vor 10 Jahren mit einem PIC18F67J60 
gemacht. Da ist Prozessor, RAM, UART/SPI/I2C/GPIO, Ethernet MAC und 
Ethernet PHY in einem TQFP64 vereint, Du brauchst nur noch 3.3V, einen 
25 MHz Quarz und ein paar passives.

Auf dem Prozessor läuft ein kleiner Webserver, über den ich das Teil 
steuern kann. Und wenn Du UTP (Unshielded Twisted Pair) nimmst, ist das 
alles von Haus aus isoliert. Wenn Du nicht nur eine funktionale 
Trennung, sondern eine sicherheitsgerichtete Trennung brauchst, nimmst 
Du halt Glasfaser-Medienwandler oder einen WLAN-AP im Client-Modus.

fchk

von Tuxpilot (Gast)


Lesenswert?

Frank K. schrieb:
> David H. schrieb:
>> Dunno.. schrieb:
>>> Nachtrag: ein Bussystem das von Haus aus gut mit
>>> Potentialdifferenz
>>> umgehen kann, wäre übrigens popeliges Ethernet.. ;)
>>
>> Ethernet ist mir bewusst, aber ich glaube das macht zu viel Komplexität
>> für das was ich mit dem SPI-Isolator einfacher erreiche.
>
> Nö.
>
> [...] kleiner Webserver,

Hä? Daran muss ich mich erstmal gewöhnen. :D Da muss man ja erstmal noch 
ein Netzwerk einrichten, von sowas habe ich keine 
Ahnungehrlichgesagtmurmelmurmel.

Nachdem ich länger darüber nachdenke, ist Ethernet wahrscheinlich gar 
nicht so doof. Gibt es (lieferbare) ARM-Controller mit Ethernet, so 
ähnlich wie der PIC den du genannt hast?

von Klaus W. (mfgkw)


Lesenswert?

Tuxpilot schrieb:
> Gibt es (lieferbare) ARM-Controller mit Ethernet

Einige STM32 haben MAC mit drauf, und brauchen dann noch PHY.
Z.B. STM32F105..., STM32F107..., STM32F407..., STM32F417..., 
STM32F207..., STM32F217..., STM32F7x5/6/6/7..., wohl die meisten/alle 
STM32H7 außer STM32H7A... und STM32H7B...

von Frank K. (fchk)


Lesenswert?

Klaus W. schrieb:
> Tuxpilot schrieb:
>> Gibt es (lieferbare) ARM-Controller mit Ethernet
>
> Einige STM32 haben MAC mit drauf, und brauchen dann noch PHY.
> Z.B. STM32F105..., STM32F107..., STM32F407..., STM32F417...,
> STM32F207..., STM32F217..., STM32F7x5/6/6/7..., wohl die meisten/alle
> STM32H7 außer STM32H7A... und STM32H7B...

Er wollte gerne was lieferbares haben...

Das schöne an diesem PIC ist, dass er nicht nur den Ethernet MAC 
integriert hat, sondern auch den Ethernet PHY, und dass er billig ist. 
Normalerweise ist der PHY nochmal ein extra Chip, der über MII oder RMII 
angeschlossen werden muss, weil für diesen ein anderer Halbleiterprozess 
erforderlich ist, aber der PIC ist wohl so unkritisch, dass dort alles 
auf einem Chip integriert werden kann.

ARM Core plus Ethernet MAC für externen Ethernet PHY hat so gut wie 
jeder Hersteller. Da etwas lieferbares zu bekommen ist der eigentliche 
Trick.

Notfalls musst Du einen externen Ethernet MAC+PHY per SPI anklemmen. 
Microchip ENC424J600 und ENC624J600 sind lieferbar, Wiznet W5500 bekommt 
man auch noch. Über SPI ist es eben langsam, aber das ist bei Dir denke 
ich kein großes Problem.

fchk

von Frank K. (fchk)


Lesenswert?

PS: Manche Leute verwenden heutzutage einen Raspberry Pi Zero W mit WLAN 
für die Steuerung und lassen dieses Teil per SPI und I2C die gewünschten 
Messwerte erfassen. Das hätte bei Dir den Vorteil, dass Du Dich um das 
gesamte Netzwerkzeug nicht mehr kümmern musst und dank WLAN eine 
galvanische Trennung eh gegeben ist. Und zumindest für ein Einzelstück 
ist es auch noch billiger.

fchk

von Tuxpilot (Gast)


Lesenswert?

Frank K. schrieb:
> PS: Manche Leute verwenden heutzutage einen Raspberry Pi Zero W [...]

Ja, das wird wohl zunächst mal der erfolgversprechendere Weg sein. Mit 
Ethernet PHYs kann ich ja später noch basteln.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.