throbber
United States Patent
`Moroz et al.
`
`19
`
`USOO594.1965A
`Patent Number:
`11
`(45) Date of Patent:
`
`5,941,965
`Aug. 24, 1999
`
`UNIVERSAL DOCKING STATION
`
`OTHER PUBLICATIONS
`
`54
`(75)
`
`60
`
`51
`
`52)
`
`58
`
`56)
`
`Inventors: John A. Moroz, Plymouth; Gary A.
`Altenberg, Buffalo; James Ternus,
`Maple Grove, all of Minn.
`Assignee: Electronics Accessory Specialists
`International, Inc., Scottsdale, Ariz.
`
`Appl. No.: 08/679,131
`Filed:
`Jul. 12, 1996
`Related U.S. Application Data
`Provisional application No. 60/017,725, May 16, 1996.
`
`Int. Cl." ............................................... G06F 13/00
`
`U.S. Cl. ............................................. 710/101; 361/683
`
`Field of Search ..................................... 395/281, 552,
`395/555; 364/708.1; 361/683–686
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`4.941,845 7/1990 Eppley et al. .
`4,969,830 11/1990 Daly et al..
`5,187,645 2/1993 Spalding et al. .
`5,373,149 12/1994 Rasmussen,
`5,452,180 9/1995 Register et al. .
`5,477,415 12/1995 Mitcham et al..
`5,632,020 5/1997 Gephardt et al. ....................... 395/283
`5,634,080 5/1997 Kikinis et al. ...
`... 395/893
`5,724,529 3/1998 Smith et al. ............................ 395/309
`
`Don Anderson et al., CardBus System Architecture,
`150–153, 194–201, 228–231; 322–325 (1995).
`Don Anderson, PCMCIA System Architecture, 16-Bit PC
`Cards, 2nd Edition, 146-167, 214-215, 218–225, 296–297
`(1995).
`Brochure entitled “Card Station Expanding Your Portable
`World”, Axonix Corporation (1994).
`
`Primary Examiner-Glenn A. Auve
`Attorney, Agent, or Firm Merchant, Gould, Smith, Edell,
`Welter & Schmidt, PA.
`57
`ABSTRACT
`A universal docking Station for coupling a portable computer
`to a plurality of peripheral devices via a PCMCIA interface
`is provided, wherein at least one of the peripheral devices is
`a user input device. The 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
`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 PCMCIA
`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 PCMCIA bus
`is also provided.
`
`5 Claims, 6 Drawing Sheets
`
`O Redd with Woit Stote
`
`T1->
`
`T2-
`
`-- T4 -->
`
`T3
`
`--T1 6->
`
`15
`
`T1
`
`703 REG#
`
`705 CE1:Ol
`
`707 IORD
`
`709 INPACK
`
`711 IOIS16#
`
`
`
`713 WAIT
`
`715 Oout
`
`WESTERN DIGITAL CORPORATION, EXHIBIT 1009
`Page 1 of 14
`
`

`

`U.S. Patent
`
`Aug. 24, 1999
`
`Sheet 1 of 6
`
`5,941,965
`
`FIG. 1
`
`125
`
`127
`
`113
`
`/
`
`PRINTER
`
`MONITOR
`
`MODEM
`
`107 N.
`KEYBOARD
`
`
`
`
`
`109 N
`JOYSTICK H
`
`
`
`
`
`
`MOUSE
`
`
`
`129
`DOCKING
`STATION
`
`
`
`
`
`
`
`
`
`
`
`1 O3
`
`131
`
`PCMCIA
`CARD
`
`PORTABLE
`COMPUTER
`
`-115
`
`HARD 11 117
`
`----
`
`DSK
`DRIVE
`
`-119
`
`-121
`
`- 123
`
`FLOPPY
`DRIVE
`
`— CD-ROM
`
`TAPE
`BACK-UP
`
`WESTERN DIGITAL CORPORATION, EXHIBIT 1009
`Page 2 of 14
`
`

`

`U.S. Patent
`
`Aug. 24, 1999
`
`Sheet 2 of 6
`
`5,941,965
`
`K.
`
`K
`
`K
`
`Gy?
`
`177
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`WESTERN DIGITAL CORPORATION, EXHIBIT 1009
`Page 3 of 14
`
`

