Einfaches Bussystem mit TJA1055/3 und Arduinos

#5141877
Lesenswert?

Hallo,
zurzeit studiere ich im Master "Mechatronic Systems Engineering" und bin 
mit der Wahl sehr zufrieden.
Nun soll ein kleines Projekt realisiert werden. Dazu soll mithilfe von 
CAN-Bausteinen TJA1055/3 und Arduinos (Nano oder Uno) ein einfaches 
CAN-Bussystem aufgebaut werden.

Ich möchte einfach "HELLO WORLD" vom einen Arduino über das 
CAN-Bussystem zum anderen Arduino senden und ausgeben.

Der Hardwareaufbau ist in den Application Hints vom TJA1055/3 gut 
erklärt. Das Problem bereitet mir nur die eigentliche Programmierung.

Es gibt im Internet unzählige Libs für CAN-Shields.
Diese CAN-Shields arbeiten mit (MISO,MOSI) also SPI, richtig? Der 
TJA1055/3 besitzt aber TXD und RXD PINS also UART. Daher sind diese Libs 
mit Beispielen für mich unbrauchbar bzw. ich muss diese umprogrammieren.
Kennt einer von euch eine passende Libary mit der ich mich ins Thema 
rein arbeiten kann?

Hoffe die Fragen lösen bei euch keinen Krampf aus. Komme aus dem 
Maschinenbau Bachelor und da haben wir herzlich wenig Richtung 
Elektrotechnik bzw. Informatik gemacht.

Vielen Dank im voraus!
Jonas
#5141912
Lesenswert?

Jo E. schrieb:
> Dazu soll mithilfe von CAN-Bausteinen TJA1055/3

Dass dies nur ein Transceiver ist wurde ja schon gesagt.
Aber warum muss es denn genau dieser sein?
Low-Speed CAN-Transceiver für Basteleien sind schwer zu bekommen.

Warum keinen der bewährten PCA82C251, MCP2551 oder SN65HVD251 High-Speed 
Transceiver?
Das hat den Vorteil dass einer von denen meist schon auf fertigen 
CAN-Modulen mit drauf sitzt:
https://www.google.de/search?q=mcp2515+can+module&client=firefox-b&dcr=0&source=lnms&tbm=isch&sa=X&ved=0ahUKEwj4p7qEgqLWAhVJ2xoKHVfVAyUQ_AUICigB&biw=1324&bih=948
#5152244
Lesenswert?

Ich habe wohl etwas Mist geschrieben...

Das Ziel ist es den Unterschied zwischen Differential-Ended zu 
Single-Ended zu zeigen. Dafür soll wie bereits gesagt Daten vom ersten 
Arduino über den TJA1055/3 über die CAN_H und CAN_L Leitungen zum 
anderen Arduino gesendet werden. Der TJA1055 kann dabei anscheinend 
zwischen 2-Draht und Single wechseln.


Ich schaffe es mittlerweile die Arduino direkt miteinander kommunizieren 
zu lassen juhu.
Nun soll das ganze auch über die TJA-Bausteine funktionieren.

-Die CAN_H und CAN_L Leitungen werden bei den TJA-Bausteine verbunden.
-Laut Application Hints werden dann RXD(TJA) mit RXD(Nano) und die TXD 
Leitungen verbunden
-STB und EN werden bei beiden TJA`s auf HIGH gesetzt
-VCC (5V) und GND über die Arduinos

Der Hardwareaufbau sollte hoffentlich damit fehlerfrei sein.

Softwaretechnisch bin ich aber völlig überfordert wie der CODE aussehen 
muss. Habt ihr da irgendwelche Hinweise/Tipps?

Vielen Dank für die ganzen Antworten
#5153679
Lesenswert?

Jo E. schrieb:
> -Die CAN_H und CAN_L Leitungen werden bei den TJA-Bausteine verbunden.
> -Laut Application Hints werden dann RXD(TJA) mit RXD(Nano) und die TXD
> Leitungen verbunden

Das hat dann aber nichts mehr mit CAN zu tun. Auch ist das kein 
Bus-System mehr sondern Punkt zu Punkt.
Das ist eine UART-Verbindung mit zweckentfremdeten CAN-Transceivern.

Jo E. schrieb:
> Softwaretechnisch bin ich aber völlig überfordert wie der CODE aussehen
> muss. Habt ihr da irgendwelche Hinweise/Tipps?

Warum? Das ist eine einfache UART-Sendung. Und die hat ja schon 
funktioniert wie du oben schriebst.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren