Hi, ich habe ein kleines Problemchen. Ich habe einen Microcontroller, an den sollen via CAN Daten vom PC übermittelt werden und der Microcontroller soll damit was machen. Nun habe ich mit CAN bisher nie was zu tun gehabt. Der Microcontroller hat nen Infineon XC2288H200F Prozessor, der muss es auch zwingend sein. Der unterstützt CAN. Ich dachte nun an ein kleines Tool, vielleicht eine Konsolenanwendung, die mir CAN Daten generiert, via RS232 an den CAN meines Controllers übergibt und dieser damit was auch immer anfängt. Konkret geht es um folgendes: Der Microcontroller soll 8 Relais schalten, ganz einfach über die IOs. Welches Relais geschalten werden soll, soll via CAN vom PC übermittelt werden. Mit Link zwischen PC und Controller will ich mich möglichst wenig beschäftigen und mich nicht groß reinarbeiten, wenn möglich auch keine PC-Programme schreiben müssen, da der Microcontroller später noch mehr machen soll und das die oberste Prio hat. Die Relais sind erstmal nur der 1. Step. Programmierkenntnisse hab ich in C# und C. Ist meine Idee so richtig und machbar? Wenn es da was fertiges bereits gibt, nehme ich das gern. Ich will mich damit möglichst wenig beschäftigen, weil der Microcontroller und das dahinter wichtiger sind. Danke für eure Hilfe. MfG
Carsten R. schrieb: > Ich dachte nun an ein kleines Tool, vielleicht eine Konsolenanwendung, > die mir CAN Daten generiert, via RS232 an den CAN meines Controllers > übergibt und dieser damit was auch immer anfängt. Irgendwie vermischst du hier RS232 und CAN. > Programmierkenntnisse hab ich in C# und C. Ist meine Idee so richtig und > machbar? So ganz ist mir deine Idee noch nicht klar. Einmal sprichst du von RS232 als Link zwischen PC und µC, dann wieder von CAN. Wie soll die Kommunikation denn nun aussehen?
Wenn man zwei verschiedene Schnittstellen hat, dann geht das eigentlich nur über geeignete Protokolle, die beide vereinen, so wie man es haben möchte. Das muß der µC dann machen, bzw. eine selbst gemachte Software dazu.
Carsten R. schrieb: > Mit Link zwischen PC und > Controller will ich mich möglichst wenig beschäftigen und mich nicht > groß reinarbeiten, wenn möglich auch keine PC-Programme schreiben > müssen, falscher Ansatz. Du willst jegliche Übung mitnehmen, die du kriegen kannst. So wie das aussieht brauchst du das nämlich dringend. Ich will mit dem Auto auf Urlaub fahren. Nach Sizilien. Ich will aber nicht lernen, wie man in den Bergen Auto fährt, sondern wenn ich auf der Autobahn gerade aus fahren kann, reicht mir das. Hilfe, wie komme ich über den Gotthard drüber (ich will nicht durch den Tunnel, da sieht man nix)
:
Bearbeitet durch User
Guido B. schrieb: > Das hier könntest du dir mal anschauen: > > http://www.fischl.de/usbtin/ Die scheinen irgendwie nicht mehr zu existieren. Dem Bausatz gibt's nicht mehr. Ich habe mal einen gekauft und festgestellt, dass der selbst bei 125kbit Nachrichten verschluckt wenn sie schnell hintereinander kommen. Daraufhin habe ich die USB-Kommunikation getraced und festgestellt, dass der nur Blöcke von max. 7Byte zum PC sendet. Eine geänderte Firmware die diese Grenze auf 64 Byte anhob, und damit meine Probleme löste, hatte ich auch an Thomas Fischl gesendet. Leider bis heute keine Antwort. Falls jemand Interesse an den Änderungen hat bitte per pm.
Hi, erstmal vielen Dank für eure Antworten. Um es kurz zu machen, ich habe nun eine Vector CANcard und stelle die Verbindung darüber her. Das ist einfach zeilführender. Die hätte ich ursprünglich gern gespart. Wilhelm F. hat mich denke ich richtig verstanden. Noch mal kurz zusammengefasst: Aufgabe: µC soll CAN Botschaften empfangen Problem: Wie bekomme ich aus meinem PC CAN Botschaften? Lösungsansätze: a) Vector +einfach -teuer b) Konsolenanwendung (übertragen mittels 9-pol D-Sub am PC) +keine Anschaffungskosten -kostet meine Arbeitszeit Frage: 1. Wie ist der Aufwand für b)? 2. Kosten für Arbeitszeit<Kosten für Vector? (hätte ich mit Antwort auf 1. selbst beantworten müssen) Karl Heinz Buchegger schrieb: > Ich will mit dem Auto auf Urlaub fahren. Nach Sizilien. Ich will aber > nicht lernen, wie man in den Bergen Auto fährt, sondern wenn ich auf der > Autobahn gerade aus fahren kann, reicht mir das. Hilfe, wie komme ich > über den Gotthard drüber (ich will nicht durch den Tunnel, da sieht man > nix) Falsches Beispiel. Ich muss CAN soweit verstehen, dass ich den µC dazu bringen kann, CAN Botschaften zu empfangen und vor allen Dingen zu verstehen. Wie die Dinger aus dem PC kommen ist mir egal. Mit meiner jetzigen Lösung muss ich ja auch nur verstehen, WAS meine Vectorprodukte machen, nicht WIE sie es tun. Dass ich die Bedienung dazu verstehen muss ist ganz klar. Um über die Alpen zu fahren, muss ich wissen, was ich tue und wie ich mein Fahrzeug in dieser Situation richtig bediene. Wie ein Auto funktioniert interessiert dazu erstmal nicht (nicht im Detail). Meine ursprüngliche Überlegung war, dass das WIE vielleicht nicht so kompliziert ist, dass ich es selber machen könnte. Das wäre nur ein Nebenläufer zum eigentlichen Problem, an dem ich arbeite. Feststellung: Zu zeitaufwändig, lenkt zu sehr von der eigentlichen Aufgabe ab. Lösung: Vector. MfG
:
Bearbeitet durch User
Wenn du deinen Controller dazu gebracht hast CAN-Nachrichten zu verstehen, dann hast du auch das Wissen, diese zu versenden. Für beides wirst du aber das Wissen brauchen WIE ein CAN-Bus funktioniert. Das Verstehen des CAN-Busses sollte keinen Tag dauern. WIE der CAN-Bus in deinem Controller gehandhabt wird, kann dagegen länger dauern.
Syliosha schrieb: > Wenn du deinen Controller dazu gebracht hast CAN-Nachrichten zu > verstehen, dann hast du auch das Wissen, diese zu versenden. Für beides > wirst du aber das Wissen brauchen WIE ein CAN-Bus funktioniert. > Das Verstehen des CAN-Busses sollte keinen Tag dauern. > WIE der CAN-Bus in deinem Controller gehandhabt wird, kann dagegen > länger dauern. Ganz genau. Wie CAN funktioniert, weiß ich nun. Wie ich den Controller dazu bringe, Botschaften zu senden und zu empfangen, weiß ich auch. Wie ich CANalyzer bedienen muss und meine CANcard mit dem Controller verbinden muss mit meinem selbstgebauten Kabel, weiß ich auch. Wie CANalyzer funktioniert, wie die Hardware in der CANcard funktioniert, interessiert mich nicht (mehr). Wie ich das selber machen kann bzw. wie der Aufwand ist, sowas selber zu machen, war meine Frage. Das Problem ist nun gelöst. Zur Info: Ich sende bereits Botschaften an den µC und der reagiert darauf wie geplant. Im Prinzip ist dieses Thema an dieser Stelle gelaufen. Entwicklung der Elektronik und Erweiterung des Funktionsumfanges sind ein anderes Thema. Wenns da hängt, kommm ich gern wieder auf dieses Forum zurück.
Der Vollständigkeit halber: Carsten R. schrieb: > Aufgabe: µC soll CAN Botschaften empfangen > Problem: Wie bekomme ich aus meinem PC CAN Botschaften? > Lösungsansätze: > [...] > b) Konsolenanwendung (übertragen mittels 9-pol D-Sub am PC) > +keine Anschaffungskosten Ich habe den Eindruck, daß du glaubst, über eine RS232 irgendwie direkt CAN-Botschaften senden zu können. Das geht aber nicht. Du brauchst auf jeden Fall irgendwas mit einen CAN-Controller+Transceiver.
Es gibt auch günstigere Lösungen, die ähnliches leisten wie Canalyzer. Z.B.: PCAN Explorer oder noch einfacher PCAN-View(kostenlos). Man braucht allerdings bei allen diesen Lösungen ein geeignetes CAN-USB-Interface: CAN-Case(Vektor) oder PCAN-USB(Peak-System). MfG
Rolf Magnus schrieb: > Ich habe den Eindruck, daß du glaubst, über eine RS232 irgendwie direkt > CAN-Botschaften senden zu können. Das geht aber nicht. Du brauchst auf > jeden Fall irgendwas mit einen CAN-Controller+Transceiver. Genau das dachte ich. Die Erkenntnis, dass es aber so nicht geht, ist nu da.
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.