Verfahren der Analog-Digital-Umsetzung

Werbung
µP-Technik
Labor
6. Labortermin
Vorbemerkungen zum 6. Versuchstag:
Ziele des sechsten Versuchstages sind:
! Die Verbindung von Mikroprozessoren mit peripheren Geräten weiter praktisch zu üben;
! Den Laborrechner als Bestandteil eines A/D-Umsetzers zur Umsetzung analoger Spannungen in Digitalwerte einzusetzen.
! Eigene Software-Module zu entwerfen und als Funktioneinheiten in ein größeres SoftwareProjekt zu integrieren.
Verfahren der Analog-Digital-Umsetzung
Für die A/D-Umsetzung haben sich verschiedene Verfahren bewährt, wobei jedes seine Vorund Nachteile bzgl. Umsetzzeit, Auflösung, Genauigkeit und Schaltungsaufwand gegenüber
den anderen Verfahren hat.
Hauptsächlich kommen die folgenden, im Fach „Digitaltechnik“ bereits vorgestellten Verfahren
für die A/D-Umsetzung zur Anwendung:
1. Parallelverfahren
2. Kaskadenverfahren
3. Serienverfahren (Sukzessive Approximation, Wägeverfahren)
4. Zählverfahren (Nachlauf- oder Treppenverfahren, Ein-/Zwei-Rampenverfahren, LadungsKompensationsverfahren)
Beschreibung der Versuchshardware
Die nachfolgend beschriebene Hardware erlaubt in Verbindung mit einem Laborrechner des
µP-Labors sowie der passenden Software die Realisierung eines Analog-/Digitalumsetzers
wahlweise mithilfe des Wägeverfahrens oder des Treppenverfahrens.
Fotos des Experimentieraufbaus
DAU-Board
µP-Labor
Laborrechner
1
N. Dahmen/G. Habedank
Labor
µP-Technik
6. Labortermin
Blockschaltbild DAU-Bord
Meßspannung
In der vorliegenden DAU-Einheit wird für die durchzuführenden Experimente die zu messende
analoge Eingangsspannung über ein Potentiometer eingestellt und für die Umsetzung bereitge-
µP-Labor
2
N. Dahmen/G. Habedank
µP-Technik
Labor
6. Labortermin
stellt. Über einen Umschalter kann festgelegt werden, ob unipolar (Umsetzungsbereich
0V...10V) oder bipolar (Umsetzungsbereich –5V...+5V) gemessen werden soll.
Digitalvoltmeter
Zur Anzeige der eingestellten Meßspannung befindet sich auf dem DAU-Board zusätzlich ein
Digitalvoltmeter mit LC-Display. Dieses muß bei Bedarf über einen separaten Schalter eingeschaltet werden.
Komparator
Sowohl Wäge- als auch Treppenverfahren beruhen auf dem Vergleich der umzusetzenden Spannung UMeß mit einer einstellbaren Vergleichsspannung URef. Der Vergleich dieser Spannungen
wird in der vorliegenden Schaltung mithilfe eines Komparators vorgenommen, der an seinem
Ausgang den logischen Pegel „0“ (UMeß > URef) oder „1“ (UMeß < URef) liefert. Der Zustand des
Komparatorausgangs und damit das Ergebnis des Vergleichs kann über die Kontrolleitung CA1
des PIA-Port A vom Laborrechner abgefragt werden.
D/A-Umsetzer
Die einstellbare Vergleichsspannung URef wird mithilfe eines 8-Bit Digital-/Analog-Umsetzers
auf dem DAU-Board erzeugt. Über die acht als Ausgänge programmierten Portleitungen von
PIA-Port B wird der D/A-Umsetzer angesteuert. Hierzu muß über den unten beschriebenen
Multiplexer der Datenpfad von Port B zum D/A-Umsetzer freigeschaltet worden sein. Je nach
Schalterstellung des Schalters „uni-/bipolar“ bestehen folgende Zusammenhänge zwischen Daten-Byte am Eingang und analoger Spannung am Ausgang des D/A-Umsetzers:
Daten-Byte
Daten-Byte
1111 1111
1111 1111
1111 1110
1111 1110
1111 1101
1111 1101
1000 0011
1000 0011
1000 0010
1000 0010
1000 0001
1000 0001
-4.98 -4.94 -4.90
-0.11 -0.07 -0.03
0.03 0.07
0.11
4.90 4.94 4.98
1000 0000
URef/V
0111 1111
0111 1111
0111 1110
0111 1110
0111 1101
0111 1101
0000 0010
0000 0010
0000 0001
0000 0001
0000 0000
0000 0000
a) bipolarer Meßbereich
0,03 0,07
4,90 4,94 4,98
5,02 5,06 5.10
5.14
9,88 9,92
9,96
b) unipolarer Meßbereich
Daten/Spannungs-Diagramme für den D/A-Umsetzer
Meßdaten-Ausgabe
Zur Anzeige der umgewandelten Meßspannung stehen vier 7-Segment-LED-Anzeigen zur Verfügung. Zwei der Anzeigen dienen der Darstellung der Vorkommanstellen, zwei zeigen die
Nachkommastellen an. Zur Ansteuerung der Vorkomma- als auch der Nachkommastellen müsµP-Labor
3
N. Dahmen/G. Habedank
URef/V
µP-Technik
Labor
6. Labortermin
sen jeweils BCD-codierte 8-Bit Zahlen bereitgestellt werden, wobei sich die niederwertigere
Ziffer im Low-Nibble, die höherwertigere im Hi-Nibble des Datenbyte befinden muß. Die BCDZahlen werden in zwei 8-Bit Latches, bestehend aus jeweils 8 taktflankengesteuerten DFlipflops, zwischengespeichert. Über den bereits erwähnten und unten erklärten Multiplexer
wird ausgewählt, ob die an PIA-Port B bereitgestellten Daten in das Latch für die NachkommaStellen, in das Latch für die Vorkomma-Stellen oder in den D/A-Umsetzer übernommen werden.
Taktgenerator
Zur Erzeugung des Übernahmetaktes für die Datenübernahme in die Anzeige-Latches sowie die
Synchronisation mit dem D/A-Umsetzer dient ein Rechteck-Taktgenerator. Der Takt liegt zusätzlich auch am Kontrolleingang CB1 von PIA-Port B an und kann somit vom Rechner zur
Synchronisation von Hard- und Software abgefragt werden.
Selektionseinheit (Multiplexer)
Der Multiplexer auf dem DAU-Board sorgt für die Umschaltung der Daten, wie sie von PIAPort B bereitgestellt werden, in ihrer gesamten Breite von 8 Bit. Zur Auswahl des gerade benötigten Multiplexer-Ausgangs dienen zwei digitale Eingänge, welche vom Rechner über die Kontroll-Ausgangsleitungen CA1 und CB2 angesteuert werden. Hierdurch lassen sich die 8-BitDaten wie folgt verteilen:
Funktion
CA2
CB2
keine
0
0
Nachkomma-Stellen des 7-Segment LED-Display
0
1
Vorkomma-Stellen des 7-Segment LED-Display
1
0
Eingangswert für den D/A-Wandler
1
1
Experiment 1:
Vorbereitung:
Entwerfen Sie ein Unterprogramm DADISP (⇓
⇓X), welches den im X-Register übergebenen
BCD-Code für gleichzeitig 4 Ziffern an die 7-Segment-Anzeige des DAU-Board übermittelt.
Hierzu müssen die 4 BCD-Ziffern im X-Register in Vorkomma- und Nachkommateil (jeweils 2
Ziffern in einem Byte) aufgeteilt und durch Auswahl mittels der Selektionseinheit in die zugehörigen Latches geschrieben werden.
Für die synchronisierte Übergabe aller Daten an die Anzeige-Latches ist die folgende Vorgehensweise erforderlich (siehe auch Timing-Diagramm auf der folgenden Seite):
"
#
$
%
&
'
(
Nachkommastellen auf das Datenregister von Port B schreiben
Daten zum Anzeigelatch für die Nachkommastellen durchschalten (CA2=0; CB2=1)
Warten auf die nächste fallende Taktflanke an CB1 (Daten werden übernommen)
Selektionseinheit zurücksetzen (CA2=0; CB2=0)
Warten auf die nächste steigende Taktflanke an CB1 (Einsynchronisieren auf den Takt)
Vorkommastellen auf das Datenregister von Port B schreiben
Daten zum Anzeigelatch für die Vorkommastellen durchschalten (CA2=1; CB2=0)
µP-Labor
4
N. Dahmen/G. Habedank
µP-Technik
Labor
6. Labortermin
) Warten auf die nächste fallende Taktflanke an CB1 (Daten werden übernommen)
* Selektionseinheit zurücksetzen (CA2=0; CB2=0)
Timing-Diagramm für die Routine DADISP
Initialisieren Sie bei Unterprogrammbeginn zunächst den PIA-Baustein wie folgt:
! Portleitungen PB0...PB7 als Ausgänge;
! CA2 und CB2 als statische Kontrollausgänge, zunächst beide „low“;
! CA1 high-aktiv, IRQ disabled;
! CB1 low-aktiv, IRQ disabled.
Der im Laborrechner benutzte PIA-Baustein hat die folgenden Registeradressen:
DRA
DDRA
CRA
DRB
DDRB
CRB
EQU
EQU
EQU
EQU
EQU
EQU
$FCF8
$FCF8
$FCF9
$FCFA
$FCFA
$FCFB
* Datenregister Port A
* Datenrichtungsregister Port A
* Kontrollregister Port A
* Datenregister Port B
* Datenrichtungsregister Port B
* Kontrollregister Port B
(CRA2=1)
(CRA2=0)
(CRB2=1)
(CRB2=0)
Vergessen Sie bitte nicht, nach der Initialisierung sowie nach jeder Auswertung des gesetzten
Flags IRQB1 durch „Dummy-Reads“ auf die betroffenen Ports die Flags zurückzusetzen!
Verwenden Sie zur Erzeugung einer Ablesepause unmittelbar vor der Rückkehr in das aufrufende Programm das folgende Unterprogramm ZEIT1:
******************************************************************************
*
Unterprogramm:
ZEIT1
*
Zweck:
Verzögerungsschleife (ca. 0,37s)
*
Veränderte Reg.:
X; wird gerettet und restauriert
******************************************************************************
ZEIT1
PSHS
X
LDX
#$A000
PAUSE
LEAX
-1,X
µP-Labor
5
N. Dahmen/G. Habedank
µP-Technik
Labor
BNE
PULS
RTS
6. Labortermin
PAUSE
X
Die Startadresse von DADISP ist $5780. Diese Adresse muß unbedingt eingehalten werden, um
andere Programm-Module, die später hinzugeladen werden, nicht zu überschreiben!
Beschreiben Sie Ihren Entwurf mithilfe eines Struktogramms bzw. Programmablaufplanes, und
realisieren Sie das Unterprogramm entsprechend den in Vorlesung und Übungen behandelten
Programmierkonventionen in 6809-Assembler.
Versuchsdurchführung:
1. Geben Sie das von Ihnen entwickelte Programm mithilfe des Editors ein, und assemblieren
Sie das Programm.
2. Drucken Sie das fehlerfrei assemblierte Programm aus, laden Sie es anschließend in den Arbeitsspeicher und aktivieren Sie den Monitor.
3. Setzen Sie Breakpoints auf Startadresse ($5780) und Endadresse Ihres Unterprogramms.
Starten Sie anschließend Ihr Programm (G 5780).
4. Setzen Sie mithilfe des Monitorbefehls „A“ den Wert für den Eingangsparameter in Register
X.
5. Setzen Sie Ihr Programm zunächst im Singe-Step Modus fort und überprüfen Sie es auf korrekte Arbeitsweise. Schauen Sie sich insbesondere auch den jeweils aktuellen Zustand der
PIA-Register mithilfe des Monitor-Befehls „M“ an.
6. Testen Sie Ihr Unterprogramm für verschiedene Anzeigewerte.
Hinweis: Die obere Vorkommastelle dient ausschließlich der Darstellung des Minuszeichens
„-“ für negative BCD-Zahlen und wird sonst ausgeschaltet. Das Minuszeichen wird mithilfe
des Wertes $3xxx im Eingangsparameter erzeugt. Zur Darstellung der Überlaufanzeige
„1_.__“ ist in X der Wert $0FFF zu übergeben.
7. Nach erfolgter Abnahme steht Ihnen das Modul neben anderen für die Realisierung der Tagesaufgabe zur Verfügung.
Experiment 2:
Sie erhalten die Programmieraufgabe während des Labortermins.
Notizen:
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
µP-Labor
6
N. Dahmen/G. Habedank
Herunterladen