Real Time Scheduling Issues in Powertrain Controls James B. Kolhoff Engineering Group Manager Front Wheel Drive Controller Team General Motors Powertrain James B. Kolhoff james.kolhoff@gm.com © 2000 General Motors Corporation 01OC2000 Slide 1 Overview of Presentation GMPT Electronics Integration & SW - Group & Product Scheduling Requirements and Problem Solution Distributed architecture Next step James B. Kolhoff james.kolhoff@gm.com © 2000 General Motors Corporation 01OC2000 Slide 2 Group and Product Background Group GMPT is a division of General Motors, responsible for engine, transmission, powertrain controls engineering and manufacture Electronics Integration & Software (EI&S) is a product engineering team responsible for the electronics and software for powertrain controls Product EI&S end product is an embedded microprocessor control module(s) that controls and diagnoses engine, transmission, and vehicle functions. Multiple end products (ECM, TCM, PCM) with different feature content (internal GM and external customers) Multiple controller and compiler suppliers Other vehicle module interfaces Development and production tool interfaces Controller: 32bit uc, 1Mb ROM, 150+ pins James B. Kolhoff james.kolhoff@gm.com © 2000 General Motors Corporation 01OC2000 Slide 3 Scheduling requirements Two categories of task - time synchronous, engine event synchronous Time: 3.125ms, 6.25, 12.5, 25, 100 ms Engine: crankshaft synchronous, cam synchronous The engine event tasks cause the processing power to be consumed in direct proportion to engine speed Engine event synchronous tasks have harder deadlines and higher priorities than time based tasks 8 cylinder engine engine, event sw task execution time 1ms 600 rpm: 25ms event rate, 4% available processor thruput 7000 rpm: 2.1ms event rate, 48% available processor thruput James B. Kolhoff james.kolhoff@gm.com © 2000 General Motors Corporation 01OC2000 Slide 4 Task scheduling ISRs ENGINE POSITION TASK PERIODIC TASK 1 PERIODIC TASK 2 BACKGROUND OS & HWIO OVERHEAD GMPT CODE PRE-EMPTION TIME EVENT James B. Kolhoff james.kolhoff@gm.com © 2000 General Motors Corporation 01OC2000 Slide 5 Scheduling Problems Most critical scheduling problem was task deadlines missed at higher engine speeds Basic root cause: Limited processing power ROM limited so we can’t do ROM tradeoffs for thruput Fixed point math operations Library not optimized for performance Requirement of ANSI-C for code portability Using low cost microprocessor Low clock speed for EMC performance Too late in program to make processor change Not designed for performance SW Design and Coding Standards Designed for reuse and readability, not performance James B. Kolhoff james.kolhoff@gm.com © 2000 General Motors Corporation 01OC2000 Slide 6 Solutions applied Re-design software for improved efficiency Optimize libraries to take advantage of processor specifics Significant work effort, reduces reuse, increases verification requirements Revise coding standards to maximize efficiency Significant work effort, potential loss of function, repeat verification At the expense of portability and reuse Rework and revalidation across large number of engineers Biggest bang for the buck - dynamic scheduling Can localize redesign at areas of maximum benefit Time tasks slower than 25ms rates are insignificant to the problem James B. Kolhoff james.kolhoff@gm.com © 2000 General Motors Corporation 01OC2000 Slide 7 Dynamic scheduling Objective: Reduce execution requirements at higher engine speeds Developed engine speed zones approach Different function level in each zone Simplifies coordination of scheduling change In middle engine speed range, divide function across multiple engine events Difficult to individually disable or redesign functions Balance load across multiple cylinder events At highest engine speeds, significantly simplify some functions Engine states don’t change every cylinder James B. Kolhoff james.kolhoff@gm.com © 2000 General Motors Corporation 01OC2000 Slide 8 Effect of Dynamic Scheduling Engineering Processor Utilization 110.00 100.00 90.00 Utilization 80.00 70.00 60.00 50.00 40.00 30.00 20.00 10.00 0.00 0 1000 2000 3000 4000 5000 6000 7000 8000 Engine Speed (RPM) James B. Kolhoff james.kolhoff@gm.com © 2000 General Motors Corporation 01OC2000 Slide 9 Controller System Topologies Powertrain Control Module Engine/Transmission Control Modules Engine Electrical System Vehicle Electrical System ECM PCM Transmission Electrical System Engine Electrical System Vehicle Electrical System TCM Transmission Electrical System Legend Electrical System Control Module Electrical Interface James B. Kolhoff james.kolhoff@gm.com © 2000 General Motors Corporation 01OC2000 Slide 10 Distributed architecture Controller systems architecture for GMPT is changing to separate engine controller / transmission controller For reasons of powertrain portfolio management This architecture reduces the computing power needed in any single controller Scheduling and thruput still needed to be carefully managed System partitioning plays a key role Inter-module Communications uses some of the freed up thruput James B. Kolhoff james.kolhoff@gm.com © 2000 General Motors Corporation 01OC2000 Slide 11 Future Microprocessor power has grown dramatically over the past 5 years At the same time, costs have fallen dramatically for this power With the microprocessors available for the projects planned, thruput will not be the significant problem it has been in the past Simulation and schedule/thruput budgets are the next steps James B. Kolhoff james.kolhoff@gm.com © 2000 General Motors Corporation 01OC2000 Slide 12