An introduction to: The uRT51 Microprocessor and Real-Time Programming Suite. firstname.lastname@example.org
Real-Time Systems: an overview. Real-Time Systems are used in many applications areas (not just critical ones but those where timely behaviour is either required or convenient). Real-Time Operating Systems (RTOS) are applied in order to get a desired performance of the real-time system.
email@example.com How traditional real-time systems are implemented. A set of tasks are defined and parameterised as real- time tasks. A RTOS’s task, call “the scheduler”, is invoked at regular intervals (the scheduler is usually implemented as an ISR of a timer interrupt). The timer interval defines slot time units. The scheduler chooses a task according to a priority discipline and grants it the processor.
firstname.lastname@example.org Defining a Real-Time System. Timing tasks’ parameters (period, deadline) should be expressed in slot time units. The slot time defines the precision we can express the tasks’ parameters: – Example: if slot time = 4ms then a period equal to 14.576 ms should be expressed as either 12ms or 16ms. BOTH OPTIONS MAY INTRODUCE BEHAVIOUR PROBLEMS ON THE APPLICATION.
email@example.com Implementing a Traditional Real- Time System. We have to choose an adequate time interval – IT IS NOT SO EASY AND PERFORMANCE, AS WELL AS POWER CONSUPTION, MAY DEPEND ON IT (SCHEDULING OVERHEAD vs. TIME PRECISION). We must express time parameters of the tasks in slot units. – IT MAY FORCE US TO MODIFY THE TASK CODE (Example: IF THE SLOT TIME IS EQUAL TO 4ms AND THE TASK CALCULATES SOME VELOCITY, IT IS NOT THE SAME A PERIOD EQUAL TO 12ms OR EQUAL TO 16ms.
firstname.lastname@example.org Programming a Traditional Real- Time System. We should program the system timer. We should program the OS primitives in order to initialise each one of the real-time tasks. – A DEEP KNOWLEDGE OF THE PLATFORM SHOULD BE ADQUIERED. We must choose simply scheduling disciplines in order to reduce overhead (performance) and complexity (robustness).
email@example.com Verifying a Traditional Real-Time System. Some debugging strategies should be implemented in order to analysed the real-time behaviour of the system. – THESE STRATEGIES MAY PRODUCE INDESIRABLE EFFECTS ON THE SYSTEM.
firstname.lastname@example.org Current solutions (what to do when system doesn’t work): When application constraints are not met, the following options are evaluated: – To increase the microprocessor frequency. Temporal constraints can be satisfied but power-consumption as well as cost are also increased. – To implement power-saving algorithms: these algorithms may introduce some perturbations on the other tasks of the systems and requires some power to be executed. – To implement a low complexity scheduler. The real-time performance of the system is affected. – To program the whole application as a monolithic program. Maintenance of the system is complex and expensive. TRADITIONAL REAL-TIME SYSTEMS DO NOT GIVE GOOD SOLUTIONS FOR EMBEDDED APPLICATIONS
email@example.com Facing the facts. With all these complexities, how many multitasking real-time systems have you ever implemented? (please, be honest!!) If you have implemented at least one then – How much time did you waste programming the real-time features of the tasks and how much on the tasks itself? Else – Would not you like to implement a real-time system in a few key strokes? End If
firstname.lastname@example.org Overcoming troubles. uRT51: a new concept in Real-Time Systems.
email@example.com uRT51 main features. uRT51 is a Real-Time microprocessor designed for Real-Time applications. It can implement a great deal of scheduling disciplines. It includes a built-in debugging. It supports up to 65000 tasks. uRT51 performance with a 10Mhz clock is higher than performance achieved by a RTOS with a 100Mhz clock.
firstname.lastname@example.org uRT51: implementation. It was entirely described in VHDL. It can be implemented either on FPGAs or ASICs.
email@example.com uRT51: an overview. Instruction subset compatible with 8051 microprocessor. With a 10MHz clock, time parameters can be expressed with a 100ns precision (one clock period). If no real-time task is required to be executed, then the power consumption is almost zero (no power reduction strategy is needed).
firstname.lastname@example.org uRT51: The architecture The uRT51 architecture contains: – A 8051 microprocessor core (further uP versions will considered other microprocessor cores). – A real-time unit that carries out all the real-time functions. – A debugging and analysis unit that connects to uRT51 Real-Time Programming Suite.
email@example.com uRT51: Applications The uRT51’s flexibility improves a wide range of applications where Real-Time is applied. uRT51 is suitable for low-power, control embedded applications.
firstname.lastname@example.org uRT51 Real-Time Suite uRT51 Real-Time Suite brings you all the power to program and analyse the uRT51 microprocessor.
Suite: the task progr. Environment Task Code Just functionality, no real-time programming Real-Time properties configuration Add as many tasks as you need Would you like to change the Scheduling Mechanism? email@example.com
Suite: the scheduling Choose your scheduling discipline Additional disciplines can be included under request firstname.lastname@example.org
Suite: independent preemption You can select preemptive or non-preemptive behaviour for each task email@example.com Do not worry for time units of your design
Suite: let’s compile firstname.lastname@example.org Compile your application with just one click Detail messages allow you an easy debug
Suite: connecting to the uRT51 Open the Control Console to connect to the uRT51 email@example.com You can see the state of the connection with the the uRT51 Microprocessor
Suite: Control Console functions Connect to the uRT51 firstname.lastname@example.org Download your application Trace your application Reset the uRT51 Record Runtime Data for Real-Time analysis
Suite: CPU Registers Viewer email@example.com Watch the CPU registers during Runtime.
Suite: Runtime Code Viewer firstname.lastname@example.org Trace the execution of your code.
Suite: Variable Viewer email@example.com Follow the value of each one of your variables Store the values for further analysis.
Suite: Scheduling Viewer firstname.lastname@example.org Analyse the way your tasks are executed. Runtime execution time is trustily shown.
email@example.com Conclusion uRT51 is a flexible Real-Time microprocessor. uRT51 Real-Time Suite allows you to program and analyse real-time applications in a few minutes. Because uRT51 is described in VHDL, it can be used in System-On-Chip architectures.
firstname.lastname@example.org Conclusion Very precisely timing can be achieved (100ns of precision with system clock of 10MHz instead of some ms of system timer tick). No power consumption algorithm required (power consumption almost zero when no task is executed). Any arbitrary priority discipline can be implemented (it may be included in the Programming Suite under request).
email@example.com Conclusion uRT51 microprocessor is suitable for low- power embedded real-time control applications.
firstname.lastname@example.org Thanks Thanks for your attention. Any further information, please contact to: email@example.com