Our semiconductor wire bonding machines have some requirements for high-speed control, currently satisfied by a semi-custom controller. We would like to incorporate the high-speed control into our PC-based controller, but we don't think our Microsoft OS is up to the task. How would a real-time operating system coexist with a Microsoft OS?
—from June ’08 Control Design
Prioritize Your RTOS
You’re correct. Your Microsoft OS, on its own, is not up to the task. Windows is designed to share system resources across all tasks, frequently at the expense of ensuring and maintaining deterministic responsive for time-critical tasks. Even a well-crafted device driver will never be able to ensure the level of consistent response required of your bonding machine. Windows is an excellent base on which to host your user interface and enterprise network applications, but not where you want to host your real-time control applications.
The solution is to run multiple operating systems simultaneously on a single platform: a real-time operating system (RTOS) to coordinate the high-speed control function of your wire bonding machine and Windows for the general-purpose computing and operator interface functions. The two operating systems run side-by-side, with the RTOS processes and threads always having priority over Windows and its applications. Isolation of the two operating systems is supported by resources integrated into the Intel Architecture processor silicon; special hardware is not required to make it work.
RTOS software products that support real-time processing alongside Windows on single-core processors have been available for more than 10 years, but with multi-core processors so prevalent, machine designers can achieve much higher performance in dual-OS systems by assigning the RTOS and its real-time tasks to a dedicated processor core. Allocating I/O resources to a specific processor core or cores on a multi-core processor has the same effect as dedicating a separate computer platform to an RTOS in the system, but without the expense of the extra hardware and communication overhead associated with using discrete hardware modules.
By dedicating a CPU core to the RTOS, the CPU instruction cycles of the RTOS core are available 100% of the time to performing time-critical functions. I/O contentions are eliminated by isolating and dedicating those I/O devices that belong to the RTOS for exclusive use by real-time applications.
Worst-case real-time interrupt latencies on single-core RTOS + Windows solutions are typically measured in the range of 10-30 microseconds. These same measurements for an equivalent speed multi-core system are an order of magnitude faster: 1-3 microseconds. The net result is an improvement in the quality and bandwidth of real-time control algorithms that can be deployed on a multi-core, real-time Windows platform.
Continuous Data Flow
Coordination between CPU cores is typically handled via built-in interprocessor communication mechanisms—IPI or inter-processor interrupt—avoiding the overhead of the context switch times associated with single-core solutions. Communication between operating systems is managed by a real-time-aware embedded virtual machine manager (VMM) that supports the configuration of multiple operating systems on a single hardware platform.
Kim Hartman, vice president
Kernels Rise to the Top
The Windows operation environment is user friendly for the developer and users. But the real-time performance is not guaranteed. To achieve the real-time motion control, the solution can be running a real-time kernel on top of Windows and then running the motion control in the real-time kernel. Like the Advantech PAC solution, we have a software kernel take care of the IEC-61131 programming interface, as well as the real-time performance. In the mean time, the customer can still enjoy the convenience brought by Windows, like full stack of Ethernet, file system, database and even the multimedia service.
Peishan Juan, production manager
Advantech Industrial Automation Group
There are several real-time operating systems on the market today that run seamlessly together with the Windows operating system.
Any automation control software with a dedicated RTOS on the front end, such as Steeplechase VLC, provides unprecedented system stability and reliability. This is a critical consideration for factory floor applications, especially when used with a Windows-based PC.
An RTOS at the core of the control software provides immunity from potential Windows crashes and enables extremely fast and deterministic logic solve times, down to 200 microseconds.
At the same time, it allows the use of user-friendly Windows interfaces, such as mouse or graphic capabilities while enhancing system stability, increasing performance and improving machine uptime. Unlike real-time drivers that reside within the Windows kernel, a front-end RTOS creates two virtual machines that run side-by-side on a single hardware platform. The RTOS resides on its own protected memory area and takes advantage of the address isolation feature of the CPU itself.
With the help of the dedicated RTOS, the logic execution is kept separate from Windows operations and always has priority over and runs without interference from Windows processes. This ensures 100% priority to run the control of the machine.