html5-img
1 / 44

Trends in Embedded Communication Systems : Traffic Shaping on CAN and introduction of FlexRay

Trends in Embedded Communication Systems : Traffic Shaping on CAN and introduction of FlexRay. Nicolas Navet. ESIEE – 13/06/2008. In-vehicle networking : will CAN be able to keep up the pace?. Typically max. bus load is set to 35% Not enough wrt to short/medium term bandwidth needs …

keahi
Download Presentation

Trends in Embedded Communication Systems : Traffic Shaping on CAN and introduction of FlexRay

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Trends in Embedded Communication Systems : Traffic Shaping on CAN and introduction of FlexRay Nicolas Navet ESIEE – 13/06/2008

  2. In-vehicle networking : will CAN be able to keep up the pace? • Typically max. bus load is set to 35% • Not enough wrt to short/medium term bandwidth needs … • Solution 1: multiple CAN networks … but gateways induce heavy overhead • Solution 2: switch to FlexRay … expensive for bandwidth alone • Solution 3: optimize the scheduling of CAN frame .. Offsets provide a solution to make CAN predictable at higher network load (≥60%)

  3. PART 1: Scheduling messages with offsets on CAN

  4. Periods 20 ms 15 ms 10 ms Periods 20 ms 15 ms 10 ms 0 0 0 10 5 0 15 5 5 0 10 20 30 40 50 60 70 80 90 100 110 5 2,5 0 5 2,5 0 0 10 20 30 40 50 60 70 80 90 100 110 Scheduling frames with offsets ?! Principle: desynchronize transmissions to avoid load peaks Algorithms to decide offsets are based on arithmetical properties of the periods and size of the frame

  5. Frame response time Higher prio. frames frame CAN • Performance metric: worst-case response time System model (1/2) task ECU Frame Transmission request

  6. System model (2/2) • The offset of a message stream is the time at which the transmission request of the first frame is issued • Complexity: best choosing the offsets is exponential in the task periods → approximate solutions • Middleware task imposes a certain granularity • Without ECU synchronisation, offsets are local to ECUs

  7. Frame response time task Frame Transmission request Higher prio. frames frame CAN But task scheduling has to be adapted… ECU • In addition, avoiding consecutive frame constructions on an ECU allows to reduce latency

  8. Simple offsets Algorithm (1/3) • Ideas: • assign offsets in the order of the transmission frequencies • release of the first frame is as far as possible from adjacent frames • identify “least loaded interval” • Ex:f1=(T1=10), f2=(T2=20), f3(T3=20) f1,2 f1,1 f2,1 f3,1

  9. Offsets Algorithm applied on a typical body network 65 ms 21 ms

  10. Offsets Algorithm (3/3) • Low complexity andefficient as is but further improvements possible: • add frame(s) / ECU(s) to an existing design • user defined criteria : optimize last 10 frames, a specific frame, • take into account priorities • optimization algorithms: tabu search, hill climbing, genetic algorithms • …

  11. Efficiency of offsets : some insight (1/2) Work = time to transmit the CAN frames sent by the stations • Almost a straight line, suggests that our algorithm is near-optimal

  12. Efficiency of offsets : some insight (2/2) • A larger workload waiting for transmission implies larger response times for the low priority frames ..

  13. Computing worst-case response times with offsets

  14. AUTOSAR COM Frame-packingtask 5ms Computing frame worst-case response time with offsets • Waiting queue: • FIFO • Highest Priority First (HPF - Autosar) • Carmaker specific • Requirements : • handle 100+ frames • very fast execution times • ≠ waiting queue policy at the microcontroller level • limited number of transmission buffers 2 1 CAN Controller 9 6 8 bufferTx CAN Bus

  15. WCRT : State of the art • Scientific literature: • Complexity is exponential • No schedulability analysis with offsets in the distributed non-preemptive case • Offsets in the preemptive case : not suited for > 10-20 tasks • WCRT without offsets: infinite number of Tx buffers and no queue at the microcontroller level • RTaW software: NETCAR-Analyzer

  16. NETCAR-Analyzer : developed at INRIA, then RealTime-at-Work

  17. NETCAR-Analyzer : an overview • Worst-case response times/jitters on CAN with and without offsets for the frames • Proven near-optimal offsets assignment algorithms with user-defined performance criteria: e.g. optimize the worst-case response times for a specific subset of tasks, for instance, the 10 lowest priority frames • Exhibit the situations leading to the worst-case: results can be checked by simulations/testing • Enable dimensioning transmission/reception buffers at the ECU and communication controller level • Handle both FIFO and prioritized waiting queues at the ECU level • Fast multi-core implementation: typically, an exact response time computation requires less than 30 seconds for 100 frames on a dual-core system • Gateway support: forwarding of signals/frames from one network to another, • In use since December 2006 at PSA Peugeot Citroën

  18. Performance evaluation : • Experimental Setup • WCRT of the frames wrt random offsets and lower bound • WCRT reduction ratio for chassis and body networks • Load increase : add new ECUs / add more traffic

  19. k # # d i d h i d N E C U M B F t t e w o r s e s s a g e s a n w r a m e p e r o s / d b B K i 1 5 2 0 7 0 1 2 5 5 0 2 t ¼ o y - s m s - s / h i b C K i 5 1 5 6 0 5 0 0 1 0 1 t ¼ a s s s - s m s - s Experimental Setup • Body and chassis networks With / without load concentration: one ECU generates 30% of the load • Set of frames generated with NETCARBENCH (GPL-licensed – http://www.netcarbench.org)

  20. 65 ms 32 21 17 Offsets in practice : large response time improvements (1/2)

  21. WCRT Reduction Ratio Chassis Networks Body Networks • Results are even better with loaded stations

  22. Offsets allow higher network loads • Typically: WCRT at 60% with offsets  WCRT at 30% without offsets

  23. Partial offset usage 65 ms 42 34 17

  24. ET CAN CAN with offsets TT-CAN + Complexity+ Determinism Conclusions on offsets • Offsets provide an cost-effective short-term solution to postpone multiple CANs and FlexRay • Tradeoff between Event and Time Triggered • Further large improvements are possible by synchronizing the ECUs …

  25. PART 2: Protocol basics and some configuration problems

  26. Protocol basics • MAC de type TDMA MAC F-TDMA • Typically ST segment: 3 ms and DYN: 2ms • Frames: up to 254 bytes, size is fixed in the static segment (BMW:16bytes) • Data rate: between 500kbit/s and 10Mbit/s • 64 ≠ communication schedules max. (but a slot always belongs to the same station)

  27. FlexRay configuration • Extremely complex problem: • Mixed of TT and ET scheduling • Tightly linked with task scheduling • Large number of parameters (>70) • AUTOSAR constraints (OS, COM, etc) • … • Design objectives should be first clearly identified: • Minimum bandwidth to use cheap components (2.5 Mbit/s, 5MBit/s ?) • Enable incremental design ? • Carry-over of ECUs ? • No chance to solve the pb optimally– too many free variables, sub-problems alone are NP-hard

  28. What is needed first : identify the intended use of FlexRay Use of FlexRay at BMW – from [3]

  29. Requirements on FlexRay • Performance requirements:both run-time (response times, jitters, etc.) and End-of-Line/Garage flash update • Incrementality requirements:additional functions or ECUs • Dependability requirements:fail-silence, babbling idiot, deadline failure probability under EMI, … • Platform requirements:platform wide frames (e.g., NM), carry-over of ECUs, able to deal with com. controller + CPU + Autosar stack performances, …

  30. Tasks run either synchronously or asynchronously wrt the communication cycle

  31. Application software : synchronous or asynchronous wrt FlexRay time? • Crucial question - 3 cases: • all applicative modules are synchronized with FlexRay global time • all applicative modules are running asynchronously • combination of synchronized and asynchronous modules • Case 3 is likely since there are modules • that cannot be synchronized (engine controller?) • that might be reused from previous designs • Case 3 requires both Static Cyclic Scheduling(SCS) and Fixed Priority Scheduling (FPS)

  32. Case 1 : synchronous case (1/2) • Best possible results with regard to signal latency and dependability Picture from [1]

  33. Case 1 : synchronous case (2/2) • But strong constraints: • require Static Cyclic Scheduling • impose to re-design existing functions / design according to the bus configuration • task periods constrained by FlexRay/Autosar rules (cycle repetition, e.g. 10, 20, 40, 80ms with a cycle=5ms) • might require to artificially increase the frequency of some tasks→ CPU load • length of the communication cycle is crucial

  34. Signal Release interval Static segment Dynamic segment • Signal freshness constraint imposes a range of slots for transmission and a min. frequency (every x cycles) Typical case with legacy software Case 2 : asynchronous case • Signals produced at variable time points in the round – depends on the scheduling of tasks

  35. FlexRay configuration: sub-problems (1/4) • Network configuration: • Topology • Redundant transmission support (bmw=no) • Data rate (bmw=10Mbit/s) • Bus-guardian : local, star coupler, none (bmw=none) • Contraints :dependability objective, traffic growth forecast, costs, interoperability with other FlexRay networks (same data rate might be a plus), etc ..

  36. FlexRay configuration: sub-problems (2/4) • Communication cycle: • Global size (e.g., bmw=5ms) • Length of the ST segment (e.g., bmw=3ms) • Length of the dynamic segment (e.g., bmw=2ms) • Constraints : task periods, minimal sampling rate (e.g., 2.5ms), efficient use of bandwidth (small cycles  unused slots), carry-over of ECUs, …

  37. FlexRay configuration: sub-problems (3/4) • Configuration of the ST and DYN segments • Number of ST slots • Size of the ST slots (=size of the frame) • Number DYN slots • Contraints : incremental design (how many ST + DYN slots left unused?), efficient bandwidth usage (e.g., one large slot for an ECU or 2 small?), carry-over of ECUs, …

  38. FlexRay configuration: sub-problems (4/4) • Frame packing for the ST and DYN Slots • Allocation of the slots to the ECUs • assign ST slots to ECUs – construct the 64 schedule • assign DYN slots to ECUs – consider slot-multiplexing • Assign a local priority to each frame for the transmission on the DYN slots own by a station • Algorithm support : • point 5.1 to be solved in link with task scheduling • points 5.2 + 6. can be handled jointly

  39. Configuring FlexRay • The good news : • many design choices are imposed by strategic decision • Most configuration sub-problems have been addressed independently (see references) • The bad news : • some non-trivial adaptations/improvements needed to existing work • problem gets more complex if resource optimization is a constraint (≠current BMW network) • optimal solution is out of reach anyway

  40. Questions, feedback? please contact me atNicolas.Navet@loria.fr

  41. References

  42. References – Offsets on CAN [1] M. Grenier, L. Havet, N. Navet, "Pushing the limits of CAN - Scheduling frames with offsets provides a major performance boost", Proc. of the 4th European Congress Embedded Real Time Software (ERTS 2008), Toulouse, France, January 29 - February 1, 2008. [2] C. Braun, L. Havet, N. Navet, "NETCARBENCH: a benchmark for techniques and tools used in the design of automotive communication systems", Proc of the 7th IFAC International Conference on Fieldbuses & Networks in Industrial & Embedded Systems (FeT 2007), Toulouse, France, November 7-9, 2007. [3] M. Grenier, J. Goossens, and N. Navet, “Near-optimal fixed priority preemptive scheduling of offset free systems”. In Proc. of the 14th International Conference on Network and Systems (RTNS’2006), Poitiers, France, May 30-31, 2006. [4] R.I. Davis, A. Burns, R.J. Bril, and J.J. Lukkien, “Controller Area Network (CAN) schedulability analysis: Refuted, revisited and revised”, Real-Time Systems, 35(3):239–272, April 2007. [5] J. Goossens, “Scheduling of offset free systems”, Real-Time Systems, 24(2):239–258, March 2003. [6] K. Tindell and A. Burns, “Guaranteed message latencies for distributed safety-critical hard real-time control networks”, in 1st International CAN Conference Proceedings, Germany, September 1994, 1994.

  43. References – FlexRay (1/2) FLEXRAY– protocol and usage by carmarkers [1] B. Schätz, C. Kühnel, M. Gonschorek, “The FlexRay Protocol”, to appear in the Automotive embedded Handbook, N. Navet, F. Simonot-Lion editors, CRC Press/Taylor and Francis, 2008. [2] Vector Informatik GmbH, interview of Mr. Peteratzinger (BMW), Mr. Steiner (BMW), “Use of XCP on FlexRay at BMW”, published in “Collection of professional articles”, 09/2006. Available at www.vector-worldwide.com/articles [3] A. Schedl, “Goals and Architecture of FlexRay at BMW”, slides presented at the Vector FlexRay Symposium, March 6 2007. [4] J. Broy (Porsche A.G.), K.D. Müller-Glaser, “The impact of time-triggered communication in automotive embedded systems”, IEEE SIES’2007, July 2007. FRAME PACKING [5] R. Saket, N. Navet, "Frame Packing Algorithms for Automotive Applications", Journal of Embedded Computing, vol. 2, n° 1, pp93-102, 2006. DEPENDABILITY [6] B. Gaujal, N. Navet, "Maximizing the Robustness of TDMA Networks with Applications to TTP/C", Real-Time Systems, Kluwer Academic Publishers, vol 31, n°1-3, pp5-31, December 2005.

  44. References – FlexRay (2/2) CONFIGURATION OF THE STATIC SEGMENT [6] S. Ding, N. Murakami, H. Tomiyama, H. Takada, “A GA-based scheduling method for FlexRay systems”, EMSOFT, 2005. [7] A. Hamann, R. Ernst, “TDMA Time Slot and Turn Optimization with Evolutionary Search Techniques”, Proceedings of the Design, Automation and Test in Europe Conference, Volume 1, p312–317, 2005. [8] E. Wandeler, L. Thiele, “Optimal TDMA time slot and cycle length allocation for hard real-time systems”, Proceedings of the 2006 conference on Asia South Pacific design automation. [9] M. Grenier, L. Havet, N. Navet, “Configuring the communication on FlexRay: the case of the static segment”, Proceedings of ERTS’2008. CONFIGURATION OF THE DYNAMIC SEGMENT [10] T. Pop, P. Pop, P. Eles, Z. Peng, A. Andrei, “Timing Analysis of the FlexRay Communication Protocol”, ECRTS 2006. [11] T. Pop, P. Pop, P. Eles, Z. Peng, “Bus Access Optimisation for FlexRay-based Distributed Embedded Systems”, DATE 2007. INTERFERENCE OF SCS TASKS ON FPS TASKS [12] T. Pop, P. Pop, P. Eles, Z. Peng, “Optimization of Hierarchically Scheduled Heterogeneous Embedded Systems”, RTCSA’2005.

More Related