Forum: Mikrocontroller und Digitale Elektronik Timing des ASC0 beim XC167


von Christian R. (crambow)


Angehängte Dateien:

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

von Christian R. (crambow)


Angehängte Dateien:

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

von jjk123 (Gast)


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.

von jjk123 (Gast)


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.

von Christian R. (crambow)


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

von Christian R. (crambow)


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

von Christian R. (crambow)


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

von Christian R. (crambow)


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

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.