|
Bei der Erstberührung mit einer neuen Hardware-Schnittstelle
ist es wichtig, ein Gefühl zu bekommen, was die Hardware macht,
wenn ganz bestimmte Controlregister in einer bestimmten Weise
beschrieben werden.
Für diesen Zweck entwerfe ich eine Routine zu Debug-Zwecken, um bei jeglicher
Gelegenheit die Veränderung des QADC nachvollziehen zu
können.
Folgende Register sind aus der Gesamtregistermenge, dargestellt
auf Table 27-2 (Seite 592: MCF5282UM.pdf), für die Ermittlung des
Status bei der Treiberprogrammierung wichtig:
- QADCMCR
- Mit Hilfe des QADC Module Configuration Register wird
über das STOP-Bit ein Reset des QADC durchgeführt.
- QACR1
- Im QADC Control Register 1 wird festgelegt, daß wir
im sogenannten Software-triggered single-scan mode arbeiten
möchten. Wann die Messung los geht, wird also mittels der
Software selbst festgelegt. Dies geschieht, indem ebenfalls über
das QACR1 das SSE1-Bit gesetzt wird.
- QASR0
- Im QADC Status Register 0 wird ermittelt, wie weit die
angestoßene Messung schon gediehen ist. Ist die Messung
"reif zur Ernte" (Kondensatoren haben sich hinreichend
geladen. In nächster Zeit sind die Spannungswerte halbwegs
stabil), dann wird darin das Completion Flag gesetzt.
- CCW
- Innerhalb der Conversion Command Word Table wird eine Art
Kurzzeitprogramm geschrieben. Dies fällt bei uns aber sehr
einfach aus. An Position 0 steht, daß der Wert des Port B0
eingelesen werden soll. An Position 1 steht, daß hiermit das
Programm endet.
Da immer nur ein Samplewert zu einem Zeitpunkt gelesen werden
kann, wird normalerweise hier festgelegt, in welcher Reihenfolge die
einzelnen Analogports abgescannt werden sollen.
Copyright © Andreas Birkert Letzte Aktualisierung am 20. Dezember 2013
|