`

`U.S. Patent
`
`Aug. 24, 1999
`
`Sheet 3 of 6
`
`5,941,965
`
`FIG. 3
`
`
`
`
`
`
`
`DEVICE
`DRIVER
`
`
`
`
`
`IS
`CARD SERVICES
`INSTALLED
`p
`
`
`
`
`
`YES
`
`REGISTER WITH
`CARD SERVICES
`
`
`
`SETUP INTERRUPT
`HANDLERS
`
`
`
`311
`
`313
`
`317
`
`
`
`
`
`
`
`WAIT FOR
`CARD TO BE
`INSERTED
`
`3O7
`
`REPORT
`ERROR 8
`RETURN
`
`WESTERN DIGITAL CORPORATION, EXHIBIT 1009
`Page 4 of 14
`
`

`

`U.S. Patent
`
`Aug. 24, 1999
`
`Sheet 4 of 6
`
`5,941,965
`
`
`
`
`
`
`
`
`
`
`
`CARD INSERTED
`
`401
`
`FIG. 4
`
`GET MANUFACTURES ID
`
`403
`
`405
`
`407
`
`NO -- GNORE CARD
`
`YES
`
`GET FIRST
`CONFIGURATION ENTRY
`
`
`
`409
`
`YES
`
`REQUEST I/O
`
`
`
`
`
`SUCCESS
`
`YES
`
`
`
`415
`
`REQUEST IRQ H FAIL
`SUCCESS
`
`
`
`e
`
`YES
`419
`
`
`
`
`
`DOES
`CONFIGURATION
`SUPPORT OTHER
`I/O's ?
`
`
`
`DOES
`CONFIGURATION
`SUPPORT OTHER
`'C
`IRQS
`
`
`
`DOES
`CONFIGURATION
`
`SUCCESS
`
`DMA'S 2
`
`421
`REASE/9,
`/ FAL
`REQUEST MEMORY FAL -
`SUCCESS
`427
`
`
`
`
`
`429
`
`431
`
`CONFIGURE HARDWARE
`ON PCB
`
`CARD CONFIGURATION
`COMPLETE
`
`413
`
`417
`
`NO
`
`418
`
`HA
`NO -- RELEASE I/O H
`
`421
`
`422
`
`RELEASE I/O
`
`423
`
`THERE OTHER
`CONFIGURATION'S
`
`NO
`
`433
`
`REPORT ERROR
`
`GET NEXT
`CONFIGURATION
`ENTRY
`
`WESTERN DIGITAL CORPORATION, EXHIBIT 1009
`Page 5 of 14
`
`

`

`U.S. Patent
`
`Aug. 24, 1999
`
`Sheet S of 6
`
`5,941,965
`
`INTERRUPT SERVICE ROUTINE
`
`FIG. 5
`
`READ NTERRUPT STATUS REGISTER
`
`505
`
`523
`
`BRANCH TO DE ISR
`
`mu
`
`YES --
`
`st N O
`507 > - NO
`
`525
`
`527
`A
`
`529
`
`A
`YES -- BRANCH TO VGA SR H
`
`509
`Y floppy c. YES - BRANCH TO FLOPPY ISR
`
`NO
`
`511
`
`Y SERA, 2d YES - BRANCH TO SERIAL ISR H
`
`513
`
`NO
`
`NO
`
`531
`
`YES -- BRANCH TO PARALLEL ISR
`
`533
`
`515
`
`Y Network > YES - BRANCH To NETWORK ISR
`535
`517
`-l
`is - GETMOUSE EVEN ANDPUT
`IN MOUSE INPUT BUFFER
`
`NO
`
`YES
`
`GET KEYCODE AND PUT
`N KEY INPUT BUFFER
`
`537
`
`NO
`
`NO
`
`519
`
`521
`
`
`
`CLEANUP AND RETURN
`FROM INTERRUPT
`
`WESTERN DIGITAL CORPORATION, EXHIBIT 1009
`Page 6 of 14
`
`

