DE4029100A1 - Anwendungsspezifische integrierte schaltung fuer einen seriellen datenbus - Google Patents

Anwendungsspezifische integrierte schaltung fuer einen seriellen datenbus

Info

Publication number
DE4029100A1
DE4029100A1 DE4029100A DE4029100A DE4029100A1 DE 4029100 A1 DE4029100 A1 DE 4029100A1 DE 4029100 A DE4029100 A DE 4029100A DE 4029100 A DE4029100 A DE 4029100A DE 4029100 A1 DE4029100 A1 DE 4029100A1
Authority
DE
Germany
Prior art keywords
signal
integrated circuit
data bus
serial data
predetermined
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.)
Withdrawn
Application number
DE4029100A
Other languages
English (en)
Inventor
Paul Martin Donovan
Michael Paul Caruso
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.)
Apple Inc
Original Assignee
Apple Computer 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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of DE4029100A1 publication Critical patent/DE4029100A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link

Description

Die Erfindung bezieht sich auf eine Einrichtung zur Daten­ übertragung zwischen Datenkommunikationsgeräten entlang eines seriellen Datenbusses. Insbesondere bezieht sich die Erfindung auf eine anwendungsspezifische integrierte Schaltung zur Ver­ wendung mit einem an einem seriellen Datenbus gelegenen Gerät, wobei die anwendungsspezifische integrierte Schaltung das Da­ tenbus-Protokoll implementiert.
Das Apple-Desktop-Bus (ADB)-Protokoll wurde durch Schreiben des Programmiercodes in ein Microcontroller-Chip implementiert. Der Wirkungsgrad des Microcontrollers kann als Folge seiner universellen Funktion etwas eingeschränkt sein, und ein gewis­ ser Prozentsatz des Microcontrollers kann ungenutzt bleiben.
Außerdem kann dieser Microcontroller u.U. Daten verlieren als Folge des Multiplex zwischen ADB-spezifischen Informationen und der Schnittstelle zu gerätespezifischen Informationen. In diesem Microcontroller werden Funktionen seriell durchgeführt. Mit der Einführung tragbarer Computer, wie Laptop-Computern, wurde der Bedarf an Peripheriegeräten geringer Energieaufnahme zunehmend akut.
Der Erfindung liegt die Aufgabe zugrunde, eine anwendungs­ spezifische integrierte Schaltung in Ersatz des o.g. Microcon­ troller-Chips zur Implementierung des Datenbus-Protokolls zur Verfügung zu stellen, die die o.g. dem Microcontroller-Chip an­ haftenden Probleme verringert oder ausräumt und insbesondere einen wesentlich geringeren Energiebedarf hat.
Die zu diesem Zweck erfindungsgemäß vorgesehene anwendungs­ spezifische integrierte Schaltung wird in Verbindung mit einem Gerät verwendet, das an einem seriellen Datenbus eines Daten­ übertragungssystems angeordnet werden kann. Abruf- und Synchro­ nisationsempfangsmittel sind zur Aufnahme eines Abruf- und Syn­ chronisationssignals vorgesehen, das auf dem seriellen Datenbus zur Synchronisation des Geräts entsprechend der Zeitgabe der Abruf- und Synchronisationssignale übertragen wird. Demodulati­ onsmittel dienen zum Empfang eines Befehlsbytesignals und eines Stopbitsignals, die auf dem seriellen Datenbus übertragen wer­ den. Das Befehlsbytesignal folgt dem Abruf- und Synchronisati­ onssignal. Demodulationsmittel sind zum Demodulieren des Be­ fehlsbytesignals vorgesehen. Rücksetzmittel sind mit den Demo­ dulationsmitteln gekoppelt und sprechen auf das Befehlsbytesi­ gnal dann an, wenn das Befehlsbytesignal einen vorgegebenen Rücksetzcode enthält. Die Rücksetzmittel stellen die inte­ grierte Schaltung in Abhängigkeit von einem vorgegebenen Rück­ setzcode in einen Anfangszustand zurück. Eine Löscheinrichtung (flush means) ist mit den Demodulationsmitteln gekoppelt und nimmt das Befehlsbytesignal auf, wenn dieses Signal einen vor­ gegebenen Lösch- bzw. Spülcode (flush code) enthält. Die Lösch­ einrichtung löscht alle gerätespezifischen Daten in der inte­ grierten Schaltung in Abhängigkeit von dem vorgegebenen Lösch­ code. Eine Höreinrichtung ist mit den Demodulationsmitteln ge­ koppelt und empfängt das Befehlsbytesignal, wenn letzteres einen vorgegebenen Hörercode enthält. Die Höreinrichtung be­ reitet die anwendungsspezifische integrierte Schaltung vor auf eine Antwort auf ein Signal, das von dem seriellen Datenbus zu einem späteren Zeitpunkt in der Datenbustransaktion empfangen wird. Eine mit den Demodulationsmitteln gekoppelte Sprechein­ richtung (talk means) ist zum Empfang des Befehlsbytesignals vorgesehen, wenn letzteres einen vorgegebenen Sprechcode ent­ hält. Die Sprecheinrichtung bereitet die integrierte Schaltung auf die Datenübertragung von dem Gerät auf den seriellen Daten­ bus zu einem späteren Zeitpunkt bei der Datenbustransaktion vor.
Die Höreinrichtung antwortet auf ein Startbitsignal zu ei­ nem späteren Zeitpunkt. Die Höreinrichtung verwendet die Demo­ dulationsmittel zum Antworten auf Informationen im Bereich von zwei bis acht Datenbytes, die auf dem seriellen Datenbus über­ tragen worden sind. Die Höreinrichtung verwendet zwei bis acht Bytes für gerätespezifische Funktionen. Die Sprecheinrichtung antwortet auf ein Startbitsignal zu einem späteren Zeitpunkt. Die Sprecheinrichtung weist Modulationsmittel zum Übertragen von zwei bis acht Datenbytes modulierter Information auf den seriellen Datenbus auf.
Im folgenden wird die Erfindung anhand von in der Zeichnung schematisch dargestellten Ausführungsbeispielen näher erläu­ tert. In der Zeichnung zeigen:
Fig. 1 ein Datenübertragungsnetzwerk, in welchem das integrierte Schaltungschip gemäß einem bevorzugten Ausführungsbeispiel der Erfindung verwendet werden kann;
Fig. 2 ein Zeitdiagramm, welches schematisch das der integrierten Schaltung gemäß einem bevorzugten Ausführungsbeispiel zugeordnete Protokoll darstellt;
Fig. 3 ein Ablaufdiagramm, welches die von einem bevorzugten Ausführungsbeispiel zum Implementieren des Protokolls gemäß Fig. 2 verwendeten Schritte darstellt;
Fig. 4 ein Blockschaltbild der anwendungspezifischen integrierten Schaltung (ASIC), welche die Prozesse des Ablaufdiagramms gemäß Fig. 3 implementiert;
Fig. 5 ein Blockschaltbild eines Datenbus- Teilchips′;
Fig. 6 ein Blockschaltbild eines Teils des Datenbus- Teilchips′ mit den Zählern und Flags;
Fig. 7 die Demodulationslogik der ASIC;
Fig. 8 ein Logikschaltbild der Rücksetzeinrichtung bei einem bevorzugten Ausführungsbeispiel;
Fig. 9 ein Logikschaltbild der Löscheinrichtung des bevorzugten Ausführungsbeispiels; und
Fig. 10 ein Logikschaltbild der Sprecheinrichtung des bevorzugten Ausführungsbeispiels.
Fig. 1 zeigt mehrere Datenübertragungsgeräte, die allgemein als 10, 10′...10 n, bezeichnet sind und an einem seriellen Da­ tenbus 12 eines Datenübertragungssystems, insgesamt mit 14 be­ zeichnet, angeordnet sind. Derartige Datenübertragungssysteme können einen Teil eines Computers, beispielsweise ein Sendeemp­ fängerchip oder ein Peripheriegerät, wie ein Cursor-Steuergerät (z.B. eine Maus oder eine Rollkugel), eine Tastatur, einen Drucker oder einen Scanner enthalten. Wie gezeigt, sind die Geräte 10-10 n zur Datenübertragung untereinander über einen gemeinsamen Datenbus 12 seriell miteinander verbunden.
Die verschiedenen Geräte sind durch Verbindungsmodule 16 mit dem Kabel 12 gekoppelt, wobei die Verbindungsmodule 16 bei einem bevorzugten Ausführungsbeispiel einen passiven Kopplungs­ transformator, R-C-Schaltungen o. dgl. enthalten, die zur Kopp­ lung jedes der Datenverarbeitungs- oder anderen Geräte mit dem Kabelstrang 12 im Stande der Technik bekannt sind.
Wie beschrieben werden wird, ermöglicht die integrierte Schaltung gemäß dem beschriebenen Ausführungsbeispiel die syn­ chrone Serienkommunikation und Datenübertragung zwischen den Geräten 10-10 n. Bei einem bevorzugten Ausführungsbeispiel wer­ den die Daten nach dem Verhältnis der Signalpegel jeder Bit­ zelle codiert. Eine Bitzellengrenze ist durch eine abfallende Flanke auf dem Bus definiert. Eine "0" wird als eine Bitzelle codiert, in der die Zeit niedrigen Pegels größer als die Zeit hohen Pegels ist. Daher ist eine "1" definiert als eine Bit­ zelle, in der die Zeit niedrigen Pegels kleiner ist als die Zeit hohen Pegels.
Die Periode jeder Bitzelle der Befehlssignale und langsamen Datenübertragung beträgt nominell 100 µS +/- 30%. Für Hochge­ schwindigkeitsdatenübertragungen ist die Bitzelle 25 µS +/- 15%.
Das Format einer Datenübertragung - ob im Empfangs- oder Sendebetrieb - ist ein Startbit, gefolgt von bis zu 256 Daten­ bits und endend mit einem Stoppbit.
Fig. 2 zeigt das Protokoll zur Erzeugung von Transaktionen zwischen einem Verarbeitungscomputer (host computer) und einem speziellen Gerät, beispielsweise einem Cursor-Steuergerät, das an dem seriellen Datenbus angeordnet ist. Wie in dieser Fig. gezeigt ist, wird zum Signalisieren des Beginns eines Befehls ein Abrufimpuls von dem Verarbeitungscomputer auf den seriellen Datenbus ausgesendet. Ein Abrufimpuls wird vom Verarbei­ tungscomputer dadurch erzeugt, daß ein Bus-Niedrigsignal für eine Dauer von T-abr ausgesendet wird. Bei dem beschriebenen Ausführungsbeispiel ist T-abr etwa 560-1040 µS. Der Abrufimpuls wird von einem Synch-Impuls, Tsynch, gefolgt, um eine Anfangs­ buszeitgabe zu erzeugen. Die folgende Flanke des Synch-Impulses dient als Zeitbezug für das erste Bit des Befehls. Der Befehl wird von einem Stoppbit gefolgt. Nach dem Stoppbit kehrt der Bus auf seinen normalerweise hohen Zustand Tlt zurück.
Bei dem beschriebenen Ausführungsbeispiel ist der Befehl ein 8-Bit-Befehl. Der Befehl enthält ein 4-Bit-Geräte-Adress­ feld, welches die Adresse des gewünschten Peripheriegeräts (z.B. 0011 für eine Maus) angibt. Die nächsten zwei Bits bilden den Befehl und die letzten zwei Bits bilden ein registriertes Adressfeld, welches die Bezeichnung eines speziellen Registers R0-R3 innerhalb eines adressierten Peripheriegerätes ermög­ licht. Bei einem bevorzugten Ausführungsbeispiel haben die Be­ fehle den folgenden Bitcode:
Befehl
Code
Löschen
0001
Hören 10R₁R₀
Sprechen 11R₁R₀
Senden Reset 0000
Der Sprechbefehl läßt das adressierte Gerät - soweit es Da­ ten enthält - Daten an den Verarbeitungscomputer liefern. Der Hörbefehl läßt das adressierte Gerät Daten aus dem Verarbei­ tungscomputer aufnehmen und diese in eines seiner Register ein­ setzen. Der Löschbefehl wirkt auf jedes Gerät und wird von dem individuellen Gerät definiert. Er kann für Funktionen wie das Löschen oder Spülen eines Registers oder das Rücksetzen aller Tasten einer Tastatur, so daß sie erneut gesendet werden, ver­ wendet werden. Der Sende-Reset-Befehl bewirkt ein Hardware-Re­ set aller mit dem ADB-verbundenen Geräte.
Wenn ein Peripheriegerät auf Sprechen adressiert wird, muß es innerhalb einer bestimmten Periode, genannt die "Auszeit"- Periode antworten. Die Auszeit "Tlt" beträgt etwa 140 bis 260 µS (zwei Bitzellen). Das ausgewählte Gerät wird dann, wenn es keine Auszeit hat, auf dem Bus aktiv, führt seine Datentransak­ tion (z.B. 2 bis 8 Datenbytes) durch und liefert dann auf den seriellen Datenbus ein Stoppbit.
In Abhängigkeit von einem Befehlsbyte (8 Bits) vom Verar­ beitungscomputer bewirkt das Gerät entweder eine Datendemodula­ tion aufgrund eines Hörbefehls ebenso wie bei einem Befehls­ byte, oder eine Datenmodulation, wenn ein Sprechbefehl aus ei­ nem Befehlsbyte gekommen ist. Die Befehlsbits bezeichnen entwe­ der eine Modulation des Seriendatenbus′ oder eine Modulation von gerätespezifischen Daten auf den Datenbus.
Im folgenden wird auf Fig. 3 Bezug genommen, in der ein Ab­ laufdiagramm mit den zum Implementieren des Protokolls gemäß Fig. 2 verwendeten Schritten angegeben ist. Der mit 18 bezeich­ nete Block des Ablaufdiagramms entspricht den Funktionen einer Abruf- und Synchronisationsempfangseinrichtung der integrierten Schaltung. Blöcke 20 und 22 bezeichnen die Funktionen der Demo­ dulationseinrichtung, Block 24 bezeichnet die Funktion der Rücksetzeinrichtung, Block 25 bezeichnet die Funktion der Spül- bzw. Löscheinrichtung, Block 26 bezeichnet die Funktionen der Höreinrichtung und Block 27 bezeichnet die Funktion der Sprech­ einrichtung der anwendungsspezifischen integrierten Schaltung.
Die Abruf-und Synchronisationsempfangseinrichtung 18 erhält ein Signal aus dem seriellen Datenbus und stellt zunächst fest, ob der Bus ein niedriges oder ein hohes Signal führt. Wenn das Bussignal niedrig ist, wird ein Niedrigsignalzähler gestartet, und während dieser Zählung wird eine Auswertung dahingehend vorgenommen, ob das Signal auf einen hohen Zustand wechselt. Wenn das Signal nicht in den hohen Signalzustand geht, setzt der Zähler die Zählung fort, anderenfalls wird der Niedrigsi­ gnalzähler gestoppt.
Danach wird festgestellt, ob der niedrige Zählwert zwischen 560 und 1040 µS liegt. Ist dies nicht der Fall, so liegt ein ungültiges Abrufsignal vor, und die Transaktion wird abgebro­ chen. Das Gerät sucht nach einem gültigen Abrufsignal.
Wenn das Abrufsignal ein gültiges Signal ist, so stellt sich die Frage, ob es ein gültiges Synchronisationsimpulssignal gibt. Ist dies nicht der Fall, so ist wiederum die Frage, ob es ein gültiges Abrufsignal gibt. Wenn es einen gültigen Synchro­ nisationsimpuls gibt, wird das Befehlsbyte demoduliert, wie dies durch den Block 20 gezeigt ist. Ein Befehlsbyte wird demo­ duliert, bis ein Stoppbit empfangen wird. Sobald das Stoppbit empfangen wird, wird festgestellt, ob es sich bei dem Befehls­ byte um einen Rücksetzbefehl handelt, Block 24. Ist dies der Fall, so wird das Gerät in seinen anfänglichen Startzustand rückgesetzt.
Wenn ein Befehlsbyte kein Rücksetzbefehl beinhaltet, wird festgestellt, ob das Befehlsbyte ein Lösch- bzw. Spülbefehl ist, Block 25. Ist dies der Fall, so werden gerätespezifische Register gelöscht. Ist dies nicht der Fall, so wird gefragt, ob das Befehlsbyte ein Hörbefehl ist. Ist dies der Fall, so wird gefragt, ob das Startbit vom Verarbeitungscomputer gültig ist, Block 26. Ist das Startbit gültig, so wird das Signal entspre­ chend Darstellung in Block 22 demoduliert. Die demodulierten Daten können zwischen 2 und 8 Bytes sein. Wenn kein Stoppbit vom Gerät erkannt wird, wird die Demodulation fortgesetzt. Wenn das Stoppbit gültig ist, werden die demodulierten Daten für das Gerät verwendet, während das Gerät gleichzeitig nach dem näch­ sten Abrufsignal sieht.
Es wird erneut auf den Entscheidungsblock Bezug genommen, der fragt, ob das Befehlsbyte ein Hörbefehl ist. War das Be­ fehlsbyte kein Hörbefehl, so wird gefragt, ob das Befehlsbyte einen Sprechbefehl beinhaltet. Wenn der Befehl kein Sprechbe­ fehl ist, so ist das Befehlsbyte ein reservierter Befehl, und dann schaut das Gerät nach dem nächsten Abrufsignal. Wenn das Befehlsbyte ein Sprechbefehl ist, moduliert das Gerät das Startbit entsprechend Darstellung in Block 27. Daten aus dem Gerät werden dann auf den seriellen Datenbus moduliert. Die Mo­ dulation wird fortgesetzt, bis alle Daten aus dem Gerät modu­ liert sind. Sobald alle Daten moduliert sind, gibt das Gerät ein Stoppbit aus. Das Gerät sieht nach dem nächsten Abrufsi­ gnal.
Eine spezielle Implementierung der Verwendung der Prinzi­ pien des beschriebenen Ausführungsbeispiels ist in Fig. 4 dar­ gestellt, die ein Blockschaltbild der anwendungsspezifischen integrierten Schaltung (ASIC) für eine Maus-Konstruktion ist. Das "Maus"-Teilchip der ASIC, bezeichnet mit dem Bezugszeichen 28, rechts der strichpunktierten Linie 30, ist der zur Codie­ rung verwendete Abschnitt. Er bildet die gewünschten Impulse, die für die Operation erforderlich sind.
Die Kernzelle 32, genannt "ADB", bezeichnet den Teil der ASIC, der zur Definition der Kommunikation zwischen der ASIC und der CPU verwendet wird. ADB ist die Abkürzung für "Apple Desktop Bus". Der Abschnitt 34 links von der strichpunktierten Linie 36 bezeichnet den Taktgeber. Eine genauere Beschreibung des "Maus"-Teilchips ist in der älteren DE-Patentanmeldung P 40 15 913.2 vom 17.05.1990 sowie in der DE-Patentanmeldung P 40 18 279.9 vom 05.06.1990 enthalten. Diese Beschreibung wird hier durch Bezugnahme in die vorliegende Anmeldung einbezogen.
Im folgenden wird auf Fig. 5 Bezug genommen, in der ein Blockschaltbild des ADB-Teilchips 32 dargestellt ist. Der ADB- Teilchip 32 enthält DEVICEINT 38, welches ein Interface mit dem "Maus"-Teilchip 28 darstellt. ABDTRANS bildet die Sendeeinrich­ tung zum Modulieren binärer Daten aus dem Gerät bei Ausführung seiner zugehörigen Funktion, wobei die sich ergebenden modu­ lierten Daten auf den seriellen Datenbus gegeben werden. Der ADBREC 42-Abschnitt weist Zähl- und Flag-Mittel auf. Die Abruf­ und Synchronisationseinrichtung 18 und die Demodulationsein­ richtung 20, 22 werden durch den ADBREC-Abschnitt 42 des ADB- Teilchips 32 gebildet. Die Sprech- und Modulationseinrichtung 27 wird von dem ADBTRANS-Abschnitt 40 des ADB-Teilchips 32 ge­ bildet. Die Höreinrichtung 26, die Rücksetzeinrichtung 24 und die Löscheinrichtung 25 werden durch den DEVICEINT-Abschnitt 38 des ADB-Teilchips 32 gebildet.
Fig. 6 zeigt den ADBREC-Abschnitt 42. ADBREC 42 weist einen Hoch-Zähler 44 (ADBHIGH), den Niedrig-Zähler 46 (ADBLOW), dem Hoch-Zähler zugeordnete Flags, d.h. HIGHFLAGS 48 und die dem Niedrig-Zähler zugeordneten Flags, d.h. LOWFLAGS 50 auf. Wenn das Bussignal auf einen niedrigen Pegel geht, beginnt ADBLOW zu zählen. Wenn das Bussignal wieder hochgeht, stoppt der ADBLOW- Zähler. Zu diesem Zeitpunkt wird innerhalb des Niedrig-Flags- Blocks festgestellt, ob das Abrufsignal gültig ist. Ein gülti­ ges Signal tritt auf, wenn das Flag 133 FL, welches 560 µS dar­ stellt, gesetzt und das Flag 197 FL, welches 1040 µS darstellt, nicht gesetzt ist. Nach dem Auftreten eines gültigen Abrufsi­ gnals stellt die Schaltung fest, ob es einen gültigen Synchro­ nisationsimpuls gibt. Ein gültiges Synchronisationssignal tritt auf, wenn das Flag 10 FH, welches 50 µS darstellt, und das Flag 17 FH, welches 85 µS darstellt, nicht gesetzt sind.
Im folgenden wird auf Fig. 7 Bezug genommen, in der die De­ modulationslogik 22 dargestellt ist. Wenn das Synch-Flag (SYNCHF) hochgesetzt ist, so wird innerhalb dieses Blocks das Befehlsbyte demoduliert, und zwar unter Verwendung von 5 FL (25 µS), 10 FH (50 µS), 10 FL (50 µS), 5 FH (20 µS), 17 FL und 17 FH. Ein logischer Pegel "1" wird demoduliert, wenn 5 FL und 10 FH gesetzt sind. Dadurch wird eine äquivalente Bitzellenzeit von 1/3 niedrig und 2/3 hoch festgestellt. Ein logischer Pegel "0" wird demoduliert, wenn 10 FL und 5 FH gesetzt sind. Dies ergibt eine äquivalente Bitzellenzeit von 2/3 niedrig und 1/3 hoch. Wenn STARTFH hochgesetzt ist, so werden die Daten auf dem Datenbus auf die gleiche Weise wie die Befehlsleitung demodu­ liert, wobei das Synch-Flag unter Verwendung von 5 FL, 10 FH, 5 FH, 10 FL, 17 FH und 17 FL hochgesetzt wird. Die LT, Hören- Sprechen-Leitung, wird zusammen mit SYNCHF und STARTFH dazu verwendet, den Empfangsbit-Decodierblock 22 wissen zu lassen, wann er demodulieren soll. Die Ausgangs-LISTENDATA und LISTEN- CLK werden an den Rest des Chips angelegt, um die binäre Form der demodulierten Daten zu ermöglichen. Die Bit-Fehlerausgabe, die von einem ungültigen Bit, bestimmt durch Erreichen der 17 FL und 17 FH-Zeit hochgesetzt sind, bewirken, daß das Gerät die Datendemodulation abbricht, und nachfolgend sucht das Gerät nach dem nächsten gültigen Abrufsignal auf dem Datenbus.
Die Eingangssignale zur Demodulationslogik 22 umfassen 17 FH, 17 FL, 5 FH, 10 FL, 10 FH und 5 FL aus den in Fig. 6 darge­ stellten Flags. Ein anderer Eingang ist LOWCKT 1 von dem Nied­ rig-Zähler, wie in Fig. 6 gezeigt. LT von dem Maus-spezifi­ schen Teil des Chips wird ebenfalls eingegeben. SYNC und STARTFH werden auch aus den Zählern eingegeben.
Im folgenden wird auf Fig. 8 Bezug genommen, in der ein Lo­ gikschaltbild der Rücksetzeinrichtung 24 eines bevorzugten Aus­ führungsbeispiels dargestellt ist. Die Rücksetzschaltung ar­ beitet mit zwei Szenarien. In der ersten enthält die Befehls­ zeile einen Befehl, der als Rücksetzbefehl für das gesamte Ge­ rät decodiert wird. In der zweiten gibt es einen elektrischen Signalfehler des Datenbusses bei der Übertragung des Datenbus- Protokolls.
In Fig. 8 kommt das Eingangssignal SENDRESET zur Schaltung von der decodierten Befehlszeilenlogik und dient dem Rücksetzen des Geräts und dem Suchen nach der nächsten gültigen Ab­ ruf/Synchronisationsimpulskombination. SENDRESET bewirkt, daß das Ausgangssignal MR (Haupt-Reset) das gesamte Chip rück­ setzt. Gleichzeitig bewirkt SENDRESET, daß das Ausgangssignal PMR die Demodulationsschaltung rücksetzt, wodurch letztere nach der nächsten gültigen Abruf/Synch-Impulskombination für die nächste gültige Protokolltransaktion vorbereitet wird.
Gibt es einen Fehler bei der Übertragung des elektrischen Signalprotokolls, so stellt die Demodulationslogik den Fehler fest und sendet die Eingangssignale BITERROR, FLAGERRORH, FLA­ GERRORL und 50 FH an die in Fig. 8 dargestellte Rücksetzein­ richtung. Diese Eingangssignale triggern das Ausgangssignal PMR PMR setzt dann die Demodulationslogik zurück und bewirkt, daß der Chip nach der nächsten gültigen Abruf/Synch-Im­ pulskombination sucht.
Im folgenden wird auf Fig. 9 Bezug genommen, in der die Lö­ scheinrichtung 25 eines bevorzugten Ausführungsbeispiels dar­ gestellt ist. In Fig. 9 ist ein Befehlszeilen-Decodierblock dargestellt, der insgesamt mit 51 bezeichnet ist. Dieser Block dient zur Bestimmung des Datenzustandes von der Befehlszeile. Der Löschbefehl ist ein solcher Befehl. Das Löschen bzw. Spülen entsprechend dem Ablaufdiagramm gemäß Fig. 3 dient zum Löschen von gerätespezifischen Registern. Die Eingangssignale DATA3, DATA2, DATA1 und DATA0 stellen den 4-Bit-Code von 0001 dar. Wenn dieser Befehl von 0001 gesendet wird, so wird das Aus­ gangssignal FLUSH aktiviert, und die gerätespezifischen Regi­ ster werden gelöscht. Die anderen Eingangs- und Ausgangssignale in diesem Block werden für die gerätsspezifischen Teile des Chips verwendet.
Fig. 10 zeigt die Sprecheinrichtung 27 (z.B. ADBTRANS 40) des ADB-Teilchips 32. Der Eingang LT , Hör-Sprech-Leitung, kommt von dem gerätespezifischen Abschnitt 28 des Chips. LT dient in Verbindung mit dem Eingang TLTF , Stoppbit, zum Star­ ten der Bitzeit. LT und TLTF -Eingänge bestimmen, ob die Sen­ deeinrichtung 40 auf den Datenbus unter Verwendung der Modula­ tionseinrichtung sprechen soll. Wenn LT auf Sprechzustand ge­ setzt und das vom Zähler- und Flags-Block kommende TLTF hoch­ gesetzt ist, so beginnt der ADBTRANS 40 zu modulieren.
Der STARTFH-Eingang, Flag vom Zähler und Flags-Block, er­ möglicht das Modulieren des Startbits auf den Datenbus über den Ausgang ADBOUT, der in Fig. 10 gezeigt ist. Sobald die Modula­ tion des Startbits beendet ist, werden die Daten aus dem gerä­ tespezifischen Abschnitt des Chips auf den Datenbus moduliert. Diese Daten werden durch die logischen Pegel von 7 FL (35 µS), 13 FH (65 µS), 7 FL (35 µS), 13 FL (65 µS) und 40 FH (200 µS) bestimmt, welche aus den Zähler- und Flagblöcken kommen. Zu­ sätzlich hilft die TALKDATA-Eingangsleitung vom Geräte-Inter­ face-Abschnitt des Chips bei der Modulationsausgabe von Bitzel­ lenzeiten, welche logische Einsen und Nullen darstellen. In Ab­ hängigkeit vom Logikpegel der TALKDATA-Leitung wird eine logi­ sche Null oder eine Eins in eine Bitzelle von "0" oder "1" mo­ duliert. Eine logische "0" wird unter Verwendung der 13 FL und 7 FH-Eingangsleitungen und eine logische "1" unter Verwendung der 7 FL und 13 FH-Eingangsleitungen moduliert.
Die anderen Eingänge zur Schaltung gemäß Fig. 10 dienen zur Unterstützung der Steuerung der Sprecheinrichtung 27.
Das Ausgangssignal TALKCLK dient zum Steuern des TALKDATA- Eingangs. TALKCLK geht an den Geräte-Interface-Abschnitt des Chips. Die DATASTOP-Ausgangsleitung dient zur Kennzeichnung des Endes der Transaktion eines Sendemittels zur Vorbereitung da­ für, daß der ADB-Teilchip nach einem neuen Abrufimpuls und Synchronisationsimpuls sucht, wie in Fig. 2 gezeigt, welche eine Datenbustransaktion veranschaulicht.
Die Implementierung des ADB-Protokolls in Hardware verrin­ gert oder vermeidet viele der bei Verwendung des oben erwähnten Microcontrollers auftretenden Probleme. Anders als bei der Ver­ wendung des Microcontrollers wird jedes Gate benutzt, so daß kein wertvoller Raum verlorengeht. Daher kann die Chipgröße für die Schaltung voll ausgenutzt werden. Dies führt zu vergleichs­ weise niedrigeren Kosten.
Außerdem gehen keine Daten verloren, da eine Anzahl von Funktionen in der beschriebenen anwendungsspezifischen inte­ grierten Schaltung gleichzeitig ausgeführt werden können. Im Gegensatz dazu gibt es in dem genannten Microcontroller einen programmierten Code, der keine Mehrfachfunktionen, beispiels­ weise Verfolgung neuer gerätespezifischer Daten und des ADB- Protokolls, auszuführen vermag.
Außerdem wird die Leistungs- bzw. Energieaufnahme mini­ miert. Die Energie ist proportional zu C × V2 × Frequenz, wobei C gleich Kapazität und V gleich Spannung ist. Der Microcontrol­ ler hat im Mittel einen 4 oder 6 MHz Takt. Dies ist eine hohe Frequenz im Vergleich zur ADB-Protokoll-Frequenz von 200 KHz.

