www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik XC886/888


Autor: Leonhardt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen,

ich möchte mit dem Infineon-Mikrocontroller XC886/888 eine CAN BUS 
Verbindung realisieren. Hat jemand schon einige Erfahrungen mit dem 
Mikrocontroller gemacht? Ist es ein sehr schwierig die CAN Schnittstelle 
zu konfigurieren?

Autor: Carsten St. (carsten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leonhardt,
das ist alles relativ einfach. Sehr vieles wird vom Konfigurationstool 
DAvE abgenommen.

Autor: Leonhardt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist das Konfigurationstool kostenlos erhältlich?
Ist das nicht der neue Keil Compiler?
Kann man das Tool downloaden?

Autor: Carsten St. (carsten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DAvE ist kostenlos.
http://www.infineon.com/cgi-bin/ifx/portal/ep/prog...

Du brauchst dann noch das DIP-File für den XC886.
Als Compiler wird im Moment nur Keil und SDCC unterstützt. Ich würde dir 
Keil empfehlen (die freie 2k Version müsste zu Beginn reichen)

Es gibt auch noch ein Beispiel von Infineon unter:
http://www.infineon.com/cgi-bin/ifx/portal/ep/prog...

Autor: Leonhardt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso das heisst ich verwende dafür nur das DAvE Konfigurationstool. Und 
damit kann ich ja den Compiler auswählen. In diesem Fall den Keil 
Compiler. Programmieren tut ich dann mit einem Editor von DAvE. Ist das 
richtig so?

Autor: Carsten St. (carsten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein,
DAvE hat keinen Editor. Du musst aber zu Anfang auswählen für welchen 
Compiler er ein Projekt aufsetzt.

Das ganze läuft in etwa so ab:
1. Mit DAvE ein Projekt erzeugen
2. Initilaisierung des µC (Ports auswählen, UART einrichten, ADC 
einrichten
   etc.) in DAvE und Projekt erzeugen
3. Den von DAvE erzeugten Code im Compiler aufmachen und weiter 
bearbeiten
   (Der µC ist bis dahin nur initialisiert, macht aber nichts - main() 
ist
   leer)
   ACHTUNG beim editieren: Schreibe deinen Code nur zwischen die
   Kommentarzeilen
   //User Code Beginns und
   //User Code Ends.
   Wenn du dies beherzigst kannst du dein Programm auch noch 
nachträglich in
   DAvE uminitialisieren (z.B. Baudraten ändern) ohne dass dein eigener 
Code
   verloren geht.
4. Programm im Compiler übersetzen und Debuggen

Autor: Leonhardt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Hilfe!
Ok so wie es aussieht, ist das wohl nicht so sehr kompliziert.
Das Konfigurationstool nimmt ja einiges an Arbeit ab.
Wenn ich zum Beispiel den CAN Teil benutzen will, dann muss man mit dem 
Konfigurationstool die Einstellungen dort für den CAN vornehmen.
Dannach wird ein CODE Rumpf erzeugt. Dort kann man dann seinen 
gewünschten Code platzieren.

Autor: Carsten St. (carsten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau,
in jedem Modul-Teil in DAvE gibt es einen Reiter functions mit der 
Initfunktion (z.B. IO_vInit, ADC_vIinit, MultiCAN_vInit, etc.)
Mit Aktivierung diese Punktes wird für das Modul eine C-Datei (z.B. 
IO.c, ADC.c) mit der entsprechenden Initialisierung und ausgewählten 
Funktionen erzeugt

Autor: Leonhardt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Carsten Steiner, ja hast du schon mal was mit dem Mikrocontroller 
gemacht?
Wie sieht denn zum Beispiel zu eine C-Code für den CAN BUS aus?

Autor: Carsten St. (carsten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe sehr viel mit den XC800 von Infineon zu tun.
Auf der Infineon-Homepage befindet sich ein Beispiel für den 
LoopBack-Mode.

http://www.infineon.com/cgi-bin/ifx/portal/ep/prog...
runterscrollen bis Application Example.

Komm erst einmal mit DAvE, Keil und dem Beispiel klar, dann kann man 
noch weitere Demos angehen.

Autor: Daniel Schwalm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich schlage mich zur Zeit auch mit XC886 und CAN rum. Ich habe mir mit 
DAVE die Konfiguration und die CAN-Funktionen erzeugen lassen und 
folgendes in meine main-Funktion eingefügt:

un_32bit canTestObject;

canTestObject.ubDB[0] = 0x77;
canTestObject.ubDB[1] = 0x76;
canTestObject.ubDB[2] = 0x75;
canTestObject.ubDB[3] = 0x74;

CAN_vLoadData(0x00, &canTestObject.ulVal);
CAN_vSetMSGVAL(0x00);
CAN_vTransmit(0x00);

Leider funktioniert der Code dann nur im Software-Simulator von Keil 
microVision (im Peripherals -> MultiCAN -> CAN Communication 0 Fenster 
erscheint die gesendete CAN Message) und nicht auf meiner Hardware (Wenn 
ich an den eingestellten Output-Pins CAN_RXD und CAN_TXD mit einem Oszi 
messe, passiert nichts).

Hat jemand eine Idee, wo ran das liegen könnte oder ähnliche Probleme 
gehabt? Oder hat jemand ein Beispiel-Programm, dass über die Pins P1_6 
und P1_7 eine CAN-Message versendet? Wenn ja bitte mal an 
daniel@richardt-elektrotechnik.com schicken. Danke!

Das MultiCAn Getting Started von Infineon hab ich mir auch schon 
angeschaut, aber das hat mich auch nicht weiter gebracht.

Daniel

Autor: Carsten St. (carsten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alle meine Beispiel sind für P1.0 und P1.1.
Hilf dir das weiter? Müsstest ja nur im Dave kurz die Pinbelegung 
umändern

Autor: Daniel Schwalm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das würde mir sicher weiterhelfen. Wäre super wenn Du mir Deine 
Beispiele mal schicken könntest (daniel@richardt-elektrotechnik.com).

Schon mal vielen Dank :)

Daniel

Autor: HSCH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Daniel Schwalm,

hast du deinen CAN Bus zu laufen bekommen? Wenn ja ich brächte dringend 
Unterstützung. Könntest du deinen Beispiel Code hierein posten?

Autor: HSCH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verwende die Ausgänge P1.3 und P1.4 (SUBD9 Stecker)
Ich schaffe es nicht nur mal eine Nachricht an den CAN Dongle zusenden?
Auf beiden Seiten habe ich jeweils 500kBit/s eingestellt.
Kann mir hier noch jemand einige Tipps geben?

Autor: HSCH (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mein Projekt an den Dateianhang angehängt. Vielleicht sieht da 
jemand noch einen Fehler.

Autor: HSCH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Brauche dringend Unterstützung!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.