CAN-Bus an dem BeagleBone (ARM)

Gast #2443848
Lesenswert?

Guten Tag, alle Zusammen,

ich habe vor mit dem BeagleBone
(http://beagleboard.org/static/beaglebone/a3/Docs/H...)
über CAN-Bus kommunizieren zu können. Ich habe leider bisher keine
praktische Erfahrung mit dem CAN-Bus, so habe ich da ein paar Fragen,
die mir hoffentlich einer beantworten kann.

Wenn ich das richtig verstanden habe, brauche ich zusätzlich zu dem
CAN-Controller auf dem Board noch einen CAN-Transceiver. Ich habe mich
da für SN65HVD230 von TI entschieden
(http://www.ti.com/litv/pdf/slos346k). An dieser Stelle die Frage, ob
ich mich da richtig entschieden habe?

Dann habe ich noch eine Frage zur Beschaltung. Muss ich da noch was
beachten und dazu schalten? Oder nehme ich einfach den Transciever,
verbinde den mit dem Controller auf dem Board, verbinde R_s ensprechend
um den Modus festzulegen und bin dann fertig? Muss ich mich um den
Abschlusswiderstand kümmern oder rechne ich damit, dass ich an den Bus
angeschlossen werde, der schon abgeschlossen ist?

Wäre für die Antworten sehr dankbar!
(Firma: electronica@tdnet) Persönliche Seite #2443856
Lesenswert?

Wenn Du mit CAN experimentieren willst, empfehle ich Dir den
isolierten CAN Transceiver ISO1050 von Texas Instruments.

Du benötigst dann zwar zusätzlich eine TVS (PSM712-TCT) und
einen DC/DC Wandler Recom RSZ-3.305H, aber Du kannst am CAN
Bus nichts kaputt machen.

Bin habe gerade die drei Bauteile in größerer Menge bestellt
(es sind meine standard Bauteile) und für den Fall das Du sie
nicht einzeln kostengünstig bekommen kannt, schreib mir ne PM.

Ich hänge mal die AppNote von TI hier an

Grüße
Michelle
Angehängte Dateien:
Gast #2525827
Lesenswert?

Hallo Leszek,

habe schon versucht dir aus Flickr zu schreiben, aber das ging nicht.
Leider findet man im Netz wenig bis nichts über Beaglebone & CAN.
Ich möchte ebenso wie Du über CAN kommunizieren. Ich schaffe es 
mittlerweile die Pins zu muxen aber die Richtung steht z.B weiterhin für 
CAN_rx auf output.
Desweiteren erzeugt der Treiber beim laden kein entsprechendes Device.
Oder ich habe da was grundlegendes missverstanden?

Gruß
Gast #2526612
Lesenswert?

Gast #2526956
Lesenswert?

Hi,

bei mir kommen die devs (CAN0 und CAN1) auf dem Beaglebone nicht hoch.

Module                  Size  Used by
vcan                    1560  0
can_bcm                 8379  0
can_raw                 4431  0
can                    19911  2 can_bcm,can_raw
ti_hecc                 5978  0
can_dev                 6783  1 ti_hecc


Sind das die richtigen Kernelmodule oder fehlt was? Muss man irgenwas 
mit dem MUX machen?
Gast #2528238
Lesenswert?

CAN in Linux ist kein Device wie /dev/ttyXX, sondern eine richtige 
Netzwerk.

Einfach lesen: 
http://processors.wiki.ti.com/index.php/Sitara_DCAN_Linux_Driver

Dann über "can0" und "can1" als Netzwerk Devices adressieren.

Wichtig: Verwenden 2x CAN am der BeagleBone ist nicht Standard, da CAN0 
nutzt die selbe Port für die 2. I2C, welche ist benötigt für die 
"standard" Cape Boards.

Also:
- richtige Cape Boards dürfen nur CAN1 verwenden (kein CAN0)
- meine Board nutzt beide CAN, da ich werde keine Cape Boards nutzen
- 2. I2C muss abgeschaltet sein
- Die GPIO Mode #2 für beide CAN0 und CAN1 muss in Kernel umprogrammiert 
sein
Gast #2763671
Lesenswert?

Update: Ich habe eine neue Voll BeagleBone-Cape gemacht basiert auf dem 
Breadboard:

http://www.flickr.com/photos/leszekp/sets/72157630668451686/
http://www.flickr.com/photos/leszekp/sets/72157630668557208/
http://www.flickr.com/photos/leszekp/sets/72157630668654642/

Die erste CAN bekommt von TI Sitara selbst, zweite CAN nun von Microchip 
MCP2515 ('Click Board' von mikroe.com)

Es läuft wunderbar mit neustem Angstrom Linux. Das neue Board hat eigene 
EEPROM und lässt sich während Boot vollständig automatisch 
konfigurieren!
Gast #3012691
Lesenswert?

ich versuche momentan verzeweifelt CAN am BeagleBone in Betrieb zu 
nehmen.
Habe mir ein mit buildroot ein linux gebaut. Bekomme can0 auch als 
device an den start und kann im loopback-mode auch Nachrichten 
verschicken und empfangen (socketcan).

Ich habe auch die PinMux uart1_rxd und uart1_txd auf mode2 geschaltet 
und sehe am Oszi aktivität beim Senden von Nachrichten.
Allerdings will mein BeagleBone nicht mit anderen Gerätschaften 
kommunizieren.

Bin für jeden Tipp dankbar.

Grüße
Helmut

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