Home Inhaltsverzeichnis Eigen compilierter Kernel 2.4: Ping funktioniert! Status des QADC
 

C QADC-Register des Coldfire 5282

Bei Annahme, daß der Temperatursensor an den Port QB Bit 0 (PQB[0]) angeschlossen wird, sind folgende Register aus der Gesamtregistermenge, dargestellt auf Table 27-2 (Seite 592: MCF5282UM.pdf), für die Treiberprogrammierung wichtig:

QADCMCR
Modul Configuration Register: damit kann der Stop-Mode kontrolliert werden und damit ein Reset ausgelöst werden.
 
PORTQB
Datenregister
 
DDRQB
muß mit 0x00 initialisiert werden, damit es in jedem Fall als Input dient.
 
QACR0
QA Control Register 0 wird mittels Reset auf den Wert 0x0013 voreingestellt. Damit wird bereits intern gemultiplext über die 8 möglichen Eingänge. Der Sample and Hold Takt steht bei 66,67MHz auf dem Wert 66,67 / 40 = 1,617MHz (QCLK)
 
QACR1
QA Control Register 1 wird mittels Reset auf den Wert 0x0000 voreingestellt. Damit findet keine AD-Wandlung statt. Alles ist disabled. Interessant ist der "Software-triggered single-scan mode". Dieser wird aktiviert mit dem Wert 0x2100. Allerdings sollte zuvor der richtige Takt QCLK gesetzt sein. Bei uns ist dieser aber hochwahrscheinlich schon durch den Reset passend vorbelegt (siehe QACR0...)
 
CCW
Conversion Command Word Table. Hier hat sich in die Doku von Motorola vermutlich ein Fehler eingeschlichen. Es kann eigentlich nicht sein, daß die Bitreihe für die Channel Number nur lesbar sein soll. Siehe auch Beschreibung in "27.8.10 Conversion Command Word Table". Nach Tabelle 27-16 muß man in CCW[0]=0x00C0 eingeben für "Input sample time = QCLK period x 16" und "ChannelNumber=0" für PQB0 als Input-Port. Setze CCW[1]=0x00FF, damit die Queue-Ausführung auch ein Ende findet.
 

Zum "Software-triggered single-scan mode" findet sich ein ausführlicher Abschnitt unter 27.8.6 Single-Scan Modes ab Seite 634.



Copyright © Andreas Birkert
Letzte Aktualisierung am 20. Dezember 2013
Home Inhaltsverzeichnis Eigen compilierter Kernel 2.4: Ping funktioniert! Status des QADC