`

`U.S. Patent
`
`Aug. 24, 1999
`
`Sheet 6 of 6
`
`5,941,965
`
`FIG. 6
`
`6O1 Addr
`
`603 REG#
`
`605 EC1:0)
`#
`6O7 OWR
`#
`609 EARLY
`IOWR
`611 OIS 1
`6#
`613 WAT
`#
`
`615 Din
`
`FIG. 7
`
`703 REGi.
`
`705 CE1:0)
`
`707 IORD;
`
`709 INPACK#
`
`IO Write with Early Write Termination
`
`T8. -->T9
`
`O
`
`(1:12 T13
`
`T11
`
`O Redd with Woit Stote
`
`T1->
`
`T2-
`
`- T4 -->
`
`T3
`
`-T16
`
`15
`
`->T14
`
`711 " . .
`
`713 WAIT
`
`
`
`T6
`
`715
`
`Oout
`
`- T5
`
`.
`
`H-T7
`
`.
`
`.
`
`-T13
`
`T12->
`
`.
`
`.
`
`.
`
`.
`
`WESTERN DIGITAL CORPORATION, EXHIBIT 1009
`Page 7 of 14
`
`

`

`5,941,965
`
`1
`UNIVERSAL DOCKING STATION
`
`This application claims benefit of Provisional Applica
`tion 60/017,725 filed May 16, 1996.
`
`FIELD OF THE INVENTION
`The present invention relates generally to computers ind
`more particularly to docking Stations used to interface
`portable computer to multiple peripheral devices.
`
`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 PCMCIA inter
`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 PCMCIA
`interface.
`A computer 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 PCMCIA 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 PCMCIAbus 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 PCMCIA
`buS for a period Sufficient 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. 1 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 computer
`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.
`
`15
`
`25
`
`35
`
`BACKGROUND OF THE INVENTION
`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
`difficult 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 CD 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
`desktop computers. However, given that the user can only
`use one computer at a time, this option is costly and requires
`frequent data transferS between the two computers. A Second
`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.
`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. Thus, 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
`40
`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 current 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 of the portable computer they currently own, and
`is most likely precluded from using docking Stations manu
`factured by different 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.
`
`45
`
`50
`
`55
`
`60
`
`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
`
`65
`
`WESTERN DIGITAL CORPORATION, EXHIBIT 1009
`Page 8 of 14
`
`

`

`5,941,965
`
`15
`
`25
`
`3
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`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 CD-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 and/or 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 ports 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 users 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 16-Bit PCMCIA cards can be found in
`Mindshare, Inc. & 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, Inc., Card
`Bus System Architecture (Addison-Wesley Publishing Com
`pany 1995), which is hereby incorporated by reference.
`40
`Referring to the drawings, particularly FIG. 1, a portable
`computer 101 having a PCMCIA port 102 is connected to a
`PCMCIA card 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
`103. Possible peripheral devices include: keyboard 107, joy
`Stick 109, mouse 111, modem 113, network interface 115,
`hard disk 117, floppy disk 119, CD ROM 121, tape backup
`123, printer 125, and monitor 127.
`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 117, 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 input/output (I/O) 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 I/O bus
`
`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 CD-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 PCMCIA 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
`PCMCIA card will be of a standard length and width, and
`will have a thickness determined by the card type (e.g., Type
`I =3.3 mm thick; Type II =5.0 mm thick; Type III =10.5 mm
`thick). The PCMCIA card is configured to fit into a PCMCIA
`slot or Socket. When inserted into the PCMCIA slot or
`socket, the PCMCIA card can be connected to a wide variety
`of host buses, typically via hostbus adapters designed for a
`particular bus interface. The PCMCIA bus 201 is an expan
`Sion of the computers 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 PCMCIA
`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
`PCMCIAbus 201 as well as all of the peripheral devices 106
`connected to the docking station 103.
`In the exemplary embodiment, the configuration registers
`205 contain five 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 I/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 I/O address for the
`configuration registers of the different peripheral devices
`attached to the docking station 103. 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
`fourth register is a 16 bit register that is loaded with the
`address for the IOIS16 signal used by the IDE interface. The
`IOIS16 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
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`WESTERN DIGITAL CORPORATION, EXHIBIT 1009
`Page 9 of 14
`
`

