`U8005941965A
`
`United States Patent
`Mom: et at.
`
`[.9]
`
`[11] Patent Number:
`
`5,941,965
`
`[45] Date of Patent:
`
`Aug. 24, 1999
`
`UNIVERSAL DOCKING S'I‘A'I'ION
`
`OTHER PUB] _] (TATIONS
`
`I541
`
`I751
`
`inventors: John A. Mttroz, Plymouth; Gary A.
`Altenberg. Buffalo; James 1me15.
`Maple Grove, all of Minn.
`
`[73!
`
`Aasignee: Eleetmntes Aeceswry Specialist-s
`International, Inc.. Scottsdale. Ariz.
`
`Appi. No.2 081619, 131
`Filed:
`Jul. 12, 1996
`
`Related Us. Application Data
`
`al.. Crtrdii'trs Srsterit Architecture,
`Don Anderson cl
`150—153. [94—201, 228—234; 322—325 (1995).
`lt’t—Bil PC
`Don Auden-1m. PCMCM System Architecture,
`Cards, 2nd Edition, 146—167, 214—215. 218—225. 296—391
`(1995).
`Brochure entitled "Card Station Expanding Your Portable
`World", Axonix Corporation (1994).
`
`Prittmtjv Examiner—Glenn A. Auve
`Attorney. Agent, or Firm—Merchant. Gould. Smith. Edcli,
`Welter & Schmidt. RA.
`
`Provisional application No. ott-‘Ul'ifil‘i. May to. 1990.
`
`15?]
`
`ABSTRACT
`
`Int. Cl.“ .................................................. G06F 13100
`
`U.S. CL ............................................. Tlflfllll; 3613383
`
`Field of Search
`
`395.9281. 552,
`395555; 364,1"?08J; 361.-"683~68t3
`
`References Cited
`
`U.S. l’A’l‘EN'l' DOCUMEN'I‘S
`
`.
`
`iil‘J‘K] Eppley et al.
`4.941.845
`lliliJ‘KJ Duly el al. .
`4.069.830
`2.“!993 Spalding et 31..
`5.181645
`[1’1994 Rasmu‘mcn _
`5.373.|4(J
`‘Jil‘J‘JS Register et al.
`5.451180
`5.47145 12"]905 Miteharn ct at.
`
`3‘35.t283
`5.631020
`5.3100?
`(icphardt ct al.
`. 395E893
`5.634.080
`5.3199? Kikini}; cl Ell.
`
`5324529
`3.:‘1008 Smith ct a1.
`305.1309
`
`_
`
`.
`
`Auniversal dockingstation t'oreoupling a portable computer
`to a plurality ol‘ peripheral devices via a PCMC‘IA interl’ace
`is provided, wherein at least one of the peripheral devices is
`a user input device. 1111: docking station comprises a PCM-
`CIA interface adapted to be coupled to the portable
`computer, peripheral control units adapted to be coupled to
`the plurality of peripheral devices, and a docking station
`control unit coupled to the PCMCIA interface and the
`peripheral control units, wherein the docking station control
`unit selectively transfers data between the PCMCIA inter-
`lace and one ol‘ the peripheral control units, and wherein the
`docking station control unit extends the period of time data
`written by the computer remains stable on the I-‘CMCIA
`interface. A computer system including the universal dock—
`ing station is also provided. A method for
`interfacing a
`standard peripheral device to a computer via a [’(L‘MClAhus
`is also provided.
`
`5 Claims, 6 Drawing Sheets
`
`701
`
`Addr
`
`703
`
`REG}?
`
`705 CE[1:O]#
`
`707
`
`IORD#
`
`709 INPACK#
`
`71 1
`
`|OiS16#
`
`.
`T6:
`
`713
`
`WAIT#
`
`715
`
`Oou‘t
`
`IO Read with Wait State
`
`
`+T16
`
`i“ T1
`
`T4 a
`
`I
`
`T5
`
`T8
`
`15
`
`
`
`Toshiba_Apricorn 1009-0001
`Toshiba_Apricorn 1009-0001
`IPR2018-01067
`|PR2018—01067
`
`
`
`US. Patent
`
`Aug. 24, 1999
`
`Sheet 1 of 6
`
`5,941,965
`
`FIG.
`
`1
`
`125
`
`127
`
`113
`
`PRINTER
`
`l MONITOR
`
`MODEM
`
`107
`
`KEYBOARD
`
`I
`'
`
`NETWORK
`
`
`
`109 --..
`
`
`
`MOUSE
`
`—"
`
`
`
`129
`DOCKING
`STATION
`
`131
`
`PCMCIA
`CARD
`
`PORTAB LE
`COMPUTER
`
`105
`
`1 01
`
`FLOPPY
`DRIVE
`
`
`10.3
`
`
`1 15
`
`117
`
`1 21
`
`123
`
`Toshiba_Apricorn 1009-0002
`Toshiba_Apricorn 1009-0002
`IPR2018-01067
`|PR2018—01067
`
`
`
`US. Patent
`
`Aug. 24, 1999
`
`Sheet 2 0f 6
`
`5,941,965
`
`
`
`
`
`_58228
`
`Ea
`
`we
`
`
`
`
`
`
`
`<2,
`
`
`aI/
`
`
`[If
`Hmnm
`xmaES...
`mobuzon «0.5%on «ohm—‘28398228
`328228
`55m:28
`95.8%.:
`V5035:
`.Emum
`uwzo:
`
`
`
`
`
`
`455w
`
`$540528
`
`
`
`mamJOKER..
`
`new.
`
`
`
`inEng...
`Edam—Eco
`
`
`
`
`
`
`
`ma3&3284425.8
`
` mug—cum
`
`
`mom
`
`wmmxoo...
`
`
`
`n5.38mm
`
`mow
`
`zo—Exawmzoo
`
`
`
`
`
`
`
`
`
`Toshiba_Apricorn 1009-0003
`Toshiba_Apricorn 1009-0003
`IPR2018-01067
`|PR2018—01067
`
`
`
`
`
`
`
`
`
`
`
`
`US. Patent
`
`Aug.24, 1999
`
`Sheet 3 of6
`
`5,941,965
`
`FIG. 3
`
`
`
`DEVICE
`
`DRIVER
`
` 301
`
`
`303
`
`
`
`IS
`CARD SERVICES
`INSTALLED
`
`307
`I;
`
`YES
`
`311
`
`313
`
`REGISTER WITH
`
`CARD SERVICES
`
`
`
`
`
`
`SETUP INTERRUPT
`
`HANDLERS
`
`
`
`317
`
`WAIT FOR
`
`
`CARD TO BE
`INSERTED
`
`
`
`
`Toshiba_Apricorn 1009-0004
`Toshiba_Apricorn 1009-0004
`IPR2018-01067
`|PR2018—01067
`
`
`
`US. Patent
`
`Aug.24,1999
`
`Sheet 4 0f6
`
`5,941,965
`
`CARD INSERTED
`
`4-01
`
`403
`
`
`
`
`
`
`
`GET MNUFACTURES ID
`405
`N0 H IGNORE CARD
`
`
`IS THIS OUR IO
`
`
`
`
`FIG. 4
`
`407
`
`
`YES
`_T#‘°9
`
`GEI' HRST
`
`CONFIGURATTON ENTRY
`
`
`
`DOES
`
`CONFFGURATION
`
`
` REOUEST I/O
`SUPPORT OTHER
`
`T/O's 2
`
`
`succEss
`0
`YES
`
`415
`
`REQUEST IRO
`FAIL
`succEss
`
`413
`N0 A REl£ASE I/O —-
`
`
`
`
`422
`
`RELEASE I/o
`a IRO
`I
`”0
`“—
`
`
`
`DOES
`4:?
`
`sfigfifimflg
`
`IRO'S ?
`
`YES h‘
`421
`
`DOES
`
`
`CONFIGURATION
`
`SUPPORT OTHER
`
`mus ?
`
`
`428
`FATEm ONFIGURATION'
`
`
`
`
`
`
`
`
`
`419
`
`REQUEST W W
`SUCCESS
`
`421
`
`REQUEST MEMORY
`
`REQUEST CONFIGURATION
`
`
`success
`
`CONHGURE HMD’NARE
`'
`0N PCB
`
`
`423
`
`l'l
`
`3mg V0:
`
`THERE OTHER
`9
`
`427
`
`429
`
`REPORT ERROR
`
`\
`
`CONHGURRUON
`ENTRY
`
`
`
`CARD COMGURATTON
`
`431
`
`
`
`Toshiba_Apricorn 1009-0005
`Toshiba_Apricorn 1009-0005
`IPR2018-01067
`|PR2018—01067
`
`
`
`US. Patent
`
`Aug. 24, 1999
`
`Sheet 5 0f 6
`
`5,941,965
`
`
`INTERRUF'T SERVICE ROUTINE
`
`
`
`
`/
`‘READ INTERRUPT STATUS REGISTERi
`
`501
`
`503
`
`FIG. 5
`
`523
`
`YES
`
`BRANCH TO IDE ISR
`
`
`
`
`
`YES A BRANCH T0 VGA ISR
`
`YES —-—
`
`
`BRANCH TO FLOPPY [SR
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`YES +
`BRANCH TO PARALLEL ISR
`
`
`51 3
`
`Z O
`
`2 O
`
`Z O
`
`Z O
`
`N0
`
`Z O
`
`Z O
`
`KEYBOARD ‘?
`
`N0
`
`5051
`5071
`5096
`5111
`PARALLEL ‘?6
`5156
`5171
`519<>
`521
`
`YES 4*
`
`YES
`
`YES
`
`
` BRANCH T0 NETWORK ISR
`
`
`
`
`IN MOUSE INPUT BUFFER
`
`'cEr MOUSE EVENT AND Pu_1__
`
`GEI' KEYCODE AND PUT
`IN KEY INPUT BUFFER
`
`
`
`535
`
`5.37
`
`'1
`
`
`
`CLEANUP AND RETURN
`FROM INTERRUPT
`
`
`Toshiba_Apricorn 1009-0006
`Toshiba_Apricorn 1009-0006
`IPR2018-01067
`|PR2018—01067
`
`
`
`US. Patent
`
`Aug.24,1999
`
`Sheet 6 0f6
`
`5,941,965
`
`IO Write with Early Write Termination
`
`
`
`
`
`
`
`
`
`
`
`
`FKS. 6
`
`601 Addr
`
`503 REG#
`
`605 Ec[1 :0]
`11*
`
`507
`
`IOWR
`
`#
`
`609 EARLY
`
`IOWR#
`
`611
`
`IOIS1
`
`615 WAIT
`
`11}
`
`Din
`
`615
`
`FKS. 7
`
`
`
`
`TB
`
`
`
`701
`
`Addr
`
`
`
`T16+
`
`10 Read with Wait State
`
`T1
`
`T2
`
`4—14
`
`703
`
`REG#
`
`705 CE[1:0]#
`
`707
`
`10R0#
`
`709 INPACK#
`
`101516#
`
`711
`
`T6
`
`713
`
`110111;
`
` E
`
`"' 15
`
`T3
`
`III
`
`.
`
`1
`
`a
`
`T3
`
`'
`
`T1-
`
`T131
`
`112—»
`N
`
`
`
`Toshiba_Apricorn 1009-0007
`Toshiba_Apricorn 1009-0007
`IPR2018-01067
`|PR2018—01067
`
`
`
`5 ,94 I ,965
`
`1
`UNIVERSAL DOCKING STATION
`
`This application claims benelil of Provisional Applica~
`lion flli’fll'fJZS filed May 16, 1996.
`FIELD OF THE INVENTION
`
`The present invention relates generally to computers nd
`more particularly to docking stations used to interface
`portable computer to multiple peripheral devices.
`
`It)
`
`BACKGROUND OI’ THE- INVENTION
`
`2
`receiving a write command, and the portable computer is
`capable of writing data. The docking station comprises a
`PCMCIA interface adapted to be coupled to the portable
`computer, peripheral control units adapted to be coupled to
`the plurality of peripheral devices, and a docking station
`control unit coupled to the PCMCIA interface and the
`peripheral control units, wherein the docking station control
`unit selectively transfers data between the PCMClA intcr~
`face and one of the peripheral control units, and wherein the
`docking station control unit extends the period of time data
`written by the computer remains stable on the PCB/{CIA
`interface.
`
`Acomputer system is also provided comprising a portable
`computer having a PCMCIA interface, the portable com—
`puter capable of generating output signals for designated
`peripheral devices, a control unit having a I’CMCIA inter-
`face for interfacing with the portable computer PCMCIA
`interface, a plurality of peripheral devices coupled to the
`control unit, with at least one of the peripheral devices being
`a user input device capable of generating input signals, and
`at least one of the peripheral devices being a display device.
`the control unit comprising means for converting the output
`signals from the portable computer into a form compatible
`with the designated peripheral device. means for routing the
`converted signal to the designated peripheral device, means
`for converting the input signal into a form compatible with
`the portable computer, and means for prioritizing access to
`the PCMCIA bus by the input signals. In one embodiment,
`the means for converting the output signal
`into a form
`compatible with the designated peripheral comprises
`extending the period of time the output signal remains
`stable.
`A method for interfacing a standard peripheral device to
`a computer via a PCMCIA bus is also provided. The method
`comprises the steps of driving data to be written to the
`peripheral device on the PCMCIA bus, extending the time
`the data is available to the peripheral device on the I-‘CMCM
`bus for a period sull'tcient to satisfy the timing requirements
`of the peripheral device, and writing the data to the periph—
`eral device.
`In one embodiment,
`the extending step is
`accomplished by activating the write signal a period before
`a standard write signal.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`For a more complete understanding of this invention
`reference should now be made to the embodiment(s) illus-
`trated in greater detail in the accompanying drawings and
`described below by way of examples of the invention.
`FIG. I is a block diagram showing a docking station in
`accordance with one embodiment of the invention connected
`to various peripheral devices and connected to a computer
`via a standard universal interface.
`FIG. 2 is a more detailed block diagram of the docking
`station represented in FIG. 1.
`FIG. 3 is a flow chart showing a method of initializing a
`device driver into an operating system.
`FIG. 4 is a flow chart of steps that occur in handling
`insertion of a PCMCIA card into a PCMCIA port of a
`computer.
`FIG. 5 is a flow chart of steps that occur when the docking
`station shown in FIG. 1 causes an interrupt on the Computcr
`requesting service for one of the peripheral devices.
`FIG. 6 is a timing diagram showing the write timing used
`to interface multiple peripheral devices to the PCMCIA port.
`FIG. 7 is a timing diagram showing the read timing used
`to interface multiple peripherals to the PCMCIA port.
`
`Toshiba_Apricorn 1009-0008
`Toshiba_Apricorn 1009-0008
`IPR2018-01067
`|PR2018—01067
`
`15
`
`2|)
`
`Though popular, portable computers, such as notebook,
`laptop or palmtop computers have several shortcomings
`when compared to conventional desktop computers. They
`typically include a keyboard that
`is smaller and more
`dillicutt to use than a conventional keyboard, and a smaller.
`lower resolution screen than a conventional desktop moni-
`tor. In addition, portable computers rarely include such
`peripherals as Cl) ROMS,
`tape backups, secondary hard
`drives, modems, and network connectors.
`A portable computer user seeking these features has
`limited options. The user can purchase separate portable and
`desk top computers. However, given that the user can only
`use one computer at a time, this option iscostly and requires -
`frequent data transfers between the two computers. Asccond
`option is to plug the various peripherals into their designated
`ports on the portable computer. Unfortunately, most portable
`computers do not have connectors for many of the periph-
`erals desired. Moreover. separately connecting and uncon-
`necting the various peripherals is time consuming and
`burdensome.
`
`30
`
`A third option for the portable computer user seeking to
`expand the capabilities of their portable computer is to
`purchase a docking station or expansion base into which the
`particular portable computer may easily be docked during
`desktop use. This. only one computer is necessary, and data
`transfer is not required. The docking station typically sits on
`the user’s desk and provides connections to various periph-
`eral devices, such as full-size keyboards and monitors,
`modems, network connectors, etc. Once the portable com-
`puter is docked in the docking station, the portable computer
`has access to all of the various peripherals attached to the
`docking station. When travel
`is necessary,
`the user can
`simply remove the portable computer from the docking
`station and carry it with him on the road.
`A major shortcoming of cunent docking stations is their
`reliance on proprietary connectors to connect the portable
`computer to the docking station. Consequently, one must
`purchase the docking station that corresponds to the make
`and model ofthe portable computer they currently own. and
`is most likely precluded from using docking stations mana—
`factured by diflerent companies. This severely limits the
`usefulness of the docking station concept because a portable
`computer user is confined to a small number of stations into
`which he can dock his computer. A strong need exists for a
`universal docking station that provides the added advantages
`and capabilities of a desktop computer, particularly a full-
`size keyboard and monitor, but does not require a proprietary
`connection to the portable computer.
`
`SUMMARY OF THE INVENTION
`
`A universal docking station for connecting a portable
`computer to a plurality of peripheral devices is provided,
`wherein at least one of the peripheral devices is a user input
`device, at least one of the user input devices is capable of
`
`35
`
`40
`
`4:1
`
`50
`
`55
`
`fit]
`
`as
`
`
`
`10
`
`15
`
`2|)
`
`The universal docking station or expansion base of the
`present invention allows a portable computer user to inter—
`face a portable computer to several different peripheral
`devices, such as [TD-ROMs, Hard Disk Drives, Floppy Disk
`Drives, Tape Backups, standard size keyboards and mice.
`standard size VGA/super VGA monitors, networks, and
`other peripherals that typically utilize serial andfor parallel
`ports.
`Rather than using proprietary connectors to connect the
`computer
`to the docking station,
`the present
`invention
`accomplishes this task using a standard universal interface.
`One such interface is the Personal Computer Memory Card
`International Association ("PCMCIA") slot, port or socket
`provided on most portable computers. To interface with the
`PCMCIA slot,
`the docking station uses a PCMCIA card
`("PC Card") as the connection between the portable com-
`puter and the docking station. With this arrangement, por—
`table computer users can connect their portable computers to
`multiple peripheraLs with one PCMCIA card. Because PCM-
`CIA porLs‘ on portable computers are almost identical physi—
`cally and electrically from computer
`to computer,
`the
`present docking station will work with almost any portable
`computer having such a port. With this arrangement, the '
`docking station of the present invention can be positioned
`not only at a user’s office and home, but at airports, libraries.
`business associates" offices. and virtually anywhere else
`computers are used. Portable computer users would no
`longer be Limited by the make and model of computer they
`carry.
`Background on lfi-Bit PCMCIA cards can be found in
`Mindshare, Inc. 8: Don Anderson, PCMCIA System Archi-
`tecture 16 Bit PC Cards, Second Edition (Addison-Wesley
`Publishing Company 1995), which is hereby incorporated
`by reference. Background on 32-bit PCMCIA standard
`known as "card bus" can be found in Mind Share. lnc., Card
`Bro.- System A. rcitfrectnre (Addison—Wesley Publishing Com—
`pany 1995), which is hereby incorporated by reference.
`Referring to the drawings, particularly FIG. 1. a portable
`computer 101 having a PCMCIA port 102 is connected to a
`PCMCIAcard 105 which interfaces to a docking station 103.
`The PCMCIA card 105 completes the interface between the
`portable computer 101 and the docking station 103. Several
`peripheral devices 106 are coupled to the docking station
`[03. Possible peripheral devices include: keyboard 10?, joy
`stick 109, mouse 111. modern 113. network interface 115,
`hard disk 117, floppy disk 119, CD ROM [21, tape backup
`123, printer 125, and monitor [27.
`In one embodiment. the docking station 103 contains two
`standard expansion slots 129 and 131 configured and
`arranged to receive any combination of two of the following
`standard internal peripheral devices: hard disk 11?. floppy
`drive 119, CD ROM 121 and tape backup 123. Other
`embodiments of the present
`invention may provide for
`additional expansion slots for receiving additional internal
`peripheral devices.
`As indicated above, the portable computer 101 contains at
`least one PCMCIA slot. The portable computer 101 also
`includes a central processing unit (CPU) coupled to a Read
`Only Memory (ROM) and Random Access Memory
`(RAM). The computer communicates with the PCMCIA slot
`and other internal and external components through an
`internal or inputt’output (“0) bus. A controller or Host Bus
`Adaptor (HBA) links signals coming from the PCMCIA slot
`(or from a PCMCIA card installed in the slot) to the It’O bus
`
`30
`
`35
`
`40
`
`4:1
`
`50
`
`55
`
`(it!
`
`{15
`
`3
`DETAILED DESCRIPTION OF THE.
`PREFERRED EMBODIMENT
`
`5 ,94 1 ,965
`
`4
`of the portable computer. The computer may also include
`one or more data storage devices. such as a hard disk drive,
`a
`floppy disk drive, and CD-ROM drive.
`In one
`embodiment, software used in connection with the present
`invention may be stored and distributed on a CD—ROM,
`which may be inserted into and read by the C D-ROM drive.
`The computer is aLso coupled to a display, and a user input
`device such as a mouse or keyboard.
`A memory window can be created in the portable com-
`puter‘s address space into which memory and configuration
`registers of the PCMCIA card can be individually mapped.
`This memory window can be set up by a device driver of the
`PCMCIA card, and typically remains the same size and
`keeps the same memory location on the portable computer.
`Referring to FIG. 2, the docking station 103 interfaces to
`the computer 101 via a PCMCIA bus 201 on the computer
`101. The computer 101 includes a I’CMCIA slot or socket
`connected to the PCMCIA bus 201. into which a PCMCIA
`card can be inserted to connect
`the PCMCIA card to the
`PCMCIA bus 201. As used herein, a PCMCIA card refers,
`generically, to a standardized interface between a peripheral
`device and an internal bus of a computer. Typically. the
`l’CMCIA card will be of a standard length and width. and
`will have a thickness determined by the card type (e.g.. Type
`I =33 mm thick; Type I] =51} mm thick; Type III =l0.5 mm
`thick}. The l’CMCIAcard isconfigured to fit into a PC'MCIA
`slot or socket. When inserted into the PCMCIA slot or
`socket, the l-‘CMCIA card can be connected to a wide variety
`of host buses, typically via host bus adapters designed for a
`particular bus interface. The PCMCIA bus 201 is an expan‘
`sion of the computer's internal bus, and allows devices
`connected to the PCMCIA port
`to be accessed by the
`computer as if they were inside the computer. The PCMCIA
`physical
`interface allows for devices to be inserted and
`removed at any time from the computer.
`The PCMCIA bus 201 operatively couples a FCMCIA
`control bus 239. an address bus 241 and a data bus 243 to
`core logic 202 of the docking station 103 to the computer
`101. The core logic 202 includes address decode and control
`logic 203, configuration registers 205. and attribute memory
`207.
`
`In one exemplary embodiment, the address decode and
`control logic 203 is implemented using field programmable
`gate arrays {FPGA). Alternatively. the address decode and
`control
`logic 203 could be implemented using a program
`array logic {PAL} or other similar programmable devices or
`custom integrated circuits (IC) so long as the particular
`implementation can handle the timing requirements of the
`PCMCIA bus 201 as well as all of the peripheral devices 106
`connected to the docking station 103.
`[n the exemplary embodiment, the configuration registers
`205 contain live registers. The first configuration register is
`a standard PCMCIA register needed for all PCMCIA
`devices, commonly referred to as the configuration option
`register. This register contains 8 bits to enable the PCMCIA
`card to behave as an It’O card and aLso has a bit that resets
`the card to a known state. The second configuration register
`is a 16 bit register that contains the U0 address for the
`configuration registers of the different peripheral devices
`attached to the docking station [03. The third register is an
`interrupt flag which is an 8 bit register that contains a bit for
`each device to interrupt
`the computer for services. The
`founh register is :1
`tr: hit register that
`is loaded with the
`address for the 101816 signal used by the IDE interface. The
`IOISJG is a signal used to inform the computer that a device
`desires to carry out a 16 bit transfer as opposed to an 8 bit
`
`Toshiba_Apricorn 1009-0009
`Toshiba_Apricorn 1009-0009
`IPR2018-01067
`|PR2018—01067
`
`
`
`5 ,94 l .965
`
`5
`transfer to the computer. The last register is a keyboard
`configuration register which is a 16 bit register that is loaded
`with the IlU address that the keyboard controller needs to be
`mapped to in the system.
`In the above described exemplary embodiment, the con-
`figuration registers 205 are implemented using a field pro-
`grammable gate array (FPGA). The configuration registers
`205 could also be implemented using random access
`memory (RAM) or a programmable array logic (PAL)
`device. Di flerenl size registers may also be sued as dictated
`by the actual implementation.
`The attribute memory 20"!I is implemented in the exem-
`plary embodiment with an electronically erasable program-
`mable read only memory (EEPROMl or other suitable
`standard nonvolatile memory.
`In one embodiment, only
`about
`[[124 bytes of memory are required to store all
`the
`values needed for the docking station 103.
`Peripheral devices 106 can be connected to the docking
`station 103 through appropriate connectors {223-237}. Once
`connected. the peripheral devices 106 interface through the
`address decode and control logic 203.
`Aparallel connector is connected through connection 249
`to a parallel controller 209. The parallel controller 209 is
`connected to the address decode and control logic 203 via
`comm] bus 245 and address bus 24?. Parallel controller 209
`is also connected to configuration registers 205 with control
`bus 245 and address bus 247. Adata bus 243 is linked to, and
`can provide data to,
`the configuration registers 205,
`the
`attribute memory 207, and the parallel controller 209. The
`parallel controller 209 may be implemented, for example.
`using a standard 8255 compatible parallel controller used on
`IBM XTIAT compatible computers. This supports the
`optional PSr'Z bidirectional parallel port (SPF), the Enhanced
`Parallel Port (EPP) and the Extended Capabilities Port
`(ECP) modes. This inlerl'ace is useful
`for connecting
`printers. removable media high density storage devices and
`scanners to the docking station 103. A Standard Microsys~
`tems Corporation (SMC) FDC37C.‘93X Plug and Play Com-
`patible Ultra U0 Controller includes a parallel port and can
`be used for this purpose.
`A serial connector 225 is connected via connection 251 to
`a serial controller 211. The serial controller 211 is connected
`to the address decode and control logic 203. configuration
`registers 205 by way of control bus 245. address bus 247 and
`data bus 243, as indicated in FIG. 2.
`'ll'te serial controller 211 may be a N816C550 compatible
`serial controller or other serial controller that can handle
`high speed communication (i.e., communication above
`460K Baud), and has a built in FIFO for handling data
`received by the serial port at a rate faster than can be sent
`through the interface to the computer. The serial controller
`may be a standard IGCSSCI compatible Universal Asynchro—
`nous Receiverfl'ransmitter (UART). for example. with a [6
`byte FIFO. The UAR'I' performs the serial-to-parallel con-
`version for receiving characters and the parallel-to-serial
`conversion for transmitting characters. This UART allows
`for data rates from 50 to 460.th baud. The character options
`are programmable for 1 start; 1, 1.5 or 2 stop bits; even, odd.
`sticky or no parity; and prioritized interrupts. The UART
`contains a programmable baud rate generator that is capable
`of dividing the input clock or crystal by a number from 1 to
`65535. The UART is also capable of supporting Musical
`Instrument Digital
`Interface (MIDI) data rate. An SMC
`FDC3TC‘J3X Plug and Play Compatible Ultra IlO Controller
`can be used for this purpose. Other serial controllers may
`also be used so long as they support a communications speed
`of 46th baud and contain a Fl FO for handling data over-
`flow.
`
`It)
`
`15
`
`2|)
`
`-
`
`30
`
`35
`
`an
`
`4:1
`
`50
`
`55
`
`(it!
`
`{15
`
`6
`An Integrated Drive Electronic (IDE) connector 22'? is
`connected via connection 253 to IDE interface logic 213.
`The [DU enables hard disk drives with embedded controllers
`to be interfaced to the host pmcessor. The IDE interface
`performs the address decoding for the IDE device. This
`interface also supports devices such as (JD-ROM drives and
`newer high density removable storage devices. The [DE 213
`includes an address decoder for the specific drive or mass
`storage device to be interfaced to, and interrupt circuitry to
`allow the device to request service from the computer. The
`interrupt source goes back through the control bus 245
`through the address decode and control logic 203 back into
`the PCMCIA bus 201. In an cXcmplary embodiment, the
`SMC FDC37C93X Plug and Play Compatible Ultra NO
`Controller provides the IDE interface.
`A keyboard connector 229 is connected via connection
`255 to a keyboard and mouse controller 215. A mouse
`connector 231 is also connected via connection 257 to the
`keyboard and mouse controller 215. The keyboard and
`mouse controller 215 interfaces through the control bus 245,
`address bus 247 and data bus 243. The keyboard and mouse
`controller 215 should contain means for communicating to
`a keyboard and a mouse and means for interfacing with a
`computer. The keyboard and mouse controller 215 may be
`implemented using a universal keyboard control with a
`standard Intel 8042 micro controller CPU core. The SMC
`FDC37C93X Plug and Play Compatible Ultra HO
`Controller, for example, provides the keyboard and mouse
`controller 215. Other standard keyboard and mouse control‘
`lers may also be used.
`A floppy disk connector 233 is connected to the floppy
`disk controller {PDQ 217 via connection 259. The FDC 217
`is connected to the control bus 245, address bus 247 and data
`bus 243. An IBM compatible FDC can be used, and pref—
`erably one with a CMOS 755 floppy disk controller that
`supports a 2.88 megabyte super floppy drive. This [’DC 217
`can handle up to two floppy disk drives or tape backups. The
`FDC integrates the functions of the Formatted Controller,
`Digital Separator. Write Precompcnsation and Data Rate
`Selection logic for IBM X‘l‘m‘l‘ compatible I’DC are also
`provided. The true CMOS 76513 core guarantees 100% IBM
`PC XTr‘AT computabilily in addition to providing data
`overflow and underflow protection.
`In an exemplary
`embodiment, the SMC FDC37C93X Plug and Play Com-
`patible Ultra [#0 Controller provides the FIJC.
`A VGA connector 235 is connected to a VGA controller
`219 via connection 261. The VGA connector 235 interfaces
`through the control bus 245, address bus 24'}Ir and data bus
`243. The VGA controller 261 can have some VGA memory
`integrated into it, support up to 1024 by 756 pixels, and be
`compatible with a super VGA monitor.
`A network connector 231r
`is connected to a network
`controller 221 through connection 263. The network com
`troller 22] interfaces through the control bus 245. address
`bus 24'? and data bus 243. Between a 10 megabyte and a 100
`megabyte controller can be supported. 1n the exemplary
`embodiment,
`the network controller 221 is an Ethernet
`controller.
`
`the keyboard and mouse controller 215,
`As indicated.
`FDC 217, parallel controller 209. serial controller 211, and
`IDE interface 213 can be implemented using a Standard
`Microsystems Corporation (SMC) FDC37C93X Plug and
`Play Compatible Ultra [f0 Controller. This device incorpo-
`rates a keyboard interface. SMC‘s true CMOS 265B floppy
`disk controller, advance digital separator. 16 byte data FIFO,
`IGCSSU compatible UAR‘I‘s. a Multi-Mode parallel port and
`
`Toshiba_Apricorn 1009-0010
`Toshiba_Apricorn 1009-0010
`IPR2018-01067
`|PR2018—01067
`
`
`
`5 ,94 1 ,965
`
`7
`an lDE interface. The FDCB'IC‘93X also provides support
`for the ISA Plug—and-l’lay Standard (Version 1.0a) and
`provides for the recommended functionality to support Win-
`doWs ’95.
`
`Most PCMCIA socket controllers designed into most
`computers have a limited U0 window sine. Typically. only
`two IIU windows are permitted. This will allow for one or
`two functions to have IKU ports. With more than two
`functions on the docking station it is necessary to combine
`all of the [t0 ports into two contiguous pieces of 1/0
`memory.
`Almost all of the functions on the SMC chip can be
`relocated in Ho address space via configuration registers.
`The only function that is fixed is the keyboard and mouse
`controller. To accommodate this a Xilinx FPGA is built into
`the hardware of the docking station. The Xilinx device
`includes logic to match an address and output the appropri-
`ate address to the SMC‘ chip.
`FIG. 3 shows a flow chart depicting steps performed in
`inserting the docking station device driver 301 into the RAM
`of the portable computer 101. Processing begins with deci-
`sion step 303 which detects whether card services [a piece
`of software that is used to interface with the PCMCIA port
`at a high level) is installed on the computer; if not, an error
`is flagged at step 307, possessing stops, and the device driver
`is not installed into the operating system. If card services is
`installed, processing continues with step 311 wherein the
`device driver registers with card services and sets up a call
`back handler, thereby allowing card services to inform the
`docking station device driver of events that happen in the
`PCMCIA port such as a PCMCIA card being inserted or
`removed. After the device driver is registered with card
`services, processing continues with step 313 which polls for
`interrupt vectors and loads the interrupt vectors into memory
`to allow the device driver to handle different functions of the
`docking station. Once in memory, the device driver stays in
`memory waiting for one of the callback events from card
`services to tell it that the docking station PCMCIA card has
`been inserted into the computer’s PCMCIA port as shown in
`item 317.
`
`The PCMCIA standard specifies that all PCMCIA devices
`must behave as a memory device until configured by the host
`computer. After configuration,
`the PCMCIA device must
`convert some of the interface pins to the PCMCIA bus to
`support
`the [to interface. This is accomplished in one
`embodiment of the universal docking station 103 by using a
`Xilinx FPUA to control the functions of the flexible interface
`pins. All PCMCTlAdevices must also have memory on board
`that identifies the device's functions and capabilities. This is
`accomplished in the exemplary embodiment of the present
`invention by using a 2K EEPROM that is accessible by the
`computer at any time. The EEPROM also allows for soft-
`ware to write new infon'nation to it when upgrades or
`modifications are necessary.
`[’16. 4 depicts the steps performed during card contigu-
`ration. Processing begins at step 401 when a PCMC‘IA card
`is inserted into the PCMCIA port on the computer, and card
`services informs the device driver through the callback
`handler that a card has been inserted. Next, in step 403, the
`device driver asks card services for the manufacture [D of
`the card that was inserted. If the card inserted is the docking
`station I’CMCIA card,
`the manufacturer ID is stored in
`attribute memory 207. In decision step 405, the manufac-
`turer ID of the card inserted is compared to the [D desig-
`nated for the docking station; if no match is found,
`the
`system ignores the card as shown in step 407 and continues
`
`It)
`
`15
`
`2|)
`
`30
`
`35
`
`411
`
`4:1
`
`50
`
`55
`
`(it!
`
`{15
`
`8
`waiting for another card to be installed. If the manufacturer
`ID is correct, processing continues with step 409 which gets
`the first configuration entry that is stored in the attribute
`memory on the card.
`Next, the device driver tries to configure the [3'0 port and
`different interfaces needed for using the docking station card
`in the system given the particular configuration entry. The
`first step is the ”0 port step 411 which is requested from
`card services and card services either allows the docking
`station card to have the NO port or not. lfnot, the system will
`determine in decision step 413 whether the wntiguration
`allows other U0 ports to be used. If there are more [£0 ports
`in this particular configuration, the system will return to step
`411 to try requesting the next U0 port. This routine will
`continue until an lt’O port is successfully requested or all [.30
`ports of this particular configuration entry are exhausted. If
`there are no more lt'O ports in the particular configuration,
`decision step 423 determines whether there are other con-
`figurations available. If so, step 425 g