DE3852928T2 - Datenprozessor mit A/D-Umsetzer, um mehrere analoge Eingabekanäle in Digitaldaten umzusetzen. - Google Patents

Datenprozessor mit A/D-Umsetzer, um mehrere analoge Eingabekanäle in Digitaldaten umzusetzen.

Info

Publication number
DE3852928T2
DE3852928T2 DE3852928T DE3852928T DE3852928T2 DE 3852928 T2 DE3852928 T2 DE 3852928T2 DE 3852928 T DE3852928 T DE 3852928T DE 3852928 T DE3852928 T DE 3852928T DE 3852928 T2 DE3852928 T2 DE 3852928T2
Authority
DE
Germany
Prior art keywords
data
analog input
program
analog
input signals
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
DE3852928T
Other languages
English (en)
Other versions
DE3852928D1 (de
Inventor
Satomi C O Nec Corpor Ishimoto
Osamu C O Nec Corpo Matsushima
Hajime C O Nec Corporat Sakuma
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.)
NEC Electronics Corp
Original Assignee
NEC Corp
Nippon Electric Co Ltd
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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Publication of DE3852928D1 publication Critical patent/DE3852928D1/de
Application granted granted Critical
Publication of DE3852928T2 publication Critical patent/DE3852928T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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

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)
  • Microcomputers (AREA)
  • Analogue/Digital Conversion (AREA)

