Forum: Mikrocontroller und Digitale Elektronik Entwicklung von CAN-bsierten Applikationen - CAN-Software-Stacks


von Stigmer (Gast)


Lesenswert?

Grüße,

ich bin derzeit auf der Suche nach CAN-Software-Stacks. Dabei stolpert 
man immer wieder über die Firma "Vector" und deren Tools und Software 
zur Realisierung von CAN-Kommunikationen, -Analyse, -Entwurf... CANopen 
ist dabei ein gebräuchlicher Begriff in Sachen höhere CAN-Protokolle.

Kennt jemand von Euch andere CAN-Software-Stack-Anbieter oder vielleicht 
sogar open-Source Projekte dieser Art? Irgendwelche Empfehlungen?

Gruß

von peterguy (Gast)


Lesenswert?

Für welchen Controller suchst du einen Stack? Was für Funktionen soll 
der unterstützen?

von Volker Z. (vza)


Lesenswert?

Das CAN-Protokoll wird nur in "Hardware" abgehandelt, braucht also 
keinen Stack.

Für CANopen kenne ich folgende Anbieter :
www.port.de
www.ixxat.com/canopen_stack_en.html
etc.

Dan kommen noch die ganzen anderen höheren Protokolle wie :
DeviceNet und J1939 um nur zwei zu nennen.

Also was brauchst du genau?

von Stigmer (Gast)


Lesenswert?

Hallo und danke für die bisherigen Antworten.

Es wird ein Freescale Mirkocontroller zum Einsatz kommen, allerdings bin 
ich noch nicht sicher welcher. Das CAN-Interface soll die Kommunikation 
zwischen einem Akku und Lader gewährleisten.

@Volker:
Beide Aufzählungen treffen genau das, was ich suche. Kannst du noch 
weitere URLs bzw. Protokolle benennen? Vor allem weitere Anbieter sind 
für mich interessant, auch open Source (wenn möglich).

Nochmals Danke!

von Volker Z. (vza)


Lesenswert?

Müste selber Nachschauen:
http://letmegooglethatforyou.com/?q=canopen+library
und
http://letmegooglethatforyou.com/?q=canopen+stack

aber für eine Punckt_zu_Punckt Verbindung halte ich CAN/CANopen für 
ziemlich übertrieben.

von Stigmer (Gast)


Lesenswert?

Da gebe ich dir absolut Recht, es ist für meinen Anwendungsfall zu fett. 
Dennoch schau ich ein wenig über den Tellerrand und was in Zukunft so 
gehen könnte, versuche zu vergleichen.

Allerdings ist weiterhin die Frage nach Software-Schmieden interessant, 
die sich mit dem Thema CAN beschäftigen und hardwarenahe 
(Treiber-)Software (ich hab das vorhin "Software-Stack" genannt) 
anbieten.

Google bemüh ich natürlich selbst, hoffe aber auch auf 
Erfahrungsberichte ala "Hab ich mal eingesetzt, war sehr einfach zu 
handeln" oder "Lass lieber die Finger davon.". No offense. :)

von Schorsch (Gast)


Lesenswert?


von peterguy (Gast)


Lesenswert?

Ich denke auch daß CANopen oder vergleichbares too much wären für deine 
Zwecke. Da reicht der standard CAN völlig aus.

Falls du einen Freescale Controller der Serie S12X (mit MSCAN Modulen) 
einsetzt, kannst du dich gerne melden. Habe einen low-level CAN Treiber 
für diese Controller programmiert, u.a. auf Basis dieses Treibers hier:
Beitrag "Freescale HCS12/S12X CAN Treiber"

von Steffen A. (stigmer)


Lesenswert?

Hallo perterguy.

meld Bist leider als Gast eingeloggt, hoffe du liest das hier. :) 
Source-Code, wenn er auch nur als Beispiel dient, nehm ich immer gern. 
In welcher IDE hast du deinen Treiber geschrieben?

Danke auch an Schorsch!

Ach ja, und einen guten Morgen wünsche ich. :)

von peterguy (Gast)


Lesenswert?

Ja, ich habe das hier gelesen ;)
Ich werde am WE mal den Code hier hochladen. Der Code ist natürlich 
nicht systematisch getestet und wird wahrscheinlich noch den ein- oder 
anderen Bug enthalten!

Geschrieben habe ich den Treiber in der Codewarrior IDE, die mit meinen 
Evaluierungsboards ausgeliefert wurde. Er sollte jedoch auch mit anderen 
IDEs kompatibel sein, da ich versucht habe, compilerspezifische 
Anweisungen zu vermeiden.

von peterguy (Gast)


Angehängte Dateien:

Lesenswert?

So, hier wie versprochen mein CAN Treiber.
Erstmal die can.h
Achtung: es werden drei Headerdateien includiert, die ich nicht anhänge. 
Es steht an der #include Anweisung aber jeweils ein Kommentar daneben, 
wofür die Datei benötigt wird.

Außerdem habe ich den Treiber bisher nur auf eine Oszillatorfrequenz von 
4MHz ausgelegt. Damit sind CAN Baudraten bis 250kBaud möglich. Wenn Du 
andere Frequenzen nutzen möchtest/musst, sind noch Anpassungen 
notwendig!

von peterguy (Gast)


Angehängte Dateien:

Lesenswert?

Und hier die zugehörige can.c

von peterguy (Gast)


Angehängte Dateien:

Lesenswert?

Eine Controllerspezifische Parameterdatei gibts auch noch...

von peterguy (Gast)


Lesenswert?

Falls Dir beim Studieren oder Testen etwas auffallen sollte (positiv 
oder negativ), würde ich mich über ein Feedback freuen!

von Steffen A. (stigmer)


Lesenswert?

Error_code enums, etc.. Erster Blick zeigt mir ne saubere 
Programmierung, soviel kann ich dir sofort sagen. :)

Ich muss mich erstmal von dem "Schock" erholen, gestern mein Studium 
erfolgreich beendet zu haben.. ;) Will keine Versprechungen machen, wann 
ich deinen Code genauer anschaue.

Besten Dank!

von peterguy (Gast)


Lesenswert?

Herzlichen Glückwunsche zum bestandenen Studium! Jetzt geht der Ernst 
des Lebens los ;-)
Ich hoffe du hast schon einen Job, in der schwierigen Zeit momentan ist 
das nicht selbstverständlich....

von heinz (Gast)


Lesenswert?

Die Firma Systec Electronic bietet einen CANopen Stack an, muss aber 
mühsam auf den entsprechenden Controller portiert werden. Ansonsten 
funktioniert der einwandfrei, wenn auch die Errorcodes nicht mehr 
information enthalten, als dass ein Fehler aufgetreten ist.

lg

von Steffen A. (stigmer)


Lesenswert?

Guten Morgen!

@peterguy: Danke danke, wie üblich ging das Immunsystem als erstes in 
den Urlaub, ich lag die restliche Woche flach. :) Leider bin ich derzeit 
noch nirgends unter gekommen, meine Dipl-Arbeit-Firma hat im Moment 
keinen Bedarf. Bewerbungen bzw. Bewerbungsgespräche sind derzeit Thema 
bei mir. Spannende Zeiten sind das..

@heinz: Danke! Kannst du mir Auskunft über die ungefähren Kosten geben? 
Scheinbar gibt´s Preise typischerweise nur nach Anfrage..

Weiterhin sind auch Anbieter von CAN-Treibern für Freescale-Controller 
interessant, nicht ausschließlich CANopen Stacks!

Gruß

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
Noch kein Account? Hier anmelden.