Einfacher CAN-FD (streaming-)logger mir Rpi(?)+?

OP #7508225

Hallo zusammen,

ich müsste Daten von zwei Sensoren mit CAN-FD Schnittstelle aufzeichnen. Wichtig is dass ich das ganze in ein dichtes kleines Gehäuse packen kann, damit es mobil einsatzfähig ist. Ich brauche online keine Datenverarbeitung sondern nur die Rohdaten mit Timestamp. Wichtig is zudem, dass alle Frames empfangen werden, auch wenn beide Busse mit voller Auslastung bei 5Mbit laufen.

Aktuell nutze ich einen Laptop im Rucksack mit Peak PCan-USB. Funktioniert, is aber wenig praktikabel für längerfristigen Einsatz.

Das einfachste wäre evtl. den Peak USB-Dongel zu Schlachten und möglichst direkt an den Raspi zu flanschen. Interessant wäre hier, ob der Raspi den Datendurchsatz packt, bevor ich den Dongel schlachte. Hat da jemand Erfahrung mit? Alternativ gibt's auch jede Menge Boards für den Raspi, aber wie es sich da mit dem Datendurchsatz verhält is mir leider nicht wirklich ersichtlich.

Mir ist bewusst dass es hierfür Lösungen zu kaufen gibt, die liegen aber preislich deutlich über den angedachten 200-300€ und bieten meist allerlei Zusatzfunktionen die ich nicht benötige.

Viele Grüße und besten dank!

(Firma: EleLa - www.elela.de) #7508230

Den Peak würde ich nicht schlachten, das wäre mir zu riskant dass da was kaputt geht.

Satt dem Laptop könnte man einen anderen Kleincomputer verwenden, z.B. ein "Intel NUC", die gibt es für recht kleines Geld und haben einen Standard 19V Eingang. Mit einem 12V Akku zu 19V Adapter sollte das dann mobil gehen.

Für die Bedienung: Bei dem Computer den Hotspot aktivieren, dann kann man sich mit dem Handy darauf verbinden und z.B. mit VNC den Desktop bedienen. (VNC Server auf dem PC installieren)

Diese Lösung sollte Preislich in die 200..300€ passen.

OP #7508357

Hallo Markus,

ja im Prinzip wäre das natürlich auch möglich mit dem NUC. Ansich hätte ich aber gern etwas kleineres, also z.B. alles komplett im NUC-Gehäuse-Format. Daher auch die Idee mit dem Schlachten der PEAK-Adapter (Gehäuse weg, Kabel weg, SUBD weg), um dann alles kompakt zu haben. Die Sensoren befinden sich an einem Fahrrad/eBike und werden Outdoor verwendet, daher die Forderung nach dem dichten, kompakten und robusten Gehäuse.

An das selbst gefertigte Gehäuse sollen außen dann nur z.B. Binder-Einbaustecker für Power und 2xCAN. Daher ja auch die Idee mit den 2xCAN-Boards für den Raspi, die wären natürlich sehr kompakt an dem Raspi dran und würden ausreichen, sofern sie denn sauber funktionieren und den Datendurchsatz schaffen.

(Firma: EleLa - www.elela.de) #7508378

Wenn das ganze richtig Outdoor tauglich sein soll und klein und Kompakt, ich denke da sollte man in Richtung Engenentwicklung denken. So ein NUC verbraucht dazu einfach zu viel Strom, ein Raspi könnte man als Raspi Zero nehmen, der ist recht sparsam. Dazu ein CAN IC und dann die Aufzeichnung auf eine SD-Card machen. Vermutlich wirst du dann die Software ebenfalls selbst entwickeln dürfen.

Für wie viele Stunden soll die Aufzeichnung denn laufen? Wie groß darf der Akku sein?

#7508406

Wenn Du es klein haben willst, brauchst Du sowas hier:

https://www.peak-system.com/PCAN-M-2.473.0.html

Das ist ein M.2 PCIe CAN-FD Adapter, und der schafft auch volle Buslasten bis 12 MBit/s. Gibts mit ein, zwei und vier Kanälen.

PCIe schließt natürlich einen normalen Pi kategorisch aus - Du bräuchtest ein CM4 oder einen Pi5, wo das PCIe herausgeführt ist. Ein NUC oder ein Odroid H2/H3(+) wäre hier die geeignete Plattform.

