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!
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
Erste Prototyp ich habe schon gemacht - 2x High-Speed CAN: http://www.flickr.com/photos/leszekp/sets/72157628503788231/with/6545862907/ Benutzte CAN Transceiver: Texas Instruments, 3.3V: SN65HVD231
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ß
Welche Treiber hast Du benutzt? Hast Du schon versuch den Treiber von Craneboard zu portieren? Craneboard: http://designsomething.org/craneboard/w/overview/default.aspx Linux Kernel Repository: https://github.com/craneboard/craneboard-kernel Kernel CAN Treiber: https://github.com/craneboard/craneboard-kernel/blob/master/drivers/net/can/ti_hecc.c Dazu noch Wiki: http://processors.wiki.ti.com/index.php/Sitara_AM35x_CAN_%28HECC%29_Linux_Driver
Danke für die schnelle Antwort. Ich habe es mit dem D_CAN probiert ;o) dachte das wären die richtigen. Was für ein OS haben Sie auf dem Board? Ich hab das Angstrom mit dem Kernel 3.1 Gruss
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?
Evtl ist ja schuld daran weil ich /dev/ttyO1 habe worauf CAN0 und CAN1 gemuxt ist? Kann mir jemand einen Tipp geben wie ich die UART los werde?
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
Hallo , wie kann man den 2. I2C muss abgeschalteen gibt es da einen patch oder ist das was in der kernel config? Vielen Dank, Hexxter
Hallo, habe auch ein beaglebone und will ebenfalls mit CAN arbeiten. Früher habe ich unter Linux mit Hardware von Firma Port ISA_CAN, PCI_CAN und dem can4linux gearbeitet http://de.wikipedia.org/wiki/Can4linux . Wäre CAN4Linux nicht auch was für Angstrom und beaglebone? Gruß Markus
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!
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.