Multicore microcontrollers and software virtualization make the impossible possible for real-time control applications.
Not long agowww.cechina.cn, building a digital control system for a real-time application was relatively simple. You started with whatever real-time operating system (RTOS) you were most enamored with, selected a microcontroller that was 1) supported by that RTOS, and 2) had price, performance, I/O features, and memory that met your application needs. Then, you wrote application software
It’s not that simple, anymore. In a sense控制工程网版权所有, multicore microcontroller technology and software virtualization make the embedded system and motion-control design engineer’s job more complex. In many ways, however, they make the job easier. Getting to the bottom of this paradox requires a basic understanding of RTOS, multicore, and virtualization. Let’s start with basic RTOS technology.
Real time operating systems live and die by handling interrupts. When an interrupt arrivesCONTROL ENGINEERING China版权所有, the RTOS must store data pertaining to the program it has been running, switch to a separate interrupt service routine to deal with the eventCONTROL ENGINEERING China版权所有, then pick up the stored data before resuming the former program.
On time, every time
Wikipedia says that:
“A real-time operating system (RTOS; generally pronounced as “are-toss”) is a multitasking operating system intended for real-time applications. … An RTOS facilitates the creation of a real-time system控制工程网版权所有, but does not guarantee the final result will be real-time; this requires correct development of the software. … An RTOS is valued more for how quickly and/or predictably it can respond to a particular event than for the given amount of work it can perform over time. Key factors in an RTOS are therefore a minimal interrupt latency and a minimal thread switching latency.”
An RTOS makes it possible to program