Embedded real-time operating systems (RTOSs) have changed, says Hank Hogan, adding greater connectivity while meeting new safety and security certifications and considerations.
Embedded real-time operating systems
keep planes, trains, and automobiles – as well as factory floor equipment – running on time. At the heart of an embedded RTOS is determinism, the absolute guarantee that when the clock ticks or an interrupt arrives, thesystem will respond appropriately.But today that’s not enough. Safety, security, and
communications rank among other requirements. Consider the experience of industrial control supplier Siemens Energy and Automation (SEA). The company wanted to deploy a PC on its customer’s factory floor. According to Eric Kaczor, Product Marketing Manager for engineering software products at SEA, engineers quickly learned that a standard office PC wouldn’t work. To avoid crashesand freezes, they decided to go with an RTOS.However, the need to preserve office PC software
applications played a role in RTOS selection. “When we chose the real-time operating system, we were looking for an environment that we could easily portour office applications to,” says Kaczor.More functions than a PLC
Today an RTOS has to handle connectivity of
various types, meet safety certifications, satisfy security requirements and, in essence, look like an office personal computer. RTOS vendors have responded with added features and capabilities, which puts pressure on memory and other constraints. Fortunately, it’s possible to slim down an RTOS considerably, ensuring that it and any applications fit in the space available. A look at the current RTOS landscape shows how it’s changing and what to look for in industrial, automation and controlapplications.For its part, SEA went with the RTX RTOS from
Ardence, a Citrix company, in its Simatic Microbox 420 industrial PC. RTOS capabilities extend beyond what’s available to the casual viewer. “They look at this, and they think it’s a PLC…, not realizing that it actually has more functionality than a PLC,” saysKaczor.Part of that extra capability is connectivity. Paul
Chen, VxWorks product line manager at RTOS vendor Wind River Systems of Alameda, CA, notes that linking up with the outside world is a large requirement for state-of-the-art embedded real-time operating systems. This includes such user-expected technologies as USB, Ethernet, and wireless. Endusers also expect such standards such as nextgeneration Internet (IPv6), the various 802.x wireless flavors, MIPv4 and MIPv6 for mobile applications,along with IPsec and HTTPS for security.Customers guide RTOS vendors. “If the real-time
operating system software wasn’t providing these technologies, our customers would be encoding thoselayers themselves,” says Chen.The danger is that end-user or original equipment
manufacturer (OEM) add-ons could impact the function of the software scheduler–the all-important part of an RTOS that makes it deterministic. Since they know the code, RTOS suppliers can add the capabilities without removing the real-time part oftheir product.The same is true for safety and security
certifications. The former shows up in airborne systems, industrial applications, and medical software under regulations that begin with three-letter acronyms: FAA DO-178B, IEC 61508, and FDA 510(k).The added connectivity makes the job
of an embedded RTOS more difficult, especially when it comes to security. One version of security is the type used in the military, which in the past has kept different security levels on different systems. Today there’s an effort to bring all levels onto one piece of hardware, which means the hardware/software combination has tokeep “top secret” information top secret.The other version of security, though, is
the one familiar to anyone with an office computer, where programs can blunder into each other’s memory space, and outsideforces can attack.Chen notes that hardware improvements,
the third big driver behind the-state-of-the-art in embedded RTOS, offers some help in preventing such problems. For one thing, semiconductor manufacturers are adding processing elements to their chips so that dedicated functions can be off-loaded fromsoftware.Some functions include encryption for
security and pattern matching for network virus detection. “Dedicated hardware is usually faster than software, so RTOS software needs to be able to support and leverage the various hardware engines,”says Chen.He adds that multicore processors are
now becoming available for embedded applications. By splitting a processor into homogeneous units or cores, microprocessor manufacturers can run each at a lower clock rate, thereby cutting total power consumption while achieving better performance. Thus, an embedded RTOS could benefit from such hardware – if the software supportsmulticore processors.Robert Day, Vice President of Marketing
for Lynuxworks of San Jose, CA, notes that modern microprocessor cores offer dedicated memory sections, providing brick-wall partitioning that keeps everything separate. The concept can be extended by using a small RTOS as a hyper supervisor, allowing an RTOS and its applications to run in one part of the memory while non-real-time applications run in another.Dan Mender, Director of Business
development for RTOS supplier Green Hills Software, CA, notes that the use of such a separation kernel makes for a secure system and pays other dividends. He says, “The same principles that isolate and contain attacks on one area of the system can be used to create systems that are safefrom inadvertent programming errors.”Bare necessities
Aside from being able to support and take
advantage of such hardware innovations, an RTOS has to meet connectivity, security, and safety demands. However, Day is quick to point to other functions of the software that are absolute necessities. In particular, there has to be some form of communication so that an application with multiple tasks running at once doesn’t get inthe way of others.“Most applications that have multiple
tasks also require some form of intertask communication, such as queues, semaphores and Mutexs, with the latter being important to applications that cannot afford to have a priority inversion issue that allows lower priority tasks to block out vitalsystem functions,” says Day.For industrial automation applications,
Day adds that the RTOS should permit rate-monotonic scheduling and also time and space partitioning. The first supplies a ticking clock so that time windows are evenly spaced while the second ensures thatcritical tasks get a constant time window.There are also some communication
protocols and considerations specific to automation applications and devices. These may or may not be required because other standards, like IPv4 and IPv6, may be enough. However, having these protocols could certainly be helpful. The list includes the Controller Area Network (CAN), OPC, the Distributed Common Object Model, or DCOM, industrial WLAN for wireless communications, Profinet or other industrial Ethernet protocol, and Web services powered by XML and SOAP (which forms the foundation layer of the Web services stack, providing a basic messaging framework that more abstract layers can build on). There are also new technologies and standards, such as ZigBee in the wireless arena, that could be part ofthe RTOS bag of tricks.Mark Hamilton, a field application
engineer at middleware vendor Real- Time Innovations (RTI), has had extensive experience designing, developing and deploying real-time systems for the intelligence and military communities. While an extensive list of protocols and other features are nice and perhaps necessary, he cautions that there’s a limit as to how muchcan be piled onto an RTOS.As more functions become part of the
system, there will come a point at which the scheduler simply can’t run the software threads. In that case, RTOS determinism will suffer. Then the system may offer the functionality of a desktop computer andbehave like one.Not surprisingly, he points out that
middleware can help avoid such problems by managing the communication between software applications. This capability can allow the RTOS to unload some burdens via its connectivity and not bump up against scheduler constraints. Middleware even can add value by supplying some ready-madesolutions to common problems.“Middleware may provide the ability to
move data very efficiently between CPUs that are a part of your system in a way where you don’t have to now worry about writing a bunch of networking code,” saysHamilton.Such off-loading and partitioning may
be necessary for another reason beyond scheduler constraints. An embedded RTOS typically operates in an environment where memory is constrained and storage restricted. At the same time, as devices add new features, applications tend to get bigger. The result is that the memory footprint of the RTOS must remain small while supportinggrowing device functionality.RTOS vendors have taken several
approaches to meet these competing demands. One method puts the final decision in the hands of developers and endusers. The ultimate RTOS configuration is determined by adding or removing modules during build time, allowing fine-grained control over the trade-off between capability and footprint. Potential savings with thisapproach can be substantial.For example, during development and
testing, users may elect to have diagnostic information points placed within the code. When development is done, these diagnostics can be removed, sometimes saving double-digitpercentages in footprint size.A corollary is that the modules themselves
have to be small. That ensures that the final build and the RTOS itself will be compact. However, another solution may be to shrink the application space through a careful choice of programming language and compilers. That can have a dramatic impact on the application size. National Instruments LabView software, for instance, has options to develop, integrate, re-use existing code then port RTOS programming to a varietyof targets.Electronic amnesia
For systems running an embedded real-time
operating system (RTOS), nonvolatile memory holds the operating system, running applications, and collected data. Memory choices abound, and candidates include battery-backed-up SRAM (serial random access memory), flash memory of various forms, and serial EEPROM (electrically erasable and programmableread-only memory).So what’s best? “The answer to the
memory question is ‘some combination ofthe above,’” says Wind River’s Chen.As for why no one size fits all, consider
the static and runtime requirements of a situation. The RTOS and any applications, which could total hundreds of megabytes, may be accessed during system startup and largely untouched afterwards. Process data, on the other hand, may be only a handful of bytes but collected and storedcontinuously.One approach simply replaces the
spinning hard drive found in a PC with one constructed out of flash memory chips. Solid-state drives are small, environmentally rugged, and consume little power. They can be replaced as needed and even can take some of the load off the processor running the RTOS by handlingread/write housekeeping.Solid state drives have also become
more affordable. Gary Drossel, vice president of planning at solid-state drive maker SiliconSystems of Aliso Viejo, CA, recalls when solid-state disks cost 40 times what similarly sized rotating ones did. That’s no longer the case. “We’re starting to see maybe a two- to three-times price premium,” he says.Not all solid-state drives are the same,
with some offering error correction and wear-leveling. The latter extends disk life by ensuring bits don’t wear out prematurely through overuse. Some devices have the ability to write protect specific areas, thus keeping the RTOS and applications pristine.But solid-state drives share something
with the rotating variety. There’s a minimum size, which currently can run in the tens of megabytes.For smaller storage needs, users can
go with flash memory, battery backed up RAM, or serial EEPROM. Several factors play a role in the choice, such as the amount of data involved and how often data is written.Typically the RTOS and applications
will be stored in flash, so the question becomes what to do with the process data. If there’s little process data involved, then serial EEPROM may be the answer, notes Martin Bowman, Senior Application Engineer in the memory products division of Microchip Technology. That’s particularly true for industrial applications, where long equipment lifetimes are a must.“One of the advantages of using serial
EEPROM technology is the actual number of erase/write cycles,” says Bowman.While bit errors start to appear in flash
memory after 10,000 such cycles, serial EEPROM can handle a million. The downside is that serial EEPROM is slower and isn’t as cost effective for larger storage as flash.A final solution would be to store
information remotely via an Ethernet or wireless connection, using battery-backed-up SRAM for those times when the connection is out. There’s no bit wear problem, and writing and reading data is fast. But there is the issue of the battery, which has to be monitored and maintained. Otherwise, there’s a chance for electronic amnesia to occur and data to be lost.It’s the ecosystem
As the interplay between RTOS and
application space indicates, whatever steps are taken to fit within the constraints will be a function of the integration between the RTOS, applications, software tools, and hardware. Todd Brian, product marketing manager for the Nucleus Kernals product line at electronic design automation supplier Mentor Graphics Corp. of Wilsonville, OR, notes that no RTOS vendor is an island. All work within an eco-system and that fact is crucial to getting the best performance from an embedded RTOS. “A vendor needs partners that have integrated with the vendor’s OS. That way, they are not burdened by the integration process,” Brian says.Such integration benefits RTOS
suppliers and end-users, and is something to look for in an embedded RTOS and its vendor. “The complexity of device design is growing so quickly that delivering software is not enough. That software has to be integrated so the customer is not left with that burden,” says Todd Brian.An RTOS has to support and take advantage of embedded hardware innovations.
Solid state drives are becoming more affordable for embedded systems storage.
Towards Real-Time Linux On March 14 it was announced that IBM and Red Hat are collaborating to deliver a new “Real-Time Linux” application development and deployment platform in order to provide customers the ability to run systems that can perform at greater processing rates with high levels of reliability.The new platform includes IBM WebSphere Real Time, a real-time J2SE Java Virtual Machine, with a real-time version of Red Hat Enterprise Linux 5 (RHEL 5) running on IBM System x and BladeCenter AMD and Intel-based servers. The computing infrastructure enables Java programmers to develop applications that can execute and provide predictable, to the millisecond granularity execution times.The US Navy is an early adopter of IBM’s Real-Time Java technology running on a customized Real-Time Linux platform deployed by IBM, Raytheon, and Red Hat. Applications ranging from command-and-control, navigation, targeting, weapons control, and radar systems. The Navy is looking to cut the cost of developing and maintaining traditionally expensive real-time systems.Commenting on the IBM/Red Hat collaboration, which also includes integrating improved virtualization features and security enhancements into the Linux kernel, Bob Mick of ARC Advisory Group, said, “Real-time is needed for many more application areas to provide real-time performance for manufacturing and other businesses. Linux has done well in the server markets, and this will strengthen its position further.” |
Defining Real What does it really mean to be real? The folks from National Instruments provide some clarifications. Real-time operating systems originated with the need to deal with event response applications and with closed loop control systems. Event response applications require a response to a stimulus in a determined amount of time; an example of such a system is an automotive airbag system. Closed loop control systems continuously process feedback in order to adjust an output; an automotive cruise control system is an example. Both of these types of systems require the completion of an operation within a specific deadline. This type of performance is referred to as determinism.Familiar operating systems such as Microsoft Windows and Mac OS are designed for general purpose use and optimized to run a variety of applications simultaneously. As a result, high-priority tasks can be preempted by lower priority tasks, making it impossible to guarantee a responsetime for critical applications. In contrast, real-time operating systems give users the ability to prioritize tasks so that the most critical one can take control of the processor when needed.Real-time systems can be classified as “soft” or “hard”. Soft real-time typically means the utility of a system is inversely proportionate to how long it has been since a deadline is missed. For example, when pressing a mobile phone button to answer an incoming call, the connection must be established soon after the button has been pressed. However, the deadline is not mission-critical and small delays can be tolerated.But for hard real-time systems the utility of a system becomes zero in the event of a missed deadline. An automotive engine control unit (ECU) must process incoming signals and calculate spark plug timing within a deadline. If the deadline is missed, the engine will fail to operate correctly. The usefulness of a task after a deadline is missed is depends on whether the system is a soft real-time or a hard realtime system.Control & response Most real-time control systems monitor a physical system, compare the current state with the desired state, and then adjust the physical system based on the comparison. The time it takes to traverse this loop is considered the “loop cycle time”, which varies based on the complexity of the system. Determinism measures the consistency of the specified time interval between events.Control algorithms, such as PID (proportional-integral-derivative), require very deterministic behavior. For example, an elevator gradually moves to the correct floor because of the deterministic behavior of the control loop. Without the determinism, the elevator would still reach the correct floor but without stability. With all real-time systems, there is some amount of error called jitter. Jitter is another way of measuring the determinism of a real-time system. You can calculate it as the maximum difference between any individual time delay and the desired time delay in a system.With real-time event response, you can respond to a single event within a given and guaranteed amount of time. The realtime system guarantees some maximum response time to the single event. The event can be either periodic or random. For example, if a process plant enters a dangerous state, a real-time system monitoring must respond to the “danger” event within a guaranteed amount of time. “Latency” is used to describe the time it takes to respond to an event.Real technology National Instruments offers a variety of real-time hardware targets that contain an embedded processor running a realtime OS for maximum reliability and deterministic performance. It is possible to integrate a wide array of I/O with modular hardware that scales to accommodate high-channel-count data acquisition and control, industrial signal conditioning, and safety isolation.For software, the LabVIEW Real- Time Module and LabWindows/CVI Real-Time Module are used to achieve reliable deterministic execution on dedicated hardware targets. For increased determinism needs, the LabVIEW FPGA Module combined with hardware that includes reconfigurable I/O technology, offers nanosecond hardware response.And in November 2006, National Instruments announced the release of the NI cRIO-9012 high-performance, real-time controller. The controller is based on Freescale’s MPC5200 processor built on Power Architecture technology, and Wind River VxWorks real-time operating system. The aim: to deliver fast performance while maintaining the ruggedness, reliability and low cost of the NI’s CompactRIO platform.Running on the MPC5200, the VxWorks RTOS delivers dependable performance and a fault-tolerant file system that provides reliable data logging, making it possible for engineers to operate the controller for long periods of time in remote applications using a battery or solar power. The LabVIEW Real-Time Module provides shared variable technology for simplified network communication between distributed systems as well as the new LabVIEW Project, which streamlines code control and application deployment to multiple CompactRIO systems.With the technologies in the new cRIO-9012 real-time controller, the CompactRIO embedded system is said to be ideal for applications such as machine control and monitoring, in-vehicle logging and embedded system prototyping. The collaboration on the controller also illustrates the three companies’ ongoing strategic relationship which aims to improve the development of embedded devices. CEAThe utility of a hard real-time system becomes zero in the event of a missed deadline. A variety of offerings for real-time applications. The cRIO-9012 controller real-time from NI incorporates technology from Freescale and Wind River. |














Free Magazine Subscription
Printer-friendly version
Email to a Friend



