throbber
||||||||l||||||||||l|||||||||||||||||||l||||||||||l||||||||l||||||||||||||l
`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

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