Hi Zusammen, ich plane gerade einen Robotter mit 8-12 Controllern (RPI, STM32H7, STM32F7 oder ahnliches) bisher habe ich für ähnliche Sachen CAN genommen mit einem selbst gestrickten Protokoll. Jetzt möchte ich aber was neues machen und da ich mit dem CAN 1MBit immer Probleme hatte Debugdaten schnell genug aus den Nodes zubekommen dachte ich ich gehe auf CAN-FD oder Single Pair Ethernet. Hat wer aktuelle Erfahrungen mit SPE mit kleinen Controllern mit MAC drin? Oder ist es besser sowas wie ADIN1110 zu verwenden. Wie sieht der Netto-Datendurchsatz und der Hardwareaufwand im Vergleich zu CAN-FD aus. Taugt der LAN8650 was oder was könnt ihr empfehlen. Gruß Alex
Hast du dir Gedanken zur Topologie gemacht? ADIN1110 ist 10BASE-T1L und damit nur Point-To-Point. LAN8650 ist 10BASE-T1S und damit wie CAN-FD Point-To-Multipoint. Ethernet hat grundsätzlich den Charm mit einer Vielzahl von Protokollen zusammenzuarbeiten. CAN-FD ist dafür erheblich einfacher in der Umsetzung. Im weitesten Sinne ist das einfach CAN mit DLC bis zu 64. Kommt dann noch auf deine Komponenten an. Können alle CAN-FD (ohne den grausigen MCP2518)? Wie bekommst du 10BASE-T1x an deinen Pi? Matthias
Alex E. schrieb: > CAN genommen > mit einem selbst gestrickten Protokoll. Wäre XCP eventuell das was du brauchst um besser an Infos aus dem Steuergerät zu kommen zu können? https://www.csselectronics.com/pages/ccp-xcp-on-can-bus-calibration-protocol Wir haben mal ne Zeit lang mit Automotive Ethernet rumgespielt (KFZ) und sind dann wieder auf CAN zurück....zu speziell und unterm Strich nicht wirklich nötig für 200 (relevante) Werte und 200 Status Bits. Abgesehen davon nutzt es kaum einer der OEMs (die ich kenne). Zum Rest kann ich dir leider nichts sagen.
Μαtthias W. schrieb: > Hast du dir Gedanken zur Topologie gemacht? ADIN1110 ist 10BASE-T1L und > damit nur Point-To-Point. LAN8650 ist 10BASE-T1S und damit wie CAN-FD > Point-To-Multipoint. Ethernet hat grundsätzlich den Charm mit einer > Vielzahl von Protokollen zusammenzuarbeiten. CAN-FD ist dafür erheblich > einfacher in der Umsetzung. Im weitesten Sinne ist das einfach CAN mit > DLC bis zu 64. Kommt dann noch auf deine Komponenten an. Können alle > CAN-FD (ohne den grausigen MCP2518)? Wie bekommst du 10BASE-T1x an > deinen Pi? > > Matthias Guter Punkt das den ADIN nur Punkt zu Punkt macht ist mir nicht aufgefallen. MultiDrop ist schon das was ich will. Ein Switch macht alles nur kompliziert. Sonst könnte ich ja auch einfach überall wo es passt RJ45 dranklatschen. Für das Interfacing zum Pi dachte ich an sowas https://www.nxp.com/products/interfaces/ethernet-/automotive-ethernet-phys/ethernet-media-converter-for-drones-rovers-mobile-robotics-and-automotive:RDDRONE-T1ADAPT Der H7 als auch ein eventueller G4 haben beide CAN-FD onboard. Was mich da aber einschränkt ist die DLC mit 64. Die MTU von 1500 bei Eth ist schon schoner. Damit bekomme ich alle Daten die zusammen gehören mit einem Paket übertragen und muss mir keine Gedanken über die Reihenfolge der Can Pakete machen. Paul B. schrieb: > Wäre XCP eventuell das was du brauchst um besser an Infos aus dem > Steuergerät zu kommen zu können? > https://www.csselectronics.com/pages/ccp-xcp-on-can-bus-calibration-protocol Ich habe da eher sowas wie Cyphal im Auge. https://opencyphal.org/ Aber auch die haben bei CAN-FD das Problem das größere Pakete müssen geteilt werden. Die nehmen da aber den CAN Treiber in die Pflicht dass dieser die Pakete mit der selben ID aber definierter Reihenfolge sendet. Das kollidiert eigentlich mit dem CAN-Gedanken. Weil Mechanismen wie Autoretransmit usw. da bestimmt Probleme machen.
Alex E. schrieb: > Taugt der LAN8650 was oder was könnt ihr empfehlen. Für Empfehlungen musst du Daten liefern. Benötigte Datenrate, Latenz, Galvanisch getrennt, Anzahl Teilnehmer, Datensicherheit , Leitungslänge ist kein größes Thema, oder? ...
:
Bearbeitet durch User
Obelix X. schrieb: > Alex E. schrieb: >> Taugt der LAN8650 was oder was könnt ihr empfehlen. > > Für Empfehlungen musst du Daten liefern. Datenrate? Latenz? Galvanisch > getrennt? Anzahl Teilnehmer? 5x Motorumrichter je: - galv. getrennt wegen Stromaufnahme - 0,1 - 0.8MBit/s (Wunsch wenn ich alles an Daten raus haue) - Zyklus 1ms - Latenz kleiner 100us, 10us wäre gut. 1x Servo-Aktor: - galv. getrennt wegen Stromaufnahme - 0,1MBit/s - Zyklus 5ms - Latenz kleiner 100us 1x IMU: - keine trennung notwendig - 0,5MBit ( Debug Datensammlung) - Zyklus 1ms - Latenz kleiner 100us 1x IO-Sammler: - keine Trennung notwendig - 0,05 MBit/s - Zyklus 10ms - Latenz kleiner 100us 1x Master (RPi): - keine Trennung notwendig - 0,5MBit/s - Zyklus 1ms (Gilt es noch zu testen ob das mit RT-PREEMT machbar ist für die Anwendung) - Latenz kleiner 100us (wird nicht einfach, ich weiß) Die Datenraten verstehen ich als Theoretischer Wurst-Fall und werden praktisch wahrscheinlich nie alle gleichzeitig so hoch sein. Wir reden vllt. von 4MBit wenn ich meine Datensammelwut etwas ausdunne. Was mit CAN-FD gehen sollte. Aber Ich müsste mich direkt am Anfang einschränken. Kann man machen aber einfach so Daten raushauen zu können und aufzuzeichnen wäre schon schon.
:
Bearbeitet durch User
Alex E. schrieb: > Taugt der LAN8650 was oder was könnt ihr empfehlen. Der LAN8650 ist ein SPI MAC-PHY. Dein STM32H7 hat aber selber einen Ethernet MAC, und zwar mit Unterstützung durch CubeMX etc. Den solltest Du daher auch benutzen. Und wenn Du den benutzt, dann brauchst Du nur noch einen PHY, und das wäre dann ein LAN8670/71/72, je nach dem ob MII oder RMII gefragt ist. Für den Pi wäre ein Ethernet Switch das geeignete (z.B. eine Kombination aus LAN9354 und LAN8671), oder ein LAN8651 am SPI als separater Netzwerkport. Da gibts z.B. das hier: https://www.mikroe.com/two-wire-eth-click fchk
Alex E. schrieb: > Für das Interfacing zum Pi dachte ich an sowas > https://www.nxp.com/products/interfaces/ethernet-/automotive-ethernet-phys/ethernet-media-converter-for-drones-rovers-mobile-robotics-and-automotive:RDDRONE-T1ADAPT Das ist für 100BaseT1, also auch Punkt-zu-Punkt. 10BaseT1S, 10BaseT1L, 100BaseT1 und 1000BaseT1 sind nicht untereinander kompatibel. Du musst explizit nach 10BaseT1S suchen. fchk
T1S Multidrop hat halt hohe Latenzen, Token Ring eben. https://www.ieee802.org/3/cg/public/Jan2019/Tutorial_cg_0119_final.pdf
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.