True Emulation represents a significant breakthrough in sharing USB devices between two or more computer systems. Until this point, the problem has been how to create a USB switch that provides all of the following:
- Quick, transparent and reliable switching,
- Accurate representation of the connected USB keyboard and mouse,
- Switching control via the connected USB keyboard and/or mouse
The difficulty in achieving all of the above requirements has been due to the complexity of the USB standard. This has led to various problems that have spawned a number of possible solutions.
Enumerated USB switching
The earliest attempts to switch USB devices applied a relatively ‘hands off’ approach. Enumerated USB switches are the electronic equivalent of those old mechanical KVM switches with a large knob on the front.
Enumerated switches are so called because a connected USB device will be required to perform a full initiation (a process called Enumeration) every time it is switched; just as if you had pulled out the plug and then reconnected it.
Enumerated switches simply pass all signals straight through between the USB device and the computer, they do not attempt to interpret any data. For most devices, this offers an advantage because the switch just leaves them to get on with their jobs without any interference or any hit on performance. However, it means that a USB keyboard or mouse cannot be used to control the switching process - a quick and simple control method expected by most users. Reliability of switching is also an issue that has plagued enumerated switches, especially when used with certain USB devices and particular operating systems.
Emulated USB switching
The issues with interpreting the complex USB data streams and recreating (or Emulating) the identity of attached USB devices were eventually solved, leading to the creation of the Emulated USB switch.
A neat side effect of the technique used is that each computer can be fooled into thinking that the USB device is permanently connected to it, even when the device is switched to another computer. This means that the enumeration process for the USB device takes place only once, during the first power on. After that, a computer merely sees a dormant version of the USB device whenever the device is actually connected to a different computer.
However, it remains a complex task to dynamically assume the identity of a USB device, distribute it among the connected computers and maintain all of the necessary signals, states and processes. Therefore, manufacturers have previously relied upon a fixed keyboard and mouse profile that is declared to each computer, regardless of the actual connected devices. This precluded the use of any special keyboard or mouse features over and above the standard layouts.
Mindful of the limitations associated with the previous USB switching techniques, we set about creating a more effective and elegant solution. After a great deal of research and development, True Emulation is the result.
True Emulation allows the complete identity of the keyboard and mouse to be copied and then presented to all of the connected computers. This means that any keyboard offering specialist function keys or any mouse with extra features will be fully supported at each computer. As with the previous emulation method, the unselected computers will continue to see the identities of the keyboard and mouse, which means that no enumeration is necessary when their link becomes active once again. This not only helps to speed up the rate of reconnection, but also raises the reliability of switching because USB links are at their most vulnerable during the enumeration process.
True Emulation relies upon a high speed circuit, called an Emulation Engine, to fully emulate the USB device identities and also interpret keyboard and mouse data streams. The result is full support for KVM switching control via hotkey presses or the third button/scroll wheel of a mouse.
True Emulation is not necessarily required by other USB devices, which is why you will also find two enumerated circuits included (shown in green within the block diagram) alongside the True Emulation feature (shown in blue). This allows those other USB devices to operate at their highest speeds, without any intervention. The enumerated circuits benefit greatly from the USB Hubs that are jointly used with the True Emulation system. Because they interface directly and permanently with each computer, they help to stabilise the dormant links, making errors during enumeration much less likely.
The dual switching arrangement provides further flexibility because the True Emulation and enumerated sections can be switched in unison or independently of each other, as required. Thus, your various peripherals can operate with different computers at the same time.
The emulated section of the switch is shown in blue and handles only the keyboard and mouse. The green enumerated section of the switch handles other USB devices and also uses the USB hubs to link with the computers.