Model-Based Design for Embedded Systems- P20 pdf

10 334 0
Model-Based Design for Embedded Systems- P20 pdf

Đang tải... (xem toàn văn)

Thông tin tài liệu

Nicolescu/Model-Based Design for Embedded Systems 67842_C006 Finals Page 166 2009-10-1 166 Model-Based Design for Embedded Systems The Lund RBbot is a dual-drive unicycle robot. It is modeled as a third- order system ˙ p x = 1 2 (R 1 ω 1 +R 2 ω 2 ) cos(θ) ˙ p y = 1 2 (R 1 ω 1 +R 2 ω 2 ) sin(θ) ˙ θ = 1 D (R 2 ω 2 −R 1 ω 1 ) (6.1) where the state consists of the x-andy-positions and the heading θ.Inputs to the system are the angular velocities, ω 1 and ω 2 , of the two wheels. The parameters R 1 and R 2 are the radii of the two wheels and D is the distance between the wheels. The top-level TrueTime model diagram is shown in Figure 6.14. The stationary sensor nodes are implemented as Simulink subsystems that internally contain a TrueTime kernel modeling the Tmote Sky mote, and connections to the radio network and the ultrasound communication blocks. In order to reduce the wiring From and To, blocks hidden inside the corre- sponding subsystems are used for the connections. The block handling the dynamic animation is not shown in Figure 6.14. The subsystem for the mobile robots is shown in Figure 6.15. The robot dynamics block contains the motor models and the robot dynamics model. The position of the robots and the status of the stationary sensor nodes (i.e., whether or not they are operational) are shown in a separate animation workspace (see Figure 6.16). The workspace shows one tunnel segment with sensor nodes (out of which some are non-operational) along the walls. Two robots are inside the tunnel together with two obstacles that the robots must avoid. FIGURE 6.14 The TrueTime model diagram. In order to reduce the use of wires From and To, blocks hidden inside the corresponding subsystems are used to connect the stationary sensor nodes to the radio and ultrasound networks. Nicolescu/Model-Based Design for Embedded Systems 67842_C006 Finals Page 167 2009-10-1 TrueTime: Simulation Tool for Performance Analysis 167 (radio2) (ultra1) In1 In2 In3 A/D Interrupts Rcv D/A Snd Schedule P Monitors From radio network A/D Interrupts Rcv D/A Snd Schedule P Monitors AVR Mega16-1 A/D Interrupts Rcv D/A Snd Schedule P Monitors AVR Mega128 A/D Interrupts Rcv D/A Snd Schedule P Monitors AVR Mega16-3 Left Right x 1 x 2 y y Theta Rspeed Ispeed Robot dynamics A/D Interrupts Rcv D/A Snd Schedule P Monitors AVR Mega16-2 To ultrasound network Tmote Sky To radio network I2C Bus (radio1) In4 Out4 In5 Out5 Out1 Out2 Out3 FIGURE 6.15 The Simulink model of the mobile robots. For the sake of clarity, the obstacle- detection sensors have been omitted. These should be connected to AVR Mega16-1. 6.6.6 Evaluation The implemented TrueTime model contains several simplifications. For example, interrupt latencies are not simulated, only context switch over- heads. All execution times are chosen based on experience from the hard- ware implementation. Also, it is important to stress that the simulated code is only a model of the actual code that executes in the sensor nodes and in the robots. However, since C is the programming language used in both cases the translation is, in most cases, quite straightforward. Nicolescu/Model-Based Design for Embedded Systems 67842_C006 Finals Page 168 2009-10-1 168 Model-Based Design for Embedded Systems Stationary sensor node Stationary sensor node (out of operation) Mobile robot Obstacle FIGURE 6.16 Animation workspace. In spite of the above, it is our experience that the TrueTime simulation approach gives results that are close to the real case. The TrueTime approach has also been validated by others. In [7], a TrueTime-based model is com- pared with a hardware-in-the-loop (HIL) model of a distributed CAN-based control system. The TrueTime simulation result matched the HIL results very well. An aspect of the model that is extremely difficult, if not impossible, to val- idate is the wireless communication. Simulation of wireless MANET systems is notoriously difficult (e.g., see [3]). The effects of multipath propagation, fading, and external disturbances are very difficult to model accurately. The approach adopted here is to first start with an idealized exponential decay ratio model and then, when this works properly, gradually add more and more nondeterminism. This can be done either by setting a high probabil- ity that a packet is lost, or by providing a user-defined radio model using Rayleigh fading. The total code size for the model was 3700 lines of C code. Parts of the algorithmic code (e.g., the extended Kalman filter code) were exactly the same as in real robots. The model contained five kernel blocks and one net- work block per robot, one kernel block per sensor node, with six sensors, one wireless network block for the radio traffic, and one ultrasound block model- ing the ultrasound propagation. The simulation rate was slightly faster than real time, executing on an ordinary dual-core MS Windows laptop. 6.7 Example: Network Interface Blocks The last example illustrates how the stand-alone network interface blocks can be used to simulate time-triggered or event-triggered networked control Nicolescu/Model-Based Design for Embedded Systems 67842_C006 Finals Page 169 2009-10-1 TrueTime: Simulation Tool for Performance Analysis 169 loops. In this case, because there are no kernel blocks, no initialization scripts or code functions must be written. The networked control system in this example consists of a plant (an inte- grator), a network, and two nodes: an I/O device (handling AD and DA con- version) and a controller node. At the I/O node, the process is sampled by a ttSendMsg network interface block, which transmits the value to the con- troller node. There, the packet is received by a ttGetMsg network interface block. The control signal is computed and the control is transmitted back to the I/O node by another ttSendMsg block. Finally, the signal is received by a ttGetMsg block at the I/O and is actuated to the process. Two versions of the control loop will be studied. In Figure 6.17, both ttSendMsg blocks are time triggered. The process output is sampled every 0.1 s, and a new control signal is computed with the same interval but with a phase shift of 0.05 s. The resulting control performance and network schedule are shown in Figure 6.18. The process output is kept close to zero FIGURE 6.17 Time-triggered networked control system using stand-alone network interface blocks. The ttSendMsg blocks are driven by periodic pulse generators. Nicolescu/Model-Based Design for Embedded Systems 67842_C006 Finals Page 170 2009-10-1 170 Model-Based Design for Embedded Systems 0246810 0246810 −1 0 1 Process output Time Network schedule FIGURE 6.18 Plant output and network schedule for the time-triggered control system. despite the process noise. The schedule shows that the network load is quite high. In the second version of the control loop, the ttSendMsg blocks are event triggered instead (see Figure 6.19). A sample is generated whenever the magnitude of the process output passes 0.25. The arrival of a measurement sample at the controller node triggers—after a delay—the computation and sending of the control signal back to the I/O node. The resulting control performance and network schedule is shown in Figure 6.20. It can be seen that the process is still stabilized, although much fewer network messages are sent. 6.8 Limitations and Extensions Although TrueTime is quite powerful, it has some limitations. Some of them could be removed by extending TrueTime in different directions. This will be discussed here. 6.8.1 Single-Core Assumption Multicore architectures are increasingly common in embedded systems. The TrueTime kernel, however, is single core. Modifying the kernel to instead support a globally scheduled shared-memory multicore platform with a Nicolescu/Model-Based Design for Embedded Systems 67842_C006 Finals Page 171 2009-10-1 TrueTime: Simulation Tool for Performance Analysis 171 FIGURE 6.19 Event-triggered networked control system using stand-alone network inter- face blocks. The process output is sampled by the ttSendMsg block when the magnitude exceeds a certain threshold. single ready queue is probably relatively straightforward. However, to sup- port a partitioned system with separate ready queues, separate caches, and task migration overheads is significantly more complicated. 6.8.2 Execution Times In TrueTime, it is the user’s responsibility to assign the execution times of the different code segments. This should correspond to the amount of time it should take to execute the code on the particular target machine where it should run. For small microcontrollers, it is possible to perform these assess- ments fairly well. However, for normal-size platforms, it is difficult to get good estimates. The problem can be compared with the problem of perform- ing the WCET analysis. The idea behind the TrueTime approach is that the execution times should be viewed as design parameters. By increasing or decreasing them, Nicolescu/Model-Based Design for Embedded Systems 67842_C006 Finals Page 172 2009-10-1 172 Model-Based Design for Embedded Systems 0 2 4 6 810 0246810 −1 0 1 Process output Time Network schedule FIGURE 6.20 Plant output and network schedule for the event-triggered control system. different processor speeds can be simulated. By adding a random element to them, variations in execution times because of code branches and data- dependent execution time statements can be accounted for. However, in a real system, the execution time of a piece of code can be divided into two parts. The first part is the execution of the different instructions in the code. This is fairly straightforward to estimate. The second part is the time caused by the hardware platform. This includes the time caused by cache misses, pipeline breaks, memory access latencies, etc. This time is more difficult to obtain good estimates for. A possible approach is to have this part of the execution time added to the user-provided times automatically by the ker- nel block based on different parameterized assumptions about the hardware platform. 6.8.3 Single-Thread Execution Since Simulink simulation is performed by a single-thread execution, the multitasking in the kernel block has to be emulated. One consequence of this is that it is the responsibility of the user that the context of each task is saved and restored in the correct way. This is done by passing the context as an argument to the code functions. Another partly related consequence of this is the segmentation that has to be applied to every task. The latter is the main reason why it is not possible to use the production C code in TrueTime sim- ulations. In addition, a code function may not call other code functions, that is, abstractions on the code function level are not supported. Preliminary investigations indicate that it should be possible to map the TrueTime tasks onto Posix threads (i.e., to use multiple threads inside each Nicolescu/Model-Based Design for Embedded Systems 67842_C006 Finals Page 173 2009-10-1 TrueTime: Simulation Tool for Performance Analysis 173 kernel S-function). Using this approach, the problem with the task context and segments would be solved automatically. 6.8.4 Simulation Platform TrueTime is based on Simulink. This is both an advantage and a disadvan- tage. It is good since it makes it easy for existing MATLAB/Simulink users to start using it. However, MATLAB/Simulink is still not widely spread in the computer science community. The threshold for a non-Simulink user to start using TrueTime is therefore fairly high. An advantage with building upon MATLAB is the vast availability of other toolboxes that can be combined with TrueTime. However, it is possible to port TrueTime to other platforms. In [19], a fea- sibility study is presented where the kernel block of TrueTime is ported to Scilab/Scicos (see [33]). Also, in the new European ITEA 2 project EUROSYS- LIB, the TrueTime network blocks are being ported to the Modelica language (see [24]) and the Dymola simulator (see [16]). 6.8.5 Higher-Layer Protocols The network blocks only support link-layer protocols. In most cases this suffices, since most real-time networks are local-area networks without any routing or transport layers. However, if higher-layer protocols are needed, these are not directly supported by TrueTime. The examples contain a TCP transport protocol example and an AODV routing protocol example, but these applications are implemented as application codes. It would be interesting to provide built-in support also for some of the most popular higher-order protocols. It would also be useful to have a plug-and-play facil- ity that would make it easy for the user to add new protocols to the net- work blocks. Currently, this involves modifications of the C++ network block source code. 6.9 Summary This chapter has presented TrueTime, a freeware extension to Simulink that allows multithreaded real-time kernels and communication networks to be simulated in parallel with the dynamics of the process under control. Having been developed over almost 10 years, TrueTime has several more features than those mentioned in this chapter. For a complete description, please see the latest version of the reference manual (e.g., [26]). In particular, many fea- tures related to real-time scheduling are detailed in [26]. Nicolescu/Model-Based Design for Embedded Systems 67842_C006 Finals Page 174 2009-10-1 174 Model-Based Design for Embedded Systems References 1. L. Abeni and G. Buttazzo. Integrating multimedia applications in hard real-time systems. In Proceedings of the 19th IEEE Real-Time Systems Sym- posium, Madrid, Spain, 1998. 2. P. Alriksson, J. Nordh, K E. Årzén, A. Bicchi, A. Danesi, R. Schiavi, and L. Pallottino. A component-based approach to localization and collision avoidance for mobile multi-agent systems. In Proceedings of the European Control Conference (ECC), Kos, Greece, 2007. 3. T.R. Andel and A. Yasinac. On the credibility of manet simulations. IEEE Computer, 39(7), 48–54, July 2006. 4. M. Andersson, D. Henriksson, A. Cervin, and K E. Årzén. Simulation of wireless networked control systems. In Proceedings of the 44th IEEE Conference on Decision and Control and European Control Conference ECC 2005, Seville, Spain, December 2005. 5. K E. Årzén, A. Bicchi, G. Dini, S. Hailes, K.H. Johansson, J. Lygeros, and A. Tzes. A component-based approach to the design of networked con- trol systems. In Proceedings of the European Control Conference (ECC),Kos, Greece, 2007. 6. N. Audsley, A. Burns, M. Richardson, and A. Wellings. STRESS—A sim- ulator for hard real-time systems. Software—Practice and Experience, 24(6), 543–564, June 1994. 7. D. Ayavoo, M.J. Pont, and S. Parker. Using simulation to support the design of distributed embedded control systems: A case study. In Pro- ceedings of First U.K. Embedded Forum, Brimingham, U.K., 2004. 8. P. Baldwin, S. Kohli, E.A. Lee, X. Liu, and Y. Zhao. Modeling of sensor nets in Ptolemy II. In IPSN’04: Proceedings of the Third International Sym- posium on Information Processing in Sensor Networks, pp. 359–368. ACM Press, 2004. 9. M. Branicky, V. Liberatore, and S.M. Phillips. Networked control sys- tems co-simulation for co-design. In Proceedings of the American Control Conference, Denver, CL, 2003. 10. A. Casile, G. Buttazzo, G. Lamastra, and G. Lipari. Simulation and trac- ing of hybrid task sets on distributed systems. In Proceedings of the Fifth International Conference on Real-Time Computing Systems and Applications, Hiroshima, Japan, 1998. Nicolescu/Model-Based Design for Embedded Systems 67842_C006 Finals Page 175 2009-10-1 TrueTime: Simulation Tool for Performance Analysis 175 11. A. Cervin, D. Henriksson, B. Lincoln, J. Eker, and K E. Årzén. How does control timing affect performance? IEEE Control Systems Magazine, 23(3), 16–30, June 2003. 12. M.I. Clune, P.J. Mosterman, and C.G. Cassandras. Discrete event and hybrid system simulation with simEvents. In Proceedings of the Eighth International Workshop on Discrete Event Systems, Ann Arbor, MI, 2006. 13. J M. Dricot and P. De Doncker. High-accuracy physical layer model for wireless network simulations in NS-2. In Proceedings of the International Workshop on Wireless Ad-Hoc Networks (IWWAN), Oulu, FL, 2004. 14. A. Dunkels, B. Grönvall, and T. Voigt. Contiki — A lightweight and flex- ible operating system for tiny networked sensors. In Proceedings of the First IEEE Workshop on Embedded Networked Sensors (Emnets-I), Tampa, FL, November 2004. 15. A. Dunkels, O. Schmidt, T. Voigt, and M. Ali. Protothreads: Simplifying event-driven programming of memory-constrained embedded systems. In Proceedings of the Fourth ACM Conference on Embedded Networked Sensor Systems (SenSys 2006), Boulder, CL, November 2006. 16. Dymola. Homepage: http://www.dynasim.se. Visited 2008-09-30. 17. J. Eker and A. Cervin. A Matlab toolbox for real-time and control systems co-design. In Proceedings of the Sixth International Conference on Real-Time Computing Systems and Applications, Hong Kong, P.R. China, December 1999. Best student paper award. 18. J. El-Khoury and M. Törngren. Towards a toolset for architectural design of distributed real-time control systems. In Proceedings of the 22nd IEEE Real-Time Systems Symposium, London, U.K., December 2001. 19. D. Kusnadi. TrueTime in Scicos. Master’s thesis ISRN LUTFD2/TFRT– 5799–SE, Department of Automatic Control, Lund University, Sweden, June 2007. 20. P. Levis, N. Lee, M. Welsh, and D. Culler. TOSSIM: Accurate and scalable simulation of entire TinyOS applications. In Proceedings of the First Inter- national Conference on Embedded Networked Sensor Systems, pp. 126–137, Los Angeles, CA, 2003. 21. C.L. Liu and J.W. Layland. Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal of the ACM, 20(1), 40–61, 1973. 22. P.S. Magnusson. Simulation of parallel hardware. In Proceedings of the International Workshop on Modeling Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS), San Diego, CA, 1993. . translation is, in most cases, quite straightforward. Nicolescu /Model-Based Design for Embedded Systems 67842_C006 Finals Page 168 2009-10-1 168 Model-Based Design for Embedded Systems Stationary sensor. Nicolescu /Model-Based Design for Embedded Systems 67842_C006 Finals Page 166 2009-10-1 166 Model-Based Design for Embedded Systems The Lund RBbot is a dual-drive. driven by periodic pulse generators. Nicolescu /Model-Based Design for Embedded Systems 67842_C006 Finals Page 170 2009-10-1 170 Model-Based Design for Embedded Systems 0246810 0246810 −1 0 1 Process

