290 likes | 372 Vues
This project aims to design a driver for fuel injection in engines with tight time constraints, focusing on direct injection engines with 2 to 4 cylinders. The system includes sensors for fuel temperature and pressure, requiring precise timing and fuel quantity control. Implementation constraints ensure integer computations and use of basic math instructions. The design involves behavioral modeling, decomposition, and system architecture, with a focus on detecting engine phases and managing injection angles. The project includes a detailed design flow using Esterel and C compilers for simulation and testing. Performance targets include low errors in RPM, stroke angle, and clock frequency.
E N D
HW/SW codesign of a multiple-injections driver for engine control systems Alessandra Nardi Fan Mo Mentor : Alberto Ferrari
OUTLINE • Problem definition • Driver specifications • Behavioral model • Functional simulation results
PROBLEM DEFINITION - I • HW/SW Driver for fuel injection • Direct injection engine • 2 to 4 cylinders • One injector for every cylinder • independent • max 5 strokes for engine cycle • Tight time constraints
INTAKE COMPRESSION EXPANSION EXHAUSTED 570° 320° CRANKSHAFT ANGLE 120° 440° PROBLEM DEFINITION - I Massimo Baleani, Alberto Ferrari
PROBLEM DEFINITION - II 180 540 Engine phase Engine angle Compression Intake Exhaust Explosion 0 360
PROBLEM DEFINITION - III • Fuel sub-system • sensor for fuel temperature (FT) • sensor for fuel pressure (FP) • Engine angle • fly-wheel (FW) - every 6 • phase-wheel (PW)
DRIVER INPUT/OUTPUT INPUTS • FW, PW, FT, FP • Stroke fuel quantities (Q1,…,Q5) • Stroke opening angles (T1,…,T5) • every TDC Exhaust PARAMETERS: Stroke angle ranges : (_o_k, _c_k) Minimum closure time : Tcmin
DRIVER INPUT/OUTPUT OUTPUTS • Engine angle position (ALPHA90) - every 90 • Engine speed (SRPM90) - every 90 • DC events • Injector signal J • Fuel injected in the last cycle: F1, F2, F3, F4, F5
DRIVER SPECIFICATIONS - I • Max 5 strokes for each cycle of each cylinder • k-th Injection Stroke (ISk) only in (_o_k, _c_k) • Guarantee : IS1 < IS2 < IS3 < IS4 < IS5 • Overlapped strokes: • injector closed for a minimum amount of time Tcmin
DRIVER SPECIFICATIONS - II Tk (_o_k, _c_k) ? • IF Tk < _o_k THEN _o_k = _o_k • IF Tk > _o_k THEN ISk not scheduled • IF Tk (_o_k, _c_k) THEN _o_k = Tk
DRIVER SPECIFICATIONS - III • In case of overlapped strokes: IS1 IS2 IS2 IS1 Minimum Closure Time
IMPLEMENTATION CONSTRAINTS • Injection open angle resolution : +/- 0.2 • Injected fuel quantity precision : 0.1mg • if not cut • All computation must be integer • Only basic mathematical instructions (no sqrt) • Use IC/OC to implement timed functionality
IMPLEMENTATION CONSTRAINTS Injection open angle resolution : +/- 0.2 • Constant speed model = ·t • Constant acceleration model = 0 ·t + 1/2 · a ·t2 • Error : = 1/2 · a ·( / 0 )2 • Example: = 6 0 = 1,000 rpm a = 10,000 rpm/s = 0.03
IMPLEMENTATION CONSTRAINTS • Injected fuel quantity resolution : +/- 0.1mg V = Q / D = 0.1mg/(0.76mg/mm3) = 0.131mm3 t = 13.1 s Example: = 0.03 t = / 0 0 = 1,000 rpm t = 5s • Counter Precision 0 = 8,000 rpm t = 125 s Tclock = 0.5s 0 = 500 rpm t = 2 ms # ticks = 4000 # bits = 12
FUNCTIONAL/ARCHITECTURE CODESIGN • Behavioral Model • Behavioral Decomposition #1 • resources • Behavioral Decomposition #2 • resources optimization
ENGINE DETECTION Description of the modules: - FRC - DETECTOR - SAMPLE90
CYL_DRIVER/OPEN_INJECTION_ANGLES Tk (_o_k, _c_k) ? • IF Tk < _o_k THEN _o_k = _o_k • IF Tk > _o_k THEN Isk not scheduled • IF Tk (_o_k, _c_k) THEN _o_k = Tk
DESIGN FLOW ESTEREL COMPILER ESTEREL Description C COMPILER C SIMULATION Platform DESIGN MODULE PART Executable File TESTBENCH PART TESTBENCH Description OUTPUT DATA Record COMPARE
SIMULATION RESULTS: RPM Speed [rpm] Time [s]
SIMULATION RESULTS: INJECT PULSE Injector signal Time [s]
SIMULATION RESULTS: INJECT PULSE Injector signal Angle [°]
PERFORMANCE - RPM: error < 0.3rov/min - STROKE: no functional error, angle error < 0.08 degree - CLOCK FREQUENCY: 1MHz (with reference to Testbench provided by Alberto Ferrari)