Blockschaltung des ADuC7026

Digitale Signalverläufe mit einem Analog-Mikrocontroller programmieren

Dieser Tipp beschreibt, auf welche Arten man ein Taktsignal mit dem analogen Mikrocontroller ADuC702x erzeugen kann und welche Vor- und Nachteile die einzelen Varianten bieten.

Um ein Taktsignal mit dem analogen Mikrocontroller ADuC702x zu erzeugen, gibt es drei Möglichkeiten:
1. Toggeln von einem der General-Purpose-Ausgänge. Bei jedem Timer Overflow wird ein Interrupt erzeugt, der den General-Purpose-Ausgang ergänzt. Dies ermöglicht eine programmierbare Frequenz und Tastverhältnis, wobei die variable Interrupt-Latenz des ARM7-basierten ADuC702x die Geschwindigkeit und Genauigkeit begrenzt und Jitter am Ausgang erzeugt. Außerdem muss der Timer Interrupt mit hoher Priorität bedient werden, um das korrekte Timing beizubehalten. Im Idealfall sollte der Core in die Erzeugung des digitalen Signalverlaufs nicht involviert sein.

2. Einsatz eines integrierten Pulsweitenmodulators. Die Taktauflösung ergibt sich aus der Größe des PWM-Schaltfrequenzregisters und der Core-Taktfrequenz. Die CPU wird nicht belastet und es lassen sich Frequenzen in einem großen Bereich erzeugen – von wenigen Hz bis zu mehreren 10 MHz. Die Familie ADuC702x enthält einen PWM-Block (Bild 1). Leider ist die Genauigkeit des erzeugten Taktes abhängig von der Präzision des internen Taktes und es ist ein kompletter 3-Phasen-PWM-Block erforderlich. Die Genauigkeit lässt sich erhöhen, indem man statt des integrierten Oszillators einen externen 32-kHz-Quarz einsetzt. Dies erhöht jedoch die Kosten, den Platzbedarf und das Power-Budget.

3. Einsatz eines Gates und Flip Flops. Die Familie ADuC702x enthält ein programmierbares Logik-Array (PLA), das zum Implementieren von Verbindungslogik verwendet werden kann. Das PLA besteht aus 16 per Software konfigurierbare Gates und Flip-Flops. Ein sehr einfaches Taktsignal lässt sich mit Hilfe eines Inverters und eines Flip Flops programmieren. Das Flip Flop kann mit dem Core-Takt, dem internen Oszillator, Timer1 oder über einen General-Purpose-Eingang getaktet werden. Die Taktfrequenz kann sehr flexibel sein, wobei sich das Tastverhältnis nicht programmieren lässt. Die frei verfügbaren Gates am ADuC702x ermöglichen eine hohe Flexibilität und der Takt benötigt nur einen sehr kleinen Block.

Alle drei Konzepte bieten Vor- und Nachteile. Welches der drei Konzepte als am besten geeignete Lösung verwendet wird, richtet sich nach der jeweiligen Anwendung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.