Claims (14)

1. Anwendungsspezifische integrierte Schaltung zur Verwen­ dung bei einem Gerät (10...10 n), das an einem seriellen Daten­ bus (12) eines Datenkommunikationssystems (14) angeordnet ist, gekennzeichnet durch:
  • a) eine Abruf- und Synchronisationsempfangseinrichtung (18) zur Aufnahme eines auf dem seriellen Datenbus (12) über­ tragenen Abruf- und Synchronisationssignals, wobei die Abruf- und Synchronisationseinrichtung so ausgebildet ist, daß sie das Gerät in Abhängigkeit von der Zeitgabe des Abruf- und Synchro­ nisationssignals synchronisiert,;
  • b) eine Demodulationseinrichtung (20, 22), die über über den seriellen Datenbus übertragene Befehlsbyte- und Stoppbitsi­ gnale aufnimmt und das Befehlsbytesignal demoduliert, wobei das Befehlsbytesignal dem Abruf- und Synchronisationssignal folgt;
  • c) eine Rücksetzeinrichtung (24), die mit der Demodulati­ onseinrichtung gekoppelt ist, das Befehlsbytesignal aufnimmt, wenn letzteres einen vorgegebenen Rücksetzcode enthält, und die integrierte Schaltung in Abhängigkeit von dem vorgegebenen Rücksetzcode in einen Anfangszustand zurücksetzt;
  • d) eine mit der Demodulationseinrichtung gekoppelte Lösch­ einrichtung (25), die das Befehlsbytesignal aufnimmt, wenn letzteres einen vorgegebenen Löschcode enthält, und alle gerä­ tespezifischen Daten in der integrierten Schaltung in Abhängig­ keit von dem vorgegebenen Löschcode löscht;
  • e) eine mit der Demodulationseinrichtung gekoppelte Höreineinrichtung (26) zur Aufnahme des Befehlsbytesignals, wenn letzteres einen vorgegebenen Hörcode enthält, wobei die Höreinrichtung die integrierte Schaltung auf ein Ansprechen auf ein über den seriellen Datenbus übertragenes Signal zu einem späteren Zeitpunkt der Datenbusoperation vorbereitet; und
  • f) eine mit der Demodulationseinrichtung gekoppelte Sprecheinrichtung (27) zur Aufnahme des Befehlsbytesignals, wenn letzteres einen vorgegebenen Sprechcode enthält,
