CROSS REFERENCE TO RELATED APPLICATIONS This is a continuation-in-part of U.S. Application No.10/605,455, filed30 SEP.,2003, which is incorporated herein by reference.
BACKGROUND OF INVENTION 1. Field of the Invention
A peripheral device having a personal disk used for storing device drivers and a driving method thereof. The peripheral device is capable of being connected to an interface port of a computer host. The peripheral device has a housing, an application device for performing a predetermined operation, a storage device for storing a device driver of the application device, and a Hub controller electrically connected to the application device and the storage device. When the Hub controller is electrically connected to the interface port, the computer host is capable of retrieving the device driver of the application device through the Hub controller and also capable of running and automatically installing the device driver to control the application device to perform the predetermined operation.
2. Description of the Prior Art
In order to support plug & play functionality and high data transmission speed required by customers, new peripheral interfaces such as the universal serial bus (USB) interface and the IEEE1394 interface have gradually taken the place of the old-fashioned parallel port and the serial port. The USB interface was established by many companies such as Intel®, Compaq®, Digital®, Microsoft®, and NECO in 1993. It is well known that one USB port is capable of connecting up to 127 peripheral devices, and all of the peripheral devices share the same bus bandwidth. Furthermore, a peripheral device compatible with the USB specification can be directly connected to a currently booted computer host. That is, the USB-compatible peripheral device supports hot swap functionality. With regard to the IEEE1394 interface, one IEEE1394 bus is capable of supporting up to 63 peripheral devices. Similarly, the IEEE1394-compatible peripheral device supports the above-mentioned hot swap functionality as well. Therefore, the users can conveniently install peripheral devices onto the computer host through a USB port or an IEEE1394 port positioned on the computer host.
Please refer toFIG. 1, which is a block diagram of a priorart computer system10. Thecomputer system10 has acomputer host12, and thecomputer host12 includes a central processing unit (CPU)14, anorth bridge circuit16, asouth bridge circuit18, adisplay driving circuit20, amemory22, anoptical disk drive24, ahard disk drive26, and amonitor28. TheCPU14 is used to control overall operation of thecomputer system10. Thenorth bridge circuit16 is used to control data transmission between theCPU14 and high-speed devices such as thedisplay driving circuit20 and thememory22. Thesouth bridge circuit18 is used to control data transmission between thesouth bridge circuit16 and low-speed devices such as theoptical disk drive24 and thehard disk drive26. Thedisplay driving circuit20 is used for 2D graphic processing and 3D graphic processing, and generating video signals for driving themonitor28 to show corresponding image frames. As mentioned above, the user can install peripheral devices onto thecomputer host12 through a USB port or an IEEE1394 port.
Take the USB port for example. The southbridge circuit18 has aUSB host controller30 for controlling data transmitted via a USB bus. Suppose that theUSB host controller30 itself only supports twoports32a,32b, but the user desires to use more that three peripheral devices on thecomputer system10. Therefore, aUSB hub33 is necessary to providemore ports34a,34b,34c. Please note thatports32a,32bare downstream ports for theUSB host controller30 to connect external peripheral devices. Similarly, in theUSB hub33,ports34b,34care also downstream ports used for connecting external peripheral devices. However,port34aof theUSB hub33 is an upstream port, and is used for connecting to eitherport32aor theport32b.As shown inFIG. 1,port34ais electrically connected to theport32b.Therefore, the peripheral devices connected to theports34b,34ccan deliver data to theUSB host controller30 or receive data from theUSB host controller30 through the connection betweenport34aandport32b.Because theUSB hub33 provides a plurality ofports34b,34c, the goal of increasing a total amount of connectible peripheral devices is achieved. FromFIG. 1, akeyboard36 is connected toport32afor the user to input keyboard signals to thecomputer host12. In addition, with the help of theUSB hub33, apersonal disk38 is capable of being connected to theport34c, and aWLAN module40 can be connected to theport34b.That is, three peripheral devices have been successfully installed on thecomputer host12.
After thecomputer system10 is powered on, thecomputer system10 starts a power-on-self-test (POST) process. Then, an operating system (OS) is loaded. When theCPU14 runs the OS, the OS loads device drivers according to the hardware components installed within thecomputer system10 for controlling operations of the hardware components. For instance, a display driver is used to control thedisplay driving circuit20 to process image data and generate video signals for driving themonitor28. In other words, when a new hardware component is installed on thecomputer system10, the user needs to do a corresponding device driver installation so that the OS is capable of driving the added hardware component correctly. For example, theWLAN module40 is connected to theport34bthrough a hot swap operation. Suppose that theWLAN module40 has never been installed on thecomputer system10 before. That is, theWLAN module40 is a newly added hardware component to thecomputer system10. If the OS is unable to find a device driver suitable for thisunknown WLAN module40, the OS shows a dialog window on themonitor28 to ask the user about a target location of the wanted device driver for theWLAN module40. Then, the user inserts an optical disk having the required device driver into theoptical disk drive24. In the end, the OS loads the device driver of theWLAN module40, and the device driver is stored on thehard disk drive26. In addition, information associated with theWLAN module40 and the corresponding device driver is recorded by a registry file of the OS. Therefore, when anidentical WLAN module40 is installed on thecomputer system10 again, theWLAN module40 is no longer an unfamiliar hardware component for thecomputer system10 because the device driver installation has been done previously, and the registry file of the OS has kept the registry codes related to theWLAN module40. Therefore, the OS can directly load the wanted device driver stored on thehard disk drive26 through the information provided by the registry file, and theWLAN module40 is controlled correctly.
As mentioned above, when the user installs a new hardware component such as theWLAN module40 onto thecomputer system10 through one of theports32a,32b,32c, the user needs to do a device driver installation if the OS of thecomputer system10 does not support this new hardware component yet. That is, the manufacturer of theWLAN module40 has to provide the user with either an optical disk or a magnetic disk that contains the required device driver. However, if the user loses the optical disk or the magnetic disk that stores the device driver, theWLAN module40 cannot function normally on thecomputer system10 until after the user recovers the lost optical disk or the lost magnetic disk. Furthermore, if the user wants to use thesame WLAN module40 on different computer devices, the user has to carry either the optical disk or the magnetic disk storing the device driver so as to perform the device driver installation for each of the computer devices. In summary, because a device driver of a peripheral device is stored on either one optical disk or one magnetic disk without being combined with the peripheral device, the user needs both the peripheral device and the device driver to successfully apply the peripheral device on one computer device. However, it is not convenient for the user to carry and keep the device driver. Therefore, the utilization of the prior art peripheral device is not convenient for the user.
SUMMARY OF INVENTION It is therefore a primary objective of this invention to provide a peripheral device having a personal disk used for storing device drivers.
Briefly summarized, the preferred embodiment of the present invention discloses a peripheral device capable of being connected to an interface port on an electronic device host. The peripheral device has a housing, an application module positioned at least partially inside the housing, a storage module positioned inside the housing for storing a device driver of the application module, and a hub controller positioned inside the housing and electrically connected to the application module and the storage module. When the hub controller is electrically connected to the interface port, the electronic device host is capable of retrieving the device driver stored by the storage module and running the device driver to operate the application module.
The present invention further discloses a peripheral device capable of being connected to an interface port on an electronic device host. The peripheral device has a housing, an application module positioned at least partially inside the housing; a storage module positioned inside the housing for storing a device driver of the application module and a firmware that can drive the storage module to simulate an autorun function of an optical disc drive; and a hub controller positioned inside the housing, the hub controller being electrically connected to the application module and the storage module; wherein when the hub controller is electrically connected to the interface port, the electronic device host is capable of retrieving the device driver stored by the storage module and running the device driver to operate the application module.
The present invention further discloses a method of driving a peripheral device. The peripheral device is capable of being connected to an interface port on an electronic device host and comprises an application module, a storage module, and a hub controller. The method comprises: connecting the peripheral device and the interface port; enabling the hub controller for controlling data transmission among the application module, the storage module, and the electronic device host; enabling the storage module; utilizing the electronic device host for retrieving a device driver of the application module from the storage module through the hub controller; and running the device driver to operate the application module.
The present invention further discloses a method of driving a peripheral device. The peripheral device is capable of being connected to an interface port on an electronic device host and comprises an application module, a storage module, and a hub controller. The method comprises: connecting the peripheral device and the interface port; enabling the hub controller for controlling data transmission among the application module, the storage module, and the electronic device host; enabling the storage module; having the storage device execute the firmware to drive the storage device for simulating an autorun function of an optical disc drive to install the driver of the application device in the electronic device host; and running the device driver to operate the application module.
The present invention further discloses a peripheral device capable of being connected to an interface port of an electronic device host, the peripheral device comprising: a connector having a plurality of pins for connecting the interface port of the electronic device host; a hub controller electrically connected to the connector; an application module electrically connected to the hub controller; and a storage module electrically connected to the hub controller for storing data.
The present invention further discloses a peripheral device capable of being connected to an interface port of a host, the peripheral device comprising: a connector having a plurality of pins for connecting the interface port of the host; a hub controller electrically connected to the connector; and a storage module electrically connected to the hub controller for storing data; wherein the storage module stores a device driver of the peripheral device in advance, and the host retrieves the device driver from the storage module when the peripheral device is connected to the interface port for a first time.
The present invention further discloses a data access system comprising: an electronic device host and a peripheral device capable of being connected to an interface port of the electronic device host. The peripheral device comprises: a housing; an application module for accessing data; a storage module positioned inside the housing; and a hub controller positioned inside the housing. The hub controller is electrically connected to the application module and the storage module and is electrically connected to the interface port. The electronic device host is capable of retrieving the data through the hub controller and is capable of transferring the data to the storage module through the hub controller for storing the data in the storage module.
It is an advantage of the present invention that the claimed peripheral device combines a personal-disk-like device set up in an application module. When the user carries the claimed peripheral device, a device driver of the application module travels along with the application module. Therefore, the inconvenience caused by the device driver being stored in an optical disk or a magnetic disk is solved. The personal disk itself is a storage module, and a manual of the application module or software applications of the application module can be stored in the personal disk. Therefore, consumption of optical disks, magnetic disks, and paper is reduced. At the same time, the cost is accordingly lowered. The claimed peripheral device has a hub controller so that both the personal disk and the application module share the same port. Therefore, the computer host is capable of having more ports available to other external devices. In addition, the claimed peripheral device also has switches used for control power supply of the personal disk and the application module according to user's demands so that the power consumption associated with the claimed peripheral device is greatly reduced.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment, which is illustrated in the various figures and drawings.
BRIEF DESCRIPTION OF DRAWINGSFIG. 1 is a block diagram of a prior art computer system.
FIG. 2 is a perspective diagram of a peripheral device according to the present invention.
FIG. 3 is a block diagram of the first embodiment of the peripheral device according to the present invention.
FIG. 4 is a flow chart illustrating operation of the peripheral device shown inFIG. 3.
FIG. 5 is a block diagram of the second embodiment of the peripheral device according to the present invention.
FIG. 6 is a flow chart illustrating operation of the peripheral device shown inFIG. 5.
FIG. 7 is a block diagram of the third embodiment of the peripheral device according to the present invention.
FIG. 8 is a flow chart illustrating operation of the peripheral device shown inFIG. 7.
DETAILED DESCRIPTION Please refer toFIG. 2 in conjunction withFIG. 3.FIG. 2 is a perspective diagram of theperipheral device50 according to the present invention, andFIG. 3 is a block diagram of the first embodiment of theperipheral device50 according to the present invention. Theperipheral device50 has ahousing51 and aport52. Thehousing51 is used to protect internal components of theperipheral device50. Theport52 is used to connect an interface port of an electronic device such as a computer host so as to install theperipheral device50 on the electronic device. With regard to theperipheral device50, theport52 is a male connector, and theport52 has a plurality ofpins53. Therefore, the interface port is required to be a female connector for connecting theport52 successfully. As shown inFIG. 3, theperipheral device50 includes theport52, aUSB hub controller54, apersonal disk56, aWLAN module58, apower controller60, aclock generator61, switches62a,62b, and adisplay module63. Thepersonal disk56 has amemory controller64 and a memory66(NAND or NOR flash memories can be used). In the preferred embodiment, hardware components such as theUSB hub controller54, thepersonal disk56, theWLAN module58, thepower controller60, and switches62a,62bare positioned inside thehousing51 with the exception of theport52. That is, thehousing51 is capable of protecting these above-mentioned internal hardware components from being damaged by external shock.
Suppose that theperipheral device50 is capable of being installed on thecomputer host12 shown inFIG. 1. As shown inFIG. 1, thecomputer host12 hasports32a,32b.Theport52 is capable of being connected to either theport32aor theport32bso as to install theperipheral device50 on thecomputer host12. For example, theports32a,32bare USB female connectors, and theport52 is a corresponding USB male connector. Therefore, theport52 can be directly connected to either theport32aor theport32b.In addition, theport52 also can be connected to either theport32aor theport32bby means of a well-known USB extended cable. Theport52 in the preferred embodiment functions as an upstream port, and is connected to theUSB hub controller54 through adata channel68a.Further, when theport52 is connected to theport32bof the computer host32, it is well-known that thecomputer host12 outputs an operating voltage Vcc from theport32bto the correspondingport52. Then, the received operating voltage Vcc is further passed to theUSB hub controller54 and thepower controller60. TheUSB hub controller54 itself supports a plurality of downstream ports. In the preferred embodiment, theUSB hub controller54 supports only4 input/output ports (I/O ports) C1, C2, C3, C4, wherein the I/O port C2 is connected to thepersonal disk56 through adata channel68b,and the I/O port C4 is connected to theWLAN module58 through adata channel68c.TheUSB hub controller54, however, is capable of coordinating thepersonal disk56 and theWLAN module58 to share thecommon data channel68afor delivering and receiving data. In addition, thememory controller64 is used to control data access of thememory66, and thememory66 is a non-volatile memory such as a flash memory. Furthermore, thememory66 stores adevice driver70 of theWLAN driver58.
In the preferred embodiment, an application module of theperipheral device50 is capable of being at least partially positioned inside thehousing51. Taking theWLAN module58 for example, it is partially positioned inside thehousing51 owing to anantenna59 protruding from thehousing51 for transmitting and receiving radio frequency (RF) signals. However, the main body of theWLAN module58 is still protected by thehousing51. TheWLAN module58 is used to access a computer network via wireless transmission. For example, a plurality of computer devices that have theWLAN modules58 can access one wireless network via an access point. Theswitch62ais used to determine if an enabling signal EN1 outputted from theUSB hub controller54 is delivered to thepower controller60. If thepower controller60 receives the enabling signal EN1, thepower controller60 outputs one driving voltage V1 to theWLAN module58 so that theWLAN module58 can function normally. In the preferred embodiment, the driving voltage V1 is equal to the operating voltage Vcc. In addition, theswitch62bis used to determine if an enabling signal EN2 outputted from theUSB hub controller54 is delivered to thepower controller60. If thepower controller60 receives the enabling signal EN2, thepower controller60 outputs another driving voltage V2 to thepersonal disk56 so that thepersonal disk56 can function normally. In the preferred embodiment, the driving voltage V2 is equal to the operating voltage Vcc as well. According to user's demands, theswitches62a,62bare capable of being controlled to determine whether theWLAN module58 and thepersonal disk56 are powered to perform their functionality. To sum up, thepersonal disk56 and theWLAN module58 are respectively connected to theUSB hub controller54 through a predetermined interface. Therefore, theUSB hub controller54 is capable of controlling data transmission and driving voltages of thepersonal disk56 and theWLAN module58.
Theclock generator61 in the preferred embodiment is used for outputting a driving clock CLK. For instance, theclock generator61 is a crystal oscillator used to generate the driving clock CLK with a predetermined frequency. If theperipheral device50 conforms to the USB 1.1/2.0 specification, the maximum data transfer rate is 12 Mbps/480 Mbps. Therefore, theclock generator61 can be implemented by a crystal oscillator that is capable of outputting the driving clock CLK having a frequency equaling 12M/480M. Because theUSB hub controller54 is edge-triggered by the driving clock CLK, theUSB hub controller54 is triggered by rising edges of the driving clock CLK; for example, the maximum data transfer rate associated with theUSB hub controller54 is equal to 12 Mbps to meet the requirement defined by the USB 1.1/2.0 specification. Furthermore, theclock generator61 shown inFIG. 3 is simultaneously connected to theUSB hub controller54 and thepersonal disk56. The same driving clock CLK, therefore, drives both theUSB hub controller54 and thepersonal disk56. That is, the claimedperipheral device50 only having oneclock generator61 is capable of achieving the goal of driving theUSB hub controller54 and thepersonal disk56. In other words, the claimedperipheral device50 can reduce its chip size and its production cost with theclock generator61 jointly utilized by theUSB hub controller54 and thepersonal disk56.
In the preferred embodiment, thedisplay module63 has two light emitting diodes (LEDs)65a,65bused for informing the user of current operating statuses associated with thepersonal disk56 and theWLAN module58. For instance, when thepersonal disk56 and theUSB hub controller54 are successfully connected, theLED65ais enabled. Similarly, when theWLAN module58 and theUSB hub controller54 are successfully connected, theLED65bis enabled as well. Therefore, the user can verify whether thepersonal disk56 and theWLAN module58 function correctly by watching theLEDs65a,65b.
Please refer toFIG. 4 in conjunction withFIGS. 1 and 3.FIG. 4 is a flow chart illustrating operation of theperipheral device50 shown inFIG. 3. The operation of theperipheral device50 is described as follows. Theperipheral device50 can be installed on thecomputer host12 such as a desktop computer, a notebook computer, or a personal digital assistant to expand functionality of theoriginal computer host12. If theperipheral device50 is a new hardware component for thecomputer host12, that is, theperipheral device50 has never been installed on thecomputer host12 before, the user needs to switch on theswitches62a,62bso that the enabling signals EN1, EN2 are successfully transferred to the power controller60 (step100). Then, theport52 is connected to thecomputer host12. It is well-known that theports32a,32bof thecomputer host12 are female connectors. With theport52 being a male connector, it can be directly inserted into either theport32aor theport32b.Otherwise, theport52 of theperipheral device50 can be connected to one of theports32a,32bthrough a USB extended cable (step102). After theperipheral device50 is electrically connected to thecomputer host12, theUSB host controller30 outputs the operating voltage Vcc (5V) to theUSB hub controller54 and thepower controller60 in theperipheral device50. Concerning theUSB hub controller54, theUSB hub controller54 starts working after receiving the operating voltage Vcc (step104).
With regard to thepower controller60, thepower controller60 does not output the driving voltages V1, V2 that equal the operating voltage Vcc because theUSB hub controller54 does not trigger the enabling signals EN1, EN2 yet. After theUSB hub controller54 is turned on, the data channel68ais established between theUSB hub controller54 and theUSB host controller30 for transmitting data. For instance, theUSB hub controller54 delivers hardware parameters to theUSB host controller30 so that the OS run on thecomputer host12 is capable of detecting the addedUSB hub controller54. Generally speaking, current operating systems such as Win 2000® and WinXP® already include the device driver of theUSB hub controller54. Therefore, the device driver of theUSB hub controller54 is successfully loaded to control the operation of the USB hub controller54 (step106). Because the operating voltage Vcc has been inputted into theUSB hub controller54 to activate theUSB hub controller54, theUSB hub controller54 starts triggering the enabling signal EN1, EN2 to drive thepower controller60 for outputting the driving voltages V1, V2 to thepersonal disk56 and the WLAN module58 (step107). Please note that thedata channel68bbetween thepersonal disk56 and theUSB hub controller54 and thedata channel68cbetween theWLAN module58 and theUSB hub controller54 are not established yet though the driving voltages V1, V2 have been inputted into thepersonal disk56 and theWLAN module58. In other words, theUSB hub controller54 at this point does not enable the I/O port C2 corresponding to thepersonal disk56 and the I/O port C3 corresponding to theWLAN module58.
In the preferred embodiment, theUSB hub controller54 supports4 downstream ports respectively corresponding to the I/O ports C1, C2, C3, C4. It is well-known that theUSB hub controller54 sequentially enables downstream ports. In other words, theUSB hub controller54 first enables the I/O port C1 for establishing a corresponding data channel between the I/O port C1 and a device connected to the I/O port C1. Then, theUSB hub controller54 enables the I/O port C2 for establishing a corresponding data channel between the I/O port C2 and a device connected to the I/O port C2 and so on. According to the I/O port sequence, theUSB hub controller54 finally enables the last I/O port C4 for establishing a corresponding data channel between the I/O port C4 and a device connected to the I/O port C4. Thepersonal disk56 is connected to the I/O port C2, and theWLAN module58 is connected to the I/O port C4. Therefore, theUSB hub controller54 first enables the I/O port C2 to establish thedata channel68bbetween theUSB hub controller54 and the personal disk56 (step108). Now, the OS run by thecomputer host12 detects thepersonal disk56. Because currently popularized operating systems such as Win 2000® and WinXP® support thepersonal disk56, the embedded device driver for thepersonal disk56 is successfully loaded to control the operation of the personal disk56 (step110). Because theWLAN module58 is connected to the I/O port C4, theUSB hub controller54 enables the I/O port C4 for establishing thedata channel68cbetween theWLAN module58 and theUSB hub controller54 after thedata channel68bhas been established (step112).
Now, the OS run by thecomputer host12 detects theWLAN module58. However, the OS does not support thespecific WLAN module58. Therefore, the OS is unable to find a device driver suitable for theWLAN module58 from the device drivers embedded in the OS. Generally speaking, the OS displays a dialog window to ask the user to provide the required device driver (step114). Please note that the OS has executed the device driver of thepersonal disk56 to control the operation of thepersonal disk56 successfully. Therefore, a disk drive number is assigned to thepersonal disk56. That is, thepersonal disk56 accessed through the OS is like that of thehard disk drive26 or theoptical disk drive24. In addition, the personal disk keeps thedevice driver70 of theWLAN driver58. Therefore, the user can direct the OS to retrieve the wanteddevice driver70 from thepersonal disk56. For example, suppose that thepersonal disk56 corresponds to a disk drive number H in the OS. When the OS displays a dialog window to ask the user to manually provide the required device driver, the user locates the disk drive number H through operating the dialog window, and inputs the file name of thedevice driver70 to inform the OS of the location associated with thedevice driver70. Then, the OS starts installing the device driver70 (step118), and one copy of thedevice driver70 is recorded on thehard disk drive26. At the same time, hardware information of theWLAN module58 and software information of thedevice driver70 is recorded in a registry file. After the OS successfully loads thedevice driver70, thecomputer host12 is capable of driving theWLAN module58 to perform a predetermined operation (step120).
Because thepersonal disk56 is used to store thedevice driver70 of theWLAN module58, the I/O port corresponding to thepersonal disk56 has to be enabled before the I/O port corresponding to theWLAN module58 so that thepersonal disk56 can be used to successfully install thedevice driver70. In other words, if thepersonal disk56 is connected to the I/O port C1, then theWLAN module58 can be connected to the I/O port C2, the I/O port C3, or the I/O port C4. The same goal of installing thedevice driver70 through thepersonal disk56 is achieved. Thepersonal disk56 itself is a memory device. Therefore, not only is thedevice driver70 stored, but also any kind of data can be stored by thepersonal disk70. For instance, thecomputer host12 correctly drives thepersonal disk56 and theWLAN module58 in theperipheral device50 after the above-mentioned steps are completed. If the user runs an application on thecomputer host12 for retrieving a document file shared on a computer network, thecomputer host12 can control theWLAN module58 to retrieve the wanted document file. Then, the user opens this document file to edit it, and saves the edited document file to thememory66 of thepersonal disk56. Thecomputer host12 no longer stores the document file after theperipheral device50 is disconnected from thecomputer host12 through a hot swap manner.
As mentioned above, the OS run by thecomputer host12 can successfully support theWLAN module58, only after all of the steps shown inFIG. 4 are completed. In other words, the OS is capable of loading a corresponding device driver from thehard disk drive26 according to related registry codes recorded in the registry file. If the user later connects theperipheral device50 to thecomputer host12 through the well-known hot swap manner, and the user only wants to utilize theWLAN module58 to expand functionality of thecomputer host12, the user switches theswitch62aon to pass the enabling signal EN1 to thepower controller60, and switches theswitch62boff to block the enabling signal EN2 from being delivered to thepower controller60. When theport52 of theperipheral device50 is electrically connected to either theport32aor theport32b, thepower controller60 does not output the driving voltage V2 to thepersonal disk56 because the enabling signal EN2 is not inputted into thepower controller60. That is, thepersonal disk56 does not work successfully, and does not consume any power. Therefore, the overall power consumption of theperipheral device50 is then reduced. In the preferred embodiment, thecomputer host12 supplies the operating voltage Vcc for theperipheral device50. If thecomputer host12 is a portable device such as a notebook computer or a personal digital assistant, a battery device is mainly used to drive the voltage levels. With the reduction of the power consumption of theperipheral device50, the operating time of thecomputer host12 available to the user is accordingly increased.
Similarly, if the user later connects theperipheral device50 to thecomputer host12 through the well-known hot swap manner, and the user only wants to utilize thepersonal disk56 to expand functionality of thecomputer host12, the user switches theswitch62aoff to block the enabling signal EN1 from being delivered to thepower controller60, and switches theswitch62bon to pass the enabling signal EN2 to thepower controller60. When theport52 of theperipheral device50 is electrically connected to either theport32aor theport32b, thepower controller60 does not output the driving voltage V1 to theWLAN module58 because the enabling signal EN1 is not inputted into thepower controller60. Therefore, theWLAN module58 is unable to work successfully, and does not consume any power. In other words, the overall power consumption of theperipheral device50 is then reduced.
Theperipheral device50 hasswitches62a,62bset by the user to control whether thepersonal disk56 and theWLAN module58 are workable. In other words, when theswitch62ais turned on, and theswitch62bstays off, theperipheral device50 functions as a stand-alone WLAN module58. Similarly, when theswitch62bis turned on, and theswitch62astays off, theperipheral device50 functions as a stand-alonepersonal disk56. However, when both switches62a,62bare switched on, theperipheral device50 functions as a multi-functional device that supports data storage and wireless network access. In addition, theperipheral device50 contains oneUSB hub controller54. Therefore, thepersonal disk56 and theWLAN module58 shares the same data channel68awith the help of theUSB hub controller54, and only oneport52 is required to connect one of theports32a,32bon thecomputer host12. Theperipheral device50 is capable of expanding functionality of thecomputer host12 with thepersonal disk56 and theWLAN module58. However, the insertedperipheral device50 occupies only one port on thecomputer host12. Therefore, the claimedperipheral device50 also makes more ports of thecomputer host12 available to other external devices.
The circuit structure of the preferred embodiment is applied to a USB bus. However, the circuit structure of the preferred embodiment can be applied to other buses used by peripheral devices. Taking the IEEE1394 bus as an example, theport52 can be replaced by an IEEE1394-compatible male connector, and theUSB hub controller54 can be replaced by an IEEE1394 hub controller. Then, the amended circuit structure is capable of transmitting and receiving data via the IEEE1394 bus. In addition, thepersonal disk56 is used to provide theWLAN module58 with an appropriate device driver. However, thepersonal disk56 can be applied to provide other peripheral devices with appropriate device drivers. For example, thepersonal disk56 is installed on a printer, and thedevice driver70 stored by thememory66 is a device driver for the printer. As mentioned above, currently popularized operating systems such as Win 2000® and WinXP® support thepersonal disk56, and have an embedded software driver for thepersonal disk56. Therefore, data stored in thepersonal disk56 can be retrieved successfully. Similarly, when the OS detects that the connected printer is a new hardware component, the OS reads and loads thedevice driver70 corresponding to the printer from thepersonal disk56. Then, the OS is capable of controlling the operation of the added printer.
Please refer toFIG. 5, which is a block diagram of the second embodiment of the peripheral device according to the present invention. Theperipheral device50 comprises aport72, aUSB hub controller74, apersonal disk76, aWLAN module78, apower controller80, and aclock generator81. Thepersonal disk76 comprises amemory86 and amemory controller84. Further, an installprogram92, adriver90 corresponding to theWLAN module78 and afirmware91 corresponding to thepersonal disk76 are stored in thememory86. Please note that the devices with the same name inFIG. 3 andFIG. 5 have the same function and operation and thus detailed description is omitted here. In this embodiment, for thepersonal disk76, thefirmware91 can drive thememory controller84 to simulate an autorun function of an optical disc drive for loading thedriver90 stored in thememory86. Additionally, when the operating voltage Vcc is inputted to theUSB hub controller74, theUSB hub controller74 outputs an enable signal EN2 to thepower controller80. In this embodiment, if thepower controller80 only receives the enable signal EN2, thepower controller80 only outputs the driving voltage V2 to thepersonal disk76. However, thepower controller80 doesn't output the driving voltage V1 to theWLAN module78. That means only when thepower controller80 receives enable signal EN1 and enable signal EN2, thepower controller80 respectively outputs the driving voltage V1 to theWLAN module78 and the driving voltage V2 to thepersonal disk76. As shown inFIG. 5, the enable signal EN1 is outputted by thepersonal disk76. The situation of outputting the enable signal EN1 will be explained later.
Please refer toFIG. 1 in conjunction withFIGS. 5 and 6.FIG. 6 is a flow chart illustrating operation of the peripheral device shown inFIG. 5. The operation of theperipheral device50 in this embodiment is described as follows. Theperipheral device50 can be installed on thecomputer host12 such as a desktop computer, a notebook computer, or a personal digital assistant to expand functionality of theoriginal computer host12. When theperipheral device50 is connected to the computer host12 (step200) through the connection ofport72 and to theport32aand32bof thecomputer host12, thecomputer host12 outputs the operating voltage Vcc to theUSB hub controller74 and thepower controller80 for starting theUSB hub controller74 and the power controller80 (step202). With regard to thepower controller80, because theUSB hub controller74 does not trigger the enable signals EN1 and EN2 yet, thepower controller80 doesn't output the driving voltage V1 and V2 (driving voltages V1 and V2 are equal to the operating voltage here). After theUSB hub controller74 is turned on, the data channel88ais established between theUSB hub controller74 and theUSB host controller30 for transmitting data. For instance, theUSB hub controller74 delivers hardware parameters to theUSB host controller30 so that the OS run on thecomputer host12 is capable of detecting the addedUSB hub controller74. Generally speaking, current operating systems such as Win 2000® and WinXP® already include the device driver of theUSB hub controller74. Therefore, the device driver of theUSB hub controller74 is successfully loaded to control the operation of the USB hub controller74 (step204). Because the operating voltage Vcc has been inputted into theUSB hub controller74 to activate theUSB hub controller74, theUSB hub controller74 starts triggering the enabling signal EN2 to drive thepower controller80 for outputting the driving voltages V2 to the personal disk76 (step206). Please note that the driving voltage V1 is not inputted to theWLAN module78 because thepersonal disk76 doesn't output the enable signal EN1 yet.
And then thepersonal disk76 and thedata channel88bare established first (step208). Therefore the OS run on thecomputer host12 can detect thepersonal disk76. Generally speaking, current operation system such as Win2000 and Win XP already include the driver of thepersonal disk76 so that the OS can easily load the driver. In addition, because thepersonal disk76 already receives the driving voltage V2, thefirmware91 is executed to control thepersonal disk76. As in the above, when thepersonal disk76 starts to operate, thefirmware91 drives thepersonal disk76 to simulate an autorun function of an optical disc drive so that thecomputer host12 can execute the installprogram92 through the autorun function (step210). The installprogram92 first detects whether thecomputer host12 includes the driver of the WLAN module78 (step212). If thecomputer host12 includes the driver of theWLAN module78, the installprogram92 tells thefirmware91, used for driving thepersonal disk76, to output the enable signal EN1 (step216). Because thepower controller80 receives the enable signals EN1 and EN2, thepower controller80 outputs the driving voltage V1 to theWLAN module78. And then theWLAN module78 starts to operate and thecomputer host12 can utilize the loaded driver to drive theWLAN module78 to perform a predetermined operation through thedata channel88c.On the other hand, if thecomputer host12 doesn't include the driver of theWLAN module78, the installprogram92 tells to thefirmware91, used for driving thepersonal disk76, to output thedriver90 to thecomputer host12 so that thecomputer host12 can easily load thedriver90 corresponding to the WLAN module78 (step216) so that the WLAN module starts to operate and thecomputer host12 can utilize thedriver90 provided by thepersonal disk76 to drive the WLAN module to perform a predetermined operation through thedata channel88c(step218).
Please refer toFIG. 7, which is a block diagram of the third embodiment of the peripheral device according to the present invention. Theperipheral device50 includes aport102, ausb controller104, apersonal disk106, aWLAN module108, apower controller110, and aclock generator111. Thepersonal disk106 has amemory controller114 and amemory116. Furthermore, an installprogram122, adriver120 corresponding to theWLAN module108 and afirmware121 corresponding to thepersonal disk106 are stored in thememory116. Please note that the devices having the same name have the same function and operation and thus further description is omitted here. In this embodiment, with regard to thepersonal disk106, thefirmware121 can similarly drive thememory controller114 to simulate an autorun function of an optical disc drive for loading thedriver120 stored in thememory116.
Please refer toFIG. 1 in conjunction withFIGS. 7 and 8.FIG. 8 is a flow chart illustrating operation of the peripheral device shown inFIG. 7. The operation of theperipheral device50 in this embodiment is described as follows. Theperipheral device50 can be installed on thecomputer host12 such as a desktop computer, a notebook computer, or a personal digital assistant to expand functionality of theoriginal computer host12. When theperipheral device50 is connected to the computer host12 (step300) through the connection ofport102 to theport32aor32bof the computer host12m, the computer host outputs the operating voltage Vcc to theUSB hub controller104 and thepower controller110 for starting theUSB hub controller104 and the power controller110 (step302). After theUSB hub controller104 is turned on, the data channel118ais established between theUSB hub controller104 and theUSB host controller30 for transmitting data. For instance, theUSB hub controller104 delivers hardware parameters to theUSB host controller30 so that the OS run on thecomputer host12 is capable of detecting the addedUSB hub controller104. Generally speaking, current operating systems such as Win 2000® and WinXP® already include a device driver for aUSB hub controller104. Therefore, the device driver of theUSB hub controller104 is successfully loaded to control the operation of the USB hub controller104 (step304). Please note thepower controller110 outputs the driving voltage V1 and V2 (the driving voltage V1 and V2 are equal to the operating voltage Vcc) to thepersonal disk106 andWLAN module108 when thepower controller110 starts. Although the driving voltage V1 and V2 are respectively inputted to thepersonal disk106 andWLAN module108, thedata channel118bbetween thepersonal disk106 and theUSB hub controller104 is not established and the data channel between theWLAN module108 and theUSB hub controller104 is not established. In other words, theUSB hub controller104 doesn't start the I/O ports C2 and C4, which respectively correspond to thepersonal disk106 andWLAN module108.
In this embodiment, theUSB hub controller104 supports only 4 input/output ports (I/O ports) C1, C2, C3, C4. As known by those skilled in the art, theUSB hub controller104 starts the 4 I/O ports in order. In other words, theUSB hub controller104 first starts the I/O port C1 and establishes the corresponding data channel between theUSB hub controller104 and the device connected to the I/O port C1. Then theUSB hub controller104 starts the I/O port C2 and establishes the corresponding data channel between theUSB hub controller104 and the device connected to the I/O port C2. Until finally, theUSB hub controller104 starts the I/O port C4 and establishes the corresponding data channel between theUSB hub controller104 and the device connected to the I/O port C4. In this embodiment, thepersonal disk106 is connected to the I/O port C2 and theWLAN module108 is connected to the I/O port C4 meaning that theUSB hub controller104 starts the I/O port C2 and establishes thedata channel118bbetween theUSB hub controller104 and thepersonal disk106 first (step308). Therefore the OS run on thecomputer host12 can detect thepersonal disk106. Generally speaking, current operating systems such as Win2000 and Win XP already include a driver for thepersonal disk106 meaning that the OS can easily load the driver. In addition, because thepersonal disk106 already receives the driving voltage V2, thefirmware121 is executed to control thepersonal disk106. As in the above, when thepersonal disk106 starts to operate, thefirmware121 drives thepersonal disk106 to simulate an autorun function of an optical disc drive so that thecomputer host12 can execute the installprogram122 through the autorun function (step310). The installprogram122 first detects whether thecomputer host12 includes the driver of the WLAN module108 (step312). If thecomputer host12 includes the driver of theWLAN module108, the installprogram122 tells theUSB hub controller104 to start the I/O port C4 and establishes the corresponding data channel (step316) so that the WLAN module starts to operate and thecomputer host12 can utilize the loaded driver to drive theWLAN module108 to perform a predetermined operation (step318). On the other hand, if thecomputer host12 doesn't include the driver of theWLAN module108, the installprogram122 tells thefirmware121 to drive thepersonal disk106 to output thedriver120 to thecomputer host12. Therefore thecomputer host12 can easily load thedriver120 corresponding to the WLAN module108 (step314). And then the installprogram122 tells the USB hub controller to start the I/O port C4 and the corresponding data channel (step316) so that theWLAN module108 starts to operate and thecomputer host12 can utilize thedriver120 provided by thepersonal disk106 to drive theWLAN module108 to perform a predetermined operation (step318).
The circuit structure of the preferred embodiment is applied to a USB bus. However, the circuit structure of the preferred embodiment can be applied to other buses used by peripheral devices. Taking the IEEE1394 bus for example, the port (52,72,102) can be replaced by an IEEE1394-compatible male connector, and the USB hub controller (54,74,104) can be replaced by an IEEE1394 hub controller or a bridge to USB. The amended circuit structure is then capable of transmitting and receiving data via the IEEE1394 bus. In addition, the personal disk (56,76,106) is used to provide the WLAN module (58,78,108) with appropriate device drivers. However, the personal disk (56,76,106) can be applied to provide other peripheral devices with an appropriate device driver. For example, the personal disk (56,76,106) is installed on a printer, and the device driver (70,90,120) stored by the memory (66,86,116) is a device driver for the printer. As mentioned above, currently popularized operating systems such as Win 2000® and WinXP® support the personal disk (56,76,106) and have an embedded software driver for the personal disk (56,76,106). Therefore, data stored in the personal disk (56,76,106) can be retrieved successfully. Similarly, when the OS detects that the connected printer is a new hardware component, the OS reads and loads the device driver (70,90,120) corresponding to the printer from the personal disk (56,76,106). Then, the OS is capable of controlling the operation of the added printer.
The personal disk (56,76,106) mentioned above is viewed as a storage device for storing any formats of data such as installation files of device drivers, installation files of applications, and document files. When the personal disk (56,76,106) is combined with an application module such as the WLAN module (58,78,108) shown inFIG. 3 or the above-mentioned printer, and the personal disk (56,76,106) and the application module are positioned inside theperipheral device50, the personal disk (56,76,106) can be used to store any data generated during the operation of the application module. For example, suppose that the application module is a GPS module used for receiving a plurality of orientation signals and converting the orientation signals into a corresponding coordinate value. Thepersonal disk56 not only stores a software driver of the GPS module, but also is used to store a map file, an e-MAP navigator application, and manuals of the GPS module and the e-MAP navigator application. When theperipheral device50 is installed on thecomputer host12, the device driver stored on the personal disk is retrieved by thecomputer host12 to drive the newly added GPS module. Then, thecomputer host12 utilizes the personal disk (56,76,106) to install the e-MAP navigator application. In the end, thecomputer host12 runs the e-MAP navigator application to display a current location of thecomputer host12 on themonitor28 shown inFIG. 1 through the coordinate value provided by the GPS module and the map file provided by the personal disk (56,76,106). To sum up, the personal disk (56,76,106) does not merely store device drivers. With regard to the application modules inside theperipheral device50, the personal disk (56,76,106) is capable of storing device drivers, software applications, and manuals corresponding to the application modules. Therefore, the total amount of used optical disks, used magnetic disks, and used paper are greatly reduced.
In contrast to the prior art, the claimed peripheral device combines a personal disk and an application module. Therefore, when the user carries the claimed peripheral device, a device driver of the application module travels along with the application module. When the claimed peripheral device is connected to a computer host, the computer host is capable of retrieving and loading the device driver stored by the personal disk to correctly drive the added application module to perform a predetermined operation. Therefore, the inconvenience caused by the device driver being stored on an optical disk or a magnetic disk is solved. In addition, the personal disk itself is a storage device, and a manual of the application module or software applications of the application module can be stored on the personal disk. Therefore, consumption of optical disks, magnetic disks, and paper is reduced. At the same time, the cost is accordingly lowered. Furthermore, the claimed peripheral device has a hub controller so that both the personal disk and the application module share the same port. Therefore, the computer host is capable of having more ports available to other external devices. The claimed peripheral device also has switches used for control power supply of the personal disk and the application module according to user's demands so that the power consumption associated with the claimed peripheral device is greatly reduced.
Those skilled in the art will readily observe that numerous modifications and alterations of the device may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.