000
01.01.2020, 22:04 Uhr
Hobi
|
Ich hatte versucht mittels CTC einen Takt von exakt 115200 Hz zu erzeugen. Die Idee war ein Druckermodul so umzubauen, dass Baud-Raten jenseits der 9600 Baud für Datentransfer möglich sind.
Leider waren die Versuche nur mäßig erfolgreich, aber lehrreich. Vielleicht hilft es den ein oder anderem bei der Verwendung des Zählerschaltkreises.
Als Basis hatte ich einen Z1013 mit 2MHz verwendet.
Test 1: Takt (PIN 15 am CTC 1,8432 MHz)
START: OUT CTC+0,5 (TIMER Mode, Prescaler 16, Zähler folgt) OUT CTC+0,1 (Takt geteilt durch 1) PAUSE OUT CTC+0,5 (TIMER Mode, Prescaler 16, Zähler folgt) OUT CTC+0,2 (Takt geteilt durch 2) PAUSE JMP START
Das Ergebnis war zuerst zufriedenstellend, exakt 115.2K.
Hier könnte man annehmen, dass der Takt jeweils zwischen 115.2K und 57.6K umgeschalten wird. Leider war dem nicht so. Manchmal ist eines der Port-Zugriffe nicht beim CTC "angekommen". Mit dem LA habe ich dann kontrolliert, ob die Daten auch korrekt am Bus anlagen, das war jedesmal korrekt.
Der Effekt verschwand als dann der System-Takt verwendet wurde.
Ergebnis: Es bringt nichts, einfach eine andere Taktfrequenz als den Systemtakt zu verwenden.
Test 2: 1,8432 MHz am ZC0 anlegen OUT CTC+0,45h (Counter Mode, Zähler folgt) OUT CTC+0,1 (Takt geteilt durch 2*1)
Es funktioniert zwar, aber mit Jitter, da alles mit dem Systemtakt synchronisiert wird. Das Ergebnis: der Zähler funktioniert für Frequenzen, die weit unterhalb vom Systemtakt sind.
Test 3: wie 2. aber 2 MHz am ZC0 anlegen. OUT CTC+0,45h (Counter Mode, Zähler folgt) OUT CTC+0,9 (Takt geteilt durch 2*9) Die Frequenz ist 111KHz und weicht um 3% vom Zielwert ab.
Zusammenfassend denke ich, kann man den Zählermode für programmierbare Baud-Raten dennoch nutzen, wenn man vielfaches von 9600Hz am Zählereingang anlegt. Der Timer-Mode scheidet aus, das hier noch der Vorteiler 16 ins Spiel kommt und man so niemals auf die 115,2K kommt. -- ------------------------------------------- Corontäne ------------------------------------------- Dieser Beitrag wurde am 01.01.2020 um 22:10 Uhr von Hobi editiert. |