wobei die Sprecheinrichtung so ausgebildet ist, daß sie die integrierte Schaltung auf die Datenübertragung vom Gerät (10...10 n) auf den seriellen Datenbus (12) zu einem späteren Zeitpunkt der Daten­ bustransaktion vorbereitet,
wobei die Höreinrichtung (26) auf ein Startbitsignal zu dem späteren Zeitpunkt anspricht und die Demodulationseinrichtung (20, 22) benutzt zum Antworten auf 2-8-Informationsdatenbytes, die über den seriellen Datenbus (12) übertragen werden und diese zwei bis acht Bytes für gerätespezifische Funktionen ver­ wendet und wobei die Sprecheinrichtung (27) auf ein Startbitsi­ gnal zu dem späteren Zeitpunkt anspricht und Modulationsmittel zum Senden von zwei bis acht Datenbytes modulierter Information auf den seriellen Datenbus aufweist.
2. Integrierte Schaltung nach Anspruch 1, dadurch gekenn­ zeichnet, daß die Abruf- und Synchronisationsaufnahmeeinrich­ tung (18) aufweist:
Mittel zur Bestimmung eines niedrigen Serienbussignals,
Niedrigsignal-Zählmittel zur zeitlichen Erfassung des nied­ rigen Bussignals und zur Bestimmung eines gültigen Abrufimpul­ ses;
Mittel zur Feststellung, ob das Bussignal nach einem vorge­ gebenen Niedrigzählwert hochgeht; und
Hochsignal-Zählmittel zur zeitlichen Erfassung des Bussi­ gnals, wenn dieses nach einem vorgebenen Niedrigzählwert hoch­ geht, um einen gültigen Synchronisationsimpuls festzustellen.
3. Integrierte Schaltung nach Anspruch 2, dadurch gekenn­ zeichnet, daß der vorgegebene niedrige Zählwert im Bereich zwi­ schen 560 µS und 1040 µS liegt.
4. Integrierte Schaltung nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß der gültige Synchronisationsimpuls auf­ tritt, wenn der hohe Zählwert zwischen 42 µS und 90 µS liegt.
5. Integrierte Schaltung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Rücksetzeinrichtung (24) Mittel zum Rücksetzen der Demodulationseinrichtung (20, 22) in Abhän­ gigkeit von einem auf dem Datenbus (12) übertragenen Signalfeh­ ler enthält.
6. Integrierte Schaltung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß das Befehlsbytesignal und die ge­ sendeten 2-8-Informationsdatenbytes Bits enthalten, von denen jedes eine Bitzellenzeit von einer Nominallänge von 100 µS hat.
7. Integrierte Schaltung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß das Stoppbitsignal nominell 65 µS ist.
8. Integrierte Schaltung nach einem der Ansprüche 1 bis 7, da­ durch gekennzeichnet, daß die Zeit zwischen dem Stoppbitsignal und dem Startbitsignal im Bereich zwischen 140 und 260 µS liegt.
9. Integrierte Schaltung nach Anspruch 1, dadurch gekenn­ zeichnet, daß das Startbitsignal eine nominelle Länge von 100 µS hat.
10. Integrierte Schaltung nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß das Gerät (10) ein Cursor-Steuerge­ rät ist.
11. Integrierte Schaltung nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß das Gerät (10) eine Tastatur ist.
12. Anwendungsspezifische integrierte Schaltung zur Verwen­ dung mit einem Gerät (10...10 n), das an einem seriellen Daten­ bus (12) eines Datenkommunikationssystems (14) angeordnet ist, wobei das Datenkommunikationssystem ein Befehlsprotokoll mit sequentiellen Signalen einschließlich eines Abruf- und Synchro­ nisationssignals, eines Befehlsbytesignals, eines Stoppbits, eines Tlt Verzögerungssignals, eines Startbits und 2-8-Informa­ tionsdatenbytes enthält, dadurch gekennzeichnet, daß
  • a) eine Abruf- und Synchronisationsaufnahmeeinrichtung (18) zur Aufnahme des über den seriellen Datenbus (12) übertra­ genen Abruf- und Synchronisationssignals vorgesehen und so aus­ gebildet ist, daß sie das Gerät (10...10 n) entsprechend der Zeitgabe des Abruf- und Synchronisationssignals synchronisiert,
  • b) eine Demodulationseinrichtung (20, 22) zum Empfang des Befehlsbytesignals und Stoppbitsignals und zum Demodulieren des Befehlsbytesignals vorgesehen ist;
  • c) eine Rücksetzeinrichtung (24) mit der Demodulationsein­ richtung (20, 22) gekoppelt ist, das Befehlsbytesignal auf­ nimmt, wenn dieses Signal einen vorgegebenen Rücksetzcode ent­ hält, und die integrierte Schaltung in Abhängigkeit von dem vorgegebenen Rücksetzcode in einen Anfangszustand zurücksetzt;
  • d) eine Löscheinrichtung (25) mit der Demodulationsein­ richtung (20, 22) gekoppelt ist, das Befehlsbytesignal auf­ nimmt, wenn es einen vorgegebenen Löschcode enthält, und alle gerätespezifischen Daten in der integrierten Schaltung in Ab­ hängigkeit von dem vorgegebenen Löschcode löscht;
  • e) eine Hör- bzw. Empfangseinrichtung (26) mit der Demodu­ lationseinrichtung (20, 22) gekoppelt ist, das Befehlsbytesi­ gnal aufnimmt, wenn letzteres einen vorgegebenen Hör- bzw. Emp­ fangscode enthält, und die integrierte Schaltung auf ein An­ sprechen auf ein von dem seriellen Datenbus (12) empfangenes Signal zu einem späteren Zeitpunkt der Datenbustransaktion vor­ bereitet; und
  • f) eine Sprech- bzw. Sendeeinrichtung mit den Demodulati­ onsmitteln gekoppelt ist, welche das Befehlsbytesignal auf­ nimmt, wenn letzteres einen vorgegebenen Sprech- bzw. Sendecode enthält, wobei die Sendeeinrichtung die integrierte Schaltung auf das Senden von Daten aus dem Gerät (10) auf den seriellen Datenbus (12) zu einem späteren Zeitpunkt der Datenbustransak­ tion vorbereitet,
