DE69125674T2 - Automatische analog digital Convertierung mit auswählbaren Formatresultaten - Google Patents

Automatische analog digital Convertierung mit auswählbaren Formatresultaten

Info

Publication number
DE69125674T2
DE69125674T2 DE69125674T DE69125674T DE69125674T2 DE 69125674 T2 DE69125674 T2 DE 69125674T2 DE 69125674 T DE69125674 T DE 69125674T DE 69125674 T DE69125674 T DE 69125674T DE 69125674 T2 DE69125674 T2 DE 69125674T2
Authority
DE
Germany
Prior art keywords
conversion
bit
queue
analog
register
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
Application number
DE69125674T
Other languages
English (en)
Other versions
DE69125674D1 (de
Inventor
Jules Desloge Campbell
William Dewitt Huston
Craig Douglas Shaw
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of DE69125674D1 publication Critical patent/DE69125674D1/de
Application granted granted Critical
Publication of DE69125674T2 publication Critical patent/DE69125674T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/34Analogue value compared with reference values
    • H03M1/38Analogue value compared with reference values sequentially only, e.g. successive approximation type
    • H03M1/46Analogue value compared with reference values sequentially only, e.g. successive approximation type with digital/analogue converter for supplying reference values to converter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/05Digital input using the sampling of an analogue quantity at regular intervals of time, input from a/d converter or output to d/a converter
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/1205Multiplexed conversion systems
    • H03M1/122Shared using a single converter or a part thereof for multiple channels, e.g. a residue amplifier for multiple stages
    • H03M1/1225Shared using a single converter or a part thereof for multiple channels, e.g. a residue amplifier for multiple stages using time-division multiplexing

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)
  • Combined Controls Of Internal Combustion Engines (AREA)

Description

  • Die folgenden verwandten Anmeldungen, jede an den Zessionar der vorliegenden Erfindung abgetreten, werden gleichzeitig hiermit eingereicht:
  • "Automatic Selection of External Multiplexer Channels By A/D Converter Integrated Circuit", erfunden von Jules D. Campbell, Jr. et al. (unser Aktenzeichen Nr. SC00851A).
  • "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).
  • Technisches Gebiet der Erfindung
  • Diese Erfindung betrifft Analog/Digital-Umsetzer im allgemeinen und im besonderen ein A/D-Umsetzersystem, das verschiedene Datenformate der digitalen Ergebnisse zur Verfügung stellt.
  • Hintergrundinformation
  • 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, Antiklopfen usw.
  • In einer typischen Fahrzeuganwendung müssen viele verschiedene Analogsignale umgewandelt werden. Die Digitalwerte der umgewandelten Analogsignale werden durch das System für viele verschiedene Zwecke benutzt. In einem A/D-Umsetzersystem, das einen Datenbus (z.B. von 16 Bits) umfaßt, dessen Breite größer als die umgewandelten Digitalwerte (z.B. 8 Bits) ist, tritt das Problem auf, auf welche Weise der Digitalwert mit der kleineren Bitzahl über den Bus mit der größeren Bitzahl zu übertragen ist.
  • Einige Anwendungen verlangen z.B. das Ergebnis rechtsbündig, so daß mehrfache Proben leicht gemittelt werden können. Andere Programme verlangen das Ergebnis linksbündig, so daß es in Form der Größe wie ein 16-Bit Wert erscheint. Digitale Signalverarbeitungsanwendungen verlangen oft linksbündige Daten im Zweierkomplementformat (mit Vorzeichen) mit hinteren Nullen, wobei das Zahlensystem Festpunkt-Bruchzahlen mit Vorzeichen sind. Wenn sich die A/D-Umsetzung in einer Closed-Loop-Regelungsanwendung befindet, ist es unerwünscht, die Software des Anwendungsprozessors mit der Aufgabe der Justierung des Datenformates zu belasten.
  • Im Stand der Technik ist bekannt, einen N-Bit Bus fest zu verdrahten, so daß er linksbündig oder rechtsbündig ist. Alternativ können externe Multiplexer verwendet werden, um die Anwendungssoftware das gewünschte Justierungsformat wählen zu lassen.
  • Bekannte A/D-Umsetzer erzeugen jedoch typischerweise das digitale Ergebnis in einem festen Format, entweder nur Größe oder das Zweierkomplement.
  • Es gibt eine bedeutsame Notwendigkeit, ein A/D-Umsetzersystem bereitzustellen, bei dem die digitalen Ergebnisse in jedem von mehreren gewünschten Formaten gelesen werden können, ohne übermäßige Schaltkreise auf dem Chip oder außerhalb des Chips zu erfordern.
  • Zusammenfassung der Erfindung
  • Erfindungsgemäß wird ein Analog/Digital-Umwandlungssystem zur Verfügung gestellt, das umfaßt: einen Adressenbus; einen N-Bit Datenbus; einen Analogeingangsanschluß; eine Abtast-Halte-Schaltung mit einem mit dem Analogeingangsanschluß verbundenen Eingang und mit einem Ausgang; eine Analog/Digital-Umwandlungsschaltung mit einem mit dem Ausgang der Abtast-Halte-Schaltung verbundenen Eingang und mit einem M-Bit Digitalausgang, wo M kleiner als N ist, wobei die Verbesserung umfaßt: eine Schnittstellenschaltung, die geschaltet ist, eine Adresse von dem Adressenbus zu empfangen, und geschaltet ist, Daten an den Datenbus zu liefern, wobei die Schnittstellenschaltung auch einen Eingang aufweist, der mit dem M-Bit Digitalausgang des Analog/Digital- Umsetzers verbunden ist, wobei die Schnittstellenschaltung weiter umfaßt: eine Datenformatschaltung, die geschaltet ist, wenigstens einen Teil der Adresse zu empfangen, wobei die Datenformatschaltung ein von dem Analog/Digital-Umsetzer empfangenes M-Bit Digitalsignal abhängig von einem Wert des durch die Datenformatschaltung empfangenen Teils der Adresse entweder mit einem ersten Teil des N-Bit Datenbusses oder mit einem zweiten Teil des N-Bit Datenbusses verbindet.
  • Bei einer bevorzugten Ausführung ist das A/D-Umsetzermodul mit einer oder mehr automatischen Umwandlungsfolgen oder Schlangen versehen. Jede Schlange spezifiziert eine Folge von Abtastoperationen auf einem oder mehr Kanälen.
  • Eine Schlange umfaßt eine im Speicher gespeicherte Tabelle von Umwandlungsbefehlswörtern (CCWs), die sich entweder im A/D-Umsetzer oder im CPU-Adressenraum befindet.
  • Von besonderer Bedeutung für die vorliegende Erfindung ist die Tatsache, daß jedes digitale Ergebniswort in einem Register oder einer Tabelle gespeichert wird und in einem von L verschiedenen Formaten gelesen werden kann. Eine Ergebnisformatlogik wird bereitgestellt, um das digitale M-Bit Ergebniswort innerhalb des N-Bit Prozessordatenbusses auszurichten (wobei M kleiner als N).
  • Bei einer bevorzugten Ausführung wählt die CPU-Software das gewünschte Ergebnisformat mit dem Adressenbereich, bei dem das digitale Ergebniswort aus dem Ergebnisregister oder der Tabelle gelesen wird.
  • Eine Multiplexlogik befindet sich zwischen dem Ergebnisregister des Umsetzers und dem Ausgangsdatenbus des A/D-Umsetzermoduls. Die unteren Adressenbits werden benutzt, um das spezifische Ergebnisregister auszuwählen, in dem das Umsetzerergebnis einer spezifischen Umwandlung oder eines Kanals gespeichert wird, und die höheren Adressenbits werden verwendet, um die Multiplexlogik zu steuern, die die Daten rechts- oder linksbündig positioniert und das höchstwertige Bit invertiert, wenn das Zweierkomplementformat verlangt wird. Die Multiplexlogik füllt auch die freien Bits in dem Datenfeld mit geeigneten Daten (gewöhnlich, aber nicht unbedingt Nullen).
  • Die vorliegende Erfindung befreit somit die Hostsystemsoftware von der Verantwortung, die umgewandelten Daten für jede Umwandlung in die von der Anwendung verlangte Form zu formatieren.
  • Die vorliegende Erfindung stellt folglich ein A/D-Umsetzersystemmodul und ein Verfahren zur Verfügung, die mehrfache Auswahlen von digitalen Datenformaten erlauben, während die Beteiligung der Hostsystemsoftware minimiert und Hardware außerhalb des Chips beseitigt wird. Des weiteren kann die vorliegende Erfindung ein A/D-Umsetzersystemmodul und ein Verfahren zur Verfügung stellen, bei denen digitale Ergebnisse in einem einzigen Format gespeichert und in einem von mehreren gewünschten Formaten ohne weitere Beteiligung der Hostsystemsoftware ausgelesen werden.
  • Kurzbeschreibung der Zeichnungen
  • 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.
  • Inhalt der Zeichnungen:
  • 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- (IM8) Signale des A/D-Umsetzermoduls der vorliegenden Erfindung.
  • Fig. 5 zeigt einen Adressenplan 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.
  • Beschreibung der bevorzugten Ausführung Übersicht
  • 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 10, 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.
  • Eingereihtes A/D-Umsetzermodul
  • 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-Halteschaltungen 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 Datenformat- Schaltung 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 QADC-Modul 1 geeignete analoge Stromversorgungsspannungen über die Pins VDDA 35 und VSSA 37 verbunden.
  • Externe Pins
  • 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 durchgeführt wird. Die Anzahl von Kanälen in einem erweiterten 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.
  • Steuerregister- und Logikschaltung
  • 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 Registersteuerungsund 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 48 auch mit dem periodischen Zeitgeber 205 verbunden. Die Triggerauswahl- und Prioritätsschaltung 200 reagiert auf Modussteuersignale von den Steuerregistern über Leitung 213 und auf ein Ende-Schlange- (EOQ) Signal 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 70 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 ferner Steuersignale für die Adressendecodierungsschaltung 66 über Leitung 224, 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 empfängt 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 an das SAR 58 über die 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.
  • Intermodulbus- (IMB) Schnittstelle
  • 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.
  • Adressenplan
  • 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 Portregister 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 Eingangsprobenzeit (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 gezeigten Adressenbereichen als Umwandlungsergebnistabellen 83, 85 und 89 gelesen werden. Es gibt in Wirkichkeit 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.
  • Umwandlungsbefehlsworttabelle
  • 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, vier 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.
  • Funktion der Umwandlungsschlange
  • 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 andere Zeit sein soll. Für die erste Abtastung einer Umwandlungsfolge ist die Vorgabeabtastzeit eine spezifizierte Anzahl 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 benötigt werden, oder für spezifische Verzögerungsintervalle.
  • 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.
  • Vorteiler
  • 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 bei 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.
  • Periodischer Zeitgeber
  • 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 von dem 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.
  • Externer Trigger
  • 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 Indexstellung einer beweglichen Einrichtung.
  • In 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änderlichen Unterbrechungsansprechzeiten beginnen Umwandlungen jedoch ungenau in bezug auf das externe Signal oder Ereignis. Bei vielen Anwendungen muß die Abtastung bei einer genauen Zeit erfolgen.
  • 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 der Umwandlung, 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 vom 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 Verwendung 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 exter nen 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.
  • Kontinuierliche Umwandlungen
  • 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.
  • Durch Software eingeleitete Umwandlung
  • 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 gewünschten Zustand zurück. Die nächste Umwandlungsfolge wird durch ein neues Steuerwort der Hostsystemsoftware angestoßen. Dieser Modus stellt einen einmaligen Abtastlauf durch die CCW-Schlange zur Verfügung.
  • Extern gemultiplexte Eingänge
  • 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 und 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
  • 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 untersten 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.
  • Eingangsabtastzeit
  • 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.
  • Alternative Referenzeingänge
  • 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.
  • A/D-Ergebnisdatenformatoptionen
  • Fig. 11 veranschaulicht die Datenformatoptionen von in der Umwandlungsergebnistabelle ggspeicherten 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&sub1; 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 "Ergebniswortformatoptionen" 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.
  • Registerbeschreibungen
  • 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.
  • Modulkonfigurationsregister (MCR)
  • 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 A/D-Umsetzung 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 von der Systemsoftware (dem Betriebssystem) aus zugänglich ist. Andere Host-CPUs enthalten diese Option nicht und sind daher immer im Supervisormodus von der günstigen Lage 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-, Steuerund 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.
  • Prüfregister
  • 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.
  • Unterbrechungsregister
  • 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ückstell zustand: $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.
  • Portdatenregister
  • Alle QADC-Pins, die nicht zum Anschließen der 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 Eingangsdaten verwendet werden kann.
  • Portdatenrichtungsregister
  • Das mit einem digitalen E/A-Port assozuerte 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ückstell zustand: $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.
  • Steuerregister 0
  • 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 eine der CCW-Schlangen. Einige der Steuerfelder dieses Wortes 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 auf 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 auf 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 IST1-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 liegt zwischen dem IMB-Systemtakt (Iclock-Signal) und dem internen Takt Tadcck des QADC-Moduls. Der Vorteiler muß durch Hostsystemsoftware programmiert werden, so daß sein Ausgang 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 die Symmetrie sicherzustellen, multipliziert die Systemtaktperiode mit einem Wert von 2 bis 30 in geraden Ganzzahlschritten, wie in der folgenden Tabelle gezeigt:
  • Betriebstaktzeit
  • 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
  • Steuerregister 1
  • 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 Kriterien zum Beginnen einer Umwandlungsfolge mit dem ersten CCW in der Schlange fest. 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, 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 dies 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
  • Steuerregister 2
  • 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ückstell zustand:
  • 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, 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, um 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.
  • Periodisches Zeitgeberintervall
  • 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 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 erneut bei ihrer obersten Stelle, nachdem die Schlange 1 fertig ist.
  • Statusregister
  • 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ügung 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ückgelöscht, wenn es zu null geschrieben wird und beim letzten Lesen eine eins war.
  • CCF2 - Umwandlung-Vollendet-Unterbrechungsflag 1 (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, erzeugt der QADC eine Unterbrechungsanforderung an die Host-CPU unter Verwendung der Stufe (INL2) im Unterbrechungsregister, der Priorität (IARB) im Modulkonfigurationsregister und der Vektornummer (INTV) im Unterbrechungsregister. Das Flag CCF2 wird auf null zurückgelöscht, 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, gibt der CWP das letzte CCW an, das vollendet wurde.
  • Umwandlungsbefehlswort
  • 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 alternative hohe und tiefe Referenzspannung VRH1 und VRL1 benutzt.
  • 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 eins gesetzt, um ein 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.
  • Ergebniswortformatoptionen
  • 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[0] - RESULT[9] 140-149 verbunden, und ihre Ausgänge sind jeweils mit Invertern 150"-159" verbunden. Die Eingänge der Obertragungsgatter 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 Obertragungsgatter 150-155 sind mit Erde verbunden.
  • Die Ausgänge der Inverter 150"-164" stellen DATA[0] bis DATA[9] 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 er ster 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.
  • Alternative Ausführungen
  • 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 des 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 Arten 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 mit Steuerinformation speichert, 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 Wort 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.
  • Hinsichtlich der Wahl der Eingangsabtastzeit 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 z.B. die Schlange niedrigerer Priorität bei ihrem Anfang neu zu starten, nachdem die Schlange höherer Priorität ihre Umwandlungsfolge vollendet hat, könnte 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. linksoder rechtsbündige Daten mit oder ohne Vorzeichen.
  • Außerdem könnten ein oder mehr Bits in jedem CCW benutzt werden, um die Abtastzeit zu bestimmen.

Claims (5)

1. Analog/Digital-Umwandlungssystem (Fig. 2), umfassend:
einen Adressenbus (31);
einen N-Bit Datenbus (33);
einen Analogeingangsanschluß (21, 22);
eine Abtast-Halte-Schaltung (40-42) mit einem mit dem Analogeingangsanschluß verbundenen Eingang und mit einem Ausgang;
eine Analog/Digital-Umwandlungsschaltung (52, 54, 56, 58) mit einem mit dem Ausgang der Abtast-Halte-Schaltung verbundenen Eingang und mit einem M-Bit Digitalausgang, wo M kleiner als N ist;
gekennzeichnet durch:
eine Schnittstellenschaltung (68, 70), die geschaltet ist, eine Adresse von dem Adressenbus zu empfangen, und geschaltet ist, Daten an den Datenbus zu liefern, wobei die Schnittstellenschaltung auch einen Eingang aufweist, der mit dem M-Bit Digitalausgang (67) des Analog/Digital-Umsetzers verbunden ist, wobei die Schnittstellenschaltung weiter umfaßt:
eine Datenformatschaltung (68), die geschaltet ist, wenigstens einen Teil der Adresse zu empfangen, wobei die Datenformatschaltung ein von dem Analog/Digital-Umsetzer empfangenes M-Bit Digitalsignal (65) abhängig von einem Wert des durch die Datenformatschaltung empfangenen Teils der Adresse entweder mit einem ersten Teil des N-Bit Datenbusses oder mit einem zweiten Teil des N-Bit Datenbusses verbindet.
2. Analog/Digital-Umwandlungssystem nach Anspruch 1, bei dem die Datenformatschaltung weiter umfaßt:
eine Einrichtung zum Verbinden des M-Bit Digitalausgangs mit niedrigstwertigen M Bits des N-Bit Datenbusses und
eine Einrichtung zum Verbinden des M-Bit Digitalausgangs mit höchstwertigen M Bits des N-Bit Datenbusses.
3. Analog/Digital-Umwandlungssystem nach Anspruch 2, bei dem die Datenformatschaltung weiter umfaßt:
eine Einrichtung zum Verbinden des M-Bit Digitalausgangs mit höchstwertigen M Bits des N-Bit Datenbusses und Invertieren eines höchstwertigen Bits des M-Bit Digitalausgangs.
4. Analog/Digital-Umwandlungssystem nach Anspruch 2, bei dem die Datenformatschaltung weiter umfaßt:
eine Einrichtung zum Verbinden des M-Bit Digitalausgangs mit niedrigstwertigen M Bits des N-Bit Datenbusses und Verbinden eines höchstwertigen Bits des M-Bit Digitalausgangs mit jedem der N minus M höchstwertigen Bits des N-Bit Datenbusses.
5. Analog/Digital-Umwandlungssystem nach Anspruch 2, bei dem die Datenformatschaltung weiter umfaßt:
eine Einrichtung zum Verbinden des M-Bit Digitalausgangs mit niedrigstwertigen M Bits des N-Bit Datenbusses und Verbinden eines höchstwertigen Bits des M-Bit Digitalausgangs mit einem höchstwertigen Bit des N-Bit Datenbusses.
DE69125674T 1990-09-04 1991-08-21 Automatische analog digital Convertierung mit auswählbaren Formatresultaten Expired - Fee Related DE69125674T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US57724790A 1990-09-04 1990-09-04

Publications (2)

Publication Number Publication Date
DE69125674D1 DE69125674D1 (de) 1997-05-22
DE69125674T2 true DE69125674T2 (de) 1997-10-23

Family

ID=24307904

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69125674T Expired - Fee Related DE69125674T2 (de) 1990-09-04 1991-08-21 Automatische analog digital Convertierung mit auswählbaren Formatresultaten

Country Status (6)

Country Link
US (1) US5293167A (de)
EP (1) EP0477534B1 (de)
JP (1) JP3188731B2 (de)
KR (1) KR0185591B1 (de)
DE (1) DE69125674T2 (de)
HK (1) HK1007223A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5483239A (en) * 1992-05-22 1996-01-09 Westinghouse Electric Corporation Direct memory access (DMA) sampler
JP2683489B2 (ja) * 1993-08-11 1997-11-26 インターナショナル・ビジネス・マシーンズ・コーポレイション データ転送制御装置
JPH07131349A (ja) * 1993-11-02 1995-05-19 Mitsubishi Electric Corp アナログ/デジタル変換器
JPH08154055A (ja) * 1994-11-25 1996-06-11 Oki Electric Ind Co Ltd アナログ/デジタル変換器
US5506777A (en) * 1994-12-23 1996-04-09 Ford Motor Company Electronic engine controller with automatic hardware initiated A/D conversion of critical engine control parameters
JP3565613B2 (ja) * 1995-03-20 2004-09-15 株式会社ルネサステクノロジ 半導体集積回路装置
JPH09297658A (ja) * 1996-05-08 1997-11-18 Mitsubishi Electric Corp A/d変換装置
US5914681A (en) * 1997-10-02 1999-06-22 Burr-Brown Corporation Fast wakeup biasing circuit for analog-to-digital converter
US6039765A (en) * 1997-12-15 2000-03-21 Motorola, Inc. Computer instruction which generates multiple results of different data types to improve software emulation
US6686957B1 (en) * 1999-03-31 2004-02-03 Cirrus Logic, Inc. Preview mode low resolution output system and method
US6426713B1 (en) * 2000-07-05 2002-07-30 Cirrus Logic, Inc. Independent control of calibration registers in a multi channel A-D converter
JP4599312B2 (ja) * 2006-02-02 2010-12-15 Okiセミコンダクタ株式会社 アナログ/ディジタル変換装置
KR20100138428A (ko) 2009-06-25 2010-12-31 삼성전자주식회사 정전기 방지 구조의 메모리 모듈 및 이를 포함하는 시스템
US10740267B1 (en) * 2019-07-03 2020-08-11 Stmicroelectronics International N.V. Digital interface circuit for analog-to-digital converter

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3821696A (en) * 1973-03-13 1974-06-28 Mobil Oil Downhole data generator for logging while drilling system
US4264898A (en) * 1978-02-27 1981-04-28 The Bendix Corporation Analog to digital converter for electronic engine control systems
JPS55159240A (en) * 1979-05-31 1980-12-11 Nissan Motor Co Ltd Collection and control unit of data for automobile
US4381498A (en) * 1981-07-06 1983-04-26 Gte Laboratories Incorporated Analog-to-digital converting apparatus
DE3470242D1 (en) * 1983-10-05 1988-05-05 Nippon Musical Instruments Mfg Data processing circuit for digital audio system
JPS60124125A (ja) * 1983-12-08 1985-07-03 Ishida Scales Mfg Co Ltd 多入力信号高速アナログ・デジタル変換回路
JPS60237527A (ja) * 1984-05-11 1985-11-26 Mitsubishi Electric Corp A−d変換装置
JPS6145297A (ja) * 1984-08-09 1986-03-05 カシオ計算機株式会社 電子楽器
US5055998A (en) * 1984-12-10 1991-10-08 Wang Laboratories, Inc. Intermediate spreadsheet structure
US4618848A (en) * 1984-12-14 1986-10-21 Texas Instruments Incorporated Analog to digital converter circuit
US4862168A (en) * 1987-03-19 1989-08-29 Beard Terry D Audio digital/analog encoding and decoding
US4903021A (en) * 1987-11-24 1990-02-20 Leibholz Stephen W Signal encoding/decoding employing quasi-random sampling
US4937575A (en) * 1988-10-18 1990-06-26 Honeywell Inc. Precision A/D converter utilizing a minimum of interface interconnections
US4933676A (en) * 1989-06-12 1990-06-12 Technology 80, Inc. Programmable multi-input A/D converter

Also Published As

Publication number Publication date
EP0477534B1 (de) 1997-04-16
JPH08106362A (ja) 1996-04-23
DE69125674D1 (de) 1997-05-22
KR920007360A (ko) 1992-04-28
EP0477534A1 (de) 1992-04-01
JP3188731B2 (ja) 2001-07-16
US5293167A (en) 1994-03-08
HK1007223A1 (en) 1999-04-01
KR0185591B1 (ko) 1999-04-15

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
US5168276A (en) Automatic A/D converter operation using a programmable control table
US5166685A (en) Automatic selection of external multiplexer channels by an A/D converter integrated circuit
DE69124905T2 (de) Datenverarbeitungsvorrichtung zur dynamischen Zeiteinstellung in einem dynamischen Speichersystem
DE69509134T2 (de) Doppelbankspeicher und systeme, die diesen benutzen
DE2953861C2 (de)
DE19847642C2 (de) PCI-PCI-Brücke
DE3752017T2 (de) Mikrorechner mit Zugriffsfähigkeit auf einen internen Speicher mit gewünschter variabler Zugriffszeit
WO2000005723A2 (de) Integrierte schaltung mit einer selbsttesteinrichtung zur durchführung eines selbsttests der integrierten schaltung
DE3303488A1 (de) Digitales signalverarbeitungssystem
WO1989000325A1 (en) Adaptation of a multifunctional monitor to a personal computer
DE3128740A1 (de) Dynamisches halbleiter-speichersystem
DE2855673A1 (de) Anordnung zur handhabung des direkten zugriffs auf den speicher einer datenverarbeitungsanlage
DE69029815T2 (de) Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung
DE102016100643B4 (de) Analog-Digital-Wandler-Schaltungen und Verfahren zum Betreiben derselben
DE3855314T2 (de) Dateneingangsschaltung mit Signalspeicherschaltung
DE3882425T2 (de) Datenübertragungssteuerungsvorrichtung für Direktspeicherzugriff.
DE102006009033B4 (de) Signal-Wandel-Vorrichtung, insbesondere Analog-Digital-Wandel-Vorrichtung, und Verfahren zum Betreiben einer Signal-Wandel-Vorrichtung
DE69126386T2 (de) Automatische Auswahl von externen Multiplexerkanälen durch A/D-Wandlerintegrationsschaltung
DE69132037T2 (de) Wandlungssteuerworte verwendendes Analog-Digitalwandlungssystem
EP0111161B1 (de) Vorrichtung zur Mikrobefehls-Bereitstellung für mindestens zwei unabhängig arbeitende Funktionseinheiten in einem integrierten, mikroprogrammierten elektronischen Baustein und Verfahren zu ihrem Betrieb
DE69130689T2 (de) Signalprozessor
EP0108415B1 (de) Integrierte mikroprogrammierte Vorrichtung zur Steuerung von Informationsverarbeitungsabläufen und Verfahren zu ihrem Betrieb
DE10229186B4 (de) Messdatenerfassungsschaltung und Verfahren zur Messdatenerfassung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee