DE69730916T2 - Rechnersystem mit Ankopplungs-Entfernungsmöglichkeiten ohne Stillmodus oder Haltmodus - Google Patents

Rechnersystem mit Ankopplungs-Entfernungsmöglichkeiten ohne Stillmodus oder Haltmodus Download PDF

Info

Publication number
DE69730916T2
DE69730916T2 DE69730916T DE69730916T DE69730916T2 DE 69730916 T2 DE69730916 T2 DE 69730916T2 DE 69730916 T DE69730916 T DE 69730916T DE 69730916 T DE69730916 T DE 69730916T DE 69730916 T2 DE69730916 T2 DE 69730916T2
Authority
DE
Germany
Prior art keywords
bus
docking
computer system
expansion base
base unit
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
DE69730916T
Other languages
English (en)
Other versions
DE69730916D1 (de
Inventor
Richard S. Houston Lin
David J. Spring Maguire
James R. Longmont Edwards
David J. Spring Delisle
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.)
Compaq Computer Corp
Original Assignee
Compaq Computer Corp
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 Compaq Computer Corp filed Critical Compaq Computer Corp
Publication of DE69730916D1 publication Critical patent/DE69730916D1/de
Application granted granted Critical
Publication of DE69730916T2 publication Critical patent/DE69730916T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system

Description

  • Die vorliegende Erfindung betrifft allgemein einen Laptop-Computer und eine assoziierte Docking-Station sowie insbesondere ein Verfahren zum Hot-Docking und Hot-Undocking, ohne dass dafür das Computersystem in einem Standby-Modus versetzt werden muss.
  • Dank Leistungsverbesserungen in Mikroprozessor- und Speichersystemen gibt es jetzt Computer, die so leistungsstark sind, dass sie Aufgaben ausführen können, die zuvor nur durch große Mainframe-Computer ausgeführt werden konnten. Die technischen Fortschritte sind insbesondere auf dem Gebiet der tragbaren Computer rasant, wo neben Funktionen, Kosten, Größe, Gewicht und Leistung auch der Stromverbrauch berücksichtigt werden muss. Die Entwicklung ist hier vor besondere Herausforderungen gestellt, weil viele Computerbenutzer eine ähnliche Funktionalität von einem tragbaren Computer wie von einem Desktop-System erwarten. Die Bezeichnung "tragbarer Computer" wird hier breit verwendet, um die Klasse von Computern zu bezeichnen, die durch Batterien oder durch Solarenergie mit Strom versorgt werden. Derartige tragbare Computer werden als Laptop, Notebook oder Handheld bezeichnet. Diese Kategorisierung wird verwendet, um bestimmte Marktsegmente für tragbare Computer zu unterscheiden.
  • Für den Entwickler von Computersystemen sind viele Optionen verfügbar. Wenn man einfach einen Prozessor mit der höchsten verfügbaren Leistung vorsieht, erhält man zwar ein Produkt mit hoher Leistung; dies ist jedoch am heutigen Markt nicht ausreichend. Der Prozessor muss durch Hochleistungs-Komponenten und einen Hochleistungs-E/A-Bus unterstützt werden. Der Entwickler kann zwischen mehreren standardisierten E/A-Bussen wählen: ISA (Industry Standard Architecture); EISA (Extended Industry Standard Architecture); und PCI (Peripheral Component Interface). Moderne Computer werden gewöhnlich mit einer Kombination aus diesen drei Standards ausgerüstet, damit der Benutzer über die Leistung von PCI und die Abwärtskompatibilität von ISA oder EISA verfügen kann. Diese drei Busse sind dem Fachmann vertraut.
  • Bestimmte Leistungskriterien betreffen auch spezielle Funktionen des Computers, die den Computer eines Herstellers von demjenigen eines Konkurrenten unterscheiden. Diese zusätzlichen Funktionen können eine reduzierte Größe und ein reduziertes Gewicht ermöglichen. Zum Beispiel können Software- und Multimedia-Dokumente große Speichermengen verbrauchen, sodass häufig ein Festplattenlaufwerk mit sehr hoher Speicherkapazität erforderlich ist. Festplattenlaufwerke mit hoher Speicherkapazität sind jedoch gewöhnlich größer und schwerer als für einen tragbaren Computer wünschenswert ist. Weiterhin ist es vorteilhaft, wenn der Funktionsumfang des tragbaren Computers erweitert werden kann. Gewöhnliche Erweiterungssteckplätze beeinträchtigten jedoch auch die Größenvorteile eines tragbaren Systems.
  • Ein bekanntes Verfahren zum Vorsehen von zusätzlichen Funktionen ohne negative Auswirkungen auf Größe und Gewicht sieht die Verwendung einer Erweiterungsbasiseinheit (auch als Docking-Station bezeichnet) vor. Eine Erweiterungseinheit ist eine nicht-tragbare Einheit, die gewöhnlich mit Netzspannung betrieben wird und auf dem Schreibtisch des Benutzers liegt. Wenn der Benutzer am Schreibtisch arbeitet, wird der tragbare Computer mit der Erweiterungseinheit verbunden, um zusätzliche Funktionen vorzusehen. Zum Beispiel kann die Erweiterungseinheit eine Netzwerkschnittstelleinheit für die Verbindung zu einem lokalen Netzwerk, ein Plattenlaufwerk mit hoher Kapazität, einen Kathodenstrahlröhrenbildschirm, ein große Tastatur, ein Diskettenlaufwerk oder ein CD-ROM-Laufwerk und andere Peripheriegeräte enthalten.
  • Die Verbindung zwischen dem tragbaren Computer und der Erweiterungsbasiseinheit ist gewöhnlich proprietär gelöst, das bisher kein Standard entwickelt wurde. Eine Möglichkeit für die Verbindung des tragbaren Computers mit der Erweiterungsbasiseinheit verwendet den vorhandenen Eingabe/Ausgabe-Bus (E/A-Bus). Bei einem tragbaren Computer mit einem PCI-Bus und einem ISA-Bus kann einer der Busse für die Verbindung mit der Erweiterungsbasiseinheit verwendet werden. Für eine möglichst hohe Leistung ist der PCI-Bus vorzuziehen.
  • Die aktuell verfügbaren Methoden für die Verbindung von tragbaren Computern mit Docking-Stationen sind nicht optimal. Bei einem „Cold-Docking" muss der Benutzer alle Anwendungen schließen und das System ausschalten, bevor er Aktionen für das Undocking oder Docking durchführen kann. Bei diesem Docking-Typ ist ein Neustart erforderlich, damit der tragbare Computer Peripheriegeräte in der Docking-Station erkennt. Wenn die Docking-Station mit neuen Peripheriekarten ausgestattet wird, muss der Benutzer zudem ausreichendes technisches Wissen zu Interrupts und DMA (Direct Memory Access) besitzen, um die entsprechenden Jumper physikalisch zu setzen.
  • Die neueren Plug-and-Play-Standards (PnP) haben das Docking und das Undocking etwas einfacher gemacht. Bei Systemen mit einem „Warm-Docking" muss der tragbare Computer in einen Suspend- oder Standby-Modus versetzt werden, bevor ein Docking oder Undocking durchgeführt werden kann. Das Eintreten in den Standby-Modus wird gewöhnlich bewerkstelligt, indem eine Taste oder eine Schaltfläche an dem tragbaren Computer betätigt wird. In einem gewöhnlichen Standby-Zustand wird der Zustand des Systems in einem Systemspeicher gespeichert, wobei möglichst alle Geräte in einen Zustand mit niedrigem Stromverbrauch versetzt werden, wobei das Diskettenlaufwerk, das Festlaufwerk und die meisten Ports nicht mit Strom versorgt werden. Auch die Bustakte werden deaktiviert, wobei jedoch ein Takt mit niedrigerer Frequenz aktiv bleibt, um den Systemspeicher aufrechtzuerhalten. Unter Verwendung der Plug-and-Play-Funktionen kann der tragbare Computer Peripheriegeräte erkennen und aktivieren, wenn er aus dem Standby-Zustand austritt, sodass er nicht neu gestartet werden muss. Die im Standby-Zustand verbrachte Zeitdauer ist jedoch häufig länger als wünschenswert.
  • Bei vielen Dokcing-Systemen ist der tragbare Computer derart konfiguriert, dass er nach einer vorbestimmten Zeitdauer automatisch aus dem Standby-Modus austritt. Diese Zeitdauer muss ausreichen, um die motorisierte Docking/Undocking-Aktion abzuschließen, wobei außerdem eine zusätzliche Sicherheitsspanne vorzusehen ist. Der Docking/Undocking-Prozess wird also aufgrund des erforderlichen Eintritts in den Standby-Modus verlängert.
  • US-A-5 488 572 beschreibt ein Docking/Undocking-Verfahren, bei dem der Status des zu dockenden Computersystems festgestellt wird, wenn eine Docking-Aktion an einer Erweiterungsbasis durchgeführt wird. Zwei Signale werden codiert, um das Docking in Übereinstimmung mit diesem Status zu gestatten oder zu untersagen. Wenn das Computersystem während des Dockings eine Anwendung ausführt, wird das Computersystem in einen Standby-Modus versetzt.
  • Gegenwärtig gibt es kein effizientes Verfahren für das Docking/Undocking, bei dem das tragbare Computersystem nicht zuerst in einen Wartezustand versetzt oder vollständig ausgeschaltet werden muss.
  • Ein Verfahren zum Hot-Docking eines Computersystems an einer Erweiterungsbasiseinheit ist in dem unabhängigen Anspruch 1 definiert. Ein Verfahren zum Hot-Undocking eines Computersystems von einer Erweiterungsbasiseinheit ist in dem unabhängigen Anspruch 11 definiert. Ein Verfahren zum Docking und Undocking ist in dem unabhängigen Anspruch 16 definiert. Ein Computersystem und eine Erweiterungsbasiseinheit für ein derartiges Docking und Undocking sind jeweils in den unabhängigen Ansprüchen 16 und 23 definiert. Weitere Ausführungsformen der Erfindung sind in den beigefügten abhängigen Ansprüchen angegeben.
  • Ein tragbarer Computer und eine Docking-Station gemäß der vorliegenden Erfindung umfassen Hot-Docking/Undocking-Fähigkeiten. Normale Computeroperationen müssen nicht ausgesetzt werden, bevor die Systemrekonfiguration nach dem Docking/Undocking ausgeführt wird. Der Zeitaufwand und der sonstige Aufwand für das Docking bzw. Undocking und die Rekonfiguration von Systemkomponenten sind also gegenüber Systemen aus dem Stand der Technik beträchtlich reduziert. Der tragbare Computer und die Docking-Station sind physikalisch über einen gemeinsamen PCI-Bus miteinander verbunden. Eine Erweiterungs-Steckverbindung wird verwendet, um den Teil des PCI-Busses im tragbaren Computer mit dem PCI-Bus in der Erweiterungsbasis zu verbinden. Lange, mittlere und kurze Stifte sind in der Erweiterungs-Steckverbindung vorgesehen. Alle PCI-Bus-Signalleitungen werden einzeln über Stifte mit mittlerer Länge verbunden, wenn der tragbare Computer gedockt wird. Die kurzen und langen Stifte werden verwendet, um Mikrocontroller in dem tragbaren Computer und in der Erweiterungsbasis über den Verbindungsstatus des PCI-Bus-Signalstifte mit mittlerer Länge während des Dockings und Undockings zu informieren.
  • Zum Beispiel werden während des Docking-Prozesses die langen Stifte der Erweiterungs-Steckverbindung zuerst verbunden und geben ein Signal zu den Mikrocontrollern, um den bevorstehenden Docking-Vorgang anzugeben. Die kurzen Stifte informieren die Mikrocontroller darüber, dass die PCI-Bus-Signalstifte verbunden wurden. Entsprechend werden die kurzen Stifte zuerst getrennt und geben eine vorläufige Warnung zu dem Undocking-Vorgang aus, während die langen Stifte den Abschluss des Undocking-Prozesses angeben.
  • Der tragbare Computer und die Docking-Station sind funktionell über Schalter mit niedrigem Widerstand in dem tragbaren Computer verbunden. Nach einem Docking-Vorgang wird der Teil des gemeinsamen PCI-Busses in der Docking-Station durch das Schließen der Schalter mit dem PCI-Bus in dem tragbaren Computer verbunden. Wenn die Schalter geöffnet sind, sind die PCI-Busse funktionell isoliert. Die Schalter werden durch ein Signal gesteuert, das durch den Mikrocontroller in dem tragbaren Computer erzeugt wird. Während des Hot-Dockings verifiziert der Mikrocontroller vor dem Schließen der Schalter, ob die Stromversorgung in der Erweiterungsbasis aktiviert ist.
  • In der bevorzugten Ausführungsform ist der Mikrocontroller in dem tragbaren Computer konfiguriert, um einen Systemverwaltungs-Interrupt (SMI) vor und nach einer Änderung des Verbindungsstatus der langen und kurzen Stifte zu erzeugen. Der SMI benachrichtigt das BIOS und das Betriebssystem darüber, dass ein Docking/Undocking-Vorgang auftritt. Sowohl der tragbare Computer als auch die Docking-Station umfassen einen lokalen Bus verwalter zum Verwalten und Gewähren von Bussteuerungs-Anforderungen von Geräten, die mit dem gemeinsamen PCI-Bus verbunden sind. Diese lokalen Busverwalter können entweder durch das Betriebssystem (über das System-BIOS) oder durch die Mikrocontroller in einen Ruhezustand versetzt werden. Die Busverwalter werden während des Docking- und Undocking-Vorgangs in den Ruhezustand versetzt, um Buszyklen auf dem PCI-Bus zu verhindern, damit keine Zyklen verloren gehen.
  • Das tragbare Computersystem der angegebenen Ausführungsform umfasst auch Funktionen, die dem Plug-and-Play-Standard entsprechen. Nach dem Abschluss eines Hot-Docking-Vorgangs wird die Systemrekonfiguration für das PCI-Plug-and-Play und das Erweiterungsbus-Plug-and-Play ausgeführt, damit alle Systemressourcen erkannt und korrekt durch das Betriebssystem verwendet werden können. Entsprechend verhindert die Plug-and-Play-Rekonfiguration, dass der tragbare Computer Komponenten der Docking-Station nach einem Hot-Undocking erkennt.
  • Die vorliegende Erfindung wird durch die folgende ausführliche Beschreibung der bevorzugten Ausführungsform in Verbindung mit den beigefügten Zeichnungen näher erläutert.
  • 1 ist ein Blockdiagramm eines beispielhaften Computersystems mit Hot-Docking/Undocking-Fähigkeiten gemäß der vorliegenden Erfindung.
  • 2 ist ein ausführlicheres Blockdiagramm von Teilen des Computersystems von 1.
  • 3 ist ein Zeitdiagramm, das Kommunikationen zwischen dem Laptop-Computer und der Docking-Station während eines Hot-Docking-Prozesses gemäß der vorliegenden Erfindung zeigt.
  • 4 ist ein Zeitdiagramm, das Kommunikationen zwischen dem Laptop-Computer und der Docking-Station während eines Hot-Undocking-Prozesses gemäß der vorliegenden Erfindung zeigt.
  • 5a5c und 6a6c sind Flussdiagramme eines beispielhaften Mikrocontroller-Codes, der in dem Laptop-Computer während der Hot-Docking/Undocking-Vorgänge ausgeführt wird.
  • 7 ist ein Blockdiagramm von System-Softwarekomponenten, die für die Unterstützung eines Hot-Docking/Undocking konfiguriert sind.
  • 1 ist ein Blockdiagramm zu einem Computersystem, in dem die vorliegende Erfindung verwendet wird. Das Computersystem ist in einen Laptop-Teil L (nachfolgend als Laptop-Computer L bezeichnet) und in einen Docking-Station/Erweiterungsbasiseinheit-Teil E (nachfolgend als Erweiterungsbasis E bezeichnet) unterteilt. Der Laptop-Computer L ist ein in seinen Operationen autonomes Gerät, das von der Erweiterungsbasis E für entfernte Computeroperationen getrennt werden kann. Während der Laptop-Computer L an der Erweiterungsbasis E gedockt ist, wird der Laptop-Computer L mit Netzspannung betrieben. Wenn der Computer L von der Erweiterungsbasis E getrennt ist, wird der Laptop-Computer L mit Batterieleistung betrieben. Es sind auch Mechanismen vorgesehen, um den Laptop-Computer mit Netzspannung betreiben zu können, während er von der Erweiterungsbasis E getrennt ist. Die Erweiterungsbasis E bietet gewöhnlich eine Erweiterungsfähigkeit für Funktionen, die aus Raum- oder Leistungsgründen nicht in dem Laptop-Teil L enthalten sind.
  • Die Zentraleinheit (CPU) 100 in dem Laptop-Computer L ist ein herkömmlicher Mikroprozessor wie etwa ein PentiumTM-Prozessor von Intel Corporation oder ein ähnlicher Prozessor. Die CPU 100 ist mit einem Host-Bus 110 verbunden, um mit Systemlogik wie etwa einem Cache-Speicher 102, einem MPC (Mobile Peripheral Component Interconnect Bus Cache Controller) 108 und einem Paar von MDBs (Mobile Data Buffers) 104 zu kommunizieren. Der Cache-Speicher 102 ist ein herkömmlicher Cache-Speicher für die CPU 100 und verwendet vorzugsweise einen Hochgeschwindigkeits-Synchronburst-RAM. Der MPC 108 sieht eine Schnittstelle zu dem Cache-Speicher 102 vor und umfasst Tag-RAMs und andere Logik zum Vorsehen von verschiedenen Cachewegen, Größen und Geschwindigkeitskonfigurationen des Cache-Speichers 102.
  • Der MPC 108 und der MDB 104 sind auch mit einem Systemspeicher 106 und einem PCI-Bus 112 verbunden. Der MPC 108 sieht eine Adresssteuerung für den Systemspeicher 106 vor, der aus bis zu 256 MByte aus herkömmlichen DRAMs besteht. Der MDB 104 sieht einen 64-Bit-Datenpfad zwischen dem Host-Bus 110 und dem Systemspeicher 106 vor und sieht einen 32-Bit-Datenpfad zu dem PCI-Bus 112 vor. Der MPC 108 und der MDB 104 weisen drei hauptsächliche Funktionsschnittstellen auf: eine Prozessor/Cache-Schnittstelle, eine Systemspeicher-Schnittstelle und eine PCI-Bus-Schnittstelle. Der MDB 104 ist verantwortlich für das Puffern von Daten zwischen den drei Schnittstellen, während der MPC 108 für die Handhabung der Adressierung, der Befehle und der Steuerung verantwortlich ist. Jede dieser Schnittstellen wird unabhängig von den anderen betrieben und umfasst Warteschlangen für das Lesen und Schreiben zwischen zwei beliebigen der drei Schnittstellen. Die Prozessor/Cache-Schnittstele gestattet es der CPU 100, Zyklen in Lese-Pipeline-Zyklen einzureihen, und erlaubt Snoop-Zugriffe auf den Tag-RAM während der Ausführung der Pipeline-Zyklen. Die Speicherschnittstelle steuert den Systemspeicher 106 und erzeugt Steuersignale für den MDB 104. Die Schnittstelle erlaubt auch Vorausleseoperationen für diejenigen PCI-Master, die einen Lese-Mehrfachbefehl ausgeben. Die PCI-Schnittstelle gestattet es dem MPC 108, als ein PCI-Master zu funktionieren, wenn die CPU 100 auf den PCI-Bus 112 zugreift, oder als ein PCI-Slave zu funktionieren, wenn ein PCI-Gerät auf den Systemspeicher 106 zugreift.
  • Der PCI-Bus wurde für einen hohen Durchsatz und für eine erhöhte Anzahl von lokalen Prozessoren mit einer Unterstützung von E/A-Funktionen entwickelt. Zum Beispiel umfassen die meisten Platten-Controller, und insbesondere SCSI-Controller (Small Computer System Interface) und Netzwerkkarten (NICs), einen lokalen Prozessor, um die Anforderungen an den Host-Prozessor zu reduzieren. Entsprechend umfassen Grafikkarten häufig intelligente Grafikakzeleratoren, um eine Funktionsübertragung auf höherer Ebene zu erlauben. Gewöhnlich können diese Geräte als Bus-Master auftreten, um Daten mit den höchstmöglichen Raten zu übertragen. Wie bereits genannt, enthalten potenzielle Bus-Master das CPU/Hauptspeicher-Subsystem (über den MPC 108).
  • Der PCI-Bus 112 sieht eine Kommunikationsleitung zwischen dem Laptop-Computer L und der Erweiterungsbasis E vor. Ein Teil 112a des PCI-Busses 112 befindet sich im Laptop-Computer L und umfasst einen Quickswitch 113 für jedes Signal des PCI-Busses 112. In der bevorzugten Ausführungsform sind die Quickswitches 113 serielle In-Line-Mosfet-Bauelemente mit niedrigem Verlust, deren Gate (Steuerleitung) durch ein Steuersignal CONTROL vom MSIO-L 124 angesteuert wird. Der Quickswitch 113 kann also verwendet werden, um die Hot-Plug-Fähigkeiten zu unterstützen. Wenn der Laptop-Computer L an der Erweiterungsbasis E angedockt ist und die Quickswitches 113 eingeschaltet sind, wird ein Teil 112b des PCI-Busses 112 in dem Erweiterungsbus E über die Erweiterungs-Steckverbindung 146 mit dem Teil 112a verbunden, um den erweiterten PCI-Bus 112 vorzusehen. Details zu der Erweiterungs-Steckverbindung 146 und der assoziierten Docking/Undocking-Logik sind in 2 gezeigt.
  • In dem Laptop-Computer L ist der PCI-Bus 112a weiterhin mit einem Grafik-Controller 114, einer Cardbus-Schnittstelle 116 (insbesondere 116a) und einem Mobile Integrated System Controller-Laptop 118 (insbesondere MISC-L 118a) verbunden. In der Erweiterungsbasis E ist der PCI-Bus 112b weiterhin mit einem zweiten MISC 118 (MISC-E 118b), zwei PCI-Steckplätzen 148 und einer zweiten Cardbus-Schnittstelle 116 (insbesondere 116b) verbunden. Der Grafik-Controller 114 ist weiterhin mit einer stromsparenden Flüssigkristallanzeige (LCD) 120 oder alternativ hierzu mit einer Kathodenstrahlröhre (CRT) oder einem anderen Typ von Monitor verbunden. Die Cardbus-Schnittstelle 116 ist für die Kommunikation mit zusätzlichen Karten 120 wie etwa Netzwerkkarten, Modemkarten, IC-Speicherkarten und sich drehenden Speicherkarten vorzugsweise im PCMCIA-Format (Personal Computer Memory Card International Association) verbunden. Der MISC 118 sieht eine Schnittstelle für einen ISA-Bus 138 oder 140 und eine IDE-Festplatten-Schnittstelle für die Kommunikation mit Festplatten 122 vor. Der MISC 118 kann auf der Basis eines Eingangsstifts (LAP_EXT) für die Verwendung in dem Laptop-Computer L, als MISC-L 118a, und in der Erweiterungsbasis E, als MISC-E 118b, konfiguriert werden. Die zwei MISC-Geräte 118a und 118b sind also mit dem PCI-Bus 112 verbunden, wobei der MISC-L 118a mit dem PCI-Bus-Teil 112a und der MISC-E 118b mit dem PCI-Bus-Teil 112b verbunden sind. Der MISC-L 118a ist weiterhin mit dem internen ISA-Bus 138 verbunden, während der MISC-E 118b mit dem externen ISA-Bus 140 verbunden ist. Der ISA-Bus 140 ist dem Fachmann wohlbekannt.
  • Die allgemeine Funktion des MISC-L 118a und des MISC-E 118b ist sehr ähnlich, wobei Teile ihrer Funktionalität hier der Einfachheit halber gemeinsam erläutert werden. Der MISC 118 verbindet den PCI-Bus 112 mit dem ISA-Bus 138 oder 140 und funktioniert als Master oder Slave auf dem PCI-Bus 112 und als Bus-Controller auf den ISA-Bussen 138 oder 140. Von besonderem Interesse ist, dass der MISC 118 weiterhin eine Busverwaltungsschaltung einschließlich eines lokalen PCI-Busverwalters, eines ISA-Busverwalters und eines Top-Level-Busverwalters 192 (2) umfasst, der verwendet wird, um den Buszugriff zwischen dem MISC-L 118a und dem MISC-E 118b zu verwalten, wenn der Laptop L gedockt ist. Der Top-Level-Busverwalter 192 ist in dem MISC-L 118a nur dann aktiv, wenn der Laptop gedockt ist. Der MISC 118 ist die Einrichtung, über die ein EDMA-Controller und ISA-Bus-Master Zugriff auf den PCI-Bus 112 erhalten können.
  • In der bevorzugten Ausführungsform der Erfindung umfasst der MISC 118 auch 8237-kompatible DMA-Controller, einen EDMA-Controller für schnelle IDE-Festplattenlaufwerke, 8254-kompatible Timer, einen 8259-kompatiblen Interrupt-Controller, eine Hot-Docking-Unterstützungslogik, eine Systemstromversorgungs-Verwaltungslogik und eine Plug-and-Play-Unterstützung (nicht alle in 1 gezeigt). Einige Komponenten werden bei der Initialisierung durch Software deaktiviert, um Konflikte oder Duplizierungen zu verhindern. Der MISC 118 umfasst auch eine serielle Interrupt-Schnittstelle 144 für das serielle Weiterleiten von Interrupts von dem MISC-E 118b zu dem MISC-L 118a. Die serielle Interrupt-Schnittstelle 144 sieht eine Interrupt-Architektur vor, die Standard-ISA-Interrupts in einem PCI-basierten System unterstützt. Ein Erweiterungsbasis-PCI-Anforderungssignal EXP_REQ und ein Erweiterungsbasis-PCI-Gewährungssignal EXP_GNT werden ebenfalls zwischen dem MISC-E 118b und dem MISC-L 118a geleitet. Der MISC-E 118b verwendet die Signale EXP_REQ und EXP_GNT, um die Steuerung des PCI-Busses 112 anzufordern und zu erhalten. Diese zwei Signale werden über einen seriellen Bus 145 kommuniziert.
  • Der MISC 118 und die ISA-Busse 138 und 140 unterstützen Standard-ISA-Peripheriegeräte wie etwa solche, die mit einem MSIO-Peripheriegerät 124 verbunden sind (MSIO: Mobile Super Input/Output). Das MSIO-Peripheriegerät 124 umfasst eine Kombination von Standard-ISA-Peripheriegeräten wie etwa: einen 146818-kompatiblen Echtzeittakt (RTC), ein Diskettenlaufwerk für Standard-Diskettenlaufwerke (FD) 130; einen 8051-kompatiblen Mikrocontroller 172 (2) für die Kommunikation mit einer Standard-Tastatur 132 und einer Zeigeeinrichtung 150, für die Durchführung von Abtast- und Tastencode-Umwandlungen auf der Tastatur 132 und für die Durchführung von Stromversorgungsverwaltungs- und Hot-Docking-Funktionen; einen UART (Universal Asynchronous Receiver Transmitter) für Standard-Seriellports 136; und eine Parallelport-Logik für einen parallelen Port 134. Der MSIO 124b kann auch einen Docking-Motor 117 mit variabler Geschwindigkeit in der Erweiterungsbasis E steuern. (Die Tastatur 132 und die Zeigeeinrichtung 150 sind in den Zeichnungen mit dem MSIO 124b verbunden, wobei sie statt dessen und vorzugsweise aber auch direkt über die Steckverbindung 146 verbunden sein können.) Ein ROM 126 ist mit dem MSIO 124 verbunden, um Code zu dem 8051-Mikrocontroller 172 zu geben. Außerdem gibt der ROM 126 BIOS-Code zu der CPU 100, der aus dem ROM 126 kopiert und bei der Systeminitialisierung im Systemspeicher 106 abgelegt wird, sodass danach der 8051-Mikrocontroller 172 auf den ROM 126 zugreifen kann. Ein 1-Bit-MSIO-Seriellbus (MSB) 152 ist vorgesehen, um Register mit Informationen zu der Stromversorgungsverwaltung und dem Hot-Docking zu übertragen. Idealerweise kann der Bus erweitert werden und weist eine sehr niedrige Latenz auf.
  • Wenn das Laptop L gedockt ist, sind der MSIO-L 124a, der MSIO 124b und andere Systemkomponenten (nicht gezeigt) weiterhin mit einem Standard-I2C-Bus 149 verbunden. Der IC- oder I2C-Bus 149 ist ein einfacher bidirektionaler Zweidraht-Bus, der verwendet wird, um effiziente Steuerungs- und Identifikationsfunktionen zwischen den integrierten Schaltungen vorzusehen. Details zu dem I2C-Bus sind in „The I2C-Bus and How to Use It (Including Specification)", veröffentlicht von Phillips Semiconductors, January 1992 beschrieben. Der I2C-Bus 149 besteht aus zwei Leitungen: einer seriellen Taktleitung (SCL) und einer seriellen Datenleitung (SDA). Jede dieser Leitungen ist bidirektional. Die SCL-Leitung sieht das Taktsignal für Datenübertragungen über den I2C-Bus vor. Die SDA-Leitung ist die Datenleitung für Datenübertragungen über den I2C-Bus. Jedes mit dem I2C-Bus verbundene Gerät wird durch eine eindeutige Adresse erkannt. Serielle Widerstände mit niedrigen Wiederstandswerten (nicht gezeigt) sind gewöhnlich an jeder Geräteverbindung vorgesehen, um vor Hochspannungsspitzen zu schützen.
  • In dem Laptop-Computer L sind auch ein Modem und ein Audio-Peripheriegerät 128 vorgesehen und mit dem ISA-Bus 128 verbunden. Das Modem und das Audio-Peripheriegerät 128 umfassen einen Standard-Telefoniekommunikationsport für die Verbindung zu einem Telefon T sowie eine Schnittstelle für die Verbindung zu einem Paar von Stereolautsprechern S. In der Erweiterungsbasis E sind drei ISA-Steckplätze 142 für Standard-ISA-Karten vorgesehen.
  • 1 gibt ein beispielhaftes Computersystem L und eine beispielhafte Erweiterungsbasis E wieder. Es ist jedoch zu beachten, dass auch andere effektive Ausführungsformen mit einer anderen Anordnungen der Komponenten durch den Fachmann entwickelt werden können.
  • Ein ausführlicheres schematisches Diagramm der Teile in dem Hot-Docking-Schaltungsaufbau ist in 2 gezeigt. Der gezeigte Schaltungsaufbau koordiniert die Kommunikationen zwischen dem Laptop-Computer L und der Erweiterungsbasis E derart, dass das Betriebssystem einen Docking-Vorgang erkennen kann und den PCI-Bus 112 vor dem Docking in den Ruhezustand versetzen kann.
  • Die physikalische Schnittstelle zwischen dem Laptop-Computer L und der Erweiterungsbasis E besteht aus einer Erweiterungs-Steckverbindung 146 mit kurzen Stiften 147a, mittleren Stiften 147b und langen Stiften 147c. Die Verbindung ist graphisch durch „männliche" Stifte mit entsprechenden Längen dargestellt, wobei jedoch die tatsächliche Implementierung „weibliche" Stifte/Buchsen auf einer Seite umfasst (vorzugsweise auf der Seite des Laptop-Computers L). Die kurzen und langen Stifte 147a und 147c werden verwendet, um verschiedene Signale zu erzeugen, die Docking/Undocking-Vorgänge wiedergeben.
  • Ein Paar von ODER-Gattern 178 und 180 mit jeweils zwei Eingängen wird verwendet, um ein Verbindungssignal EBOXS# zu erzeugen, das den Verbindungsstatus der kurzen Stifte 147a angibt. Ein „#"-Zeichen wird in dieser Beschreibung verwendet, um ein aktives niedriges Signal anzugeben. In der beschriebenen Ausführungsform wird das Signal EBOXS# durch die Ausgänge dieser ODER-Gatter 178 und 180 ausgegeben und geht zu einem logisch niedrigen Pegel über, wenn alle kurzen Stifte 147a an den Eingängen der ODER-Gatter 178 und 180 verbunden wurden. Die Ausgabe eines ersten ODER-Gatters 178 in dem Laptop-Computer L wird verwendet, um den 8051-Mikrocontroller 170a des MSIO-L 124a zu unterbrechen. Ein Eingang dieses ODER-Gatters 178 ist mit einem kurzen Stift 147a an einem Ende der Erweiterungs-Steckverbindung 146 verbunden, während der zweite Eingang mit einem kurzen Stift 147a am entgegengesetzten Ende der Erweiterungs-Steckverbindung 146 verbunden ist. Die Platzierung der kurzen Stiftpaare an entgegengesetzten Enden der Erweiterungs-Steckverbindung 146 hilft Situationen festzustellen, in denen der Laptop- Computer L leicht schräg oder verdreht gedockt bzw. entdockt wird. In einem derartigen Fall können die Stifte unter Umständen nicht gleichmäßig verbunden/getrennt werden. Wenn die kurzen Stifte 147a nur an einem Ende der Erweiterungs-Steckverbindung 146 vorgesehen sind, könnte also eine falsche Angabe zu dem Verbindungsstatus der anderen Stifte vorgesehen werden.
  • Ein Paar von Pull-up-Widerständen 182 und 190 sind jeweils mit den Eingängen des ODER-Gatters 178 verbunden. Wenn also der kurze Stift 147a an einem Eingang von dem gegenüberliegenden kurzen Stift 147a in der Erweiterungsbasis E getrennt wird, wird dieser Eingang durch den assoziierten Pull-up-Widerstand zu einem logisch hohen Pegel gezogen
  • Ein ODER-Gatter 180 in der Erweiterungsbasis E ist ähnlich konfiguriert, um den 8051-Mikrocontroller 170b in dem MSIO-E 124b zu unterbrechen. Ein erster Eingang zu diesem ODER-Gatter 80 ist mit einem kurzen Stift 174a an einem Ende der Erweiterungs-Steckverbindung 146 verbunden, während der zweite Eingang mit einem kurzen Stift 147a am entgegengesetzten Ende der Erweiterungs-Steckverbindung 146 verbunden ist. Pull-up-Widerstände 184 und 192 werden verwendet, um die Eingänge des ODER-Gatters 180 unabhängig zu einem logisch hohen Pegel zu ziehen, wenn die kurzen Stifte 174a nicht miteinander verbunden sind.
  • Ein zweiter Satz von gegenüberliegenden kurzen Stiften 147a ist an beiden Enden der Erweiterungs-Steckverbindung 146 vorgesehen. In dem Laptop-Computer L sind diese Stifte direkt mit der Erdungsebene verbunden. Auf der Seite der Erweiterungsbasis ist ein zweiter kurzer Stift 147a auf beiden Seiten der Erweiterungs-Steckverbindung mit seinem benachbarten kurzen Stift 147a (den Eingängen des ODER-Gatters) verbunden. Wenn also die kurzen Stifte 147a auf beiden Seiten der Erweiterungseinheit verbunden sind, werden die Eingänge der ODER-Gatter 178 und 180 zur Erde gezogen. Das Signal EBOXS# in der Erweiterungsbasis E und in dem Laptop-Computer L geht deshalb zu einem logisch niedrigen Pegel über. Diese Konfiguration stellt sicher, dass die 8051-Mikrocontroller 170a und 170b erst unterbrochen werden, nachdem die kurzen Stifte 147a an beiden Enden der Erweiterungs-Steckverbindung 146 verbunden/getrennt wurden.
  • Während des Docking-Vorgangs werden die kurzen Stifte 174a verwendet, um den Laptop-Computer L und die Erweiterungsbasis L darüber zu informieren, dass alle Stifte, einschließlich der langen und mittleren Stifte 147c und 147b der Erweiterungs-Steckverbindung 146 verbunden sind. Während des Undocking-Vorgangs werden die kurzen Stifte 147a verwendet, um den 8051-Mikrocontrollern 170a und 170b über einen bevorstehenden Undocking-Vorgang zu informieren. Das Warnsignal wird verwendet, um die PCI-Busse 112a und 112b in den Ruhezustand zu versetzen, bevor die Quickswitches 113 geöffnet werden, wodurch verhindert wird, dass PCI-Zyklen während des Undocking-Vorgangs verloren gehen.
  • Auf ähnliche Weise werden die langen Stifte 147c der Erweiterungs-Steckverbindung 146 verwendet, um eine vorläufige Warnung zu einem Docking-Vorgang vorzusehen und den Abschluss eines Undocking-Vorgangs anzugeben. Insbesondere wird ein Signal EBOXL#, das die Verbindung der langen Stifte angibt, zu den Mikrocontrollern 170a und 170b gegeben. Ein erster Pull-up-Widerstand 186 ist mit der Signalleitung für das Signal EBOXL# auf der Seite des Laptop-Computers L verbunden, während ein zweiter Pull-up-Widerstand 188 mit der Signalleitung für das Signal EBOXL# auf der Seite der Erweiterungsbasis E verbunden ist. Das Signal EBOXL# wird also zu einem logisch hohen Pegel auf beiden Seiten gezogen, wenn die langen Stifte 147c getrennt werden. An jedem Ende der Erweiterungs-Steckverbindung 146 wird ein gegenüberliegendes Paar von langen Stiften 147c verwendet, um das Signal EBOXL# nach einer erfolgreichen Verbindung zu einem logisch niedrigen Pegel zu ziehen. Auf der Seite des Laptop-Computers L ist einer der langen Stifte 147c jedes Paares mit der Signalleitung für das Signal EBOXL# verbunden, während der zweite lange Stift 147c mit der Erdungsebene verbunden ist. Auf der Seite der Erweiterungsbasis E sind beide lange Stifte 147c jedes Paares mit der Signalleitung für das Signal EBOXL# verbunden, sodass die Verbindung der langen Stifte 147c die Signalleitung zu der Erdungsebene in dem Laptop-Computer L kurzschließt.
  • Ein weiteres Paar von gegenüberliegenden langen Stiften 147c wird verwendet, um eine Signalleitung für ein Systembereitschaftssignal SRDY von der allgemeinen E/A-Schaltung 172a des MSIO-L 124a zu dem 8051-Mikrocontroller 170b des MSIO-E 124b zu führen. Ein weiteres Paar von gegenüberliegenden langen Stiften 147c wird verwendet, um eine Signalleitung für ein Erweiterungsbasis-Bereitschaftssignal ERDY von der allgemeinen E/A-Schaltung 172b des MSIO-E 124b zu dem 8051-Mikrocontroller 170a des MSIO-L 124a zu führen. Die Signale ERDY und SRDY werden für zwei verschiedene Zwecke verwendet, nämlich für ein Handshaking zum Schließen der Quickswitches 113 während des Dockings und für ein Handshaking zwischen verschiedenen mit dem I2C-Bus verbundenen Komponenten. Diese Signale werden in Verbindung mit 3 und 4 ausführlicher erläutert.
  • Wie in 2 gezeigt, werden mittlere Stifte 147b verwendet, um die einzelnen Signalleitungen der zwei Teile 112a und 112b des PCI-Busses zu verbinden. Wenn die mittleren Stifte 174b verbunden sind und die Quickschalter 113 geschlossen sind, wird der PCI-Bus 112 physikalisch und operativ vereint. Der Deutlichkeit halber sind nur einige wenige der einzelnen Signalleitungsverbindungen zu dem PCI-Bus 112 gezeigt.
  • Die mittleren Stifte 174b werden auch verwendet, um den I2C-Bus 149a des Laptop-Computers L mit dem I2C-Bus 149b der Erweiterungsbasis E zu verbinden. Der MSIO-L 124a und der MSIO-E 144b enthalten jeweils eine I2C-Schnittstelle 174a bzw. 174b, die entweder als Master oder als Slave auf dem I2C-Bus 149 dienen kann. Weiterhin ist mit dem I2C-Bus 149b ein EEPROM 151 verbunden, der verwendet wird, um Identifikationsinformationen zu der Erweiterungsbasis E vorzusehen. Diese Informationen können durch Systemkomponenten des Laptop-Computers L gelesen werden, um die Intelligenz der Erweiterungsbasis E festzustellen und das entsprechend Handshaking-Protokoll zu bestimmen. In der bevorzugten Ausführungsform wird der EEPROM 151 durch den Laptop-Computer L mit Strom versorgt. Auf diese Weise können Daten zu der Erweiterungsbasis E unabhängig von deren Stromversorgungssituation abgerufen werden. Die Verwendung des I2C-Busses 149 zur Koordination von Kommunikationen zwischen den 8051-Mikrocontrolern 170a und 170b bietet einen flexiblen und intelligenten Kommunikationskanal.
  • Wie zuvor genannt, enthalten der MISC-L 118a und der MISC-E 118b jeweils einen Top-Level-Busverwalter 192a bzw. 192b. Wenn der Laptop-Computer L gedockt ist, sieht der Top-Level-Busverwalter 192a des MISC-L 118a Top-Level-Verwaltungsfunktionen für das gesamte System vor, während der Top-Level-Busverwalter 192 des MISC-E 118b deaktiviert ist.
  • Der Top-Level-Busverwalter 192a steuert im wesentlichen, ob der lokale PCI-Busverwalter 194a des MISC-L 118a oder der lokale PCI-Busverwalter 194b des MISC-E 118b Zugriff auf den PCI-Bus 112 hat. Der lokale PCI-Busverwalter 194a oder der lokale PCI-Busveralter 194b muss eine Gewährung von dem Top-Level-Busverwalter erhalten, bevor er einen Zyklus übernimmt. Gewährungen für den PCI-Bus 112 basieren hauptsächlich auf einer Zeitmultiplex-Basis. Wenn der Laptop-Computer L nicht gedockt ist, gewährt der Top-Level-Busverwalter 192a den Buszugriff für den lokalen PCI-Busverwalter 194a des Laptops. Der PCI-Busverwalter 194a des Laptops fordert den Buszugriff unter Verwendung eines Laptop-Anforderungssignals (nicht gezeigt) zu dem Top-Level-Busverwalter 192a an und bekommt den Buszugriff durch den Top-Level-Busveralter 192a unter Verwendung eines Laptop-Gewährungssignals zugewiesen. Diese Signale sind innerhalb des Laptop-Computers L unabhängig. Der Erweiterungsbasis-PCI-Busverwalter 194b sendet und empfängt entsprechend Erweiterungsanforderungs-/gewährungssignale EXP_GNT/EXP_REQ (1), die zwischen dem Laptop-Computer L und der Erweiterungsbasis E über mittlere Stifte 147b in der Erweiterungs-Steckverbindung 146 kommuniziert werden.
  • Im Folgenden wird auf 3 Bezug genommen, die ein Zeitdiagramm zu beispielhaften Kommunikationen zwischen dem Laptop-Computer L und der Erweiterungsbasis E während eines Hot-Docking-Vorgangs zeigt. Insbesondere zeigt das Zeitdiagramm das Handshaking, das zwischen dem Laptop-Computer L und der Erweiterungsbasis E über das Erweiterungsbasis-Bereitschaftssignal ERDY und das Systembereitschaftssignal SRDY während des Hot-Docking-Vorgangs auftritt. Das Handshaking wird verwendet, um die lokalen PCI-Busverwalter 194a und 194b in einen Ruhemodus (IDLE) zu versetzen, sodass das Schließen der Quickswitches 113 keine potenziell fatalen Systemfehler verursacht. Anders gesagt, folgt auf ein physikalisches Docking ein logisches Docking, über das die PCI-Busteile 112a und 112b sicher und schnell vereint werden können.
  • In der beschriebenen Ausführungsform beginnt der Vorgang, wenn der Laptop-Computer L in ein Docking-Tray (nicht gezeigt) für das Hot-Docking gelegt wird. In Schritt 2 werden die langen Stifte 147c von 2 verbunden, sodass das Signal EBOXL# von einem logisch hohen Pegel zu einem logisch niedrigen Pegel übergeht. Der Übergang des Signals EBOXL# wird durch die 8051-Mikrocontroller 170a und 170b als ein Interrupt erkannt und gibt an, dass der Benutzer den Laptop-Computer L docken möchte. In Reaktion darauf aktiviert der 8051-Mikrocontroller 170b des MSIO-E 124b in Schritt 3 den Docking-Motor 117 über den I2C-Bus 149. Der Docking-Motor 117 ist in der bevorzugten Ausführungsform enthalten, um die Wiederholbarkeit und Zuverlässigkeit der Docking-Prozedur zu unterstützen.
  • Kurz nachdem der Docking-Motor 117 eingeschaltet wurde, werden die kurzen Stifte 147a verbunden (Schritt 4). Wenn die kurzen Stifte 147a verbunden sind, geht das Signal EBOXS# von einem logisch hohen Pegel zu einem logisch niedrigen Pegel über, um die 8051-Mikrocontroller 170a und 170b darüber zu informieren dass alle Signalleitungen zwischen dem Laptop-Computer L und der Erweiterungsbasis E jetzt verbunden sind. Kurz danach wird in den Schritten 5 und 6 der Docking-Motor 117 angehalten, schließt die Erweiterungsbasis E die Initialisierung ab und gibt der MSIO-E 124b das Erweiterungsbasis-Bereitschaftssignal ERDY zu dem 8051-Mikrocontroler 170a des MSIO-L 124a aus. Während des Initialisierungsprozesses werden Schritte zum Initialisieren von Maskenwerten, Hardware-Mailboxen und verschiedenen Teilen des 8051-Mikrocontrollercodes 170 durchgeführt. Die Ausgabe des Erweiterungsbasis-Bereitschaftssignals ERDY veranlasst den Laptop-Computer L, Erweiterungsbasis-Identifikationsinformation über den I2C-Bus 194 in Schritt 7 abzurufen. Wie zuvor genannt, werden die Informationen zu der Konfiguration der Erweiterungsbasis E in einem EEPROM 151 gespeichert, der mit dem I2C-Bus 149b verbunden ist.
  • Der Docking-Vorgang folgt als nächstes der Schritt 8, in dem der Laptop-Computer L den I2C-Bus 149 freigibt, indem er das Systembereitschaftssignal SRDY ausgibt. In der beschriebenen Ausführungsform werden das Erweiterungsbasis-Bereitschaftssignal ERDY und das Systembereitschaftssignal SRDY verwendet, um Kollisionen auf dem I2C-Bus 149 zu vermeiden. Wenn das Erweiterungsbasis-Bereitschaftssignal ERDY einen logisch niedrigen Pegel aufweist, darf der 8051-Mikrocontroller 170a in dem Laptop-Computer L kein I2C-Busmater sein. Wenn entsprechend das Systembereitschaftssignal SRDY ausgegeben wird, darf der 8051-Mikrocontroller 170b in der Erweiterungsbasis E kein I2C-Busmaster sein. Im wesentlichen werden diese zwei Signale als Semaphor-Flags verwendet. Wenn zum Beispiel der Laptop-Computer L einen Befehl über den I2C-Bus 149 zu der Erweiterungsbasis E senden muss, deaktiviert er zuerst das Systembereitschaftssignal SRDY, um Kollisionen auf dem I2C-Bus zu vermeiden. Wenn der 8051-Mikrocontroller 170a mit Batterien oder Lüftern oder anderen mit dem I2C-Bus 149 verbundenen Komponenten kommunizieren möchte, untersucht er zuerst das Erweiterungsbasis-Bereitschaftssignal ERDY. Wenn das Signal ERDY aktiv ist (auf einem logisch niedrigen Pegel), erkennt der 8051-Mikrocontroller 170a, dass die Erweiterungsbasis E über den I2C-Bus 149 kommuniziert und unterbricht diesen nicht. Das Systembereitschaftssignal SRDY wird in gleicher Weise verwendet.
  • In einer idealen I2C-Bus-Implementierung ist diese zusätzliche Ebene des Handshakings nicht erforderlich, wobei der I2C-Bus mehr als einen Master aufweisen kann, die gleichzeitig kommunizieren. In der angegebenen Ausführungsform werden jedoch die Signale SRDY und ERDY verwendet, um potenzielle Konkurrenzprobleme auf dem I2C-Bus zu vermeiden. Es ist zu beachten, dass der I2C-Bus 149 nicht durch die Quickswitches 133 aktiviert/deaktiviert wird und dass die zwei Teile 149a und 149b durch mittlere Stifte 147b verbunden werden, sobald das System gedockt wird.
  • Nachdem der Laptop-Computer L die Erweiterungsbasisinformationen über den I2C-Bus 149 abgerufen hat, gibt er das Systembereitschaftssignal SRDY aus und gibt den I2C-Bus frei. In Schritt 9 erzeugt der 8051-Mikrocontroller 170a des MSIO-L 124a einen ersten Systemverwaltungs-Interrupt (SMI). Ein SMI ist ein nicht maskierbarer Interrupt mit beinahe der höchsten Priorität in dem Computersystem. Nur das Rücksetzsignal R\S* und das Cash-Flush-Signal FLUSH*, die auch als Interrupts betrachtet werden können, haben eine höhere Priorität als der SMI. Details zu dem Systemverwaltungs-Interrupt und dem Systemverwaltungsmodus sind dem Fachmann wohlbekannt. In der bevorzugten Ausführungsform wird der SMI erzeugt, indem er zu einem 8051-to-System-Mailbox-Register (nicht gezeigt) geschrieben wird, wobei er jedoch auch auf andere Weise erzeugt werden kann.
  • Der SMI versetzt das Computersystem in dem Systemverwaltungsmodus und veranlasst, dass eine SMI-Handler-Routine ausgeführt wird. Der SMI-Handler reagiert, indem er das System-BIOS darüber informiert, dass der Docking-Zustand geändert wurde. Dies ist der Beginn des logischen Teils des Docking-Vorgangs. Nach dem Empfang des SMI setzt das BIO Speicher-Flags (Bits), die durch das Betriebssystem als Docking-Ereignis interpretiert werden. Wenn das System den Systemverwaltungsmodus verlässt und die Prozessorsteuerung zu dem Betriebssystem zurückkehrt, ruft das Betriebssystem das BIOS auf, um nach Änderungen zu suchen, die eine Anforderung für ein Docking angeben. Ein virtueller Gerätetreiber (VxD) kann durch das Betriebssystem verwendet werden, um durch das System-BIOS gesetzte Flags abzurufen. Allgemein ist es für das System vorteilhaft, wenn dieses weniger als 100 Mikrosekunden am Stück im Systemverwaltungsmodus bleibt.
  • Das Betriebssystem, das vorzugsweise Windows 95® oder ein anderes Betriebssystem mit einer Unerstützung von Plug-and-Play ist, ruft als nächstes Treiber oder andere Laufprozesse ab, um zu bestimmen, ob es die Hot-Docking-Anforderung annimmt oder ablehnt. Wenn das angeforderte Hot-Docking durch das Betriebssystem abgelehnt wird, bleiben die Quickswitches 133 offen. Wenn das Docking-Ereignis angenommen wird, sendet das Betriebssystem einen Befehl zu dem BIOS, um dieses zum Abschließen des Docking-Vorgangs anzuweisen und die Quickswitches 113 zu schließen.
  • In Schritt 10 versetzt entweder das System-BIOS oder der MSIO-L 124a den lokalen PCI-Busverwalter 194a des MISC-L 118a in einen Ruhemodus, um die gesamte Aktivität des PCI-Busses 112a zu unterbinden. Die Busverwalter des MISC 118 können in drei Modi betrieben werden: Master, Slave und Idle. Diese Kombinationen ermöglichen eine Unterstützung des Hot-Dockings und gestatten dem MISC 118, sowohl im Laptop-Computer L und in der Erweiterungsbasis E verwendet zu werden. Wie bereits genannt, können der MISC-L 118a und der MISC-E 118b beide während der Hot-Docking-Sequenz in den IDLE-Modus versetzt werden. Der IDLE-Modus unterbindet die gesamte Aktivität auf dem PCI-Bus 112 und veranlasst, dass der Bus in dem MISC 118 geparkt wird. In den IDLE-Modus kann entweder vom SLAVE- oder vom MASTER-Modus aus eingetreten werden. Aus dem IDLE-Modus kann entweder in den SLAVE- oder in den MASTER-Modus ausgetreten werden. Wenn ein Busverwalter-Idle-Anforderungsbit (nicht gezeigt) durch den MSIO 124 über den MSB-Bus 152 gesetzt wird, beginnt die folgende Sequenz:
    • 1 Der Top-Level-Busverwalter (nur im MISC-L 118a aktiv) übergeht die Gewährungs-Timer und fragt unmittelbar Anforderungen zu den Master- und Slave-Busverwaltern ab.
    • 2 Die Master- und Slave-Busverwalter funktionieren normal und können die minimalen Gewährungszeiten für ihre entsprechenden Master abschließen.
    • 3 Die Master- und Slave-Busverwalter maskieren dann alle Anforderungen und parken sich selbst auf dem Bus.
    • 4 Die Master- und Slave-Busverwalter geben ihre entsprechenden Busverwalter-Idle-Statusbits (nicht gezeigt) aus, die wiederum über den MSB-Bus 152 zu dem MSIO 124 kommuniziert werden, um anzugeben, dass der PCI-Bus 112 im Leerlauf ist und für das Hot-Docking bereit ist.
  • Wenn das Busverwaltungs-Idle-Anforderungsbit nach dem Abschluss des Hot-Dockings gelöscht wird, negiert der Top-Level-Busverwalter in dem MISC-L 118a die Busverwalter-Idle-Statusbits und übergibt einfach an den MISC-L 118a. Danach wird die normale Aktivität auf dem PCI-Bus 112 wiederaufgenommen.
  • Es ist zu beachten, dass der „IDLE-Modus" und der „Standby-Modus" separate und unterschiedliche Zustände sind. In einem typischen Standby-Modus wird der Zustand des Systems im Systemspeicher gespeichert und werden möglichst alle Geräte in einen Zustand niedrigen Stromverbrauchs versetzt, wobei das Diskettenlaufwerk, das Festplattenlaufwerk und die meisten Ports nicht mit Strom versorgt werden. Auch die Bustakte werden deaktiviert, wobei jedoch ein Takt mit niedrigerer Frequenz aktiv bleibt, um den Systemspeicher aufrechtzuerhalten.
  • In Schritt 11 erzeugt das Plug-and-Play-BIOS einen Mailbox-Laufzeitbefehl, der verwendet wird, um den 8051-Mikrocontroller 170a darüber zu informieren, dass er die Erlaubnis zur Fortsetzung des Docking-Vorgangs hat. Die Kommunikation mit dem 8051-Mikrocontroller 170a wird über das System-BIOS bewerkstelligt, das wiederum mit dem 8051-Mikrocontroller-Code über Hardware-Mailboxen kommuniziert.
  • Nach dem Empfang der Erlaubnis schreitet der 8051-Mikrocontroller 170a in Schritt 12 mit der Aktivierung des PCI-Takts in der Erweiterungsbasis E fort. Der 8051-Mikrocontroller 170a des Laptop-Computers L ist konfiguriert, um den PCI-Takt der Erweiterungsbasis E über einen Allgemein-E/A-Stift in dem MSIO-L 124a zu steuern. In der beschriebenen Ausführungsform der Erfindung muss der PCI-Takt der Erweiterungsbasis E aktiviert werden, um den PCI-Bus 112b in den Ruhemodus zu versetzen.
  • Es können verschiedene Verfahren verwendet werden, um das PCI-Taktsignal in der Erweiterungsbasis E zu erzeugen. Zum Beispiel können zusätzliche Quickswitches in der Erweiterungsbasis E vorgesehen werden, um den PCI-Takt zwischen Takten aus der Erweiterungsbasis E und Takten aus dem Laptop-Computer L zu schalten. Alternativ hierzu kann ein Takterzeuger-Chip verwendet werden, um PCI-Takte für die Erweiterungsbasis zu erzeugen, die mit einer internen Oszillationsquelle oder mit dem PCI-Takt des Laptop-Computers L synchronisiert sind. Der PCI-Takt der Erweiterung ist vorzugsweise ein 33-MHz-Taktsignal, das durch verschiedene Komponenten der Erweiterungsbasis E einschließlich des MISC-E 118b verwendet wird.
  • In der bevorzugten Ausführungsform sind zwei Stromversorgungsebenen in der Erweiterungsbasis E enthalten. Eine erste Stromversorgungsebene VCC1 versorgt einen Echtzeittakt (RTC) in dem MSIO-L 124b mit Strom. Neben der Aufrechterhaltung des RTC wird diese Stromversorgungsebene VCC1 auch verwendet, um sicherzustellen, dass die CMOS-Speicherinhalte nicht gelöscht werden. Die erste Stromversorgungsebene VCC1 wird auch verwendet, um den Flash-ROM 126, die I2C-Schnittstelle 174b, den Docking-Motor 117 und den 8051-Mikrocontroller 170b in der Erweiterungsbasis E mit Strom zu versorgen. Es geht wenig Energie in dieser Stromversorgungsebene verloren. Wenn die Erweiterungsbasis E von einer Steckdose getrennt wird, geht jedoch die Stromquelle für VCC1 verloren. Eine zweite Hauptstromversorgungsebene VCC2 wird verwendet, um die anderen Komponenten der Erweiterungsbasis E sowie den gedockten Laptop-Computer L mit Strom zu versorgen.
  • In Schritt 13 sendet der 8051-Mikrocontroler 170a einen „Ein"-Befehl zu der Erweiterungsbasis, um deren Hauptstromversorgungsebene VCC2 einzuschalten. Das Systembereitschaftssignal SRDY wird während dieser Kommunikation deaktiviert, um andere Nutzungen des I2C-Busses 149 zu verhindern. Nachdem der Ein-Befehl gesendet wurde, schreitet die Steuerung zu Schritt 14 fort, wo der MSIO-E 124b das Erweiterungsbasis-Bereitschaftssignal ERDY deaktiviert, während die Hauptstromversorgungsebene VCC2 in der Erweiterungsbasis E aktiviert wird. Die Hauptstromversorgung der Erweiterungsbasis E ist vorzugsweise derjenigen einer herkömmlichen Stromversorgung für einen Desktop-Computer ähnlich. Dieser Prozess zum Aktivieren der Stromversorgung benötigt maximal ungefähr drei Sekunden, wobei er in der beschriebenen Ausführungsform gewöhnlich nur ungefähr 500 ms benötigt.
  • Nachdem die Stromversorgung in einen Ruhezustand eingetreten ist, gibt sie ein POWERGOOD-Signal (nicht gezeigt) aus, um das System darüber zu informieren, dass die Hauptstromversorgungsebene VCC2 aktiviert ist. Es ist zu beachten, dass die Haupt stromversorgungsebene VCC2 nicht erforderlich ist, um den Docking-Motor 1 und den PCI-Takt zu betreiben. Weiterhin wird die Stromversorgung der Erweiterungsbasis E allgemein deaktiviert, wenn der Laptop-Computer L nicht gedockt ist. Nachdem in Schritt 15 die Hauptstromversorgungsebene VCC2 in der Erweiterungsbasis E eingeschaltet wurde, wird der MISC-E 118b in den IDLE-Modus versetzt, wobei dann in den SLAVE-Modus übergegangen wird. Der MISC-E 118b wird in den Slave-Modus versetzt, sodass er sich in einem bekannten Zustand befindet, falls ein Fehler während des Docking-Vorgangs auftreten sollte. Der 8051-Mikrocontroller 170b verwendet den MSB-Seriellbus 152, um den lokalen PCI-Busverwalter 194b des MISC-E 118b in den Ruhezustand zu versetzen.
  • In Schritt 16 deaktiviert der 8051-Mikrocontroller 170b seinen eigenen Takt, um die Steuerung des assoziierten Flash-ROMs 126 wie oben beschrieben an das System-BIOS zu übergeben. Das System-BIOS kann danach den Takt für den 8051-Mikrocontroller 170b steuern. Das Erweiterungsbasis-Bereitschaftssignal ERDY wird auch in Schritt 16 ausgegeben. Alle PCI-Taktsignale in der Erweiterungsbasis E befinden sich zu diesem Zeitpunkt auf einem logisch niedrigen Pegel. Die Ausgabe des Erweiterungsbasis-Bereitschaftssignal gibt an, dass die Erweiterungsbasis E in einem korrekten Zustand für das sichere Schließen der Quickswitches 113 ist.
  • In Schritt 17 gibt das MSIO-L 124a ein Steuersignal CONTROL zu den Quickswitches 113 aus. Die Quickswitches 113 werden dann geschlossen, sodass sie die zwei Teile 112a und 112b des PCI-Busses funktionell verbinden. Nachdem die Quickswitches 113 geschlossen wurden, erzeugt der 8051-Mikrocontroller 170a einen zweiten SMI (Schritt 18), der das System-BIOS darüber informiert, dass die Quickswitches 113 geschlossen sind. Das Betriebssystem kann jetzt mit den Geräten kommunizieren, die mit dem PCI-Bus 112b in der Erweiterungsbasis E verbunden sind. Der Laptop-Computer L kann jetzt die verschiedenen Controller der Erweiterungsbasis E programmieren, und das System-BIOS kann mit allen Geräten auf dem PCI-Bus 112 für die Plug-and-Play-Konfiguration kommunizieren.
  • In Schritt 19 wird der lokale Busverwalter des MISC-L 118a in den MASTER-Modus versetzt. Dann werden die PCI-Plug-and-Play- und die ISA-Plug-and-Play-Systemrekonfiguration durchgeführt, sodass alle Systemressourcen korrekt genutzt werden können. Während der Rekonfiguration werden alle Plug-and-Play-Karten zuerst isoliert und bekommen einen Identifikationscode zugewiesen. Die Ressourcendaten werden dann von jeder installierten Karte gelesen. Auf der Basis der Ressourcendaten werden die Ressourcen des Computersystems für jede Plug-and-Play-Karte verwaltet, worauf jede identifizierte Karte konfiguriert und aktiviert wird. Es werden auch Gerätetreiber für die Karten geladen.
  • In 4 ist ein Zeitdiagramm zu beispielhaften Kommunikationen zwischen dem Laptop-Computer L und der Erweiterungsbasis E während eines Hot-Undocking-Prozesses gezeigt. Das Handshaking wird verwendet, um die lokalen PCI-Busverwalter 194a und 194b in einen IDLE-Modus zu versetzen, damit eine Öffnung der Quickswitches 113 keinen Verlust von Zyklen über den PCI-Bus 112 verursacht.
  • In der beschriebenen Ausführungsform wird ein Undocking in Schritt 1 entweder durch das Drücken einer Undocking-Taste bzw. eines Auswurfschalters oder über ein Plug-and-Play-fähiges Betriebssystem durch das Klicken auf eine Schaltfläche für das Undocking eingeleitet. Wenn das Undocking durch eine Software eingeleitet wird, sind die Schritte 2 und 3 nicht erforderlich. In Schritt 2 sendet der 8051-Mikrocontroller 170b eine Undocking-Anforderung über den I2C-Bus 149 zu dem 8051-Mikrocontroller 170a. Das Signal ERDY wird zu diesem Zeitpunkt niedrig gepulst, um andere Nutzungen des I2C-Busses 149 zu verhindern. Der 8051-Mikrocontroller 170a reagiert dann in Schritt 3, indem er einen ersten SMI erzeugt, der das Betriebssystem darüber informiert, dass der Benutzer ein Undocking wünscht. Wenn das Betriebssystem in Schritt 4 die Anforderung gewährt, sendet es einen Undocking-Befehl über das System-BIOS, um den Laptop-Computer L auszuwerten, nachdem aktuelle Zyklen abgeschlossen wurden und keine anderen Prozesse unter dem SMI laufen.
  • In Schritt 5 versetzt der System-BIOS-Plug-and-Play-Code oder der 8051-Mikrocontroller 170a den lokalen Busverwalter 194a des MISC-L 118a in einen IDLE-Modus. In dem IDLE-Modus parkt der MISC-L 118a sich selbst auf den PCI-Bus 112a. Das System-BIOS weist dann in Schritt 6 den 8051-Mikrocontroller 170a an, einen Undocking-Befehl über den I2C-Bus 149 zu dem 8051-Mikrocontroller 170b der Erweiterungsbasis E zu senden. Auf diesen Undocking-Befehl folgend deaktiviert der 8051-Mikrocontroller 170a das Systembereitschaftssignal SRDY. In Schritt 7 deaktiviert der 8051-Mikrocontroller 170b das Erweiterungsbasis-Bereitschaftssignal ERDY und beginnt mit dem Übergang zu dem Aus-Zustand.
  • Der Übergang der Erweiterungsbasis zu dem Aus-Zustand beginnt in Schritt 8, in dem der 8051-Mikrocontroller 170b den lokalen Busverwalter 194b des MISC-E 118b in den IDLE-Zustand versetzt. Beide lokalen PCI-Busverwalter 194a und 194b befinden sich jetzt im IDLE-Zustand, und der PCI-Bus 112 ist ausreichend ruhig, sodass mit dem Undocking fortgefahren werden kann. In der beschriebenen Ausführungsform muss der PCI-Takterzeuger in der Erweiterungsbasis E weiter laufen, bis der lokale Busverwalter 194b in dem MISC-E 118b in den IDLE-Zustand versetzt wurde. Kurz danach veranlasst der 8051-Mikrocontroler 170a über ein Steuersignal CONTROL aus der Allgemein-E/A-Schaltung 172a in dem MSIO-L 124a, dass die Quickswitches 113 geöffnet werden. Annähernd gleichzeitig (Schritt 10) deaktiviert der 8051-Mikrocontroller 170b die Hauptstromversorgungsebene in der Erweiterungsbasis E und aktiviert den Docking-Motor 117, um den Laptop auszuwerten.
  • Zu diesem Zeitpunkt hat das motorisierte Undocking begonnen, und die kurzen Stifte 147a der Erweiterungs-Steckverbindung 146 werden zuerst in Schritt 11 getrennt. Dadurch wird eine ansteigende Flanke an dem Signal EBOXS# erzeugt. Das Signal EBOXS# kann als Sicherheitsmechanismus verwendet werden, um den Laptop-Computer L (insbesondere den 8051-Mikrocontroller 170a) zu warnen, wenn die automatisierten Software-Undocking-Prozeduren umgangen wurden. Zum Beispiel leitet in der beschriebenen Ausführungsformen das Signal EBOXS# die entsprechende Undocking-Software auch dann ein, wenn dieses Signal die erste Angabe dazu ist, dass ein Undocking-Ereignis im Gange ist. Nachdem die kurzen Stifte 147a getrennt wurden, vergeht ungefähr eine Millisekunde, bevor die mittleren Signalstifte 147b getrennt werden.
  • Als nächstes werden die langen Stifte 147c in Schritt 12 getrennt, sodass das Signal EBOXL# von einem logisch niedrigen zu einem logisch hohen Pegel übergeht. Durch diesen Übergang werden beide 8051-Mikrocontroller 170a und 170b darüber benachrichtigt, dass alle mittleren Signalstifte 147b vollständig getrennt wurden. Als Teil dieses Schrittes erzeugt der 8051-Mikrocontroller 170a einen zweiten SMI, um den Plug-and-Play-Code über den Abschluss des physikalischen Undocking-Prozesses zu benachrichtigen. In Reaktion darauf versetzt der Plug-and-Play-Code in Schritt 13 den lokalen Busverwalter 194a des MISC-L 118a in den MASTER-Modus. Zuletzt wird die PCI-Plug-and-Play- und/oder die ISA-Plug-and-Play-Systemrekonfiguration durchgeführt, sodass die Systemressourcen der Erweiterungsbasis E nicht länger durch den Laptop erkannt werden.
  • 5a, 5b und 5c zeigen Flussdiagramme für den Mikrocontroller-Code, der durch den Laptop-Computer L während der Hot-Docking- und Hot-Undocking-Ereignisse ausgeführt wird. Dieser Code ist demjenigen des Mikrocontrollers der Erweiterungsbasis E ähnlich und wird in Verbindung mit demselben betrieben. Der letztere Code empfängt Befehle zum Ausführen von Aufgaben wie etwa der Aktivierung des Docking-Motors 117 und ist der Deutlichkeit halber nicht gezeigt.
  • Die Ausführung des Mikroprozessor-Codes wird auf ein Achtungssignal von der Erweiterungsbasis hin in Schritt 300 eingeleitet. Die Steuerung geht zu Schritt 302 über, wo das Achtungssignal-Flag abgefragt wird, um zu bestimmen, ob es noch aktiv ist. Das Achtungssignal wird durch die kurzen und langen Stifte 147a und 147c der Erweiterungs-Steck verbindung 146 erzeugt. Wenn das Achtungssignal nicht aktiv ist, was eine falsche Anforderung angibt, wird die Routine in Schritt 304 beendet. Wenn in Schritt 302 bestimmt wird, dass das Achtungssignal weiterhin aktiv ist, geht die Steuerung zu Schritt 306 über, um zu bestimmen, ob ein Eine-Millisekunde-Flag gesetzt ist. Eine Verzögerungsperiode von einer Millisekunde, die bei jedem Eintritt in den Code in Schritt 300 vorgesehen wird, wird verwendet, um falsche Anforderungen auszufiltern. Wenn die Verzögerungsperiode nicht beendet wird und in Schritt 306 bestimmt wird, dass das Eine-Millisekunde-Flag nicht gesetzt ist, kehrt die Steuerung zu Schritt 302 zurück. Wenn das Eine-Millisekunde-Flag abgelaufen ist, schreitet die Steuerung zu Schritt 308 fort, wo das Eine-Millisekunde-Flag gelöscht wird.
  • Die Steuerung schreitet dann zu Schritt 310 fort, wo die Signale EBOXS# und EBOXL# untersucht werden. Wenn beide Signale niedrig sind, was angibt, dass die kurzen und langen Stifte 147a und 147c verbunden sind, schreitet die Steuerung zu Schritt 312 fort, um eine Entprellperiode von hundert Millisekunden einzuleiten. Es ist zu beachten, dass der Docking-Motor 117 vorzugsweise zu diesem Zeitpunkt durch den in der Erweiterungsbasis ausgeführten Mikrocontroller-Code eingeschaltet wurde. Auf die Entprellperiode folgend schreitet die Steuerung zu Schritt 314 fort, wo der Laptop-Computer L darauf wartet, dass das Erweiterungsbasis-Bereitschaftssignal ERDY zu einem logisch hohen Pegel übergeht. In der beschriebenen Ausführungsform muss das Signal ERDY innerhalb von 250 Millisekunden übergehen, das ansonsten ein Timeout eintritt und zu der Haupt-Mikrocontroller-Routine zurückgekehrt wird.
  • Nachdem das Signal ERDY zu einem logisch hohen Pegel übergegangen ist, schreitet die Steuerung zu Schritt 316 fort, wo der 8051-Mikrocontroller 170a die Kontrolle über den I2C-Bus 149 übernimmt. Die Steuerung schreitet zu Schritt 318 fort, wo die Erweiterungsbasis-Identifikationsinformationen über den I2C-Bus 149 abgerufen werden. Die Steuerung geht dann zu Schritt 320 (5b), und das Erweiterungsbasis-Achtungsflag wird zurückgesetzt. Als nächstes wird in Schritt 322 der Interrupt für die langen Stifte 147c aktiviert, während der Interrupt für die kurzen Stifte 147a deaktiviert wird. Die Steuerung schreitet zu Schritt 324 fort, wo anhängende Docking-Änderungs-SMIs aufgehoben werden.
  • Die Steuerung schreitet dann zu Schritt 326 fort, wo die Verarbeitungsfähigkeiten der Erweiterungsbasis E bestimmt werden. Wenn die Erweiterungsbasis E keine derartigen Fähigkeiten wie in Verbindung mit 2 beschrieben besitzt, schreitet die Steuerung zu Schritt 328 fort, wo ein Befehl gesendet wird, um die Stromversorgung in der Erweiterungsbasis E einzuschalten. Die Steuerung geht dann zu Schritt 330, wo gewartet wird, bis ein Stromversorgungsbestätigungssignal von der Erweiterungsbasis E empfangen wird. Die Steuerung geht als nächstes zu Schritt 332, wo die Quickschalter 113 geschlossen werden, um die gemeinsamen Teile des PCI-Busses 112 funktionell zu verbinden. Ein Docking-Flag wird dann in Schritt 334 gesetzt, bevor in Schritt 336 zu der Haupt-Mikrocontroller-Routine zurückgekehrt wird.
  • Wenn die Erweiterungsbasis E Verarbeitungsfähigkeiten wie etwa die in 2 beschriebenen umfasst, schreitet die Steuerung von Schritt 326 zu Schritt 338 fort, wo ein Docking-SMI erzeugt wird. Wie oben genannt, wird dieser SMI verwendet, um dem Betriebssystem die Chance zu geben, die Hot-Docking-Anforderung anzunehmen oder abzulehnen. Die Steuerung schreitet dann zu Schritt 340 fort, wo zu der Haupt-Mikrocontroller-Routine zurückgekehrt wird.
  • Wenn in Schritt 310 bestimmt wird, dass die Signale EBOXS# und EBOXL# einen logisch hohen Pegel aufweisen, geht die Steuerung zu Schritt 346 (5c). Wenn bestimmt wird, dass beide Signale EBOXS# und EBOXL# einen logisch hohen Pegel aufweisen, sind die kurzen und die langen Stifte 147a und 147b getrennt, sodass versucht wurde, den Laptop-Computer L ohne Befolgung der entsprechenden Undocking-Prozeduren aus der Erweiterungsbasis E zu entfernen. In Schritt 346 werden die Signale EBOXS# und EBOXL# erneut untersucht, um zu bestimmen, ob sie einen hohen logischen Pegel aufweisen. Wenn nicht, bleibt die Steuerung bei Schritt 346, um diese Signale kontinuierlich abzufragen. Wenn bestimmt wird, dass die Signale EBOXS# und EBOXL# einen logisch hohen Pegel aufweisen, geht die Steuerung zu Schritt 350, um ggf. eine Entprellperiode (Warteperiode) bei einem manuellen Auswurf vorzusehen. Die Steuerung geht dann zu Schritt 352, und das Achtungsflag aus der Erweiterungsbasis E wird gelöscht.
  • Die Steuerung schreitet dann zu Schritt 354 fort, wo das Handshaking des I2C-Busses 149 deaktiviert wird. Die Steuerung geht dann zu Schritt 356, wo der Interrupt für die kurzen Stifte 147a aktiviert wird, während der Interrupt C für die langen Stifte 147c deaktiviert wird. Alle anhängigen Docking-Änderungs-SMIs werden dann in Schritt 358 aufgehoben. Die Steuerung schreitet zu Schritt 360 fort, um die Verarbeitungsfähigkeiten und die Konfiguration der Erweiterungsbasis E zu bestimmen. Wenn die Erweiterungsbasis E Fähigkeiten wie etwa die in Verbindung mit 2 beschriebenen aufweist, schreitet die Steuerung zu Schritt 362 fort, wo das Docking-Flag gelöscht wird. Die Steuerung geht dann zu Schritt 364, wo ein SMI erzeugt wird, damit das Betriebssystem die Plug-and-Play-Rekonfiguration ausführen kann, sodass die Fähigkeiten der Erweiterungsbasis E nicht mehr durch den Laptop-Computer L erkannt werden. Die Steuerung schreitet dann zu Schritt 366 fort, und der lokale PCI-Busverwalter 194a des MISC-L 118a wird in den MASTER-Modus versetzt.
  • Die Steuerung schreitet als nächstes zu Schritt 368, wohin die Steuerung auch fortschreitet, wenn in Schritt 360 bestimmt wird, dass die Erweiterungsbasis E keine ausreichenden Verarbeitungsfähigkeiten aufweist. In Schritt 368 werden die Hot-Docking- und Hot-Undocking-Interrupts gelöscht und aktiviert, bevor in Schritt 370 zu der Haupt-Microcontroller-Routine zurückgekehrt wird.
  • In 6a sind Details einer beispielhaften SMI-Abwicklerroutine 400 gezeigt. Diese Routine kann auf den Schritt 338 von 5b folgend aufgerufen werden. Die Steuerung schreitet zuerst zu Schritt 302, um zu bestimmen, ob ein Hot-Docking- oder ein Hot-Undocking-Ereignis auftritt. Wenn das Achtungssignal von der Erweiterungsbasis E in Folge eines Hot-Docking-Ereignisses erzeugt wurde, schreitet die Steuerung zu Schritt 406 fort, wo der Laptop-Computer L die Kontrolle über den I2C-Bus 149 übernimmt. Die Steuerung geht dann zu Schritt 408, wo ein Stromversorgungsbefehl über den I2C-Bus 149 zu der Erweiterungsbasis E gesendet wird. Die Steuerung geht dann zu Schritt 410, wo eine Abfrageschleife zu bestimmen beginnt, ob die Stromversorgung in der Erweiterungsbasis E aktiviert wurde. Wenn nicht, schreitet die Steuerung zu Schritt 412, wo bestimmt wird, ob die Stifte 147 der Erweiterungs-Steckverbindung 146 weiterhin verbunden sind. Wenn die Stifte 147 verbunden sind, kehrt die Steuerung zu Schritt 410 zurück. Wenn die Stifte 147 nicht verbunden sind, schreitet die Steuerung zu Schritt 414, wo das Handshaking abgebrochen wird und der I2C-Bus 149 freigegeben wird.
  • Nach der Aktivierung der Stromversorgung in der Erweiterungsbasis E schreitet die Steuerung zu Schritt 416 fort, wo das Erweiterungsbasis-Bereitschaftssignal ERDY untersucht wird. Wenn das Signal ERDY einen logisch niedrigen Pegel aufweist, was angibt, dass die Erweiterungsbasis E nicht für den Abschluss des Hot-Docking-Vorgangs bereit ist, schreitet die Steuerung zu Schritt 418 fort. In Schritt 418 werden die Stifte der Erweiterungsbasis-Steckverbindung 146 erneut untersucht, um zu bestimmen, ob sie verbunden sind. Wenn nicht, wird das Handshaking abgebrochen und wird der I2C-Bus freigegeben. Wenn die Stifte verbunden sind, kehrt die Steuerung zu Schritt 416 zurück. Auf einen Übergang des Erweiterungsbasis-Bereitschftssignals ERDY zu einem logisch niedrigen Pegel folgend, schreitet die Steuerung zu Schritt 420, wo der PCI-Takt der Erweiterungsbasis E aktiviert wird.
  • Die Steuerung geht dann zu Schritt 422, wo eine Verzögerung von zehn Mikrosekunden vorgesehen wird, damit sich der PCI-Takt der Erweiterungsbasis stabilisieren kann. Die Steuerung schreitet zu Schritt 424 fort, wo das Bereitschaftssignal SRDY für den Laptop-Computer L ausgegeben wird. Die Steuerung geht dann zu Schritt 426 (6b), wo das Bereitschaftssignal ERDY für die Erweiterungsbasis erneut untersucht wird. Wenn dieses Signal einen logisch niedrigen Pegel aufweist, schreitet die Steuerung zu Schritt 428 fort, um zu bestimmen, ob die Stifte der Erweiterungsbasis-Steckverbindung 146 weiterhin verbunden sind. Wenn dies der Fall ist, schreitet die Steuerung zu Schritt 426 fort. Wenn nicht, schreitet die Steuerung zu Schritt 430 fort, wo das Handshaking abgebrochen wird. Wenn in Schritt 426 bestimmt wird, dass das Signal ERDY zu einem logisch hohen Pegel übergeht, schreitet die Steuerung zu Schritt 432 fort, um die Quickswitches 113 zu schließen. Die Steuerung geht dann zu Schritt 434, wo das Docking-Flag gesetzt wird. Ein zweiter SMI wird dann in Schritt 436 erzeugt, damit die Plug-and-Play-Rekonfiguration bewerkstelligt werden kann. Danach geht die Steuerung zu Schritt 438, wo der lokale PCI-Busverwalter 194a des MISC-L 118a in den Master-Modus versetzt wird. Schließlich wird in Schritt 400 zu der Haupt-Mikrocontroller-Routine zurückgekehrt.
  • Wenn in Schritt 402 bestimmt wird, dass das Achtungssignal von der Erweiterungsbasis E ein Hot-Undocking-Ereignis angibt, schreitet die Steuerung zu Schritt 442 von 6c fort, wo die Steuerung des I2C-Busses 149 durch den Laptop-Computer L übernommen wird. Die Steuerung geht dann zu Schritt 444, und es wird eine Undocking-Anforderung über den I2C-Bus 149 zu der Erweiterungsbasis E gesendet. Die Steuerung geht zu Schritt 446, um zu bestimmen, ob die Stifte der Erweiterungs-Steckverbindung 146 verbunden sind oder ob ein Timeout aufgetreten ist. Wenn die Stifte 147 getrennt sind oder ein Timeout aufgetreten ist, wird die Undocking-Prozedur in Schritt 448 abgebrochen, um zu einem späteren Zeitpunkt erneut versucht zu werden. Andernfalls schreitet die Steuerung zu Schritt 450 fort, wo das Erweiterungsbasis-Bereitschaftssignal ERDY untersucht wird. Wenn das Signal ERDY einen logisch hohen Pegel aufweist, schreitet die Steuerung zu Schritt 452, wo der Verbindungsstatus der Stifte 147 der Erweiterungs-Steckverbindung 146 erneut untersucht wird. Wenn die Stifte 147 weiterhin verbunden sind, kehrt die Steuerung zu Schritt 450 zurück. Wenn die Stifte 147 nicht mehr verbunden sind, schreitet die Steuerung zu Schritt 454, wo das Handshaking abgebrochen wird und der I2C-Bus 149 freigegeben wird.
  • Wenn in Schritt 450 bestimmt wird, dass das Bereitschaftssignal ERDY der Erweiterungsbasis E einen logisch hohen Pegel aufweist, schreitet die Steuerung zu Schritt 456 fort, wo die Quickswitches 113 geöffnet werden. Die Steuerung schreitet dann zu Schritt 458, wo das Signal ERDY erneut untersucht wird. Wenn das Signal ERDY einen logisch niedrigen Pegel aufweist, schreitet die Steuerung zu Schritt 460, um zu bestimmen, ob die Stifte 147 der Erweiterungs-Steckverbindung weiterhin verbunden sind. Wenn dies der Fall ist, kehrt die Steuerung zu Schritt 458 zurück. Wenn die Stifte 147 getrennt sind, wird die Undocking-Prozedur in Schritt 462 abgebrochen.
  • Wenn in Schritt 458 bestimmt wird, dass das Signal ERDY ausgegeben wird, schreitet die Steuerung zu Schritt 464 fort, wo der Takt der Erweiterungsbasis E deaktiviert wird. Die Steuerung schreitet dann zu Schritt 466 fort, wo ein zweiter SMI erzeugt wird. Dieser SMI erlaubt es dem Laptop-Computer L, eine Plug-and-Play-Rekonfiguration derart durchzuführen, dass die Ressourcen der Erweiterungsbasis E nicht mehr erkannt werden. Die Steuerung schreitet dann zu Schritt 468 fort, wo der lokale PCI-Busverwalter 194a des MISC-L 118a in den Master-Modus versetzt wird, sodass der normale Betrieb des Laptop-Computers L wiederaufgenommen werden kann. Schließlich wird in Schritt 470 zu der Haupt-Mikrocontroller-Routine zurückgekehrt.
  • Im Folgenden wird auf 7 Bezug genommen, die ein Blockdiagramm von System-Softwarekomponenten zeigt, die für eine Unterstützung des Hot-Docking/Hot-Undocking konfiguriert sind. Wie zuvor genannt, wird der SMI-Handler 200 verwendet, um das System-BIOS 202 darüber zu informieren, dass sich der Docking-Status geändert hat. In der bevorzugten Ausführungsform umfasst das System-BIOS 202 das Hot-Docking/Hot-Undocking unterstützende Merkmale einschließlich von Plug-and-Play-Fähigkeiten. Das System-BIOS 202 setzt Speicher-Flags, die durch Windows 95® 204 als ein Docking-Ereignis interpretiert werden.
  • Wenn der Laptop-Computer L den Systemverwaltungsmodus verlässt und die Prozessorsteuerung zu Windows 95® zurückkehrt, ruft oder fragt das Betriebssystem das System-BIOS 202 ab, um nach Änderungen zu suchen, die eine Docking-Anforderung angeben. Ein APM-Treiber (Advance Power Management) oder ein virtueller Gerätetreiber BIOS.VxD 206 kann durch das Betriebssystem verwendet werden, um durch das System-BIOS gesetzte Flags abzufragen. Der Treiber BIOS.VxD 206 ist konfiguriert, um Kommunikationen zwischen Windows 95® 204 und dem System-BIOS 202 zu unterstützen. Nach einer Systemrekonfiguration, die auf ein Hot-Docking/Hot-Undocking-Ereignis folgt, werden Plug-and-Play-Treiber 208 für Systemkomponenten in der Registry von Windows 95® registriert oder aus derselben gelöscht.
  • Es können viele alternative Ausführungsformen der vorliegenden Erfindung realisiert werden. Es ist zum Beispiel nicht erforderlich, dass die Erweiterungsbasis E motorisierte Docking/Undocking-Fähigkeiten umfasst. Eine zusätzliche Entprellung kann bei derartigen Erweiterungsbasen für Docking-Signale für lange und kurze Stifte erforderlich sein. Ein derartiges System sollte es dem Benutzer erlauben, den Laptop einfach aus der Erweiterungs basis zu ziehen, ohne zuerst eine andere Betätigung vornehmen zu müssen. Die kurzen Stifte starten die Undocking-Software in für den Benutzer transparenter Weise.
  • Es können auch Erweiterungsbasen mit verschiedenem Intelligenzgrad verwendet werden. Zum Beispiel kann die Erweiterungsbasis keinen 8051-Mikrocontroller umfassen, der zur Kommunikationen über den I2C-Bus fähig ist. In diesem Fall kann ein vereinfachtes Hardware-Handshaking verwendet werden, um den verbindenden Bus in einen Ruhemodus zu versetzen. Bei Erweiterungsbasen mit einem reduzierten Handshaking- und Bus-Mastering-Fähigkeiten muss unter Umständen lediglich sichergestellt werden, dass die Stromversorgung in der Erweiterungsbasis aktiviert ist, bevor die Quickswitches geschlossen werden können. In dieser Ausführungsform kann das Bereitschaftssignal ERDY der Erweiterungsbasis durch ein Signal POWERGOOD (nicht gezeigt) aus der Stromversorgung aktiviert werden. Der Laptop-Computer L kann auf diese Weise bestimmen, ob die Erweiterungsbasis von der Steckdose getrennt ist, wobei er in diesem Fall die Quickswitches nicht schließt.
  • Bei allen beschriebenen und möglichen Ausführungsformen ist von Bedeutung, dass sich der PCI-Bus der Erweiterungsbasis vor dem Docking-Ereignis in einem Ruhezustand befindet. Außerdem ist vorzugsweise ein Verfahren vorgesehen, mit dem das Betriebssystem darüber benachrichtigt wird, dass ein Docking-Ereignis auftritt. Das Betriebssystem ist vorzugsweise dazu in der Lage, das Docking-Ereignis anzunehmen oder abzulehnen, und bietet außerdem eine Plug-and-Play-Unterstützung.
  • Es wurden ein Verfahren und eine Schaltung beschrieben, mit denen das Betriebssystem, die Firmware, das System-BIOS, die Mikrocontroller und die installierte System-Hardware derart kooperieren können, dass ein effizientes Hot-Docking/Hot-Undocking ermöglicht wird. Der Laptop-Computer und die Erweiterungsbasis sind über einen gemeinsamen PCI-Bus und Schalter mit niedrigem Widerstand miteinander verbunden. Es werden Stifte verschiedener Länge verwendet, um Statusinformationen zu dem Docking und dem Undocking vorzusehen. Die Busse werden vor dem Docking- oder Undocking-Ereignis in eine Ruhezustand versetzt, sodass nicht in einen Standby-Modus eingetreten werden muss. Die Erfindung ermöglicht also eine schnellere und benutzerfreundliche Möglichkeit zum Einsetzen und Entfernen eines Laptop-Computers in bzw. aus einer Erweiterungsbasis.

Claims (28)

  1. Verfahren zum Hot-Docking eines Computersystems (L) an einer Erweiterungsbasiseinheit (E), wobei das Computersystem und die Erweiterungsbasiseinheit physikalisch über Teile eines gemeinsamen E/A-Busses mit Signalleitungen (112a, 112b) verbunden sind, wenn das Computersystem gedockt ist, und wobei das Computersystem eine Vielzahl von Schaltern (113) für das funktionelle Verbinden der Teile des gemeinsamen E/A-Busses umfasst, wobei das Computersystem und die Erweiterungsbasiseinheit jeweils einen lokalen Busverwalter (118) zum Verwalten und Gewähren von Bussteuerungs-Anforderungen von mit dem E/A-Bus verbundenen Geräten, einen Mikrocontroller (124) zum Senden und Empfangen von Handshaking-Signalen und eine Erweiterungs-Steckverbindung (146) mit verschieden langen Stiften zum Erzeugen von Docking-Handshaking-Signalen (EBOXS#, EBOXL#), die Docking/Undocking-Ereignisse angeben, sowie zum physikalischen Verbinden der E/A-Bus-Signalleitungen des gemeinsamen E/A-Busses umfasst, wobei das Verfahren folgende Schritte umfasst: Bestimmen, in Reaktion auf die Docking-Handshaking-Signale, ob eine physikalische Verbindung der E/A-Bus-Signalleitungen bevorsteht oder vorgenommen wurde, Versetzen der lokalen Busverwalter des Computersystems und der Erweiterungsbasiseinheit in einen Ruhezustand in Reaktion auf den Schritt zum Bestimmen, ob eine physikalische Verbindung bevorsteht oder vorgenommen wurde, wobei der Ruhezustand alle E/A-Bus-Aktivitäten unterbindet, sodass nicht in einen Standby-Modus eingetreten werden muss, Bestimmen anhand der Docking-Handshaking-Signale, ob die E/A-Bus-Signalleitungen physikalisch verbunden sind, und Schließen der Vielzahl von Schaltern, um die Teile des gemeinsamen E/A-Busses funktionell zu verbinden, in Reaktion auf den Schritt zum Bestimmen, ob die E/A-Bus-Signalleitungen physikalisch verbunden sind.
  2. Verfahren nach Anspruch 1, das weiterhin den folgenden Schritt umfasst: auf den Schritt zum Schließen der Vielzahl von Schaltern folgend, Versetzen eines der lokalen Busverwalter in einen Master-Modus.
  3. Verfahren nach Anspruch 1 oder 2, wobei jeder der lokalen Busverwalter in Reaktion auf ein durch einen entsprechenden Mikrocontroller erzeugtes Signal in einen Ruhezustand versetzt wird.
  4. Verfahren nach Anspruch 1 oder 2, wobei die lokalen Busverwalter in Reaktion auf durch das Betriebssystem des Computersystems erzeugte Signale in einen Ruhezustand versetzt werden.
  5. Verfahren nach einem der Ansprüche 1 bis 4, das weiterhin folgenden Schritt umfasst: Aktivieren der Stromversorgung zu dem Teil des E/A-Busses in der Erweiterungsbasiseinheit, folgend auf den Schritt zum Bestimmen, ob eine physikalische Verbindung der E/A-Bus-Signalleitungen bevorsteht oder vorgenommen wurde, und vor dem Schritt zum Schließen der Vielzahl von Schaltern.
  6. Verfahren nach einem der Ansprüche 1 bis 5, das weiterhin folgende Schritte umfasst: Benachrichtigen des Betriebssystems darüber, dass die E/A-Bus-Signalleitungen physikalisch verbunden sind, und Benachrichtigen des Betriebssystems über das Schließen des Vielzahl von Schaltern.
  7. Verfahren nach Anspruch 6, wobei der Schritt zum Benachrichtigen des Betriebssystems über die physikalische Verbindung der E/A-Bus-Signalleitungen und der Schritt zum Benachrichtigen des Betriebssystems über das Schließen der Vielzahl von Schaltern das Erzeugen von Systemverwaltungs-Interrupts umfasst.
  8. Verfahren nach einem der Ansprüche 1 bis 7, wobei das Computersystem eine Plug-and-Play-Systemrekonfiguration in Reaktion auf den Schritt zum Schließen der Vielzahl von Schaltern umfasst.
  9. Verfahren nach einem der Ansprüche 1 bis 8, das weiterhin folgenden Schritt umfasst: Deaktivieren des E/A-Bustakts in der Erweiterungsbasiseinheit in Reaktion auf ein Signal, das durch einen der Mikrocontroller erzeugt wird, vor dem Schritt zum Schließen der Vielzahl von Schalter.
  10. Verfahren nach einem der Ansprüche 1 bis 9, das weiterhin folgenden Schritt umfasst: Aktivieren eines Docking-Motors, um eine physikalische Verbindung der E/A-Bus-Signalleitungen abzuschließen, vor dem Schritt zum Schließen der Vielzahl von Schaltern.
  11. Verfahren zum Hot-Undocking eines Computersystems (L) von einer Erweiterungsbasiseinheit (E), wobei das Computersystem und die Erweiterungsbasiseinheit physikalisch über Teile eines gemeinsamen E/A-Busses mit Signalleitungen (112a, 112b) verbunden sind, wenn das Computersystem gedockt ist, und wobei das Computersystem eine Vielzahl von Schaltern (113) für das funktionelle Verbinden der Teile des gemeinsamen E/A-Busses umfasst, wobei das Computersystem und die Erweiterungsbasiseinheit jeweils einen lokalen Busverwalter (118) zum Verwalten und Gewähren von Bussteuerungs-Anforderungen von mit dem E/A-Bus verbundenen Geräten, einen Mikrocontroller (124) zum Senden und Empfangen von Handshaking-Signalen und eine Erweiterungs-Steckverbindung (146) mit verschieden langen Stiften zum Erzeugen von Docking-Handshaking-Signalen (EBOXS#, EBOXL#), die Docking/Undocking-Ereignisse angeben, sowie zum physikalischen Verbinden der E/A-Bus-Signalleitungen des gemeinsamen E/A-Busses umfasst, wobei das Verfahren folgende Schritte umfasst: Bestimmen, in Reaktion auf die Docking-Handshaking-Signale, ob eine physikalische Trennung der E/A-Bus-Signalleitungen bevorsteht, Versetzen der lokalen Busverwalter des Computersystems und der Erweiterungsbasiseinheit in einen Ruhezustand in Reaktion auf den Schritt zum Bestimmen, ob eine physikalische Trennung bevorsteht, wobei der Ruhezustand alle E/A-Bus-Aktivitäten unterbindet, sodass nicht in einen Standby-Modus eingetreten werden muss, und Öffnen der Vielzahl von Schritten, um die Teile des gemeinsamen E/A-Busses funktionell zu trennen, in Reaktion auf den Schritt zum Versetzen der lokalen Busverwalter in einen Ruhezustand.
  12. Verfahren nach Anspruch 11, weiterhin mit folgenden Schritten: Benachrichtigen des Betriebssystems darüber, dass eine physikalische Trennung der E/A-Bus-Signalleitungen bevorsteht, und Benachrichtigen des Betriebssystems über das Öffnen der Vielzahl von Schaltern.
  13. Verfahren nach Anspruch 12, wobei der Schritt zum Benachrichtigen des Betriebssystems darüber, dass eine physikalische Trennung der E/A-Bus-Signalleitungen bevorsteht, und der Schritt zum Benachrichtigen des Betriebssystems über das Öffnen der Vielzahl von Schaltern das Erzeugen von Systemverwaltungs-Interrupts umfassen.
  14. Verfahren nach einem der Ansprüche 11 bis 13, wobei das Computersystem eine Plug-and-Play-Systemrekonfiguration in Reaktion auf den Schritt zum Öffnen der Vielzahl von Schaltern umfasst.
  15. Verfahren nach einem der Ansprüche 11 bis 14, das weiterhin den folgenden Schritt umfasst: in Reaktion auf den Schritt zum Öffnen der Vielzahl von Schritten, Aktivieren eines Docking-Motors, der die E/A-Bus-Signalleitungen physikalisch trennt.
  16. Verfahren zum Hot-Docking und Hot-Undocking eines Computersystems (L) und einer Erweiterungsbasiseinheit (E), wobei das Computersystem und die Erweiterungsbasiseinheit physikalisch über Teile eines gemeinsamen E/A-Busses mit Signalleitungen (112a, 112b) verbunden sind, wenn das Computersystem gedockt ist, und wobei das Computersystem eine Vielzahl von Schaltern (113) für das funktionelle Verbinden der Teile des gemeinsamen E/A-Busses umfasst, wobei das Computersystem und die Erweiterungsbasiseinheit jeweils einen lokalen Busverwalter (118) zum Verwalten und Gewähren von Bussteuerungs-Anforderungen von mit dem E/A-Bus verbundenen Geräten, einen Mikro controller (124) zum Senden und Empfangen von Handshaking-Signalen und eine Erweiterungs-Steckverbindung (146) mit verschieden langen Stiften zum Erzeugen von Docking-Handshaking-Signalen (EBOXS#, EBOXL#), die Docking/Undocking-Ereignisse angeben, sowie zum physikalischen Verbinden der E/A-Bus-Signalleitungen des gemeinsamen E/A-Busses umfasst, wobei das Verfahren folgende Schritte umfasst: Bestimmen, in Reaktion auf die Docking-Handshaking-Signale, ob eine physikalische Verbindung der E/A-Bus-Signalleitungen bevorsteht oder vorgenommen wurde, Versetzen der lokalen Busverwalter des Computersystems und der Erweiterungsbasiseinheit in einen Ruhezustand in Reaktion auf den Schritt zum Bestimmen, ob eine physikalische Verbindung bevorstehet oder vorgenommen wurde, wobei der Ruhezustand alle E/A-Bus-Aktivitäten unterbindet, sodass nicht in einen Standby-Modus eingetreten werden muss, Bestimmen anhand der Docking-Handshaking-Signale, ob die E/A-Bus-Signalleitungen physikalisch verbunden sind, Schließen der Vielzahl von Schaltern, um die Teile des gemeinsamen E/A-Busses funktionell zu verbinden, in Reaktion auf den Schritt zum Bestimmen, ob die E/A-Bus-Signalleitungen physikalisch verbunden sind, Bestimmen, in Reaktion auf die Docking-Handshaking-Signale, ob eine physikalische Trennung der E/A-Bus-Signalleitungen bevorsteht, Versetzen der lokalen Busverwalter des Computersystems und der Erweiterungsbasiseinheit in einen Ruhezustand in Reaktion auf den Schritt zum Bestimmen, ob eine physikalische Trennung bevorsteht, und Öffnen der Vielzahl von Schaltern, um die Teile des gemeinsamen E/A-Busses zu trennen, in Reaktion auf den Schritt zum Versetzen der lokalen Busverwalter in einen Ruhezustand.
  17. Computersystem mit Hot-Docking- und Hot-Undocking-Fähigkeiten, wobei das Computersystem umfasst: einen E/A-Bus mit einem ersten Teil (112a) und einem zweiten Teil, eine Erweiterungs-Steckverbindung (146) zum Verbinden des Computersystems (L) mit der Erweiterungsbasiseinheit (E), wobei die Erweiterungs-Steckverbindung elektrisch mit dem zweiten Teil des E/A-Busses über eine Vielzahl von elektrischen Kontakten (147a, b, c) verbunden ist, die jeweils einzelnen Signalleitungen des E/A-Busses entsprechen, wobei die elektrischen Kontakte mit Stiften verschiedener Länge verbunden sind, einer Vielzahl von Schaltern (113), wobei jeder Schalter einen ersten Anschluss, der mit einer Signalleitung des ersten Teils (112a) des E/A-Busses verbunden ist, einen zweiten Anschluss, der mit einer entsprechenden Signalleitung des zweiten Teils des E/A-Busses verbunden ist, und einen Steueranschluss zum Empfangen eines Steuersignals (CONTROL) umfasst, und wobei der erste und der zweite Anschluss elektrisch verbunden sind, wenn das Steuersignal ausgegeben wird, und ansonsten elektrisch isoliert sind, einen lokalen Busverwalter (118a), der mit dem ersten Teil des E/A-Busses verbunden ist, um Bussteuerungs-Anforderungen von mit dem E/A-Bus verbundenen Geräten zu verwalten und zu gewähren, wobei der lokale Busverwalter in einen Ruhezustand versetzt werden kann, in dem Buszyklen auf dem E/A-Bus unterbunden werden, sodass nicht in einen Standby-Modus eingetreten werden muss, einen Handshaking-Schaltungsaufbau, der mit den Stiften verschiedener Länge verbunden ist, um Docking- und Undocking-Handshaking-Signale (EBOXS#, EBOXL#) zu erzeugen, zu empfangen und zu der Erweiterungsbasiseinheit (E) zu kommunizieren, wobei die Docking- und Undocking-Handshaking-Signale jeweils Docking- und Undocking-Ereignisse angeben, und einen Mikrocontroller, der mit dem Handshaking-Schaltungsaufbau, dem lokalen Busverwalter und den Steueranschlüssen der Vielzahl von Schaltern verbunden ist, wobei der Mikrocontroller den lokalen Busverwalter während Docking- und Undocking-Ereignissen in einen Ruhezustand versetzt und die Vielzahl von Schaltern in Reaktion auf die Docking- und Undocking-Handshaking-Signale steuert.
  18. Computersystem nach Anspruch 17, wobei der Mikrocontroller die Handshaking-Signale weiterhin verwendet, um sicherzustellen, dass die Stromversorgung in der Erweiterungsbasiseinheit während der Perioden aktiviert ist, in denen das Computersystem physikalisch mit der Erweiterungsbasiseinheit verbunden ist und die Vielzahl von Schaltern geschlossen sind.
  19. Computersystem nach Anspruch 17 oder 18, wobei die Erweiterungs-Steckverbindung über lange und kurze Stifte zum Erzeugen von Docking- und Undocking-Handshaking-Signalen und über mittlere Stifte zum physikalischen Verbinden der E/A-Bus-Signalleitungen mit der Erweiterungsbasiseinheit verbunden ist.
  20. Computersystem nach einem der Ansprüche 17 bis 19, wobei die Vielzahl von Schaltern serielle In-Line-MOSFET-Bauelemente mit geringem Verlust sind, die jeweils ein Gate aufweisen, das als Steueranschluss dient.
  21. Computersystem nach einem der Ansprüche 17 bis 20, wobei die Vielzahl von Schaltern positioniert sind, um mit dem E/A-Bus verbundene Computersystemkomponenten elektrisch von der Erweiterungs-Steckverbindung zu isolieren, wenn das Steuersignal zu der Vielzahl von Schaltern deaktiviert wird.
  22. Computersystem nach einem der Ansprüche 17 bis 21, wobei der E/A-Bus die PCI (Peripheral Components Interface)-Busspezifikation erfüllt.
  23. Erweiterungsbasiseinheit (E) für die Verbindung mit einem Computersystem (L) mit Hot-Docking- und Hot-Undocking-Fähigkeiten, wobei die Erweiterungsbasiseinheit mfasst: einen E/A-Bus (112b), eine Erweiterungs-Steckverbindung (146) zum physikalischen Verbinden der Erweiterungsbasiseinheit mit dem Computersystem, wobei die Erweiterungs-Steckverbindung über eine Vielzahl von elektrischen Kontakten in Entsprechung zu einzelnen Signalleitungen des E/A-Busses elektrisch mit dem E/A-Bus verbunden ist, wobei die elektrischen Kontakte mit Stiften verschiedener Länge (147a, b) verbunden sind, einen lokalen Busverwalter (118b), der mit dem E/A-Bus verbunden ist, um Bussteuerungs-Anforderungen von mit dem E/A-Bus verbundenen Geräten zu verwalten und zu gewähren, wobei der lokale Busverwalter in einen Ruhezustand versetzt werden kann, der Buszyklen auf dem E/A-Bus unterbindet, sodass nicht in einen Standby-Modus eingetreten werden muss, einen Handshaking-Schaltungsaufbau, der mit den Stiften verschiedener Länge verbunden ist, um Docking- und Undocking-Handshaking-Signale (EBOXS#, EBOXL#) zu erzeugen, zu empfangen und zu dem Computersystem (L) zu kommunizieren, wobei die Docking- und Undocking-Handshaking-Signale jeweils Docking- und Undocking-Ereignisse angeben, und einen Mikrocontroller, der mit dem Handshaking-Schaltungsaufbau und dem lokalen Busverwalter verbunden ist, wobei der Mikrocontroller den lokalen Busverwalter während Docking- und Undocking-Ereignissen in einen Ruhezustand versetzt und die Vielzahl von Schaltern in Reaktion auf die Docking- und Undocking-Handshaking-Signale steuert.
  24. Erweiterungsbasiseinheit nach Anspruch 23, wobei der Mikrocontroller die Handshaking-Signale weiterhin verwendet, um sicherzustellen, dass die Stromversorgung in der Erweiterungsbasiseinheit während der Perioden aktiviert ist, in denen das Computersystem physikalisch über den E/A-Bus mit der Erweiterungsbasiseinheit verbunden ist.
  25. Erweiterungsbasiseinheit nach Anspruch 23 oder Anspruch 24, wobei der E/A-Bus die PCI (Peripheral Components Interface)-Busspezifikation erfüllt.
  26. Erweiterungsbasiseinheit nach einem der Ansprüche 23 bis 25, die weiterhin einen Docking/Undocking-Motor umfasst, der durch von dem Mikrocontroller empfangene Signale gesteuert wird.
  27. Erweiterungsbasiseinheit nach einem der Ansprüche 23 bis 26, wobei die Erweiterungs-Steckverbindung über kurze und lange Stifte zum Erzeugen von Docking- und Undocking-Handshaking-Signalen und über mittlere Stifte zum physikalischen Verbinden von E/A-Bus-Signalleitungen mit dem Computersystem verbunden ist.
  28. Erweiterungsbasiseinheit nach einem der Ansprüche 23 bis 27, wobei die Handshaking-Signale Signale umfassen, die die Hardwarekonfiguration der Erweiterungsbasiseinheit angeben.
DE69730916T 1996-07-19 1997-07-15 Rechnersystem mit Ankopplungs-Entfernungsmöglichkeiten ohne Stillmodus oder Haltmodus Expired - Fee Related DE69730916T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/684,255 US5873000A (en) 1996-07-19 1996-07-19 System incorporating hot docking and undocking capabilities without requiring a standby or suspend mode by placing local arbiters of system and base into idle state
US684255 2000-10-06

Publications (2)

Publication Number Publication Date
DE69730916D1 DE69730916D1 (de) 2004-11-04
DE69730916T2 true DE69730916T2 (de) 2005-02-03

Family

ID=24747323

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69730916T Expired - Fee Related DE69730916T2 (de) 1996-07-19 1997-07-15 Rechnersystem mit Ankopplungs-Entfernungsmöglichkeiten ohne Stillmodus oder Haltmodus

Country Status (6)

Country Link
US (2) US5873000A (de)
EP (1) EP0820022B1 (de)
JP (1) JP4132141B2 (de)
DE (1) DE69730916T2 (de)
SG (1) SG71028A1 (de)
TW (1) TW384431B (de)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195718B1 (en) * 1997-09-09 2001-02-27 Digital Equipment Corporation Dual PCI bridge docking
US6460106B1 (en) * 1998-10-20 2002-10-01 Compaq Information Technologies Group, L.P. Bus bridge for hot docking in a portable computer system
JP3321430B2 (ja) * 1999-04-13 2002-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション ポータブルpcに複数の拡張装置をドックした多段ドック構造におけるアンドック方法
US6210178B1 (en) 1999-04-16 2001-04-03 Pen Cabling Technologies Llc Extender card
US6523124B1 (en) * 1999-04-23 2003-02-18 Palm, Inc. System and method for detection of an accessory device connection status
US6665765B1 (en) * 2000-02-29 2003-12-16 Hewlett-Packard Development Company, L.P. Hot docking drive wedge and port replicator
US6772356B1 (en) 2000-04-05 2004-08-03 Advanced Micro Devices, Inc. System for specifying core voltage for a microprocessor by selectively outputting one of a first, fixed and a second, variable voltage control settings from the microprocessor
US6779066B2 (en) * 2000-05-01 2004-08-17 Matsushita Electric Industrial Co., Ltd. Module having application-specific program stored therein
US6754837B1 (en) 2000-07-17 2004-06-22 Advanced Micro Devices, Inc. Programmable stabilization interval for internal stop grant state during which core logic is supplied with clocks and power to minimize stabilization delay
US6895520B1 (en) 2001-03-02 2005-05-17 Advanced Micro Devices, Inc. Performance and power optimization via block oriented performance measurement and control
US6950893B2 (en) * 2001-03-22 2005-09-27 I-Bus Corporation Hybrid switching architecture
US6795927B1 (en) 2001-05-01 2004-09-21 Advanced Micro Devices, Inc. Power state resynchronization
US7254721B1 (en) 2001-05-01 2007-08-07 Advanced Micro Devices, Inc. System and method for controlling an intergrated circuit to enter a predetermined performance state by skipping all intermediate states based on the determined utilization of the intergrated circuit
US6845456B1 (en) 2001-05-01 2005-01-18 Advanced Micro Devices, Inc. CPU utilization measurement techniques for use in power management
US6963947B2 (en) * 2001-05-08 2005-11-08 Tao Logic Systems Llc Driver supporting bridge method and apparatus
US6799237B2 (en) * 2001-05-30 2004-09-28 Hewlett-Packard Development Company, L.P. Identifying and synchronizing incompatibilities between a portable computer and a docking station
FR2830164B1 (fr) * 2001-09-26 2005-08-05 Bull Sa Insertion a chaud d'une carte electronique dans un systeme
US6889332B2 (en) * 2001-12-11 2005-05-03 Advanced Micro Devices, Inc. Variable maximum die temperature based on performance state
US7673090B2 (en) 2001-12-19 2010-03-02 Intel Corporation Hot plug interface control method and apparatus
US6868468B2 (en) * 2002-02-14 2005-03-15 Standard Microsystems Corporation Switchable hot-docking interface for a portable computer for hot-docking the portable computer to a docking station
EP1383042B1 (de) * 2002-07-19 2007-03-28 STMicroelectronics S.r.l. Eine mehrphasige synchrone Pipelinestruktur
US20040034730A1 (en) * 2002-08-16 2004-02-19 Te-Hua Yu System and device for hot docking and undocking
US20040059862A1 (en) * 2002-09-24 2004-03-25 I-Bus Corporation Method and apparatus for providing redundant bus control
US20040088535A1 (en) * 2002-10-31 2004-05-06 International Business Machines Corporation Method, apparatus and computer program product for selecting computer system settings for various operating circumstances
US7627343B2 (en) * 2003-04-25 2009-12-01 Apple Inc. Media player system
US6776660B1 (en) 2003-04-30 2004-08-17 Japan Aviation Electronics Industry, Limited Connector
US7797471B2 (en) 2004-04-27 2010-09-14 Apple Inc. Method and system for transferring album artwork between a media player and an accessory
US7529870B1 (en) 2004-04-27 2009-05-05 Apple Inc. Communication between an accessory and a media player with multiple lingoes
US7826318B2 (en) 2004-04-27 2010-11-02 Apple Inc. Method and system for allowing a media player to transfer digital audio to an accessory
US7634605B2 (en) 2004-04-27 2009-12-15 Apple Inc. Method and system for transferring stored data between a media player and an accessory
US8117651B2 (en) 2004-04-27 2012-02-14 Apple Inc. Method and system for authenticating an accessory
US7529871B1 (en) 2004-04-27 2009-05-05 Apple Inc. Communication between an accessory and a media player with multiple protocol versions
US7526588B1 (en) 2004-04-27 2009-04-28 Apple Inc. Communication between an accessory and a media player using a protocol with multiple lingoes
US7293122B1 (en) * 2004-04-27 2007-11-06 Apple Inc. Connector interface system facilitating communication between a media player and accessories
US7529872B1 (en) 2004-04-27 2009-05-05 Apple Inc. Communication between an accessory and a media player using a protocol with multiple lingoes
US7895378B2 (en) 2004-04-27 2011-02-22 Apple Inc. Method and system for allowing a media player to transfer digital audio to an accessory
US7673083B2 (en) 2004-04-27 2010-03-02 Apple Inc. Method and system for controlling video selection and playback in a portable media player
US7441058B1 (en) 2006-09-11 2008-10-21 Apple Inc. Method and system for controlling an accessory having a tuner
US7441062B2 (en) 2004-04-27 2008-10-21 Apple Inc. Connector interface system for enabling data communication with a multi-communication device
US7600105B2 (en) 2004-09-22 2009-10-06 Cyberlink Corp. Systems, methods, and apparatus for providing efficient startup to computers with peripheral devices
US7823214B2 (en) 2005-01-07 2010-10-26 Apple Inc. Accessory authentication for electronic devices
US7525216B2 (en) 2005-01-07 2009-04-28 Apple Inc. Portable power source to provide power to an electronic device via an interface
US7917679B2 (en) * 2005-02-18 2011-03-29 Standard Microsystems Corporation Trusted LPC docking interface for docking notebook computers to a docking station
US20070094435A1 (en) * 2005-10-25 2007-04-26 Fry Walter G Computer docking system and method
US7632114B2 (en) * 2006-03-30 2009-12-15 Apple Inc. Interface connecter between media player and other electronic devices
US8006019B2 (en) 2006-05-22 2011-08-23 Apple, Inc. Method and system for transferring stored data between a media player and an accessory
US7415563B1 (en) 2006-06-27 2008-08-19 Apple Inc. Method and system for allowing a media player to determine if it supports the capabilities of an accessory
US7558894B1 (en) 2006-09-11 2009-07-07 Apple Inc. Method and system for controlling power provided to an accessory
US7540788B2 (en) 2007-01-05 2009-06-02 Apple Inc. Backward compatible connector system
US8095713B2 (en) * 2007-09-04 2012-01-10 Apple Inc. Smart cables
US8047966B2 (en) 2008-02-29 2011-11-01 Apple Inc. Interfacing portable media devices and sports equipment
US8208853B2 (en) 2008-09-08 2012-06-26 Apple Inc. Accessory device authentication
US8238811B2 (en) 2008-09-08 2012-08-07 Apple Inc. Cross-transport authentication
US8909803B2 (en) * 2009-03-16 2014-12-09 Apple Inc. Accessory identification for mobile computing devices
US8452903B2 (en) 2009-03-16 2013-05-28 Apple Inc. Mobile computing device capabilities for accessories
DE202010010867U1 (de) 2010-07-30 2011-11-02 Gressel Ag Spannvorrichtung mit Kraftverstärkung
US9306879B2 (en) 2012-06-08 2016-04-05 Apple Inc. Message-based identification of an electronic device
WO2014193404A1 (en) * 2013-05-31 2014-12-04 Hewlett-Packard Development Company, L.P. Mass storage device
EP3529705B1 (de) * 2016-10-24 2022-03-16 Hewlett-Packard Development Company, L.P. Konfiguration von docks

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5202965A (en) * 1988-12-09 1993-04-13 Bull, S.A. Electronic system with a plurality of removable units
JPH0634248B2 (ja) * 1989-12-16 1994-05-02 三菱電機株式会社 半導体神経回路網
US5758109A (en) * 1990-03-19 1998-05-26 Thomas A. Gafford Repeater/switch for distributed arbitration digital data buses
US5265238A (en) * 1991-01-25 1993-11-23 International Business Machines Corporation Automatic device configuration for dockable portable computers
JP2531903B2 (ja) * 1992-06-22 1996-09-04 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュ―タ・システムおよびシステム拡張装置
US5323291A (en) * 1992-10-15 1994-06-21 Apple Computer, Inc. Portable computer and docking station having an electromechanical docking/undocking mechanism and a plurality of cooperatively interacting failsafe mechanisms
US5347425A (en) * 1992-10-15 1994-09-13 Apple Computer, Inc. Docking station for a portable computer
EP0637793A1 (de) * 1993-07-28 1995-02-08 AT&T GLOBAL INFORMATION SOLUTIONS INTERNATIONAL INC. Ankoppelvorrichtung für tragbaren Rechner
US5471590A (en) * 1994-01-28 1995-11-28 Compaq Computer Corp. Bus master arbitration circuitry having improved prioritization
DE69518264T2 (de) * 1994-03-25 2001-03-29 Advanced Micro Devices Inc Gerät und Verfahren zum Ermöglichen der Ankoppelung eines koppelbaren Rechnersystems während des Betriebes
US5632020A (en) * 1994-03-25 1997-05-20 Advanced Micro Devices, Inc. System for docking a portable computer to a host computer without suspending processor operation by a docking agent driving the bus inactive during docking
US5598537A (en) * 1994-03-25 1997-01-28 Advanced Micro Devices, Inc. Apparatus and method for driving a bus to a docking safe state in a dockable computer system including a docking station and a portable computer
US5488572A (en) * 1994-05-04 1996-01-30 Compaq Computer Corp. Portable computer system for docking to an expansion base unit
US5933609A (en) * 1996-04-08 1999-08-03 Vlsi Technology, Inc. Method and system for hot docking a portable computer to a docking station via the primary PCI bus

Also Published As

Publication number Publication date
US6154798A (en) 2000-11-28
DE69730916D1 (de) 2004-11-04
EP0820022B1 (de) 2004-09-29
EP0820022A3 (de) 1999-02-03
TW384431B (en) 2000-03-11
SG71028A1 (en) 2000-03-21
JP4132141B2 (ja) 2008-08-13
US5873000A (en) 1999-02-16
EP0820022A2 (de) 1998-01-21
JPH1063383A (ja) 1998-03-06

Similar Documents

Publication Publication Date Title
DE69730916T2 (de) Rechnersystem mit Ankopplungs-Entfernungsmöglichkeiten ohne Stillmodus oder Haltmodus
DE69729889T2 (de) Verfahren und system zum ermöglichen einer unterbrechungsfreien einsetzung und entfernung von erweiterungskarten in einem unterspannungrechnersystem
DE19782133B4 (de) Andockstation und Schnittstelle zum Ermöglichen eines sanften Andockens eines Notebook-Computers
US6141711A (en) Method and apparatus to enable insertion/ejection of a device in a computer system while maintaining operation of the computer system and application software
JP3838278B2 (ja) コンピュータ・システムの2つのバス間のブリッジ回路
US6658507B1 (en) System and method for hot insertion of computer-related add-on cards
US5875307A (en) Method and apparatus to enable docking/undocking of a powered-on bus to a docking station
US5933609A (en) Method and system for hot docking a portable computer to a docking station via the primary PCI bus
US5488572A (en) Portable computer system for docking to an expansion base unit
DE69737314T2 (de) Netzeinschaltvorrichtung
DE69634229T2 (de) System und verfahren für die erweiterung eines computers
DE69738530T2 (de) Erweiterungskartenadressraumreservierung
DE69635887T2 (de) Schaltung zur Einstellung von Computersystembussignalen auf vorbestimmte Zustände im Niederstromverbrauchszustand
DE69432514T2 (de) Leistungssteuerung in einem Computersystem
JP3386640B2 (ja) コンピュータシステムおよびこのシステムで使用される拡張ユニット
US5596728A (en) Method and apparatus for resolving resource conflicts after a portable computer has docked to an expansion base unit
EP0702308A1 (de) System zur Durchführung eines Hochgeschwindigkeitsperipheriebus
US6772263B1 (en) PCI arbiter with hot plug controller support
JP3974288B2 (ja) 周辺装置をコンピュータに登録する方法及び装置
DE112017004110T5 (de) Verfahren, vorrichtung und system für eine rollenübertragungsfunktion für einen bus-master
DE69631012T2 (de) Leistungssteuerung in einem Informationsverarbeitungssystem
DE69724884T2 (de) Gerät und Verfahren zur positiven und subtraktiven Adressdekodierung auf einem Bus
DE102007009300B4 (de) Rechnersystem und Verfahren zum Betreiben eines Rechnersystems
US6799278B2 (en) System and method for processing power management signals in a peer bus architecture
JPH0997127A (ja) コンピュータシステム

Legal Events

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