DE69126386T2 - Automatische Auswahl von externen Multiplexerkanälen durch A/D-Wandlerintegrationsschaltung - Google Patents
Automatische Auswahl von externen Multiplexerkanälen durch A/D-WandlerintegrationsschaltungInfo
- Publication number
- DE69126386T2 DE69126386T2 DE69126386T DE69126386T DE69126386T2 DE 69126386 T2 DE69126386 T2 DE 69126386T2 DE 69126386 T DE69126386 T DE 69126386T DE 69126386 T DE69126386 T DE 69126386T DE 69126386 T2 DE69126386 T2 DE 69126386T2
- Authority
- DE
- Germany
- Prior art keywords
- analog
- queue
- conversion
- control
- data input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000010354 integration Effects 0.000 title 1
- 238000006243 chemical reaction Methods 0.000 claims description 194
- 238000005070 sampling Methods 0.000 claims description 48
- 238000000034 method Methods 0.000 claims description 17
- 230000000977 initiatory effect Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 6
- 108091006146 Channels Proteins 0.000 description 88
- 230000006870 function Effects 0.000 description 44
- 230000000737 periodic effect Effects 0.000 description 32
- 239000013598 vector Substances 0.000 description 12
- 238000012360 testing method Methods 0.000 description 11
- 238000012546 transfer Methods 0.000 description 10
- 208000009989 Posterior Leukoencephalopathy Syndrome Diseases 0.000 description 9
- 230000004044 response Effects 0.000 description 7
- 101001050487 Homo sapiens IST1 homolog Proteins 0.000 description 6
- 102100023423 IST1 homolog Human genes 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 101100440271 Caenorhabditis elegans ccf-1 gene Proteins 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 101000633089 Homo sapiens Transient receptor potential cation channel subfamily V member 2 Proteins 0.000 description 3
- 102100029621 Transient receptor potential cation channel subfamily V member 2 Human genes 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000004020 conductor Substances 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 101150020050 Or46a gene Proteins 0.000 description 2
- 241000270295 Serpentes Species 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 101100028092 Drosophila melanogaster Or22a gene Proteins 0.000 description 1
- 101100028093 Drosophila melanogaster Or22b gene Proteins 0.000 description 1
- 101100188768 Drosophila melanogaster Or43a gene Proteins 0.000 description 1
- 101100406487 Drosophila melanogaster Or47a gene Proteins 0.000 description 1
- 101100406490 Drosophila melanogaster Or49b gene Proteins 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 206010000210 abortion Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/05—Digital input using the sampling of an analogue quantity at regular intervals of time, input from a/d converter or output to d/a converter
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Analogue/Digital Conversion (AREA)
Description
- Die vorliegende Erfindung ist mit den folgenden gleichzeitig hiermit eingereichten und an den Zessionar der vorliegenden Erfindung abgetretenen Erfindungen verwandt:
- "Automatic A/D Converter Operation Using A Programmable Control Table", erfunden von William D. Huston et al. (unser Aktenzeichen Nr. SC00873A).
- "Automatic A/D Converter Operation Using Programmable Sample Time", erfunden von Jules D. Campbell, Jr. et al. (unser Aktenzeichen Nr. SC01012A).
- "Automatic A/D Converter Operation With Selectable Result Format", erfunden von Jules D. Campbell, Jr. et al. (unser Aktenzeichen Nr. SC01013A).
- Diese Erfindung betrifft Analog/Digital-Umsetzer im allgemeinen und im besonderen ein A/D-Umsetzersystem, das eine integrierte A/D-Umsetzerschaltung umfaßt, die mit wenigstens einer integrierten Multiplexerschaltung verbunden werden und dieselbe steuern kann.
- Die vorliegende Erfindung ist bei Anwendungen von Nutzen, die die Umwandlung eines Analogsignals in ein Digitalsignal verlangen, wie z.B. das Abfühlen von Analoginformation in einem Fahrzeug-Kontrollsystem durch Computer. Um es weiter zu erläutern, im Steuersystem eines Fahrzeugmotors verlangt ein Mikrocomputer, daß Analogsignalinformation von verschiedenen Wandlern in Digitalsignalinformation umgesetzt wird, bevor sie der Mikrocomputer verarbeiten kann. Beispiele solcher Analogsignalinformation sind die Ausgänge von Sensoren für Ladedruck, Sauerstoff, Drehzahl, Bedienereingabe, Batteriespannung, Anti-Klopfen usw.
- In einer typischen Fahrzeuganwendung müssen viele verschiedene Analogsignale umgewandelt werden. Es ist bekannt, ein A/D-Umsetzermodul mit einer Anzahl von Kanaleingängen, die jeweils auf ein entsprechendes Analogsignal ansprechen, und einem Multiplexer zu versehen, der die Analogsignale zur Umwandlung in Digitalsignale in die A/D-Schaltung eintaktet. Die optimale Anzahl von Kanälen hängt von der einzelnen Anwendung ab, für die der A/D-Umsetzer verwendet wird.
- In dieser Technik besteht eine signifikante Notwendigkeit für ein Verfahren, die Anzahl von Analogsignalen, die umgewandelt werden kann, zu erhöhen, während die Anzahl von E/A-Pins des A/D-Umsetzers auf einem Minimum gehalten wird. Es besteht außerdem eine Notwendigkeit, A/D-Umsetzerschaltungen zur Verfügung zu stellen, die, abhängig von der jeweiligen Anwendung, einen weiten Bereich in der Anzahl von Analogeingängen akkomodieren können.
- Es ist bekannt, einen oder mehr externe Multiplexer- (MUX) ICs für ein A/D-Umsetzermodul bereitzustellen. Auf diese Weise kann Anzahl von Analogsignalen, die abgetastet und umgewandelt werden kann, erhöht werden.
- Außerdem erlaubt die Verwendung externer MUX-ICs, eine Mehrzahl von Analogsignalen näher an ihren Quellen abzuschließen, wodurch die Anzahl von Kabeln oder Leitern zwischen den Analogquellen und dem A/D- Umsetzermodul minimiert wird. Die begleitende Verringerung im Gewicht, im Volumen und der Abschirmung hat für Fahrzeuganwendungen besonders wichtige Vorteile.
- Jeder außerhalb eines A/D-Umsetzermoduls gelegene MUX kann z.B. auf acht Analogeingänge ansprechen. Unter Softwaresteuerung, die die zentrale Verarbeitungseinheit (CPU) des A/D-Umsetzersystems einbezieht, können einzelne MUXs durch die CPU adressiert werden, und einer der acht Analogwerte kann zur Umwandlung in einen entsprechenden Digitalwert in den Umsetzer eingegeben werden. Dieses System hat jedoch den Nachteil, daß es die Beteiligung der Software der System-CPU erfordert.
- Es besteht folglich eine bedeutsame Notwendigkeit, ein A/D-Umsetzersystem bereitzustellen, in dem externe MUX-ICs verwendet werden können, ohne die Softwarefunktion der System-CPU übermäßig zu belasten.
- Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Bereitstellen einer automatischen Auswahl unter einer Mehrzahl von Dateneingangsanschlüssen in einem Analog/Digital-Umwandlungssystem wie in Anspruch 1 beansprucht zur Verfügung gestellt.
- Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Analog/Digital-Umwandlungssystem wie in Anspruch 6 beansprucht zur Verfügung gestellt.
- Man wird anerkennen, daß die vorliegende Erfindung die vorerwähnten Forderungen durch Bereitstellen eines A/D-Umwandlungssystems erfüllt, bei dem externe MUXs durch das A/D-Umsetzermodul automatisch adressiert und abgetastet werden, ohne die CPU des Hauptsystems einzubeziehen. Es sollte verstanden werden, daß der Begriff "Modul" hierin verwendet wird, um entweder einen integrierten Schaltkreis oder einen Teil eines integrierten Schaltkreises zu bezeichnen.
- Ein Vorteil der vorliegenden Erfindung ist, daß sie ein A/D-Umsetzersystem bereitstellt, das einen breiten Umfang von Analogeingängen akkomodieren kann, während die E/A-Pinzahl des IC, von dem das A/D-Umsetzersystem ein Teil ist, minimiert wird.
- Ein weiterer Vorteil der vorliegenden Erfindung ist, daß sie ein A/D- Umsetzersystem bereitstellt, das externe MUX-Schaltungen verwenden kann, ohne die Softwarefunktion in der System-CPU zu belasten.
- Die Erfindung wird mit Besonderheit in den anliegenden Ansprüchen zum Ausdruck gebracht. Andere Merkmale der Erfindung werden jedoch deutlicher werden und die Erfindung wird am besten verstanden werden, indem auf die folgende ausführliche Beschreibung in Verbindung mit den begleitenden Zeichnungen Bezug genommen wird.
- Fig. 1 zeigt ein A/D-Umsetzersystem, das ein A/D-Umsetzermodul und eine oder mehr integrierte Multiplexerschaltungen umfaßt, gemäß einer bevorzugten Ausführung der vorliegenden Erfindung.
- Fig. 2 zeigt ein Blockschaltbild des A/D-Umsetzermoduls der vorliegenden Erfindung.
- Fig. 3 zeigt ein Blockschaltbild des Steuerregisters und der Logikschaltung 60 von Fig. 2.
- Fig. 4 definiert die Intermodulbus- (IMB) Signale des A/D-Umsetzermoduls der vorliegenden Erfindung.
- Fig. 5 zeigt einen Adressenpian der Steuerregister, der Umwandlungsbefehlsworttabelle und der Umwandlungsergebnistabelle des A/D-Umsetzermoduls.
- Fig. 6 ist ein ausführlicherer Adressenplan, der die Formate der Steuer-, Port- und Statusregister 80 von Fig. 5 zeigt.
- Fig. 7 zeigt das Format eines Umwandlungsbefehlswortes (CCW) des A/D- Umsetzermoduls.
- Fig. 8 ist eine begriffliche Darstellung, die zeigt, wie Umwandlungsbefehlswörter verwendet werden, um Ergebniswörter zu erzeugen, die in der Umwandlungsergebnistabelle gespeichert werden.
- Fig. 9 ist eine Tabelle, die erläutert, wie die CCW CHAN Bits die Funktionen der verschiedenen E/A-Stifte für 0, 1, 2 oder 3 externe Multiplexer-ICs spezifizieren.
- Fig. 10 ist eine Tabelle, die die Anzahl von Analogkanälen, die bei verschiedenen Zahlen von externen Multiplexer-ICs zur Verfügung stehen, in Form der dem A/D-Umsetzermodul zugewiesenen Anzahl von E/A- Stiften erläutert.
- Fig. 11 zeigt Datenformatoptionen von in der Umwandlungsergebnistabelle gespeicherten Ergebniswörtern.
- Fig. 12 zeigt das Format des Modulkonfigurationsregisters des A/D-Umsetzermoduls.
- Fig. 13 zeigt die Verwendung des SUPV-Bits des Modulkonfigurationsregisters des A/D-Umsetzermoduls.
- Fig. 14 zeigt das Format des Unterbrechungsregisters des A/D-Umsetzermoduls.
- Fig. 15 zeigt die Formate der Port A und Port B Datenregister des A/D- Umsetzermoduls.
- Fig. 16 zeigt das Format des Port A Datenrichtungsregisters des A/D- Umsetzermoduls.
- Fig. 17 zeigt das Format des Steueregisters 0 des A/D-Umsetzermoduls.
- Fig. 18 zeigt das Format des Steueregisters 1 des A/D-Umsetzermoduls.
- Fig. 19 zeigt das Format des Steueregisters 2 des A/D-Umsetzermoduls.
- Fig. 20 zeigt das Format des Statusregisters des A/D-Umsetzermoduls.
- Fig. 21 zeigt die benötigten Adressen, um in der Umwandlungsergebnistabelle gespeicherte Ergebniswörter in wenigstens drei verschiedenen Datenformatoptionen zu lesen.
- Fig. 22 zeigt eine ausführliche Logikimplementierung der in Fig. 2 gezeigten Datenformatlogik 68.
- Fig. 1 zeigt ein A/D-Umsetzersystem, das eine integrierte (IC) A/D- Umsetzerschaltung und eine oder mehr integrierte Multiplexerschaltungen umfaßt. Ein Eingereihtes (queued) A/D-Umsetzermodul (QADC) 1 ist mit einem oder mehr externen Multiplexern (MUXs) 10, 12 und 14 verbunden gezeigt. In einer bevorzugten Ausführung werden das QADC 1 und die externen MUXs als integrierte Schaltungen implementiert. Externe Multiplexer sind z.B. als Teilenummer MC14051 oder MC74HC4051 von Motorola, Inc. käuflich erhältlich.
- Das Eingereihte A/D-Umsetzermodul (QADC) 1 wird hierin als "eingereiht" beschrieben, weil es, wie unten ausführlicher beschrieben wird, als Reaktion auf eine oder mehr Schlangen von Befehlsumwandlungswörtern arbeitet.
- Das QADC 1 umfaßt eine Mehrzahl von E/A-Pins, allgemein durch Bezugszeichen 2 gezeigt, einen analogen MUX-Teil 4, einen analogen Umsetzerteil 6 und einen Teil zum Durchführen der Steuerung und Speichern der digitalen Ergebnisse 8.
- Die E/A-Pinkonfigurationen des QADC variieren von einer 12-Pin Konfiguration bis zu einer 20-Pin Konfiguration. Außerdem mit geeigneten Pins des QADC 1 verbunden sind Stromversorgungen VSSA und VDDA, Referenzen VRH0 und VRL0, alternative Referenzen VRH1 und VRL1 und externe Trigger ETRIG1 und ETRIG2.
- Acht der E/A-Pins des QADC 1 wirken als Port A E/A-Pins und sind mit PA0-PA7 bezeichnet, während acht andere als Port B Eingangspins fungieren und mit PB0-PB7 bezeichnet sind. Das Präfix "PA" bezeichnet Port A, und das Präfix "PB" bezeichnet Port B.
- Die externen MUXs 10, 12 und 14 sind als je acht analoge Eingangskanäle umfassend gezeigt. Der MUX 10 hat z.B. Eingangskanäle AN16, AN18, AN20, AN22, AN24, AN26, AN28 und AN30.
- Die externen MUXs werden über Adressenleitungen MA0-MA2 adressiert. Das Präfix "MA" bezeichnet gemultiplexte Adressen. Die Ausgänge der MUXs 101 12 und 14 sind mit den Leitungen ANx, ANy bzw. ANz verbunden. Das Präfix "AN" bedeutet Analogeingang.
- Wie unten weiter erörtert werden wird, sind viele der E/A-Pins 2 programmierbar, um mehrfache Funktionen auszuführen.
- Wie unten gezeigt und beschrieben werden wird, liest das QADC 1 automatisch Analogsignale, die in die MUXs 10, 12 und 14 eingegeben werden, und wandelt die Analogwerte in Digitalwerte um, die im Digitalergebnisteil 8 des QADC 1 gespeichert werden.
- Fig. 2 zeigt ein Blockschaltbild des A/D-Umsetzermoduls der vorliegenden Erfindung. Das Eingereihte A/D-Umsetzermodul (QADC) 1 umfaßt den Port A, der mit Bezugszeichen 21 bezeichnet ist und die Pins PA0-PA7 umfaßt, und den Port B, der mit Bezugszeichen 22 bezeichnet ist und die Pins PB0-PB7 umfaßt. Die Ports A und B sind mit dem Bus 30 verbunden. Zwei primäre Bezugsspannungen VRL0 27 und VRH0 29 sind ebenfalls mit dem Bus 30 verbunden.
- Außerdem mit dem Bus 30 verbunden sind ein Referenz-MUX (4:2) 26, ein Kanal-MUX (16:2) 28, eine externe Triggerschaltung 32, eine Port A E/A-Schaltung 34 und eine Port B Eingangsschaltung 36. Die Adressendecodierungsschaltung 38 ist mit der Port A E/A-Schaltung 34 und der Port B Eingangsschaltung 36 verbunden.
- Das QADC-Modul 1 umfaßt einen 10-Bit Umsetzerteil des sukzessiven Annäherungstyps, der Abtast-Halte-Schaltungen 40 und 42 umfaßt, einen 2:1 MUX 44, einen 10-Bit kapazitiven Digital/Analog-Umsetzer (CDAC) (Ladungs-Umverteilungstyp) 52, einen Dummy-CDAC 54, einen Komparator 56 und ein sukzessives Annäherungsregister (SAR) 58.
- Für die Fachleute in der Technik wird ersichtlich sein, daß der Umsetzer des sukzessiven Annäherungstyps mehr oder weniger als 10 Bits umfassen kann. Es wird ebenfalls ersichtlich sein, daß der Digital/Analog-Umsetzer vom Nur-Widerstands-, Nur-Kapazitiv- oder dem Widerstands/Kapazitiv-Typ sein kann.
- Die Ladungspumpen- und Vorspannungsschaltung 24 liefert Vorspannungen für die MUXs 26, 28 und 44, die Abtast-Halte-Schaltungen 40 und 42, den CDAC 52 und den Dummy-CDAC 54 und den Komparator 56.
- Das QADC-Umsetzermodul 1 umfaßt weiter eine Busschnittstelleneinheit (BIU) 70, die mit einem Intermodulbus 72 verbunden ist. Der Intermodulbus 72, der Takt-, Daten-, Steuer- und Adresseninformation bidirektional übertägt, kann mit einem Hostdatenverarbeitungssystem (nicht gezeigt) verbunden sein.
- Verbunden mit der Busschnittstelleneinheit 70 über einen internen Adressenbus 31 sind die Adressendecodierungsschaltung 38, die Steuerregister- und Logikschaltung 60, die Datenformatschaltung 68 und die Adressendecodierungsschaltung 66.
- Ferner verbunden mit der Busschnittstelleneinheit 70 über einen Datenbus 33 sind die Port A E/A-Schaltung 34, die Port B Eingangsschaltung 36, die Steuerregister- und Logikschaltung 60 und die Datenformatschaltung 68.
- Mit der Steuerregister- und Logikschaltung 60 sind ferner verbunden ein externer Trigger 32, ein Abtastzeitgeber 46, ein periodischer Zeitgeber 48, eine Vorteilerschaltung 50, ein Direktzugriffsspeicher (RAM), der eine Tabelle von Befehlssteuerwörtern (CCWs) 62 und eine Ergebnistabelle 64 speichert, eine Adressendecodierungsschaltung 66, das SAR 58, der 2:1 Abtast-Halte-MUX 44 und der 16:2 Kanal-MUX 28.
- Außerdem sind mit dem Eingereihten A/D-Umsetzermodul 1 geeignete Analogstromversorgungsspannungen über die Pins VDDA 35 und VSSA 37 verbunden.
- Bei der bevorzugten Ausführung werden 16 Analogkanäle in den internen Multiplexkreisen des QADC-Moduls 1 bereitgestellt. Die Anzahl extern verfügbarer Kanäle hängt von der Verfügbarkeit von Gehäusepins und davon ab, ob externes Multiplexen verwendet wird. Die Anzahl von Kanälen in einem erweiterten extern gemultiplexten Modus beträgt bei einer bevorzugten Ausführung 27 (mit einem 5-Bit CCW CHAN Feld gibt es außerdem vier interne Kanäle und ein Ende-Schlange-Steuerwort). Ein Fachmann sollte verstehen, daß das Kanalfeld freigestellt vergößert oder verkleinert werden kann, um mehr oder weniger Kanäle zu erlauben.
- Das QADC-Modul 1 besitzt bis zu 20 externe Pins, wie in Fig. 1 und 2 gezeigt. Alle diese Pins, außer den Strom- und Referenzpins, können als universelle digitale Portpins verwendet werden. Versionen des QADC-Moduls 1 mit kleinerer Pinzahl können erzeugt werden, indem die Anzahl der Kanal/Port-Pins reduziert wird. Versionen mit nur 12 Pins können acht Analogkanäle, zwei Strompins und zwei Referenzpins umfassen.
- Fig. 3 zeigt ein Blockschaltbild der Steuerregister- und Logikschaltung (allgemein innerhalb der gestrichelten Linie gezeigt und mit Bezugszeichen 60 bezeichnet) und verschiedene Signalwege zwischen ihr und der Busschnittstelleneinheit 70, der CCW-Tabelle 62, der Ergebnistabelle 64, der Adressendecoderschaltung 66 und anderen in Fig. 2 gezeigten Schaltkreisen.
- Die Steuerregister- und Logikschaltung 60 umfaßt eine Triggerauswahl- und Prioritätsschaltung 200, Register 210, eine Registersteuerungs- und Decodierungsschaltung 220, eine Unterbrechungslogik 230, eine Schlangesteuerungs- und CCW-Adressierungsschaltung 240 und eine ADC- Abtaststeuerung- und Umwandlungssteuerung (allgemein mit Bezugszeichen 250 bezeichnet).
- Die Triggerauswahl- und Prioritätsschaltung 200 ist verantwortlich, die Art des Triggers zum Einleiten einer A/D-Umwandlungsfolge als Reaktion auf Modusinformation von den Registerschaltungen 210 zu bestimmen. Sie ist außerdem verantwortlich, Schlange 1 oder Schlange 2 für die Umwandlungsfolge als Reaktion auf durch die Steuerregister decodierte Steuerinformation auszuwählen.
- Die Triggerauswahl- und Prioritätsschaltung 200 reagiert auf externe Triggersignale ETRIG1 und ETRIG2 über Leitungen 203 bzw. 204. Die Triggerauswahl- und Prioritätsschaltung 200 ist über die Leitung 205 auch mit dem periodischen Zeitgeber 48 verbunden. Die Triggerauswahl- und Prioritätsschaltung 200 reagiert auf Modussteuersignale von den Steuerregistern über Leitung 213 und auf ein Ende-Schlange- (EOQ) Si gnal von der Schlangesteuerungs- und CCW-Adressierungsschaltung 240 über Leitung 242. Die Triggerauswahl- und Prioritätsschaltung 200 erzeugt Steuersignale für die Schlangesteuerungs- und CCW-Adressierungsschaltung 240 über den Signalweg 206.
- Die Fachleute in der Technik werden verstehen, daß die Begriffe "Signalweg" oder "Leitung", wie hierin verwendet, einen einzigen Leiter, einen Bus mit mehrfachen Leitern oder einen anderen geeigneten Signalweg wie für die Implementierung zweckmäßig betreffen können.
- Die Registerschaltung 210 umfaßt die in Fig. 6 gezeigten und ansonsten in Fig. 2 nicht gezeigte Register, d.h., ein Modulkonfigurationsregister, ein Prüfregister, ein Unterbrechungsregister, die Steuerregister 0-2 und ein Statusregister. Die Aufgabe der Registerschaltung 210 ist, die automatische Steuerung der Funktion des QADC zu ermöglichen, sobald die Register durch die Software des Hostsystems geladen sind.
- Die Registerschaltung 210 erzeugt Steuersignale für den Abtastzeitgeber 46 über Leitung 211, den Vorteiler 50 über Leitung 212, die Triggerauswahl- und Prioritätsschaltung 200 über Leitung 213, die Schlangesteuerungs- und CCW-Adressierungsschaltung 240 über Leitung 214 und die Unterbrechungslogik 230 über Leitung 221.
- Die Registerschaltung 210 empfängt Steuersignale von der Registersteuerungs- und Decodierungsschaltung 220 über den Signalweg 215 und ein Ende-Schlange- (EOQ) Signal von der Schlangesteuerungs- und CCW- Adressierungsschaltung 240 über Leitung 242.
- Die Registerschaltung 210 ist ferner über den bidirektionalen Bus 217 mit der Busschnittstelleneinheit 10 verbunden.
- Die Registersteuerungs- und Decodierungsschaltung 220 empfängt Steuer- und Adresseninformation über die Busse 218 bzw. 219 von der Busschnittstelleneinheit 70 und erzeugt Steuersignale für die Registerschaltung 210 über den Signalweg 215. Die Funktion der Registersteuerungs- und Decodierungsschaltung 220 ist, Steuer- und Adressierungsschaltkreise für die verschiedenen Register innerhalb der Registerschaltung 210 bereitzustellen.
- Die Unterbrechungslogik 230 erzeugt beim Ende einer Umwandlungsfolge (wenn freigegeben) ein Unterbrechungssignal an die Host-CPU. Die Unterbrechungslogik 230 empfängt Steuersignale von der Registerschaltung 210 über den Signalweg 221 und ein EOQ-Signal von der Schlangesteuerungs- und CCW-Adressierungsschaltung 240 über die Leitung 242. Sie ist ebenfalls mit der Busschnittstelleneinheit 70 über den Signalweg 231 verbunden.
- Die Schlangesteuerungs- und CCW-Adressierungsschaltung 240 ist für die Steuerung der CCW-Adressierung und den Start der Abtast- und Umwandlungsoperationen verantwortlich. Die Schlangesteuerungs- und CCW- Adressierungsschaltung 240 empfängt Steuersignale von der Triggerauswahl- und Prioritätsschaltung 200 über Leitung 206, von der Registerschaltung 210 über Leitung 214 und von der ADC-Umwandlungssteuerschaltung 254 über die Leitung 256. Sie erzeugt Steuersignale für die Triggerauswahl- und Prioritätsschaltung 200, die Registerschaltung 210 und die Unterbrechungslogikschaltung 230 über Leitung 242. Sie erzeugt außerdem Steuersignale für die Adressendecodierungsschaltung 66 über Leitung 244, die ADC-Umwandlungssteuerschaltung 254 über Leitung 258 und die ADC-Abtaststeuerung 252 über Leitung 251.
- Die ADC-Abtaststeuerung 252 ist verantwortlich, die S/H-Schaltungen 40 und 42 (siehe Fig. 2) über den Abtastzeitgeber 46 mitzuteilen, mit dem Abtasten zu beginnen. Sie ist außerdem verantwortlich, der ADC- Umwandlungssteuerung 254 mitzuteilen, wenn das Abtasten beendet ist. Die ADC-Abtaststeuerung 252 empfngt Steuersignale vom Abtastzeitgeber 46 über Leitung 262, von der Schlangesteuerungs- und CCW-Adressierungsschaltung 240 über Leitung 251 und von der CCW-Tabelle über Leitung 253 (Eingangsabtastzeit) und Leitung 255 (Neuabtastsperre). Sie erzeugt Steuersignale für den Abtastzeitgeber 46 über Leitung 261 und die ADC-Umwandlungssteuerung 254.
- Die ADC-Umwandlungssteuerung 254 ist verantwortlich für das Einleiten einer Umwandlungsoperation durch das SAR 58 und das Informieren der Schlangesteuerungs- und CCW-Adressierungsschaltung 240 über das Ende der Umwandlungsoperation. Die ADC-Umwandlungssteuerung 254 empfängt Steuersignale von der ADC-Abtaststeuerung 252. Sie empfängt außerdem Steuersignale von der Schlangesteuerungs- und CCW-Adressierungsschaltung 240 über Leitung 258 und erzeugt Steuersignale für das SAR 58 über Leitung 257.
- Wie in Fig. 3 gezeigt, kann als Reaktion auf ein decodiertes CCW ein REF-Steuersignal über die Leitung 263 an den REF-MUX 26 gesendet werden, und ein CHAN-Steuersignal kann über die Leitung 264 an den CHAN- MUX 28 gesendet werden.
- Am Ende einer Umwandlungsoperation wird ein Digitalwert vom SAR 58 über die Leitung 265 gesendet und in der Ergebnistabelle 65 gespeichert.
- Fig. 4 ist eine Tabelle, die die Intermodulbus- (IMB) Signale des A/D- Umsetzermoduls der vorliegenden Erfindung definiert.
- Der Adressenbus IADDR und der Datenbus IDATA werden zusammen mit ihren zugehörigen Steuer- und Quittungsaustauschleitungen verwendet, um Daten zwischen dem IMB 72 und dem QADC-Modul 1 zu übertragen.
- Das Rückstellsignal IMSTRSTB initialisiert bestimmte Registerbits auf ihre Vorgabezustände. Diese Vorgabezustände werden in den Registerbeschreibungen unten beschrieben. Das Hauptrückstellsignal IMSTRSTB und das Systemrückstellsignal ISYSRSTB werden verwendet, um die BIU(Busschnittstelleneinheit) Zustandsmaschine zurückzustellen.
- ISIZ und IADDR werden benutzt, um die Größe von Daten (Byte oder Wort) zu bestimmen. Das QADC-Modul 1 besitzt bestimmte Bits, die nur im Testmodus zugänglich sind, und die Leitung ITSTMODB wird für den Betrieb im Testmodus verwendet.
- Fig. 5 zeigt einen Adressenplan (allgemein durch Bezugszeichen 75 bezeichnet) für die Steuerregister, die Umwandlungsbefehlsworttabelle und die Umwandlungsergebnistabelle des A/D-Umsetzermoduls.
- Das QADC-Modul 1 benutzt 512 Bytes oder 256 Worte an Adressenraum, wie in Fig. 5 gezeigt. Von den tatsächlich implementierten Wörtern sind 9 Wörter Steuer-, Status- und Portregister (allgemein durch Bezugszeichen 80 bezeichnet), 32 Wörter sind Umwandlungsbefehlswörter (allgemein durch Bezugszeichen 81 bezeichnet), und 32 Wörter werden für jeden Datenformattyp der Ergebnistabelle (allgemein durch die Bezugszeichen 83, 85 und 89 bezeichnet) verwendet. Die restlichen Wörter sind für eine mögliche künftige Erweiterung reserviert.
- Der erste Block 80 des Adressenplans 75 enthält die für Steuer-, Status- und Portinformation verwendeten 9 Wörter. Diese erlauben einem Hostdatenverarbeitungssystem (nicht gezeigt), das QADC-Modul 1 in die gewünschte Konfiguration und Betriebsart zu initialisieren. Außerdem sind Statusbits enthalten, die das Hostsystem lesen kann, um eine Unterbrechung zu identifizieren und andere Information über die Umwandlungsoperation des QADC-Moduls 1 zu bestimmen. Der Inhalt dieser Register wird in Fig. 6 etwas ausführlicher gezeigt.
- Der nächste Block 81 des Adressenplans 75 ist die Umwandlungsbefehlsworttabelle. In der augenblicklichen Ausführung gibt es bis zu 32 Wörter, um die gewünschten A/D-Umsetzungsfolgen zu halten, aber dieser Wert könnte freigestellt erhöht oder vermindert werden. Ein Umwandlungsbefehlswort (CCW) ist ein 16-Bit Wort mit acht implementierten Bits in vier Feldern und acht Bits in freigestellten Steuerfeldern.
- Der Inhalt des CCW 82 wird in Fig. 7 veranschaulicht. Jedes CCW versorgt den Umsetzer mit der Kanalnummer (CHAN), der Eingangsabtastzeit (IST) und dem Referenzpaar (REF) und veranlaßt den Umsezter, eine Eingangsprobe zu nehmen, diesen Analogwert umzusetzen und das Ergebnis in das entsprechende Wort der Ergebnisregistertabelle zu legen. Das CCW enthält außerdem ein Feld RSI (Neuabtastsperre). Außerdem kann das CCW, wenn gewünscht, ein oder mehr Steuerfelder enthalten, z.B. ein Feld, um die Auflösung des Umsetzers zu spezifizieren, und ein Feld, um die Ausrichtung des Datenergebnisses zu bestimmen. Die Felder des CCW und ihre Funktionen werden unten ausführlicher unter dem Untertitel "Umwandlungsbefehlswort" erklärt.
- Das Ergebnisregister kann in den als Umwandlungsergebnistabellen 83, 85 und 89 gezeigten Adressenbereichen gelesen werden. Es gibt in Wirkichkelt eine einzige Ergebnisregistertabelle, aber drei verschiedene Arten, sie zu lesen, wie unten im Abschnitt "A/D-Ergebnisdatenformat-Wahlmöglichkeiten" erklärt.
- Es gibt somit eine 32-Bit Umwandlungsergebnistabelle, die im Adressenplan 75 an drei Stellen erscheint. Der erste Block 83 präsentiert die Ergebnisdaten im rechtsbündigen (ohne Vorzeichen) Format, der zweite Block 85 ist im linksbündigen (mit Vorzeichen) Format, und der dritte Block 89 ist ein linksbündigens (ohne Vorzeichen) Ergebnis.
- Einzelheiten der Steuerregister, Statusregister, Portregister und des CCW werden unten bereitgestellt. Lesezugriffe auf reservierte Registerstellen oder unbenutzte Bits bringen "0" zurück, und Schreiben in reservierten und unbenutzten Raum hat keine Auswirkung auf die Funktion des QADC.
- Fig. 8 ist eine begriffliche Darstellung, die zeigt, wie Umwandlungsbefehlswörter verwendet werden, um Ergebniswörter zu erzeugen, die in der Umwandlungsergebnistabelle gespeichert werden.
- Das zentrale Element bei der Softwaresteuerung des QADC-Moduls 1 ist die Umwandlungsbefehlsworttabelle. In einer bevorzugten Ausführung gibt es in der Tabelle zwei Schlangen, die abhängend von der Anwendung in mehreren verschiedenen Triggermodi und effektiven Abtastraten betrieben werden können. Dem Fachmann in der Technik wird einleuchten, daß mehr oder weniger als zwei Schlangen verwendet werden können.
- Es gibt zwei Gründe, zwei Schlangen in den QADC einzuschließen. Ein Grund ist, daß es zwei verschiedene Fälle zum automatischen Abtasten von analogen Eingangskanälen gibt. Ein Fall ist, eine Probe von allen oder einigen Analogeingangspins zu erlangen.
- Der andere Fall ist, automatisch mehrfache Proben eines Kanals in schneller Folge zu nehmen, so daß die Hostsystemsoftware Glättungsalgorithmen verwenden kann, um einen genaueren Wert zu berechnen. In jedem Fall bewahrt eine automatische Abtastung, die die Ergebnisse in einer Tabelle ablegt, die Hostsystemsoftware davor, jede Umwandlung einleiten zu müssen, zu warten, das Ergebnis zu holen und es zu speichern. Der CCW-Tabellenaufbau erlaubt der Hostsystemsoftware, beide Verfahren oder selbst eine Kombination zu verwenden; z.B. könnten 16 Ergebnisse für vier Proben auf jedem von vier Kanälen verwendet werden.
- Der andere Grund, zwei CCW-Schlangen bereitzustellen, ist, daß zwei verschiedene Betriebsarten zur selben Zeit benutzt werden können. In der Regel müssen Analogeingänge auf einigen Kanälen oft umgewandelt werden, weil sie relativ schnell veränderliche Werte aufweisen, während sich Analogeingänge auf anderen Kanälen relativ langsam verändem, wie z.B. Temperaturänderung, Batteriespannung und Bedienereingaben.
- Bei einer bevorzugten Ausführung wird die Schlange 1 für häufig vorkommende oder zeitkritische Umwandlungsfolgen benutzt. Die Schlange 2 wird normalerweise für relativ seltene oder zeitunkritische Umwandlungsfolgen verwendet. Wenn eine Umwandlungsfolge von Schlange 1 eingeleitet wird, wird jede Umwandlung, die von Schlange 2 im Gange ist, abgebrochen. Wenn die Umwandlungsfolge der Schlange 1 vollendet ist, wird die abgebrochene Umwandlungsfolge der Schlange 2 bei ihrer obersten Stelle neu gestartet.
- Die Hostsystemsoftware kann eine Unterbrechung empfangen, die gerade nachdem die Umwandlungsergebnistabelle mit neu umgewandelten Werten von jeder Schlange gefüllt worden ist auftritt. Die Unterbrechung erlaubt der Hostsystemsoftware, neu umgewandelte Werte zu untersuchen, wenn sie frisch sind.
- Die Hostsystemsoftware wird von der Last befreit, die A/D-Umwandlungsfolge einzuleiten, jede A/D-Umwandlung einzuleiten und jedes Ergebnis in das RAM des Hostsystems zu schieben. Das QADC-Modul 1 nimmt folglich das Overhead zum Betreiben des A/D-Umsetzersystems auf. Die Hostsystemsoftware muß nur zu Anfang den QADC programmieren und dann die laufenden Ergebnisse untersuchen.
- Die folgenden Abschnitte beschreiben die Grundfunktion der CCW-Schlangen und die verschiedenen Betriebsarten, die die CCW-Schlangen verwenden.
- Um das QADC-Modul 1 auf eine Umwandlungsfolge vorzubereiten, füllt die Hostsystemsoftware die Tabelle der Umwandlungsbefehlswörter (Bezugszeichen 81 in Fig. 5 und Bezugszeichen 62 in Fig. 8), um die gewünschten Umwandlungsfolgen festzulegen. Die Hostsystemsoftware errichtet die Kriterien zum Einleiten der Umwandlungsfolgen in den Steuerregistern 1 und 2. Andere Register müssen ebenfalls initialisiert werden, z.B. das Modulkonfigurationsregister, das Unterbrechungsregister und das Steuerregister 0.
- Die Folgen können durch einen Befehl der Hostsystemsoftware, das Ablaufen des Intervalls des periodischen Zeitgebers des QADC-Moduls, ein externes Triggersignal oder die Vollendung der vorangehenden Umwandlungsfolge (d.h. Dauerbetrieb) eingeleitet (ausgelöst) werden. Durch welches Verfahren die Folge von Umwandlungen auch eingeleitet wird, die Umwandlungen gehen in derselben Weise vonstatten.
- Nachdem die CCW-Tabelle und alle Steuerregister initialisiert sind, wartet der QADC auf eine Auslösebedindung für jede Schlange. Wenn ausgelöst, erlangt der A/D-Umsetzer das erste CCW von der ausgelösten Schlange und führt es aus. Siehe Fig. 8.
- Der erste Teil einer Umwandlung ist die Abtastphase. Sobald der abgetastete Analogpegel in den Umsetzer übertragen ist, fährt die Abtast- Halte-Schaltung mit dem Abtasten des nächsten Kanals fort.
- Das CCW gibt an, ob die Abtastzeit die Vorgabezeit oder eine alternative Zeit sein soll. Für die erste Abtastung einer Umwandlungsfolge ist die Vorgabeabtastzeit eine spezifizierte Zahl von Umwandlungstaktzyklen. Für alle folgenden Abtastungen ist die Vorgabeabtastzeit die Umwandlungszeit. Die alternative Abtastzeit wird anstelle der Vorgabe gewählt, wenn langsamere Abtastzeiten für hochohmige Quellen oder für spezifische Verzögerungsintervalle benötigt werden.
- Nach dem Ende jeder Analog/Digital-Umsetzung wird das Ergebnis an die entsprechende Stelle in der Umwandlungsergebnistabelle geschrieben. Der Umsetzer erlangt dann das nächste CCW von der Schlange und fährt mit dieser Umwandlung fort.
- Der QADC führt jedes CCW in der Schlange aus, bis eines von drei Ende- Schlange- (EOQ) Anzeichen ermittelt wird. Eine EOQ-Bedingung ist das Erreichen des physikalischen Endes des RAM-Platzes der Schlange, 32 Stellen bei der bevorzugten Ausführung). Die zweite EOQ-Bedingung ist, wenn der Zeiger BQ2 erreicht wird (siehe Fig. 8), der die Teilung des RAM zwischen Schlange 1 und Schlange 2 angibt. Dieses Verfahren gilt nur zum Anzeigen des Endes der Schlange 1. Das dritte Anzeichen ist ein CCW mit einem EOQ-Code anstelle einer normalen Kanalwahl. Wenn freigegeben, werden Schlange-Umwandlungsfolge-Vollendet-Unterbrechungen an die Hostsystemsoftware ausgegeben.
- Das QADC-Modul verwendet das IMB-Systemtaktsignal als die Zeitbasis für die Umwandlungen. Die A/D-Umsetzung benötigt ein Taktsignal in einem ziemlich schmalen Bereich, und der IMB-Takt "Iclock" weicht unter den Anwendungen stark ab. Der Vorteiler (50, Fig. 2) ist ein modulus-programmierbarer Teiler, der dem A/D-Umwandlungstakt erlaubt, innerhalb des spezifizierten Bereiches mit einem weiten Bereich von Systemtaktfrequenzen zu liegen. Der Vorteiler kann benutzt werden, um die A/D-Uwandlungszeit zu optimieren, indem eine Systemtaktfrequenz gewählt wird, die ein gerades Vielfaches der schnellsten A/D-Umwandlungszeit ist.
- In früheren A/D-Umwandlungssystemen ist bekannt, eine periodische Prozessorunterbrechung zu verwenden, um eine Umwandlungsfolge eines Analogkanals oder einer Gruppe von Analogkanälen zu beginnen. Während die Umwandlung im Gange ist, versucht der Prozessor, andere Arbeit zu erledigen oder er wartet auf das Ende der A/D-Umwandlung. In vielen Echtzeit-Anwendungen beeinflußt diese Softwarelast die Leistung des Systems unannehmbar. Idealerweise braucht ein Prozessor nur tätig zu werden, wenn umgewandelte Ergebnisse vom A/D-Umsetzermodul vorhanden sind.
- Der QADC umfaßt daher einen dedizierten periodischen Intervallzeitgeber (48, Fig. 2), der, wenn freigegeben, A/D-Umwandlungsfolgen automatisch einleitet. Die Schlange 2 kann programmiert werden, um in dem periodischen Intervallmodus zu arbeiten. Die Hostsystemsoftware wählt den periodischen Modus und bestimmt das Zeitintervall über das Steuerregister 2. Die Hostsystemsoftware würde typischerweise auch die entsprechende Vollendet-Unterbrechung ermöglichen. Diese Unterbrechung teilt der Hostsystemsoftware mit, daß neue Analogumwandlungsergebnisse vorhanden sind.
- Im Betrieb wird, wenn das Zeitgeberintervall verstreicht, die Ausführung der Schlange eingeleitet. Einmal gestartet kann die Umwandlung automatisch wiederholend über mehrfache Kanäle, wenn ermöglicht, geschehen, so daß die Hostsystemsoftware von der Last befreit wird, die Ergebnisse jeder Umwandlung zu erlangen und die nächste Umwandlung einzuleiten.
- Oft wird eine Schlange in dem periodischen Modus konfiguriert, und die andere Schlange wird für eine der anderen Betriebsarten eingerichtet. Für Abtastungen mit niedriger Priorität verbraucht der periodische Modus etwas weniger Strom als der kontinuierliche Modus.
- Die periodische Analogumwandlung erlaubt der Hostsystemsoftware, in Synchronisation mit der Hardwareumwandlungsabtastung zu sein, indem die Mitteilung, daß die Umwandlungen gerade zu Ende gegangen sind, eingeschlossen wird. Dies gibt der Software die Zeit bis zur nächsten Periode, in der die Ergebnisse zu lesen sind, und zu wissen, daß die Werte alle in einer Folge gelesen wurden, während ein kontinuierlicher Abtastmodus der Software nicht erlaubt, einfach zu schließen, daß Proben von zwei Kanälen aneinandergrenzende Daten waren, die während derselben Abtastung genommen wurden.
- Es gibt Anwendungen, die das Abtasten von analogen Kanälen mit externen Ereignissen, die irgendwo im System geschehen, synchronisieren müssen. Diese externen Ereignisse können z.B. externe Zeitgeber oder Systemereignisse betreffen oder physikalische Zustände abfühlen, z.B. eine Indexposition einer beweglichen Einrichtung.
- Bei Mikrocontollern des Standes der Technik muß Software die richtige Zeit bestimmen, um eine Umwandlung zu beginnen, und sie dann zur richtigen Zeit starten, aber infolge von Systemwartezeiten (z.B. Unterbrechungen, lange Anweisungen) kann es schwierig sein, die Startzeit genau vorherzusagen. Im Hinblick auf Mikrocontoller des Standes der Technik ist auch bekannt, daß die Software eine externe Unterbrechung benutzt, um die Umwandlungen zu synchronisieren. Bei veränderlicher Unterbrechungsreaktionszeit beginnen Umwandlungen jedoch ungenau in bezug auf das externe Signal oder Ereignis. Bei vielen Anwendungen muß die Probe zu einer genauen Zeit genommen werden.
- Ein externes Hardwaresignal erlaubt einem direkten Pfad, der unabhängig von Sotfwarezeitfehlern ist, die Umwandlung zu starten. Die vorliegende Erfindung verläßt sich nicht auf Softwareeinleitung des Umwandlungsbeginns, sondern erlaubt einem Signal oder Ereignis, das außerhalb eines Mikrocontrollers ist, von dem der QADC ein Teil sein kann, die Umwandlung zu starten. Der externe Trigger, wenn wie bei der vorliegenden Erfindung mit einer automatisierten Schlange oder Umwandlungsfolge implementiert, erlaubt dem A/D-Umsetzer, Analogdaten unabhängig von einer auf dem Mikrocontroller oder sonstwo gelegenen Host- CPU zu sammeln.
- Bei eigenständigen A/D-Umsetzern ist bekannt, einen externen Trigger zu verwenden, um eine einzelne Umwandlung einzuleiten. Die vorliegende Erfindung erlaubt jedoch einem externen Triggersignal oder Ereignis, Umwandlungsfolgen wiederholend einzuleiten.
- Die nächste externe Umwandlung kann freigegeben werden, wenn der A/D- Umsetzer seinen momentanen Satz von Umwandlungen beendet hat und ein externer Trigger geltend gemacht wird. Alternativ kann die Umwandlung bei Geltendmachung des externen Triggersignals während einer Umwandlungsfolge sofort neu starten, wenn die Implementierung der externen Startfunktion so definiert ist.
- Das QADC-Modul erlaubt Externtrigger-Eingangspins, eine Umwandlungsfolge auf Schlange 1 und Schlange 2 einzuleiten.
- Eine Anwendung ist, analoge Proben an einem genauen Punkt in der Bewegung einer Hochgeschwindigkeitseinrichtung, z.B. eines Motors, zu nehmen. Die Fähigkeit, eine Umwandlung als Reaktion auf einen externen Trigger einzuleiten, ist in der Fahrzeugsteuerungsumgebung sehr nützlich, da die Umwandlungen mit der Motorstellung synchronisiert werden können. Es gibt keine Zeit für Hostsystemsoftwareeinleitung der A/D-Umwandlungen, da sich das Unterbrechungsansprechen der Hostsystemsoftware verändert. Die Quelle des externen Triggersignals kann der Ausgang eines Zeitgeberkanals sein. Die Polarität des Triggersignals ist programmierbar, so daß die Hostsystemsoftware die ansteigende oder abfallende Flanke wählen kann, um die Folge einzuleiten.
- Die Verwendung der Schlange ist beim externen Triggermodus dieselbe wie bei den anderen Modi. Das Triggersignal leitet einfach die Folge ein und nicht der Intervallzeitgeber wie beim periodischen Modus. Jedes CCW wird erlangt, und die angegebenen Umwandlungen werden ausgeführt, bis einem der Ende-Schlange-Anzeichen begegnet wird. Wenn die Folge vollendet ist, wird die Vollendungsunterbrechung, wenn freigegeben, ausgegeben, und die Schlange wartet auf die nächste Flanke auf dem externen Triggerpin.
- Bei der bevorzugten Ausführung kann nur die Schlange 2 konfiguriert werden, kontinuierlich zu arbeiten, da ein kontinuierliches Abtasten auf Schlange 1 den Betrieb von Schlange 2 ausschließen würde. Wenn die letzte Adresse oder das Letzter-Befehl-Anzeichen in der Schlange 2 angetroffen wird, startet die Folge erneut bei dem obersten CCW in Schlange 2. Die kontinuierliche Betriebsart hält die Umwandlungsergebnistabellen automatisch auf dem Laufenden. Die Hostsystemsoftware kann immer die Umwandlungsergebnistabelle lesen und versichert sein, daß der Wert nicht älter als die Abtastzeit für beide Schlangen ist. Die Vollendungsunterbrechung kann freigegeben werden, um die Hostsystemsoftware von der Vollendung jedes Zyklusses durch die Schlange in Kenntnis zu setzen.
- Die obigen Modi haben drei Wege gezeigt, Umwandlungen automatisch einzuleiten: periodisch, bei externem Triggerstimulus und kontinuierlich. Um andere Situationen abzudecken, kann die Hostsystemsoftware ebenfalls eine Umwandlungsfolge einleiten. Ein spezifisches Bitmuster im Moduswort MQ1 oder MQ2 des Steuerregisters 1 bzw. 2 startet jede jeweilige Schlange bei ihrem obersten CCW. Der QADC führt automatisch die Umwandlungen in der Schlange durch, bis eine Ende-Schlange-Bedingung gefunden wird. Dann hält er an und setzt das Modusfeld (MQ1 oder MQ2) auf den gesperrten Zustand zurück. Die nchste Umwandlungsfolge wird durch ein neues Steuerwort der Hostsystemsoftware angestoßen. Dieser Modus stellt einen einmaligen Abtastlauf durch die CCW-Schlange zur Verfügung.
- Die Anzahl von Analogeingängen in den QADC kann im extern gemultiplexten Modus erweitert werden. Den extern gemultiplexten Kanälen steht die volle Flexibilität der automatischen Abtastschlangen zur Verfügung. Drei der Analogkanäle (MA0-MA2, Fig. 1) werden redefiniert, um als Adressenbitausgänge zu fungieren, und drei Eingangspins (ANx, ANy und ANz) werden erweitert, um je 8 Eingangskanäle darzustellen. Dies erlaubt insgesamt drei externe Multiplexer für insgesamt 24 externe Kanäle. Kommerziell erhältliche Analogmultiplexer wie der MC14051, MC14052, MC74HC4051 und MC74HC4052 von Motorola können verwendet werden.
- Fig. 1 gibt ein Beispiel, die Anzahl von Kanälen in dieser Weise extern zu erweitern. Die bevorzugte Ausführung kann mit 0, 1, 2 oder 3 externen MUXs verwendet werden.
- Fig. 9 ist eine Tabelle, die zeigt, wie das 5-Bit CHAN-Feld in dem CCW die Funktionen der verschiedenen E/A-Pins für 0, 1, 2 oder 3 externe Multiplexer-ICs spezifiziert.
- Zum Beispiel, mit MUX-Feld im Steueregister 0 gleich 00 (d.h., kein externer MUX) bezeichnet CHAN-Feld = 10000 den Analogeingangspin AN16.
- Nun auch auf Fig. 1 verweisend, wird mit MUX-Feld gleich 01 (d.h., ein externer MUX) einer der Eingänge in den MUX 10 (AN16, AN18, AN20, AN22, AN24, AN26, AN28 oder AN30) ausgewählt und durch den geeigneten CHAN-Feldwert 1XXX0 in den Pin ANx gekoppelt. Z.B. wählt CHAN-Feld 10000 den Eingang AN16, CHAN-Feld 10010 wählt den Eingang AN18 und so weiter.
- Mit MUX-Feld gleich 10 (d.h, zwei externe MUXs) wird der passende Eingang zu MUX 10 ausgewählt und durch den passenden CHAN-Feldwert 1XXX0, wie unmittelbar oben erwähnt, in den Pin ANx gekoppelt, und außerdem wird einer der Eingänge in MUX 12 (AN17, AN19, AN21, AN23, AN25, AN27, AN29 oder AN31) ausgewählt und durch den passenden CHAN-Feldwert 1XXX1 in den Pin ANy gekoppelt. Z.B. wählt CHAN-Feld 10001 den Eingang AN17, CHAN-Feld 10011 wählt den Eingang AN19 und so weiter.
- Mit MUX-Feld gleich 11 (d.h, drei externe MUXs) werden die passenden Eingänge zu MUX 10 und 12 ausgewählt und in die Pins ANx bzw. ANy gekoppelt, wie unmittelbar oben erwähnt, und außerdem wird einer der Eingänge in den MUX 14 (AN8, AN9, AN10, AN11, AN12, AN13, AN14 oder AN15) ausgewählt und durch den passenden CHAN-Feldwert 01XXX in den Pin ANz gekoppelt. Z.B. wählt CHAN-Feld 01000 den Eingang AN8, CHAN- Feld 01001 wählt den Eingang AN9 und so weiter.
- Für alle externen Multiplexermodi werden drei der intern gemultiplexten Pins (AN18, AN20 und AN22) Multiplexeradressenausgänge MA0, MA1 bzw. MA2.
- Fig. 9 zeigt, daß entweder drei, zwei, ein oder kein externer Multiplexer verwendet werden kann und daß die Verwendung der E/A-Pins variiert. Die von der Hostsystemsoftware in den CCWs benutzten Kanalnummern ändern sich ebenfalls mit den verschiedenen Multiplexmodi. Für einen Fachmann wird ersichtlich sein, daß das hierin offenbarte Verfahren zum Abtasten externer MUXs mit MUXs mit weniger oder mehr Analogeingangspins verwendet werden kann und daß die Zahl der MUXs verändert werden kann.
- Fig. 10 ist eine Tabelle, die in Form der Anzahl dem QADC-Modul 1 zugewiesener E/A-Pins die Anzahl von Analogkanälen zeigt, die mit verschiedenen Zahlen von externen Multiplexer-Chips für die verschiedenen möglichen Implementierungen zur Verfügung stehen. Z.B. sind in der 18-Pin Version insgesamt 14 Analogkanäle ohne externe Multiplexer-Chips verfügbar, 18 Analogkanäle sind mit einem externen Multiplexer-Chip verfügbar, 25 Analogkanäle sind mit zwei externen Multiplexer-Chips verfügbar und so weiter.
- Gleichzeitiges Abtasten kann zum Empfangen und Umwandeln von differentiellen und anderen besonderen Signalpaaren verwendet werden. Der QADC erlaubt es, zwei benachbarte analoge Eingangskanäle, die durch Ignorieren des niedrigsten Bits des CHAN-Feldes im CCW identifiziert werden, zur selben Zeit abzutasten. Zwei benachbarte Analogkanäle werden immer gleichzeitig abgetastet, aber nur einer wird mit jedem CCW umgewandelt. Um eine gleichzeitige Analogabtastung von dem zweiten Kanal umzuwandeln, verhindert das CCW das erneute Abtasten im nächsten CCW.
- Die Abtastzeit kann durch Steuerung der Hostsystemsoftware verändert werden. Daher können verschiedene Analogsignal-Quellimpedanzen verwendet werden. Indem höhere Quellimpedanzen erlaubt werden, können die Kosten für einen externen Verstärker beseitigt werden. Der Kompromiß ist eine längere Abtastzeit.
- Durch Wahl der Hostsystemsoftware werden der Systemtakt und der Vorteilerausgang (basierend auf dem Systemtakt) als eine Zeitbasis verwendet (ein chipseitiger RC-Oszillator könnte auch als eine Zeitbasis benutzt werden). Eine Eingangsabtastzeit ist das Vorgabeminimum, und die andere Abtastzeit wird durch die Hostsystemsoftware programmiert. Die Vorgabeabtastzeit ist eine spezifizierte Anzahl von Taktzyklen für die erste Umwandlung einer Folge und ist die A/D-Umwandlungszeit für nachfolgende Kanäle in einer Umwandlungsschlange. Wenn die Vorgabeabtastzeit zu schnell ist, kann die Hostsystemsoftware eine langsamere Abtastzeit spezifizieren, und diese Abtastzeit ist in einer bevorzugten Ausführung für bis zu 128 QADC-Taktzyklen programmierbar.
- Es gibt zwei Sätze von Referenzpins für A/D-Umwandlungen. Jeder Analogkanal kann auf entweder das primäre oder das alternative Referenzspannungspaar bezogen werden. Die primären Referenzpins sind VRH0 und VRL0, und die alternativen Referenzpins sind VRH1 und VRL1. Die alternativen Referenzpins können auch Eingangskanäle sein, wenn sie als Referenzen nicht benötigt werden, oder sie können umgwandelt werden, um die Referenzpegel zu vergleichen oder zu kalibrieren. Man beachte, daß die Referenzpins bei einigen Implementierungen von den Versorgungspins getrennt sein können oder sich bei anderen Implementierungen in diese teilen können.
- Fig. 11 veranschaulicht die Datenformatoptionen von in der Umwandlungsergebnistabelle gespeicherten Ergebniswörtern. Der QADC 1 umfaßt eine Tabelle von Umwandlungsergebnisregistern, die für jedes Ergebniswort in jeder von wenigstens drei Datenformatoptionen lesbar ist.
- Bei einer Option ist das 10-Bit Ergebnis rechtsbündig in dem 16-Bit Wort mit Nullen in den höheren unbenutzten Bits. Eine andere Wahlmöglichkeit ist ein linksbündiges Ergebnis mit Nullen in den unteren unbenutzten Bits. Die dritte Option ist ein linksbündiges Ergebnis mit dem höchstwertigen Bit invertiert und mit Nullen in den unbenutzten unteren Bits. Diese dritte Option entspricht einem "halbskalen, binärversetzten Zweierkomplement" Datenformat, das bei digitalen Signalverarbeitungsanwendungen nützlich ist. Eine weitere, in der hier gezeigten Ausführung nicht implementierte, Option ist ein rechtsbündiges Format mit Vorzeichen. Außerdem könnte ein rechtsbündiges vorzeichenerweitertes Format (mit führenden Nullen oder Einsen, je nach Vorzeichen) bereitgestellt werden.
- Die Umwandlungsergebnisregister sind 10 Bit breit. Bei der vorliegenden Ausführung sind die restlichen sechs Bit jedes 16-Bit Wortes nicht implementiert. Die Ergebnisdatenformatierung wird während der Leseoperationen der Hostsystemsoftware erzeugt, da der Adressenbereich, wo die Ergebnisse gelesen werden, benutzt wird, um das gewünschte Datenformat zu wählen. Siehe Fig. 21 und 22 und die begleitende Beschreibung unten unter der Überschrift "Ergebniswortformatwahlmöglichkeiten" zu weiterer Information hinsichtlich der verschiedenen Datenformatoptionen.
- Schreiboperationen, einschließlich Lesen-Modifizieren-Schreiben-Anweisungen wie Bitmanipulation, greifen nicht auf einen wahren 16-Bit Wert zu. Da das 10-Bit Ergebnis in einem 10-Bit Register- oder Speicherwort gespeichert wird, werden 6 Bit eingespart, wodurch die Siliziumfläche der integrierten Schaltung verringert wird.
- Dieser Abschnitt erörtert die auführlichen Formate der Steuer-, Status-, Digitalport- und CCW-Information, die die Hostsystemsoftware dem QADC bereitstellt und vom QADC erlangt. In den folgenden Unterabschnitten werden vier Typen von Wortformaten erörtert. Das erste sind die Steuerwörter, die die Hostsystemsoftware bereitstellt, um das QADC-Modul zu konfigurieren und zu initialisieren. Das zweite sind die digitalen Datenports. Das dritte ist ein Statuswort, das die Hostsystemsoftware liest, um die momentane Operation des QADC, einschließlich Unterbrechungsflags, zu bestimmen. Das letzte ist das Umwandlungsbefehlswort für jede A/D-Umwandlung, das von der CCW-Schlange erhalten wird.
- Fig. 12 zeigt das Format des Modulkonfigurationsregisters des A/D-Umsetzermoduls.
- Das Modulkonfigurationsregister umfaßt Initialisierungsinformation von der Hostsystemsoftware für den QADC. Diese Information wird typipischerweise einmal beim Einschalten festgelegt und während des normalen Betriebes nicht verändert, obwohl sie, wenn nötig, geändert werden kann. Eingeschlossen sind die Wahl der Bereitschaftsbetriebsart, des Supervisorraumes und der Unterbrechungsschlichtung.
- STOP - Stoppmodus (Bitposition: 15)
- Funktion: Stoppmodus wählen (Takte anhalten, Analogschaltungen abschalten)
- Rückstellzustand: STOP = 0
- Die Hostsystemsoftware kann das Taktsignal an den A/D-Umsetzer unterbrechen und die Analogschaltkreise abschalten, um den Strom zu vermindern. Wenn gesetzt, bricht das STOP-Bit jede im Gange befindliche umwandlungsfolge ab. Weil die Vorspannungsströme zu den Analogschaltungen abgeschaltet werden, benötigt das QADC-Modul einige Erholungszeit, um nach dem Löschen des STOP-Bits die Analogschaltungen zu stabilisieren.
- FRZ - Einfrieren freigeben (Bitposition: 14)
- Funktion: Einfrieren freigeben (Modulbetrieb suspendieren)
- Rückstellzustand: FRZ = 0
- Bei der Fehlersuche in einer Anwendung ist es in vielen Fällen nützlich, das QADC pausieren zu lassen, wenn ein Unterbrechungspunkt angetroffen wird. Wenn FRZ = 1 und das IFREEZEB-Signal des IMB geltend gemacht ist, wird die momentane Umwandlung abgebrochen, und die Schlange wird in einem Modus belassen, der verzeichnet, daß er bedient werden muß. Der QADC-Takt wird angehalten, so daß der periodische Zeitgeber ebenfalls nicht vorrückt. Irgendwelche externen Triggerereignisse, die während des Einfriermodusses geschehen, werden nicht aufgezeichnet. Wenn das IFREEZEB-Signal des IMB negiert wird, beginnen Umwandlungen wieder bei der Spitze der Schlange. Wenn keine Schlange Service erwartet, wenn der Einfriermodus verlassen wird, wartet das Modul auf das Erscheinen eines geeigneten Schlangentriggers.
- SUPV Supervisorraum (Bitposition: 7)
- Funktion: Auswahl des Supervisorraumes
- Rückstellzustand: SUPV = 1
- Einige Host-CPUs und Softwaresysteme erlauben zwei adressierbare Räume: einen uneingeschränkten Raum, der jeder Software zugänglich ist, und einen Supervisorraum, der nur der Systemsoftware (dem Betriebssystem) zugänglich ist. Andere Host-CPUs enthalten diese Option nicht und sind daher immer im Supervisormodus vom Aussichtspunkt des QADC. Die ersten drei Registerwortstellen in der RAM-Registertabelle (80, Fig. 4 und 5), welche das Modulkonfigurationsregister, das Prüfregister und das Unterbrechungsregister sind, befinden sich immer im Supervisorraum. Die restlichen Steuer- Status und Portregister sind über das SUPV-Bit programmierbar.
- Fig. 13 erläutert die Verwendung des SUPV-Bits des Modulkonfigurationsregisters des QADC. Wenn SUPV = 1, sind alle QADC-Status-, Steuer- und Portregister nur im Supervisormodus zugänglich. Wenn SUPV = 0, kann auf sie entweder im Supervisormodus oder im uneingeschränkten Modus zugegriffen werden. Wenn der QADC mit einer HOST-CPU verwendet wird, die die Supervisor/Uneingeschränkt-Betriebsarten nicht unterstützt, ist der Zustand des SUPV-Bits unwichtig.
- IARB Unterbrechungsarbitrationsnummer (Bitposition: 0-3)
- Funktion: Unterbrechungsarbitrations-Prioritätsnummer definieren
- Rückstellzustand: IARB = 0001
- Innerhalb des QADC wird die Unterbrechungsstufe jeder Unterbrechungsquelle über das Unterbrechungsregister (Fig. 14) zugewiesen. Da mehrfache IMB-Module eine Unterbrechung auf jeder Unterbrechungsstufe anfordern könnten, wird die Priorität der Unterbrechung innerhalb der zugewiesenen Stufe mit dem IARB-Feld festgelegt.
- Sobald die Host-CPU beginnt, eine Unterbrechungsanforderung auf einer einzelnen Stufe zu verarbeiten, bestimmt ein Arbitrationszyklus, welche der auf dieser Stufe anfordernden Unterbrechungen bedient werden soll. Der Zustand 0000 des IARB ist nicht gültig, was bis zu 15 IMB- Module übrigläßt, die um Unterbrechungsservice wetteifern können. Die niedrigste Priorität ist 0001 und die höchste ist 1111.
- Es ist die Verantwortlichkeit der Initialisierungs-Hostsystemsoftware, sicherzustellen, daß die sieben Bits, die die Unterbrechungsstufe und die Priorität festlegen (INL1 und INL2, plus IARB), über das ganze System hinweg einmalig sind. Eine erfolgreiche Unterbrechungsarbitration hängt davon ab, daß keine zwei Unterbrechungen dieselbe auf dem Intermodulbus (IMB) zu verwendende Stufe und Priorität hervorrufen.
- Das Prüfregister steuert verschiedene Testmodi, die während der Herstellung verwendet werden, und ist nicht gedacht, in einer normalen Anwendung verwendet zu werden. Das Prüfregister kann nur im Testmodus beschrieben werden, wenn die Leitung ITSTMODB auf dem IMB geltend gemacht wird. Im Nicht-Testmodus kann das Prüfregister nur gelesen werden, aber Schreiben hat keine Wirkung.
- Der Intermodulbus (IMB) benötigt drei Dinge, um eine Unterbrechungsanforderung ganz zu identifizieren. Erstens, die Anforderung muß auf einer von sieben Stufen geltend gemacht werden. Da das QADC-Modul zwei getrennte Unterbrechungs-Anforderungsquellen besitzt, legen drei softwarebereitgestellte Parameter die Anforderungsstufe für jede Quelle fest. Dann wird eine von 15 möglichen Prioritäten innerhalb dieser Stufe durch einen Arbitrationsprozeß auf dem IMB bestimmt. Der QADC enthält 4 Bits im Modulkonfigurationsregister für die Arbitrationspriorität. Drittens, eine 8-Bit Vektornummer wird auf dem IMB bereitgestellt, um den Softwareeinsprungspunkt für jede Unterbrechungsquelle zu identifizieren.
- Fig. 14 zeigt das Format des Unterbrechungsregisters des A/D-Umsetzermoduls.
- INL1 - Unterbrechungsstufe 1 (Bitposition: 12-14)
- Funktion: Unterbrechungsstufe der Schlange 1 definieren
- Rückstellzustand: INL1 = 000
- Drei Bits werden für die Hostsystemsoftware verwendet, um der Vollendungsunterbrechung der Schlange 1 eine von sieben Unterbrechungsstufen zuzuweisen. Der Zustand 000 sperrt die Unterbrechung. Die Stufe 001 ist die Unterbrechungsstufe mit der niedrigsten Priorität, und die Stufe 111 ist die höchste. Der QADC benutzt die Stufennummer, um zu bestimmen, welche von sieben Unterbrechungsanforderungen an die Host- CPU geltend zu machen ist. Die Host-CPU erlaubt das Eintreten der Unterbrechung, wenn es keine anderen Unterbrechungen auf einer höheren Stufe gibt. Bis zu 15 verschiedene Unterbrechungen können durch die Hostsystemsoftware einer einzelnen Unterbrechungsstufe zugewiesen werden, vorausgesetzt, daß jeder eine einmalige Unterbrechungspriorität zugewiesen wird.
- INL2 - Unterbrechungsstufe 2 (Bitposition: 8-10)
- Funktion: Unterbrechungsstufe der Schlange 2 definieren
- Rückstellzustand: INL2 = 000
- Drei Bits werden für die Hostsystemsoftware verwendet, um der Vollendungsunterbrechung der Schlange 2 eine von sieben Unterbrechungsstufen zuzuweisen. Der Zustand 000 sperrt die Unterbrechung. Die Stufe 001 ist die Unterbrechungsstufe mit der niedrigsten Priorität, und die Stufe 111 ist die höchste. Der QADC benutzt die Stufennummer, um zu bestimmen, welche von sieben Unterbrechungsanforderungen an die Host- CPU geltend zu machen ist. Die Host-CPU erlaubt das Eintreten der Unterbrechung, wenn es keine anderen Unterbrechungen auf einer höheren Stufe gibt. Bis zu 15 verschiedene Unterbrechungen können durch die Hostsystemsoftware einer einzelnen Unterbrechungsstufe zugewiesen werden, vorausgesetzt, daß jeder eine einmalige Unterbrechungspriorität zugewiesen wird.
- INTV - Unterbrechungsvektornummer (Bitposition: 0-7)
- Funktion: Unterbrechungsvektor definieren
- Rückstellzustand: $0F
- Die Unterbrechungsvektornummer wird durch die Hostsystemsoftware festgelegt. Der QADC benutzt zwei Unterbrechungsvektoren, einen für jede der CCW-Schlangen. Die Hostsystemsoftware schreibt folglich die höheren sieben Bit der Unterbrechungsvektornummer in das QADC-Unterbrechungsregister. Der QADC liefert während eines Bus-IACK- (Unterbrechungsbestätigung) Zyklusses das achte Bit zurück an die Host-CPU.
- Eine Unterbrechung von der Vollendung der CCW-Schlange 1 gibt einen Unterbrechungsvektor von binär xxxx xxx0 zurück, wo xxxx xxx das INTV- Feld ist. Eine Unterbrechung von der Vollendung der CCW-Schlange 2 bewirkt, daß der zurückgegebene Vektor xxxx xxx1 ist. Die Vektornummer identifiziert die Stelle im Speicher, wo die Host-CPU den Programmzähler der Unterbrechungsroutine erlangt. Die Unterbrechungsvektornummer ist unabhängig von der Unterbrechungsstufe und der Arbitrationspriorität.
- Alle QADC-Pins, die nicht zum Anschließen ihrer Analogeingänge, externen Triggereingänge oder externen Multiplexereingänge benötigt werden, können auch als digitale Portpins verwendet werden. Die folgenden Beschreibungen betreffen die Version des Moduls mit der höchsten Pinzahl, die im intern gemultiplexten Modus arbeitet. Bei den Versionen, die weniger Pins implementieren, steht die volle Breite der Digitalports nicht zur Verfügung.
- Fig. 15 zeigt die Formate der 8-Bit Port A und Port B Datenregister des A/D-Umsetzermoduls.
- Port A Datenregister (Bitposition: 8-15)
- Funktion: Eingabe/Ausgabe-Datenregister
- Port A ist ein bidirektionaler 8-Bit E/A-Port, der für allgemeine digitale Eingangs- oder Ausgangssignale benutzt werden kann.
- Port B Datenregister (Bitposition: 0-7)
- Funktion: Eingabedatenregister
- Port B ist ein Nureingabe 8-Bit Digitalport, der für allgemeine digitale Eingangssignale verwendet werden kann.
- Das mit einem digitalen E/A-Port assoziierte Datenrichtungsregister (DDR) legt fest, ob jeder bidirektionale Pin ein Eingang oder ein Ausgang ist.
- Fig. 16 zeigt das Format des Port A Datenrichtungsregisters des A/D- Umsetzermoduls.
- Port A Datenrichtungsregister (Bitposition: 8-15)
- Funktion: Port A Pinfunktionen als Eingang oder Ausgang einrichten Rückstellzustand: $00
- Bei der Konfiguration mit maximaler Pinzahl sind alle acht Bit von Port A bidirektional. Die mit jedem Pin assoziierten Datenrichtungsregisterbits legen fest, ob der Pin ein Eingangs- oder Ausgangssignal handhabt. Beim Einschalten wird das Datenrichtungsregister rückgestellt, und alle Pins sind Eingänge. Die Hostsystemsoftware wählt einen Pin als ein getriebenes Ausgangssignal aus, indem sie eine binäre eins in das Datenrichtungsbit des Pins schreibt. Wenn das DDR einen Pin als einen Ausgang einrichtet, erlangt ein Hostsystemsoftwarelesen des Port A Datenregisters den Zustand des Ausgangsportdatenregisters, nicht des tatsächlichen Pins, um Lesen-Modifizieren-Schreiben-Anweisungen zu erlauben.
- Fig. 17 zeigt das Format des Steuerregisters 0 des A/D-Umsetzermoduls.
- Das Steueregister 0 enthält Initialisierungsinformation für den gesamten Umsetzer, nicht nur für eine der CCW-Schlangen. Einige der Steuerfelder in diesem Wort legen Parameter fest, auf die durch das CCW Bezug genommen wird.
- MUX Extern gemultiplexte Modi (Bitposition: 14, 15)
- Funktion: Extern gemultiplexte Kanalwahl ermöglichen
- Rückstellzustand: 00
- Die Hostsystemsoftware kann durch Einstellen des MUX-Modusses eine Erweiterung der Anzahl von Kanälen ermöglichen. Wenn MUX = 00, sind maximal 16 Kanäle verfügbar. MUX = 01 ermöglicht eine Erweiterung mit einem externen Multiplexerchip.
- In jedem der extern gemultiplexten Modi werden die Pins PA0, PA1 und PA2 gemultiplexte Adressenausgangspins (MA0, MA1 und MA2), wodurch drei Bits von dem 5-Bit CHAN-Feld des CCW ausgegeben werden. Der Pin PB1 wird der Eingangspin des gemultiplexten Analogkanals ANx.
- MUX = 10 ermöglicht die Erweiterung für zwei externe Multiplexer. In diesem Modus wird PB2 der zusätzliche gemultiplexte Analogeingangspin ANy. Der Pin ANx wird für alle geraden Kanäle im Bereich von 16- 30 verwendet. Ähnlich dient Pin ANy allen ungeraden Kanälen im Bereich von 17-31. Diese zwei Eingänge können als ein Paar dienen, um so die gleichzeitige Abtastfunktion auf die extern gemultiplexten Kanäle auszudehnen.
- MUX = 11 ermöglicht die Erweiterung für drei externe Multiplexer. In diesem Modus wird der Pin PB3 der zusätzliche gemultiplexte Analogkanaleingangspin ANz. Die Hauptverwendung dieses Modusses ist, wenn dem QADC-Modul nur 10 bis 14 Pins auf der gesamten integrierten Schaltung, von der es ein Teil ist, zugeteilt werden können.
- Die folgende Tabelle faßt die vier Zustände des MUX-Feldes zusammen:
- MUX = 00 intern gemultiplext, 16 mögliche Kanäle
- MUX = 01 extern gemultiplext (1 Einheit), 20 mögliche Kanäle
- MUX = 10 extern gemultiplext (2 Einheiten), 27 mögliche Kanäle
- MUX = 11 extern gemultiplext (3 Einheiten), 27 mögliche Kanäle, plus digitale Portpins.
- IST1 Eingangsabtastzeit (Bitposition: 8,9)
- Funktion: Eingangsabtastzeit für CCW-IST-Bit = 1 wählen
- Rückstellzustand: 00
- Für Kanäle, die mit Quellen höherer Impedanz verbunden sind, wird eine längere Abtastzeit benötigt, um die Umwandlungsgenauigkeit sicherzustellen. Andere Signale müssen so schnell wie möglich umgewandelt werden. Das IST-Bit im CCW wählt aus, welche von zwei Abtastzeiten auf diese Umwandlung anzuwenden ist. Wenn das CCW-IST = 1, legen die zwei ISTI-Bits im Steuerregister 0 die Eingangsabtastzeit fest. Bei der vorliegenden Ausführung gibt es vier wählbare Eingangsabtastzeiten.
- IST1 = 00 Eingangsabtastzeit = Tadcck x 16
- IST1 = 01 Eingangsabtastzeit = Tadcck x 32
- IST1 = 10 Eingangsabtastzeit = Tadcck x 64
- IST1 = 11 Eingangsabtastzeit = Tadcck x 128
- PRES Vorteiler (Bitposition: 0-4)
- Funktion: Verhältnis IMB-Systemtakt zu QADC-Betriebstakt definieren
- Rückstellzustand: 1111
- Die QADC-Betriebstaktzeit (Tadcck) ist die Zeitbasis für alle A/D-Umwandlungsfunktionen einschließlich der Eingangsabtastzeit, der Umwandlungszeit und des periodischen Zeitgebers. Das Vorteilen ist zwischen dem IMB-Systemtakt (Iclock-Signal) und dem internen Takt Tadcck des QADC-Moduls. Der Vorteiler muß durch Hostsystemsoftware programmiert werden, so daß seine Ausgangsfrequenz in die Tadcck-Toleranz fällt.
- Um eine breite Auswahl der Systemtakt- (Tclock) Frequenz zu erlauben, ist der QADC-Vorteiler modulus-programmierbar. Ein 4-Bit Modulus-Vorteiler, dem eine durch zwei teilende Stufe folgt, um Taktsymmetrie sicherzustellen, multipliziert die Systemtaktperiode mit einem Wert von 2 bis 30 in geraden Ganzzahlschritten, wie in der folgenden Tabelle gezeigt:
- PRES = 0000 QADC-Taktzeit (Tadcck) = Tclock x 2
- PRES = 0001 QADC-Taktzeit (Tadcck) = Tclock x 4
- PRES = 0010 QADC-Taktzeit (Tadcck) = Tclock x 6
- PRES = 0011 QADC-Taktzeit (Tadcck) = Tclock x 8
- PRES = 0100 QADC-Taktzeit (Tadcck) = Tclock x 10 bis
- PRES = 1101 QADC-Taktzeit (Tadcck) = Tclock x 28
- PRES = 1110 QADC-Taktzeit (Tadcck) = Tclock x 30
- PRES = 1111 QADC-Taktzeit (Tadcck) = Tclock x 32
- Fig. 18 zeigt das Format des Steuerregisters 1 des A/D-Umsetzermuduls.
- Das Steuerregister 1 ist das Modussteuerregister für die Funktion von Schlange 1. Die Hostsystemsoftware legt die Betriebsart der Schlangenbedienungslogik fest. Ein Hauptzweck ist, die Kriterien zum Beginnen einer Umwandlungsfolge mit dem ersten CCW in der Schlange festzulegen. Die erste Umwandlung kann durch ein externes Signal oder durch einen Befehl der Hostsystemsoftware eingeleitet werden. Das Steuerregister 1 erlaubt außerdem der Hostsystemsoftware, eine Umwandlung-Vollendet- Unterbrechung zu ermöglichen.
- CIE1 - Vollendungsunterbrechungsfreigabe 1 (Bitposition: 15)
- Funktion: Unterbrechung bei Vollendung von Schlange 1 freigeben Rückstellzustand: 0
- CIE1 = 0 unterbindet die mit Schlange 1 verbundene Umwandlung-Vollendet-Unterbrechung. CIE1 = 1 ermöglicht eine Unterbrechung nach der letzten Umwandlung einer Schlange 1 CCW-Folge. Die letzte Umwandlung in der Folge wird erkannt, wenn der CCW-Zeiger am Anfang von Schlange 2 steht, ein Ende-Schlange-Code im CHAN-Feld des CCW angetroffen wird oder das Ende des Schlange-RAM erreicht wird.
- MQ1 - Modus Schlange 1 (Bitposition: 8, 9)
- Funktion: Betriebsart für Schlange 1 wählen
- Rückstellzustand: 00 (binär)
- Zwei Bits legen die Betriebsart von Schlange 1 in der CCW-Tabelle fest. Diese Bits werden durch die Hostsystemsoftware in das Steuerregister 1 geschrieben. Der einzige Fall, wo sie durch den QADC modifiziert werden, ist der softwareeingeleitete Modus, wo der Modus nach einer Umwandlungsfolge in den gesperrten Zustand geändert wird. Wenn es in Schlange 1 aktive CCWs gibt, die auf Bedienung durch das analoge Untersystem (Abtast-Halte-Schaltung und A/D-Umsetzer) warten, haben sie Priorität vor allen in Schlange 2 anstehenden CCWs. Der für MQ1 gewählte Modus und die der Schlange 1 zugewiesenen Kanäle sind somit die A/D-Umwandlungen hoher Priorität. Die Schlange 1 umfaßt folglich keinen kontinuierlichen Modus, da dieser den Betrieb der Schlange 2 ausschließen würde.
- Das Folgende faßt die Betriebsarten von Schlange 1 zusammen:
- MQ1 = 00 gesperrt, keine Umwandlungen
- MQ1 = 01 softwareeingeleitet, startet Umwandlungsfolge mit dem Akt des Ladens von 01 in MQ1
- MQ1 = 10 externer Trigger 1, positive Flanke startet Umwandlungsfolge
- MQ1 = 11 externer Trigger 1, negative Flanke startet Umwandlungsfolge
- Fig. 19 zeigt das Format des Steuerregisters 2 des A/D-Umsetzermuduls.
- Das Steueregister 2 ist das Modussteuerregister für die Funktion der CCWs in Schlange 2. Die Hostsystemsoftware legt die Betriebsart der Servicelogik der Schlange fest, d.h., die Kriterien zum Beginnen einer Umwandlungsfolge mit dem ersten CCW in Schlange 2. Die erste Umwandlung kann durch einen Befehl der Hostsystemsoftware in regelmäßigen zeitgesteuerten Intervallen unmittelbar nach dem Ende der letzten Folge (der kontinuierliche Modus) eingeleitet werden oder, wenn ein externer Trigger erscheint.
- CIE2 - Vollendungsunterbrechungsfreigabe 2 (Bitposition: 15) Funktion: Unterbrechung bei Vollendung von Schlange 2 freigeben Rückstellzustand: 0
- CIE2 = 0 unterbindet die mit Schlange 2 verbundene Umwandlung-Vollendet-Unterbrechung. CIE2 = 1 ermöglicht eine Unterbrechung nach der letzten Umwandlung einer Schlange 2 CCW-Folge. Die letzte Umwandlung in der Folge wird erkannt, wenn der CCW-Indexzeiger auf der letzten Stelle der Tabelle steht oder das CCW-CHAN-Feld der Ende-Schlange-Code ist.
- MQ2 - Modus Schlange 2 (Bitposition: 12-14)
- Funktion: Betriebsart für Schlange 2 wählen
- Rückstellzustand: 0000 (binär)
- Vier Bits legen die Betriebsart von Schlange 2 in der CCW-Tabelle fest. Diese Bits werden durch die Hostsystemsoftware in das Steuerregister 2 geschrieben. Der einzige Fall, wo sie durch den QADC modifiziert werden, ist der softwareeingeleitete Modus, wo der Modus nach einer Umwandlungsfolge in den gesperrten Zustand geändert wird. Wenn es in Schlange 1 aktive CCWs gibt, die auf Bedienung durch das analoge Untersystem (Abtast-Halte-Schaltung und A/D-Umsetzer) warten, haben sie Priorität vor allen in Schlange 2 anstehenden CCWs. Der gewählte Modus und die der Schlange 2 zugewiesenen Kanäle sollten somit die A/D-Umwandlungen niedriger Priorität sein.
- Bei in Mikrocontrollereinheiten integrierten A/D-Umsetzern des Standes der Technik ist eine übliche Softwareverwendung für eine periodische Unterbrechungs- (Echtzeituhr-Unterbrechung) Routine, eine A/D-Umwandlungsfolge einzuleiten. Der QADC umfaßt einen periodischen Zeitgeber, um die Hostsystemsoftware davon abzuhalten, eine Umwandlungsabtastung einleiten zu müssen. Das MQ2-Feld wählt den periodischen Modus und legt das Zeitintervall fest.
- MQ2 = 0000 gesperrt, keine Umwandlung
- MQ2 = 0001 softwareeingeleitet, startet Umwandlungsfolge mit dem Akt des Ladens von 0001 in MQ2
- MQ2 = 0010 externer Trigger 2, positive Flanke startet Umwandlungsfolge
- MQ2 = 0011 externer Trigger 2, negative Flanke startet Umwandlungsfolge
- MQ2 = 0100 kontinuierlicher Modus
- MQ2 = 0101 Periodisches Zeitgeberintervall = Tadcck x 128
- MQ2 = 0110 Periodisches Zeitgeberintervall = Tadcck x 256
- MQ2 = 0111 Periodisches Zeitgeberintervall = Tadcck x 512
- MQ2 = 1000 Periodisches Zeitgeberintervall = Tadcck x 1024
- MQ2 = 1001 Periodisches Zeitgeberintervall = Tadcck x 2048
- MQ2 = 1010 Periodisches Zeitgeberintervall = Tadcck x 4096
- MQ2 = 1011 Periodisches Zeitgeberintervall = Tadcck x 8192
- MQ2 = 1100 Periodisches Zeitgeberintervall = Tadcck x 16384
- MQ2 = 1101 Periodisches Zeitgeberintervall = Tadcck x 32768
- MQ2 = 1110 Periodisches Zeitgeberintervall = Tadcck x 65536
- MQ2 = 1111 Periodisches Zeitgeberintervall = Tadcck x 131072
- BQ2 Anfang von Schlange 2 (Bitposition: 0-4)
- Funktion: gibt die CCW-Adresse an, wo Schlange 2 beginnt
- Rückstellzustand: 11111
- Um den Schlangen 1 und 2 zu erlauben, ihre Längen zu verändern, wird ein durch die Hostsystemsoftware initialisierter Zeiger benutzt, um die Stelle der CCW-Tabelle zu identifizieren, wo die Schlange 2 beginnt. BQ2 wird benutzt, um sowohl das Ende von Schlange 1 als auch die Anfangsstelle von Schlange 2 zu erkennen. Wenn die Schlange 2 durch die höher priorisierte Schlange 1 unterbrochen wird, startet die Schlange 2 automatisch neu bei ihrer obersten Stelle, nachdem Schlange 1 beendet ist.
- Das Statusregister kann durch die Hostsystemsoftware gelesen werden und enthält Information, die mit den Umwandlungsschlangen und dem gesamten QADC-Modul verbunden ist.
- Fig. 20 zeigt das Format des Statusregisters des A/D-Umsetzermoduls.
- CCF1 - Umwandlung-Vollendet-Flag 1 (Bitposition: 15)
- Funktion: zeigt das Ende einer Umwandlungsfolge von Schlange 1 an
- Rückstellzustand: 0
- Das Umwandlung-Vollendet-Flag 1 wird durch den QADC gesetzt, wenn die letzte Umwandlung von Schlange 1 beendet ist. CCF1 ist ein Statusbit, das der Hostsystemsoftware zur Verfügu g steht, ob die entsprechende Unterbrechung freigegeben ist oder nicht. Wenn CCF1 = 1, die Unterbrechung freigegeben ist (CIE1 = 1) und das Unterbrechungsstufenfeld (INL1) ein Nicht-Null-Wert ist, erzeugt der QADC eine Unterbrechungsanforderung an die Host-CPU unter Verwendung der Stufe (INL1) im Unterbrechungsregister, der Priorität (IARB) im Modulkonfigurationsregister und der Vektornummer (INTV) im Unterbrechungsregister. Das Flag CCF1 wird auf null zurückgesetzt, wenn es zu null geschrieben wird und beim letzten Lesen eine eins war.
- CCF2 - Umwandlung-Vollendet-Unterbrechungsflag 2 (Bitposition: 14)
- Funktion: zeigt das Ende einer Umwandlungsfolge von Schlange 2 an
- Rückstellzustand: 0
- Das Umwandlung-Vollendet-Flag 2 wird durch den QADC gesetzt, wenn die letzte Umwandlung von Schlange 2 beendet ist. CCF2 ist ein Statusbit, das der Hostsystemsoftware zur Verfügung steht, ob die entsprechende Unterbrechung freigegeben ist oder nicht. Wenn CCF2 = 1, die Unterbrechung freigegeben ist (CIE2 = 1) und das Unterbrechungsstufenfeld (INL2) ein Nicht-Null-Wert ist, erzeug der QADC eine Unterbrechungsanforderung an die Host-CPU unter Verwendung der Stufe (INL2) im Unterbrechungs register, der Priorität (IARB) im Modulkonfigurationsregister und der Vektornummer (INTV) im Unterbrechungsregister. Das Flag CCF2 wird auf null zurückgesetzt, wenn es zu null geschrieben wird und beim letzten Lesen eine eins war.
- BSY - Tätig (Bitposition: 13)
- Funktion: zeigt an, daß ein Abtasten/Halten oder eine Umwandlung im Gange ist
- Rückstellzustand: 0
- Wenn ein CCW von Schlange 1 oder 2 im Gange ist, durch die Abtast- Halte-Schaltung und/oder den QADC-Umsetzer bedient zu werden, wird das BSY-Statusbit auf eine eins gesetzt. Wenn das analoge Untersystem keine Schlange aktiv bedient, ist das Statusbit eine null.
- CWP - Befehlswortzeiger (Bitposition: 0-4)
- Funktion: gibt die Adresse des momentanen oder letzten CCW an, das auszuführen ist.
- Rückstellzustand: 00000 (binär)
- Die Umwandlungsbefehlswort- (CCW) Tabellenlänge beträgt 32 Wörter. Ein 5-Bit Statusfeld ist enthalten, um der Hostsystemsoftware zu erlauben, zu sehen, welches CCW momentan abläuft oder zuletzt vollendet wurde. Die Hostsystemsoftware kann somit den Fortgang einer Umwandlungsfolge überwachen. Wenn der Umsetzer tätig ist, zeigt der CWP das CCW, das bedient wird. Wenn nicht tätig, zeigt der CWP das letzte CCW an, das vollendet wurde.
- Die Einträge in der Umwandlungsbefehlswort- (CCW) Tabelle sind 8-Bit CCWs. Das CCW wird durch die Hostsystemsoftware geschrieben und wird durch den QADC nicht modifiziert. Das CCW enthält die Befehlsbits, um eine Analogpegelprobe zu nehmen und sie in ein digitales Ergebnis umzuwandeln. Die unteren Bits des CCW (CHAN, IST und RSI) enthalten Befehlsinformation für den Abtast-Halte-Teil des A/D-Umsetzers. Das REF-Bit spezifiziert das während der Umwandlung zu verwendende Referenzpaar. Die Felder des CCW werden nun erläutert.
- REF - Freigabe für alternative Referenz (Bitposition: 7)
- Funktion: primäre oder alternative Referenz für Umwandlungsprozeß wählen
- Rückstellzustand: nicht initialisiert
- Wenn das REF-Bit eine null ist, wird der VRH0-Pin für den hohen Referenzpegel verwendet, und der VRL0-Pin wird für den tiefen Referenzpegel für die Umwandlung verwendet. Wenn das REF-Bit auf eins gesetzt wird, werden stattdessen die alternativen hohen und tiefen Referenzspannungen VRH1 und VRL1 verwendet.
- RSI - Wiederabtastsperre (Bitposition: 6)
- Funktion: unterbindet beim gleichzeitigen Abtasten das erneute Abtasten des Analogeingangs
- Rückstellzustand: nicht initialisiert
- Im normalen Betrieb (RSI = 0) werden zwei benachbarte Kanäle gleichzeitig abgetastet, aber nur der eine, der durch das CCW-CHAN-Feld angegeben wird, wird umgewandelt. Wenn der Benutzer den gleichzeitig abgetasteten benachbarten Kanal umzuwandeln wünscht, wird das RSI-Bit des CCW auf eine eins gesetzt, um erneutes Abtasten zu unterbinden. Das unterste Bit des CHAN-Feldes wirkt als ein Umschalter zwischen den zwei durch die höheren Bits im CHAN-Feld gewählten Kanäle. Der Kanal 1 kann nicht gleichzeitig abgetastet werden, da er mit Kanal 0 gepaart ist, der der Code für das letzte CCW ist.
- IST - Eingangsabtastzeit (Bitposition: 5)
- Funktion: wählt eine von zwei Eingangsabtastzeiten
- Rückstellzustand: nicht initialisiert
- Wenn das IST-Bit im CCW eine 0 ist, wird eine von zwei Vorgabe-Eingangsabtastzeiten verwendet. Für die erste Umwandlung einer Folge (das erste CCW in Schlange 1 und Schlange 2) beträgt die Vorgabeabtastzeit einige Zyklen, und für nachfolgende Umwandlungen in der Schlange ist die Abtastzeit die Umwandlungszeit. Wenn das IST-Bit im CCW eine 1 ist, wird das IST1-Feld im Steuerregister 0 benutzt, um die Eingangsabtastzeit zu wählen.
- CHAN - Kanalnummer (Bitposition: 0-4)
- Funktion: wählen der Nummer des Eingangskanals
- Rückstellzustand: nicht initialisiert
- Die CHAN-Bits wählen aus, welches analoge Eingangssignal mit dem A/D- Umsetzer verbunden wird. Wenn die MUX-Bits im Steuerregister 0 gelöscht sind, befindet sich das QADC-Modul im intern gemultiplexten Modus. In diesem Modus ermöglichen die fünf CHAN-Bits dem QADC, abhängend von der Modulversion, bis zu 16 Eingangskanäle plus interne Testkanäle zu wählen, wie in Fig. 9 gezeigt. Bei Mikrocomputer-Implementierungen mit weniger als 16 externen Kanälen werden die unverbundenen Pins mit VDDA/VRH0 oder VSSA/VRL0 verbunden.
- Wenn die MUX-Bits im Steuerregister 0 nicht 00 sind, ist einer der extern gemultiplexten Modi im Gebrauch. Die fünf CHAN-Bits werden neu zugeordnet, so daß einige der Kanalnummern extern gemultiplext werden. Die Tabelle in Fig. 9 zeigt die Definition für die CHAN-Kanalnummern für jeden Multiplexmodus.
- Eines der CHAN-Wörter (CHAN = 00000) wird anstelle eines gemultiplexten Eingangskanals als ein Ende-Schlange-Zeichen benutzt. Wenn die Steuerlogik diesen Ende-Schlange-Code in der CCW-Tabelle antrifft, werden bei diesem Durchlauf durch die Schlange keine weiteren Umwandlungen durchgeführt.
- Außerdem kann, wie oben erwähnt, das CCW, wenn gewünscht, ein oder mehr freigestellte Steuerfelder enthalten. Ein Feld kann z.B. die Auflösung des Umsetzers spezifizieren, wenn verschiedene Umsetzerauflösungen unterstützt werden müssen. Ein anderes Feld kann benutzt werden, um die Ausrichtung des Datenergebnisses zu bestimmen, anstatt die zwei oberen Adressenbits zu verwenden, um die Ausrichtung des Datenergebnisses in der unmittelbar oben beschriebenen Weise zu wählen.
- Während es ein bedeutsamer Vorteil der vorliegenden Erfindung ist, daß Abtast- und Umwandlungsoperationen, sobald die Schlangen durch die Hostsystemsoftware geladen sind, ohne weitere Beteiligung solcher Software durchgeführt werden können, ist es der Hostsystemsoftware auch möglich, in den Schlangen gespeicherte Information dynamisch zu modifizieren. Dies würde normalerweise nur für die Schlange niedrigerer Priorität (z.B. Schlange 2) vorgenommen werden, da die Schlange höherer Priorität (Schlange 1) normalerweise für Operationen mit hoher Zyklusfolge auf relativ schnell veränderlichen Signalen verwendet wird.
- Ein Zweck, die Steuerinformation von Schlange 2 zu modifizieren, ist, die periodische Abtastung und Umwandlung von Analogsignalen zu bestimmen, die sich typischerweise relativ langsam im Vergleich zu denen verändern, die unter der Steuerung der Schlange 1 abgetastet und umgewandelt werden.
- Fig. 21 zeigt die Adressen (d.h., absolute Adressen, wo "X" eine beliebige Basisadresse des QADC-Moduls darstellt), die benötigt werden, um in der Umwandlungsergebnistabelle gespeicherte Ergebniswörter in wenigtens drei verschiedenen Datenformatoptionen zu lesen. Die Adressen sind $XA0, $XA2, $XA4 usw. bis $XDE für die 32 Ergebniswörter RSLT0 bis RSLT31 im rechtsbündigen Format ohne Vorzeichen.
- Die Adressen sind $X120, $X122 usw. bis $X15E für die 32 Ergebniswörter RSLT0 bis RSLT31 im linksbündigen Format mit Vorzeichen.
- Und die Adressen sind $X1A0, $X1A2 usw. bis $X1DE für die 32 Ergebniswörter RSLT0 bis RSLT31 im linksbündigen Format ohne Vorzeichen.
- Fig. 22 zeigt eine ausführliche logische Implementierung der in Fig. 2 gezeigten Datenformatlogik 68. Das 10-Bit Ergebniswort wird aus der Ergebnistabelle 64 über den 10-Bit Bus 65 gelesen, und jedes Bit (RESULT [0] bis RESULT [9)) wird durch eine betreffende Leitung 140- 149 empfangen.
- Zwei obere Adressenbits werden durch die Vorzeichensteuerungsleitung 130 bzw. die Links/Rechts-Ausrichten-Steuerleitung 132 empfangen. Die Leitungen 130 und 132 werden in ein NAND-Gatter 134 eingegeben, dessen Ausgang einen Eingang in ein Exklusiv-ODER-Gatter 180 bildet.
- Die Links/Rechts-Ausrichten-Steuerleitung 132 ist auch über einen Leitungsteil 137 mit den nichtinvertierenden Steueranschlüssen einer ersten Serie von Übertragungsgattern 150-165 und mit den invertierenden Steueranschlüssen einer zweiten Serie von Übertragungsgattern 150'- 165' verbunden.
- Die Links/Rechts-Ausrichten-Steuerleitung 132 ist auch über einen Leitungsteil 138 mit einem Inverter 136 verbunden, dessen Ausgang mit den invertierenden Steueranschlüssen der ersten Serie von Übertragungsgattern 150-165 und mit den nichtinvertierenden Steueranschlüssen der zweiten Serie von Übertragungsgattern 150'-165' verbunden ist.
- Die Eingänge der Übertragungsgatter 150'-159' sind jeweils mit den Leitungen RESULT[O] - RESULT[9] 140-149 verbunden, und ihre Ausgänge sind jeweils mit Invertern 150"-159" verbunden. Die Eingänge der Übertragungsgatter 160'-165' sind mit Erde verbunden.
- Die Eingänge der Übertragungsgatter 156-165 sind ebenfalls mit den Leitungen RESULT[0] - RESULT[9] 140-149 verbunden, und ihre Ausgänge sind jeweils mit Invertern 156"-165" verbunden. Die Eingänge der Übertragungsgatter 150-155 sind mit Erde verbunden.
- Die Ausgänge der Inverter 150"-164" stellen DATA[0] bis DATA[14] dar.
- Die Ausgänge der Übertragungsgatter 165 und 165' sind mit dem zweiten Eingang des Exklusiv-ODER-Gatters 180 verbunden, dessen Ausgang DATA[15] ist.
- Die Ausgänge DATA(0] bis DATA[15] sind mit einem 16-Bit Bus 67 verbunden, der wiederum mit der Busschnittstelleneinheit 70 und dem Intermodulbus 72 (Fig. 2) verbunden ist.
- Im Betrieb werden, wenn das Links/Rechts-Ausrichten-Steuerbit ein erster Wert ist, z.B. eine logische "1", die Übertragungsgatter 150-165 eingeschaltet, die Übertragungsgatter 150'-165' ausgeschaltet, und das 10-Bit Ergebniswort RESULT[0]-RESULT[9] wird folglich durch DATA[6]- DATA[15] in einem linksbündigen Format ausgetaktet.
- Wenn andererseits das Links/Rechts-Ausrichten-Steuerbit eine logische "0" ist, werden die Übertragungsgatter 150-165 ausgeschaltet, die Übertragungsgatter 150'-165' eingeschaltet, und das 10-Bit Ergebniswort RESULT[0]-RESULT[9] wird folglich durch DATA[0]-DATA[9] in einem rechtsbündigen Format ausgetaktet.
- Die Vorzeichensteuerung wird durch den logischen Zustand des Vorzeichensteuersignals über Leitung 130 und durch das Links/Rechts-Ausrichten-Steuersignal 132 bestimmt.
- Das gewünschte Datenergebnisformat kann auch durch Hostsystemsoftware, die geeigenete Steuerinformation in das QADC-Modul lädt, spezifiziert werden. Z.B. könnte Formatinformation (in der Form von einem oder mehr Bits in einem CCW oder Steuerregister) geladen werden, um das gewünschte Datenergebnisformat für jede Umwandlung, für eine Abtastfolge oder Gruppe von Umwandlungen, für jeden Kanal (als ein oder mehr Steuerregisterbits pro Pin) oder für eine Gruppe von Kanälen zu spezifizieren.
- Für einen Fachmann wird ersichtlich sein, daß die vorliegende Erfindung auf vielen verschiedenen Wegen verwirklicht werden kann.
- Zum Beispiel könnte die Systemarchitektur anders angeordnet werden. Die Busstruktur zum Hostprozessors könnte anders sein. Die Steuerwortschlangen- und Ergebnisregister könnten mit dem Hostprozessorbus verbunden werden, anstatt mit dem QADC-Modul assoziiert zu sein.
- Die verschiedenen Steuerwörter, Tabellen und Register könnten mehr oder weniger Bits und Datenfelder enthalten, und sie könnten auf viele andere Weisen angeordnet werden. Die Registeradressen und Bitzuweisungen können verändert werden.
- Die Steuerfelder können in verschiedenen Steuerwörtern verwirklicht werden. Z.B. könnte das MUX-Feld im Steuerwort 0 innerhalb eines anderen Steuerwortes, wie z.B. dem Modulkonfigurationswort im Modulkonfigurationsregister (Fig. 6), verwirklicht werden.
- Die CCW-Tabelle 62 könnte ein ROM sein. Sie könnte auch ein einzelnes Register sein, das ein CCW speichet, das Steuerinformation enthält, um den gewünschten Umwandlungsprozeß zu steuern. z.B. alle Kanäle in einer spezifizierten Folge.
- Die Anzahl von analogen Eingangspins könnte weniger oder mehr sein. Die Anzahl von Kanälen könnte erweitert werden, indem ein größeres Kanalfeld (CHAN) im CCW verwendet wird. Die Pinzuweisungen und -funktionen und die Kanalnummern (Fig. 9) könnten geändert werden.
- Die Auflösung des Umsetzers könnte mehr oder weniger Bits umfassen oder könnte über ein Datenfeld in einem Steuerwort wählbar sein.
- Die Schlangenlängen könnten länger oder kürzer sein und es könnte mehr oder weniger Schlangen geben, einschließlich einer Schlange, die nur ein CCW lang ist. Es könnte mehr oder weniger schlangeneinleitende Modi auf jeder Schlange geben. Es gibt eine Vielfalt von Wegen, den Anfang und das Ende jeder Schlange zu kennzeichnen.
- Es könnte mehr oder weniger Datenergebnisformate geben, und, wie oben erwähnt, gibt es eine Vielfalt anderer Möglichkeiten, um auszuwählen, welches Datenergebnisformat für jede Umwandlung, Gruppe von Umwandlungen, Kanal oder Gruppe von Kanälen gilt.
- Alle Umwandlungseinleitungsverfahren (externer Trigger, periodisches Intervall, kontinuierlich, softwareinitiiert) und die meisten der restlichen QADC-Merkmale können auf ein A/D-Modul angewandt werden, das keine CCW-Schlange verwendet, um die umzuwandelnden Kanäle zu planen.
- Die Wahl der Eingangsabtastzeit betreffend kann es mehr oder weniger Vielseitigkeit geben.
- Es gibt andere Wege, zwei gleichzeitig abgetastete Kanäle umzuwandeln, und die Wahl, welche Kanäle und wie viele Kanäle gleichzeitig abzutasten sind, kann mehr oder weniger vielseitig sein.
- Die Wahl, welche Referenzpins zu verwenden sind, kann mehr oder weniger vielseitig sein.
- Die Strompins, Referenzpins, externen Triggerpins und externen MUX- Schnittstellenpins könnten getrennt sein oder mit den analogen Eingangssignalen geteilt werden. Die MUX-Adressierungssignale und MUX- Analogeingänge müssen nicht unbedingt auf Pins übertragen werden, die auch als analoge Eingangskanäle arbeiten.
- Die Anzahl von externen Multiplexern könnte geändert werden. Weitere Veränderungen an der Moduldefinition könnten die MUX-Funktion beeinflussen.
- Die Kanalwahl muß nicht durch ein CCW in einer Schlange durchgeführt werden. Eine sequentielle Abtastung der Kanalnummern könnte ebenfalls verwendet werden.
- Steuersignale zusätzlich zu den im dem Eingereihten A/D-Umsetzermodul verwendeten MUX-Adressierungssignalen könnten ebenfalls verwendet werden, z.B. ein "Freigabe"-Signal auf einem externen MUX.
- Die Unterbrechungsstruktur könnte mehr oder weniger vielseitig sein. Anstatt die Schlange niedrigerer Priorität bei ihrem Anfang neu zu starten, nachdem die Schlange höherer Priorität ihre Umwandlungsfolge beendet hat, könnte z.B. die Schlange niedrigerer Priorität mit dem nächsten CCW in ihrer Folge fortgesetzt werden.
- Die Wahl der Taktquelle und des Vorteilers könnte mehr oder weniger vielseitig sein.
- Die Wahl der Taktrate des periodischen Zeitgebers könnte mehr oder weniger vielseitig sein und es könnte mehr als eine wählbare Rate geben.
- Der externe Trigger könnte von einem anderen Modul desselben IC stammen. Es braucht kein externer Pin zu sein.
- Das CCW (Fig. 7) könnte mehr oder weniger Parameter enthalten, um die Merkmale jedes Abtastens, Haltens und Umwandelns zu spezifizieren.
- Ein oder mehr Bits in jedem CCW könnten benutzt werden, das Datenformat zu bestimmen. Z.B. könnten Bits für die Auflösung (Ergebnisgröße) oder für das Ergebnisdatenformat bereitgestellt werden, z.B. links- oder rechtsbündig ausgerichtete Daten mit oder ohne Vorzeichen.
- Außerdem könnten ein oder mehr Bits in jedem CCW benutzt werden, um die Abtastzeit zu bestimmen.
Claims (10)
1. Verfahren zum Bereitstellen einer automatischen Auswahl unter
einer Mehrzahl von Dateneingangsanschlüssen (AN16-AN30) in einem
Analog/Digital-Umwandlungssystem, wobei das Verfahren die Schritte umfaßt:
Speichern eines ersten Befehlswortes und eines zweiten Befehlswortes
in einer Befehlswortschiange und
Einleiten der Tätigkeit des Analog/Digital-Umwandlungssystems,
wobei das Analog/Digital-Umwandlungssystem die folgenden Schritte ohne
Eingabe von einer zentralen Verarbeitungseinheit ausführt,
Zugreifen auf das erste Befehiswort in der Befehlswortschlange, wobei
wenigstens ein Teil des ersten Befehlswortes einen ersten Auswahlwert
spezifiziert, der einem der Mehrzahl von Dateneingangsanschlüssen
entspricht;
Auswählen des einen der Mehrzahl von Dateneingangsanschlüssen, der dem
ersten Auswahlwert entspricht;
Abtasten eines ersten Analogsignals auf dem einen der Mehrzahl von
Dateneingangsanschlüssen, der dem ersten Auswahlwert entspricht;
Zugreifen auf das zweite Befehlswort in der Befehlswortschlange, wobei
wenigstens ein Teil des zweiten Befehlswortes einen zweiten
Auswahlwert spezifiziert, der einem der Mehrzahl von Dateneingangsanschlüssen
entspricht;
Auswählen des einen der Mehrzahl von Dateneingangsanschlüssen, der dem
zweiten Auswahlwert entspricht, und
Abtasten eines zweiten Analogsignals auf dem einen der Mehrzahl von
Dateneingangsanschlüssen, der dem zweiten Auswahlwert entspricht.
2. Verfahren nach Anspruch 1, bei dem der Schritt des Einleitens der
Tätigkeit des Analog/Digital-umwandlungssystems den Schritt des
Empfangens eines Triggersignals umfaßt.
3. Verfahren nach Anspruch 1, weiter umfassend die Schritte:
Anlegen einer ersten Adresse an einen Multiplexer, wobei die erste
Adresse dem ersten Auswahlwert entspricht, und
Anlegen einer zweiten Adresse an den Multiplexer, wobei die zweite
Adresse dem zweiten Auswahlwert entspricht.
4. Verfahren nach Anspruch 1, bei dem der erste Auswahlwert und der
zweite Auswahlwert einem gleichen der Mehrzahl von
Dateneingangsanschlüssen entsprechen.
5. Verfahren nach Anspruch 1 oder 4, bei dem das erste Befehlswort
und das zweite Befehlswort ein gleiches Befehlswort sind.
6. Analog/Digital-Umwandlungssystem zur Verwendung mit wenigstens
einer Multiplexerschaltung (10, Fig. 1) mit einer Mehrzahl von
Dateneingangsanschlüssen (AN16-AN30), wenigstens einem Adresseneingangsport
(MA0-MA2) und wenigstens einem Datenausgangsport (PA0-PA2), wobei das
Umwandlungssystem umfaßt:
(a) eine Analog-Digital-Schaltung (6, Fig. 1), die umfaßt:
(i) ein Steuerregister (60, Fig. 2), das ein Steuerfeld (MUX) zum
Halten eines Steuerwortes umfaßt, wobei das Steuerwort wenigstens einen
ersten Zustand und einen zweiten Zustand besitzt;
(ii) einen ersten Anschluß (PA0), der mit dem Adresseneingangsport des
Multiplexers verbindbar ist, wobei der erste Anschluß als ein
Dateneingangskanal fungiert, wenn sich das Steuerwort in dem ersten Zustand
befindet, und der erste Anschluß als ein Adressenausgangskanal
fungiert, wenn sich das Steuerwort in dem zweiten Zustand befindet, und
(iii) einen zweiten Anschluß (PB1), der mit dem Datenausgangsport des
Multiplexers verbindbar ist, wobei der zweite Anschluß als ein
Dateneingangskanal fungiert, wenn sich das Steuerwort in dem ersten Zustand
befindet, und der zweite Anschluß als ein analoger gemultiplexter
Dateneingangskanal fungiert, wenn sich das Steuerwort in dem zweiten
Zustand befindet.
7. Analog/Digital-Umwandlungssystem nach Anspruch 6, bei dem der
erste
Anschluß als entweder ein analoger oder digitaler
Dateneingangskanal fungiert, wenn sich das Steuerwort in dem ersten Zustand
befindet, und der zweite Anschluß als ein analoger Dateneingangskanal
fungiert, wenn sich das Steuerwort in dem ersten Zustand befindet.
8. Analog/Digital-Umwandlungssystem nach Anspruch 6, zur Verwendung
mit wenigstens einer Multiplexerschaltung, die sich auf einem gleichen
integrierten Schaltkreis befindet wie die Analog-Digital-Schaltung und
mit wenigstens einer weiteren Multiplexerschaltung, die sich nicht auf
dem gleichen integrierten Schaltkreis befindet.
9. Analog/Digital-Umwandlungssystem nach Anspruch 6, bei dem die
Analog-Digital-Schaltung weiter umfaßt:
(iv) eine Einrichtung zum Lesen einer Mehrzahl von
Umwandlungsbefehlswörtern in der Form einer Schlange, die eine Umwandlungsfolge
definiert.
10. Analog/Digital-Umwandlungssystem nach Anspruch 6, bei dem die
Analog-Digital-Schaltung weiter umfaßt:
(v) eine Abtasteinrichtung, die auf die Mehrzahl von
Umwandlungsbefehlswörtern anspricht, um der Reihe nach ein Analogsignal auf jedem
einer Mehrzahl entsprechender Analogeingangsanschlüsse abzutasten.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US57724990A | 1990-09-04 | 1990-09-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69126386D1 DE69126386D1 (de) | 1997-07-10 |
DE69126386T2 true DE69126386T2 (de) | 1997-12-18 |
Family
ID=24307913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69126386T Expired - Fee Related DE69126386T2 (de) | 1990-09-04 | 1991-08-21 | Automatische Auswahl von externen Multiplexerkanälen durch A/D-Wandlerintegrationsschaltung |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP0474024B1 (de) |
JP (1) | JP3262569B2 (de) |
KR (1) | KR0185727B1 (de) |
DE (1) | DE69126386T2 (de) |
HK (1) | HK1007222A1 (de) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6559783B1 (en) | 2000-08-16 | 2003-05-06 | Microchip Technology Incorporated | Programmable auto-converting analog to digital conversion module |
DE10215405A1 (de) | 2002-04-08 | 2003-10-16 | Bosch Gmbh Robert | Verfahren und Vorrichtung zur Funktionsprüfung eines Analog-Digital-Wandlers sowie Analog-Digital-Wandler |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8527676D0 (en) * | 1985-11-09 | 1985-12-11 | Burr Brown Ltd | Interfacing between analog signals & system bus |
DE68926191T2 (de) * | 1988-07-13 | 1996-11-28 | Nippon Electric Co | Ein-Chip-Datenprozessor mit eingebautem A/D-Wandler |
US4933676A (en) * | 1989-06-12 | 1990-06-12 | Technology 80, Inc. | Programmable multi-input A/D converter |
-
1991
- 1991-08-21 DE DE69126386T patent/DE69126386T2/de not_active Expired - Fee Related
- 1991-08-21 EP EP91113951A patent/EP0474024B1/de not_active Expired - Lifetime
- 1991-08-26 JP JP23880791A patent/JP3262569B2/ja not_active Expired - Fee Related
- 1991-09-02 KR KR1019910015233A patent/KR0185727B1/ko not_active IP Right Cessation
-
1998
- 1998-06-24 HK HK98106256A patent/HK1007222A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR920007356A (ko) | 1992-04-28 |
HK1007222A1 (en) | 1999-04-01 |
KR0185727B1 (ko) | 1999-04-15 |
JPH06149479A (ja) | 1994-05-27 |
JP3262569B2 (ja) | 2002-03-04 |
DE69126386D1 (de) | 1997-07-10 |
EP0474024A3 (en) | 1993-09-15 |
EP0474024A2 (de) | 1992-03-11 |
EP0474024B1 (de) | 1997-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69130659T2 (de) | Automatische A/D-Wandlungsoperation unter Verwendung programmierbarer Abtastzeit | |
DE69125674T2 (de) | Automatische analog digital Convertierung mit auswählbaren Formatresultaten | |
US5166685A (en) | Automatic selection of external multiplexer channels by an A/D converter integrated circuit | |
US5168276A (en) | Automatic A/D converter operation using a programmable control table | |
US4847750A (en) | Peripheral DMA controller for data acquisition system | |
DE69124946T2 (de) | Bidirektionaler FIFO-Puffer zur Schnittstellenbildung zwischen zwei Bussen | |
DE69124905T2 (de) | Datenverarbeitungsvorrichtung zur dynamischen Zeiteinstellung in einem dynamischen Speichersystem | |
DE69714472T2 (de) | Verfahren zum überprüfen eines integrierten speichers mit hilfe einer integrierten dma-schaltung | |
DE2918424C2 (de) | ||
DE3779718T2 (de) | Datendarstellung in aequivalenter zeit. | |
DE19847642C2 (de) | PCI-PCI-Brücke | |
DE102007054852A1 (de) | Signalwandler zum Erfüllen einer Funktion | |
DE2953861C2 (de) | ||
DE3810231A1 (de) | Digitalrechner mit programmierbarer dma-steuerung | |
WO1989000325A1 (en) | Adaptation of a multifunctional monitor to a personal computer | |
DE3303488A1 (de) | Digitales signalverarbeitungssystem | |
DE3128740A1 (de) | Dynamisches halbleiter-speichersystem | |
DE2855673A1 (de) | Anordnung zur handhabung des direkten zugriffs auf den speicher einer datenverarbeitungsanlage | |
DE112020003733T5 (de) | Speichercontroller für nicht störende zugriffe auf nichtflüchtigen speicher durch verschiedene master und diesbezügliche systeme und verfahren | |
DE69029815T2 (de) | Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung | |
DE69126386T2 (de) | Automatische Auswahl von externen Multiplexerkanälen durch A/D-Wandlerintegrationsschaltung | |
DE102016100643B4 (de) | Analog-Digital-Wandler-Schaltungen und Verfahren zum Betreiben derselben | |
DE3855314T2 (de) | Dateneingangsschaltung mit Signalspeicherschaltung | |
DE102006009033B4 (de) | Signal-Wandel-Vorrichtung, insbesondere Analog-Digital-Wandel-Vorrichtung, und Verfahren zum Betreiben einer Signal-Wandel-Vorrichtung | |
DE69132037T2 (de) | Wandlungssteuerworte verwendendes Analog-Digitalwandlungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: FREESCALE SEMICONDUCTOR, INC. (N.D.GES.D. STAATES |
|
8339 | Ceased/non-payment of the annual fee |