Hi, ich möchte mich in das Thema 'CAN-Bus mit PIC18F*-Mikrocontrollern' einarbeiten und suche in diesem Zusammenhang eine Möglichkeit, vom PC aus (mit möglichst wenig Aufwand) Daten auf den Bus zu senden und den Bus abzuhören (erstmal ohne irgendwelche Eingangsfilter). Um bei der Einarbeitung Zeit zu sparen, dachte ich daran, mir ein fertiges CAN-zu-RS232/USB/odersonstwas Gateway zu kaufen. Allerdings kommen mir dazu einige Fragen: Anders als bei RS232 handelt es sich beim CAN ja nicht um eine simple Punkt-zu-Punkt-Verbindung, sondern eben um einen richtigen Bus, d.h. es werden nicht einfach irgendwo Daten rausgeschrieben, die der Empfänger 1:1 so empfängt. Im Prinzip muß ich ja eine Message protokollgemäß erst zusammenschnüren -- mit SOF, Identifier, RTR-Bit, DLC, CRC, ACK, EOF und allem was sonst noch dazugehört -- und am Schluß das ACK-Bit abhören, etc... D.h. ich vermute, daß ich zuerstmal selber ein Programm schreiben muß, welches mir eingangs genannte Aktionen überhaupt erst ermöglicht. Oder gibts sowas schon fertig? Wenn ja, welcher/s Hersteller/Produkt? In welchem Preissegment bewegt man sich da? (Wenn's Linux-kompatibel wär, wär's genial, muß aber nicht unbedingt sein) Bin für jeden Hinweis dankbar! MfG Tom
schau mal bei www.elektronikladen.de da gibts auch die Treiber zu dem CANUSB Adapter
Schau mal bei Softing rein, die Can Interfaces haben wir bei uns in der Firma im Einsatz. http://www.softing.com/home/de/automotive-electronics/products/hardware/bus-interfaces/can-bus-usb.php?navanchor=4010394 Recht teuer aber gut. Solltest du mal von USB auf PCI etc. wechseln wollen, auch kein Problem. Die API aller Schnittstellen ist gleich. Gruß Dietmar
Wie wär's damit: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en537141 Hardware, Firmware und zugehörige PC-Software sind von Microchip komplett offengelegt. Wollte das Teil mal mit bedrahteten Bauteilen und nem anständigen Gehäuse nachbauen. Wenn ich mal wieder Zeit dafür hab.
Thomas W. schrieb: > 1:1 so empfängt. Im Prinzip muß ich ja eine Message protokollgemäß erst > zusammenschnüren -- mit SOF, Identifier, RTR-Bit, DLC, CRC, ACK, EOF und > allem was sonst noch dazugehört -- und am Schluß das ACK-Bit abhören, Einiges davon erledigt bereits der CAN-Controller.
A. K. schrieb: > Einiges davon erledigt bereits der CAN-Controller. ja, aber es sollte auch die möglichkeit geben dies per hand zu erledigen, um fehler aufzufinden (was passiert, wenn eine nachricht mehrfach vom bus geworfen wird=> funktionieren silent mode und bus-off aller teilnehmer.) verworfene frames sollten abrufbar sein, damit diese zugeordnet werden können. sg clemens
Clemens S. schrieb: > ja, aber es sollte auch die möglichkeit geben dies per hand zu > erledigen, um fehler aufzufinden (was passiert, wenn eine nachricht > mehrfach vom bus geworfen wird Schau dir mal die CAN Controller genau an. Ich meine mich zu erinnern, dass beispielsweise der MCP2515 einen Modus hat, in dem er auch defekte Frames rausrückt. Natürlich hat sowas Grenzen. Wenn du das wirklich ganz genau haben willst, also auch Frames die so schrottig sind, dass sie nichtmal klar als solche erkennbar sind, dann wirds etwas aufwendiger, denn das ist dann Handarbeit mit FPGA und schweineteuer. Deshalb: Wie genau willst du das wissen? Um sowas raumfahrtsicher zertifizieren zu können, oder um es normal verwenden zu können?
Hi,danke schonmal für die Antworten. @heinzhorst: Das sieht sehr interressant aus (auch vom Preis her). Weiß jemand, wo man dieses "MCP2515DM-BM" kurzfristig herbekommt? Bei www.hbe-shop.de hab ich's zwar gefunden, aber dort dauert die Lieferung erfahrungsgemäß recht lang. @alle: Weil hier die Diskussion aufkam, es gibt bei den PIC-internen CAN-Controllern die Möglichkeit in den Registern RXBnCON über die Bits RXM0 und RXM1 festzulegen, daß man auch fehlerhafte Messages empfangen will (beide auf 1). Empfangen tut man dann allerdings auch nur die Daten bis zu dem Punkt an dem der Fehler erkannt wurde (bei CRC-Fehlern sieht man dementsprechend fast alles, bei fehlern im Identifier oder Init-Sequenz hingegen bis zu gar nix) Weitere Ideen sind natürlich herzlich willkommen!
Thomas W. schrieb: > Weiß jemand, wo man dieses "MCP2515DM-BM" kurzfristig herbekommt? Der ist technisch auch nicht anders als der interne CAN Controller der PIC18Fxx8, nur eben mit SPI.
so, jetzt habe ich etwas mehr Zeit: Privat verwende ich diesen Umsetzer: http://www.peak-system.com/ preiswert, eigentlich gut dokumentiert und ein brauchbares Basisprogramm ist dabei. weiteres fature: du kannst auf der Platine den Interrupt abfangen und so mit dessen eingestellter Filtermaske dein Oszi auf ausgewählte Frames triggern. mein Brot verdiene ich bei der Arbeit mit Vector Produkten. kann ich aber nicht empfehlen, da diese für den Privatgebrauch eigentlich zu teuer sind. Der kurze Absatz sollte als Anregung gedacht sein sich nach Tools umzusehen, die Zugang zu den Rohdaten bieten, da meist ein Gerät Amok läuft, das sich nicht an Konventionen hält und so rumsaut, ohne im Logger aufzufallen, da dieser die zerstörten Frames verwirft. zudem ist es praktisch falsche ack bits versenden zu können, um Fehlererkennungsstrategien testen zu können. als Einstieg ist diese seite vl ein tipp, da die auch bei HW knausern: http://canhack.de sg clemens
@Clemens: > Privat verwende ich diesen Umsetzer: > http://www.peak-system.com/ und welchen davon genau?
den Pcan USB (leider den mit netzwerkbuchse, nicht den mit 9 pol D sub; mach nicht den selben fehler) als CAN baustein ist verbaut: http://www.datasheetcatalog.org/datasheet/philips/SJA1000T.pdf der µC ist ein: http://www.datasheetcatalog.org/datasheet/infineon/1-d161ri.pdf leider sind viele funktionen des can bausteins in der doku (frei verfügbar bei interesse einfach laden) nicht verfügbar. ich bearbeite derzeit den Vertrieb diese UDFs freizugeben, bis lang aber ohne erfolg (muss zugeben, dass ich vl noch nicht genügend nervig war) sg clemens
Hallo Thomas, wenn du noch nichts gefunden hast kann ich dir einen PCAN-Dongle anbieten. Parallel(Daten) und PS2(Stromversorg.) auf Can. dieser hier: http://www.peak-system.com/Produktdetails.49+M5a16c83449b.0.html?&tx_commerce_pi1[catUid]=6&tx_commerce_pi1[showUid]=18 Allerdings nicht neu sondern gebraucht für Testzwecke auf dem Schreibrisch. Seitdem mein Laptop kein Parallelport mehr hat liegt er im Schrank. Melde dich wenn du Interesse hast. Gruß Matthias
Thomas, Ich habe hier noch einen Lawicel CANUSB herumzuliegen nebst CAN-Monitor Pro SW und würde den günstig abgeben. http://elmicro.com/de/canusb.html Bei Interesse bitte email an tom at tktronic punkt de. gruss + schoenes we, tom.
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.