die Hör- bzw. Empfangseinrichtung auf das Startbitsignal zu dem späteren Zeitpunkt anspricht, die Demodulationseinrichtung (20, 22) zum Ansprechen auf 2-8-Informationsdatenbytes benutzt, die auf dem seriellen Datenbus übertragen werden, und diese 2- 8-Bytes für gerätespezifische Funktionen benutzt,
die Sprech- bzw. Sendeeinrichtung auf ein Startbitsignal zu dem späteren Zeitpunkt antwortet und Modulationsmittel zum Sen­ den von 2-8-Datenbytes an modulierter Information auf den seri­ ellen Datenbus (12) aufweist.
DE4029100A 1989-09-15 1990-09-13 Anwendungsspezifische integrierte schaltung fuer einen seriellen datenbus Withdrawn DE4029100A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/407,575 US5175750A (en) 1989-09-15 1989-09-15 Application specific integrated circuit for a serial data bus

Publications (1)

Publication Number Publication Date
DE4029100A1 true DE4029100A1 (de) 1991-03-28

Family

ID=23612655

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4029100A Withdrawn DE4029100A1 (de) 1989-09-15 1990-09-13 Anwendungsspezifische integrierte schaltung fuer einen seriellen datenbus

Country Status (4)

Country Link
US (1) US5175750A (de)
JP (1) JPH03174643A (de)
DE (1) DE4029100A1 (de)
GB (1) GB2236461B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10150418A1 (de) * 2001-10-11 2003-04-30 Grundig Ag Vorrichtung zum Rücksetzen von an einen Bus angeschlossenen integrierten Schaltungen

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341480A (en) * 1992-04-09 1994-08-23 Apple Computer, Inc. Method and apparatus for providing a two conductor serial bus
JP3334211B2 (ja) 1993-02-10 2002-10-15 株式会社日立製作所 ディスプレイ
US5530558A (en) * 1994-04-11 1996-06-25 Nachman; Bruce Interface circuit for utilizing a facsimile coupled to a PC as a scanner or printer
US5657346A (en) * 1995-10-13 1997-08-12 Lordi; Angela Lee Transmission line driver test integrity circuit
DE102007004816B4 (de) * 2007-01-31 2010-11-25 Continental Automotive Gmbh Verfahren und Vorrichtung zum Übermitteln einer Nachricht

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3965468A (en) * 1975-01-17 1976-06-22 Hewlett-Packard Company Logic pulser
GB1565203A (en) * 1975-07-25 1980-04-16 Pico Electronics Ltd Remote control systems
US4128832A (en) * 1976-01-08 1978-12-05 Ncr Corporation Combined encoder/decoder
GB1519779A (en) * 1976-03-02 1978-08-02 Butler A W Apparatus for control of equipment via a single transmissions path
US4146743A (en) * 1976-08-09 1979-03-27 Hewlett-Packard Company Adaptive sampling decoder-encoder apparatus and method
GB1575037A (en) * 1977-02-09 1980-09-17 Philips Electronic Associated Data transmission
US4228422A (en) * 1978-11-30 1980-10-14 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration System for displaying at a remote station data generated at a central station and for powering the remote station from the central station
DE3140431C2 (de) * 1980-10-13 1986-09-25 Hitachi, Ltd., Tokio/Tokyo Demodulatorschaltung zum Demodulieren eines modulierten Digitalsignals
US4910655A (en) * 1985-08-14 1990-03-20 Apple Computer, Inc. Apparatus for transferring signals and data under the control of a host computer
US4700358A (en) * 1985-11-18 1987-10-13 Hayes Microcomputer Products, Inc. Synchronous/asynchronous modem
US5027109A (en) * 1989-06-08 1991-06-25 Donovan Paul M Apparatus and method for minimizing undesired cursor movement in a computer controlled display system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10150418A1 (de) * 2001-10-11 2003-04-30 Grundig Ag Vorrichtung zum Rücksetzen von an einen Bus angeschlossenen integrierten Schaltungen
DE10150418B4 (de) * 2001-10-11 2004-05-13 Grundig Ag I.Ins. Vorrichtung zum Rücksetzen von an einen Bus angeschlossenen integrierten Schaltungen

