Forum: Projekte & Code USB/CAN-FD Hardware und Software


von Rudolph R. (rudolph)


Lesenswert?

Zeit mal vorzustellen was schon eine Weile in Arbeit ist.

Das ist ein Kooperations-Projekt, wir haben ein USB/CAN-FD Interface mit 
zwei isolierten Kanälen, einen DFU-Bootloader, die Fimrware, den 
USB-Treiber dazu und eine Windows Software.
Wobei das Interface wohl auch problemlos unter Linux mit Socket-CAN 
läuft.

https://github.com/RudolphRiedel/USB_CAN-FD
https://github.com/jgressmann/supercan
https://github.com/TDahlmann/canpp

Das steht alles unter MIT Lizenz.

Also mein Part ist da jetzt rein die Hardware, nur im CAN-Treiber 
dürften noch ein paar Zeilen Code von mir stecken.
Die Firmware basiert auf TinyUSB.
Und die Can++ Software ist schon länger in Arbeit und nicht für das 
Interface entwickelt worden, wir haben den Kollegen mit an Board geholt 
als das Interface bereits mit der eigentlichen (propriertären) Software 
lief.

Hier mal zwei Bilder die ich im JLCPCB Thread gepostet hatte:
https://www.mikrocontroller.net/attachment/497550/20210320_122352s.jpg
https://www.mikrocontroller.net/attachment/497556/20210320_123433s.jpg

Die 6-stellige "SN" auf dem Label ist inzwischen eine 8-stellige ID, 
z.B. "b9aae1d4", diese ID wird als CRC-32 aus der eindeutigen 128-Bit ID 
der Controller berechnet um die Geräte auseinander halten zu können wenn 
man mehrere davon verwendet.

Mir fehlt jetzt eigentlich nur noch eine Firma welche die Hardware 
produziert und verkauft, damit ich die Geräte nicht mehr teilweise von 
Hand löten muss. :-)

Ich muss auch mal das Repository aktualisieren, ich habe schon länger 
eine Version 04 der Platine bei der die eingepatchten LEDs direkt auf 
der Platine sind, nur habe ich diese Platine bisher nicht herstellen 
lassen.

Für eine Version 10 der Platine könnte ich mir vorstellen auf einen 
STM32 zu wechseln, nur kann ST keines der vier Modelle die dafür in 
Frage kommen würden liefern.
Die sind zwar alle auf "Active" und "Product in mass production", 
gleichzeitig aber "No availability of distributors reported".
Die Anforderungen sind übrigens 2x CAN-FD, 64 Pin TQFP und USB 
Highspeed.

: Bearbeitet durch Admin
von René F. (Gast)


Lesenswert?

Rudolph R. schrieb:
> Mir fehlt jetzt eigentlich nur noch eine Firma welche die Hardware
> produziert und verkauft, damit ich die Geräte nicht mehr teilweise von
> Hand löten muss. :-)

Für die Produktion wäre ein EMS Dienstleister der richtige 
Ansprechpartner. Ansonsten wenn du damit weiter nichts zu tun haben 
möchtest probiere es doch bei Firmen wie Seeed und iTead, diese könnten 
bei Interesse produzieren und verkaufen.

von Rudolph R. (rudolph)


Lesenswert?

René F. schrieb:
> Für die Produktion wäre ein EMS Dienstleister der richtige
> Ansprechpartner.

Die Mengen die ich bräuchte würden den Preis pro Stück bei mindestens 
100 Euro liegen lassen, wenn nicht gar bei 200 Euro oder noch mehr, also 
vollständig bestückt in Deutschland mit allen Teilen und den kompletten 
Nebenkosten.
Das ist machbar wenn man das kommerziell nutzt, nur nicht so wirklich 
für privaten Gebrauch.
Ich bin nicht sicher ob das schon genug Fahrt aufgenommen hat als das 
ich damit auf eine Firma zugehen könnte. Der Thread hier ist ja der 
allererste Schritt um zu schauen ob das sonst noch jemanden 
interessiert.
Aber so langsam könnte ich mir vorstellen das mein Arbeitgeber daran 
interessiert sein könnte so 20 bis 50 Stück von den Geräten herstellen 
zu lassen.
Hmm, ja, ein Grund mehr die 04 fertig zu machen, dann kann ich mir dafür 
ein Angebot geben lassen und damit zu meinem Chef gehen. :-)

Die miese Lage auf dem Bauteilmarkt wird sich aber wohl auch noch eine 
Weile hin ziehen, das ist jetzt nicht die beste Zeit neue Produkte zu 
fertigen.

Beitrag #6709828 wurde von einem Moderator gelöscht.
von Rudolph R. (rudolph)


Lesenswert?

Tja, das war es wohl erstmal, vor Ende 2022 wird man wohl keine 
ATSAME51J mehr in die Finger bekommen können.
Zuletzt habe ich noch ein paar ATSAME51J18A-AU gekauft (ich hätte mehr 
kaufen sollen...), die funktionieren auf der Platine auch ohne 
Änderungen an der Software.
Nur jetzt bekomme ich gar nichts mehr und Microchip listet alle Typen ab 
frühestens Ende 2022 wieder lieferbar.
Die Platine gibt es jetzt in Revision 4, ich habe welche teilbestückt 
bestellt, wenn die funktioniert veröffentliche ich die auch.

Einen anderen Controller würde ich ja eindesignen, wenn ich einen 
bekommen könnte.
STM32 habe ich gerade noch mal nachgesehen, da kommen vier Typen in 
Frage laut der Auswahl in STM32CubeIDE, nur einen Distributor kann STM 
für keinen davon nennen.

Das wird alles noch viel unlustiger bevor es wieder besser wird.

von Max G. (l0wside) Benutzerseite


Lesenswert?

Hätte ja nie gedacht, dass ich so was mal vorschlage:
PIC32MX534 gibt es bei Mouser noch in brauchbaren Stückzahlen.

Ansonsten ist für absehbare Zeit erst mal Not und Elend angesagt. Ich 
bekomme ein bisschen mit, was sich in der Automobilindustrie gerade tut. 
Das ist überhaupt nicht mehr lustig, und auch die Gegenmaßnahmen sind 
teilweise abenteuerlich.

von Rudolph R. (rudolph)


Lesenswert?

Die PIC32MX534 können aber gar kein CAN-FD, sondern nur Classic-CAN.
Und der 534 hat auch nur 1x CAN.
Ein dsPIC33CH256MP506-E/PT könnte benutzbar sein, oder auch ein 
dsPIC33CH256MP505T-I/PT.
Aber der hat einen völlig anderen CAN-Controller und auch nur Fullspeed 
USB, so eine Aktion würde also vor allem Arbeit bedeuten ohne das am 
Ende was besseres dabei raus kommt. Plus das man sich dabei einen 
kastrierten Compiler einfängt.
Da ich damit nicht meine Brötchen verdienen muss ist der Druck lange 
nicht hoch genug quasi von vorne anzufangen.
Die STM32 die ich angepeilt habe haben wie die ATSAME51 Bosch M-CAN 
Module und sind eben auch ARMs, die Anpassungen wären lange nicht so 
schlimmt.
Das wäre dann auch ein Upgrade auf Highspeed USB.

Aber die Controller sind nicht das einzige.
Die SI8621EC-B-IS und die TCAN1044VDDFR sind auch nicht lieferbar.
Und wenn ich heute die Liste abklappen würde, wäre wahrscheinlich noch 
mehr nicht mehr lieferbar.
Nächste Woche fehlt dann was anderes...

von Max G. (l0wside) Benutzerseite


Lesenswert?

Mein Fehler. Ich hatte das -FD überlesen. Da bist du dann vermutlich mit 
der gesamten Automobilindustrie im Wettbewerb.
Angeblich soll es erst 2023 wieder besser werden (und vermutlich ist 
dann viel zu viel da, Schweinezyklus lässt grüßen).

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Alleine die CAN-Tranceiver kosten bei halbwegs seriösen Brokern 
inzwischen >10€ pro Stück. Im Moment ist wirklich eine ganz schlechte 
Zeit um mit einem Projekt in eine (Klein)-Serie zu gehen.

Wenn das Gerät CAN-FD macht ist es wohl für Automotive-Anwendungen 
gedacht. Ist das als reiner Datenrekorder/-sniffer gedacht, oder in 
welche Richtung soll das genutzt werden?

Mit freundlichen Grüßen
Thorsten Ostermann

von Rudolph R. (rudolph)


Lesenswert?

Ich bin froh das ich wenigstens die Transceiver habe, als die bei 
DigiKey nicht mehr zu bekommen waren habe ich einen Satz direkt bei TI 
gekauft.

Wir nutzen die Interfaces zum Testen von Steuergeräten, die können jetzt 
zwar kein VN1610 oder VN1630 ersetzen, alleine schon nicht weil die 
nicht mit der Vector-Software laufen, aber für viele Zwecke braucht man 
das ja auch gar nicht.
Das ist jetzt einfach eine preiswerte Alternative, die Kosten für die 
Teile liegen, bzw. lagen, so bei <20 Euro.

Wir können mit unserer Software eine CAN-Datenbasis öffnen und 
Botschaften so nicht nur beim Empfang dekodiert anzeigen lassen, sondern 
auch gezielt Signale senden.

: Bearbeitet durch User
von Rudolph R. (rudolph)


Lesenswert?

Kleines Status Update.

Die Beschaffung der Bauteile ist weiter unlustig und wird es auch noch 
länger bleiben.

Der DFU Bootloader kann sich jetzt selber aktualisieren, dazu wird 
ausgenutzt das man den Speicher bei ATSAME5x in zwei Bänke aufteilen 
kann.

Ausserdem kann man die Platine jetzt wahlweise mit einem 
ATSAME51J18A-AU, ATSAE51J19A-AU oder ATSAME51J20A-AU bestücken (oder 
auch die Automotive Versionen davon, aber die sind nicht einfacher zu 
bekommen).
Streng genommen ging das vorher auch schon, aber jetzt unterstützt der 
Bootloader das direkt.

Dann habe ich noch mal fünf Platinen fertigen lassen in der neuen 
Revision mit direkt integrierten LEDs statt eingepatchter LED Platine.
Nur hatte JLCPCB keine SI8621EC-B-IS mehr, ich konnte  spontan auch 
woanders keine finden.
Nach etwas Suchen habe ich die ADuM121N gefunden die Pin- und 
Funktions-kompatibel zu sein schienen, 150Mbps, VCC und GND Pins gleich, 
pro Seite ein Eingang und ein Ausgang.
Nun ja, ein erster Test ergab natürlich das alles funktioniert hat bis 
auf die beiden CAN Kanäle. Die ADuM121N haben jeweils Eingang und 
Ausgang vertauscht gegenüber den SI8621EC-B-IS.
Wenn Bestellen wichtiger ist als vollständig prüfen...
Nun ja, ich habe die beiden ADuM121N runter gelötet und kopfüber wieder 
aufgelötet - jetzt läuft die Platine. :-)

von Rudolph R. (rudolph)


Lesenswert?

Falls es irgendjemanden interessieren sollte, ich habe gerade das Github 
Repository aktualisiert.

Zum einen ist jetzt die D5035-01-04 dort zu finden, zum anderen eine 
D5035-03-01.

Das D5035-03-01 ist eine Träger-Platine für einen Teensy4.
Ein Exemplar davon habe ich aufgebaut und das läuft auch, das ist so 
eine Antwort auf den Bauteil-Mangel.
Nur so richtig überzeugt mich das nicht, der RT1062 auf dem Teensy4 hat 
nur einen CAN-FD und so ist der zweite CAN von dem Gerät jetzt nur ein 
Classic-CAN was eher witzlos ist.
Und die RX/TX Anschlüsse für den CAN-FD liegen auf der Unterseite auf 
SMD Pads was etwas nervig war bei der Montage.

In letzter Zeit hatten DigiKey und Mouser aber auch überraschend ein 
paar ATSAME51J auf Lager und so konnte ich noch mal ATSAME51J18A-AU und 
ATSAME51J20A-AF kaufen.
Ich kann zwar immer noch keinen Bestücker beauftragen 20...100 Geräte zu 
bauen, aber wenigstens habe ich für die nächsten Monate genug zum 
Spielen...

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.