Description

  • Die vorliegende Erfindung betrifft einen Datenprozessor und insbesondere einen Mikrocomputer, der einen Analog-Digital- Wandler (nachfolgend "A/D-Wandler" genannt) zur Umwandlung der Signale auf mehreren analogen Eingangskanälen in die entsprechenden Digitaldaten enthält.
  • Ein Mikrocomputer, der einen A/D-Wandler enthält, kann an einem ihm zugeführten Analogsignal eine Datenverarbeitungsoperation vornehmen und wird deshalb in verschiedenen Systemen in breitem Umfang eingesetzt. Wenn eine Datenverarbeitung des Analogsignals erfolgen soll, gibt die CPU (Zentralverarbeitungseinheit) im Mikrocomputer einen Konvertierungsbefehl an den A/D-Wandler, übernimmt dann das umgewandelte Digitaldatum und verarbeitet es in der geforderten Weise.
  • Nach der Übergabe des Konvertierungsbefehls an den A/D- Wandler besteht hinsichtlich der Arbeitsweise der CPU ein ernstes Problem. Die Zeit, die der A/D-Wandler für das Umwandeln des Analogsignals in ein Digitalsignal benötigt, ist erheblich länger als die Zeit, die von der CPU gebraucht wird, um einen Befehl auszuführen. Aus diesem Grund verringert ein erstes Steuerverfahren, bei welchem die nachfolgenden Verarbeitungsoperationen durch die CPU gestoppt werden bis das umgewandelte Digitaldatum aus dem A/D-Wandler vorliegt, den Wirkungsgrad der CPU beträchtlich. Um dieses Problem zu lösen, wird ein zweites Steuerverfahren eingesetzt, bei welchem die CPU nach der Übergabe des Konvertierungsbefehle an den A/D-Wandler mit der Bearbeitung der nachfolgenden Operationen fortfährt, und bei dem andererseits der A/D-Wandler ein Unterbrechungsanforderungssignal an die CPU schickt, wenn die Konvertierungsoperation beendet ist. Wenn ein Unterbrechungsanforderungssignal vorliegt, stellt die CPU die Operationen in der Hauptprogrammroutine ein und sichert die Inhalte des Programmzählers und des Statusregisters in einem Stackbereich des Datenspeichers, gefolgt vom Start einer Unterbrechungsprogrammroutine. Der Programmzähler wird zum Lesen des Eefehls aus dem Programmspeicher verwendet und das Statusregister speichert die Statusdaten, die den Bearbeitungszustand in der CPU kennzeichnen. In Übereinstimmung mit der Arbeit in der Unterbrechungsprogrammroutine liest die CPU das umgewandelte Datum aus dem A/D-Wandler und überträgt es in einen vorbestimmten Zielbereich des Datenspeichers. Wenn die Arbeit in der Unterbrechungsprogrammroutine beendet ist, führt die CPU die vorher gesicherten Inhalte wieder zum Programmzähler beziehungsweise zum Statusregister zurück und nimmt die Arbeit in der Hauptprogrammroutine wieder auf. Mit dem zweiten Steuerverfahren läßt sich also der Wirkungsgrad der CPU verbessern. Damit jedoch die CPU die Unterbrechungsprogrammroutine starten und später die unterbrochene Hauptprogrammroutine wieder aufnehmen kann, ist ein zusätzlicher Systemverwaltungsaufwand zur Speicherung der Inhalte des Programmzählers und des Statusregisters beziehungsweise zum Zurückführen der gesicherten Inhalte erforderlich. Aus diesem Grund schränkt dieses Steuerverfahren den Wirkungsgrad und die Verarbeitungsleistung der CPU ein.
  • Um die Nachteile des ersten und zweiten Steuerverfahrens zu überwinden, wurde deshalb in der EP-A-0 153 764, veröffentlicht am 4. September 1985, ein neues Steuerverfahren beschrieben. Dieses Steuerverfahren gestattet es, die durch die Beendigung der A/D-Wandlung auszulösende Operation, d.h. die Übertragung der umgewandelten Daten zum Zielbereich, ohne Eingriff in die Arbeit irgendeines Anwenderprogramms durchzuführen. Im Einzelnen ist der in der obigen Veröffentlichung beschriebene Nikrocomputer so aufgebaut, daß er zwei Arten von Unterbrechungsoperationen ausführen kann, wobei die erste von ihnen unter Verwendung eines Anwenderunterbrechungsprogramms ausgeführt wird und demzufolge die Inhalte des Programmzählers und des Statusregisters registriert werden müssen, während die zweite ohne Verwendung eines Anwenderunterbrechungsprogramms realisiert wird, wobei die Inhalte des Programmzählers und des Statusregisters erhalten bleiben. Wenn der A/D-Wandler eine Unterbrechungsanforderung abgibt, und damit eine Unterbrechungsoperation zweiter Art einleitet, stellt die CPU die momentane Programmbearbeitung ein, verbietet eine Änderung der Inhalte des Programmzählers und des Statusregisters und überträgt dann das umgewandelte Datum in den Zielbereich, ohne die Inhalte des Programmzählers und des Statusregisters zu sichern, wobei sie erhalten bleiben wie sie sind. Nachdem das umgewandelte Datum in den Zielbereich übertragen ist, gibt die CPU den Programmzähler und das Statusregister zur Fortsetzung der unterbrochenen Programmoperation wieder frei. Die Unterbrechungsoperation zweiter Art wird auch "Makroserviceoperation" genannt. Bei der Makroserviceoperation ist der oben erwähnte zusätzliche Systemverwaltungsaufwand nicht erforderlich, so daß sich Wirkungsgrad und Verarbeitungsleistung der CPU wesentlich erhöhen.
  • Die obige Veröffentlichung beschreibt jedoch nur die Makroserviceoperation für einen einzigen analogen Eingangskanal. Einige Systeme müssen jedoch die Signale aus einer Vielzahl von analogen Eingangskanälen verarbeiten, und um eine gewünschte Operation durchzuführen, erhalten zwei oder mehrere Kanäle von ihnen gleichzeitig eine Umwandlungsanforderung.
  • Deshalb ist es eine Aufgabe der vorliegenden Erfindung, einen Mikrocomputer zu schaffen, der eine Makroserviceoperation für eine Vielzahl von analogen Eingangskanälen durchführen kann.
  • Eine weitere Aufgabe der vorliegenden Erf indung besteht darin, einen Datenprozessor zu schaffen, welcher die umgewandelten Daten von mehreren analogen Eingangskanälen zu den entsprechenden Zielbereichen in einem Datenspeicher übertragen kann, ohne in die Bearbeitung irgendeines Anwenderprogramms einzugreifen.
  • Eine andere Aufgabe der vorliegenden Erfindung besteht darin, einen verbesserten Datenprozessor, mit A/D-Wandler für eine Vielzahl von analogen Eingangssignalen zu schaffen.
  • Der Datenprozessor entsprechend der vorliegenden Erfindung ist im Patentanspruch 1 gekennzeichnet.
  • Die A/D-Wandlung kann damit gleichzeitig für eine Vielzahl von analogen Eingangssignalen festgelegt und reserviert werden, und die A/D-Wandlung der jeweilig festgelegten analogen Eingangssignale und die Übertragung der entsprechenden umgewandelten Daten kann durch die Makroserviceoperation in sequentieller Weise erfolgen, ohne Eingriff in irgendein Anwenderprogramm und ohne jeden zusätzlichen Systemverwaltungsaufwand.
  • Die obigen und weitere Aufgaben, Vorteile und Merkmale der vorliegenden Erfindung sollen durch die folgende Beschreibung deutlicher werden, die in Verbindung mit den beiliegenden Zeichnungen erfolgt, von denen:
  • Fig. 1 das Blockschaltbild eines Ausführungsbeispiels der vorliegenden Erfindung zeigt;
  • Fig. 2 ein Blockschaltbild für den in Fig. 1 gezeigten A/D- Wandler zeigt;
  • Fig. 3 ein Flußdiagramm zeigt, das die Makroserviceoperation beschreibt, die von dem in Fig. 1 gezeigten Mikrocomputer durchgeführt wird;
  • Fig. 4 das Blockschaltbild eines weiteren Ausführungsbeispiels der vorliegenden Erfindung darstellt;
  • Fig. 5 ein Flußdiagramm zeigt, das eine Makroserviceoperation beschreibt, die von dem in Fig. 4 gezeigten Mikrocomputer durchgeführt wird; und
  • Fig. 6 eine Schaltung der in den Fign. 1 und 4 gezeigten Steuereinheit für die Arbeit mit den umgewandelten Daten darstellt.
  • In Fig. 1 enthält der Mikrocomputer 1000 entsprechend einem Ausführungsbeispiel der vorliegenden Erfindung eine CPU (Zentralverarbeitungseinheit) 100. Das von der CPU 100 auszuführende Programm ist im Programmspeicher 200 gespeichert. Dieses Programm enthält eine Mauptroutine und eine oder mehrere Unterbrechungsroutinen und wird vom Anwender des Mikrocomputers 1000 aufgestellt. Die CPU 100 enthält einen Programmzähler (PC) 101, der die Adresse für den vom Programm auszuführenden Befehl im Programmspeicher 200 angibt, ein Befehlsregister (IR) 105, in das der aus dem Programmspeicher 200 gelesene Befehl geladen wird, einen Befehlsdekoder (ID) 106, der den Befehl aus dem IR 105 dekodiert und verschiedene Steuersignale erzeugt, eine Ausführungssteuereinheit 107, die auf Grund der Steuersignale vom ID 106 die Gesamtfunktion des Mikrocomputers 1000 steuert, ein Rechenwerk (ALU) 103, das die arithmetische und/oder logische Operation ausführt, ein Statusregister (PSW) 104, das die Information über den Bearbeitungsstand der CPU 100 speichert, und einen Registersatz 10 zur allgemeinen Verwendung, die allesamt über einen Adressen/Datenbus 600 miteinander verbunden sind. Die Ausführungsteuereinheit 107 enthält einen Mikro-ROM (Read Only Memory = Nur-Lese-Speicher) 1071 und einen Pointer 1072, der auf eine Adresse im Mikro-ROM 1071 zeigt. In dem Mikro-ROM 1071 ist ein Mikroprogramm gespeichert, das aus einer Folge von Mikrobefehlen für eine Makroserviceoperation besteht, die später noch ausführlich beschrieben wird. Der Datenspeicher 300, der A/D-Wandler 400 und die Operationssteuereinheit 500 für die umgewandelten Daten sind ebenfalls an Adressen/Datenbus 600 angeschlossen.
  • Der A/D-Wandler 400 enthält eine Startmarke 401, ein Ergebnisregister (CRR) 402 sowie ein Auswahldatenregister (ASR) 403 und beginnt mit der A/D-Wandlung, wenn die Startmarke 401 gesetzt ist. Der A/D-Wandler 400 besitzt acht analoge Eingangskanäle 400-1 bis 400-8, von denen einer in Reaktion auf die im ASR 403 gespeicherten Auswahldaten ausgewählt wird. Die umgewandelten Digitaldaten des ausgewählten analogen Eingangssignals werden im CRR 402 gespeichert. Wenn die A/D-Wandlung beendet ist, erzeugt der A/D-Wandler 400 ein Endesignal 400-9, das der Operationsteuerung 500 für die umgewandelten Daten zugeführt wird. Bei diesem Ausführungsbeispiel hängt die Auswahl eines der analogen Eingangssignale 400-1 bis 400-8 entsprechend der folgenden Tabelle mit den Auswahldaten im ASR 403 zusammen: Tabelle Auswahldaten im ASR 403 ausgewähltes analoges Eingangssignal
  • Wenn auch verschiedene Typen von A/D-Wandlern vorgeschlagen und in der Praxis eingesetzt wurden, ist in Fig. 2 als Beispiel ein A/D-Wandler mit sequentiellem Vergleich gezeigt. Ein A/D-Wandler 400 dieses Typs enthält einen Kanalwähler 404, eine Abtast- und Halteschaltung 405, einen Komparator 406, einen Vergleichsspannungsgenerator 407, ein sequentielles Vergleichsregister 408 und eine Steuereinheit 410, wie aus dem Stand der Technik bekannt. Die Steuereinheit 410 beginnt mit der A/D-Wandlung, sobald die Startmarke 401 gesetzt ist, und erzeugt das Endesignal 400-9, wenn das umgewandelte Digitaldatum im CRR 402 abgespeichert ist. Eine weitere ausführliche Beschreibung des A/D-Wandlers dieses Typs kann entfallen, da die Wirkungsweise der Schaltung in der Technik allgemein bekannt ist.
  • Kehren wir zurück zur Fig. 1, in der das Endesignal 400-9 an die Operationsanforderungseinheit 501 der Steuereinheit 500 übergeben wird. Zu dieser Einheit 501 gehört eine Modusmarke 502, die anzeigt, ob mit den umgewandelten Digitaldaten eine Makroserviceoperation oder eine Unterbrechungsoperation erfolgen soll, sowie ein Kanalpointeradressenregister (ACPTR) 503, das die Adresse des Kanalpointers (CPTR) 302 speichert, wie später beschrieben wird. In Reaktion auf das Endesignal 400-9 führt die Operationsanforderungseinheit 501 der Anforderungsempfangseinheit 504 ein Operationsanforderungssignal 500-1 und ein Operationsmoduskennzeichnungssignal 500-2 zu. Soll eine Makroserviceoperation durchgeführt werden, wird die Modusmarke 502 auf "1" gesetzt, und das Moduskennzeichnungssignal 500-2 erhält High-Pegel (logisch 1). Im Falle einer Unterbrechungsoperation wird andererseits die Modusmarke 502 zurückgesetzt, das heißt eine "0" eingespeichert, und das Signal 500-2 nimmt Low-Pegel an (logisch 0). Da auf die Modusmarke 502 zugegriffen werden kann, kann der Anwender die Betriebsart festlegen, ob also eine Makroserviceoperation oder eine Unterbrechungsoperation erfolgen soll. Die Anforderungsempfangseinheit 504 übergibt nach Eintreffen des Anforderungssignals 500-1 den Pegel des Moduskennzeichnungssignals 500- 2. Hat das Signal 500-2 High-Pegel, überträgt die Einheit 504 den im Register 505 gespeicherten Makroservicecode über den Operationsanforderungsbus 507 zum Befehlsregister (IR) 105. Liegt dagegen das Signal 500-2 auf Low-Pegel, wird der im Register 506 gespeicherte Unterbrechungscode über den Bus 507 zum IR 105 übertragen. Der Unterbrechungscode enthält eine Vektoradresse für die im Programmspeicher 200 gespeicherte Unterbrechungsprogrammroutine. Die Register 503, 505 und 506 sind vor einem Zugriff durch den Anwender geschützt.
  • Der Datenspeicher 300 enthält einen Stackbereich 301, in welchem bei einer Unterbrechungsanforderung die Inhalte des PC 101, des PSW 104 und des Registersatzes 102 gesichert werden, acht Zielbereiche (DST1 bis DST8) 304 bis 311 für die umgewandelten Digitaldaten der analogen Eingangssignale 400-1 bis 400-8, ein Umwandlungskanalregister (ACR) 303, das die Bits zur Kennzeichnung eines oder mehrerer umzuwandelnder anloger Eingangssignale enthält, und einen Kanalpointer (CPTR) 302, in dem die Adresse des ACR 303 gespeichert ist. Das ACR 303 ist ein 8-Bit-Register, und seine Bits entsprechen den jeweiligen analogen Eingangssignalen 400-1 bis 400-8. Wenn also zum Beispiel die A/D-Wandlung des ersten, fünften und siebten analogen Eingangssignals 400-1, 400-5 und 400-7 angefordert wird, wird im ACR 303 das Datum "10001010" eingestellt. Bei diesem Ausführungsbeispiel kann die Adresse des ACR 303 vom Anwender gewählt werden, dem ACR 303 und den Zielbereichen 304 bis 311 werden jedoch aufeinanderfolgende Adressen zugeteilt. Die Adresse des CPTR 302 ist fest.
  • Als nächstes folgt die Beschreibung der Wirkungsweise des Mikrocomputers 100. Die Befehle des im Speicher 200 gespeicherten Programms werden ausgelesen und unter Verwendung des PC 101 von der CPU 100 sequentiell abgearbeitet. Durch Ausführung eines Befehls zur Speicherung von Daten in das ACR 303 und eines Befehls zur Speicherung von Daten in das CPTR 302 wird in das ACR 303 das Kanalkennzeichnungsdatum eingeschrieben, bei dem das Bit oder die Bits, die dem umzuwandelnden analogen Eingangssignal oder den umzuwandelnden analogen Eingangssignalen entsprechen, auf "1" gesetzt sind, und im CPTR 302 wird die Adresse des ACR 303 abgelegt. Zum Kennzeichnen einer Makroserviceoperation wird die Modusmarke 502 durch einen Befehl aus dem Speicher 200 auf "1 gesetzt. Sobald aus dem Speicher 200 ein Befehl zum Setzen der Startmarke 401, d.h. ein Umwandlungsstartbefehl ausgelesen und von der CPU 100 ausgeführt wird, wird im ASR 403 auf Grund des Kanalkennzeichnungsdatums im ACR 303 das Auswahldatum gespeichert, und es wird die Startmarke 401 gesetzt. Bei diesem Ausführungsbeispiel wurde für die Priorität zur Umwandlung des ersten bis achten analogen Eingangssignals 400-1 bis 400-8 diese Reihenfolge festgelegt. Angenommen, im ACR 303 steht das Kanalkennzeichnungsdatum "10001010", dann wird das Auswahldatum "000" für die Auswahl des ersten analogen Eingangssignals 400-1 in das ASR 403 eingeschrieben. Der A/D-Wandler 400 wählt also das erste analoge Eingangssignal 400-1 aus und beginnt die A/D- Umwandlungsoperation. Während der Umwandlungsoperation durch den A/D-Wandler ist der Zugriff auf den Programmspeicher 200 erlaubt. Demzufolge kann die CPU 100 parallel zur Arbeit des A/D-Wandlers 400 die nächsten Befehle ausführen
  • Wenn die Umwandlung des ersten analogen Eingangssignals 400-1 abgeschlossen ist, liefert der A/D-Wandler 400 ein Endesignal 400-9 und führt es der Operationsanforderungseinheit 501 zu. Das umgewandelte Digitaldatum wird im CRR 402 gespeichert. Die Einheit 501 erzeugt dadurch ein Anforderungssignal 500-1, während das Moduskennzeichnungssignal 500-2 auf High-Pegel liegt, da die Modusmarke 502 gesetzt wurde. Daraufhin überträgt die Anforderungsempfangseinheit 504 den Makroservicecode aus dem Register 505 über den Bus 507 zum IR 105 und legt ihn dort ab. Der Makroservicecode wird vom ID 106 dekodiert und der Ausführungssteuereinheit 107 zugeführt. Im Ergebnis erzeugt die Ausführungssteuereinheit 107 das Haltesignal 107-1 und führt es dem PC 101, dem PSW 104 und dem Registersatz 102 zu, um eine Änderung ihrer Inhalte zu verhindern und ihre momentanen Inhalte so zu erhalten wie sie sind. Ferner wird der Pointer 1072 mit der Startadresse des Mikroprogramms für die Makroserviceoperation geladen, das im Mikro-ROM 1071 gespeichert ist, so daß die Ausführung der Makroserviceoperation beginnt. Die CPU stellt also die Programmabarbeitung ein und führt dann die Makroserviceoperation durch, ohne daß die Inhalte des PC 101, des PSW 104 und des Registersatzes 102 gesichert werden, wobei deren momentane Inhalte erhalten bleiben wie sie sind.
  • Die Makroserviceoperation läuft in Übereinstimmung mit dem in Fig. 3 gezeigten Flußdiagramm ab. Da die Adresse des CPTR 302 im ACPTR 503 der Operationsanforderungseinheit 501 gespeichert ist, greift die Ausführungssteuereinheit 107 unter Benutzung der im ACPTR 503 gespeicherten Adresse auf das CPTR 302 zu und liest seinen Inhalt (Schritt 30). Der Inhalt des CPTR 302 bezeichnet die Adresse des ACR 303, und den Zielbereichen 304 bis 311 werden jeweils aufeinanderfolgende Adressen zugeteilt, beginnend von der Adresse, die der Adresse des ACR 303 am nächsten liegt. Das heißt, die Adresse des Zielbereiches, in den die umgewandelten Digitaldaten übertragen werden, ergibt sich durch Addition des Inhalts des ASR 403 plus 1 zur Adresse des ACR 303. Die Ausführungseinheit 107 addiert deshalb mit Hilfe der ALU 103 den Inhalt des ASR 403 plus 1 zum Inhalt des CPTR 302 (Schritt 31). Da der Inhalt des ASR 403 "000" beträgt, entspricht das Additionsergebnis der Adresse des ersten Zielbereiches (DST1) 304. Die Ausführungssteuereinheit 107 greift unter Verwendung des Additionsergebnisses auf den Bereich 304 zu, um die umgewandelten Digitaldaten des ersten analogen Eingangssignals 400-1 aus dem CRR 402 zum ersten Zielbereich 304 zu übertragen (Schritt 32). Danach greift die Ausführungssteuereinheit 107 unter Verwendung des Inhalts des ACPTR 503 wieder auf das CPTR 302 (Schritt 33) und dann unter Verwendung des Inhalts des CPTR 302 auf das ACR 303 zu (Schritt 34). Da die umgewandelten Digitaldaten bereits zum zugehörigen Zielregister übertragen wurden, setzt die Ausführungssteuereinheit 107 das Bit des Kanalkennzeichnungsdatums im ACR 303, dessen Bitposition dem Inhalt des ASR 403 entspricht, zurück (Schritt 35). Das Kanalkennzeichnungsdatum ändert sich dadurch in "00001010". Die Ausführungssteuereinheit 107 untersucht danach unter Verwendung der ALU 103 den Inhalt des ACR 303 ab seinem niederwertigsten Bit (LSB) (Schritt 36) und prüft, ob ein weiteres Bit im Kanalkennzeichnungsdatum auf "1" gesetzt ist oder nicht (Schritt 37) . Da das fünfte Bit auf "1" gesetzt ist, wird von der Einheit 107 deshalb sein Positionswert "100" als neues Auswahldatum in das ASR 303 eingeschrieben (Schritt 38). Der A/D-Wandler wird dadurch iniüs tialisiert und und startet daraufhin die A/D-Wandlung für das fünfte analoge Eingangssignal 400-5. Andererseits wird ein Zugriffsfreigabekommando für den Programmspeicher 200 erzeugt (Schritt 40), so daß das Haltesignal 107-1 aufgehoben wird. Damit wird es möglich, die Inhalte des PC 101, des PSW 104 und des Registersatzes 102 zu verändern, und die CPU 100 beginnt wieder, Befehle aus dem Programmspeicher 200 auszulesen und auszuführen. Die durch das Endesignal 400-9 eingeleitete Makroserviceoperation ist somit abgeschlossen und die CPU nimmt die unterbrochene Programmabarbeitung wieder auf.
  • Wenn die A/D-Wandlung des fünften analogen Eingangssignals 400-5 beendet ist, wird wiederum das Signal 400-9 generiert. In Reaktion darauf unterbricht die CPU 100 die Programmabarbeitung, wobei die Inhalte des PC 101, des PSW 104 und des Registersatzes 102 erhalten bleiben, wie sie sind, und führt dann die Makroserviceoperation aus. Das umgewandelten Digitaldatum des fünften analogen Eingangssignals 400-5 wird dabei in den fünften Zielbereich (DST5) 308 übertragen. Dann wird die A/D-Wandlung des siebten analogen Eingangssignals 400-7 gestartet, und die CPU 100 nimmt die Bearbeitung des unterbrochenen Programms wieder auf.
  • Während der Makroserviceoperation für die umgewandelten Digitaldaten des siebten analogen Eingangssignals 400-7 wird das Kanalkennzeichnungsdatum im ACR 303 bei der Realisierung des Schrittes 35 komplett auf "0" gesetzt, so daß im Schritt 37 festgestellt wird, daß der gesamte Inhalt des ACR 303 "0" ist. Die Ausführungssteuereinheit 107 löscht daraufhin die Startmarke 401 im A/D-Wandler 400 und versetzt damit den A/D-Wandler 400 in den Standbyzustand.
  • Mit Hilfe der Makroserviceoperation läuft also automatisch, allein durch das Setzen der Startmarke 401 im eingeschalteten Zustand der Modusmarke 502, die Übertragung der umgewandelten Digitaldaten in den entsprechenden Zielbereich und die A/D-Wandlung des verbleibenden analogen Eingangssignalsoder der verbleibenden analogen Eingangssignale ab. Der Anwender braucht folglich kein Unterbrechungsbearbeitungsprogramm für diese Operationen aufzustellen, und darüberhinaus ist kein zusätzlicher Systemverwaltungsaufwand für das Starten und Beenden eines Unterbrechungsbearbeitungsprogramm erforderlich.
  • Durch Prüfung des Inhalts des ACR läßt sich festgestellen, welches der gekennzeichneten analogen Eingangssignale schon umgewandelt wurde und ob bereits alle gekennzeichneten analogen Eingangssignale umgewandelt wurden oder nicht. Da außerdem die CPU 100 parallel zur Umwandlungsoperation im A/D-Wandler 400 das Programm abarbeitet, kann ein umzuwandelnder Analogeingang beliebig korrigiert, geändert, hinzugefügt oder zurückgestellt werden. All diese Operationen können in der Hauptprogrammroutine erfolgen, so daß keine Unterbrechungsprogrammroutine erforderlich ist.
  • Wenn andererseits das Endesignal 400-9 bei rückgesetzter Modusmarke 502 auftritt, bildet die Operationsanforderungseinheit 501 das Anforderungssiganl 500-1, während das Moduskennzeichnungssignal 500-2 auf Low-Pegel liegt. Die Anforderungsempfangseinheit 504 schickt folglich den Unterbrechungscode 506 zum IR 105 ein. In Reaktion darauf sichert die Ausführungssteuereinheit 107 die Inhalte des PC 101, des PSW 104 und des Registersatzes 102 im Stackbereich 301 des Datenspeichers 300 und lädt dann die Vektoradresse für die Unterbrechungsprogrammroutine in den PC 101. Die CPU 100 blockiert damit die Unterbrechung in Übereinstimmung mit der Unterbrechungsprogrammroutine. Wenn die Unterbrechungsoperation beendet ist, werden die gesicherten Inhalte aus dem Stackbereich 301 zum PC 101, zum PSW 104 bzw. zum Registersatz 102 zurückgeführt, und die unterbrochene Hauptprogrammroutine wird wieder gestartet.
  • In Fig. 4 wird ein Mikrocomputer 1000' entsprechend einem weiteren Ausführungsbeispiel der vorliegenden Erfindung gezeigt, bei dem dieselben Bestandteile wie die in Fig. 1 gezeigten mit denselben Bezugszahlen bezeichnet sind, so daß sich ihre weitere Beschreibung erübrigt. Bei diesem Ausführungsbeispiel existiert auf einer Adresse, die der Adresse des ACR 300 zunächst gelegen ist, ein Speicherpointer (MPTR) 320, in dem die Adresse des ersten Zielbereiches (DST1) 304 gespeichert ist. Dadurch kann die Adresse der Zielbereiche 304 bis 311 unabhängig von der Adresse des ACR 303 festgelegt werden. Die Makroserviceoperation in diesem Mikrocomputer 1000' ist im Grunde die gleiche wie die in Fig. 3 gezeigte, infolge der Existenz des MPTR 320 werden jedoch anstelle des Schrittes 31 nach Fig. 3 die Schritte 31-1, 31-2 und 31-3 ausgeführt, wie in Fig. 5 gezeigt wird. Im Einzelnen wird im Schritt 31-1 der Inhalt des CPTR 302 mit Hilfe der ALU 103 um eins erhöht. Da das Ergebnis dieser Erhöhung die Adresse des MPTR 320 darstellt, wird unter Verwendung dieses Ergebnisses auf das MPTR 320 zugegriffen (Schritt 31-2), und der Inhalt des MPTR 320 wird mit Hilfe der ALU 103 zum Inhalt des ASR 403 addiert (Schritt 31-3) Das Ergebnis der Addition stellt die Adresse des Zielbereiches dar, in den die umgewandelten Digitaldaten übertragen werden. Danach werden die Schritte 32 bis 40 in derselben Weise wie in Fig. 3 ausgeführt. Das MPTR 320 kann zwei oder mehr Bytes aufnehmen, so daß die Zielbereiche 304 bis 311 beliebigen Adressen des Datenspeichers 300 zugeordnet werden können.
  • Fig. 6 zeigt den Schaltungsaufbau für ein Beispiel der in den Fign. 1 und 4 dargestellten Steuereinheit für die Behandlung der umgewandelten Daten 500, bei der das ACPTR 503 weggelassen wurde, um die Zeichnung nicht zu komplizieren. Wenn das Umwandlungsendesignal 400-9 eintrifft, wird das Flip-Flop (nachfolgend "F/F" genannt) 510 gesetzt, und sein Q-Ausgangssignal wird als Operationsanforderungssteuersignal 500-10 der Ausführungssteuereinheit 107 zugeführt. Die Ausführungssteuereinheit 107 liefert nach Aktivierung des laufenden Befehls das Bestätigungssignal 107-2, so daß der F/F 513 über das AND-Gate 511 eingestellt wird. Das Q- Ausgangssignal des F/F 513 dient als Operationsanforderungssignal 500-1. Vom Detektor 512 wird die Vorderflanke dieses Signals erfaßt und der F/F 510 damit zurückgesetzt. Der F/F 510 wartet somit auf das nächste Umwandlungsendesignal 400-9. Andererseits aktiviert das Signal 500-1 den Dreizustandspuffer 514, so daß der Inhalt der Modusmarke 502 an seinem Ausgang erscheint. Das Signal 500-1 wird ferner den AND-Gates 515 und 518 zugeführt. Am AND-Gate 515 liegt weiterhin der Inhalt der Modusmarke 502 an, während das AND-Gate 518 den vom Inverter 517 negierten Inhalt der Modusmarke 502 erhält. Dementsprechend wird das AND-Gate 515 geöffnet, wenn die Modusmarke 502 gesetzt ist, wohingegen das AND-Gate 518 durch den Rücksetzzustand der Modusmarke 502 geöffnet wird. In Reaktion auf das Operationscodeanforderungssignal 107-3 von der Ausführungssteuereinheit 107 wird also eines der Übertragungsgates 516 oder 519 geöffnet, so daß entweder der Makroserviceoperationcode 505 oder der Unterbrechungsoperationscode 506 auf den Bus 507 gelegt wird. Wenn die Makroserviceoperation oder die Unterbrechungsoperation beendet ist, liefert die Ausführungssteuereinheit 107 das Operationsendesignal 107-2, um den F/F 513 zurückzusetzen. Dadurch werden der Puffer 514 und die Übertragungs-Gates 516 und 519 geschlossenen.
  • Wie oben beschrieben wird, kann der Datenprozessor oder der Mikrocomputer entsprechend der vorliegenden Erfindung in Reaktion auf das A/D-Umwandlungsendsignal wahlweise eine Softwareunterbrechungsoperationen oder eine Makroserviceoperation durchführen und außerdem ist die Makroserviceoperation für eine Vielzahl von analogen Eingangssignalen möglich.
  • Die vorliegende Erfindung ist nicht auf die obigen Ausführungsbeispiele beschränkt, sondern kann verändert und modifiziert werden, ohne vom Umfang und vom Wesen der Erfindung abzuweichen. Zum Beispiel kann der A/D-Wandler 400 so aufgebaut werden, daß die Startmarke 401 durch das Umwandlungsendesignal 400-9 zurückgesetzt wird, und in diesem Fall wird nach Schritt 38 in Fig. 3 ein Schritt zum Setzen der Startmarke eingefügt, so daß Schritt 39 entfallen kann. Außerdem können der Programmspeicher 200 und der Datenspeicher 300 als ein einziger Speicher realisiert werden. Die Anforderungsempfangseinheit 504 kann den Makroserviceoperationcode oder den Unterbrechungsoperationscode anstatt über den Bus 507 auch über den Adressen/Datenbus 600 zum IR 105 schicken.

Claims (4)

1. Datenprozessor mit einem Programmspeicher (200), der ein Programm speichert, einer zentralen Prozessoreinheit (100), die einen Programmzähler (101) enthält, der die Adresse des Programmspeichers enthält, der eine auszuführende Instruktion speichert und einem Statusregister (104), das temporär Information speichert, die repräsentativ ist für den Exekutionsstatus der zentralen Prozessoreinheit und das das Programm durchführt durch Benutzung des Programmzählers und des Statusregisters, einem Analog-Digital-Konverter (400) der mit einer Vielzahl von analogen Eingangssignalen (400-1 bis 400-8) versorgt wird und eine erste Speichervorrichtung (403) enthält, die temporär Daten speichert zum Auswählen eines der analogen Eingangssignale, wobei der Analog-Digital-Konverter eines der analogen Eingangssignale auswählt in Antwort auf die Daten, die in der ersten Speichervorrichtung gespeichert sind, die ausgewählten analogen Eingangssignale konvertiert in digitale Daten und ein Vollendungssignal (400-9) erzeugt, das die Vollendung der Analog-Digital-Konversion bedeutet, und einer Vorrichtung (500), die in Antwort auf das Vollendungssignal eine Makro- Service-Operations-Anfrage (507) zur zentralen Prozessoreinheit zuführt, wobei die zentrale Prozessoreinheit ferner aufweist eine Ausführungsvorrichtung, die in Antwort auf die Makroservice-Operations-Anfrage die Durchführung des Programmes unterbricht und die Makroservice-Operation durchführt, wobei die Makroservice-Operation durchgeführt wird ohne Speicherung der Inhalte des Programmzählers und des Statusregisters und mit Beibehaltung deren Inhalte wie sie sind, wobei die Ausführungsvorrichtung zum Ausführen der Makroservice-Operation eine Vorrichtung (30-32) enthält zum übertragen der digitalen Daten zu einem vorbestimmten Zielfeld (304-311) und eine Vorrichtung (40) zum Neustarten der Inhaltsänderung des Programmzählers und des Statusregisters, um der zentralen Prozessoreinheit zu ermöglichen, die unterbrochene Operation des Programms wiederauf zunehmen, nachdem das digitale Datum zum vorbestimmten Zielfeld übertragen wurde, dadurch gekennzeichnet, daß der Datenprozessor ferner aufweist eine zweite Speichervorrichtung (303) zum temporären Speichern von Zieldaten zum Bestimmen eines oder mehrere Analog-Eingangssignale für die Konversion und daß die Exekutionsvorrichtung zum Durchführen der Makroservice-Operation ferner eine Vorrichtung 33 bis 37 enthält zum Detektieren des Zieldatums, das in der zweiten Speichervorrichtung gespeichert ist, um entsprechend neue Selektionsdaten zu produzieren, zum Auswählen eines analogen Eingangssignals, das als nächstes konvertiert werden soll, und eine Vorrichtung (38) zum Setzen des neuen Selektionsdatums in der ersten Speichervorrichtung, so daß der Analog-Digital-Konverter den Konversionsbetrieb startet auf das analoge Eingangssignal, das durch das neue Selektionsdatum ausgewählt wurde.
2. Datenprozessor nach Anspruch 1, dadurch gekennzeichnet, daß die Zieldaten, die in der zweiten Speichervorrichtung (403) gespeichert sind, aus einer Vielzahl von Bits besteht, die jeweils den entsprechenden des analogen Eingangssignals entsprechen, und daß die Detektorvorrichtung eine Vorrichtung (35) enthält zum Rücksetzen des Bits des Zieldatums, welches dem konvertierten, analogen Eingangssignal entspricht, und eine Vorrichtung (36, 37) zum Beurteilen, ob ein weiteres Bit, das den gesetzten Zustand annimmt, im Zieldatum vorliegt, oder nicht.
3. Datenprozessor nach Anspruch 2, dadurch gekennzeichnet, daß die Durchführungsvorrichtung (39) zum Durchführen der Makroservice-Operation ferner eine Vorrichtung enthält zum überführen des Analog-Digital-Konverters in einen Wartezustand, wenn alle Bits des Zieldatums in rückgesetztem Zustand sind.
4. Datenprozessor nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, daß das vorbestimmte Zielfeld eine Vielzahl von Speicherfeldern (304 - 311) enthält, die jeweils vorgesehen sind, um die digitalen Daten des zugehörigen der analogen Eingangssignale zu speichern.
DE3852928T 1987-11-27 1988-11-28 Datenprozessor mit A/D-Umsetzer, um mehrere analoge Eingabekanäle in Digitaldaten umzusetzen. Expired - Fee Related DE3852928T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30061487 1987-11-27

Publications (2)

Publication Number Publication Date
DE3852928D1 DE3852928D1 (de) 1995-03-16
DE3852928T2 true DE3852928T2 (de) 1995-10-05

Family

ID=17886975

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3852928T Expired - Fee Related DE3852928T2 (de) 1987-11-27 1988-11-28 Datenprozessor mit A/D-Umsetzer, um mehrere analoge Eingabekanäle in Digitaldaten umzusetzen.

Country Status (3)

Country Link
US (1) US4996639A (de)
EP (1) EP0318055B1 (de)
DE (1) DE3852928T2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6839014B2 (en) 2001-06-27 2005-01-04 Renesas Technology Corp. One-chip microcomputer with analog-to-digital converter

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0212432A (ja) * 1988-06-30 1990-01-17 Nec Corp データ処理装置
US5126944A (en) * 1988-11-17 1992-06-30 Nec Corporation Data processing apparatus for producing in sequence pulses having variable width at output ports
DE4015853C2 (de) * 1990-05-17 1999-04-01 Ako Werke Gmbh & Co Eingangsschaltung eines Mikrorechners
JP3288694B2 (ja) * 1990-06-11 2002-06-04 沖電気工業株式会社 マイクロコンピュータ
JP3323009B2 (ja) * 1994-09-29 2002-09-09 日本電気株式会社 データ処理装置
US5613163A (en) * 1994-11-18 1997-03-18 International Business Machines Corporation Method and system for predefined suspension and resumption control over I/O programs
JPH11503258A (ja) * 1995-09-19 1999-03-23 マイクロチップ テクノロジー インコーポレイテッド ディジタル的にプログラム可能な閾値を有するマイクロコントローラ起立機能
US6594691B1 (en) * 1999-10-28 2003-07-15 Surfnet Media Group, Inc. Method and system for adding function to a web page
US7324496B1 (en) 2002-05-01 2008-01-29 Nxp B.V. Highly integrated radio-frequency apparatus and associated methods
US8478921B2 (en) * 2004-03-31 2013-07-02 Silicon Laboratories, Inc. Communication apparatus implementing time domain isolation with restricted bus access
US8884791B2 (en) * 2004-06-29 2014-11-11 St-Ericsson Sa Keypad scanning with radio event isolation
US7248848B2 (en) * 2004-06-30 2007-07-24 Matthews Phillip M Communication apparatus including dual timer units
US7761056B2 (en) * 2004-07-23 2010-07-20 St-Ericsson Sa Method of controlling a processor for radio isolation using a timer
US20050008095A1 (en) * 2004-07-23 2005-01-13 Rush Frederick A. Apparatus using interrupts for controlling a processor for radio isolation and associated methods
US7433393B2 (en) 2004-07-23 2008-10-07 Nxp B.V. Apparatus for controlling a digital signal processor for radio isolation and associated methods
US8472990B2 (en) * 2004-07-23 2013-06-25 St Ericsson Sa Apparatus using interrupts for controlling a processor for radio isolation and associated method
US7567637B2 (en) 2004-09-30 2009-07-28 St-Ericsson Sa Wireless communication system and method with frequency burst acquisition feature using autocorrelation and narrowband interference detection
US7593482B2 (en) * 2004-09-30 2009-09-22 St-Ericsson Sa Wireless communication system with hardware-based frequency burst detection
US8019382B2 (en) * 2004-12-29 2011-09-13 St-Ericsson Sa Communication apparatus having a standard serial communication interface compatible with radio isolation
US7778674B2 (en) * 2004-12-29 2010-08-17 St-Ericsson Sa Communication apparatus having a SIM interface compatible with radio isolation
US7209061B2 (en) * 2005-03-30 2007-04-24 Silicon Laboratories, Inc. Method and system for sampling a signal
US7805170B2 (en) * 2005-03-30 2010-09-28 St-Ericsson Sa System and method for efficient power supply regulation compatible with radio frequency operation
US7801207B2 (en) * 2005-06-24 2010-09-21 St-Ericsson Sa Signal processing task scheduling in a communication apparatus
US7283503B1 (en) 2005-06-24 2007-10-16 Silicon Laboratories, Inc. Communication apparatus including a buffer circuit having first and second portions for alternately storing results
US7414560B2 (en) * 2005-06-29 2008-08-19 Shaojie Chen Wireless communication system including an audio underflow protection mechanism operative with time domain isolation
FR2895200B1 (fr) * 2005-12-20 2008-02-22 Silicon Lab Inc Procede d'acquisition d'un burst de correction de frequence par un dispositif de radiocommunication, et dispositif de radiocommunication correspondant.
EP2375355A1 (de) * 2010-04-09 2011-10-12 ST-Ericsson SA Verfahren und Vorrichtung zum Schützen von Speicherinhalt
DE112014003069T5 (de) * 2014-04-25 2016-03-17 Mitsubishi Electric Corporation Funktionseinheit, Analogeingabeeinheit und programmierbares Steuerungssystem

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3789365A (en) * 1971-06-03 1974-01-29 Bunker Ramo Processor interrupt system
US3883852A (en) * 1973-04-20 1975-05-13 Corning Glass Works Image scanning converter for automated slide analyzer
US4075691A (en) * 1975-11-06 1978-02-21 Bunker Ramo Corporation Communication control unit
US4085449A (en) * 1976-11-26 1978-04-18 Paradyne Corporation Digital modem
US4315314A (en) * 1977-12-30 1982-02-09 Rca Corporation Priority vectored interrupt having means to supply branch address directly
US4246637A (en) * 1978-06-26 1981-01-20 International Business Machines Corporation Data processor input/output controller
US4404627A (en) * 1979-05-11 1983-09-13 Rca Corporation Interrupt signal generating means for data processor
US4348720A (en) * 1979-08-31 1982-09-07 Bell Telephone Laboratories, Incorporated Microcomputer arranged for direct memory access
DE3587643T2 (de) * 1984-03-02 1994-03-24 Nippon Electric Co Informationsverarbeitungseinheit mit Unterbrechungsfunktion.
GB8510425D0 (en) * 1985-04-24 1985-06-26 Data Pag Ltd Data logging unit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6839014B2 (en) 2001-06-27 2005-01-04 Renesas Technology Corp. One-chip microcomputer with analog-to-digital converter

Also Published As

Publication number Publication date
DE3852928D1 (de) 1995-03-16
EP0318055A3 (de) 1991-10-30
EP0318055A2 (de) 1989-05-31
US4996639A (en) 1991-02-26
EP0318055B1 (de) 1995-02-01

Similar Documents

Publication Publication Date Title
DE3852928T2 (de) Datenprozessor mit A/D-Umsetzer, um mehrere analoge Eingabekanäle in Digitaldaten umzusetzen.
DE3587643T2 (de) Informationsverarbeitungseinheit mit Unterbrechungsfunktion.
DE69730276T2 (de) Vorrichtung und Verfahren zur Erleichterung der Vermeidung von exzeptionellen bestimmten Zuständen während des Ablaufs eines Programmes
DE3587167T2 (de) Geraet zur vektorverarbeitung.
DE3751164T2 (de) Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten.
DE3689394T2 (de) Informationsverarbeitungsanlage mit einem Allzweckprozessor und einem Sonderzweckprozessor.
DE3853529T2 (de) Dynamische Mehrbefehle-Mehrdaten-Mehrpipeline-Gleitpunkteinheit.
DE2839726C2 (de) Multiprozessoranlage mit verteilter Steuerarchitektur
DE4208924B4 (de) Verfahren zur Kommunikation zwischen Prozessoren und Parallelverarbeitungscomputer hierfür
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE3851488T2 (de) Registerverwaltungssystem mit Ausführung von Befehlen in Unordnung in einem Computerprozessor.
DE3785897T2 (de) Steuervorrichtung zum vorabruf von befehlen.
DE2411963B2 (de) Datenverarbeitungsanlage
DE3789490T2 (de) Steuerungssystem für ein Vektorprozessor.
DE2243956A1 (de) Speicherprogrammierte datenverarbeitungsanlage
DE3725343A1 (de) Vielzweck-kanalsteuersystem
EP0010198A2 (de) Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher
DE2718051A1 (de) Datenverarbeitungsanlage mit einrichtungen zur wechselnden bearbeitung mehrerer aufgaben
DE2459956A1 (de) Prozessor und diesen verwendendes peripheres verarbeitungssystem
DE2721623A1 (de) System zur bearbeitung eines zielsystemprogrammes
DE60027357T2 (de) Eine Unterbrechungssteuerung und ein Mikrorechner, der diese Unterbrechungssteuerung beinhaltet
DE2856680A1 (de) Befehlspuffer fuer ein datenverarbeitungssystem
DE3751287T2 (de) Während einer Instruktionsausführung eine Unterbrechungsanforderung empfangender Mikroprogrammkontrolleur.
DE2745204A1 (de) Mikroprogramm-leitwerk fuer eine datenverarbeitungsanlage
DE3688973T2 (de) Verarbeitungssystem in Pipelinestruktur und Mikroprozessor mit einem derartigen System.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NEC ELECTRONICS CORP., KAWASAKI, KANAGAWA, JP

8339 Ceased/non-payment of the annual fee