feature article
Subscribe Now

Flight Simulation Stresses USB Hubs and Reveals Other USB Pitfalls. Here are Some Helpful Hints

Ron Sartore is a serial entrepreneur and a USB veteran. He started a company named Anchor Chips in 1995, back before USB was a standard. When the USB revolution started in 1996, Sartore jumped on the standard and Anchor quickly became a leading supplier of USB controller chips, dubbed “EZ-USB.” Cypress Semiconductor bought Anchor Chips in 1999. (Infineon bought Cypress Semiconductor in 2019 and they’re still selling EZ-USB chips.) Sartore’s “semi-retired” now, but he’s still learning, designing, and building, thanks to his hobby, flying simulated aircraft, which he’s managed to turn into yet another business. As I said, he’s a serial entrepreneur.

I first met Sartore back in 1988 when I waltzed into his offices in Colorado Springs and conned… er, convinced him to help me develop a PC-based engineering workstation for a multi-part, hands-on article series called the All-Star PC Project. Back then, Sartore’s company, Cheetah International, made the world’s fastest PC motherboards. Ron eschewed MOS PC chipsets in favor of TTL chips. That’s why his motherboards ran faster than his competition. I needed that speed because PCs weren’t quite fast enough to compete with engineering workstations based on Motorola Semiconductor’s 68000 microprocessor family, MIPS RISC processors, or Sun’s SPARC processors. I’d designed engineering workstations for Cadnetix up to 1985 but had subsequently become an advocate for PC-based workstations. They were the future, in my opinion. The All-Star PC project would prove to be a bit ahead of its time, but PCs did eventually kill engineering workstations as a category. It just took another decade or so for x86 processors to become fast enough.

Sartore and I kept in touch after he founded Anchor, sold it to Cypress, and then founded another company, AgigA Tech, which makes non-volatile DIMMs for server applications. Cypress bought that company too. About 18 months ago, I told Sartore about the house we were building outside of St. George, Utah. He immediately went out to St. George to look around and, within two months, had found and bought a house and moved in. He beat us by more than a year. That’s one example of why he’s a successful serial entrepreneur and I’m still writing articles four decades later.

It seems that Ron had retired and thought St. George was a fine place to take it easy. Except, of course, serial entrepreneurs cannot take it easy. It’s not in their genes. Sartore has played with flight simulators since the 1980s, starting with Microsoft Flight Simulator and later adding X-Plane to the mix. He’s been an avid wannabe pilot for decades and stepped up to piloting an actual airplane in 2020, while going for rides on exotic aircraft including a B-17 bomber and a P-51 Mustang, both from the World War II era.

Meanwhile, he became ever more deeply involved with flight simulators. People who get deeply involved with flight-simulation software call themselves “simmers.” As a simmer, Sartore got the usual simmer’s disease: he wanted an ever more realistic flight-simulation experience, so he started buying more flight-simulator instruments and controls. You start with a yoke (that’s the steering wheel for us non-pilots) and add rudder pedals, throttle(s), fuel mixture controls, pitch and flaps controls, a trim wheel, landing-gear switches, a GPS unit, and a radio stack. Soon, your computer desk is piled high with several thousand dollars’ worth of flight-simulation peripherals. Generally, these are USB devices, although certain peripherals with video-intensive displays also require HDMI ports, so the PC running the flight simulator needs to support multiple USB and video ports.

With all his EZ-USB experience, including seven USB patents, you’d expect Sartore to know all that he needs to know about USB. However, even Sartore can be surprised by USB. Earlier this year, Sartore gave a video presentation titled “Challenges in Peripheral Integration” to the Flight Simulation Association, a community-driven organization of developers, simmers, and actual pilots promoting the use of home-based flight simulation. In this video, Sartore imparts a lot of the knowledge he’s been accumulating from his work with flight simulator hardware, including a few USB surprises he’s encountered on the journey and how he handled these surprises.

Sartore explains that flight simulators need more USB devices than any other PC application program he’s encountered, but because they’re all human interface peripherals, these devices have very low data-transfer rates. Sartore says that USB 1.1, with its 12 Mbps maximum transfer rate, is more than adequate to serve the data-rate needs of these peripherals, but you need an abnormally large number of USB ports – perhaps 16 or more ports – to handle all of them. That means simmers need USB hubs, perhaps several hubs, because it’s not likely you’re going to find a PC with sixteen or more built-in USB ports.

Because these simulated aircraft instruments all draw their power from their USB connections, passive hubs cannot supply the aggregate power requirements for all these peripherals. You need powered hubs, and this is where Sartore ran into the first problems with these products. Per the standard, each USB 1.1 port can supply a maximum of 500 mA at 5V, or 2.5W. If you have a 16-port USB hub, the hub’s power supply must be capable of supplying at least 40W (plus some margin). The first powered USB hub that Sartore bought for his flight simulation rig used an underpowered wall wart as a power supply.

Sartore discovered the severely underpowered nature of his first powered USB hub when he bought a six pack of flight instruments and plugged them all into the hub. Not all of them powered up. First, Sartore discovered that his hub had only 25 percent of the power needed to supply 2.5W to each of its USB ports. Even a USB veteran like Sartore can be surprised. He fixed that problem by purchasing a different USB hub with a bigger power supply, but the problem persisted. That’s when he discovered the USB enumeration problem.

When Microsoft Windows boots, it enumerates all the USB devices connected to the PC. When a new USB device in the system powers up after Windows boots, it’s added to the enumeration list. For the purposes of most flight-simulation peripherals, there are two important USB categories: HIDs (human interface devices) and modems (COM ports). Some peripherals identify themselves as HIDs and some label themselves as lowly serial ports (COM devices). The USB devices share no more information with Microsoft Windows.

COM devices originated from USB’s appropriation of a much older serial standard: RS-232C. USB COM ports emulate RS-232 serial ports, which were once common in PCs of the 1980s and 1990s. Microsoft Windows knows very little about COM devices and simply enumerates them as it encounters them. The first COM port Microsoft Windows encounters becomes COM1, the next becomes COM2, and so on. So far, so good.

However, simmers are constantly fiddling with their rigs. It turns out that when you unplug a USB cable and plug it into a different USB port on a computer or a hub, it might be assigned a different COM port number when Microsoft Windows notices that a previously unused USB port is suddenly active. When the peripheral’s COM port assignment changes, the flight-simulation program may lose contact with the associated peripheral because the COM port assignment is the only identifier available for the software to use. There’s no way for the flight-simulation software to go look for the device.

Worse, Microsoft Windows does not reclaim COM port numbers automatically. If you unplug a device, say COM4, and plug it in somewhere else, it may become COM16 or COM118, depending on how many times you’ve plugged and unplugged your USB devices while the computer was powered up. Meanwhile, Microsoft Windows will still show COM4 in use. It will not de-enumerate that label assignment, although there’s no longer a device that physically uses that designation. Simmers fiddle with their peripheral configurations a lot, so this is a problem. The problem’s solution, Sartore explains, is to carefully mark your USB cables when reconfiguring or upgrading your rig and plug everything back together the way it was, as much as is possible, to maintain the correspondence between hardware configuration and COM port enumeration. Otherwise, you’ll need to fix the COM port assignments manually, and there’s no easy way to do this.

Sartore’s experience led him to conclude that he could develop better flight-simulation instruments at a lower price for simmers, and he’s started a company to produce these products. He’s named this latest venture Altimeter Motives. Sartore’s solution to creating a lower-cost instrument cluster was to paint an acrylic panel to look like the instrument panel from a Cessna 172. This acrylic panel fits over a standard 24-inch flat-screen monitor, with holes cut into the panel to allow you to see the faces of the aircraft’s instrument rendered on the flat-panel screen. Rotary encoders integrated into the acrylic panel provide the controls needed to interact directly with the simulated instruments. It looks very realistic:

Because he’s a stickler for detail and wanted the most realistic experience, Sartore added black plastic bezels to the instrument cutouts. At first, he used a 3D printer to make these bezels. Ultimately, he paid to create injection-molded tooling to get better-looking parts and to lower the per-part cost.

Of course, the instrument panel is a USB peripheral. Given Sartore’s background, what else could it be? Although the various instrument faces on the Altimeter Motives instrument panel are rendered on the flat-panel display, the rotary encoders are individual, physical input devices. PCs don’t handle rotary encoders directly, so Sartore uses a Raspberry Pi Pico to convert the rotary encoders to USB. For a low-volume product like these Altimeter Motives instrument panels, the low-cost Raspberry Pi Pico is a shrewd choice. It offers all of the hardware and capabilities needed on an assembled circuit board, and it sells for $4 in single-unit quantities.

For more information about Altimeter Motives, click here.

If you’d like to watch Sartore’s USB video, you can get a free membership to the Flight Simulation Association (click here), after which you’ll have access to the video.

One thought on “Flight Simulation Stresses USB Hubs and Reveals Other USB Pitfalls. Here are Some Helpful Hints”

  1. When is a 68xxx part number not a 32-bit microprocessor? When it’s a CY7C68013A EZ-USB 8-bit 8051 microprocessor with hardware USB peripheral interface.

Leave a Reply

featured blogs
Oct 6, 2022
The days of 'throwing it over the wall' are over. Heterogeneous integration is ushering in a new era of silicon chip design with collaboration at its core'”one that lives or dies on seamless interaction between your analog and digital IC and package design teams. Heterogeneo...
Oct 4, 2022
We share 6 key advantages of cloud-based IC hardware design tools, including enhanced scalability, security, and access to AI-enabled EDA tools. The post 6 Reasons to Leverage IC Hardware Development in the Cloud appeared first on From Silicon To Software....
Sep 30, 2022
When I wrote my book 'Bebop to the Boolean Boogie,' it was certainly not my intention to lead 6-year-old boys astray....

featured video

PCIe Gen5 x16 Running on the Achronix VectorPath Accelerator Card

Sponsored by Achronix

In this demo, Achronix engineers show the VectorPath Accelerator Card successfully linking up to a PCIe Gen5 x16 host and write data to and read data from GDDR6 memory. The VectorPath accelerator card featuring the Speedster7t FPGA is one of the first FPGAs that can natively support this interface within its PCIe subsystem. Speedster7t FPGAs offer a revolutionary new architecture that Achronix developed to address the highest performance data acceleration challenges.

Click here for more information about the VectorPath Accelerator Card

featured paper

Algorithm Verification with FPGAs and ASICs

Sponsored by MathWorks

Developing new FPGA and ASIC designs involves implementing new algorithms, which presents challenges for verification for algorithm developers, hardware designers, and verification engineers. This eBook explores different aspects of hardware design verification and how you can use MATLAB and Simulink to reduce development effort and improve the quality of end products.

Click here to read more

featured chalk talk

Automotive Electronic Seat Control

Sponsored by Infineon

Today’s automotive seat design must keep in mind size, cost, battery life and passing EMC testing. In this episode of Chalk Talk, Amelia Dalton and Rick Browarski from Infineon investigate the newest innovations in automotive electronic seat control. They take a closer look at the anatomy of power seats today, the role that an ECU plays in the control of electronic seats and how Infineon chip set offerings can help you with your next smart power seat design.

Click here for more information abotu information about Infineon Seat Control