Hallo Zusammen, ich programmiere zur Zeit einen ARM7-LPC2134. Ich verwende für die Takterzeugung einen externen Oszillator mit 14,7456 MHz. Die Taktrate, die der Controller allerdings intern erzeugt liegt ca. um den Faktor 1,2 höher. Wie kann dann sein?? Ich habe keinen Prescaler eingeschaltet. Über Antworten würde ich mich sehr freuen. Gruß Michael
Also ich nehme mal an Du hast Startup Dateien von Keil oder IAR benuetzt. Die schalten normalerweisse die PLL ein. Allerdings ist ein Faktor 1.2 SEHR merkwuerdig. Da gibt es ausser der PLL nichts was den Takt nach oben schrauben koennte. Hast Du mal den clock am Eingang gemessen? Ist manchmal etwas schwierig weil der mit einer zusaetzlichen Lastkapazitaet evtl. anders ist als ohne. Ich denke an eine Schwingung auf der Oberwelle, was auch noch einen anderen Takt verursachen koennte, der waere dann allerdings 3-fach oder so. Gruss, Robert
Ja ich habe den Keil-Compiler und auch die dazugehörige startup-Datei verwendet. Den Takt habe ich gemessen, der ist tatsächlich exakt 14,7456 MHz. Die PLL habe ich auch ausgeschaltet. Wenn der interne Takt ein ganzzahliges Vielfaches wäre, dann könnte ich es ja irgendwo verstehen... Gruß Michael
Ich denk, du schwabbelst an einem Port-Pin um den Takt zu "messen", oder? Vielleicht bei der Rückrechnung eine Instruktion übersehn? Taktzahlen für die verwendeten Instruktionen alle richtig eingesetzt?
>Ich denk, du schwabbelst an einem Port-Pin um den Takt zu "messen", >oder? Ja. Ich will den Timer Interrupt so einstellen, dass er alle 100 us auslöst. Verknüpfe dann den Interrupt mit einem Port-Pin (LED). Laut Rechnung müsste das Timer-Register dann auf 0,0001 sec * 14745600*1/sec = 1474,56 = 0x5C3 eingestellt sein. Bei diesem Wert löst der Interrupt dann aber ca. alle 80 us aus. Ich habe den Wert dann hingemurkst und auf 0x748 eingestellt um die 100 us zu erhalten. >Wie hast du die 1,2 gemessen ? Der Faktor 1,2 ist dann einfach der Faktor von 80 us auf 100 us (ungefähr).
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.