Also Published As

Publication number Publication date
GB2236461A (en) 1991-04-03
GB9018402D0 (en) 1990-10-03
GB2236461B (en) 1993-12-22
JPH03174643A (ja) 1991-07-29
US5175750A (en) 1992-12-29

Similar Documents

Publication Publication Date Title
DE69233664T2 (de) Schnittstelle eines sender-empfängers
DE69531017T2 (de) Datenübertragungssystem und Verfahren
DE3845018B4 (de) Basisstation für ein drahtloses digitales Telefonsystem
DE3115455C2 (de)
DE2517831C3 (de) Datenkommunikationssystem
DE2647241C2 (de) Übertragungseinrichtung für die synchrone Datenübertragung
DE2913288C2 (de) Multiprozessoranlage mit einer Vielzahl von Prozessorbausteinen
DE2148906C2 (de) Schaltungsanordnung zur Übertragung von Daten zwischen einem Rechner und einer Vielzahl von Endgeräten
DE2557896A1 (de) Vielfachpunkt-datenvermittlungssystem
DE19900245A1 (de) Vorrichtung und Verfahren zum Senden und Empfangen von USB-Isochrondaten
DE3008687A1 (de) Datenuebertragungseinrichtung
DE3010357A1 (de) Verfahren und anordnung zum uebertragen von daten zwischen systemeinheiten
DE69734580T2 (de) Halbduplexsteuerung eines uarts (universeller asynchroner empfänger/sender) für zweirichtungsfunkübertragungskanal
DE4307449A1 (de)
DE69817925T2 (de) Chipkartenleser unter Verwendung eines schnellen Übertragungsprotokolls
DE3802061C2 (de)
DE1295591B (de) Steuerschaltungsanordnung zur selbsttaetigen Wahl der UEbertragungsgeschwindigkeit in Anlagen der Datenuebermittlung
DE2824578C2 (de)
DE3635106A1 (de) Kommunikationsverfahren und -system fuer serielle daten
DE4029100A1 (de) Anwendungsspezifische integrierte schaltung fuer einen seriellen datenbus
DE4029290C2 (de)
DE2803424C3 (de) Verfahren und Schaltungsanordnung zum Adressieren wenigstens einer Empfangsstation von einer Sendestation aus
DE2551204B2 (de) Schaltungsanordnung zur Herstellung von Datenverbindungen in Datenvermittlungsanlagen
DE2707820B2 (de) Datenverarbeitungsanlage
DE2848803A1 (de) Schaltungsanordnung zur uebertragung eines digitalen datensignals

Legal Events

Date Code Title Description
8141 Disposal/no request for examination