`

`5,941,965
`
`15
`
`25
`
`S
`transfer to the computer. The last register is a keyboard
`configuration register which is a 16 bit register that is loaded
`with the I/O 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. Different Size registers may also be Sued as dictated
`by the actual implementation.
`The attribute memory 207 is implemented in the exem
`plary embodiment with an electronically erasable program
`mable read only memory (EEPROM) or other suitable
`Standard nonvolatile memory. In one embodiment, only
`about 1024 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.
`A parallel 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
`control bus 245 and address bus 247. Parallel controller 209
`is also connected to configuration registers 205 with control
`bus 245 and address bus 247. A data 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 XT/AT compatible computers. This supports the
`optional PS/2 bidirectional parallel port (SPP), the Enhanced
`Parallel Port (EPP) and the Extended Capabilities Port
`(ECP) modes. This interface is useful for connecting
`printers, removable media high density Storage devices and
`35
`scanners to the docking station 103. A Standard Microsys
`tems Corporation (SMC) FDC37C93X Plug and Play Com
`patible Ultra I/O 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.
`The serial controller 211 may be a NS16C550 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 16C550 compatible Universal Asynchro
`nous Receiver/Transmitter (UART), for example, with a 16
`byte FIFO. The UART 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.8Kbaud. 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
`FDC37C93X Plug and Play Compatible Ultra I/O Controller
`can be used for this purpose. Other Serial controllerS may
`also be used So long as they Support a communications Speed
`of 460K baud and contain a FIFO for handling data over
`flow.
`
`6
`An Integrated Drive Electronic (IDE) connector 227 is
`connected via connection 253 to IDE interface logic 213.
`The IDE enables hard disk drives with embedded controllers
`to be interfaced to the host processor. The IDE interface
`performs the address decoding for the IDE device. This
`interface also supports devices such as CD-ROM drives and
`newer high density removable storage devices. The IDE 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 exemplary embodiment, the
`SMC FDC37C93X Plug and Play Compatible Ultra I/O
`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 I/O
`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 (FDC) 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 FDC 217
`can handle up to two floppy disk drives or tape backups. The
`FDC integrates the functions of the Formatter/ Controller,
`Digital Separator. Write Precompensation and Data Rate
`Selection logic for IBM XT/AT compatible FDC are also
`provided. The true CMOS 765B core guarantees 100% IBM
`PC XT/AT computability in addition to providing data
`overflow and underflow protection. In an exemplary
`embodiment, the SMC FDC37C93X Plug and Play Com
`patible Ultra I/O Controller provides the FDC.
`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 247 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 237 is connected to a network
`controller 221 through connection 263. The network con
`troller 221 interfaces through the control bus 245, address
`bus 247 and data bus 243. Between a 10 megabyte and a 100
`megabyte controller can be Supported. In the exemplary
`embodiment, the network controller 221 is an Ethernet
`controller.
`As indicated, the keyboard and mouse controller 215,
`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 I/O Controller. This device incorpo
`rates a keyboard interface, SMC's true CMOS 765B floppy
`disk controller, advance digital separator, 16 byte data FIFO,
`16C550 compatible UARTs, a Multi-Mode parallel port and
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`WESTERN DIGITAL CORPORATION, EXHIBIT 1009
`Page 10 of 14
`
`

`

`5,941,965
`
`15
`
`25
`
`35
`
`40
`
`7
`an IDE interface. The FDC37C93X also provides support
`for the ISA Plug-and-Play 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 I/O window size. Typically, only
`two I/O windows are permitted. This will allow for one or
`two functions to have I/O ports. With more than two
`functions on the docking Station it is necessary to combine
`all of the I/O ports into two contiguous pieces of I/O
`memory.
`Almost all of the functions on the SMC chip can be
`relocated in I/O 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, processing 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 I/O interface. This is accomplished in one
`embodiment of the universal docking station 103 by using a
`Xilinx FPGA to control the functions of the flexible interface
`pins. All PCMCIA devices 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 information to it when upgrades or
`modifications are necessary.
`FIG. 4 depicts the Steps performed during card configu
`ration. Processing begins at step 401 when a PCMCIA 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 ID of
`the card that was inserted. If the card inserted is the docking
`station PCMCIA 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 ID desig
`nated for the docking Station; if no match is found, the
`System ignores the card as shown in Step 407 and continues
`
`45
`
`50
`
`55
`
`60
`
`65
`
`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 I/O port and
`different interfaces needed for using the docking Station card
`in the System given the particular configuration entry. The
`first step is the I/O port step 411 which is requested from
`card Services and card Services either allows the docking
`station card to have the I/O port or not. If not, the system will
`determine in decision Step 413 whether the configuration
`allows other I/O ports to be used. If there are more I/O ports
`in this particular configuration, the System will return to Step
`411 to try requesting the next I/O port. This routine will
`continue until an I/O port is Successfully requested or all I/O
`ports of this particular configuration entry are exhausted. If
`there are no more I/O ports in the particular configuration,
`decision step 423 det

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket