www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timing des ASC0 beim XC167


Autor: Christian Rambow (crambow)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe hier ein Evaluationsboard von Phytec mit dem XC167CI.
Nun versuche ich seit längerem das mitgelieferte Beispiel Hello in 
Betrieb zu nehmen.
Die Beispieldatei habe ich dahingehend verändert, dass ich das 
Reloadregister auf den Takt von 40MHz angepasst habe.

Da das Hyperterminal nichts empfängt, habe ich mal mit dem Oszilloskop 
in die Sendeleitung gemessen.
Zumindest passiert dort etwas (siehe Anhang). Was mich nur ein wenig 
stutzig macht, ist dass das gesendete Signal sich nicht großartig 
verändert.

Kompiliert habe ich mit uVision4 und das Programm habe ich mit Memtool 
in den internen Speicher des XC167 geschrieben.

Ich hoffe es kann mir jemand helfen.


Grüße

Christian

Autor: Christian Rambow (crambow)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe nun mal meinen Mega16 in Betrieb genommen und ihn das selbe 
ausgeben lassen (Hello World\n, mit 9600Baud).
Man sieht das die "Perioden dort viel kürzer sind.
Auch das Signal ist nicht so symetrisch, was ja auch zu erwarten ist, da 
er ja unterschiedliche Zeichen sendet.

Also ist es beim xc167 nicht nur ein Timingproblem.

Ich hoffe weiter auf konstruktive Hilfe.


Grüße

Christian

Autor: jjk123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist wohl ein "H" was da gesendet wird. Ich würde mich
mal beim Lieferanten vom "printf" beschweren. Das muss natürlich
zum Prozessor passen, oder man muss es selber schreiben.

Autor: jjk123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht muss man auch nur den Interrupt freigeben. Ich weiss ja
nicht wie keil das printf implementiert hat. Ich mache mir das printf
immer selber, da weiss man was die Software tut.

Autor: Christian Rambow (crambow)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo jjk123,

danke für deine Antworten.
Ich hab inzwischen mal das Programm in den externen Flash geschrieben 
und es von da aus gestartet.
Nun läuft das Programm ohne Probleme.

Nun verstehe ich nicht, wie der Speicherort des Programms die Ausführung 
des Programms beeinflussen kann.

Ich habe natürlich die Map-Datei für den entsprechenden Speicher 
angepasst.


Grüße

Christian

Autor: Christian Rambow (crambow)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mir ist aufgefallen, dass die Periodendauer einer PWM über den Timer 7 
im internen Spiecher um den Faktor fünf größer ist, als im externen 
Speicher.

Dies verwundert mich, da die PWM ja kompett in Hardware läuft und die 
Vorteiler in beiden Fällen gleich gewählt wurden.


Grüße

Christian

Autor: Christian Rambow (crambow)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich konnte die Ursache soweit lokalisieren. Diese lag in der 
unterschiedlichen Initialisierung der PLL. Der XC167 lief standardmäßig 
ziemlich langsam, hat um sicherzugehen dass er im worst-case Fall auch 
läuft.

Mir ist es jetzt leider nicht gelungen einen schnelleren Takt als 
12,5MHz heraus zu bekommen. (PLLCON = 0x7883)

Bei einem kleineren Ausgangsteiler (PLLCON = 0x7882) oder einem größeren 
Multiplikationsfaktor (PLLCON = 0x7983) scheint das Testprogramm nicht 
mehr zu laufen.


Grüße

Christian

Autor: Christian Rambow (crambow)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das Problem hat sich mittlerer Weile erledigt.

Ich hatte am Anfang einige Probleme mit der richtigen Konfiguration der 
Register.
Durch aktivieren des FOut-Pins konnte ich den internen Takt des 
Controllers messen und erhielt in der Defaultkonfiguration einen Takt 
von 8MHz.
Nachdem ich das PLLCON-Register entsprechend angepasst hatte, kam ich 
auf einen Takt von 40MHz was die Abarbeitungsgeschwindigkeit des 
Programms um einiges verbesserte und die Kommunikation klappt auch 
wunderbar.

Danke jjk123 für deine Hilfe.


Grüße

Christian

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.