The device connection system of the invention comprises a peripheral agent device and a peripheral gateway. The peripheral agent device is connected to a host by a bus. The peripheral gateway is connected to the peripheral device; wherein the peripheral agent device communicates with the peripheral gateway via a communication link. The device connection system of the invention further maps the peripheral device to a virtual device of the peripheral agent device, so that the host detects a local peripheral device and is connected thereto via a bus. Thus, the host is connected to a remote peripheral device via a bus and the device connection system.
Referring to
The peripheral gateway 110 is connected to and communicates with the peripheral agent device 108 via a communication link 112. The peripheral gateway 110 outputs an information signal S1 through a communication link 112 as the peripheral device 104 is connected with the peripheral gateway 110. The peripheral agent device 108 receives the information signal S1, and maps the virtual device 108a to the peripheral device 104 in response to the information signal S1. The peripheral agent device 108 further outputs an information signal S2 in response to the information signal S1 as the host 102 is connected to the virtual device 108a of the peripheral agent device 108 by the bus 102a.
The information signal S2 informs the host 102 of a connection event taking place at the virtual device 108a through the bus 102a, so that the host 102 enables the peripheral device 104 to be installed by the bus 102a through the virtual device 108a. Afterward, the host 102 is connected to the peripheral device 104 through the bus 102a and the device connection system.
Referring to
The processor 216 is coupled to the host controller 214, and outputs an information signal S1 to indicate that the peripheral device 204 is connected to the client embedded system as the peripheral device 204 is connected to the host controller 214. The transmission device 218 is coupled to the processor 216 so as to be connected to the peripheral agent device 108 through a communication link 212.
Referring to
The processor 226 is coupled to the device controller 224. The processor 226 outputs an information signal S2 in response to information signal S1, as the bus 202a of the host 202 is connected to the device controller 224 via the physical layer 230 to inform the host 202 of a connection event taking place at the virtual device 208a through the bus 202a, so that the host 202 enables the peripheral device 204 to be installed. Thus, the virtual device 208a is used to simulate the peripheral device 204 being at the host embedded system, so that the host 202 detects a peripheral device via the bus 202a and is connected thereto. The transmission device 228 is coupled to the processor 226 so as to be connected to the peripheral gateway 210 through a communication link 212.
The processor 226 runs an embedded system operational system. The main functions of the host embedded system, such as informing the host 202 of the connection event taking place at the virtual device 208a or simulating the peripheral device 204 being at the host embedded system by the virtual device 208a, can be implemented by performing programs and hardware driver by the processor 226. The processor 216 also performs the embedded system operational system, and the main functions of the client embedded system, such as outputting an information signal S1, can also be implemented by performing programs and hardware driver by the processor 216.
Next, cite an example that both the buses 202a and 222 are a universal serial bus (USB), the host controller 214 is a USB host controller, the device controller 224 is a USB device controller, and the communication link 212 is a TCP/IP network such as the Internet for further explanation. The communication link 212 is a wireless network, a cabled network or a hybrid network.
The processor 216 of the client embedded system is used to perform a USB host controller driver, a USB core driver, a USB over Internet protocol (IP) peripheral driver and a client controller program. The processor 226 of the host embedded system performs the USB device controller driver, the USB over IP host driver and the host controller program.
As the peripheral device 204 is connected to the client embedded system, the USB host controller driver emulates the peripheral device 204, and registers the peripheral device 204 to the USB core driver. Then, the USB core driver calls the USB over IP device driver so as to complete the connection between the peripheral device 204 and the USB host controller. The USB over IP device driver enables a client controller program to output the information signal S1 to the host controller program via a network after the emulation of the peripheral device 204 is completed. The client controller program and the host controller program can be implemented by an application program which transmits the package in the form of an IP package.
The host controller program receives the information signal S1, and communicates with the USB over IP host driver and the USB device controller driver in response to the information signal S1 to obtain the number of peripheral devices 204 which have been simulated by the USB device controller. If the number of peripheral devices 204 simulated by the USB device controller is smaller than a predetermined number, such as seven for instance, this indicates that the USB device controller still has idled virtual devices 208a for simulating the peripheral device 204 to the host embedded system. Meanwhile, the host controller program starts to map the peripheral device 204 to the virtual device 208a, set the corresponding transmission endpoints and arrange the size of a first-in-first-out (FIFO) queue buffer so as to simulate the peripheral device 204 to the host embedded system.
After the USB device controller driver has finished the endpoint setting and the FIFO queue buffer size arrangement, the host controller program informs the client controller program. Then, the client controller program drives the USB over IP device driver to establish a connection plug at the kernel space, and after that, the USB over IP device driver and the USB over IP host driver transmit the IP package through the connection plug at the kernel space.
After the connection plug is established at the kernel space, the USB device controller drives the virtual device 208a to generate an information signal S2. The information signal S2 is transmitted to the host 202 via the USB to inform the host 202 of a connection event taking place at the virtual device 208a, so that the host 202 detects that a peripheral device is connected to the host 202 via the USB. Meanwhile, the host 202 is the master (the control node) of the USB which outputs request signals to the host embedded system. The request signals are converted to an IP package and outputted via an USB over IP host driver and a plug at the kernel space.
The USB over IP device driver receives and converts the IP packages to request signals. Then, the USB over IP device driver saves the request signals to the USB host controller via the USB core driver and the USB host controller driver. Next, the request signals are transmitted to the peripheral device 204. The response signal of the peripheral device 204 are transmitted to the host 202 via the above path but in opposite direction. Thus, the host 202 is connected to the peripheral device 204 via the device connection system.
The virtual device 208a further outputs a no acknowledgement package to the host 202 via the USB every USB spec waiting time interval to prevent the occurrence of bus time out error at the USB between the USB device controller and the host 202. Examples of the transmission devices 218 and 228 include giga-media access control (GMAC) device.
The client embedded system and the host embedded system respectively comprises a dynamic memory 232 and a dynamic memory 234. The client SOC 210a and the host SOC 208b respectively comprises a dynamic memory controller 236 and a dynamic memory controller 238 respectively coupled to the dynamic memory 232 and the dynamic memory 234 for controlling the access of the dynamic memory 232 and the dynamic memory 234 respectively.
Referring to
Afterwards, the method proceeds to step 308, as the bus 202a of the host 202 is connected to the virtual device 208a, an information signal S2 is outputted through the bus 202a in response to the information signal S1 to inform the host 202 of the connection event taking place at the virtual device 208a, so that the host 202 enables the bus 202a to install the peripheral device 204 through the virtual device 208a. Thus, the host 202 is connected to the peripheral device 204 by the bus 202a through the device connection system.
In the present embodiment of the invention, the virtual hub 224a is a USB virtual hub. In the USB device controller of the present embodiment of the invention, all virtual devices 208a are coupled to the seven downstream ports of the USB virtual hub first, and the virtual devices 208a are connected to the physical layer 230 via the only upstream port of the USB virtual hub next. Thus, by disposing one physical layer 230 in the host SOC 208b, the host 202 can be connected to at most seven virtual devices 208a, hence saving both chip volume and chip cost for the host SOC 208b. The USB virtual hub is called USB virtual hub due to the absence of a physical layer.
According to the present embodiment of the invention, the USB virtual hub is incorporated with the host SOC 208b having only one physical layer 230, so that both the volume and the cost of the host SOC 208b are reduced. However, the host embedded system of the present embodiment of the invention is not limited to the above structure, and other structure types may do as well. For example, seven physical layers may be used for connecting the seven virtual devices 208a to the host 202 instead of using the USB virtual hub.
Despite the present embodiment of the invention is exemplified by the USB device controller having seven virtual devices 208a, the number of virtual devices 208a disposed in the host embedded system of the present embodiment of the invention is not limited to seven. For example, one virtual device may do as well. Thus, the host embedded system and the client embedded system respectively dispense with the use of the virtual hub 224a and the hub 223, so that the virtual device 208a and the peripheral device 204 are connected to the host 202 and the USB host controller 214 via the physical layer 230 and the physical layer 220 directly, respectively.
According to the present embodiment of the invention, the peripheral agent device 208 and the peripheral gateway 210 are respectively exemplified by a host client embedded system and a client embedded system, wherein the host embedded system and the client embedded system respectively comprise a host SOC 208b and a client SOC 210a. However, in the present embodiment of the invention, the peripheral agent device 208 and the peripheral gateway 210 are not limited to the structure of embedded system, and other system structures may do as well. Further, the host embedded system and the client embedded system are not limited to the system on chip structure, and other circuit structures may do as well.
In the host embedded system and client embedded system of the present embodiment of the invention, request signals are transmitted in the form of USB request block (URB). Despite both the buses 222 and 202a are exemplified by a USB in the present embodiment of the invention, however the bus 222 may be implemented by other forms such as RS-232, 1394 and so on. The bus 222 and the bus 202a do not have to be the same bus.
In the present embodiment of the invention, the host 202 is a computer host. The computer host is preferably a PC blade. The peripheral device 204 is a remote peripheral device of the PC blade, and examples of the remote peripheral device include monitor, speaker, keyboard and mouse. The peripheral agent device 208 simulates the remote peripheral device as a local device connected to a PC blade via a USB, and transmits electrical signals between the PC blade and the user interface. The peripheral gateway 210 receives the electrical signals outputted from the peripheral agent device 208 and then inputs the electrical signals to corresponding remote peripheral device 204.
Thus, the peripheral devices of multiple computer systems are integrated at the user end by a peripheral gateway, and the hardware core of multiple computer system such as central processor, dynamic memory and motherboard are centralized by multiple PC blades and corresponding peripheral agent devices and the peripheral agent devices are connected to the corresponding peripheral agent devices via a network. Therefore, the multiple computer systems are centralized, and the personnel, management time and cost related to computer management are reduced. The peripheral agent device may be disposed in a PC blade in the form of a system on chip structure to save the hardware space for the peripheral agent device.
According to the device connection system of the present embodiment of the invention, the host embedded system and the client embedded system are respectively connected to the host and the peripheral device via the USB, and the host embedded system is equipped with a processor for implementing the operation of the device connection system. Thus, the device connection system of the present embodiment of the invention enables the host to be connected to the peripheral device without using the USB server of conventional device connection system. Therefore, the device connection system of the present embodiment of the invention effectively resolves the problems occurring to conventional device connection system due to the absence of a compatible operational system (OS) version between the USB server and the operational system of the host. The device connection system of the present embodiment of the invention has the advantage of being compactable with the host having any version of operational system.
Besides, in the present embodiment of the invention, the host embedded system and the client embedded system are powered by a stand-by power source. Nonetheless, even the computer system is in a pre-OS environment, the host still can be connected to the peripheral device via the device connection system of the present embodiment of the invention. Such arrangement resolve the problems encountered in conventional device connection system that the driver of the USB server can be implemented only when the host is in an OS environment, and that the computer system can not be connected to the peripheral device in pre-OS environment. Therefore, the device connection system of the present embodiment of the invention has the advantage of being operational in a pre-OS environment.
Moreover, in the present embodiment of the invention, the host embedded system and the client embedded system both having a processor respectively receive and convert the USB command outputted from the host and the peripheral device to an IP package. The host embedded system and the client embedded system further respectively receive and convert the IP package outputted from the client embedded system and the host embedded system to a USB command, and input the USB command to the host and the peripheral device. Thus, the connection system of the present embodiment of the invention effectively resolves the problems encountered in conventional connection system that the host has to implement the conversion between USB command and IP package which consuming a large amount of resources of the host. Therefore, the device connection system of the present embodiment of the invention has the advantage of reducing operational load for the host.
While the invention has been described by way of example and in terms of a preferred embodiment, it is to be understood that the invention is not limited thereto. On the contrary, it is intended to cover various modifications and similar arrangements and procedures, and the scope of the appended claims therefore should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements and procedures.
Number | Date | Country | Kind |
---|---|---|---|
95134501 | Sep 2006 | TW | national |