Gast
#3111025
Hallo, mich würde mal interessieren, wie man Differenzen zwischen Befehlsausführungszeiten und Timinganforderungen ausgleicht, wenn auf die Oszillatorfrequenz des Controllers kein Einfluss genommen werden kann. In meinem Fall sieht's so aus: In einer Schleife werden Daten seriell ausgegeben. Um die Timinganforderung (ohne zulässige Toleranz) pro Bit einhalten zu können, sind 30,625 Maschinenzyklen nötig. Logischerweise kann ich nur 30 oder 31 Zyklen pro Bit "verbrauchen". Auf den nächsten ganzzahligen Wert komme ich nach acht Durchläufen: 0,625 * 8 = 5. Wie gleicht man das nun aus? Die Schleife auf 30 trimmen und bei jedem achten Durchlauf fünf Zyklen mehr verbraten? Stimmt die Rechnung so? Das ganze funktioniert bereits fehlerfrei mit Einbeziehung der zulässigen Toleranzen (etwa 7,5 Zyklen Toleranz pro Bit) und weil die Übertragung asynchron ist und sich damit neu auf ein Bit synchronisiert, aber mich würde eben interessieren, wie man das ausgleicht. Ralf