Hallo Ich suche einen einfachen CAN Bus Expander. Der MCP25050 st eigentlichgenau richtig. Aber ich will nichts an dem Ding vorher programmieren müssen, um ihn zu nutzen (was und wieso muß man das eigentlich bei dem 25050?). Einfach integrieren, Adressraum extern konfigurieren und gut ist. Gibt es so was?
Nein, da du das Protokoll noch programmieren musst. Der Bus ist zwar normiert, aber nicht das Protokoll was du über den Bus schickst.
Detlef schrieb: > Nein, da du das Protokoll noch programmieren musst. > Der Bus ist zwar normiert, aber nicht das Protokoll was du über den Bus > schickst. Das Protokoll könnte der Expander vorgeben. Aber anders als bei I2C lässt sich eine 11- oder 29-Bit CAN Adresse schlecht teilweise vergeben, so dass ein externe Konfiguration der Adresse in 2-3 Pins kaum in Frage kommt. Daher ist eine Programmierung kaum verzichtbar.
Aber ich habe eigentlich keine Lust, erst einen Programmieradapter zu kaufen/bauen. A. K. schrieb: > Aber anders als bei I2C > lässt sich eine 11- oder 29-Bit CAN Adresse schlecht teilweise vergeben, > so dass ein externe Konfiguration der Adresse in 2-3 Pins kaum in Frage > kommt. Wieso? Der Expander braucht ca. 15 Adressen für seine Funktionen. Also ein Byte: 0x??[0..F] bei 11 Bit. Dann kann ich doch über drei Pins eine Basisadresse angeben und über einen weiteren, ob's 11 oder 29 Bit sein sollen. Bei 11 Bit ergäbe sich z. B. 0x[0..7]1[0..F]. Wenn ich nur diese Teile an meinem Bus habe, kann ich schon 8 Stück nutzen. Und sollten noch andere CAN IDs benötigt werden, nutze ich halt was aus dem freien Bereich. Ganz einfach. Detlef schrieb: > Nein, da du das Protokoll noch programmieren musst. Gibt's dazu irgendwo ein HowTo?
Skoddi schrieb: > Detlef schrieb: >> Nein, da du das Protokoll noch programmieren musst. > > Gibt's dazu irgendwo ein HowTo? Das musst du dir selbst ausdenken. CAN schreibt nur das physikalische Layer und den Aufbau einer Nachricht so wie die Buskontrolle vor. Wie du deine Informationen in diesen CAN-Frame einfügst, das musst du selbst programmieren. Das ist kein UART bei dem man mal eben Daten reinhaut und die kommen hinten raus. Bei CAN gibt es Fehlererkennung, Fehlerkorrektur, du musst CRC-Checksummen berechnen. Wenn du zu oft Übertragungsfehler hast, dann muss dein Teilnehmer in den Buss-OFF Mode gehen und und und. Es gibt nicht umsonst extra CAN-Controller. Das ist nicht so einfach mal gemacht wie UART oder so. Das ist kein Anfängerprojekt.
Für so einen Fall gibt es halt CANopen. Das macht genau was du willst. Gibt dafür genügend IO-Expander.
Pter schrieb: > Das musst du dir selbst ausdenken. Ich meinte nicht zu CAN. Das beherrsche ich. Ich meinte zu dem 25050. Wie ich den programmiere (tut's da ein billiger PIC Brenner?) und was ich einstellen muß. Irgendwo habe ich mal gelesen, daß die Software von Microchip dazu buggy sein soll.
@Skoddi, ich habe den MCP25050 im Einsatz und ohne Programmierung macht der gar nichts über den CAN-Bus ich konnte "glücklicherweise" über ein Gal-Programmier-Gerät das auch den MCP unterstützt das IC programmieren (lustigerweise geht das nur ein einziges mal ... ist kein E'EProm sondern nur ein EProm !!) also muss man sich vor dem brennen zu 100% sicher sein, das das HEX-File stimmt erschwerend kommt hinzu, das die PC-Software zum erstellen vom HEX-File (von Microchip) ein File erzeugt, das den Intel-Hex-Standard nicht einhält :-) das File muss also nach dem erstellen nochmal manuell korrigiert werden kurz und knapp...ist mühsam, aber man bekommt es hin (wenn du willst, kann ich dir das fertige File zusenden) Gruss Uwe
:
Bearbeitet durch User
Uwe B. schrieb: > (lustigerweise geht das nur ein einziges mal ... ist kein E'EProm > sondern nur ein EProm !!) Immer noch ein E zu viel.
Eprom löscht man mit UV-Licht. Im PlasteGehäuse geht das nicht -> One Time EProm!
Uwe B. schrieb: > erschwerend kommt hinzu, das die PC-Software zum erstellen > vom HEX-File (von Microchip) ein File erzeugt, > das den Intel-Hex-Standard nicht einhält :-) > > das File muss also nach dem erstellen nochmal manuell korrigiert werden > > kurz und knapp...ist mühsam, aber man bekommt es hin > (wenn du willst, kann ich dir das fertige File zusenden) Danke. Hilfreicher für alle wäre es aber, das File hier zu posten und ggf. sogar zu beschreiben, wo die Fehler liegen und wie man sie korrigiert.
Skoddi schrieb: > Hilfreicher für alle wäre es aber, das File hier zu posten und > ggf. sogar zu beschreiben, wo die Fehler liegen und wie man sie > korrigiert. hier die Beschreibung vom Fehler und wie man sie korrigiert : http://liionbms.com/php/programming_MCP250xx.php und hier kann mein File runtergeladen werden : http://mikrocontroller.bplaced.net/wordpress/?page_id=2459
:
Bearbeitet durch User
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.