Aber billig ist das auch nicht.

Der eben erwähnte MCP2515 ist unbrauchbar, weil er kein CAN-FD kann. Du bräuchtest einen bzw zwei MCP2518FD (das ist auch der einzige, der nicht EOL ist), und dann zwei separate schnelle SPI-Ports, damit Du die Daten auch wirklich wegbekommst - plus einen sehr neuen Linux-Kernel. Das könnte etwas Arbeit werden, bis das tatsächlich läuft, und lohnt sich nur, wenn Du Deine eigene Arbeitszeit mit 0€/h ansetzt.

fchk

Beitrag #7508453 wurde von einem Moderator gelöscht.
OP #7509357

Es wird in jedem Fall eine Eigenentwicklung, wobei der Aufwand eben optimiert/reduziert sein soll. Die Peak-API für den USB-Dongel z.B. kenn ich schon, da hab ich auch eine Software dazu geschrieben. Der Stundensatz für das Projekt is bei 0€/h g...

Die CAN-FD -> SPI Boards und ICs kenne ich, da fehlt mir aber eben die Abschätzung ob z.B. ein Raspi den Datendurchsatz packt.

@Frank Das M.2 Board von PEAK kannte ich noch nicht, das klingt eigentlich perfekt. Wenn das in Kombination mit dem Raspi 5 funktioniert wäre das schon sehr edel. Das CM4 is ja eher nicht erhältlich...

Evtl. probiere ich es im ersten Schritt mit einem vorhandenen Raspi 3 mit den ebenfalls vorhandenen USB-Dongeln. Im nächsten Schritt dann die Version mit dem M.2 Board.

#7509409

Fabian N. schrieb:

@Frank Das M.2 Board von PEAK kannte ich noch nicht, das klingt eigentlich perfekt. Wenn das in Kombination mit dem Raspi 5 funktioniert wäre das schon sehr edel. Das CM4 is ja eher nicht erhältlich...

Doch, schon: https://rpilocator.com/?country=DE&cat=CM4

Ich weiß aber nicht, ob der Treiber jemals auf was anderem als amd64 getestet wurde. Der Pi hat ja PCIe-mäßig einige Quirks. Daher meine Empfehlung für Odroid H3(+). Das wird dann tatsächlich einfach so funktionieren.

fchk

#7511609

Hallo, der Teensy 4.1 hat doch unter anderem einen Can-FD. Noch einen MCP2562FD dran und fertig. Da gibt es 1 SDIO (4 bit) native SD Card Port an einem ARM Cortex-M7 mit 600 MHz, zur Not auch Usb 2.0 Hi Speed. Das sollte wohl für zwei Sensoren mehr als ausreichend sein. Gruß

#7511910

Muss denn unbedingt jeder Sensor seinen eigenen CAN haben?

Frank K. schrieb:

Ich weiß aber nicht, ob der Treiber jemals auf was anderem als amd64 getestet wurde.

Die Peak-Treiber sind doch seit längerem Teil des mainline-Kernels: https://www.peak-system.com/fileadmin/media/linux/index.htm

Top S. schrieb:

Hallo, der Teensy 4.1 hat doch unter anderem einen Can-FD. Noch einen MCP2562FD dran und fertig.

Wenn tatsächlich zwei separate CANs nötig sind, müsste man halt noch einen zweiten CAN-FD-Controller anschließen. Ansonsten denke ich auch, dass der Teensy ziemlich gut für diesen Einsatzzweck geeignet sein sollte. Wenn man die 600 MHz nicht braucht, kann man ihn auch niedriger takten, um Strom zu sparen, und platzmäßig wird man wohl auch kaum was kompakteres finden.

#7511934

Vergiss den MCP2518FB bzw. MCP25625FD. Der Raspi wird die Daten nicht schnell genug abholen können wenn der Bus ausgelastet ist, selbst bei einem Bus. Das Protokoll ist viel ineffizienter als beim MCP2515 (der aber, wie bereits angesprochen, kein CAN-FD kann).

Meine Empfehlung: Nimm einen kleinen Mikrocontroller mit eingebautem CAN-FD Controller und lass den die Daten über eine serielle Schnittstelle mit RTS/CTS Flow Control rauspusten.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 3 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.