Ich suche ein CAN-Device oder Platine als Gegenstelle um mich mit CAN beschäftigen zu können.
Der Mikrocontroller, den ich verwende, ist STM32L432KC auf einem Nukleo-Board. Ein Transceiver ist nicht enthalten!
Ich möchte lediglich mit einer Gegenstelle Daten austauschen können. Ob ich dadurch LEDs schalte, Temperaturen auslese etc. ist Nebensache.
Ich suche ein CAN-Device oder Platine als Gegenstelle um mich mit CAN
beschäftigen zu können.
Ich möchte lediglich mit einer Gegenstelle Daten austauschen können. Ob
ich dadurch LEDs schalte, Temperaturen auslese etc. ist Nebensache.
Was für ein CAN? Gibt ja verschiedene Variätäten. Wie wäre es mit "MCP2515
CAN Bus Monitor Demo Board"?
Ja genau ein Demoboard benötige ich, das Wort ist mir beim erstellen des Threads nicht eingefallen.
Der "MCP2515 CAN Bus Monitor Demo Board" geht schon in die richtige Richtung, ist aber sau teuer für mein vorhaben.
Des Weiteren ist es ein CAN <--> SPI?
Ich will mit meinem Nucleo-Board die CAN-HW initialisieren (ob selbst oder mit Cube) und dann einfach Nachrichten austauschen können.
Das heißt, ich brauche eine fertige Platine als Gegenstelle mit Firmware, Transceiver etc.
MCP2515 + MCP2561 sind z.B. ein gutes Gespann.
Man bleibt plattformunabhängig und kann evtl.
noch einen ISO-Koppler in den SPI-Bus einplanen.
Interrupt-Auswertung vom MCP2515 wäre noch wichtig.
Quellcode zur Ansteuerung gibt es auf Github ohne Ende.
Warum nicht einen Arduino plus MCP2515-Modul als Gegenstelle? Dann für den Nucleo noch einen Transceiver, und es kann losgehen. Oder halt zwei Nucleos, jeweils mit Transceiver, wie schon vorgeschlagen.
Hilfreich dabei sind Oszilloskop und Logikanalysator (den LA nicht direkt an die CAN-Leitungen, sondern an RX und TX der Transceiver).
Damit hat man nicht nur eine 100% sicher funktionierende Gegenstelle sondern auch ein gutes Werkzeug incl. Software um das auf dem Bildschirm sehen zu können. Abgesehen davon hat die Firma eine sehr gute und dokumentierte API für eigene Programme.
Daher: Kaufempfehlung für jeden der mit CAN was machen möchte.
Dieser Adapter kann auch FD-CAN und ist somit für die Zukunft ebenfalls gut zu gebrauchen.
Ein Selbstbastel Board als Gegenstelle kann man zwar machen, spätestens beim zweiten oder dritten mal ist das dann nervig. Daher empfehle ich gleich ein gutes Werkzeug zu kaufen.
** Ich empfehle den Peak Adapter nicht aus Werbegründen sodern weil ich davon selbst welche habe und damit sehr zufrieden bin. Ich habe keine Verträge mit der Firma. **
Dem schließe ich mich an. Ich habe auch so ein Teil. Bei CAN Entwicklung ist es absolut notwendig, einen definitiv funktionierenden Knoten am Bus zu haben. Du debuggst Dich sonst zu Tode.
** Ich empfehle den Peak Adapter nicht aus Werbegründen sodern weil ich
davon selbst welche habe und damit sehr zufrieden bin. Ich habe keine
Verträge mit der Firma. **
Bei CAN Entwicklung ist es absolut notwendig, einen definitiv
funktionierenden Knoten am Bus zu haben. Du debuggst Dich sonst zu Tode.
Hatte ich nicht, und ich lebe noch, insofern ist "absolut notwendig" falsch :) Den Großteil meiner Debuggingzeit verbringe ich mit der Kabelage, nicht mit wildgewordenen Knoten ...
Der "MCP2515 CAN Bus Monitor Demo Board" geht schon in die richtige
Richtung, ist aber sau teuer für mein vorhaben.
Des Weiteren ist es ein CAN <--> SPI?
Wie ich neulich gesehen habe, sind bei Microchip alle SPI CAN Controller außer dem MCP2518FD und MCP251863 (= MCP2518FD + Transceiver) not recommended for new designs.
Der arbeitet mit dem SLCAN Protokol das sich extrem einfach auf allen Systemen (win,osx,linux) verwenden lässt. Die üblichen Linux-Verdächtigen mit SocketCan sind da wesenlich unflexibler.
Etwas ähnliches gibt es massenhaft im Netz als canable:
Damit hat man nicht nur eine 100% sicher funktionierende Gegenstelle
sondern auch ein gutes Werkzeug incl. Software um das auf dem Bildschirm
sehen zu können. Abgesehen davon hat die Firma eine sehr gute und
dokumentierte API für eigene Programme.
Daher: Kaufempfehlung für jeden der mit CAN was machen möchte.
Dieser Adapter kann auch FD-CAN und ist somit für die Zukunft ebenfalls
gut zu gebrauchen.
Ein Selbstbastel Board als Gegenstelle kann man zwar machen, spätestens
beim zweiten oder dritten mal ist das dann nervig. Daher empfehle ich
gleich ein gutes Werkzeug zu kaufen.
** Ich empfehle den Peak Adapter nicht aus Werbegründen sodern weil ich
davon selbst welche habe und damit sehr zufrieden bin. Ich habe keine
Verträge mit der Firma. **
Hi Leute, danke für eure Beiträge.
Auf der Arbeit habe ich in der Tat bereits ein Peak Adapter, aber für zu Hause ist das zu teuer.
Auf der Arbeit konnte ich mich noch nicht wirklich mit CAN tiefer auseinander setzen, denn wir haben zwei Stacks fertig und funktionsfähig eingekauft.
Daher war die Idee, ein bisschen etwas zu Hause zu machen.
Ich denke, ich werde lediglich versuchen, die CAN Hardware auf meiner Platine zu initialisieren und einfach irgendwelche Daten nach draußen zu senden.
Mit einem Logic Analyser werde ich es dann tracen, ohne eine Gegenstelle zu haben.
Mit einem Logic Analyser werde ich es dann tracen, ohne eine Gegenstelle
zu haben.
Wenn nicht eine Gegenstelle einen korrekten Empfang mit ACK quittiert, wird der CAN-Frame immer wieder versandt, bis der Sender in den Fehlermodus wechselt und das Senden komplett einstellt. Das ist relativ witzlos ...
Auf der Arbeit habe ich in der Tat bereits ein Peak Adapter, aber für zu
Hause ist das zu teuer.
Wenn Du schon Peak teuer findest, wie bezeichnest Du dann die Vector-Produkte?
Vector nutzen wir in der Firma, aber FZH (für zu Hause) habe ich mir einen Peak-Adapter geleistet, den billigen, nicht galvanisch getrennten empfinde ich als preiswert (er ist seinen Preis wert), der dazu verfügbare Linux-Stack ist perfekt für meine Anwendungen. So ein Teil hast du für die Ewigkeit. Wenn Du mehr Knoten brauchst, kannst Du mit dem Adapter funktionierende Gegenstellen designen und dann ebenfalls als "Master" für die Entwicklung nutzen. Ist wie in der Messtechnik, ein gutes Normal genügt, um davon alles abzuleiten.
habe ich mir
einen Peak-Adapter geleistet, den billigen, nicht galvanisch getrennten
empfinde ich als preiswert (er ist seinen Preis wert)
Dem kann ich nur zustimmen, die Peaks und die dazugehörigen Softwareprodukte sind super, in einem meiner Bastelrechner habe ich einen als PCI Karte und denke schon länger nach mir auch einen „mobilen“ zu holen.
Auf der Arbeit habe ich in der Tat bereits ein Peak Adapter, aber für zu
Hause ist das zu teuer.
Wenn Du schon Peak teuer findest, wie bezeichnest Du dann die
Vector-Produkte?
Vector nutzen wir in der Firma, aber FZH (für zu Hause) habe ich mir
einen Peak-Adapter geleistet, den billigen, nicht galvanisch getrennten
empfinde ich als preiswert (er ist seinen Preis wert), der dazu
verfügbare Linux-Stack ist perfekt für meine Anwendungen. So ein Teil
hast du für die Ewigkeit. Wenn Du mehr Knoten brauchst, kannst Du mit
dem Adapter funktionierende Gegenstellen designen und dann ebenfalls als
"Master" für die Entwicklung nutzen. Ist wie in der Messtechnik, ein
gutes Normal genügt, um davon alles abzuleiten.
Ok, ihr habt mich überzeugt.
Wenn ich mir das Teil besorge, will ich es dennoch auf meinem Nucleo-Board betreiben können.
Das heißt, ich brauche einen Transceiver welcher mit 3,3V oder 5V läuft und in Dip-Package verfügbar ist.
Ich will kein SPI-CAN haben sondern reines CAN.
Desweiteren brauche ich eine Terminierung, müsste ich irgendwo in der Schublade haben.
Das heißt, ich brauche einen Transceiver welcher mit 3,3V oder 5V läuft
und in Dip-Package verfügbar ist.
Gibt's sowas nicht zu Hauf als "Arduino"-/Maker-Zubehörplatine?
Notfalls lötet man sich sowas selber (CAN-Transceiver kosten ja nun nicht die Welt und kompliziert zu verarbeiten sind die auch nicht).
Ich habe mir eine CAN-RS485-Adapterplatine von Waveshare gegönnt, die auch auf einn Nucleo-Board passte, um damit (erfolgreich) ein Entwicklungssystemm für einen MODBUS-CAN-Umsetzer zu bauen.
Allerdings hatte das Arduino- und Morpho-Steckverbinder.
Das wird also nicht unbedingt für dein Nucleo passen.
Gibt's sowas nicht zu Hauf als "Arduino"-/Maker-Zubehörplatine?
Ja gibt es. Leider nur für High-speed CAN. Ich hab mir meinen Low-Speed Adapter selbst entworfen, allerdings für KFZ gleich noch mit Spannungsquelle. Kosten unter 15 €
Desweiteren brauche ich eine Terminierung, müsste ich irgendwo in der
Schublade haben.
Zwei Widerstände von je 120R für 2 Cent.
Ich fürchte du hast CAN nicht verstanden. Wie bereits erwähnt brauchst du einen zweiten Teilnehmer am BUS. Das kann ein CAN<->PC Adapter sein (Peak o. Ä.) oder ein beliebiger Knoten. Den du auch z.B. mit einem Arduino und den MCP2515 plus MCP2561 billig aufbauen kannst.
Dazu nochmal der passende Stack, Hardware und Info:
http://www.kreatives-chaos.com/artikel/can
Desweiteren brauche ich eine Terminierung, müsste ich irgendwo in der
Schublade haben.
Zwei Widerstände von je 120R für 2 Cent.
Ich fürchte du hast CAN nicht verstanden. Wie bereits erwähnt brauchst
du einen zweiten Teilnehmer am BUS. Das kann ein CAN<->PC Adapter sein
(Peak o. Ä.) oder ein beliebiger Knoten. Den du auch z.B. mit einem
Arduino und den MCP2515 plus MCP2561 billig aufbauen kannst.
Dazu nochmal der passende Stack, Hardware und Info:
http://www.kreatives-chaos.com/artikel/can
Du hast den ganzen Thread nicht gelesen.
Es geht einfach nur ums üben.
Die Kollegen hier im Thread haben mich überzeugt, einen PCAN-Adapter zu besorgen.
Mir ist übrigens eine alternative Möglichkeit eingefallen.
Ich besitze neben dem Nucleo-Board auch einen SAMC21-Xplained Pro. Dort ist ein CAN-Tansceiver bereits drauf und die CANH und CANL sind nach außen hin ausgeführt.
Mein Plan ist, den CAN vom Nucleo-Board zu verwenden. Die CAN TX und RX werden mit dem Transceiver auf dem Xplained-Board verbunden. Die CANH und CANL verbinde ich dann mit einem PCAN-Adapter.
Mein Plan ist, den CAN vom Nucleo-Board zu verwenden. Die CAN TX und RX
werden mit dem Transceiver auf dem Xplained-Board verbunden. Die CANH
und CANL verbinde ich dann mit einem PCAN-Adapter.
Wenn du CAN TX des Nucleo STM32 mit TXD des ATA6561 auf dem Xplained-Board verbindest, und GND des Nucleo mit GND des Xplained, und das Xplained-Board mit Strom versorgst damit der ATA6561 läuft, dann musst du aber aufpassen, dass die CAN0TX-Leitung des SAMC21 (also PA24) hochohmig bleibt.
Nein.
Der PCAN-Explorer kostet übrigens ca. 500,- Euronen. Die kostenlose Variante ist recht eingeschränkt. Wie geschrieben: Busmaster.
Oder welche Alternativen an Software hätte ich
Da wäre der CANable Open-Source USB to CAN Adapter:
https://canable.io/
Die Dinger gibt es aus dem Reich der Mitte fertig im bekannten Auktionshaus für um die 10 Euro.
Die Kollegen hier im Thread haben mich überzeugt, einen PCAN-Adapter zu
besorgen.
Mir ist übrigens eine alternative Möglichkeit eingefallen.
[...]
Mein Plan ist, den CAN vom Nucleo-Board zu verwenden. Die CAN TX und RX
werden mit dem Transceiver auf dem Xplained-Board verbunden. Die CANH
und CANL verbinde ich dann mit einem PCAN-Adapter.
Das ist wirklich schwer zu verstehen. Was ist der "CAN"? wie kann man damit einen PCAN-Adapter ersetzen.
Anm. dazu: Der MCP2551 tut auch mit 3.3V, die Pegel auf dem Bus sind aber nicht normgerecht. Besser geeignet ist der bereits mehrfach erwähnte MCP2562, den gibt es auch im freundlichen DIL-Gehäuse. Braucht aber 3.3 und 5Volt Versorgung.
Damit hat man nicht nur eine 100% sicher funktionierende Gegenstelle
sondern auch ein gutes Werkzeug incl. Software um das auf dem Bildschirm
sehen zu können.
Hmmm, 260,- EUR. So wie ich verstanden habe, will der OT einfach ein wenig mit CAN basteln und Erfahrung sammeln. Ich denke, da wird er das Geld eher nicht ausgeben wollen! Wenn er sich beruflich mit dem Thema beschäftigen möchte, sieht es natürlich anders aus.
Und: ohne gegoogelt zu haben, denke ich, dass solche Adapter auch günstiger zu bekommen sind. CAN ist ja keine Geheimwissenschaft.
Ich kann Marci nur zustimmen, obwohl ich zuhause auch Peak-Dongle im Einsatz habe. Für erste Gehversuche muss das echt nicht sein. Vlt. was von fischl.de, kenne ihn oder seine Produkte nicht, sieht aber vernünftig aus. Vlt. auch einfach ein Logic Analyzer für nen 10er
kein SPI-CAN, ja verstehe du willst nicht vom µC, per SPI mit dem MCP2151 kommunizieren. Dann brauchst du entweder einen µC der den CAN-Controller integriert hat oder einen SJA1000 der hat einen ganzen 8bit Port und ein paar zusätzliche Pins wie ChipSelect, Read, Write,..... der könnte sogar 2 CAN-Bus-Systeme betreiben.
Es gibt bei AliExpress Netzteile, die man sehr einfach über CAn steuern kann, leider habe ich auch noch nicht so viel gut dokumentiertes gefunden, dass günstiger ist.
Bei dem Netzteil sind alle Befehle etc ausgeführt
Wäre halt ganz cool, wenn so KFZ Zeug gut dokumentiert wäre und man
einfach bei ebay ein alten Teil kaufen könnte
Gateways z.B. von VW kosten unter EUR 20. Da liegt der Diagnose CAN-Bus an, OBD ist dokumentiert und zu UDS bei VW findet man genügend Informationen im Netz. Und es gibt zusätzlich noch diverse andere CAN-Busse auf denen das Gateway normalerweise periodisch Messages verschickt. Zum ersten Experimentieren mit dem CAN-Bus sollte das ausreichen.
Wenn nicht eine Gegenstelle einen korrekten Empfang mit ACK quittiert,
wird der CAN-Frame immer wieder versandt, bis der Sender in den
Fehlermodus wechselt und das Senden komplett einstellt. Das ist relativ
witzlos ...
ich habe keine Gegenstelle gekauft sondern den Sender im Loopback-Mode betrieben.
Das hat mir gereicht.
So konnte ich einiges ausprobieren, wie z.B. Filtersettings, Interrupts etc.
Zwei Stühle, eine Meinung. Aber ein einzelnes Gateway reicht da
womöglich nicht.
Du meinst weil das Senden eventuell wegen des fehlenden ACK eingestellt wird? Bei keinem der Fahrzeug Gateways, die ich bisher gesehen war das so. Das heisst nicht dass es vielleicht doch welche gibt die das tun, es gibt aber genügend bei denen das nicht passiert.
Wäre halt ganz cool, wenn so KFZ Zeug gut dokumentiert wäre und man
einfach bei ebay ein alten Teil kaufen könnte
Hol Dir doch einen ESP-Sensor vom Schrottplatz. Ohne Gegenstelle geht der ins Failsafe und sendet dann zyklisch Drehrate und Beschleunigung. Wenn man das Teil bewegt sieht man, welche Zahlen sich ändern. So hast Du einen Testsender mit 500 kbit/s.
Das wird eine Einstellungssache sein.
Beim STM32 z.B. gibt es die Möglichkeit, dass bei einem NACK von einem Knoten der Sender automatisch erneut sendet.
Eventuell ist das ausgeschaltet.
Bit 4 NART: No automatic retransmission
0: The CAN hardware will automatically retransmit the message until it has been
successfully transmitted according to the CAN standard.
1: A message will be transmitted only once, independently of the transmission result
(successful, error or arbitration lost).
Der Vollständigkeit halber zu dem Hinweis weiter oben auf ein Fahrzeug-Gateway ein konkretes Beispiel:
Das VW Gateway Teilenummer 3C0907530C gibt es für unter EUR 20 inklusive Versand. Andere Varianten mit einem anderen Buchstaben als das "C" am Ende gehen vermutlich ebenfalls.
Das Gateway hat folgende CAN-Busse:
1
Diagnose-CAN 500 kbit/s (im Gateway mit 60 Ohm terminiert)
2
Antrieb-CAN 500 kbit/s
3
Kombi-CAN 500 kbit/s (im Gateway mit 60 Ohm terminiert)
4
Komfort-CAN 100 kbit/s
5
Infotainment-CAN 100 kbit/s
Eine Anschlussbelegung gibt es z.B. hier (Bild im Anhang):
T20d/11 kommt an Masse, T20d/14 und T20d/1 an +12 Volt.
Wenn das Gateway an die Spannungsversorgung angeschlossen ist werden auf allen CAN-Bussen bis auf den Diagnose-CAN periodisch Nachrichten verschickt, auch wenn keine Gegenstelle angeschlossen ist und damit keine Bestätigung des Empfang erfolgt (das kann man mit dem Oszilloskop prüfen).
Der Diagnose-CAN reagiert z.B. auf die folgende Nachricht (VW Transport Protocol 2.0, "Channel setup"):
Als Anmerkung: in dem Gateway 3C0907530C von Temic sind ein µPD70F3178(A) (V850E/CG3), zwei TJA1054 (CAN Transceiver), drei TLE6250 (CAN Transceiver) und ein M95160 (SPI EEPROM) verbaut.
Und wo sind die dazu passenden CAN IDs und Bitfelder die es angeblich
genügend im Netz gibt? Ohne die versteht man nur 火车站
Wenn Du mit dem Informationen unter dem angegebenen Link zum VW Transport Protocol 2.0 nicht in der Lage bist z.B. einen "Read Data By Local Identifier" Request an das Gateway zu schicken solltest Du Dich vielleicht zuerst mit den Grundlagen beschäftigen.
Und nein, es geht nicht um sämtliche Details dieses VW Gateways sondern um eine günstige Gegenstelle mir der man die ersten Experimente mit dem CAN-Bus machen kann.
Und ja, wenn man im Netz sucht würde man auch einige Details zu den Messages finden, die auf den anderen CAN-Bussen des Gateways verschickt werden. Aber darum geht es nicht wenn man als allererstes nur eine Gegenstelle braucht die irgend etwas auf dem CAN-Bus verschickt.
Und nein, es geht nicht um sämtliche Details dieses VW Gateways sondern
um eine günstige Gegenstelle mir der man die ersten Experimente mit dem
CAN-Bus machen kann.
Sinnlos, dann lieber ein Fahrzeug wählen das auch dokumentiert ist.