Ngày đăng: 03/07/2014, 17:20

Từ khóa liên quan

Mục lục

  • Contents

  • Preface

  • Introduction

  • Contributors

  • Part I: Real-Time and Performance Analysis in Heterogeneous Embedded Systems

    • Chapter 1. Performance Prediction of Distributed Platforms

    • Chapter 2. SystemC-Based Performance Analysis of Embedded Systems

    • Chapter 3. Formal Performance Analysis for Real-Time Heterogeneous Embedded Systems

    • Chapter 4. Model-Based Framework for Schedulability Analysis Using UPPAAL 4.1

    • Chapter 5. Modeling and Analysis Framework for Embedded Systems

    • Chapter 6. TrueTime: Simulation Tool for Performance Analysis of Real-Time Embedded Systems

    • Part II: Design Tools and Methodology for Multiprocessor System-on-Chip

      • Chapter 7. MPSoC Platform Mapping Tools for Data-Dominated Applications

      • Chapter 8. Retargetable, Embedded Software Design Methodology for Multiprocessor-Embedded Systems

      • Chapter 9. Programmig Models for MPSoC

      • Chapter 10. Platform-Based Design and Frameworks: Meteropolis and Metro II

      • Chapter 11. Reconfigurable Multicore Architectures for Streaming Applications

      • Chapter 12. FPGA Platforms for Embedded Systems

      • Part III: Design Tools and Methodology for Multidomain Embedded Systems

        • Chapter 13. Modeling, Verification, and Testing Using Timed and Hybrid Automata

        • Chapter 14. Semantics of Domain-Specific Modeling Languages

        • Chapter 15. Multi-Viewpoint State Machines for Rich Component Models

        • Chapter 16. Generic Methodology for the Design of Continuous/Discrete Co-Simulation Tools

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan