A Universal Serial Bus (“USB”) provides a single, standardized, easy-to-use mechanism for connecting computing devices and exchanging data therebetween. A USB connection between, for example, a personal computer (“PC”) and a peripheral device (e.g., PDA, digital camera) is typically accomplished via a USB cable with a four-pin connector on each end. That is, a first end of the cable is an “A” connector and a second end of the cable is a “B” connector. The A connector is plugged into an A port on of a host (e.g., the PC) and the B connector is plugged into a B port of a client (e.g., the peripheral). As well as exchanging data, a low-power peripheral device (e.g., a mouse, a keyboard) may draw power from the PC, while a high-power peripheral device (e.g., a printer) may have its own power supply.
In conventional systems, PCs are typically equipped with A ports and peripheral devices are typically equipped with B ports. Thus, in the USB connection, the PC is usually the host and the peripheral device is usually the client. This prevented the USB connection between two or more peripheral devices, and prevented the peripheral device from ever becoming the host. For example, a PDA could not have established the USB connection to the digital camera. Each device was the client having the B port, and the USB cable has only one A connector and one B connector.
A single USB port (e.g., a mini-AB port) was designed to overcome the problems faced by the conventional systems. The mini-AB port allowed the peripheral device to act as either the host or the client, upon connection of a further device (e.g., PC or peripheral device). The mini-AB port receives a further USB cable which includes two five-pin connectors, a mini-A connector on a first end and a mini-B connector on a second end. In the mini-A connector, an identification (“ID”) pin (e.g., a fifth pin) is grounded, while in the mini-B connector, the ID pin remains floating. Thus, if the mini-AB port receives the mini-A connector, it is the host; and if it receives the mini-B connector, it is the client.
While the mini-AB port overcomes the problem of the conventional systems, the peripheral devices which utilize the “standard” A port and the “standard” B port may become extinct if the mini-AB port becomes the standard on such devices. To utilize the mini-AB port, users of the peripheral devices with the standard A and B ports, must discard such devices and purchase those with the mini-AB port. This may represent significant costs in new hardware purchases, as well as training and maintenance for the new hardware. Thus, there is a need for a peripheral device which has a capability of becoming either the host or the client and which utilizes the standard A and B ports.
The present invention relates to a system which includes a first device connected to a second device via a USB cable. The cable has a first USB connector and a second USB connector. The first device includes a first USB port, a second USB port and a voltage detector coupled to the second port. The detector detects a voltage at the second port. The first port is configured to accept the first connector and the second port is configured to accept the second connector. The second device includes at least one of a third USB port and a fourth USB port. The third port is configured to accept the first connector and the fourth port is configured to accept the second connector. The first device switches operation between a host state and a client state based on the detected voltage at the second port.
a shows a standard A connector of a USB cable;
b shows a standard B connector of the USB cable;
a shows an exemplary embodiment of the device of
b shows another exemplary embodiment of the device of
The present invention may be further understood with reference to the following description and the appended drawings, wherein like elements are referred to with the same reference numerals. As shown in
As understood by those of skill in the art, the A connector 20 includes four pins 25 disposed on or embedded in a substrate 30 within a flat, rectangular housing 30. Each pin 25 includes a portion thereof which is enclosed by the substrate 30 and a further portion which is exposed to an external environment. Thus, each pin 25 provides a contact for power and for exchange of data when the A connector 20 is inserted into a host (e.g., a PC).
b shows a second end 40 of the cable 10 including a B connector 45 attached thereto. As understood by those of skill in the art, the B connector 45 includes four pins 50 disposed on or embedded in a substrate 55 within a substantially square housing 60. Similar to the A connector 15, each pin 50 includes a portion thereof which is enclosed by the substrate 55 and a further portion which is exposed to an external environment. Thus, each pin 50 provides a contact for power and for exchange of data when the B connector 20 is inserted into a client (e.g., a peripheral device).
Generally, a host (e.g., PC) has an A port for receiving the A connector 15 and a client (e.g., conventional peripheral device (“CPD”)) has a B for receiving the B connector 45. After the connection of each, the PC and the CPD may exchange data, and the CPD, if it is a low-power CPD (e.g., a mouse, a keyboard) may draw power from the PC. In this manner, the PC is a host and the CPD is a client. As understood by those of skill in the art, the host initiates all communications and controls the flow of information between itself and the client. In general, the host is considered to be the intelligent, controlling device, while the client is usually the dumb, slave device. However, as noted above, the cable 10 does not provide for connection of the CPD to a further CPD. That is, the port of the CPD only receives the B connector 45, and the B connector 45 is structurally dissimilar to the A connector 15, as shown in
According to the present invention, a computing device 100, shown in
The device 100 includes a processor 105 coupled to a first USB port (e.g., a standard A port 110) and a second USB port (e.g., a standard B port 115). In a preferred exemplary embodiment, each port 110, 115 is coupled to the processor 105 via a same processor port 107 as shown in
The device 100 may further include a voltage detector 120 coupled to the processor 105. The voltage detector 120 is also coupled to the B port 115 in order to measure a voltage (e.g., 5 V) received thereby from the B connector 45. That is, if the B connector 45 is inserted into the B port 115, the voltage thereof will detected. The voltage detector 120 detects this increase (i.e., presence/absence of the voltage) and notifies the processor 105. As understood by those of skill in the art, the voltage detector 120 and tasks executed thereby may be implemented in software and/or hardware. That is, in another exemplary embodiment of the device 100, the B port 115 may be directly coupled to the processor 105. Thus, the processor 105 may execute a software application which performs the task of detecting the voltage at the B port 115.
According to the present invention, the device 100 has two states which define its operation in response to insertion of one of the connectors into one of the ports. In a first state (e.g., a host state), the device 100 acts as a host in a USB connection. That is, the A port 110 has received the A connector 15, and the B connector 45 is attached to a further peripheral device (“FPD”) 202 shown in
As shown in
In
b shows an exemplary embodiment of a further system 300 which includes the device 100 coupled to a further computing device (“FCD”) 302. In another exemplary embodiment, the device 100 is coupled to an FPD configured similarly to the device 100 or including a mini-AB port. The FCD 302 includes a processor 305 coupled to a further A port 310, and a power arrangement (e.g., a line voltage, a battery) which powers the processor 305 and any device coupled thereto when the device is in the client state. The FCD 302 may act only as the host, and thus, has one or more A ports. In this manner, the A connector 15 has been inserted into the further A port 310 on the FCD 302, and the B connector 45 has been inserted into the B port 115 on the device 100.
Upon insertion of the B connector 45, the B port 115 receives the voltage from the FCD 302. That is, the FCD 302 (or the FPD 202 with the further A port) is in the host state and is transmitting the voltage to the device 100 via the cable 10. However, the device 100 remains in the host state (i.e., default state) until the processor 105 determines that the device 100 should be in the client state. When the B connector 45 is inserted into the B port 115, the voltage detector 120 detects the voltage received from the FCD 302 via the cable 10. Thus, the voltage detector 120 indicates to the processor 105 that the B port 115 is receiving the voltage, and the processor 105, in turn, switches from the host state to the client state. While it has been described that the voltage detector 120 measures the voltage at the B port 115 only, other embodiments of the device 100 may include the voltage detector 120 or a further voltage detector detecting a further voltage at the A port 110. In this manner, once the device 100 switches to the client state, the processor 105 removes the voltage from the A port 110, so it will not try to power another FPD at the same time. Once the B connector 45 is removed from the B port 115, the device 100 may switch back to the host state, or remain in the client state until a subsequent USB connection.
An exemplary embodiment of a method 400 according to the present invention is shown in
In step 410, the device 100 receives the USB connection at either the A port 110 or the B port 115. Preferably, the device 100 only maintains one USB connection at a time. Thus, the device 100 may further include an indicator (e.g., an LED, a door over the non-used port, etc.) which represents that the device 100 is currently maintaining the USB connection. Of course, the ports 110, 115 may be disposed adjacent relative to each other to provide a visual indication that the device 100 is maintaining the USB connection. In another exemplary embodiment, the device 100 may block the port which does not receive the USB connection. For example, if the A port 110 receives the A connector 45, the processor 105 may disable the B port 115 so that if the B connector 45 is inserted therein (while the A connector 45 is still coupled), the B port will be effectively dead (e.g., no power, no data transfer, etc.).
In step 415, the device 100 determines whether there is the voltage at the B port 115. As described above, the voltage detector 120 detects the voltage at the B port 115 and relays such information to the processor 105. Thus, the voltage detector 120 may convert the voltage into a signal to be sent to the processor 105, or it may simply repeat the voltage directly to the processor 105. The processor 105 may be configured to receive the signal and/or the voltage and act based on either.
In step 420, the voltage detector 120 detected the voltage at the B port 115, and the processor 105 switches the device 100 from the host state to the client state. As stated above, the voltage may be detected when the B port receives the B connector 45, and the voltage is passed therethrough from the FCD 302 (or FPD 202) via the cable 10. The voltage detector 120 may continuously detect the voltage at the B port, or may do so at predetermined intervals or events (e.g, time periods, recognition of insertion of the connector 15, 45). Once the voltage detector 120 detects that the voltage is no longer present at the B port 115, a further signal may be sent to the processor 105, at which point the processor 105 may switch back to the host state. Alternatively, the device 100 may remain in the client state until a subsequent USB connection.
In step 425, the voltage was not detected at the B port 115, because, for example, the B port 115 did not receive the B connector 45, a malfunctioned B connector was received, or the device receiving the A connector 15 was not powered (e.g., turned off, dead battery). Thus, the device 100 remains in the host state. As described above, in the host state, the device 100 may transmit the voltage to the FPD 200 via the cable 10.
It will be apparent to those skilled in the art that various modifications may be made in the present invention, without departing from the spirit or scope of the invention. Thus, it is intended that the present invention cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.