You are on page 1of 1103

P_363 F80 JTD30 Y281 S01 363-V80 -1-

DS/ESM

Softwaredocumentation EDC16
P_363 F80 JTD30
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

DS/ESM

This document contains confidential information. Disclosure is prohibited without the written consent of ROBERT BOSCH GMBH.

19.3.2002 intro_cover.fm
-2- Y281 S01 363-V80 P_363 F80 JTD30
DS/ESM

Table of contents
Chapter 1 General ....................................................................................................... 10
1.1 Foreword......................................................................................................................... 10
1.2 Overview ......................................................................................................................... 10
1.3 Structure of the documentation ................................................................................... 10
1.4 Standard application label naming .............................................................................. 11
1.5 Abbreviations used........................................................................................................ 15
1.6 Symbols used................................................................................................................. 24
1.6.1 Commentary to the figures...................................................................................... 24
1.6.1.1 Block diagrams (flowcharts) ................................................................................................. 25
1.6.1.2 Function figures (data flow charts) ...................................................................................... 25
1.6.1.3 State diagrams ....................................................................................................................... 26
1.7 Description of the software switches .......................................................................... 27
1.7.1 General ...................................................................................................................... 27
1.7.2 Structure of a software switch ................................................................................ 27

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
1.7.3 Switch types ............................................................................................................. 27
1.7.4 Switch tables ............................................................................................................ 28
1.8 Revision report............................................................................................................... 29
1.8.1 Changes P277.V40 compared to P277.V31 ............................................................ 29
1.8.2 Changes P277.V50 compared to P277.V40 ............................................................ 29
1.8.3 Changes P277.V60 compared to P277.V50 ............................................................ 29
1.8.4 Changes P363.V70 compared to P277.V60 ............................................................ 29
1.8.5 Changes P363.V80 compared to P363.V70 ............................................................ 30

Chapter 2 Dataflow-oriented functional description .............................................. 31


2.1 Basic principle of vehicle control in EDC16................................................................ 31
2.1.1 Vehicle propulsion ................................................................................................... 31
2.1.2 Accessories .............................................................................................................. 32
2.1.3 Power management ................................................................................................. 32
2.1.4 Drive train.................................................................................................................. 32
2.1.5 Engine control .......................................................................................................... 32
2.2 Lead path ........................................................................................................................ 32
2.3 Torque interval determination ...................................................................................... 33
2.4 engine-speed interface.................................................................................................. 33
2.5 Limitations...................................................................................................................... 34
2.5.1 Torque path limitations............................................................................................ 34
2.5.2 Application of the limitations .................................................................................. 34
2.5.2.1 General.................................................................................................................................... 34
2.5.3 Limitations due to system errors............................................................................ 34
2.5.4 Application of limitations due to system errors.................................................... 35
2.6 Functional overview of setpoint default ...................................................................... 35
Chapter 3 Complete vehicle (Veh) ............................................................................. 36
3.1 Coordinator vehicle (CoVeh) ........................................................................................ 37
Vehicle accessory management (CoVeh_AcsMng)................................................................. 38
Drive train order (CoVeh_DrvTrnOrd)...................................................................................... 40
3.2 Vehicle motion (VehMot) ............................................................................................... 42
Coordination of vehicle motion accessories (VehMot_AcsMotCord) ...................................... 43
3.2.1 Vehicle motion coordinator (CoVM) ....................................................................... 44
Demand coordination (CoVM_DemCord) ................................................................................ 45
Propulsion stabilization (CoVM_StabDem).............................................................................. 48
Propulsion stabilization check (CoVM_DemCheck)................................................................. 50
3.2.2 Propulsion and brake (PrpBrk) ............................................................................... 54
Longitudinal motion coordination (PrpBrk_xMoveCord) .......................................................... 55
3.2.2.1 Propulsion (Prp)..................................................................................................................... 56
Demand selection (Prp_DemSel) ............................................................................................ 57
Virtual accelerator pedal position (Prp_VirtAPP) ..................................................................... 59
3.2.2.1.1 Accelerator pedal (AccPed) .................................................................................................. 62
Accelerator pedal check (AccPed_APCheck).......................................................................... 63
Driver command determination (AccPed_DrvDem)................................................................. 66
3.2.2.1.2 Cruise control (CrCtl) ............................................................................................................ 72
Mode machine for cruise control (CrCtl_Mode) ....................................................................... 73
State machine for cruise control (CrCtl_State) ....................................................................... 74
Shut-off conditions of cruise control (CrCtl_ShutOff) ............................................................... 81
Device detection for cruise control (CrCCD_DevDet).............................................................. 86
Recording the control unit of cruise control (CrCCD_KeyDet) ................................................ 88
Cruise control lamp control (CrCtl_Lmp).................................................................................. 93

edcbasbookTOC.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 -3-
DS/ESM

3.2.2.1.3 Adaptive cruise control (ACC).............................................................................................. 95


ACC torque demand (ACC_Dem) ........................................................................................... 95
Aquisition of the control device of adaptive cruise control (ACCCD_co) ................................. 96
Device detection for adaptive cruise control (ACCCD_DevDet).............................................. 98
3.2.3 Propulsion control (PrpCtl) ................................................................................... 100
Maximum vehicle speed limitation (PrpCtl_MaxSpdLim)....................................................... 101
3.2.4 Steering (Strg) ........................................................................................................ 105
3.2.4.1 Power steering pump (SrvPmp) ......................................................................................... 106
Determining the power steering pump power requirement (SrvPmp_DetSrvPmpPwr) ......... 107
3.3 Drive train (DrvTrn) ...................................................................................................... 108
Drive train ratio calculation (DrvTrn_CalcRTransDT) ............................................................ 109
3.3.1 Drive train coordinator (CoDT).............................................................................. 110
Drive train coordination (CoDT_DrvTrnCord) ........................................................................ 111
Grip detection in the drive train (CoDT_CheckGrip) .............................................................. 114
Drive torque calculation (CoDT_PrpTrqCurrCalc) ................................................................. 116
Provision of torque interval (CoDT_PrpTrqRngCalc)............................................................. 117
3.3.2 Torque converter (Conv) ....................................................................................... 120
3.3.3 Gearbox (Gearbx) ................................................................................................... 121
Gear detection (Gearbx_Geardet) ......................................................................................... 122
Gearbox limitations (Gearbx_TrqLim).................................................................................... 126
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Gearbox torque loss (Gearbx_TrqFrc)................................................................................... 127


Gearbox intervention to torque (Gearbx_TrqIntv).................................................................. 128
Gearbox intervention monitoring (Gearbx_intvPlausChk) ..................................................... 132
Gearbox information (Gearbx_Data) ..................................................................................... 135
Starter release (Gearbx_StrtMotRls) ..................................................................................... 136
Determination of the P/N position (GearCD_PN) ................................................................. 137
3.4 Body and interior (BdInt)............................................................................................. 139
Determination of BdInt component requests (BdInt_UpdateReq) ......................................... 140
3.4.1 Air conditioning (AC) ............................................................................................. 141
Air conditioning power demand (AC_PwrDem) ..................................................................... 142
3.4.1.1 AC compressor control (ACCtl) ......................................................................................... 144
AC compressor control (ACCtl_logic) .................................................................................... 144
3.4.1.1.1 Air-conditioner compressor compensation (ACTrqC) ..................................................... 148
A/C compressor precontrol and torque correction (ACTrqC_ACTrqCorr) ............................. 149
3.4.1.2 Interface to A/C compressor (ACCD)................................................................................. 151
Air conditioning learning function (ACCD_swtIn)................................................................... 152
Coordinator A/C compressor pressure (ACCD_PresCo)....................................................... 154
Air conditioning compressor control (ACCD_Cmpr) .............................................................. 155
AC compressor pressure (ACCD_Press) .............................................................................. 157
3.5 Electrical supply system (ESS) .................................................................................. 161
Idle-speed increase at low battery (ESS_GetNMin) .............................................................. 162
Electrical supply system demand (ESS_UpdateDem)........................................................... 164
3.5.1 Ignition lock (IgnLck_Co) ...................................................................................... 165
3.5.2 Terminal 50 (T50CD_Co)........................................................................................ 166
3.5.3 Immobilizer (ImmCtl).............................................................................................. 167
3.5.4 Battery (Batt)........................................................................................................... 171
Battery voltage correction (Batt_CorFac) .............................................................................. 172
3.5.5 Alternator (Alt) ........................................................................................................ 173
Determination of alternator power requirement (Alt_DetAltPwr)............................................ 174
3.6 Vehicle data (VehDa) ................................................................................................... 175
Mark demands (VehDa_MarkDem) ....................................................................................... 176
Determination of the engine-ON operating time (VehDa_tiEngOnCalc)................................ 178
Determination of distance covered (VehDa_lSumCalc) ........................................................ 179
Vehicle speed to engine speed ratio (VehDa_rVnCalc) ........................................................ 180

Chapter 4 Engine (Eng) ............................................................................................ 181


Engine temperature (Eng_tEngCalc)..................................................................................... 182
Engine speed (Eng_Spd)....................................................................................................... 184
Engine curve (Eng_TrqSpdCrv)............................................................................................. 185
4.1 Coordinator engine (CoEng) ....................................................................................... 186
Engine state (CoEng_stEngCalc) .......................................................................................... 188
Afterrun control (CoEng_AftRun)........................................................................................... 190
After-run delay by external events (CoEng_AftRunExtWait) ................................................. 193
Shut-off control in after-run (CoEng_ShOff) .......................................................................... 194
Shut-off coordinator (CoEng_Mon)........................................................................................ 197
Customer-specific shut-off requests to the shut-off coordinator (CoEng_MonAddReq)........ 202
Engine torque calculation (CoEng_TrqCalc) ......................................................................... 203
Limiting torque (CoEng_trqLim)............................................................................................. 209
Rise limitation (CoEng_TrqSlpLimCalc) ................................................................................ 212
Power Stage Coordinator (CoEng_PwrStgStateCalc)........................................................... 213
Actuator protection control (CoEng_ActrPrt) ......................................................................... 214
Calculation of fuel consumption (CoEng_FlConsum) ............................................................ 216
Engine test coordinator (CoEng_TstCo)................................................................................ 217
Overrun coordinator (CoEng_OvrRunCoord) ........................................................................ 218
Minimum limiting torque (CoEng_stTrqLimCalc) ................................................................... 219
4.2 Low-idle governor (LIGov) .......................................................................................... 222
Low-idle governer setpoint speed calculation (LIGov_CalcSetPoint) .................................... 223
Low-idle governor state calculation (LIGov_CalcState)......................................................... 226
Low-idle governor parameter set selection (LIGov_SelectParameter) .................................. 229
Low-idle governor (LIGov_Governor) .................................................................................... 232

19.3.2002 edcbasbookTOC.fm
-4- Y281 S01 363-V80 P_363 F80 JTD30
DS/ESM

4.3 Smooth-running control (FBC) ................................................................................... 236


Provision of engine speed for smooth-running control (FBC_WheelLrn)............................... 237
Smooth-running control (FBC_equal) .................................................................................... 239
4.4 Active surge damper ................................................................................................... 243
4.4.1 Active surge damper, reference filter (ASDrf) ..................................................... 243
ASD reference filter parameter set selection (ASDrf_SelectParameter) ............................... 246
Active surge damper, reference filter (ASDrf_Governor) ....................................................... 249
4.4.2 Active surge damper, disturbance compensator (ASDdc)................................. 253
Parameter set selection, ASD disturbance compensator (ASDdc_SelectParameter) ........... 254
Active surge damper, disturbance compensator (ASDdc_Governor) .................................... 258
4.5 Injection control (InjCtl)............................................................................................... 260
Quantity coordination (InjCtl_qCo)......................................................................................... 261
Limitation quantity (InjCtl_qLim)............................................................................................. 263
4.5.1 Torque/quantity conversion (FMTC)..................................................................... 265
Determination of current conversion curve (FMTC_GenCur) ................................................ 266
Determination correction factor (FMTC_CalcCorr) ................................................................ 268
Quantity to torque conversion (FMTC_q2trq) ........................................................................ 269
Torque to quantity conversion (FMTC_trq2q) ........................................................................ 270
Conversion limiting quantity into torque (FMTC_q2trqLimSmk) ............................................ 272
Conversion fuel quantity limitation into torque (FMTC_q2trqLimFl) ....................................... 273

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
4.5.2 Fuel management (FlMng)..................................................................................... 274
Smoke limitation quantity (FlMng_InjMassLim) ..................................................................... 275
4.5.3 Injection characteristic (InjCrv)............................................................................. 278
Injection co-ordinator (InjCrv_Co) .......................................................................................... 280
Calculating the minimum time between 2 injections (InjCrv_SetTiPse)................................. 285
Minimum injection quantity (InjCrv_QntMinLib) ..................................................................... 287
Control quantities (InjCrv_CtlQnt) .......................................................................................... 288
4.5.3.1 Pilot injection 1 (InjCrv_PiI) ................................................................................................ 290
Basic value of angular component for the start of energising pilot injection 1
(InjCrv_PiI1SOEPhiBas) ........................................................................................................ 296
Basic value of start of energising time component for pilot injection 1 (InjCrv_PiI1SOETiBas)...
297
Calculating the correction values for pilot injection 1 (InjCrv_PiIEnvCor) .............................. 298
Basic correction value for the PiI1 start of energising angular component (InjCrv_PiIEnvCorPhi)
300
Basic correction value for PiI1 start of energising time component (InjCrv_PiIEnvCorTi) ..... 301
Calculating the weighting factors for pilot injection 1 (InjCrv_PiIEnvCorSlow) ...................... 302
Calculating customer specific corrections for pilot injection 1 (InjCrv_PiIAddCor)................. 304
Customer related basic correction value for PiI start of energising angular component
(InjCrv_PiIAddCorPhi)............................................................................................................ 305
Customer related basic correction value of PiI start of energising time component
(InjCrv_PiIAddCorTi).............................................................................................................. 306
Regeneration values for pilot injection 1 (InjCrv_PiI1Rgn) .................................................... 307
Function library for the PiI1 regeneration operation (InjCrv_PiIRgnLib) ................................ 308
4.5.3.2 Pilot injection 2 (InjCrv_PiI2) ......................................................................................... 310
Basic value of angular component for the start of energising pilot injection 2
(InjCrv_PiI2SOEPhiBas) ........................................................................................................ 315
Basic value of start of energising time component for pilot injection 2 (InjCrv_PiI2SOETiBas)...
316
Pilot injection 2 correction value (20ms) (InjCrv_PiI2EnvCor) ............................................... 317
Basic correction value for the PiI2 start of energising angular component
(InjCrv_PiI2EnvCorPhi).......................................................................................................... 319
Basic correction value for PiI2 start of energising time component (InjCrv_PiI2EnvCorTi) ... 320
Pilot injection 2 correction value (100ms) (InjCrv_PiI2EnvCorSlow) ..................................... 321
Customer related corrections for pilot injection 2 (InjCrv_PiI2AddCor).................................. 323
Regeneration values for pilot injection 2 (InjCrv_PiI2Rgn) .................................................... 325
Function library for the PiI2 regeneration operation (InjCrv_PiI2RgnLib) .............................. 326
4.5.3.3 Pilot injection 3 (InjCrv_PiI3) .............................................................................................. 328
Correction values for post injection 3 (InjCrv_PiI3EnvCor).................................................... 332
Weighting factors for pilot injection 3 (InjCrv_PiI3EnvCorSlow) ............................................ 334
Customer related corrections for pilot injection 3 (InjCrv_PiI3AddCor).................................. 336
Regeneration values for pilot injection 3 (InjCrv_PiI3Rgn) .................................................... 337
Function library for the PiI3 regeneration operation (InjCrv_PiI3RgnLib) .............................. 338
4.5.3.4 Main injection (InjCrv_MI) ................................................................................................... 340
Calculation of customer specific corrections for the main injection (InjCrv_MIAddCor)......... 344
Calculating the main injection correction value (InjCrv_MIEnvCor) ....................................... 345
Calculating the weighting factors for the main injection (InjCrv_MIEnvCorSlow) .................. 347
Regeneration values for the main injection (InjCrv_MIRgn) .................................................. 348
Correction value for the main injection in the regeneration operation (InjCrv_MIEnvCorRgn) ....
350
Calculating the weighting factors for the main injection in the regeneration operation
(InjCrv_MIEnvCorSlowRgn)................................................................................................... 351
Function library for the MI regeneration operation (InjCrv_MIRgnLib) ................................... 352
4.5.3.5 Post injection 1 (InjCrv_PoI1) ............................................................................................. 353
Post injection 1 release (InjCrv_PoI1Rls) .............................................................................. 357
Customer related corrections for post injection 1 (InjCrv_PoI1AddCor) ................................ 358
Correction values for post injection 1 (InjCrv_PoI1EnvCor)................................................... 359
Weighting factors for post injection 1 (InjCrv_PoI1EnvCorSlow) ........................................... 361
4.5.3.6 Post injection 2 (InjCrv_PoI2) ............................................................................................. 363
Post injection 2 release (InjCrv_PoI2Rls) .............................................................................. 370
Switching the PoI2 start of energizing to an angle absolute to the TDC (InjCrv_PoI2AgAbsTDC)

edcbasbookTOC.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 -5-
DS/ESM

371
Basic value for the PoI2 start of energising angular component (InjCrv_PoI2SOEPhiBas) .. 372
Basic value for the PoI2 start of energising time component (InjCrv_PoI2SOETiBas).......... 373
Customer related corrections for post injection 2 (InjCrv_PoI2AddCor) ................................ 374
Correction values for post injection 2 (InjCrv_PoI2EnvCor) .................................................. 375
Basic correction value for the PoI2 start of energising angular component
(InjCrv_PoI2EnvCorPhi) ........................................................................................................ 377
Basic correction value for PoI2 start of energising time component (InjCrv_PoI2EnvCorTi). 378
Weighting factors for post injection 2 (InjCrv_PoI2EnvCorSlow)........................................... 379
Weighting factors for PoI2 in the regeneration operation (InjCrv_PoI2EnvCorSlowRgn)...... 381
Regeneration values for post injection 2 (InjCrv_PoI2Rgn)................................................... 383
Function library for the PoI2 regeneration operation (InjCrv_PoI2RgnLib)............................ 385
4.6 Air system (AirSys)...................................................................................................... 387
Actuator test coordinator air system (AirSys_coTstDem) ...................................................... 388
4.6.1 Exhaust gas recirculation control (AirCtl) ........................................................... 389
Exhaust gas recirculation setpoint formation (AirCtl_DesValCalc) ........................................ 391
Adaptive exhaust gas recirculation governor (AirCtl_Governor)............................................ 396
Exhaust gas recirculation - monitoring and shut-off (AirCtl_Monitor) ................................... 401
EGR/TVA control value for DPF regeneration (AirCtl_RgnCtlValCalc) ................................. 408
4.6.2 Pressure charging regulation (PCR) .................................................................... 411
Boost pressure setpoint value formation (PCR_DesValCalc)................................................ 412
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Boost pressure control (PCR_CtlValCalc) ............................................................................. 417


Pressure charging regulator (PCR_Governor) ...................................................................... 420
Boost pressure control - monitoring and shut-off (PCR_Monitor).......................................... 426
Transient operation recognition (PCR_TransRecg)............................................................... 431
4.6.3 Intake duct (IndSys) ............................................................................................... 432
Swirl control (IndSys_CalcSwirl)............................................................................................ 433
Induction system air temperature (IndSys_tAir)..................................................................... 434
4.6.4 Exhaust-gas system (EGSys)................................................................................ 435
Exhaust gas treatment (CatSys)............................................................................................ 436
Pressure calculation in the exhaust pipe (EGPp_PresCalc).................................................. 437
4.6.4.1 Exhaust gas treatment (EGT) ............................................................................................. 438
Regeneration coordinator for exhaust-gas treatment (EGT_CoRgn) .................................... 439
Exhaust gas treatment regeneration co-ordinator (time synchronous part) (EGT_CoRgnTSync)
440
Oxidation catalyst heating control (OxiCat_HtgActv)............................................................. 442
Exhaust gas temperature before oxidation catalyst (OxiCCD_GetTempPre)........................ 443
4.6.4.2 Particle filter (PFlt)............................................................................................................... 444
Calculation of exhaust gas volume flow and Lambda (PFlt_ExhGsPpty).............................. 445
Calculation of soot mass (PFlt_MassCalc) ............................................................................ 448
Particle filter statistic model (PFlt_StatMod) .......................................................................... 452
Particle filter regeneration coordinator (PFlt_CoRgn)............................................................ 457
Calculation of operating state for particle filter (PFlt_EngPOpCalc) ...................................... 464
Particle filter heating control (PFlt_HtgActv) .......................................................................... 474
Particle filter sensor adaptation (PFlt_SensAdapt) ................................................................ 475
Particle filter monitoring function (PFlt_Monitor).................................................................... 477
Particle filter heating (PFltCD_Htg)........................................................................................ 494
Exhaust-gas temperature ahead of particle filter (PFltCD_GettPre)...................................... 495
Differential pressure of the particle filter (PFltCD_GetPDiff).................................................. 496
4.7 Starting system (StSys)............................................................................................... 497
Starting cut-out (StSys_Strt) .................................................................................................. 498
Starting base torque (StSys_StrtBas).................................................................................... 500
Starting ramp (StSys_StrtRmp) ............................................................................................. 502
Switch-on and switch-off of the starter (StSys_StrtCtl).......................................................... 505
4.8 Engine mechanics (EngM) .......................................................................................... 506
Recording the engine mechanics engine position (EngM_Ang) ............................................ 507
Engine mechanics diagnosis of the angle system (EngM_AngDiag) .................................... 520
Segment time (EngM_tiSegCalc) .......................................................................................... 528
Friction torque calculation (EngM_TrqFrcCalc) ..................................................................... 529
4.8.1 Engine mechanics protection (EngPrt) ................................................................ 531
Engine mechanics protection (EngPrt_PrtLimMech) ............................................................. 532
Engine mechanics protection (EngPrt_PrtLimOverheat) ....................................................... 535
Engine protection (overspeed detection) (EngPrt_Max)........................................................ 537
Misfire detection (CmbChb_Misfire) ...................................................................................... 539
4.8.2 Cooling (Clg)........................................................................................................... 544
Dynamic plausibility of the coolant temperature (Clg_DynTst) .............................................. 545
4.8.3 Fan control (FanCtl) ............................................................................................... 547
Fan control (FanCtl_Co) ........................................................................................................ 548
Fan control: Two-stage fans (FanCtl_Dig)............................................................................. 550
Fan control: PWM fan (FanCtl_PWM) ................................................................................... 553
Fan control: Single-stage fans (FanCtl_SingDig) .................................................................. 557
4.8.4 Crankshaft (CrS)..................................................................................................... 559
Engine speed evaluation after test injection (CrS_ChkStrtSpd) ............................................ 560
4.9 Glow system (GlwSys) ................................................................................................ 563
4.9.1 Glow control (GlwCtl)............................................................................................. 564
Glow time control logic (GlwCtl_Logic) .................................................................................. 565
Glow relay control (GlwCtl_Rly)............................................................................................. 569
4.9.1.1 Glow system interface (GlwCD) ......................................................................................... 573

19.3.2002 edcbasbookTOC.fm
-6- Y281 S01 363-V80 P_363 F80 JTD30
DS/ESM

4.10 Fuel system (FlSys) ..................................................................................................... 574


Fuel system temperature (FlSys_Temp)................................................................................ 575
Fuel filter heating control (FlSys_FltHtg)............................................................................... 577
Refuel detection (FlSys_DetRefuel)....................................................................................... 578
Deflation of the low pressure stage (FlSys_Deflate) .............................................................. 585
4.10.1 Electric presupply pump (PSP)............................................................................. 586
Logic of the electric pre-supply pump (PSP_Logic) ............................................................... 587
Control of the electric pre-supply pump (PSPCD_ActrOut) ................................................... 588
4.10.2 Additive metering (AddPmp_AddMet).................................................................. 589
4.10.3 Fuel filter water level display (FlFCD_WtLvl)...................................................... 591

Chapter 5 Injection system (InjUn) .......................................................................... 593


Injection system (InjUn_Co)................................................................................................... 594
General test status of injection system (InjUn_Tst) ............................................................... 595
Injection system scheduling (InjUn_Sched) ........................................................................... 596
PiI1 dynamic quantity corrections (InjUn_PiI1DynQntCor) .................................................... 597
PiI2 dynamic quantity corrections (InjUn_PiI2DynQntCor) .................................................... 599
PiI3 dynamic quantity corrections (InjUn_PiI3DynQntCor) .................................................... 601
MI1 dynamic quantity corrections (InjUn_MI1DynQntCor)..................................................... 603
PoI1 dynamic quantity corrections (InjUn_PoI1DynQntCor) .................................................. 605
PoI2 dynamic quantity corrections (InjUn_PoI2DynQntCor) .................................................. 606

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Activation of solenoid valve output stage during shut-off path test (InjUn_ShutOffTst) ......... 608
5.1 HPUn (HPUn) ................................................................................................................ 609
High pressure unit (HPUn_Co) .............................................................................................. 610
Injection shut-off based on fuel quantity balance (HPUn_QntBalInjLim) .............................. 612
5.2 Rail (Rail) ...................................................................................................................... 613
Configuration of the rail component (Rail_PGovSetup) ......................................................... 615
Rail pressure setpoint (Rail_SetPoint) ................................................................................... 616
Corrections for rail pressure setpoint (Rail_SetPointEnvCor)................................................ 620
Weighting factors for rail pressure setpoint corrections (Rail_SetPointEnvCorSlow) ............ 621
Project based corrections for rail pressure setpoint (Rail_SetPointAddCor) ......................... 622
External specification for rail pressure setpoint (Rail_SetSubst) ........................................... 624
Regeneration value for rail pressure setpoint (Rail_Rgn) ...................................................... 625
Function library for rail pressure setpoint regeneration operation (Rail_RgnLib)................... 626
Precontrol for high pressure governing by pressure control valve (Rail_PreCtlPCV) ............ 627
Precontrol for high pressure governing by metering unit (Rail_PreCtlMeUn) ........................ 629
High pressure governing (Rail_CtlLoop)................................................................................ 631
Limits for pressure governing using the pressure control valve (Rail_CtlLoopLimPCV)........ 639
Parameters for pressure governing using the pressure control valve (Rail_CtlLoopParaPCV)...
640
Limits for pressure governing using the metering unit (Rail_CtlLoopLimMeUn) .................... 642
Parameters for pressure governing using the metering unit (Rail_CtlLoopParaMeUn)......... 643
Switchover conditions for the 2-governor concept (Rail_CtlTypeSwt) ................................... 645
Rail pressure monitoring by pressure control valve during pressure control (Rail_MonPCV)648
Rail pressure monitoring by metering unit during pressure control (Rail_MonMeUn) ........... 655
Zero quantity calibration interfaces in rail pressure setpoint formation (Rail_ZFCLib) .......... 662
Interfaces for zero quantity calibration in rail component with PCV (Rail_ZFCLibPCV) ........ 663
Interfaces for zero quantity calibration in rail component with MeUn (Rail_ZFCLibMeUn).... 664
5.2.1 Pressure control valve (PCV) ................................................................................ 665
Calculating the electrical setpoint current for the pressure control valve (PCV_SetCurr)...... 666
Leakage in the pressure control valve (PCV_Leak)............................................................... 667
Pressure control valve diagnostic test (PCV_ShOffTst) ........................................................ 668
5.2.2 Metering unit........................................................................................................... 669
Calculating the electrical setpoint current for the metering unit (MeUn_SetCurr) .................. 669
5.2.2.1 Metering unit component driver (MeUnCD_Co)................................................................ 671
5.3 Injector (InjVlv) ............................................................................................................. 676
Co-ordinating the cylinder balancing/zero quantity calibration corrections (InjVlv_AddBalZFC) .
677
Diagnosis for energising solenoid valve injectors (InjVlv_Mon) ............................................. 678
Shut-off request due to minimum rail pressure (InjVlv_PresMin)........................................... 686
Correction of cylinder balancing injection quantity (InjVlv_AddBal) ...................................... 687
Injection shut-off based on the load balance (InjVlv_ChrgBalInjLim)..................................... 689
Injector quantity adjustment (InjVlv_QntAdj).......................................................................... 690
Detecting injector errors (InjVlv_ErrDet) ................................................................................ 693
Wave correction (InjVlv_WvCor)........................................................................................... 695
Wave correction function library (InjVlv_WvCorLib).............................................................. 696
5.3.1 Injection valve (InjVCD) ......................................................................................... 699
Estimating the energizing time (InjVCD_EstET) .................................................................... 700
Energising time (InjVCD_GetET) ........................................................................................... 701
Calculating the injector energising time according to cylinder (InjVCD_CalcETLib) .............. 702
Correction of the injector energising (InjVCD_CalcETLibAddCor)......................................... 705
Injector energising (InjVCD_ProgETLib)................................................................................ 706
Programming the pilot injection 1 start of energizing (InjVCD_ProgPiI) ................................ 707
Programming the pilot injection 2 start of energising (InjVCD_ProgPiI2) .............................. 708
Programming the pilot injection 3 start of energising (InjVCD_ProgPiI3) .............................. 709
Programming the main injection start of energizing (InjVCD_ProgMI) .................................. 710
Calculating the pickup current duration (InjVCD_PickUpCurrDur)......................................... 711
Energizing time correction by zero quantity calibration (InjVCD_ZFCETCor) ...................... 712

Chapter 6 Signal input/output (IO) .......................................................................... 713


6.1 Standard digital output................................................................................................ 713
Standard digital output signals (DioOutCD_Signals) ............................................................. 715
6.1.1 Error lamp component driver (ErLpCD) ............................................................... 716

edcbasbookTOC.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 -7-
DS/ESM

6.1.2 Temperature warning lamp component driver (TtLpCD_TempLamp_Co)........ 719


Temperature warning lamp logic (TtLpCD_TempLamp_Logic)............................................. 721
6.1.3 Interface of the electric presupply pump (PSPCD_Co) ...................................... 723
6.1.4 Main relay (MRlyCD_Co)........................................................................................ 724
6.1.5 Glow relay actuator (GlwCD_Actr)........................................................................ 727
6.1.6 Glow indicator (GlwCD_Lamp).............................................................................. 729
6.1.7 Fan control component driver (FanCD_Co)......................................................... 731
6.1.8 Fuel filter heating output stage control (FlFCD_HtgOut) .................................. 733
6.1.9 Cruise control lamp output stage control (CrCCD_LmpOut)............................ 734
6.1.10 Additive metering output (AddPCD_actrout)....................................................... 735
6.1.11 Oil pressure lamp component driver (OPSCD) ................................................... 737
6.2 Standard digital input .................................................................................................. 740
Standard digital input signals (DioInCD_Signals) .................................................................. 741
6.2.1 Brake signal (BrkCD_Co)....................................................................................... 742
6.2.2 Clutch signal acquisition (ConvCD_Co) .............................................................. 745
6.2.3 Terminal 15 (T15CD_Co)........................................................................................ 748
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

6.2.4 Air conditioning main switch (ACCD_MNSwt) .................................................... 749


6.2.5 Glow control input (GlwCD_DigIn) ....................................................................... 751
6.2.6 AC compressor pressure digital (ACCD_PresDig) ............................................. 752
6.2.7 Fuel level signal componentdriver (FlSCD_FlLvlT1) .......................................... 754
6.2.8 Level switch of additive tank (AddPCD_GetLvlSwt) ........................................... 755
6.3 Analogue signal evaluation ........................................................................................ 756
6.3.1 Dual-analogue accelerator pedal value evaluation (APPCD_Co) ...................... 759
6.3.2 Atmospheric pressure (APSCD_Co) .................................................................... 769
6.3.3 Analog A/C compressor pressure (ACCD_PresAna).......................................... 772
6.3.4 Boost pressure sensor (BPSCD_Co) ................................................................... 773
6.3.5 Hot film air mass sensor (AFSCD)........................................................................ 776
6.3.6 Induction air temperature HFM (AFSCD_Co)....................................................... 787
6.3.7 Coolant temperature (CTSCD) .............................................................................. 788
6.3.8 Oil temperature (OTSCD)....................................................................................... 791
6.3.9 Intake air temperature (IATSCD) ........................................................................... 794
6.3.10 Environmental temperature (EATSCD_Co).......................................................... 795
6.3.11 Intake manifold air temperature (IMTSCD)........................................................... 796
6.3.12 Battery voltage acquisition (BattCD_Co) ............................................................. 798
6.3.13 Fuel temperature (FTSCD)..................................................................................... 799
6.3.14 Rail pressure component driver (RailCD_Co) ..................................................... 801
Rail pressure sensor offset monitoring (RailCD_OffsTst)...................................................... 804
6.4 Standard PWM input signals (PwmInCD_Signals) ................................................... 807
6.4.1 Vehicle speed (VSSCD_Co)................................................................................... 808
6.4.2 Evaluating the crankshaft position (CrSCD_Pos) ............................................... 811
Dynamic threshold tracking (CrSCD)..................................................................................... 820
Crankshaft speed recording (CrSCD_Spd) .......................................................................... 822
6.4.3 Camshaft (CaS)....................................................................................................... 825
Phase determination (CaSCD_Pos) ...................................................................................... 826
Camshaft speed measurement component driver (CaSCD_Spd)......................................... 832
6.4.4 Component driver A/C compressor pressure (ACCD_PresPwm) ..................... 835
6.5 Standard PWM output ................................................................................................. 836
Standard PWM power stages output signals (PwmOutCD_Signals)..................................... 838
6.5.1 Variable swirl actuator (VSACD_Co) .................................................................... 839
6.5.2 Coordinator for throttle valve (ThrVlv_Co) .......................................................... 841
6.5.3 Throttle valve actuator (TVACD_Co) .................................................................... 842
6.5.4 Boost-pressure actuator (BPACD_Co)................................................................. 844
6.5.5 Exhaust-gas recirculation actuator (EGRCD_Co) ............................................... 846
6.5.6 PCVCD (PCVCD)..................................................................................................... 848
6.5.7 Pressure control valve component driver (PCVCD_Co).................................... 849
6.5.8 Coolant temperature output (CTSCD) .................................................................. 854

Chapter 7 Monitoring at system level (ECU_Mon)................................................. 856


7.1 Monitoring level 1 ........................................................................................................ 857
7.1.1 Engine protection (Oversepeed detection) (EngPrt_Max).................................. 857
7.1.2 Misfire detection (CmbChb_Misfire)..................................................................... 857
7.1.3 Combustion detection (EngMon_IrrCmb) ............................................................ 858
7.1.4 Monitoring of supply voltage (SSpMon_Co)........................................................ 859
7.2 Monitoring level 2 ........................................................................................................ 861

19.3.2002 edcbasbookTOC.fm
-8- Y281 S01 363-V80 P_363 F80 JTD30
DS/ESM

7.2.1 Overrun monitoring (OvRMon) ............................................................................. 861


Overrun monitoring co-ordinator (OvRMon_Co).................................................................... 862
Calculating the torque for function monitoring (OvRMon_GetSumInj) ................................... 867
Engine speed monitoring for overrun monitoring (OvRMon_EngSpdSens) .......................... 868
Counters for time co-ordination of overrun monitoring (OvRMon_10MSCtr)......................... 871
Driver input signal detection (OvRMon_AccPed)................................................................... 872
Brake signal detection (OvRMon_BrkSens) .......................................................................... 874
Clutch signal detection (OvRMon_ConvSens)....................................................................... 875
Terminal 15 signal detection (OvRMon_T15Sens) ................................................................ 876
Electronic stability programme signal detection (OvRMon_DCSDem) .................................. 877
Gearbox control signal detection (OvRMon_GearbxDem) .................................................... 878
7.2.2 Stack pointer monitoring (SPMon) ....................................................................... 879
7.2.3 Monitoring of the program runtime (RTMMon).................................................... 880
7.3 Monitoring level 3 ........................................................................................................ 881
7.3.1 Test redundant shut-off paths (SOPTst) .............................................................. 881
7.3.2 Communication monitoring module (WDCom) ................................................... 884
7.3.3 Program flow control (ExeMon) ............................................................................ 886
7.3.4 Order test (Chiste).................................................................................................. 887
7.3.5 Cyclical memory test (MemMon) .......................................................................... 888

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
7.3.6 ADC monitoring (ADCMon) ................................................................................... 890
7.3.7 TPU monitoring (TPUMon) .................................................................................... 892
7.4 Miscellaneous .............................................................................................................. 893
7.4.1 Monitoring of the hardware capsule (HWEMon) ................................................. 893
7.4.2 Start of programming while the driving software is running (ECU) .................. 895

Chapter 8 DSM application parameters and their function................................... 896


8.1 Project-specific DSM options ..................................................................................... 916
8.2 DSM_ConfComLibInterface and their functions (DSM_ConfComLibInterface) ..... 919
8.3 Kilometer reading - Operating hours counter ........................................................... 923
8.4 Diagnostic scheduler (DSCHED) ................................................................................ 926
Appendix A Generated tables ..................................................................................... 934
A.1 Tables for error handling (DSM) (DSM_auto) ............................................................ 934
A.1.1 List of all application labels of error handling..................................................... 953
A.2 Table for signal handling (= message number EDC15) (Signals_auto) .................. 960
A.3 Table for actuator test handling (Signals_Tst_auto) ............................................... 963
A.4 Table with assignment of the recovery numbers (Recovery Coordinator) ............ 964
A.5 Provision of applicatable signals and their conversion........................................... 966
A.6 Handling of actuator test demands by the diagnosis .............................................. 968
A.7 Error Paths ................................................................................................................... 970
Appendix B Network management (NetMng) ............................................................ 982
B.1 Frame Manager (Function) (FrmMng) ........................................................................ 988
Send messages (FrmMng_Send) .......................................................................................... 990
Receive messages from brake (FrmMng_RecBrk).............................................................. 1005
Receive messages from adaptive cruise control (FrmMng_RecNac) ................................. 1012
Receive messages from brake assistant (FrmMng_RecNBA)............................................. 1018
Receive messages from body computer (FrmMng_RecNBC) ............................................. 1020
Receive messages from gearbox (FrmMng_RecTsc) ......................................................... 1022
B.2 Communication Manager (ComMng) ....................................................................... 1028
Appendix C EDC16/7 Service library ........................................................................ 1030
C.1 Control engineering elements .................................................................................. 1030
C.1.1 Basic concepts ..................................................................................................... 1030
C.1.1.1 Sampling time .................................................................................................................... 1030
C.1.1.2 Normalizing exponent ....................................................................................................... 1030
C.1.1.3 Approximation of the exponential function..................................................................... 1030
C.1.1.4 Terms and symbols used in control engineering ........................................................... 1030
C.1.2 Implementation..................................................................................................... 1030
C.1.2.1 Proportional element (P) ................................................................................................... 1030
C.1.2.2 Integral element (I) ............................................................................................................. 1031
C.1.2.3 Proportional and integral element (PI) ............................................................................. 1032
C.1.2.4 Proportional element with 1st-order time delay (PT1).................................................... 1033
C.1.2.5 Differential element with 1st-order time delay (DT1) ...................................................... 1033
C.1.2.6 Differential element with 1st-order time delay and slope-dependent window (DT1Win) ....
1034
C.1.2.7 Proportional and differential element with 1st-order time delay (PDT1) ...................... 1034
C.1.2.8 Proportional and differential element with 1st-order time delay and slope-dependent win-
dow (PDT1Win)................................................................................................................... 1035

edcbasbookTOC.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 -9-
DS/ESM

C.2 Miscellaneous functions ........................................................................................... 1036


C.2.1 Implementation..................................................................................................... 1036
C.2.1.1 Ramp................................................................................................................................... 1036
C.2.1.2 Ramp with directional logic (RampDir)............................................................................ 1036
C.2.1.3 Ramp with switch (RampSwitch) ..................................................................................... 1036
C.2.1.4 Hysteresis........................................................................................................................... 1036
C.2.1.5 Debounce ........................................................................................................................... 1036
C.2.1.6 Error processing of measured values (TransStage) ...................................................... 1037

Appendix D ASCET-bypass interface V1.0 .............................................................. 1038


D.1 ASCET-bypass interface characteristics via ETK-coupling .................................. 1038
D.2 System prerequisites................................................................................................. 1038
D.3 Selection of measured variables and stimuli variables in ASCET ........................ 1038
D.4 Configuration of the bypass interventions.............................................................. 1038
D.5 Setting the addresses for ASCET version 3 (only necessary for ETK bypass) ... 1038
D.6 Generating the vector tables in the application system ........................................ 1039
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

D.7 Start of bypass operation.......................................................................................... 1039


D.8 Stop of bypass operation.......................................................................................... 1039
D.9 Communication monitoring of the ASCET interface .............................................. 1039
D.10 Types of bypass intervention ................................................................................... 1040
D.11 List of intervention points......................................................................................... 1040
Appendix E Reference lists....................................................................................... 1043
E.1 List of figures ............................................................................................................. 1043
E.2 List of tables............................................................................................................... 1056
E.3 List of equations ........................................................................................................ 1061
E.4 List of function names............................................................................................... 1062
E.5 List of functions ......................................................................................................... 1067
E.6 List of application relevant data ............................................................................... 1070
Appendix F Calculation of torque/quantity setpoint .............................................. 1102
Appendix G Quantity energizing time structure...................................................... 1103

19.3.2002 edcbasbookTOC.fm
- 10 - Intro_General Y281 S01 363-V80 P_363 F80 JTD30
docu-Intro General DS/ESM

1 General
(Inrt o_Gen arl)

General information This document contains confidential information. Disclosure is prohibited without the written consent of
ROBERT BOSCH GMBH.

1.1 Foreword This documentation describes the application software for the control unit generation EDC16. The basic
structure of the documentation is explained in the following chapter. The structure of the individual parts of
the documentation is based on the definitions by the MSR workgroup MEDOC.
If you have questions regarding the content, please contact the customer advisory service of the application
and sales department.

1.2 Overview The core structure of this documentation follows the system architecture of the CARTRONIC®.
• Chapter 1 contains explanations for a better understanding of the documentation.
• Chapter 2 is an introductory outline of the basic functions in a data-flow-oriented representation.
• Chapter 3 describes the functions of the EDC16 which are relevant for vehicle control.
• Chapter 4 describes the functions of the EDC16 which are relevant for engine control.
• Chapter 5 describes the functions of the EDC16 which are relevant for control of the injection system. The
chapter can vary depending on the implemented injection system.
• Chapter 6 describes functions which serve for monitoring the overall system EDC16.
• Chapter 7 is a detailed description of the error memory.
• Chapter 8 describes the basic characteristics of signal input/output, separately for the different physical

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
types. The basic functions included in this chapter communicate with the hardware components via the
software layer of the hardware encapsulation. The description of all evaluation and control functions on
the physical layer can be found in the respective sections of chapters 3-5.
• All implemented basic function modules (library) as well as reference lists of the tables, functions, labels,
etc. are described in the appendix.

1.3 Structure of the documentation The function descriptions in chapters 3 - 5 have a uniform structure. The hierarchical substructure represents
the system architecture. For each component of the architecture (eg. DrvTrn), there is an overview chapter
which is embedded in the document hierarchy. In this overview the further structure of the component and
the basic tasks in the overall system are explained. Finally, there is a list of all functions implemented in the
component, together with a hyperlink to the corresponding function documentation.
There is a fixed structure within each function documentation. A short description is followed by a detailed
description of the function in normal operation as well as subfunctions which are used for monitoring the
function or the system. Then eventual substitute functions are described which are carried out in case of an
error and for ECU initialization. The documentation is concluded by a list of all function inputs and outputs as
well as all measuring points and application parameters.
The main emphasis of documentation is to make functionality externally visible. The description especially
contains the interaction between sensor signals, software and actuator signals.
Data dictionary The data required for application constitutes the core of the functional description; the data is listed and
specified in the data dictionary. Hyperlinks can be used at the respective place in the document to link to the
corresponding passage in the data dictionary.
Figure 1 : Documentation and data dictionary

S W - d o c u m e n ta tio n

d a ta - d ic tio n a r y fu n c tio n
d e s c r ip tio n

Documentation cross-referencing The functional description is hierarchically structured, i.e. subfunctions can be called up via hyperlink.
Hyperlinks are shown in blue on the monitor screen.
Using the data library. (The data dictionary is not In addition to the application data, the SW function input and output data (= interfaces), the internal function
yet incorporated in this edition.) values (= measured values, previously OLDA) and the conversion equations are compiled in the data
dictionary. The data dictionary lists all the important application data in addition to name and functional
description. The entries in the data dictionary can be called up from the functional description using
hyperlinks.
Figure 2 : Use of hyperlinks

d a ta - d ic tio n a r y

E D C - fu n c tio n s

fu n c tio n a p p lic a tio n


d e s c r ip tio n h in ts
h y p e r lin k s in to
d a ta - d ic tio n a r y

intro_general.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Intro_Naming - 11 -
DS/ESM Standard application label naming docu-Intro

1.4 Standard application label naming


C(InArtRo_TNOaminICg-S)turcture:docuIn-tro

The label names are structured as described in the figure; the abbreviations defined in the following tables
are used.
Figure 3 : Designation of variables and data

< c o m p o n e n t> _ < ty p e > < id e n tifie r > _ < e x p a n s io n >

e x a m p le :
G e a rb x _ rV n _ m p
e x te n s io n : m p = m e a s u r in g p o in t
id e n tifie r : V n = v /n
ty p e : r = r a tio
c o m p o n e n t: G e a rb x = G e a rb o x

E n g _ n A v rg
id e n tifie r : A v r g = a v e r a g e
ty p e : n = e n g in e s p e e d
c o m p o n e n t: E n g = e n g in e
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

B a ttC D _ u
ty p e : u = v o lta g e
c o m p o n e n t: B a ttC D = c o m p o n e n t d r iv e r b a tte r y v o lta g e
Eng_nAvrgGearbx_rVn_mpBatCD_u

Defined designation for <component> field


Table 1: Object names (English):
Abbreviation (English) Designation (Engl.) Designation (German)
AC air conditioning Klimatisierung
ACC adaptive cruise control Adaptiver
Fahrgeschwindigkeitsregler
ACCD air conditioning component driver Klimakompressor
Komponententreiber
ACCtl air conditioning compressor control Klimaanlagensteuerung
ACTrqC air condition torque control Klimaanlage Momentenregelung
AccPed accelerator pedal Fahrpedal
ADCMon ADC monitoring ADC Überwachung
AFSCD air flow sensing component driver Luftmassenmesser
Komponententreiber
AirCtl air control Luftregelung
AirSys air system Luftsystem
Alt alternator Generator
AltCD alternator component driver Generator Komponententreiber
APPCD accelerator pedal component driver Fahrpedal Komponententreiber
APSCD atmosphere pressure sensing component Atmosphärendruck
driver Komponententreiber
ASDdc active surge damper disturbance Aktiver Ruckeldämpfer Störregler
compensator
ASDrf active surge damper reference filter Aktiver Ruckeldämpfer
Führungsformer
Batt battery Batterie
BattCD battery component driver Batterie Komponententreiber
BdInt body and interior Karosserie und Innenraum
BPACD boost-pressure actuator component driver Ladedrucksteller
Komponententreiber
BPSCD boost pressure sensing component driver Ladedruckfühler
Komponententreiber
Brk brake Bremse
BrkCD Brake component driver Komponententreiber Bremse
CaPhCD camshaft phase component driver Nockenwellenphase
Komponententreiber
CaS camshaft Nockenwelle
CaSCD camshaft component driver Nockenwelle Komponententreiber
CatSys catalytic system Katalysatorsystem
Clg cooling Kühlung
CmbChb combustion chambers Brennräume
CoDT coordinator drive train Koordinator Antrieb
CoEng coordinator engine Motorkoordinator
Conv converter Wandler
ConvCD converter component driver Komponententreiber Kupplung
CoVeh coordinator vehicle Fahrzeugkoordinator
CoVM coodinator vehicle motion Fahrbewegungskoordinator
CrCCD cruise control component driver Fahrgeschwindigkeitsregler
Komponententreiber
CrCtl cruise control Fahrgeschwindigkeitsregler
CrS crankshaft Kurbelwelle

19.3.2002 intro_naming.fm
- 12 - Intro_Naming Y281 S01 363-V80 P_363 F80 JTD30
docu-Intro Standard application label naming DS/ESM

Abbreviation (English) Designation (Engl.) Designation (German)


CrSCD crankshaft component driver Kurbelwelle Komponententreiber
CTSCD coolant temperature component driver Kühlwassertemperatur_Kom-
ponententreiber
DrvTrn Drive Train Antrieb
DSM diagnostic system management Diagnose System Management
DSMDur DSM duration counters DSM Fehlerdauerzähler
Dspl display Anzeige
EATSCD environment air temperature sensing Komponententreiber Erfassung
component driver Umgebungslufttemperatur
EGRCD exhaust gas recirculation positioner ARF-Steller
component driver Komponententreiber
EGSys exhaust-gas system Abgastrakt
Eng engine Motor
EngM engine mechanics Motormechanik
EngOpt engine optimizer Motoroptimierer
EngProt engine protection Motorschutz
EnvDa environment data Umweltgrößen
ErLpCD error lamp component driver Komponententreiber Fehlerlampe

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
ESS electrical supply system Elektrisches Bordnetz
Fan fan Lüfter
FanCD fan component driver Lüfter Komponententreiber
FanCtl fan control Lüftersteuerung
FBC Fuel Quantity Balancing Control MAR-Mengenausgleichsregelung
FlCD fuel component driver Kraftstoff Komponententreiber
FlMng fuel management Gemischbildung
FlSys fuel system Kraftstoffsystem
Fmet Fuel metering - Zumessung Zumessung
FMTC fuel-mass/torque converter Masse/Momentenwandler
FTSCD fuel temperature sensing component Komponententreiber Erfassung
driver Kraftstofftemperatur
FQSVCD Fuel quantity solenoid valve CD Magnetventil Menge
Komponententreiber
Gearbx gearbox Getriebe
GlwCD glow control component driver Glühsystem Komponententreiber
GlwCtl glow control Glühzeitsteuerung
GlwSys glow system Glühsystem
IATSCD induction air temperature sensing Ansauglufttemperatur
component driver Komponententreiber
ICD CurrentCD Komponententreiber zur
Strommessung am Magnetventil
Ifce interface Schnittstellenobjekt
IgnLck ignition lock Zünschloß
IndSys induction system Ansaugtrakt
InjCtl injection control Einspritzsteuerung
InjCrv injection curve Spritzverlauf
InjTmg injection timing Einspritzverlauf
InjUn injection unit Einspritzsystem
InjVlv injection valve Einspritzventil
InjVCD injection valve component driver Komponententreiber Einspritzventil
Lub lubrication Schmierung
MRlyCD main relay component driver Hauptrelais Komponententreiber
OvRMon overrun monitoring Schubüberwachung
OTSCD oil temperature component driver Öltemperatur Komponententreiber
PCR pressing charger regulator Laderdruckregler
PCV pressure control valve Druckregelventil
PCVCD pressure control valve component driver KomponententreiberDruckregelven
til
Prp propulsion Vortrieb
PrpBrk propulsion and brake Vortrieb und Bremse
PrpCtl propulsion control Vortriebssteuerung
PrsPrt personal protection Insassenschutz
PSP presupply pump Vorförderpumpe
PSPCD presupply pump component driver Vorförderpumpe
Komponententreiber
PSPCtl presupply pump control Steuerung Vorförderpumpe
PStgCD Power Stage CD Komponententreiber Endstufen
Rail rail Rail
RailCD rail component driverl Komponententreiber Rail
StdPWM standard PWM (Parameter) Standard PWM (Parameter)
Sig signals Signale
SigLimLow lower limits for signals Untere Grenzen für Signale
SigLimUp upper limits for signals Obere Grenzen für Signale
SrvPmp servo pump Servopumpe

intro_naming.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Intro_Naming - 13 -
DS/ESM Standard application label naming docu-Intro

Abbreviation (English) Designation (Engl.) Designation (German)


Strg steering Lenkung
StSys starting system Starter
SVCtl solenoid valve control Magnetventilsteuerung
TrDa traffic data Fahrzustandsgrößen
TVACD throttle valve actuator component driver Drosselklappensteller Kom-
ponententreiber
T15CD term 15 component driver Klemme 15 Komponententreiber
UsrDa user data Benutzergrößen
Veh vehicle Fahrzeug
VehDa vehicle data Fahrzeuggrößen
VehMot vehicle motion Fahrzeugbewegung
VSACD variable swirl actuator component driver Drallniveausteller-
Komponententreiber
VSSCD vehicle speed sensing component driver Komponententreiber Erfassung
Fahrgeschwindigkeit
WhlDa wheel data Radgrößen

Defined designation for <Type> field


© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Table 2: Physical values


Type Designation (English) Designation (German) Examples for
unit
p Pressure Druck hPa
(e.g. boost pressure, fuel pressure) (z.B. Lade-, Kraftstoffdruck)
r Ratio, duty cycle Verhältnis, Tastverhältnis %
a Acceleration Beschleunigung m/s2
am Drehimpuls angular momentum Nm s
cp heat capacity Wärmekapazität J/(kg K)
dcyc Duty cycle Tastverhältnis %
dxy Deviation Ableitung dxy/dt x/s
eta Efficiency Wirkungsgrad %
f Frequency Frequenz Hz
i Electric current Elektrischer Strom mA
l Length, distance Länge, Strecke km
m Mass Masse kg
n (Rotational) speed Drehzahl 1/min
(e.g. engine speed, turbo speed) (z.B. Motor-, Turbodrehzahl) 1/s
phi Angle Winkel °
(e.g. begin of injection, begin of delivery) (z.B. Spritzbeginn, Förderbeginn)
pwr Power Leistung W
q Fuel quantity Einspritzmenge mg/Hub,
mg/stroke
res resistance Widerstand Ohm
rho Density Dichte kg/m3
sq Square Fläche m2
t Temperature Temperatur Grd Celsius,
Kelvin
ti Time, duration Zeit, Dauer s, ms
trq Torque Drehmoment Nm
u Voltage Spannung V
v Velocity Geschwindigkeit km/h
(e.g. vehicle speed) (z.b. Fahrzeuggeschwindigkei)t
vol Volume Volumen m3
w Work, energy Arbeit, Energie Joule

Table 3: Logical variables


Type Designation (German) Designation (English) Examples for
unit
ad Adresse Address -
bp Bitposition Bit position -
ct Zähler, laufender Index Counter, running index -
(d) Veraltete Angabe für ein nicht Not specifiable data, if no other -
spezifizierbares Datum, für das kein shorthand expression appropriate
anderes Kürzel zutrifft normalerweise (obsolete) in most cases there is no type
gibt es in diesem Fall gar keine informationen at all
Typangabe
fac Faktor Factor -
num Nummer Number -
st Status Status information -
swt Softwareschalter Software switches -

Defined designation for <identifier> field


Table 4: Name abbreviations
Abbreviation Designation (Engl.) Designation (German)
(English)
ActVal actual Value Istwert

19.3.2002 intro_naming.fm
- 14 - Intro_Naming Y281 S01 363-V80 P_363 F80 JTD30
docu-Intro Standard application label naming DS/ESM

Abbreviation Designation (Engl.) Designation (German)


(English)
Air air Luft
AirMass air mass Luftmasse
AirMassActVal air mass actual value Luftmassenistwert
AirMassSetPnt air mass set point Luftmassensollwert
AirPress air pressure Luftdruck
AirTemp air temperature Lufttemperatur
BasVal basic value Grundwert
BstPress boost-pressure Ladedruck
BstPressLin boost-pressure linear linearisierter Ladedruck
BstPressSetPnt boost-pressure set point Ladedrucksollwert
Calc calculate berechne
ClntTemp coolant temperature Kühlwassertemperatur
CorrFctr correction factor Korrekturfaktor
Dfct defect Defekt
DemVal demanded value Wunschwert
Dvt deviation Abweichung

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
EngPrtLim engine protection limit Motorschutzgrenze
Eval evaluation Auswertung
Fctr factor Faktor
Flt filter Filter
Get get gib (Wert holen)
Ind indicated indiziert
IndTrq indicated torque indiziertes Moment
IndTqEngPrtLim indicated torque engine protection limit Motorschutzgrenze des indizierten Moments
IndTrqActVal indicated torque actual value aktuelles indiziertes Moment
IndTrqDemVal indicated torque demanded value indiziertes Wunschmoment
IndTrqRawVal indicated torque raw value Rohwert des indizierten Moments
IndTrqSmkLim indicated torque smoke limit Rauchgrenze des indizierten Moments
Ini initialize initialisieren
Inj injection Einspritzung
InjMass injection mass Einspritzmasse
InjMassActVal injection mass actual value aktuelle Einspritzmasse
InjMassDemVal injection mass demanded value Wunscheinspritzmasse
InjMassRawVal injection mass raw value Einspritzmassenrohwert
InjMassSmkLim injection mass smoke limit Rauchgrenze der Einspritzmasse
Is is Ist (Abfrage)
Lbd lambda Lambda
LbdSetPnt lambda set point Lambdasollwert
LimVal limiting value Grenzwert
Lin linear linear
Mass mass Masse
Monitor monitoring Beobachtung
nAvrg average speed mittlere Drehzahl
New new neu
Nrmlzd normalized linearisiert
Old old alt
OvrFul overfueling Overfueling
Press pressure Druck
RawVal raw value Rohwert
RefVal reference value Führungsgröße
Set set Stell/Setz
SetPnt set point Sollwert
SmkLim smoke limit Rauchgrenze
State state Status
Stat static statisch
StrtCs starting case Startfall
Swt switch Schalter
SysFlr system failure Systemfehler
Temp temperature Temperatur
Tmr timer Zeitgeber
WghFctr weighting factor Gewichtungsfaktor

Defined designation for <Extension> field


Table 5: Application software
_Cfio Konstante Constant data
_CUR Kennlinie Curve
_MAP Kennfeld Map
_mp Meßpunkt (über Instrument) Measuring point
keine Endung Message Message
_CSTR Datenstruktur (nur intern) Data structure (internal use only)

intro_naming.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Intro_Abbreviation - 15 -
DS/ESM Abbreviations used docu-Intro

1.5 Abbreviations used


(Inrt o_Abervitaion)

Table 6: List of abbreviations


Abbreviati Designation (Englisch) Designation (German)
on
Abs absolute/absolute value absolut/Absolutwert
Abv above (von) oben
AC air conditioning Klimatisierung
ACC adaptive cruise control Adaptiver Fahrgeschwindigkeitsregler
Accn Acceleration Beschleunigung
AccPed accelerator pedal Fahrpedal
Ack Acknowledgement Anerkennung,
Act actual (value) Ist- (wert)
Actn Action Massnahme
Actr actuator Steller
Actv active, activate aktiv, aktivieren
AD Control duration Ansteuerdauer
Adapt adaption Adaption
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Adbt adiabatic adiabat


ADC Analog digital converter Analog-Digital-Converter
Add additional Zusatz-
AddMet additive metering Additivdosierung
Adj adjust(ment) abgleichen, Abgleich
Admin administration Verwaltung
Aft after nach
AftRun After run Nachlauf
Ag angle Winkel
Air Air Luft
Airb Airbag Airbag
AirFlt air filter Luftfilter
Alrm Alarm Alarm
Ana analogue Analog
Ann annex Anbau
AP air pressure Luftdruck
APP Accelerator Pedal Position Fahrpedalstellung
Appl application Applikation
Aprx approximate näherungsweise, ungefähr
APS Air pressure sensor Atmosphärendruck Sensor
ARD Active surge dampener Aktiver-Ruckel-Dämpfer
ARF Exhaust gas reciculation Abgasrückführung
ARW Anti reset windup Anti-Reset-Windup
Ascn antiscanning Antiscanning
ASD Active surge dampener Aktiver-Ruckel-Dämpfer
Ash Ash Asche
ASR Traction control system Antrieb-Schlupf-Regelung
AST Automatic Shift Transmission automatisiertes Schaltgetriebe
AT automatic transmission Automatgetriebe (Stufenautomat)
Atm atmosphere Atmosfähre
Aut autonomous selbständig
Auth authorization Ermächtigung
Auto automatic automatisch
Avrg average Mittelwert/Durchschnitt
Axl axle Achse
Bal balancing Ausgleich
Bas basic Grund (wert)
Batt Battery Batterie
Bef before vor
BIP Beginning of injection period Magnetventil-Schließzeit
Blk blink blinken
Blw below (von) unten
BlwBy Blow by vorbeiströmen
Bnd Bound Begenzt
Bnk bank Bank
BP boost pressure Ladedruck
BPACD boost pressure actuator component driver Ladedrucksteller Komponententreiber
BPS Boost pressure sensor Ladedruck Sensor
Br breadth Breite
Brk Brake Bremse
Brn burn brennen
Bst boost Lader, Lade-
BstPres boost pressure Ladedruck
Btn Button Taster

19.3.2002 intro_abbreviation.fm
- 16 - Intro_Abbreviation Y281 S01 363-V80 P_363 F80 JTD30
docu-Intro Abbreviations used DS/ESM

Abbreviati Designation (Englisch) Designation (German)


on
BufC buffer capacitor Pufferkondensator
Byp bypass bypass, Umgehung, Umleitung
Calc calculat(e)/(ion), calculation berechnen
CalVal caloric value kalorischer Wert, Heizwert
CAN Controler area network Controller-Area-Network
Cap Capacity Kapazität
Capbl capability Fähigkeit
CaS camshaft Nockenwelle
Casc Cascade Kaskade
Cat catalyst Katalysator
CC Cruise control Fahrgeschwindigkeitsregler
Cfg configuration Konfiguration
Ch charge laden
Cham chamber Brennraum
Change Change (From previous) Aenderung
Char charactersitics Verlauf, Charakteristik

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Chk check-up Überprüfung
Chlg challenge Challenge (Zufallszahl)
Chng Change Wechsel/Änderung
Chrg charge laden
Circ circumference Umfang
Clb Calibrate, Calibration kalibrieren
Clct collected gesammelt
Cld cold kalt
Clg Cooling Abkühlung
Clk Clock Uhr
Cln clean sauber
Clnt Coolant Kühlmittel
Clr clear löschen
Cls class, classification or closure Klasse, Klassierung oder schliessen
Clsd Closed geschlossen
Clsn collision Kollision
Clth Clutch Kupplung
Cmb Combustion Verbrennung
Cmp Compare Vergleiche mit
Cmpr Compressor Verdichter
Cncl Cancel Abbruch
Cnd conductivity Leitfähigkeit
Cnsmp Consumption Verbrauch
Cnt counter Zähler
Cnv Conversion Umrechnung
Cnvt convection Konvektion
Co coordination Koordination
Coeff coefficient Koeffizient
Cohr Coherent zusammenhängend
Com communication Kommunikation
Comp compensation Kompensation
Con condition Bedingung
Cond condition Bedingung
Conn Connection Anschluß
Const Constant Konstant
Cont continuous fortlaufend
Coop Cooperation Kooperation
Cor correction Korrektur
Corr corrected korrigiert
Cpl complementary komplementär
Cpt Concept Begriff, konzept
CrCtl cruise control Fahrgeschwindigkeitsregelung
Crit critical kritisch
CrS crankshaft Kurbelwelle
Crv Curve Kennlinie
Crw crosswise quer-
Cs case Fall
CT coolant temperature Kühlmediumtemperatur
Ctl Controll Steuerung
Curr current aktuell
Cycl cycle (of combustion) Zyklus, Arbeitspiel
Cyl cylinder Zylinder
DAMOS Program for generating and controlling application Programm zur Generierung und Verwaltung der
data Applikationsdaten

intro_abbreviation.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Intro_Abbreviation - 17 -
DS/ESM Abbreviations used docu-Intro

Abbreviati Designation (Englisch) Designation (German)


on
Dbl double Doppel
DC direct current Gleichstrom
DCS Drag torque engine control Motor-Schleppmoment-Regelung
Deb debouncing Entprellung
Dec Decrement Decrement
Decl decceleration Verlangsamung
DeClth declutch Kupplung loesen
Decn Deceleration Verlangsamen / Verzögerung
Def defect defekt
Del delay(ed) Verzögerung
Dem demand Anforderung
Dens density Dichte
Des desired (value) Wunsch-, Soll- (wert)
Det determination; detection Ermittlung; Erkennung
Dev device Gerät, Bedienteil, etc.
Dfl default (value) Vorgabe(-wert)
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

DFPM Diagnostic faultpath management Diagnose Fehlerpfad Management


Dia Diagnostic Werkstattdiagnose
Diam diameter Durchmesser
Diff difference Unterschied/Differenz
Dig digital digital
DirInd direction indicator Fahrtrichtungsanzeiger (Blinker)
Disbl disable ausserstand setzen, unfaehig machen
DisCh discharge entladen
Displ Displacment Verschiebung
Dlv delivery Förderung, Lieferung
Dpn dissipation, loss Verlust, Abfall
Drft drift Drift
Drv drive Fahren
DSCHED Diagnostic scheduler Diagnose Scheduler
DSM Diagnostic system management Diagnose System Management
Dspl Display Anzeige
Dst distance Abstand
DT1 Differential element 1st-order Differential Zeitglied 1. Ordnung
DT2 Differential element 2nd-order Differential Zeitglied 2. Ordnung
Dur duration Dauer
DVAL Diagnostic validator Diagnose Validierer
Dvt deviation Abweichung
Dwn down abwärts
Dyc duty cycle Tastverhältnis
Dyn dynamic dynamisch
DZG Engine speed sensor Drehzahlgeber
ECU Electronic control unit Steuergerät
EDC Electronic Diesel Control Elektronische Dieselregelung
EEP EEPROM EEPROM
EEPROM Data memory Datenspeicher
Eff effective effektiv, wirksam
EG exhaust gas Abgas
EGR Exhaust gas reciculation Abgasrückführung
EGS Electronic gearbox control Elektronische Getriebesteuerung
EGT Exhaust gas treatment Abgasnachbehandlung
Elec electrical elektrisch
Elm element Element
Emi Emission Emission
Emp empty leer
Emul emulation Emulation
Ena enable berechtigen
End End Ende
Eng Engine Motor
Env environment Umgebung
EPROM Program and data memory Programm- und Datenspeicher
Err Error Fehler
ESP Electronic stabilisation control Elektronische Stabilitätskontrolle
ESS Electrical supply system Elektrisches Bordnetz
Est estimator Bewerter
ET energising time Ansteuerdauer
Eu Euler-Constant Euler-Zahl
Eval evaluation Auswertung
EWS Electronic Immobilizer Elektronische Wegfahrsperre
EXC excitment Erregung (Generator-)

19.3.2002 intro_abbreviation.fm
- 18 - Intro_Abbreviation Y281 S01 363-V80 P_363 F80 JTD30
docu-Intro Abbreviations used DS/ESM

Abbreviati Designation (Englisch) Designation (German)


on
Exch exchange Austausch
ExhGs Exhaust Gas Abgas
Exo exothermal exotherm
Exp expansion Ausbreitung
Ext external extern
Extd extended verlängert
Fac factor Faktor
FBC fuel balancing control Mengenausgleichs- / Laufruheregelung
Fdbk feedback Rückkopplung
FGG Vehicle speed sensor Fahrgeschwindigkeitsgeber
FGR Cruise control Fahrgeschwindigkeitsregler
FID Function Identifier Function Identifier
Fl fuel... Kraftstoff...
FLC Debouncing counter error confimation Entprellzähler Fehlerbestätigung
Flow flow fließen, gleiten
FlPe Flow pipe Pumpenvorlauf

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Flt filter Filter
Frc friction Reibung, Reib-
Frq frequency Frequenz
Frz freeze einfrieren
Fst fast schnell
Ful full voll
FullLd full load Volllast
Func function Funktion
Gag Gauge Meßinstrumente
Gbx Gearbox Getriebe
Gear gear Gang
Get get gib (Wert holen)
Glw glow glühen
GlwUn glow unit GZE
Gn gain Verstärkung
Gnd Ground Masse
Gvnr governor Regler
HaVal half value Halbwert
HBrg H-Bridge H-Brücke
Hdl handling Behandlung
HdShk Handshake Handshake
Heal healing Heilung
HFM Hot film air mass sensor Heißfilm-Luftmassenmesser
HGB Limitation of maximum vehicle speed Höchstgeschwindigkeitsbegrenzung
Hght Height Höhe
Hi high hoch
HLC Healing debouncing counter Entprellzähler Fehlerheilung
Hold Hold Gehalten
Hp high pressure ... Hochdruck...
HsLn Hoseline Schlauchleitung
Ht heat Wärme, Hitze
Htg Heating Heizung
HW Hardware Hardware
HWK Hardware capsule Hardwarekapsel
Hyd hydraulic hydraulisch
Hys Hysteresis Hysterese
IAT intake air temperature Einlasslufttemperatur
IC integrated circuit integrierter Schaltkreis
ID Identifier ausweis
Idl idle Leerlauf
Idn Identification ausweisen
Idx index index
Imp impulse Impuls
In input Eingabe / Eingangswert
Inacc inaccurate ungenau
Inactv inactive, inactivate inaktive, inactivieren
Inc increment Increment
INCA Application tool Applikationstool
Incor incorrect unrichtig
Incr increase erhöhen
Ind Index Index
IndAir induction air Ansaugluft
IndVol induction volume Einlaßvolumen
Inhib Inhibit hemmen

intro_abbreviation.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Intro_Abbreviation - 19 -
DS/ESM Abbreviations used docu-Intro

Abbreviati Designation (Englisch) Designation (German)


on
Ini initialise initialisieren
Init initialise initialisieren
Inj injection Einspritzung
Inq inquiry Abfrage
Inr inner inneres (Moment.)
Int internal Intern
Integ integrator Integrator
Intk Intake Einlass
Intr Interrupt Unterbrechung
Intv intervention Eingriff
Inv invert invertieren
Ipo Interpolation Interpolation
Irr Irregular Irregulär
Irvrs irreversible irreversibel
Iter iteration Iteration
Jmp jump Sprung
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Key key Schlüssel


Kin kinematic kinematisch
Kls keyless schlüsselfrei
KSM Short circuit to ground Kurzschluß nach Masse
KSUB Short circuit to battery voltage Kurzschluß nach Batteriespannung
KW2000 Keyword 2000 (Diagnostic-Protocol) Keyword 2000 (Diagnose-Protokoll)
LA open output Leer-Ausgang
Lck lock Sperr-
Ld Load Last
LDS Boost pressure actuator Ladedrucksteller
Lead lead Vorhalt
Lean lean mager
Lght light Licht
Lifti lifetime Lebensdauer
Lim limitation, limit Begrenzung
Lin linear linear
Lkg Leakage Leckage
LLR Low-idle governor Leerlaufregelung
Lmbd lambda lambda
Lmp lamp Lampe, Leuchte
Lng lengthwise längs-
Lngth length Länge
Lo low niedrig
LoLim lower limit Untergrenze
Lp loop Schleife
LPFlt Low-pass filter Tiefpassfilter
Lrn learn lernen
LS lower stop unterer Anschlag
LSB Last significant bit Last significant bit
Lst last letzter,letzte, voriger, vorige
LSUCD Lambda sensor Component Driver Lambda sonde Komponententreiber
Ltd limited begrenzt
Lte late spät
Lvl level Niveau
Manf manifold (Ansaug-)Krümmer
Mark marker Merker
Max maximum Maximum, maximal
Meas measurement Meßwert
Mech mechanical mechanisch
Mem memory Speicher
Met metering Dosierung
MI1 main injection one erste Haupteinspritzung
MI2 main injection two zweite Haupteinspritzung
Mid middle mitte
MIL Malfunction indicator lamp Malfunktion Indicator Lamp
Min minimum Minimum, minimal
Misf misfiring Zündaussetzer
Mlt Multiplication, multiplicative Multiplikation, multiplikativ
Mn main Haupt-...
Mnt mounting Anbau-...
Mod model Modell
Mon monitoring Überwachung
Mov movement Bewegung
Ms Mass Masse

19.3.2002 intro_abbreviation.fm
- 20 - Intro_Abbreviation Y281 S01 363-V80 P_363 F80 JTD30
docu-Intro Abbreviations used DS/ESM

Abbreviati Designation (Englisch) Designation (German)


on
MSB Most significant bit Most significant bit
Msg Message Botschaft
Msk mask Maske
MSR Drag torque engine control Motor-Schleppmoment-Regelung
MSS Multiple State Switch Vielfachumschalter
Mswt Multiswitch Mehrfachschalter
Mul multiple Mehrfach
N rotational speed, revs Drehzahl
NBF Needle motion sensor Nadelbewegungsfühler
Neg negation Negation
Neutr neutral neutral
New new neu
No no nicht, kein
NoLd no load elektrischer Leerlauf
Nom Nominal value for governor Sollwert für Regler
Norm Normalisation Normierung

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Nrm normal normal
NSC NOx storage catalyst NOx Speicherkatalysator
Nu Nusselt Number Nusselt-Zahl
Num number Nummer, Anzahl
NW Camshaft Nockenwelle
O2 Oxygen Sauerstoff
OBD On board diagnostic On Board Diagnose
Obsvr Observer Beobachter
Off off aus
Ofs offset Offset
OK okay gut, in Ordnung
Old old alt
On on an
Op operating betriebs-..., Betrieb
Opn Open Offen
Opr operator Operator
Ord order Auftrag
Orig original Ausgangs-
Out output Ausgabe
Ovht Overheat Überhitzung
Ovr over über
OvrRun Overrun Schub
Par parameter Parameter
PartLd part load Teillast
PDT1 Proportional differential element 1st-order Proportional Differential Zeitglied 1. Ordnung
PDT2 Proportional differential element 2nd-order Proportional Differential Zeitglied 2. Ordnung
Per period Periode/Zeitabschnitt
Perm permanent permanent
Pers persistent (i.e. value 'survives' between states) persistent (z.B. Wert 'überlebt' Zustandsaktivierungen)
PFlt Particulate Filter Partikelfilter
Ph phase Phase
PI Proportional integral element Proportional Integralglied
PIDT1 Proportional integral differential element 1st-order Proportional Integral Differential Zeitglied 1. Ordnung
PIDT2 Proportional integral differential element 2nd-order Proportional Integral Differential Zeitglied 2. Ordnung
PiI1 pilot injection one erste Voreinspritzung
PiI2 pilot injection two zweite Voreinspritzung
PiI3 pilot injection three dritte Voreinspritzung
Plaus plausibility Plausibilität
Plltn Pollution Verschmutzung
Plly Pulley Rolle
Pls pulse Stoss, Puls
Pmp pump Pumpe
Pnc panic Panik
Pnt point Punkt, Stützstelle
PoI1 post injection one erste Nacheinspritzung
PoI2 post injection two zweite Nacheinspritzung
Polar polarisation Polarisation
Poll polling Sendeaufruf
POp point of operation Betriebspunkt
Port port Kanal
Pos position Position
Prc percent Prozent
Pre Pre-... Vor...
Prectl precontroll Vorverstärkung

intro_abbreviation.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Intro_Abbreviation - 21 -
DS/ESM Abbreviations used docu-Intro

Abbreviati Designation (Englisch) Designation (German)


on
Prep Preperation Vorbereitung
Pres Pressure Druck
Prio Priority Priorität
Prj Project Projekt
Prop proportional proportional
Prp propulsion Vortrieb
Prt protection Schutz
Prv prevention Vermeidung, ...
PS parameter set Parametersatz
Pse pause Pause
Psng Poisioning Vergiftung
PSP Pre-supply-pump Vorförderpumpe
Pst post nach
PT1 Proportional element 1st-order Proportional Zeitglied 1. Ordnung
PT2 Proportional element 2nd-order Proportional Zeitglied 2. Ordnung
Pth path Pfad
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Ptt Pattern Muster


Pull pull Zug
PWG Accelerator pedal sensor Pedalwertgeber
PWM Pulse width modulation Pulsweitenmodulation
PwrStg power stage Endstufe
Qck quick... schnell...
Qnt quantity Menge
RA Governor deviation Regelabweichung
RAM Data memory Datenspeicher
Rat ratio Verhältnis
Raw raw roh (wert)
Rd Read Lesen
Re Reynolds Number Reynolds-Zahl
Rea reach erreichen
Rec Reciprocal Reziprok/Kehrwert
Recg Recognition Anerkennung
Red reduced reduziert
Ref reference Führungsgröße
Reg register Register
Regr regression Regression
Rel relative/relative value relativ/Relativwert
Rep repetition Wiederholung
Repl replacement Ersatz
Req request Anforderung
Reqd required angefordert
Res resume Wiederaufnahme
Resp response Rückmeldung
Rev revolution Umdrehung
RevGear Reverse Gear Rückwärtsgang
Rgl regulation Regelung
Rgn regeneration, regenerate Regeneration, regenerieren
Rich rich fett
Rls release Freigabe, freigeben
Rly relay Relais
Rmp ramp Rampe
Rng range Bereich, Intervall
ROM Program memory Programmspeicher
Rslt Result Ergebnis
Rst Reset Reset
Rstrt Restart Restart
Rtn rotation Umdrehung
Rtr Rotor Läufer
Rurl rural ländlich
Rvrs reversible reversibel
Rx Receive erhalten
Saf safety Sicherheit
SB Start of injection Spritzbeginn
Sctn section Bereich, Abschnitt
SDM standard diagnostic mode Standard Diagnose Modus
Sec secondary sekundaer
Secr secret geheim
Seg segment Segment
Sel selection Auswahl
Sens Sensor, Sensing Sensor, Erfassung, Messung

19.3.2002 intro_abbreviation.fm
- 22 - Intro_Abbreviation Y281 S01 363-V80 P_363 F80 JTD30
docu-Intro Abbreviations used DS/ESM

Abbreviati Designation (Englisch) Designation (German)


on
Seq sequence Abfolge
Set set Stell/Setz
SetPoint setpoint Sollwert
Sfty Safety Sicherheit
SG Control unit (ECU) Steuergerät
ShCir short-circuit Kurzschluß
Shft shift Verschiebung
ShOff shut off abstellen/abschalten
Sig signal Signal
Sim Simulation Simulation
Slct selective Selektiv
Slp slope Anstieg
Slw slow langsam
Smk smoke Rauch
Snce since seit
SOE start of energising Ansteuerbeginn

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Sot Soot Ruß
SOx Sulphur Oxide Schwefeloxid
Spd speed Geschwindigkeit/Drehzahl
Sply supply Versorgung, Bereitstellung
Spo spontaneous spontan
Spr spare Ersatz-
Sq square quadratisch
Sqr square root Quadratwurzel
SRC Signal Range Check Signalbereichsüberwachung
St state Status
Stab Stability Stabilität
Stall stallen absterben (Motor)
Stat static statisch
Std standard Standard
Stg Stage Stufe
Stoich stoichiometric stöchiometrisch
Stp Step Schritt
Strg steering Steuerung
Strk stroke Kolbenhub
Strm stream Strömung
Strt start Start, Beginn
Struct structure Struktur
StSp (Engine) Start Stop (Motor-) Start-Stop
Sty steady, stationary stationär
Sub subtract(ed), subtraction abziehen(d)[subtrahieren(d)], Subtraktion
Subs substitute Ersatz
Suc Success, successful Erfolg, erfolgreich
Sum summation Summe
Surf surface Oberfläche
SW Software Software
Swrl swirl Verwirbelung, Drall
Swt switch Schalter
Sync synchronous synchron
Sys system System
Tab table Tabelle
TCS Traction Control System Antriebsschlupfregelung (ASR)
Temp temperature Temperatur
Term terminal Klemme
Thres threshold Schwelle
ThrPl throttle-plate Drosselklappe
ThrVlv Throttle Valve Drosselventil
Tmp temporary temporär
Tmr timer Zeitmesser / Timer
TO timeout Zeitüberschreitung
Tolc tolerance Toleranz
Tors Torsion Verdrehung
Tot total gesamt/total
TPU Timing processor unit Timing-Einheit des Mikroprozessors
Trans transition Übergang
Trb turbo Turbo
Trbn turbine Turbine
Trg Trigger Trigger
Trm trim trimmen, abgleichen
TSC Electronic gearbox control Elektronische Getriebesteuerung

intro_abbreviation.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Intro_Abbreviation - 23 -
DS/ESM Abbreviations used docu-Intro

Abbreviati Designation (Englisch) Designation (German)


on
Tst test Test
Tx Transmit übertragen
Type type Typ
UI Unit Injector Pumpe Düse
Un Unit Einheit
UnFlt unfiltered value ungefiltert
Up Up Aufwärts
Upd update aktualisieren
UpLim upper limit Obergrenze
Urb urban städtisch
Usht undershoot Unterschwingen
UT Overtemperature Übertemperatur
Val value Wert
Var variant verschieden, Variation ,Variante
Veh Vehicle Fahrzeug
Vel velocity Geschwindigkeit
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

VGW Default value Vorgabewert


Virt virtual virtuell
Vltg voltage Spannung
Vlv Valve Ventil
Vol volume Volumen
VolEff volumetric efficiency Luftaufwand
VS100 Applicationtool Applikationstool
Vsc viscosity Viskosität
VSS Vehicle speed sensor Fahrgeschwindigkeitsgeber
Wait wait warten
WD Watchdog Watchdog
Wgh weighting Wichtung
Whl wheel Rad
Win window fenster
WndScr Wind screen Windschutzscheibe
Wr Write Schreiben
WrkSph working sphere Arbeitsbereich
Wrm warm warm
Wt water Wasser
WUC Warm up cycle Warm Up Cycle
Wv wave Welle
Z Number of cylinders Zylinderanzahl
Zon zone Zone, Bereich
Zr Zero Null

19.3.2002 intro_abbreviation.fm
- 24 - Symbols Y281 S01 363-V80 P_363 F80 JTD30
docu-Intro-Symbols Symbols used DS/ESM

1.6 Symbols used


(Smybols)

1.6.1 Commentary to the figures


Symbols used
Figure 4 : Symbol definition, part 1

a
a d d a + b lo g ic A N D

b
a
s u b tra c t a - b lo g ic O R

b
a n e g a tio n
m u ltip lic a tio n a x b

b
a d iffe r e n tia l q u o tie n t
d iv is io n a / b
D Q
b
s w itc h
a b s o lu te s y m b o l s h o w s p o s itio n o f s w itc h a t " 0 "

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
C a u tio n : p o s itio n o f s w itc h h a s c h a n g e d
fr o m o ld e r v e r s io n s !

m a x im u m
if > th e n

th e n
m in im u m if > th e n | e ls e

e ls e

g e t b it a t P o s s e t b it a t P o s to V a l

P o s . P o s . V a l.

Figure 5 : Symbol definition, part 2

abc RAM variable


calibration label
K_a_C

K_x receive message

K_y send and receive message calibration curve

K_1_CUR
K_z send message

calibration map

ABC system constant


K_2_MAP

Figure 6 : Symbol definition, part 3

param param

x y P-governor x y DT1-governor

T0 ix iy

param param
D2T2
x y I-governor x y D2T2-governor

T0 ix T0 initval

pparipar lim param


pv yp
yi
x y PI-governor x y PDT1-governor

T0 ix T0 ix iy

param

x y PT1-governor

T0 ix

symbols_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Symbols - 25 -
DS/ESM Symbols used docu-Intro-Symbols

Figure 7 : Symbol definition, part 4

p a ra m p a ra m

D e b o u n c e o f in p u t x r a m p in g fr o m ix to x
x y S h o r t p u ls e s w ill n o t a p p e a r a t o u tp u t x y
e n d
T 0 ix T 0 ix

s w p o s p a ra m
p a ra m
x a
y s w itc h b e tw e e n x a a n d x b v ia a r a m p
x y H y s te r e s is x b p o s
a c tiv e
T 0 is w

L im ita tio n o f in p u t x
c o u n te r
( e v e n ts s in c e a c tiv a tio n )

c lo c k
T r ig g e r a t fa llin g e d g e ( tim e s in c e a c tiv a tio n )

T im e r
T r ig g e r a t r is in g e d g e T r u e if s ta r t v a lu e
h a s n o t e la p s e d
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

T r ig g e r a t e a c h e d g e D e la y o f fa llin g e d g e b y ...

D e la y o f o n e tim e s te p D e la y o f r is in g e d g e b y ...

M u ltip le x o p e r a to r
P

c o n d itio n 2 c o n d itio n 1 c o n d itio n 2 o u tp u t


fa ls e fa ls e in p u t1
P

c o n d itio n 1 fa ls e tru e in p u t2
tru e fa ls e o r tr u e in p u t3
P

in p u t1
o u tp u t
P

in p u t2
P

in p u t3

1.6.1.1 Block diagrams (flow- Block diagrams provide a more precise functional representation. Each block is described in an additional
charts) figure and/or corresponding commentary:

Figure 8 : Sample block diagram

lo w -id le s e tp o in t lo w -id le g o v e r n o r
(b a s e v a lu e )

lo w -id le s e tp o in t
(lo w -id le in c r e a s e )
s y m b o ls _ o v e r v ie w _ 5 .d s f

a c tu a l v a lu e c a lc u la tio n
fo r lo w -id le g o v e r n o r

1.6.1.2 Function figures (data flow The main emphasis of the documentation is the graphic representation of the software functions. The
charts) function figures illustrate the correlation between input and output variables of a function. A distinction is
made between data flow and check flow: data flow values are for example sensor signals or messages that
represent an analog value such as coolant temperature or torque. Check values are signals that control the
data flow sequence (control flow) such as signals from switches or status bits for the diagnostic functions.
The following example illustrates how the signals from engine speed sensor and coolant temperature sensor
(data flow) are further processed, depending on the state of the brake signal (check flow). As a rule, inputs
are located in the left margin of function figures, and outputs in the right margin.

19.3.2002 symbols_overview.fm
- 26 - Symbols Y281 S01 363-V80 P_363 F80 JTD30
docu-Intro-Symbols Symbols used DS/ESM

Figure 9 : Sample data flow chart

E n g _ n A v rg

C T S C D _ t
E n g _ p 1 _ M A P E n g _ V a lu e 2

E n g _ p 2 _ M A P

B rk C D _ s tD e b V a l

1.6.1.3 State diagrams


Figure 10 : Sample state diagrams
S
STANDBY

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
2
-/breakAfterrun 1 -/startOk

1 -/startNotOk

AFTERRUN 1 START
-/breakStart

1 -/startDone
-/engineOff NORMAL

S Initial state
1,2 Priority of the transition
-/xxx Transition condition

symbols_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Intro_Switches - 27 -
DS/ESM Description of the software switches Docu-Intro

1.7 Description of the software switches


(Inrt o_Swict hes)

1.7.1 General Software switches have different application ranges of use. On the one hand they are used to adjust the
software to the different features of a vehicle’s equipment. Examples of this would be air conditioning or the
use of different gearbox types. On the other hand you want to be able to influence the behaviour of a function
during the application phase. Thus there are different types of switches, which are described in section
“Switch types” on page 27.

1.7.2 Structure of a software switch All software switches have the same structure. They are composed of two application parameters and one
message. The type and value of the switch can be set with the parameters. The corresponding message
provides the current switch value. Basically this means that a change in the switch value only becomes
effective after a control unit reset.
Table 7: Parameters and message of a software switch
Meaning Naming convention Example
Message with current switch value <component>_swt<switch designation> PCR_swtQCtl
Parameter for switch type <component>_swt<switch designation>Type_C PCR_swtQCtlType_C
Parameter for switch value <component>_swt<switch designation>Val_C PCR_swtQCtlVal_C

1.7.3 Switch types


© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

EEPROM switch (switch value stored in EEPROM) After producing the control unit, the corresponding vehicle features must be activated by the software
switches. This is accomplished by end of line programming. The vehicle’s configuration is written to the
EEPROM using a diagnostic tester. After a control unit reset, the configuration is read from EEPROM and
supplied to the corresponding function. This switch type is recognised by the value SWT_TYPE_EEP (1)
(E.g.: PCR_swtQCtlType_C = 1). Note: With this switch type, the switch value is usually not taken into
consideration unless the configuration stored in EEPROM was invalid. In this case the switch value is taken
from the data set as a substitute.
Application switch (switch value stored in data set) With this switch type, vehicle features can be activated by the data set. In this case the switch value is not
read from the EEPROM, but from the data set. This is advantageous during the application phase because
no additional tool (e.g. diagnostic tester), to manipulate the EEPROM, has to be used. This switch type is
recognised by the value SWT_TYPE_APPL (2) (E.g.: PCR_swtQCtlType_C = 2). In this case the function
can be influenced accordingly by the switch value (<component>_swt<switch designation>Val_C). The
selected function is available after a control unit reset.
Figure 11 : Application of a Application switch
< C o m p o n e n t> _ s w t< s w itc h d e s ig n a tio n > T y p e _ C ( = 1 E E P R O M ; 2 A p p lik a tio n )

v a lu e fr o m E E P R O M 1
o u tp u t
m e s s a g e c h o o s e n b y 2
< C o m p o n e n t> _ s w t< s w itc h id e n tifie r > V a l_ C

in tr o _ s w itc h e s _ 2 .d s f

DAMOS switch (switch value stored in data set) With the third type of switch, the switch value is also stored in the data set. What is special about this is that
each switchover also requires a new DAMOS run. This means that a specific function has already been
prepared in the software, but the relative data has not yet been linked to the software. This avoids the
unnecessary use of memory. The examples in figure 12 serve to explain the application range of use. Using
a curve, it should be possible to influence a C value by either input A or B. If the data for both curves is
contained in the software, you can toggle rapidly between both functions, although this uses memory
unnecessarily. Here the DAMOS switch provides a remedy. The software is developed to include the data
structure for only one curve during the DAMOS run. Therefore, switching over to the other function requires
a new DAMOS run. This type of switch can be recognized by the value SWT_TYPE_DATASET (0).
(Example: EngM__swtTrqFrcType_C = 0)
Figure 12 : Application of a DAMOS switch
< c o m p o n e n t> _ s w t< s w itc h d e s ig n a tio n >

C
..._ C U R
P

..._ C U R in tr o _ s w itc h e s _ 1 .d s f

Summary The different switch types are represented in table 8. Basically, the switch type should not be changed.
However, there are cases in which the applicator wishes to change the type of switch, e.g., from the one
stored in the EEPROM (SWT_TYPE_EEP) to the one stored in the data set (SWT_TYPE_APPL), or vice
versa. If the switch was installed as a ”DAMOS” switch (SWT_TYPE_DATASET), a change of switch type is
not allowed.
You will find a list of all switches in “Switch tables” on page 28.
Table 8: Switch types
Switch type Meaning
DAMOS switch Switch value is stored in the data set. A switchover requires a new DAMOS run.
SWT_TYPE_DATASET (0)
EEPROM switch Switch value is stored in the EEPROM. If the value is invalid, the value will be taken
SWT_TYPE_EEP (1) from the data set.
Application switch Switch value is stored in the data set. The switch value may be changed by means of
SWT_TYPE_APPL (2) the switch value parameter (please note: control unit reset necessary).

19.3.2002 intro_switches.fm
- 28 - Intro_Switches Y281 S01 363-V80 P_363 F80 JTD30
Docu-Intro Description of the software switches DS/ESM

1.7.4 Switch tables


Table 9: DAMOS switches
Switch name (Message) Parameter for switch value Parameter for switch type
AirCtl_swtAPSCor AirCtl_swtAPSCorVal_C AirCtl_swtAPSCorType_C
AirCtl_swtIATSCor AirCtl_swtIATSCorVal_C AirCtl_swtIATSCorType_C
AirCtl_swtTrm AirCtl_swtTrmVal_C AirCtl_swtTrmType_C
EngM_numCyl EngM_swtNumCylVal_C EngM_swtNumCylType_C
PCR_swtLimSel PCR_swtLimSelVal_C PCR_swtLimSelType_C

Table 10: EEPROM- respectively application switches


Switch name (Message) Parameter for switch value Parameter for switch type
ACCD_swtPresSel ACCD_swtPresSelVal_C ACCD_swtPresSelType_C
ACCD_swtPresenceVal_C ACCD_swtPresenceType_C
AddPmp_swtService AddPmp_swtServiceVal_C AddPmp_swtServiceType_C
AirCtl_swtGvnr AirCtl_swtGvnrVal_C AirCtl_swtGvnrType_C
CmbChb_swtMonClutch CmbChb_swtMonClutchVal_C CmbChb_swtMonClutchType_C
CoDT_swtCoType CoDT_swtCoTypeVal_C CoDT_swtCoTypeType_C

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
CrCCD_swtLmpOut CrCCD_swtLmpOutVal_C CrCCD_swtLmpOutType_C
CrCCD_swtPresence CrCCD_swtPresenceVal_C CrCCD_swtPresenceType_C
FlSys_swtTempSensCfg FlSys_swtTempSensCfgVal_C FlSys_swtTempSensCfgType_C
Gearbx_swtType Gearbx_swtTypeVal_C Gearbx_swtTypeType_C
GlwCtl_swtPreGlwDurCalc GlwCtl_swtPreGlwDurCalcVal_C GlwCtl_swtPreGlwDurCalcType_C
GlwCtl_swtSig GlwCtl_swtSigVal_C GlwCtl_swtSigType_C
InjCrv_swtTiPseVal_C InjCrv_swtTiPseType_C
OPSCD_swtSig OPSCD_swtSigVal_C OPSCD_swtSigType_C
PCR_swtQntCtl PCR_swtQntCtlVal_C PCR_swtQntCtlType_C
PCR_swtQntDes PCR_swtQntDesVal_C PCR_swtQntDesType_C
PCR_swtRelAbs PCR_swtRelAbsVal_C PCR_swtRelAbsType_C
PCVCD_swtCtlState PCVCD_swtCtlStateVal_C PCVCD_swtCtlStateType_C
PrpCtl_swtSpdLim PrpCtl_swtSpdLimVal_C PrpCtl_swtSpdLimType_C
Prp_swtCCOn Prp_swtCCOnVal_C Prp_swtCCOnType_C
Prp_swtCCSel Prp_swtCCSelVal_C Prp_swtCCSelType_C
Rail_swtPreCtl Rail_swtPreCtlVal_C Rail_swtPreCtlType_C
Rail_swtPress Rail_swtPressVal_C Rail_swtPressType_C
Rail_swtWindUp Rail_swtWindUpVal_C Rail_swtWindUpType_C
TtLpCD_swtSig TtLpCD_swtSigVal_C TtLpCD_swtSigType_C
VSSCD_swtSig VSSCD_swtSigVal_C VSSCD_swtSigType_C
FanCtl_swtFanSelVal_C FanCtl_swtFanSelType_C
CoVM_swtPlausChkVal_C CoVM_swtPlausChkType_C
CoVM_swtSlipCtlVal_C CoVM_swtSlipCtlType_C

intro_switches.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Intro_Revision - 29 -
DS/ESM Revision report Docu-Intro

1.8 Revision report


(Inrt o_Revison)

1.8.1 Changes P277.V40 compared


to P277.V31
Functional changes • Limitation map Rail_pSetPointLimNFlTemp_MAP is introduced in the component “Project based
corrections for rail pressure setpoint (Rail_SetPointAddCor)” on page 622.
• Implementation of W-line immobilizer additionally to the CAN-variant in the component “Immobilizer
(ImmCtl)” on page 167.
• An additional error path Dfp_FTSLim will indicate which limitation in dependence of fuel temperature was
active recently.
Documentation changes • Structure modified, I/O signals moved to chapter “Signal input/output (IO)” auf Seite 713.
• Empty pages and pages without information removed.

1.8.2 Changes P277.V50 compared


to P277.V40
General changes • Functions for particle filter added
• Update to CRS 9.1
• Update to Basis 9.0.1
Functional changes • Air control
• Boost pressure control
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

• Fan control
• Framemanager
• Injection characteristic
• Minor changes in KWP2000, Interface to AC compressor, Engine mechanics protection, Fuel
management, Coordinator engine.
• Boost pressure control
• Particle filter
• Exhaust gas temperature before oxidation catalyst
• Interface to AC compressor
• ACC

1.8.3 Changes P277.V60 compared


to P277.V50
General changes • Frame Manager:
Receive messages from adaptive cruise control
Receive messages from Body computer
• Device detection for adaptive cruise control
• Additive pump
• Update to CRS 10.0.x and 11.0.x
• Update to Basis 10.0.x and 11.0.x
Functional changes • 5 injections per stroke
• Injector quantity adjustment
• Torque compensation
• Fan control
• Diesel particle filter
• Exhaust gas control
• Fuel temperature sensing component driver
• Minor changes in
KWP2000
Fuel Management
ACCPed_DrvDem
Device detection for cruise control
Rail_Setpoint
Engine mechanics protection
Coolant temperature component driver
Intake manifold air temperature

1.8.4 Changes P363.V70 compared


to P277.V60
General changes • Fuel filter water level display
• Engine combustion noise control during transient condition
• Statistic model for the particle filter
• Particle filter regeneration coordinator

19.3.2002 intro_revision.fm
- 30 - Intro_Revision Y281 S01 363-V80 P_363 F80 JTD30
Docu-Intro Revision report DS/ESM

Functional changes • Diesel particle filter


• Rail pressure setpoint
• Low idle governor
• Low idle setpoint speed calculation
• Post injection 1
• Regeneration values for the main injection
• Main injection
• Minor changes in
KWP 2000
Compressor control
Glow time control logic
Engine protection overspeed detection
Regeneration coordinator for exhaust-gas treatment
Immobilizer
Network managment
Fan control
Frame manager

1.8.5 Changes P363.V80 compared


to P363.V70

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
General changes • Regeneration values for Poi 2
• Air temperature induction system
• Calculation of exhaust gas volume flow and lambda
• Calculation of soot mass
Functional changes • Engine mechanics protection
• Boost pressure control
• Calculating the weighting factor for Poi1
• Calculating the correction values for Poi1
• Weighting factors for Poi2 in regeneration mode
• Boost pressure sensor
• Boost pressure control
• Particle filter statistical model
• Minor changes in
Hot film air mass sensor
Engine protection overspeed detection

intro_revision.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Intro_Functions - 31 -
DS/ESM Dataflow-oriented functional description docu-Intro

2 Dataflow-oriented functional description


C(InArtRo_TFOunNtcICio-Snst)urcture:docuIn-tro

This chapter is the functional overview of the EDC16. Software layers and architecture are not taken into
account.
The descriptions consist of block diagrams accompanied by explanatory text. The main functions are
hierarchically subdivided. The components (see Chapter III) that include detailed descriptions of the
subfunctions are cross-referenced beginning with the 2nd or 3rd hierarchical level.

2.1 Basic principle of vehicle con- In contrast to the EDC15, the injection quantity no longer forms the only reference variable for the setpoint
trol in EDC16 path. Based upon the commands made by the driver through the control elements (pedals, switches), the
operating state detected by sensors and, if necessary, the resultant demands of other control units installed
in the vehicle, the orders for open-loop and closed-loop control of the physically existing subsystems are
issued with regard to their measurable external influences. Specifically, this means:
• Propulsion demand: Torque at gearbox output
• Demand to drive train / engine: Torque at the clutch input or at the crankshaft
• Demand on the individual injection system: injected fuel quantity, start of injection (or course of injection)
The order path from accelerator pedal to injection unit is accordingly subdivided into three stages:
1. Mapping of the accelerator pedal to a propulsion torque command and coordination of external and
internal propulsion interventions (cruise control, speed limitation and vehicle dynamics functions)
2. Conversion of gearbox output torque into a clutch torque using the drive train ratio; addition of accessory
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

requirements, resulting in the engine torque setpoint


3. Conversion of setpoint torque into a corresponding setpoint fuel quantity taking into account frictional
losses and the current, operating point-dependent efficiency
The system architecture CARTRONIC(R) developed by Bosch provides for central acquisition of all energy
requirements in order to permit optimum energy management for all forms of energy in the vehicle. In the
“power management” function, individual consumers can either be switched off (eg. air conditioning
compressor) or reduced (eg. propulsion) in the event of energy shortfall. For vehicles with starter-generator,
the operating mode as generator or additional drive motor (boost operation) can be specified in this function,
depending on the overall balance. These functions are not contained in the basic version of EDC16. The
setpoint default for propulsion is determined solely on the basis of torque.
Illustration 1 shows a purely schematic overview of the relevant function groups. Only the signals for the
respective setpoint of torque (or power) are shown. The main function groups are explained in detail below.
Figure 13 : Setpoint coordination

C o V M _ trq P rp D e s C o V e h _ trq P rp D e s
p r o p u ls io n

p o w e r d r iv e tr a in C o D T _ trq D e s
e n g in e c o n tr o l

in tr o _ fu n c tio n s _ 1 .d s f
E S S _ p w rD e s m a n a g e m e n t c o o r d in a tio n
B d In t_ p w rD e s
v e h ic le V e h M o t_ p w rA c s D e s C o V e h _ p w rA c s D e s
a c c e s s o ry
r e q u ir e m e n ts
CoV_MtrqPrpDesCoVeh_trqPrpDesCoVe_hpwrAcsDes CoDT_trqDesES p_wrDesBdnI t_pwrDesVhMot_pwrAcsDes

2.1.1 Vehicle propulsion This function determines the driver's propulsion torque command from the filtered and checked accelerator
pedal position value. The driveability map is still the core, it is however no longer applicated as an injected
fuel quantity. In the next step, this command is compared against the cruise control demand, or, alternatively,
against the ACC system propulsion rate, for implementation of a maximum selection in the next function
stage. Subsequently, and if required, a limitation is applied via additional functions such as speed or
acceleration limitations. The active vehicle dynamics systems intervene at a subsequent stage. TCS limits
the setpoint torque upwards and DCS limits it downwards. ESP has both intervention possibilities. The
various forms of interventions operate at propulsion torque level so that the function range of present-day
vehicle dynamics systems can be reduced in the future. (Absolute) lead torque (see “Lead path” on page 32)
and order constraint requirements always accompany the setpoint torque. They can be set by all intervening
functions in compliance with the corresponding order constraints.
As a demand for the engine-speed interface (see “engine-speed interface” on page 33) an increased idle
speed can be requested by the driver command in the event of a defective accelerator pedal module.
Figure 14 : Providing the propulsion power setpoint

P rp _ trq D e s
v e h ic le o p e r a to r lo n g itu d in a l P rp B rk _ trq D e s v e h ic le d y n a m ic s C o V M _ trq P rp D e s
c o m m a n d m o tio n c o o r d in a tio n c o o r d in a tio n

A c c P e d _ n M in in tr o _ fu n c tio n s _ 2 .d s f
Prp_trqDesPrpBrk_trqDesCoVM_trqPrpDes AcPed_nMin

Consult the following chapters for more detailed functional descriptions:


• Driver command:
see “Propulsion (Prp)” on page 56
• Longitudinal motion coordination:
see “Propulsion and brake (PrpBrk)” on page 54
• Vehicle dynamics coordination:
see “Vehicle motion (VehMot)” on page 42

19.3.2002 intro_functions.fm
- 32 - Intro_Functions Y281 S01 363-V80 P_363 F80 JTD30
docu-Intro Dataflow-oriented functional description DS/ESM

2.1.2 Accessories Parallel to the propulsion torque demand, those vehicle accessory demands are acquired for accessories
whose contributions are not directly acquired at measurement of the engine drag torque (alternator, servo
pump, air conditioning compressor etc.). All requirements are calculated directly as a mechanical power or
from the torque requirement and the vehicle accessory speed (engine speed x drive train ratio).
• Electrical supply system (see “Electrical supply system (ESS)” on page 161)
Consumer: alternator (see “Alternator (Alt)” on page 173)
• Body and interior (see “Body and interior (BdInt)” on page 139)
Consumer: air conditioning (see “Air conditioning (AC)” on page 141)
• Vehicle motion (see “Vehicle motion (VehMot)” on page 42)
Consumers: (see “Power steering pump (SrvPmp)” on page 106)

2.1.3 Power management When the energy requirement is > 100 % in power management, a specific, applicatable remedy can be
made to solve this problem.
• Description see “Coordinator vehicle (CoVeh)” on page 37

2.1.4 Drive train The coordinator for the overall vehicle demands a torque setpoint value for vehicle propulsion from the drive
train and a power setpoint for mechanical operation of the vehicle accessories. The coordinated drive train
control can then derive the optimum ratio (and thus the corresponding gear for stepped automatic gearboxes)
from propulsion requirement, operating states and order constraints for automatic gearboxes and can, if
required, shift gears. At any rate, the resulting demand for the engine torque to be applied to the clutch is
derived from the respective current gear ratio. This function is analogous for manual gearboxes if the

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
engaged gear can be reliably determined. The sum of this requirement and the vehicle accessory torque
requirement amounts to the resultant crankshaft setpoint torque (see “Drive train coordinator (CoDT)” on
page 110).

2.1.5 Engine control The engine control corrects the setpoint value for internal frictional losses and active engine controller (idle,
active surge damper) demands. The fuel setpoint quantities, which directly determine the injected fuel
quantity, the start of injection setpoint and the fresh air setpoint, can be calculated using various limitations
(see “Limitations” on page 34) and the operating point-dependent engine efficiency.
Figure 15 : Engine control

a ir s y s te m
In jC tl_ q R a w c o n tro l
C o E n g _ trq In rR a w
In jC tl_ q C u r r
C o D T _ trq D e s e n g in e to r q u e C o E n g _ trq In rC u rr fu e l d e liv e r y
c o n tro l c o n tro l In jC r v _ p h iS tr tIn jS e tP o in t
C o E n g _ trq In rS e t
In jC tl_ q S e t
fu e l in je c tio n
c o n tro l
in tr o _ fu n c tio n s _ 3 .d s f
CoEgn_trqInrRawCoEng_trqInrCurCoEgn_trqInrSetInjCtl_qRawInjCtl_qCurI njCrv_phiStrInjSetPointI jCtl_qSetCoDTt_rqDes

Consult the following chapters for more detailed functional descriptions:


Engine torque control Functional description:
• see “Coordinator engine (CoEng)” on page 186
Subcomponents:
* see “Low-idle governor (LIGov)” on page 222
* see “Active surge damper, disturbance compensator (ASDdc)” on page 253
* see “Engine mechanics (EngM)” on page 506
* see “Engine mechanics protection (EngPrt_PrtLimMech)” on page 532
Fuel delivery control Functional description:
• see “Injection control (InjCtl)” on page 260
Subcomponents:
* see “Torque/quantity conversion (FMTC)” on page 265
* see “Main injection (InjCrv_MI)” on page 340
• see “Starting system (StSys)” on page 497
• see “Engine mechanics protection (EngPrt_PrtLimMech)” on page 532
• Air system control:
see “Air system (AirSys)” on page 387
• Fuel injection control:
see “Injection system (InjUn)” on page 593

2.2 Lead path Parallel to the setpoint path for torque and power values (..._trqDes or ..._pwrDes), a lead path is routed
through the system. This path is a general realization of the “slow path” for control in gasoline-powered cars
and also replaces the air path which was previously present in certain EDC15 projects. Setpoint value and
lead value differ only dynamically or with some external interventions. In the stationary case both values are
identical. However, the lead values are derived without taking into account filtering or delaying elements such
as accelerator pedal filter or disturbance compensator.
The lead path is used for three main tasks:
1. Preparation of the more inert air system for a sudden increase in the torque setpoint
2. Preview for the air system for an increase in the torque setpoint with average dynamic
3. Stabilization of the air system during a brief drop in torque setpoint.
The desired effect is achieved by deriving the various dynamic and limited intermediate fuel quantity values
used to determine the setpoints for the air system functions, from the lead value rather than from the torque
setpoint.
Application example torque step An example of a step in the torque setpoint is switching on the air conditioning compressor. The sudden
increase in the torque which is required at this moment cannot be generated by the engine unless the sudden
increase in injected fuel quantity is also accompanied by the corresponding fresh air mass. Without advance
information, the air system will not be capable of providing this increase in fresh air quantity with the required
dynamics. Therefore, after detection and release of the switch-on command, switch-on and associated jump
in setpoint quantity are delayed. However, the lead value “sees” the jump immediately so that the air system
is informed early of an increased demand for fresh air and can provide this at the required moment.
This procedure ensures that the resulting torque for the propulsion remains constant when the compressor
is switched on, and that there are no surges associated with switch-on from the point of view of the driver.

intro_functions.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Intro_Functions - 33 -
DS/ESM Dataflow-oriented functional description docu-Intro

Figure 16 : Lead path for torque jump

le a d v a lu e

s e tp o in t v a lu e
Application example increase in setpoint value With this application the effect partly already known from EDC15 is to be achieved, that in order to be capable
of partially compensating for its inertial deficit, the air system must be informed as quickly as possible of an
increasing demand due to a highly dynamic positive change in driver command. The application makes use
of the fact that a highly dynamic positive change in driver command is delayed by the accelerator-pedal
sensor filter and the reference filter of the active surge damper in order to improve driving comfort. In contrast,
the lead path is determined from the unfiltered raw values of accelerator pedal sensor and driver command
so that its increase is significantly faster and the air system is provided with an “advance knowledge”.
Figure 17 : Lead path for acceleration

le a d v a lu e

s e tp o in t v a lu e
Application example setpoint value reduction This case typically arises when the traction control function reduces the driver command. If this intervention
occurs within a restricted time period, the lead value is kept at value of the driver command so that the air
system is not prompted to perform adjustment actions which, in any case, cannot be represented by the
torque intervention dynamic. In the case of longer-lasting interventions (eg. permanent traction control
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

intervention), the lead value must follow the setpoint after a waiting time, in order to prevent a permanent
control deviation for the air mass controller or disadvantages in emission.
Figure 18 : Lead path for torque reduction
le a d v a lu e

s e tp o in t v a lu e

2.3 Torque interval determination All vehicle motion functions are based on information about the available propulsion torque interval. This is
used for the limitation of demands, during deactivation of the cruise control and for dynamic mapping of driver
command in overrun etc. The interval limits are determined as follows:
• Maximum value
The maximum engine output torque represents the starting point. Refer to standard engine diagrams for
the corresponding value. The maximum nominal torque is selected for the basic application.
This value is corrected for the external vehicle accessory requirement to determine the torque available
for propulsion. The resulting value is multiplied with the current drive train ratio for manual gearboxes and
with the maximum possible current drive train ratio for automatic gearboxes, in order to achieve the
maximum value of the gearbox output torque. Torque losses of gearbox and drive shaft can also be taken
into account in this calculation.
• Minimum value
The minimum engine output torque is largely dependent on the operating point since it is determined both
by the (negative) engine friction torque and by the low-idle governor compensation.
This value is then converted (depending on the gearbox type) into gearbox output torque using the drive
train ratio and corrected for the vehicle accessory requirements. If compensation of vehicle accessories
through an additional injection is requested also for overrun, the corresponding portion of the vehicle
accessories is not included in the minimum-value calculation, so that the desired effect is achieved by
correcting the setpoint for the overall accessory requirement. As an option, this compensation can be
reduced via a ramp at the start of overrun mode.
To prevent steps in the interval from affecting the accelerator pedal in the event of a sudden switch-on or
shut-off of a consumer, the vehicle accessory requirements are strongly filtered for this calculation.
The final result of this calculation is the torque interval available at the drive shaft(s) (see “Provision of torque
interval (CoDT_PrpTrqRngCalc)” on page 117).

2.4 engine-speed interface The mechanical external effect of the combustion engine can be defined by means of two measured values.
In EDC16 these are engine torque and engine speed.
Therefore also a so-called engine-speed interface exists, parallel to the coordination of the torque or power
demands from the various consumers. Each component can formulate demands regarding the engine speed
of its drive source, which results in simple overall system coordination. The A/C compressor, for example,
must make demands regarding engine speed, not its own rotational speed. Therefore the transmission ratio
of the propulsion may also have to be taken into account.
The engine speed demand facilitates formulation of a minimum and maximum engine speed. The
corresponding labels always end in “_nMin” and “_nMax” respectively. Demands on the same physical or
structural layer are coordinated by maximum or minimum selections. At the engine control interface, the
minimum engine speed demand is used for calculation of the low-idle setpoint speed; the maximum engine
speed demand represents a setpoint for the limiting functions. The same interface can be used for engine
speed control operation provided that the minimum and maximum setpoint speeds are identical and the
corresponding value represents the setpoint for the variable speed controller input.
In addition to the engine speed requirements of the engine-external, remote components, there is a second
level in which the setpoint engine speeds of the engine-internal components or functions are determined. In
the current EDC16, the following components or functions make demands on the idle speed.
Table 11: Demands from the vehicle on the low-idle speed
Component Function
AC Idle-speed increase for active air conditioning compressor
see “AC compressor control (ACCtl)” on page 144
AccPed Idle-speed increase in the case of plausibility violation accelerator pedal /
brake
see “Driver command determination (AccPed_DrvDem)” on page 66
ESS Idle-speed increase in the case of low battery
see “Idle-speed increase at low battery (ESS_GetNMin)” on page
162 *

19.3.2002 intro_functions.fm
- 34 - Intro_Functions Y281 S01 363-V80 P_363 F80 JTD30
docu-Intro Dataflow-oriented functional description DS/ESM

2.5 Limitations
2.5.1 Torque path limitations Various limitations intervene within the torque path at different levels (torque, fuel quantity, engine speed).

Engine torque limitation The engine mechanics protection (see “Engine mechanics protection (EngPrt_PrtLimMech)” on page 532)
provides the limiting torque EngPrt_trqPrtLim to protect the engine from mechanical overload (torque
limitation). The smoke limitation FMTC_trqInrLimSmk converted to a limit torque is minimized by
EngPrt_trqPrtLim to derive the resultant limit torque (see “Limiting torque (CoEng_trqLim)” on page 209).
CoEng_trqLim intervenes in the engine torque calculation (see “Engine mechanics protection
(EngPrt_PrtLimMech)” on page 532).
All engine torque limitations are intended as inner engine torque.
Engine speed limitation With no other possibility for intervention available, the engine speed is limited by an auxiliary torque limitation
at high engine speeds. This limiting torque EngPrt_trqNLim is incorporated into the engine mechanics
protection limiting torque EngPrt_trqPrtLim (page 532) via minimum formation. The engine speed limitation
is also a function of the engine mechanics protection (page 532).
Fuel quantity limitation The engine mechanics protection (page 532) provides the limiting fuel quantity EngPrt_qPrtLim to protect
the engine from thermal overload (overheat protection). The overheat protection EngPrt_qPrtLim limits the
injected fuel quantity in the fuel quantity coordination (InjCtl_qCo, page 261).The limiting fuel quantity for
smoke limitation FlMng_qLimSmk is provided by the fuel management (FlMng, page 274). The smoke
limitation FlMng_qLimSmk is converted by the torque/fuel quantity converter (FMTC, page 265) to a limiting

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
torque FMTC_trqInrLimSmk, which is incorporated into the limiting torque CoEng_trqLim. It is necessary
to detour via the torque level so that the smoke limitation does not restrict the working range of the active
surge damper, which operates at torque level.

2.5.2 Application of the limitations


2.5.2.1 General The objective of the engine application is achieving a maximum torque as large as possible, which
corresponds to a large maximum fuel mass. Due to the vehicle (engine, gearbox) and the emission laws,
some order constraints have to be observed for the determination of the maximum fuel mass. These
constraints are assigned to the respective limitations of the EDC16 in the following.
Table 12: Limitations
Constraint) Taken into account in:
Smoke limit Smoke limitation quantity
FIMng_rLmbdSmk_MAP
FIMng_rLmbdFullLd_MAP
Engine mechanics protection (applicatable optionally
as quantity, inner or outer torque)
EngPrt_trqLim_CUR
EngPrt_qLim_CUR
Maximum combustion peak Engine mechanics protection
pressure EngPrt_trqLim_CUR
EngPrt_qLim_CUR
Maximum exhaust gas Engine mechanics protection
temperature EngPrt_trqLim_CUR
EngPrt_qLim_CUR
Maximum Gearbox
Torque Gearbx_trqInMax_C
(gearbox input torque) Gearbx_trqMaxGearR_CUR
Gearbx_trqMaxGear1_CUR
Gearbx_trqMaxGear2_CUR
Gearbx_trqMaxGear3_CUR
Gearbx_trqMaxGear4_CUR
Gearbx_trqMaxGear5_CUR
Gearbx_trqMaxGear6_CUR
Maximum Engine mechanics protection
Engine speed EngPrt_trqLim_CUR
EngPrt_qLim_CUR
EngPrt_trqNLim_CUR
Maximum engine temperature Engine mechanics protection
EngPrt_qOvhtPrv_MAP
Maximum dynamic of the torque Limiting torque (increase limit)
CoEng_nSlpLimMin_C
CoEng_dtrqSlpLimUp_C
CoEng_dtrqSlpLimDown_C

Notes:
In order to create a operating range for interventions of the active surge damper disturbance compensator,
a higher torque than the limiting torque CoEng_trqInrLim has to be permitted. An offset is defined with the
label CoEng_trqOffs_C by which the limiting torque CoEng_trqInrLim may be exceeded due to
interventions of the active surge damper disturbance compensator.
Experience shows that, depending on the operating condition of the engine (engine speed, dynamics), a
different one of the following limitations is active. In the stationary case, these are:
• n=1250 ..1500 1/min: smoke limitation
• n=1500..3000 1/min:
Maximum gearbox input torque, smoke limitation or maximum combustion peak pressure
• n=3500..4500 1/min: maximum combustion peak pressure, maximum exhaust gas temperature or smoke
limitation.

2.5.3 Limitations due to system er- Additional limitations should be activated in the event of certain system errors. There are four limitations for
rors propulsion torque, engine torque, injected fuel quantity and engine speed.

intro_functions.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Intro_Functions - 35 -
DS/ESM Dataflow-oriented functional description docu-Intro

Propulsion torque limitation due to system error If a system error occurs which should trigger a propulsion limitation, the drive train torque demand
CoVeh_trqPrpDes is restricted to a substitute value in the drive train order function (CoVeh_DrvTrnOrd, page
111). The limitation is switched on and off using a ramp function.
Engine torque limitation due to system error If a system error occurs which should trigger an additional torque limitation, the limitation torque calculation
( CoEng_trqLim, page 209) switches to the limitation in the event of an error via ramp.
Engine speed limitation due to system error In the event of a system error that triggers an additional engine speed limitation, the engine speed limitation
(via engine torque limitation) in the engine mechanics protection (page 532) switches to a substitute curve
via a ramp function.
Fuel quantity limitation due to system error If a system failure triggers the additional fuel quantity limitation, an additional limiting fuel quantity, which is
switched on and off via a ramp function, intervenes in the fuel quantity coordination (InjCtl_qCo, page 261).

2.5.4 Application of limitations due In general, a limitation due to a system error has to be applicated under the following aspects:
to system errors • The limitation must be large enough to prevent the system error from destroying the engine.
• If the driver should visit a service workshop due to the system error, the limitation has to be applicated in
a way that the engine power is perceptibly reduced. In addition, the diagnostic lamp can be energized.
• The driveability must not become critical to safety.

2.6 Functional overview of setpoint The following illustration shows (without claiming to be comprehensive) the setpoint path from driver
default command (without detailed representation) via the external interventions and the vehicle accessory
compensation, as well as internal engine torque and fuel quantity coordination, right through to the fuel
quantity setpoint for the injection unit.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Figure 19 : Overview of torque/fuel quantity setpoint-path

V e h ic le A c tiv e
T r a n s m is s io n L o w Id le S u rg e
S ta b ility
C o n tro l G o v e rn o r D a m p e r
C o n tro l
C o V M _ trq D e c

D rv T rn _ rT ra n s D T

G e a rb x _ trq D e c
C o V M _ trq In c

G e a rb x _ trq In c

A S D d c _ trq
L IG o v _ trq

A ir S y s _ q L im S m k

In jC tl_ q C u r r A ir
C r u is e C r C tl_ tr q D e s S y s te m
In jC tl_ q R a w
C o n tro l

F M T C _ tr q In r L im S m k
A c c P e d _ trq D e s F u e l F M T C _ q R a w
P rp _ trq R a w C o D T _ trq D e s C o E n g _ trq In rR a w
Q u a n tity F M T C _ q C u rr F u e l Q u a n tity
D r iv e r s C o D T P r o p u ls io n C o D T _ trq M a x D r iv e tr a in C o D T _ trq M a x E n g in e T o r q u e C o E n g _ trq In rC u rr
D e m a n d C o D T _ tr q M in C o n tro l C o D T _ tr q M in C o n tro l C o E n g _ tr q M in C o o r d in a tio n F M T C _ q S e t C o o r d in a tio n
C o E n g _ trq In rS e t
T o rq u e F M T C _ q S trt
C o V e h _ trq P rp D e s
C o V e h _ p w rA c s D e s

In jC tl_ q S e tU n B a l
C o V M _ trq P rp D e s

E n g P rt_ q O v h tP rv
S tS y s _ trq In rS trt
E n g P r t_ tr q P r tL im

In je c tio n
E n g M _ trq F rc

In jC r v _ p h iS tr tIn j S y s te m

A c c e s s o r ie s P o w e r

F B C _ q
M a n a g e m e n t V e h M o t_ p w rA c s D e s M a n a g e m e n t
B d In t_ p w rD e s
E S S _ p w rD e s F u e l
F r ic tio n a l E n g in e S ta r tin g
B a la n c in g
T o rq u e P r o te c tio n T o rq u e
C o n tro l
AirSsy_qLimSmkInjCtl_qRawCrtCl_trqDesAcPed_trqDesCoDT_trqMinCoVM_trqIncCoVM_trqDec DrvTn_rTansDTCoD_TtrqMinCoDT_trqDesCoEng_trqMinVehMot_pwrAscDesBdInt_pwrDesES p_wrDesStySs_trqInrStEngPrt_rqPrtLimI Gov_trq ASDdc_trqCoEng_trqInrCurFMTC_trqInrLimSmkCoEng_trqInrRawCoVM_trqPrpDesGearbx_trqDecCoVehp_wrAcsDesCoVhe_rtqPrpDesEnPgrt_qOvhtPrvFTMC_qCurFMTC_qSte FTMC_qRawFMTC_qSrt InCj tlq_CurEngM_trqFcIjnCtl_qSetUnBalInCj rv_phSi trInj CoEn_grtqInrSetFBC_q CoDT_rtqMaxPrp_trqRawCoDT_trqMax Gearbx_trqnI c

See “Calculation of torque/quantity setpoint” at the end of the documentation.

19.3.2002 intro_functions.fm
- 36 - Veh Y281 S01 363-V80 P_363 F80 JTD30
Veh Complete vehicle DS/ESM

3 Complete vehicle (Veh)


CARTORNIC-Structure:Veh

Overview of the component


Vehicle Comprises no functions at present. This component is the root component of the complete system
architecture.

Structure of the component The Veh component consists of the following subcomponents:
Figure 20 : Veh subcomponents

C o V e h

B d In t

D rv T rn

E n v D a

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
V e h E S S

T rD a

U s rD a

V e h D a

V e h M o t

veh_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoVeh - 37 -
DS/ESM Coordinator vehicle Veh-CoVeh

3.1 Coordinator vehicle (CoVeh)


CARTONIC-Sturcture:VehC-oVeh

Overview of the component


Coordinator vehicle The CoVeh object collects the BdInt, ESS and VehMot function group demands for mechanical torque, power
and engine speed. The drive train order is generated on the basis of this information. Additional tasks include:
• Vehicle accessory torque requirement management (permanent)
• Accessory torque requirement management (temporary)
• Energy management
• Generate order to drive train regarding torque and engine speed

Structure of the component The component has no subcomponents.

Subfunctions See “Vehicle accessory management (CoVeh_AcsMng)” on page 38.


See “Drive train order (CoVeh_DrvTrnOrd)” on page 40.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 coveh_overview.fm
- 38 - CoVeh_AcsMng Y281 S01 363-V80 P_363 F80 JTD30
Veh-CoVeh Vehicle accessory management DS/ESM

Vehicle accessory management (CoVeh_AcsMng)


CARTORNIC-Structure:Ve-hCoVeh

Functional overview The function collects the demands of the accessories regarding maximum engine speed, minimum engine
speed and power and summarizes them into corresponding setpoint values. In the process, power demands
are converted into torque demands.
Figure 21 : Vehicle accessory management - overview

B d In t_ n M a x

E S S _ n M a x M a x im u m C o V e h _ n A c s M a x
e n g in e s p e e d
V e h M o t_ n M a x r e q u ir e m e n t

B d In t_ n M in

E S S _ n M in M in im u m C o V e h _ n A c s M in
e n g in e s p e e d
V e h M o t_ n M in r e q u ir e m e n t

E n g _ n A v rg C o V e h _ trq A c s

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
E S S _ p w rD e s C o V e h _ trq A c s D e s

E S S _ p w rL e a d C o n v e r s io n C o V e h _ trq A c s L e a d
p o w e r to
to rq u e
B d In t_ p w rL e a d C o V e h _ trq A c s P e rm
P o w e r
V e h M o t_ p w rA c s D e s r e q u ir e m e n t C o V e h _ trq A c s T e m p

V e h M o t_ p w rA c s L e a d C o V e h _ p w rA c s D e s

B d In t_ p w rD e s C o V e h _ p w rA c s L e a d

A c c o r d in g to B o s c h s ta n d a r d
BdnI t_nMaxBdInt_Min BdInt_pwrDesBdnI t_pwrLeadCoVeh_nAcsMaxCoVe_hnAcsMinCoVeh_pwrAscDes CoVe_hpwrAcsLeadCoVeh_trqAcsCoVeh_trqAcsDesCoVhe_trqAcsLeadCoVeh_trqAcsPemr CoVeh_trqAcsTempEng_nAvrgES_nMaxES _nMinES_pwrDesES_pwrLeadVhMot_nMaxVehMot_nMinVehMot_pwrAcsDesVehMot_pwrAcsLead

Functional description 1. The setpoints and lead values of the power demands from the function groups ”body and interior”
(BdInt_pwrDes, BdInt_pwrLead), ”electrical supply system” (ESS_pwrDes, ESS_pwrLead) and ”vehicle
motion” (VehMot_pwrAcsDes, VehMot_pwrAcsLead) are summed up including the accessories mapped
there. The power sums are stored in the variables CoVeh_pwrAcsDes and CoVeh_pwrAcsLead as an input
for the function “Drive train order (CoVeh_DrvTrnOrd)” on page 40.
The partial sums of the power setpoint values from temporary (”Temp”) and permanently active (”Perm”)
vehicle accessories are converted into a corresponding torque demand for the crankshaft using the
engine speed Eng_nAvrg, and made available to the system as CoVeh_trqAcsTemp or
CoVeh_trqAcsPerm. Due to the conversion of power to torque (see formula 1) or an engine speed which
approaches zero, a minimum selection between engine speed Eng_nAvrg and the parameter
CoVeh_nPwr2TrqMin_C is carried out.
2. The engine speed requirements for the BdInt, ESS and VehMot function groups (including the
accessories mapped there) are collected and summarized into one setpoint value for each function group.
The results are made available to the system as CoVeh_nAcsMin and CoVeh_nAcsMax. The sum of
CoVeh_trqAcsTemp and CoVeh_trqAcsPerm is output as a total torque demand of the accessories
CoVeh_trqAcs.
Figure 22 : Engine speed demand

BdInt_nMin

ESS_nMin CoVeh_nAcsMin

VehMot_nMin

BdInt_nMax

ESS_nMax CoVeh_nAcsMax

VehMot_nMax
CoVhe_nAcsMinES _nMinBdInt_Min VheMot_nMinCoeVh_nAcsMaxVeMhot_nMaxBIdnt_MaxES_nMax

coveh_acsmng.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoVeh_AcsMng - 39 -
DS/ESM Vehicle accessory management Veh-CoVeh

Figure 23 : Torque demand

pwr2trq
CoVeh_trqAcsDes

VehMot_pwrAcsDes CoVeh_pwrAcsDes

ESS_pwrDes pwr2trq
CoVeh_trqAcsPerm

CoVeh_trqAcs

BdInt_pwrDes pwr2trq
CoVeh_trqAcsTemp

Eng_nAvrg
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

CoVeh_nPwr2TrqMin_C

pwr2trq
CoVeh_trqAcsLead

ESS_pwrLead

BdInt_pwrLead CoVeh_pwrAcsLead

VehMot_pwrAcsLead
BdnI t_pwrDesBdInt_pwrLeadCoVeh_nPwr2TrqMin_CoVe_hpwrAcsDes CoVeh_pwrAcsLeadCoVe_htrqAcsCoVeh_trqAcsDesCoVeh_trqAcsLeadCoVe_htrqAcsPermCoVhe_trqAcsTempEng_nAvrgES_pwrDesES_pwrLeadVhMot_pwrAcsDesVehMot_pwrAcsLead

In the following functional block the conversion from power to torque is implemented according to the formula
Equation 1: Formula: power to torque conversion

trq [N m ] = (p w r [W ] . 6 0 ) / 2 F . n [rp m ])

Figure 24 : Function block: power to torque conversion

pwr
get_trq
n

cl_pwr2trq

ECU initialization All values are set to '0’ or 'FALSE’.

Output values CoVeh_nAcsMax: maximum engine speed for accessories [rpm] <SWORD> --->
CoVeh_nAcsMin: minimum engine speed for accessories [rpm] <SWORD> --->
CoVeh_pwrAcsDes: desired power for accessories [W] <SWORD> --->
CoVeh_pwrAcsLead: lead power for accessories [W] <SWORD> --->
CoVeh_trqAcs: Torque requirement of the accessories [Nm] <SWORD> --->
CoVeh_trqAcsDes: desired torque of accessories [Nm] <SWORD> --->
CoVeh_trqAcsLead: accessories lead torque demand [Nm] <SWORD> --->
CoVeh_trqAcsPerm: torque of permanent active accessories [Nm] <SWORD> --->
CoVeh_trqAcsTemp: torque of temporary active accessories [Nm] <SWORD> --->

Input values BdInt_nMax: maximum engine speed required by Body[amp ]Interior [rpm] <SWORD> --->
BdInt_nMin: minimum engine speed required by Body[amp ]Interior [rpm] <SWORD> --->
BdInt_pwrDes: power demand of Body and Interior [W] <SWORD> --->
BdInt_pwrLead: lead power demand of Body and Interior [W] <SWORD> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
ESS_nMax: maximum engine speed of ESS [rpm] <SWORD> --->
ESS_nMin: minimum engine speed demanded by ESS [rpm] <SWORD> --->
ESS_pwrDes: requested power of ess [W] <SWORD> --->
ESS_pwrLead: lead power of Electrical Supply System [W] <SWORD> --->
VehMot_nMax: maximum engine speed of vehicle motion [rpm] <SWORD> --->
VehMot_nMin: minimum engine speed for vehicle motion [rpm] <SWORD> --->
VehMot_pwrAcsDes: desired power of vehicle motion accessories [W] <SWORD> --->
VehMot_pwrAcsLead: lead power of vehicle motion accessories [W] <SWORD> --->

Application parameters CoVeh_nPwr2TrqMin_C: Minimum engine speed used for calculating power to torque.<value> -
-->

19.3.2002 coveh_acsmng.fm
- 40 - CoVeh_DrvTrnOrd Y281 S01 363-V80 P_363 F80 JTD30
Veh-CoVeh Drive train order DS/ESM

Drive train order (CoVeh_DrvTrnOrd)


CARTORNIC-Structure:Ve-hCoVeh

Functional overview The function group vehicle motion (VehMot) and the vehicle accessory management make demands
regarding engine speed and torque.
From this, the function forms the order to the drive train. This order consists of a minimum and maximum
engine speed, a propulsion torque and its lead value.
Order minimum engine speed = f(Setpoint engine speed,
Minimum engine speed for accessories)
Order propulsion torque = f(Demand propulsion torque,
Lead propulsion torque,
Substitute value torque at gearbox output in case of system error)
Figure 25 : Order for propulsion - overview

C o V e h _ tr q L im E r r
C o V e h _ tr q P r p L im E r r
E n g _ n A v rg
G e n e r a tio n o f C o V e h _ trq P rp D e s
C o V M _ trq P rp D e s to rq u e d e m a n d
to d r iv e tr a in
C o V e h _ trq P rp L e a d

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
C o V M _ trq P rp L e a d

C o V e h _ n A c s M a x
C o V e h _ n M a x
A c c P e d _ n M in
G e n e r a tio n o f C o V e h _ n M in
C o V e h _ n A c s M in e n g in e s p e e d o r d e r
to d r iv e tr a in C o V e h _ s tO rd
C o V M _ s tO rd

A c c o r d in g to B o s c h s ta n d a r d
AcPed_nMinCoVe_hnAcsMax CoVeh_nAcsMinCoVe_hnMax CoVe_hnMinCoVeh_stOrd CoVe_htrqLimErCoVhe_trqPrpDesCoVeh_trqPpLeadCoVeh_trqPrpLimErCoVM_stOrdCoMV_trqPrpDeCsoVM_trqPrpLeadEn_gnAvrg

Functional description The function calculates the "order propulsion torque" CoVeh_trqPrpDes and the "order for the implemented
as provisional substitute propulsion torque" CoVeh_trqPrpLead. Furthermore, the function collects the
demands from vehicle motion CoVM_stOrd and from the function “Vehicle accessory management
(CoVeh_AcsMng)” (CoVeh_nAcsMin, CoVeh_nAcsMax) and formulates from these the order for the drive train.
Figure 26 : Generation of torque demand to drive train

CoVM_trqPrpDes
CoVeh_trqPrpDes

CoVeh_trqPrpLimErr

CoVeh_trqPrpLead
CoVM_trqPrpLead

CoVM_stOrd CoVeh_stOrd

CoVhe_stOrdCoVeh_trqPrpDesCoVeh_trqPrpLeadCoVhe_trqPprLimErCoVM_stOrdCoVM_trqPpDesCoVM_trqPrpLead

If necessary, the low-idle setpoint speed CoVeh_nMin is increased by the accelerator pedal demand
AccPed_nMin.
Figure 27 : Generation of engine speed order to drive train

AccPed_nMin
CoVeh_nMin

CoVeh_nAcsMin

CoVeh_nAcsMax CoVeh_nMax

AcPed_nMinCoVe_hnAcsMax CoVeh_nAcsMinCoVe_hnMax CoVe_hnMin

Substitute function If the function identifier Fid_CoVehtrqLimErr_mp is not inhibited by an error, the limitation
CoVeh_trqPrpLimErr of the propulsion torque is inactive. This means CoVeh_trqPrpLimErr is set to a
maximum value.
If an error occurs which limits the propulsion (Fid_CoVehtrqLimErr_mp.0 = 0), CoVeh_trqPrpLimErr is
initialized with the maximum from CoVeh_trqPrpDes and CoVeh_trqPrpLead. Then, CoVeh_trqPrpLimErr
is reduced to the output value of the limiting curve CoVeh_trqLim_CUR using a ramp function with the slope
CoVeh_dtrqLimDwn_C.
If the limiting demand is no longer present (Fid_CoVehtrqLimErr_mp.0 = 1), CoVeh_trqPrpLimErr is
increased with the slope CoVeh_dtrqLimUp_C until neither CoVeh_trqPrpDes nor CoVeh_trqPrpLead are
limited by CoVeh_trqPrpLimErr.

coveh_drvtrnord.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoVeh_DrvTrnOrd - 41 -
DS/ESM Drive train order Veh-CoVeh

Figure 28 : Limitation CoVeh_trqPrpLimErr of the propulsion torque in the event of an error

F id _ C o V e h _ tr q P r p L im E r r _ m p .0

c o v e h _ d rv trn o rd _ 2 .d s f
C o V e h _ d tr q L im D w n _ C
C o V e h _ d tr q L im U p _ C
T R Q P R P _ M A X
s w p o s p a ra m
P
x a
y
x b p o s C o V e h _ tr q P r p L im E r r
E n g _ n A v rg a c tiv e
T 0 is w
C o V e h _ tr q L im _ C U R
C o V e h _ tr q P r p L im E r r w ill b e in itia lis e d
a t d o w n r a m p in g w ith m a x im u m o f
C o V e h _ trq P rp D e s a n d C o V e h _ trq P rp L e a d
CoVhe_dtrqLimDwn_CoVhe_dtrqLimUp_CoVeh_trqLim_CURoCVeh_trqPrpLimErEng_nAvrgFid_CoVehtrqLimEr_mp CoVeh_trqPpDesCoVeh_trqPrpLead

ECU initialization CoVeh_trqPrpDes and CoVeh_trqPrpLead are preset with a minimum possible propulsion torque and
CoVeh_trqPrpLimErr with a maximum value. If the propulsion limitation is active
(Fid_CoVehtrqLimErr_mp.0 = 0), CoVeh_trqPrpLimErr is immediately without ramp switched to the output
value of the limitation curve CoVeh_trqLim_CUR. CoVeh_nMax is initialized with a maximum possible engine
speed, CoVeh_nMin with 0.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Output values CoVeh_nMax: maximum allowed engine speed [rpm] <SWORD> --->
CoVeh_nMin: minimum requsted engine speed [rpm] <SWORD> --->
CoVeh_stOrd: boundary conditions for physical order [-] <UBYTE> --->
CoVeh_trqPrpDes: desired torque for propulsion [Nm] <SWORD> --->
CoVeh_trqPrpLead: lead torque for propulsion [Nm] <SWORD> --->
CoVeh_trqPrpLimErr: limitation torque for propulsion at system error [Nm] <SWORD> --->

Input values AccPed_nMin: low idle set point on AccPed error [rpm] <SWORD> --->
CoVeh_nAcsMax: maximum engine speed for accessories [rpm] <SWORD> --->
CoVeh_nAcsMin: minimum engine speed for accessories [rpm] <SWORD> --->
CoVeh_trqLimErr: Substitute value torque at gearbox output in case of system error [[Nm]]
CoVM_stOrd: boundary conditions for physical order [-] <UBYTE> --->
CoVM_trqPrpDes: desired torque for propulsion [Nm] <SWORD> --->
CoVM_trqPrpLead: lead torque for propulsion [Nm] <SWORD> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->

Measuring points Fid_CoVehtrqLimErr_mp: Measurement point for Function Identifier Fid_CoVehtrqLimErr [-]
<UBYTE> --->

Application parameters CoVeh_dtrqLimDwn_C: torque step down on system error<value> --->


CoVeh_dtrqLimUp_C: torque step up on healing of system error<value> --->
CoVeh_trqLim_CUR: substitute value for propulsion torque on system
error<curve_individual> --->

19.3.2002 coveh_drvtrnord.fm
- 42 - VehMot Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot Vehicle motion DS/ESM

3.2 Vehicle motion (VehMot)


CARTORNIC-Structure:Ve-hVehMot

Overview of the component


Vehicle motion The VehMot component determines the requirements of the accessories with regard to performance and
engine speed. In the subcomponents the demands of the system regarding longitudinal motion, steering and
chassis are formed and coordinated.

Structure of the component The VehMot component consists of the following subcomponents:
Figure 29 : VehMot subcomponents

C o V M

P rp B rk

V e h M o t

W h lD a

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
S trg

Subfunctions See “Coordination of vehicle motion accessories (VehMot_AcsMotCord)” on page 43.

vehmot_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 VehMot_AcsMotCord - 43 -
DS/ESM Coordination of vehicle motion accessories Veh-VehMot

Coordination of vehicle motion accessories (VehMot_AcsMotCord)


CARTONIC-Sturcture:VehV-eMhot

Functional overview This function compiles the power requirement and the lead power of the accessories of the vehicle motion
function group (VehMot). In the current implementation, this is the demand of the function group steering
(SrvPmp). The possible engine speed range is defined and also output.
Figure 30 : Coordination of accessories of the vehicle motion - overview

S rv P m p _ p w rD e s V e h M o t_ p w rA c s D e s

S rv P m p _ p w rL e a d V e h M o t_ p w rA c s L e a d

V e h M o t_ n M a x
D e fin itio n o f
e n g in e s p e e d V e h M o t_ n M in
ra n g e

A c c o r d in g to B o s c h s ta n d a r d
SrvPmp_wrDesSrvPmp_ wrLeadVhMot_nMaxVehMot_nMinVehMot_pwrAcsDesVehMot_pwrAcsLead

Functional description The permitted engine speed range VehMot_nMin or VehMot_nMax is not limited. The upper limit is defined
using the permitted maximum value ENG_N_MAX.
The power requirement of the vehicle accessories VehMot_pwrAcsDes corresponds to that of the steering
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

(SrvPmp_pwrDes). The same is valid for the lead.


Figure 31 : Coordination of vehicle motion accessories

SrvPmp_pwrDes VehMot_pwrAcsDes

SrvPmp_pwrLead VehMot_pwrAcsLead

ENG_N_ZERO VehMot_nMin

SrvPmp_wrDesSrvPmp_ wrLeadVhMot_pwrAcsDesVehMot_pwrAcsLead VehMot_nMinVeMhot_nMax

ECU initialization • Set VehMot_nMax to ENG_N_MAX, all other values are set to ‘0’.

Output values VehMot_nMax: maximum engine speed of vehicle motion [rpm] <SWORD> --->
VehMot_nMin: minimum engine speed for vehicle motion [rpm] <SWORD> --->
VehMot_pwrAcsDes: desired power of vehicle motion accessories [W] <SWORD> --->
VehMot_pwrAcsLead: lead power of vehicle motion accessories [W] <SWORD> --->

Input values SrvPmp_pwrDes: desired power of servo pump [W] <SWORD> --->
SrvPmp_pwrLead: lead power of servo pump [W] <SWORD> --->

19.3.2002 vehmot_acsmotcord.fm
- 44 - CoVM Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-CoVM Vehicle motion coordinator DS/ESM

3.2.1 Vehicle motion coordinator (CoVM)


CARTORNIC-Structure:Ve-hVehMot-CoVM

Overview of the component


Coordinator Vehicle Motion The component CoVM checks the interventions to vehicle dynamic received from CAN for plausibility and in
active safety systems corrects the demands of longitudinal motion on the propulsion torque.

Structure of the component The CoVM component has no subcomponents.

Subfunctions See “Demand coordination (CoVM_DemCord)” on page 45.


See “Propulsion stabilization check (CoVM_DemCheck)” on page 50.
See “Propulsion stabilization (CoVM_StabDem)” on page 48.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

covm_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoVM_DemCord - 45 -
DS/ESM Demand coordination Veh-VehMot-CoVM

Demand coordination (CoVM_DemCord)


CARTONIC-Sturcture:VehV-eMho-t CoVM

Functional overview The driving stability functions (traction control, engine drag torque control) influence the torque setpoint value
via increasing or decreasing interventions.
The function takes these interventions into account and links them to the propulsion torque demand of the
longitudinal movement to form a torque demand.
Figure 32 : Demand coordination - overview

C o V M _ s tA c tD e m

C o V M _ trq D e c C o V M _ s tA c tD e m

C o V M _ trq In c C o V M _ s tO rd

D rv T rn _ rT ra n s D T C o V M _ trq G e a rb x M a x
R e q u ir e m e n t
G e a rb x _ trq F rc c o o r d in a tio n C o V M _ tr q G e a r b x M in

P rp B rk _ trq D e s C o V M _ trq P rp D e s
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

P rp B rk _ trq L e a d C o V M _ trq P rp L e a d

V e h D a _ s tT rq D e m

A c c o r d in g to B o s c h s ta n d a r d
CoV_MstActDemCoVM_stOrdCoVM_trqDecCoVM_trqGearbxMax CoVM_trqGearbxMinCoVM_trqIncCoVM_trqPrpDesCoMV_trqPrpLeadDrvTrn_TransDTGearbx_trqFrcPrpBrk_trqDesPrpBrk_trqLeadVehaD_stTrqDem

Functional description
Overview The intervention signals of the vehicle dynamic CoVM_trqInc (increasing intervention) or CoVM_trqDec
(decreasing intervention) are linked to the driver command PrpBrk_trqDes to form a resulting torque
demand CoVM_trqPrpDes. For active interventions, additional auxiliary signals are formed to provide priority
over transmission interventions (details see below). Active interventions are displayed in CoVM_stActDem.
A coordination is carried out for the lead path as well but is organized differently (details see below).
Some constraints were defined together with the physical order under which the physical order is to be
carried out. The description was chosen in such a way that these constraints are defined independently of
the internal characteristics of the diesel engine. This is the data word CoVM_stOrd which is passed along
parallel to the setpoint value coordinations and, therefore, sometimes changes the component name. Thus,
this status word is called CoVeh_stOrd in the component "CoVeh" and CoDT_stOrd in the component
"CoDT".
Per default all bits of CoVM_stOrd are set to FALSE.
Table 13: Assignment of CoVM_stOrd:
Bit position Description Condition
0 Dynamics required VehDa_stTrqDem = VEHDA_TRQINC (if bit 3 is set to 1)
(for active vehicle dynamics intervention)
1 Maximum dynamics required not used at present
2 Ignore emissions not used at present
3 Ignore component protection not used at present
4 Inhibiting of gear shift required not used at present
5 Ignore comfort not used at present
6 not used not used at present
7 not used not used at present

Figure 33 : Overview vehicle dynamic interventions

CoVM_trqInc
CoVM_stActDem

CoVM_trqDec
CoVM_trqGearbxMin
DrvTrn_rTransDT
stability desires
PrpBrk_trqDes CoVM_trqPrpDes

Gearbx_trqFrc
CoVM_trqGearbxMax

stability lead
PrpBrk_trqLead CoVM_trqPrpLead

set order state


CoVM_stOrd

PrpBrk_trqDesPrpBrk_trqLeadCoVM_trqDec CoVM_trqIncCoVM_stOrdCoVM_trqPrpLeadCoVM_trqGearbxMinCoVM_trqGearbxMaxCoVM_trqPrDpesCoVM_stActDemDrTvrn_rTansDTGearbx_trqFc

Setpoint intervention The longitudinal motion demand PrpBrk_trqDes is coordinated with the stability demands CoVM_trqDec and
CoVM_trqInc by maximum or minimum formation. Minimum formation, coordinated.

19.3.2002 covm_demcord.fm
- 46 - CoVM_DemCord Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-CoVM Demand coordination DS/ESM

To give the vehicle dynamics interventions priority over the gearbox intervention, the vehicle dynamics
interventions are converted to clutch torque and made available as CoVM_trqGearbxMax and
CoVM_trqGearbxMin. CoVM_trqGearbxMax is calculated from CoVM_trqInc divided by drive train gain
DrvTrn_rTransDT minus gearbox friction Gearbx_trqFrc. This value is then the lower limit for a decreasing
gearbox intervention. In the same way, the decreasing intervention CoVM_trqDec is converted and provided
as CoVM_trqGearbxMin. This value is then the upper limit for an increasing gearbox intervention (see
“Gearbox intervention to torque (Gearbx_TrqIntv)” on page 128). In the case of non-active interventions,
default values are transmitted, so that the gearbox interventions are not limited. Information on active
interventions is available in CoVM_stActDem (see “Assignment of CoVM_stActDem” on page 46).
Table 14: Assignment of CoVM_stActDem
Bit Bit Description
position Value
0 0 Reducing intervention torque traction control (TCS):
1 Reducing intervention is inactive.
Reducing intervention active (CoVM_trqPrpDes < PrpBrk_trqDes ).
4 0 Increasing intervention torque DCS:
1 Increasing intervention is inactive.
Increasing intervention active (CoVM_trqPrpDes > PrpBrk_trqDes ).
1-3,5-7 0 vacant

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Figure 34 : Setpoint intervention vehicle dynamic [stability desires]

CoVM_stActDem
CoVM_stActDem SetBit SetBit
0 4

CoVM_trqGearbxMin

CoVM_trqDec
CoVM_trqPrpDes

PrpBrk_trqDes

CoVM_trqInc

CoVM_trqDesIncMax_mp

CoVM_trqGearbxMax

DrvTrn_rTransDT

Gearbx_trqFrc
CoVM_stActDemCoVM_trqGearbxMaxCVoM_trqPrpDesPrpBrk_trqDesCoVM_trqDecCoVM_trqIncCoVM_trqGearbxMinCoVM_trqDesIncMax_mpCoVM_stActDemDrvTrn_TransDTGearbx_trqFrc

Lead intervention The standard method of forming the lead value of the vehicle motion CoVM_trqPrpLead is by maximum
formation from the lead value of the longitudinal vehicle-motion PrpBrk_trqLeadand of the increasing
driving-dynamics control CoVM_trqInc, since only increasing interventions can enter the lead path. For a
decreasing intervention of long duration (active longer than CoVM_tiTrqRedMax_C) the lead value
CoVM_trqPrpLead is limited to CoVM_trqDec via a ramp with the slope CoVM_dtrqLeadCorDwn_C to avoid
permanent control deviations in the air system. If the decreasing intervention is terminated, the software
switches back to driver command. At that moment, however, both values are identical, so that no ramp is
started.

covm_demcord.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoVM_DemCord - 47 -
DS/ESM Demand coordination Veh-VehMot-CoVM

Figure 35 : Lead intervention vehicle dynamic [stability lead]

CoVM_dtrqLeadCorDwn_C

CoVM_tiTrqRedMax_C

start
1/

EdgeRising

Timer

CoVM_trqDec

Ramp Switch
CoVM_trqInc CoVM_trqPrpLead

PrpBrk_trqLead
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

CoVM_trqLeadIncMax_mp
CoV_MtrqPrpLeadCoVM_tiTrqRedMax_C oMV_dtrqLeadCorDnw_CPrpBrk_trqLead CoVM_trqIncCoVM_trqDecCoVM_trqLeadIncMax_mp

ECU initialization Setpoint value and lead are set to minimum propulsion torque.
The limiting values for gearbox interventions are set to minimum or maximum engine torque.
The constraints are set to 0.

Output values CoVM_stActDem: status bits current TCS,DCS demand [-] <UBYTE> --->
CoVM_stOrd: boundary conditions for physical order [-] <UBYTE> --->
CoVM_trqGearbxMax: limitation of decrement gearbox demand [Nm] <SWORD> --->
CoVM_trqGearbxMin: limitation of increment gearbox demand [Nm] <SWORD> --->
CoVM_trqPrpDes: desired torque for propulsion [Nm] <SWORD> --->
CoVM_trqPrpLead: lead torque for propulsion [Nm] <SWORD> --->

Input values CoVM_stActDem: status bits current TCS,DCS demand [-] <UBYTE> --->
CoVM_trqDec: checked torque demand of ASR [Nm] <SWORD> --->
CoVM_trqInc: checked torque demand of MSR [Nm] <SWORD> --->
DrvTrn_rTransDT: drivetrain transmission (wheel torque per engine torque) [-] <SWORD> --->
Gearbx_trqFrc: current frictional torque of gearbox [Nm] <SWORD> --->
PrpBrk_trqDes: x-movement torque demand [Nm] <SWORD> --->
PrpBrk_trqLead: lead torque of Propulsion and Brake [Nm] <SWORD> --->
VehDa_stTrqDem: state of active torque demands [-] <UWORD> --->

Measuring points CoVM_trqDesIncMax_mp: The maximum value between PrpBrk_trqDes [amp ] CoVM_trqInc [Nm]
<SWORD> --->
CoVM_trqLeadIncMax_mp: The maximum value between PrpBrk_trqLead [amp ] CoVM_trqInc [Nm]
<SWORD> --->

Application parameters CoVM_dtrqLeadCorDwn_C: ramp slope to decrease ASR lead<value> --->


CoVM_tiTrqRedMax_C: time to detect long ASR intervention<value> --->

19.3.2002 covm_demcord.fm
- 48 - CoVM_StabDem Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-CoVM Propulsion stabilization DS/ESM

Propulsion stabilization (CoVM_StabDem)


CARTORNIC-Structure:Ve-hVehMot-CoVM

Functional overview For certain vehicle states, the vehicle dynamics control must be able to transmit the torque interventions of
TCS (Traction Control System) and DCS (Drag Torque Control System) to the engine control unit. The
function controls the torque interventions of TCS and DCS depending on the vehicle dynamics control.
Torque intervention of TCS
= f(Control bit of the shut-off control of the vehicle dynamics intervention,
Vehicle dynamics configuration
Torque at gearbox output demanded by TCS)
Torque intervention of DCS
= f(Control bit of the shut-off control of the vehicle dynamics intervention,
Vehicle dynamics configuration
Torque at gearbox output demanded by DCS)
Figure 36 : Propulsion stabilization - overview

F rm M n g _ trq D C S
C o V M _ trq In c
C o V M _ s tD e m C h e c k 0

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
P r o p u ls io n
C o V M _ s w tS lip C tl s ta b iliz a tio n
0 C o V M _ trq D e c
F rm M n g _ trq T C S

A c c o r d in g to B o s c h s ta n d a r d
CoVM_stDemCheckCoVM_swtSlipCtloVM_trqDecCoVM_trqIncFrmMng_trqDCSFrmMng_trqTCS

Functional description The function is informed via CoVM_swtSlipCtl which vehicle dynamics system is present in the vehicle (see
“Assignment of CoVM_swtSlipCtl” on page 48).
Table 15: Assignment of CoVM_swtSlipCtl
Value Description
(dec.)
0 No TCS and no DCS system
1 TCS
2 DCS
3 TCS and DCS

If at least one of the driving dynamics systems is present, the corresponding intervention torque, controlled
by CoVM_stDemCheck, takes effect in the torque setpoint path (see “Assignment of CoVM_stDemCheck” on
page 48).
With CoVM_stDemCheck.Bit0 = 1 corresponding to CoVM_trqDec of the message FrmMng_trqTCS.
CoVM_stDemCheck.Bit0 =0 terminates the intervention. Depending on CoVM_stDemCheck.Bit1, CoVM_trqDec
is set hard or via a ramp to the shut-off value. The shut-off value is the maximum torque which can be
represented (TRQPRP_MAX).
With CoVM_stDemCheck.Bit4 = 1 corresponding to CoVM_trqInc of the message FrmMng_trqDCS.
CoVM_stDemCheck.Bit4 =0 terminates the intervention. Depending on CoVM_stDemCheck.Bit5, CoVM_trqInc
is set to the shut-off value hard or via a ramp. The shut-off value is the minimum torque which can be
represented (TRQPRP_MIN).
Table 16: Assignment of CoVM_stDemCheck
Bit Bit Description
position Value
0 0 Shut off of TCS intervention torque (FrmMng_trqTCS)
1 Shut off TCS intervention torque
Switch on TCS intervention torque
1 0 Hard shut off of TCS intervention torque or shut-off via ramp:
1 Hard shut-off of TCS intervention torque
Shut-off of TCS intervention torque via ramp
4 0 Shut-off of the DCS intervention torque (FrmMng_trqDCS)
1 Shut-off DCS intervention torque
Switch on DCS intervention torque
5 0 Shut-off DCS intervention torque hard or via ramp:
1 Hard shut-off of DCS intervention torque
Shut-off of DCS intervention torque via ramp
2,3,6,7 0 vacant

covm_stabdem.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoVM_StabDem - 49 -
DS/ESM Propulsion stabilization Veh-VehMot-CoVM

Figure 37 : Setpoint intervention TCS


CoVM_swtSlipCtl

0 GetBit
CoVM_stDemCheck GetBit
CoVM_stDemCheck 0
CoVM_dtrqRmpSlpUpTCS_C GetBit
1
slopepos
slopeneg
CoVM_dtrqRmpSlpDwnTCS_C

TRQPRP_MAX
CoVM_trqDecDfl_mp
TRQPRP_MAX

dT
CoVM_trqDec
CoVM_trqDec
FrmMng_trqTCS
CoV_MdtrqRmpSlpDwnTCS_CoVM_dtrqRmpSlpUpTCS_C CoVM_swtSlipCtlFrmMng_trqTCS oVM_trqDecCoVM_trqDecCoVM_trqDecDfl_mpCoVM_stDemCheckCoVM_stDemCheck

Figure 38 : Setpoint intervention DCS


© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

CoVM_swtSlipCtl

1 GetBit
CoVM_stDemCheck GetBit
CoVM_stDemCheck 4
CoVM_dtrqRmpSlpUpDCS_C GetBit
5
slopepos
slopeneg
CoVM_dtrqRmpSlpDwnDCS_C

TRQPRP_MIN
CoVM_trqIncDfl_mp
TRQPRP_MIN

dT
CoVM_trqInc
CoVM_trqInc
FrmMng_trqDCS
CoV_MdtrqRmpSlpUDC_SC oVM_dtrqRmpSl DwnDCSC_ oVM_swtSlipCtloVM_trqIncFrmMng_trqDCSoVM_trqIncCoVM_trqIncDfl_mpCoVM_stDemChcekCoVM_stDemCheck

ECU initialization CoVM_trqDec is initialized with the maximum torque which can be represented (TRQPRP_MAX) .
CoVM_trqInc is initialized with the minimum torque which can be represented (TRQPRP_MIN) .
CoVM_swtSlipCtl is initialized with the EEPROM value. TCS and DCS interventions are deactivated.

Output values CoVM_trqDec: checked torque demand of ASR [Nm] <SWORD> --->
CoVM_trqInc: checked torque demand of MSR [Nm] <SWORD> --->

Input values CoVM_stDemCheck: status bits to switch off the torque demand [-] <UBYTE> --->
CoVM_swtSlipCtl: configuration of traction control (0: ASR off, MSR off; 1: ASR on, MSR
off; 2: ASR off, MSR on; 3: ASR on, MSR on) [-] <UBYTE> --->
FrmMng_trqDCS: Drag-torque Control System (DCS) gearbox output torque demand [Nm] <SWORD>
--->
FrmMng_trqTCS: Tracktion Control System (TCS) gearbox output torque demand [Nm] <SWORD>
--->

Measuring points CoVM_trqDecDfl_mp: Switch off torque TCS [Nm] <SWORD> --->
CoVM_trqIncDfl_mp: Switch off torque DCS [Nm] <SWORD> --->

Application parameters CoVM_dtrqRmpSlpDwnDCS_C: Ramp by lowing setpoint for substitiut torquedemand DCS<value>
--->
CoVM_dtrqRmpSlpDwnTCS_C: Ramp by lowing setpoint for substitiut torquedemand TCS<value>
--->
CoVM_dtrqRmpSlpUpDCS_C: Ramp by raising setpoint for substitiut torquedemand DCS<value>
--->
CoVM_dtrqRmpSlpUpTCS_C: Ramp by raising setpoint for substitiut torquedemand TCS<value>
--->

19.3.2002 covm_stabdem.fm
- 50 - CoVM_DemCheck Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-CoVM Propulsion stabilization check DS/ESM

Propulsion stabilization check (CoVM_DemCheck)


CARTORNIC-Structure:Ve-hVehMot-CoVM

Functional overview For certain operating states, TCS (traction control system) and DCS (drag torque control system) must check
the torque demands of the vehicle dynamics control and switch it off if necessary.
By means of the information provided via the CAN interface, the propulsion stabilization check determines
whether a vehicle dynamics intervention is effective or not. This information is supplied to the propulsion
stabilization. The evaluation is made separately for DCS and TCS interventions. In addition, the driving
dynamics configuration which is activated is also output.
Shut-off status of the vehicle dynamics interventions
= f(Demand propulsion torque,
Status TCS torque intervention,
Status DCS torque intervention,
DCS torque at gearbox output
Minimum possible drive torque,
Propulsion torque demand of the longitudinal motion)
Figure 39 : Propulsion stabilization check - overview

F rm M n g _ s tT C S

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
P rp B rk _ trq D e s

T C S
C o D T _ tr q M in d e m a n d
C o V M _ s w tP la u s C h k
C o V M _ trq P rp D e s
P r o p u ls io n C o V M _ s tD e m C h e c k
s ta b iliz a tio n
c h e c k
C o V M _ s w tS lip C tl

D C S
F rm M n g _ s tD C S d e m a n d

F rm M n g _ trq D C S
A c c o r d in g to B o s c h s ta n d a r d
CoD_TtrqMinCoVM_stDemCheckCoVM_swtPlausChkCoMV_swtSlipCtloVM_trqPrpDesFrmMng_stDCS FrmMng_stTCSFrmMng_trqDCPSrpBrk_trqDes

Functional description
Table 17: Assignment of CoVM_swtSlipCtl
Value Description
(dec.)
0 No TCS and no DCS system
1 TCS
2 DCS
3 TCS and DCS

Figure 40 : Overview propulsion stabilization check and propulsion stabilization

CoDT_trqMin

evaluation of
FrmMng_stDCS breaking off criterion
FrmMng_stTCS

CoVM_stDemCheck

CoVM_swtSlipCtl

breaking off
TCS and DCS demand CoVM_trqDec
FrmMng_trqTCS
CoVM_trqInc
FrmMng_trqDCS
FrmMng_trqDCSFrmMng_trqTCS oVM_trqDecCoVM_trqIncCoVM_swtSli pCtloVM_stDemCheckFrmMng_stTCSFrmMng_stDCS CoDT_trqMin

Table 18: Assignment of CoVM_stDemCheck


Bit Bit
position Value Description
Shut off of TCS intervention torque (FrmMng_trqTCS)
0 0 Shut off TCS intervention torque
1 Switch on TCS intervention torque
Hard shut off of TCS intervention torque or shut-off via ramp:
1 0 Hard shut-off of TCS intervention torque
1 Shut-off of TCS intervention torque via ramp
Shut-off of the DCS intervention torque (FrmMng_trqDCS)
4 0 Shut-off DCS intervention torque
1 Switch on DCS intervention torque
Shut-off DCS intervention torque hard or via ramp:
5 0 Hard shut-off of DCS intervention torque
1 Shut-off of DCS intervention torque via ramp

covm_demcheck.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoVM_DemCheck - 51 -
DS/ESM Propulsion stabilization check Veh-VehMot-CoVM

Bit Bit
position Value Description

2,3,6,7 0 vacant

If a decreasing vehicle dynamics intervention (FrmMng_stTCS.Bit5 =1) is demanded during normal operation,
CoVM_stDemCheck.Bit0 =1 is set. In doing so, FrmMng_trqTCStakes effect as a decreasing torque
CoVM_trqDec (see “Setpoint intervention TCS” on page 49). The increasing intervention is demanded via
FrmMng_stDCS.Bit5 =1 which leads to CoVM_stDemCheck.Bit4 =1. FrmMng_trqDCS then takes effect as
increasing torque CoVM_trqInc (see “Setpoint intervention DCS” on page 49).
If no intervention demand is present or if the intervention has to be terminated, CoVM_trqInc is set to the
neutral value (-5000Nm) and CoVM_trqDec is set to the neutral value (6000Nm) in the propulsion
stabilization.
Apart from intervention demands, the Frame Manager also transfers intervention interruption demands
separately for DCS,TCS interventions via FrmMng_stDCSand FrmMng_stTCS of the propulsion stabilization
check. Depending on the TCS error cause, the TCS intervention is terminated by CoVM_stDemCheck.Bit0 =0.
and CoVM_stDemCheck .Bit1 is used to distinguish whether the intervention interruption is to be carried out
directly or via a ramp. The DCS intervention is terminated via CoVM_stDemCheck.Bit4 =0 and the distinction
between direct or ramp intervention interruption is made by CoVM_stDemCheck.Bit5.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

In addition, the increasing intervention (DCS) can be monitored via an excess torque integral. Monitoring is
activated by CoVM_swtPlausChkVal_C =1 (software switch).
Figure 41 : Overview propulsion stabilization check

CoVM_stDemCheck
CoVM_stDemCheck SetBit SetBit SetBit SetBit
0 1 4 5

breaking off
FrmMng_stTCS criterion
TCS demand

CoVM_swtSlipCtl

breaking off
FrmMng_stDCS criterion
DCS demand

CoVM_swtPlausChk DCS demand


FrmMng_trqDCS monitoring CoVM_stDemUnplaus_mp
CoDT_trqMin

CoV_MstDemCheckFrmMng_stTCSFrmMng_stDCFrSmMng_trqDCSoCVM_swtSli pCtl CoVM_swtPlausChkCoVM_stDemChcekCoVM_stDemUnplaus_mpCoDT_trqMin

Interruption criteria of a TCS intervention Interruption of the decreasing intervention (CoVM_stDemCheck.Bit0 = 0) is carried out
1. FrmMng_stTCS.Bit4 = 1 via a ramp (with CAN error present)
2. FrmMng_stTCS.Bit7 = 1 via a ramp (with CAN message error present)
3. FrmMng_stTCS.Bit5 = 0 via a ramp (with TCS demand not present)
4. FrmMng_stTCS.Bit2 = 1 directly (neutral value reception).
Figure 42 : Interruption criteria of a TCS intervention

CoVM_swtSlipCtl
GetBit
0

FrmMng_stTCS
GetBit CoVM_stDemCheck.Bit0
5

GetBit
7

GetBit
4

CoVM_stDemCheck.Bit1

GetBit
2
FrmMng_stTCoSVM_stDemCheckCoVM_swtSlipCtl

19.3.2002 covm_demcheck.fm
- 52 - CoVM_DemCheck Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-CoVM Propulsion stabilization check DS/ESM

Interruption criteria of a DCS intervention The interruption of the increasing intervention (CoVM_stDemCheck.Bit4 = 0) is carried out
1. FrmMng_stDCS.Bit4 = 1 via a ramp (with CAN error present)
2. FrmMng_stDCS.Bit7 = 1 via a ramp (with CAN message error present)
3. FrmMng_stDCS.Bit5 = 0 via a ramp (with DCS demand not present)
4. FrmMng_stDCS.Bit2 = 1 directly (neutral value reception)
5. CoVM_stDemUnplaus_mp= 1 via a ramp (torque integral greater than or equal to CoVM_amMAX_C)
Figure 43 : Interruption criteria of a DCS intervention

CoVM_swtSlipCtl
GetBit
1

CoVM_stDemUnplaus_mp

FrmMng_stDCS
GetBit CoVM_stDemCheck.Bit4
5

GetBit
7

GetBit

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
4
CoVM_stDemCheck.Bit5

GetBit
2
FrmMng_stDCSCVoM_stDemCheckCoVM_stDemUnplaus_mpCoVM_swtSli pCtl

Monitoring Monitoring of the increasing vehicle dynamics intervention (DCS) is carried out by an excess torque integral.
The excess torque integral is formed by integration of the gearbox output torque (CoVM_trqInt_mp).
CoVM_trqInt_mp = FrmMng_trqDCS
An increasing intervention (DCS) is monitored for physical plausibility by CoVM_swtPlausChkVal_C = 1 and
by a present DCS demand (FrmMng_stDCS.Bit5 =1).
Equation 2: Torque integral to determine CoVM_amAct_mp

CoVM_amAct_mp = ∫ CoVM_trqInt_mp dt

Description excess torque integral


The increasing intervention is recognized as implausible if CoVM_amAct_mp exceeds the threshold
CoVM_amMAX_C. When exceeding the threshold value, the corresponding error path Dfp_CoVMDCSh_mp is
reported as defective. The integration is continued as long as an intervention demand (FrmMng_stDCS.Bit5
=1) is present. If no intervention demand is present, integration down to zero is implemented using
CoDT_trqMin.
The integral has a lower limit of zero and has no upper limit. The integration coefficient is set to1Nms/Nms.
The error Dfp_CoVMDCSh_mp is healed only when the integration value CoVM_amAct_mp equals 0. Release of
an inhibited DCS intervention (due to Dfp_CoVMDCSh_mp) is carried out when the error Dfp_CoVMDCSh_mp is
healed and the neutral value has been received at least once, indicated by FrmMng_stDCS.Bit2 = 1.
Figure 44 : Monitoring DCS intervention

F r m M n g _ s tD C S .B it5
1
0
t

N m C o V M _ trq In t_ m p

0
t

N m s C o V M _ a m A c t_ m p
C o V M _ a m M A X _ C

0
t
F r m M n g _ s tD C S .B it2
1
0
t
D fp _ C o V M D C S h _ m p
1
0
t
C o V M _ s tD e m U n p la u s _ m p
1
0
t
CoVM_trqInt_mpCoVM_amAct_mpCoVM_amMAX_CFrmMng_stDCSDfp_CoVMDCSh_mp CoVM_stDemUnlpaus_mp

ECU initialization CoVM_stDemCheck and CoVM_swtPlausChkVal_C are initialized with 0.

covm_demcheck.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoVM_DemCheck - 53 -
DS/ESM Propulsion stabilization check Veh-VehMot-CoVM

Output values CoVM_stDemCheck: status bits to switch off the torque demand [-] <UBYTE> --->
CoVM_swtPlausChk: Switch setting excess torque integral on/off
CoVM_swtSlipCtl: configuration of traction control (0: ASR off, MSR off; 1: ASR on, MSR
off; 2: ASR off, MSR on; 3: ASR on, MSR on) [-] <UBYTE> --->

Input values CoDT_trqMin: minimum torque of Drive Train [Nm] <SWORD> --->
CoVM_trqPrpDes: desired torque for propulsion [Nm] <SWORD> --->
FrmMng_stDCS: state of MSR - torque demand [-] <UBYTE> --->
FrmMng_stTCS: state of ASR - torque demand [-] <UBYTE> --->
FrmMng_trqDCS: Drag-torque Control System (DCS) gearbox output torque demand [Nm] <SWORD>
--->
PrpBrk_trqDes: x-movement torque demand [Nm] <SWORD> --->

Measuring points CoVM_amAct_mp: Current integration value from DCS-Integrator [Nm*s] <SWORD> --->
CoVM_stDemUnplaus_mp: DCS monitoring state [-] <UBYTE> --->
CoVM_trqInt_mp: Current torque for DCS-Integrator [Nm] <SWORD> --->

Application parameters CoVM_amMAX_C: Threshold for detection of physical unplausibility ( of DCS torque
intervention)<value> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

CoVM_swtPlausChkVal_C: Configuration switch of DCS-Integrator (on/off).<value> --->


CoVM_swtSlipCtlVal_C: configuration of traction control (0: ASR off [amp ] MSR off; 1:
ASR on [amp ] MSR off; 2: ASR off [amp ] MSR on; 3: ASR on [amp ] MSR on)<value> --->

19.3.2002 covm_demcheck.fm
- 54 - PrpBrk Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk Propulsion and brake DS/ESM

3.2.2 Propulsion and brake (PrpBrk)


CARTORNIC-Structure:Ve-hVehMot-PprBk

Overview of the component The PrpBrk component determines the consolidated vehicle system propulsion command.
Brake and propulsion information is made available for other functions.

Structure of the component The PrpBrk component consists of the following subcomponents:
Figure 45 : PrpBrk subcomponents

B rk

P rp B rk

P rp

Subfunctions See “Longitudinal motion coordination (PrpBrk_xMoveCord)” on page 55.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

prpbrk_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 PrpBrk_xMoveCord - 55 -
DS/ESM Longitudinal motion coordination Veh-VehMot-PrpBrk

Longitudinal motion coordination (PrpBrk_xMoveCord)


CARTONIC-Sturcture:VehV-eMho-t PrpBrk

Functional overview The function determines the propulsion torque demand and its lead value from the corresponding values of
the function group propulsion (Prp).
Propulsion torque demand of the longitudinal motion = f(Propulsion torque demand)
Lead torque of the longitudinal motion
= f(Lead torque of the propulsion)

Functional description The propulsion demand of the propulsion Prp_trqRaw is transferred as a propulsion demand of the
longitudinal motion PrpBrk_trqDes. The procedure for the lead _trqLead is analogous.
Figure 46 : Normal operation of xMoveCord

Prp_trqRaw PrpBrk_trqDes

Prp_trqLead PrpBrk_trqLead
PrpBrk_trqDesPrp_trqRawPrpBrk_trqLead Ppr_trqLead

ECU initialization All output values are set to ’0’ or ’FALSE’.


© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Output values PrpBrk_trqDes: x-movement torque demand [Nm] <SWORD> --->


PrpBrk_trqLead: lead torque of Propulsion and Brake [Nm] <SWORD> --->

Input values Prp_trqLead: lead torque of propulsion [Nm] <SWORD> --->


Prp_trqRaw: raw value of propulsion torque demand [Nm] <SWORD> --->

19.3.2002 prpbrk_xmovecord.fm
- 56 - Prp Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp Propulsion DS/ESM

3.2.2.1 Propulsion (Prp)


CARTORNIC-Structure:Ve-hVehMot-PprBk-rPp

Overview of the component


Propulsion The Prp component uses the accelerator pedal and cruise control demands to determine the driver command
as propulsion torque. The raw value is filtered. In addition, the component supplies accelerator pedal
information.

Structure of the component The Prp component consists of the following subcomponents:
Figure 47 : Prp subcomponents

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Subfunctions See “Demand selection (Prp_DemSel)” on page 57.
See “Virtual accelerator pedal position (Prp_VirtAPP)” on page 59.

prp_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Prp_DemSel - 57 -
DS/ESM Demand selection Veh-VehMot-PrpBrk-Prp

Demand selection (Prp_DemSel)


CARTONIC-Sturcture:VehV-eMho-t PrpBrk-Prp

Functional overview The unfiltered torque demand of the propulsion as well as the corresponding lead value are determined from
the torque demand of cruise control and driver command.
In addition, information is output on whether the cruise control is released or disabled and which type of cruise
control (adaptive or conventional) is installed.
Torque demand = f(Commanded ACC torque,
Driver command raw value,
Torque demand CrCtl,
Limited torque for maximum vehicle speed)
Lead torque of the propulsion = f(ACC-lead torque,
Lead torque accelerator pedal,
Lead torque CrCtl,
Limited torque for maximum vehicle speed)
Figure 48 : Demand selection - overview

P rp _ s w tC C S e l

P rp _ s w tC C O n
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

C r C tl_ tr q D e s

A C C _ trq D e s P rp _ trq R a w
D e m a n d
A c c P e d _ trq D e s s e le c tio n P rp _ trq D e s C C

P r p C tl_ tr q S p d L im

C r C tl_ tr q L e a d
D e m a n d P rp _ trq L e a d
A C C _ trq L e a d s e le c tio n
le a d v a lu e

A c c P e d _ trq L e a d

A c c o r d in g to B o s c h s ta n d a r d
AC t_rqDesAC_trqLeadAcPe_dtrqDesAcPed_trqLeadCrtCl_trqLeadCrtl_rqDesPrp_swtC OnPrp_swtCSelPrp_trqDesCPrp_trqLeadPrp_trqRawPrpCtl_trqSpdLim

Functional description The maximum of the driver command AccPed_trqDes and the torque demand of the selected and active
cruise control is determined. Based on this intermediate value and the limited torque from the maximum
vehicle speed limiting PrpCtl_trqSpdLim, the raw value of the torque demand Prp_trqRaw is determined
via minimum selection. From the lead value of the driver command AccPed_trqLead and the lead value of
the selected and activated cruise control, the maximum is determined. Based on this intermediate value and
the limited torque from the maximum vehicle speed limiting PrpCtl_trqSpdLim, the raw value of the
propulsion lead Prp_trqLead is determined via minimum selection. This unfiltered value is used for the air
system precontrol.
The switch Prp_swtCCOnVal_C (mapped to the message Prp_swtCCOn) generally releases (0x01) or inhibits
(0x00) the cruise control. The switch Prp_swtCCSelVal_C (mapped to the message Prp_swtCCSel) selects
between a conventional cruise control (0x00) and an adaptive cruise control (0x01).
Figure 49 : Selection of propulsion demand
P r p _ s w tC C S e lV a l_ C P r p _ s w tC C O n V a l_ C

P rp _ s w tC C S e l

P rp _ s w tC C O n

C r C tl_ tr q D e s P rp _ trq D e s C C M X
M N
A C C _ trq D e s P rp _ trq R a w

A c c P e d _ trq D e s

P r p C tl_ tr q S p d L im

M N
C r C tl_ tr q L e a d M X P rp _ trq L e a d
A C C _ trq L e a d

A c c P e d _ trq L e a d

T R Q P R P _ M IN
Prp_trqRawPrp_trqLeadPrp_swtCOnPrp_swtC OnVa_l CPr_pswtCSelPrp_swtCSelVa_CAcPed_trqDesAcPed_trqLeadCrtl_trqDesCrtl_rqLeadAC _trqDesAC t_rqLeadPrpCtl_rqSpdLim

Output values Prp_swtCCOn: enable switch for cruise control [-] <UBYTE> --->
Prp_swtCCSel: selection switch for implemented type of cruise control [-] <UBYTE> --->
Prp_trqDesCC: desired cruise-control or adaptive cruise-control torque [Nm] <SWORD> --->
Prp_trqLead: lead torque of propulsion [Nm] <SWORD> --->
Prp_trqRaw: raw value of propulsion torque demand [Nm] <SWORD> --->

19.3.2002 prp_demsel.fm
- 58 - Prp_DemSel Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp Demand selection DS/ESM

Input values ACC_trqDes: desired torque of ACC [Nm] <SWORD> --->


ACC_trqLead: lead torque of ACC [Nm] <SWORD> --->
AccPed_trqDes: driver torqe raw value of propulsion [Nm] <SWORD> --->
AccPed_trqLead: lead torque of accelerator pedal [Nm] <SWORD> --->
CrCtl_trqDes: Cruise Control torque demand [Nm] <SWORD> --->
CrCtl_trqLead: lead torque of cruise control [Nm] <SWORD> --->
PrpCtl_trqSpdLim: limited torque for maximum speed limitation [Nm] <SWORD> --->

Application parameters Prp_swtCCOnType_C: type of switch Prp_swtCCOn<value> --->


Prp_swtCCOnVal_C: value of switch Prp_swtCCOn<value> --->
Prp_swtCCSelType_C: type of switch Prp_swtCCSel<value> --->
Prp_swtCCSelVal_C: value of switch Prp_swtCCSel<value> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

prp_demsel.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Prp_VirtAPP - 59 -
DS/ESM Virtual accelerator pedal position Veh-VehMot-PrpBrk-Prp

Virtual accelerator pedal position (Prp_VirtAPP)


CARTONIC-Sturcture:VehV-eMho-t PrpBrk-Prp

Functional overview Various external control units require the accelerator pedal position as an input value. Since no accelerator
pedal value is present at certain operating states (eg. driving with cruise control), the value is calculated in
this function and output as a virtual accelerator pedal position1.
In addition, the actual accelerator pedal position, the propulsion torque and the status of the propulsion torque
are output.
Virtual accelerator pedal position = f(Propulsion torque demand
Drive train ratio,
Minimum drive torque,
AccPed position overrun operation,
Threshold between overrun and drive operation
Average engine speed,
Driver command raw value,
Drive train ratio,
AccPed position after monitoring
Correcting variable of the low-idle governor,
Vehicle speed)
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Figure 50 : Virtual accelerator pedal position - overview

C o D T _ s w tC o T y p e

E n g _ n A v rg

V S S C D _ v
P r p _ r V ir tA P P

A c c P e d _ trq D e s
P rp _ rA P P
V ir tu a l a c c e le r a to r
A c c P e d _ rC h k d V a l p e d a l p o s itio n
P rp _ trq E n g

P rp _ trq R a w

D rv T rn _ rT ra n s D T

C o D T _ tr q M in

P r o p u ls io n P rp _ trq P rp
A c c P e d _ rZ e ro
b e h a v io u r
P rp _ s tT rq T y p e P rp
A c c P e d _ rT h re s P rp

A c c P e d _ trq L IL td

A c c o r d in g to B o s c h s ta n d a r d
AcPed_rChkdVaAl cPed_rThresPrpAcPed_rZeroAcPed_trqDes AcPed_trqLI tdCoDT_swtCoTypeCoDT_trqMinDrvTn_rT ansDT Eng_nAvrgPrp_rAP rp_rVi tAP r_pstTrqTypePrPpr_trqEngPrp_trqPrPpr_trqRawVS C_Dv

Functional description The function is an inversion of the function “Driver command determination (AccPed_DrvDem)” on page 66.
The coordinated, unfiltered driver command Prp_trqRaw is used as the input value. This value is mapped
unchanged to Prp_trqRawLim. “Propulsion behaviour” takes the various driver command application
strategies (in inner torque or engine output torque) into account. If the drag torque CoDT_trqMin is
continuously being output from the overrun curve (driver command in the inner torque, the threshold values
AccPed_rZero are greater than 100% and AccPed_rThresPlaus greater 100%), Prp_trqPrp is
calculated by subtracting the drag torque CoDT_trqMin from Prp_trqRawLim. Division by the drive train
amplification DrvTrn_rTransDT produces the propulsion torque Prp_trqEng.
If the torque characteristic from the driveability map is entered in Prp_trqThresEng_CUR (or
Prp_trqThresPrp_CUR for Mastershift) at the point AccPed_rThresPrp, Prp_trqThresPrp_mp defines the
torque threshold under which the overrun curve is active. If the propulsion torque Prp_trqEngPrp_mp is
below Prp_trqThresPrp_mp and Prp_stTrqTypePrp is not set, the accelerator pedal position Prp_rVirtAPP
is determined from the inverse overrun curve in block “Inverse Overrun”. The desired range between
maximum drag torque CoDT_trqMinand 0 Nm is mapped linearly, corrected by AccPed_rZero, onto the pedal
range between 0 % and the torque threshold between drive and overrun AccPed_rThresPrp. This value is
output as a virtual accelerator pedal position Prp_rVirtOvrRun_mp.
For mastershift, the correcting variable of the low-idle governor converted to gearbox output torque
(AccPed_trqLILtd) is incorporated into the calculation of the switching threshold (Prp_trqThresPrp_mp),
the inverse driveability map and the inverse overrun curve.
Otherwise, the accelerator pedal position Prp_rVirtEngPrp_mp is determined in the block "inverse Drivers
Behaviour" (CoDT_swtCoType), according to the type of drive-train coordination, from an inverse driveability
map Prp_rEng_MAP or Prp_rPrp_MAP respectively.
If the virtual accelerator pedal position is explicitly required, then the message Prp_rVirtAPP is still used. If
only a consolidated accelerator pedal position is to be used, then the validity of the actually checked
accelerator pedal position AccPed_rChkdVal is determined by comparison of the original driver command
AccPed_trqDes with the coordinated command Prp_trqRaw (result in measuring point Prp_stVirtAPP_mp).
Depending on the operating state the calculated virtual accelerator pedal position or the measured one is
made available as the consolidated value Prp_rAPP.

1. The virtual accelerator pedal position is the accelerator pedal position which would request the demand torque present.

19.3.2002 prp_virtapp.fm
- 60 - Prp_VirtAPP Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp Virtual accelerator pedal position DS/ESM

Figure 51 : Overview of virtual accelerator pedal position determination

Prp_trqEng

Prp_stTrqTypeP

CoDT_swtCoType
1
Prp_trqEngPrp_mp

Prp_trqThresEng_CUR

Prp_trqThresPrp_mp

Prp_trqThresPrp_CUR

Prp_trqRaw

Prp_stVirtApp_m
AccPed_trqDes
Prp_trqRawLim
SlopeLimitation Prp_rVirtEngPrp_mp

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Prp_trqRaw Eng_nAvrg AccPed_rChkdVal
Prp_rAPP
VSSCD_v
Inverse Drivers Behaviour
Propulsion Behaviour
DrvTrn_rTransDT Prp_rVirtAP

CoDT_trqMin

Inverse OverRun
Prp_rVirtOvrRun_

AccPed_trqLILtd

Prp_trqPrp

AcPed_rChkdVaAl cPe_dtrqDesAcPed_trqLItdCoD_TswtCoTypeCoDT_trqMinDrvTrn_TransDTEng_nAvrgPrp_rAPrp_rVirtAP rPp_rVirtEngPrp_mp Ppr_VirtOvrRun_mpPrp_stTrqypePrpPrp_stVirtAP _mpPrp_trqEngPrp_trqEngPrp_mpPrp_trqPrpPr_trqRawPrp_trqRawLimPrp_trqThresEng_CURPpr_trqThresPrp_CURPrp_trqThresPrp_mpVS DC_v

Figure 52 : Propulsion behaviour

AccPed_rZero
100
Prp_stTrqTypePrp

AccPed_rThresPrp
100
Prp_trqPrp
Prp_trqRawLim
Prp_trqEng

CoDT_trqMin

DrvTrn_rTransDT

Pr_ptrqRawLimCoDTt_rqMinDrvTn_rTansDT Prp_trqEngPrp_trqPrpPrp_stTrqypePprAcPed_rZeoAc Ped_rThresPrp

Figure 53 : Inverse drivers behaviour

CoDT_swtCoType
1

Eng_nAvrg
Prp_trqEng Prp_rVirtEngPrp_mp
Prp_rEng_MAP

VSSCD_v

Prp_trqCor_mp Prp_rPrp_MAP
Prp_trqPrp

AccPed_trqLILtd
AcPed_trqLItdCoDT_swtCoTypeEng_nAvrgPrp_rEng_MAP rp_rPp_MAP rp_rVi tEngPrp_mpPr_trqCo_rmpPrp_trqEngPrp_trqPrpVS C_Dv

prp_virtapp.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Prp_VirtAPP - 61 -
DS/ESM Virtual accelerator pedal position Veh-VehMot-PrpBrk-Prp

Figure 54 : Inverse Overrun

0.0

Prp_rVirtOvrRun_mp
Prp_trqPrp

AccPed_trqLiLtd

CoDT_trqMin

AccPed_rThresPrp

CoDT_swtCoType
1.0

AccPed_rZero
0.0
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Prp_trqPrpPrp_rVi tOvrRun_mpCoDT_trqMinAc Ped_rZeroAcPed_rThresPrpAcPe_drZero

ECU initialization At initialization, the Prp_rVirtAPP and Prp_rAPP outputs are preset with "0".

Output values Prp_rAPP: summerized accelerator pedal position from APP and virtual APP [%] <SWORD> --->
Prp_rVirtAPP: virtual accelerator pedal position at active Cruise Control [%] <SWORD> --->
Prp_stTrqTypePrp: status word for type of propulsion torque [-] <UBYTE> --->
Prp_trqEng: to be deleted [Nm] <SWORD> --->
Prp_trqPrp: Propulsion torque [Nm] <SWORD> --->

Input values AccPed_rChkdVal: AccPed ratio after security check [%] <SWORD> --->
AccPed_rThresPrp: threshold between overrun and propulsion [%] <SWORD> --->
AccPed_rZero: ratio of APP, below which fuel quantity should be zero. [%] <SWORD> --->
AccPed_trqDes: driver torqe raw value of propulsion [Nm] <SWORD> --->
AccPed_trqLILtd: LIGov limited torque from AccPed [Nm] <SWORD> --->
CoDT_swtCoType: 0: conventional; 1: mastershift [-] <UBYTE> --->
CoDT_trqMin: minimum torque of Drive Train [Nm] <SWORD> --->
DrvTrn_rTransDT: drivetrain transmission (wheel torque per engine torque) [-] <SWORD> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
Prp_trqRaw: raw value of propulsion torque demand [Nm] <SWORD> --->
VSSCD_v: vehicle speed (velocity) [km/h] <SWORD> --->

Measuring points Prp_rVirtEngPrp_mp: virtual APP ratio from Prp_rPrp_MAP or Prp_rEng_MAP [%] <SWORD> --->
Prp_rVirtOvrRun_mp: Over run value for the virtual accelerator pedal position [%] <SWORD>
--->
Prp_stVirtAPP_mp: virtual APP valid [-] <UBYTE> --->
Prp_trqCor_mp: Corrected valve of the propulsion torque due to the LIGov limited torque
from AccPed. [Nm] <SWORD> --->
Prp_trqEngPrp_mp: measurement point selection between Prp_trqEng or Prp_trqPrp [Nm]
<SWORD> --->
Prp_trqThresPrp_mp: torque threshold to differentiate between pull and overrun mode [Nm]
<SWORD> --->

Table 19: Prp_stVirtAPP_mp status


Initialization value Bit no. Description
0 0 1: APPCD_rFlt not valid
1-7 not used

Application parameters Prp_rEng_MAP: inverted map of driver’s behaviour for conventional powertrain
managment<map_individual> --->
Prp_rPrp_MAP: inverted map of driver’s behaviour for mastershift
applications<map_individual> --->
Prp_trqThresEng_CUR: torque threshold curve to differentiate between pull and overrun
mode<curve_individual> --->
Prp_trqThresPrp_CUR: torque threshold curve to differentiate between pull and overrun
mode<curve_individual> --->

19.3.2002 prp_virtapp.fm
- 62 - AccPed Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-AccPed Accelerator pedal DS/ESM

3.2.2.1.1 Accelerator pedal (AccPed)


CARTORNIC-Structure:Ve-hVehMot-PprBk-rPp-AcePd

Overview of the component


Accelerator pedal Physical actions (driver responses, for example) expressed in terms of accelerator pedal position are relayed
to the system as propulsion torque demand. Further tasks are:
• Plausibility check with brake
• Converting the accelerator pedal demand into propulsion torque demand, based on a driveability map
The function “Accelerator pedal check (AccPed_APCheck)” on page 63 checks the accelerator pedal position
in conjunction with the brake signal for the presence of a plausibility violation. If necessary, an error status is
set and a substitute value is output for the accelerator pedal position.
The function “Driver command determination (AccPed_DrvDem)” on page 66 determines the setpoint value
of the propulsion torque from the checked accelerator pedal position. An idle speed increase is demanded in
the event of an error.

Structure of the component


APCheck If plausibility is violated (AccPed_stSecCase = 1), the accelerator pedal position APPCD_rFlt initialized by the
accelerator pedal component driver is switched to a substitute value AccPed_rErrValPlaus_C over a ramp.
DrvDem The checked and, if necessary, reduced accelerator pedal positionAccPed_rChkdVal is dynamically
converted by the driveability map and the realizable propulsion drag torque is converted into the propulsion

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
torque setpoint value AccPed_trqDes. If plausibility is violated or if system failure occurs, an idle speed
increase AccPed_nMin is demanded as error response.
Figure 55 : Functional overview

A P P C D _ r F lt A c c P e d _ rC h k d V a l A c c P e d _ trq D e s

B rk _ s tP re s s e d A P C h e c k A c c P e d _ s tS e c C a s e D rv D e m A c c P e d _ n M in

AP C_DrFltAcPed_rChkdValAc Ped_trqDesBrkCD_stPresedAcPedstSecCaseAcPed_nMin

Subfunctions See “Driver command determination (AccPed_DrvDem)” on page 66.


See “Accelerator pedal check (AccPed_APCheck)” on page 63.

accped_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 AccPed_APCheck - 63 -
DS/ESM Accelerator pedal check Veh-VehMot-PrpBrk-Prp-AccPed

Accelerator pedal check (AccPed_APCheck)


CARTONIC-Sturcture:VehV-eMho-t PrpBrk-Prp-Ac ePd

Functional overview The function checks the plausibility between accelerator pedal position and brake signal.
Implausibility is detected if accelerator pedal and brake are pressed simultaneously and the accelerator pedal
was pressed before the brake. If implausibility is detected, a substitute value is output for the checked
accelerator pedal position.
Status implausibility accelerator pedal/brake
= f(Raw value of position 1 of the accelerator pedal,
Difference of the position 1 of the accelerator pedal,
Average engine speed,
Vehicle speed,
Status vehicle dynamics interventions,
Message brake actuated)
AccPed position after monitoring = f(Status implausibility accelerator pedal/brake,
Filtered accelerator pedal sensor signal)
Figure 56 : Accelerator pedal check - overview

C o V M _ s tA c tD e m
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

E n g _ n A v rg

V S S C D _ v

A c c P e d _ s tP la u s C h e c k R e q d A c c e le r a to r A c c P e d _ s tS e c C a s e
p e d a l
c h e c k
B rk C D _ s tP re s s e d

A P P C D _ r A P P 1 U n F lt

A P P C D _ d r A P P 1 U n F lt

A P P C D _ r F lt A c c P e d _ rC h k d V a l
P la u s ib ility
in te r v e n tio n

A c c o r d in g to B o s c h s ta n d a r d
AcPed_rChkdVaAl cPed_stPlausCheckReqdAcPed_stSecCaseAP DC_drAP1UnFltAPCDr_AP1UnFltAP CDr_FltBrkCD_stPresedCoVM_stActDemEng_nAvrgVS C_Dv

Functional description The accelerator pedal position APPCD_rFlt is transferred as a checked value AccPed_rChkdVal. The status
of the plausibility check AccPed_stSecCase is FALSE.

Monitoring The main task of the function is to detect implausibility between accelerator pedal position and brake signal
(AccPed_stSecCase). This is the case, when the driver actuates the brake in reaction to unwanted propulsion
(eg. due to defective accelerator pedal). The "not plausible" bit (bit 3) is set in the error path
Dfp_AccPedPlausBrk (measuring point Dfp_AccPedPlausBrk_mp). The error path is debounced using
AccPed_tiPlausBrkDebPos_C and AccPed_tiPlausBrkDebNeg_C. If no entry in the error memory is to be
made, the error path can also be inhibited by DSM_ClaDfp_AccPedPlausBrk_C = 0.
Figure 57 : Overview APCheck
F id _ A c c P e d _ B r k _ m p
A c c P e d _ tiP la u s B r k D e b P o s _ C
E n g _ n A v rg P
A c c P e d _ s tP la u s B r k R ls _ m p
A c c P e d _ n L im _ C A c c P e d _ tiP la u s B r k D e b N e g _ C
P P

V S S C D _ v
R e le a s e c h e c k
p a ra m
A c c P e d _ v L im _ C D fp _ A c c P e d P la u s B r k _ m p .3
P x y

A c c P e d _ s tP la u s C h e c k R e q d
ix

C o V M _ s tA c tD e m

A c c P e d _ s w tV e h D y n R e q d _ C

!
A c c P e d _ tiC h k D e b P o s _ C
P
B rk C D _ s tP re s s e d
A c c P e d _ s tS e c C a s e
&
A P P C D _ d r A P P 1 U n F lt

A c c P e d _ d r A P P U n F ltL im _ C
P
D e te c tio n
A P P C D _ r A P P 1 U n F lt
U n p la u s ib ility

A c c P e d _ rT h re s S fty _ C
P
A c c P e d _ s tS e c C a s e D e t_ m p

A c c P e d _ s tS e c C a s e R s t_ m p
R e s e t
U n p la u s ib ility
A c c P e d _ d r L im U p _ C
P
A c c P e d _ s w tR s tC o n _ C
A c c P e d _ d r L im D w n _ C
P

A c c P e d _ tiC h k D e b N e g _ C
P A c c P e d _ r E r r V a lP la u s _ C
P
A c c P e d _ rC h k d V a l
A P P C D _ r F lt R A M P

Eng_nAvrgAcPe_dnLim_CAcPed_vLim_CAcPed_stPlausCheckReqdVSCD_vAcPed_tiChkDebNeg_CBrCkD_stPrse dAPCDr_AP1UnFltAP CD_drAP 1UnlFtAPCD_FrltAc Ped_rErValPaus_CAcPed_rLimDwn_CAcPed_stSecCaseAc Ped_rChkdVaFl id_Ac Ped_Brk_mpCoVM_stActDemAc Ped_swtVehDyRneqd_CAc Ped_ArP UnFltLim_C AcPed_rThersSfty_CAcPed_tsPlausrBkRl s_mpAc Pedt_iChkDebPo_sCAcPeds_tSecCaseRst_mpAcPed_ LrimUp_CAcPed_stSecCaseD t_mpAc Ped_swtRstCon_CDfpA_cPedPlausBrk_mpAc ePdt_iPlausBrkDebPso_CAcPed_tiPlausBrkDebNeg_C

Release Check The release conditions must be fulfilled (AccPed_stPlausBrkRls_mp =TRUE) for the implausibility detection
(AccPed_stSecCaseDet_mp) to become active.
For this, the error path of the brake must be inactive (Fid_AccPed_Brk_mp)

19.3.2002 accped_apcheck.fm
- 64 - AccPed_APCheck Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-AccPed Accelerator pedal check DS/ESM

AND The check must be released (AccPed_stPlausCheckReqd).


AND The engine speed Eng_nAvrg must be above the threshold AccPed_nLim_C.
AND The vehicle speed VSSCD_v must be above or equal AccPed_vLim_C.
AND No vehicle dynamics intervention affecting the engine torque must be active ( CoVM_stActDem ).
(See block: Release check)
Whether a check for active vehicle dynamics interventions is to be carried out or not can be set by
AccPed_swtVehDynReqd_C.
Table 20: Switch for considering vehicle dynamics interventionsAccPed_swtVehDynReqd_C
Entry Description
0 INACTIVE
Vehicle dynamics interventions are not considered for release
1 ACTIVE
Vehicle dynamics interventions are checked

Table 21: Status bits CoVM_stActDem for description of the active vehicle dynamics interventions
Bit position Bit value Description
0 0 TCS (traction control) intervention inactive
1 TCS (traction control) intervention active

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
4 0 DCS (engine drag torque control) intervention
inactive
1 DCS (engine drag torque control) intervention active

Figure 58 : Release Check

F id _ A c c P e d _ B r k _ m p
G e tB it
0

E n g _ n A v rg

A c c P e d _ n L im _ C

&
& A c c P e d _ s tP la u s B r k R ls _ m p

V S S C D _ v

A c c P e d _ v L im _ C

A c c P e d _ s tP la u s C h e c k R e q d

C o V M _ s tA c tD e m
G e tB it
0 >= 1 !

G e tB it
4
T R U E

A c c P e d _ s w tV e h D y n R e q d _ C

AcPed_swtVehDynReqd_CEng_nAvrgFid_AcPed_Brk_mpAcPed_nLim_CAc Ped_vLim_CVS DC_vAc Ped_stPlausChcekReqdCoVM_stActDemAc Ped_stPlausBrkRls_mp

Detection of implausibility The criteria for detection of implausibility are fulfilled (AccPed_stSecCaseDet_mp = TRUE) if the driver
actuates the brake (BrkCD_stPressed) while the accelerator pedal is actuated (APPCD_rAPP1UnFlt >
AccPed_rThresSfty_C and APPCD_drAPP1UnFlt <= AccPed_drAPPUnFlt_Lim_C). Detection is only
released if the accelerator pedal was actuated prior to the brake. The detection is debounced using
AccPed_tiChkDebPos_C.
Figure 59 : Detection of implausibility

A P P C D _ r A P P 1 U n F lt
A c c P e d _ tiC h k D e b P o s _ C

P
A c c P e d _ rT h re s S fty _ C

&

A P P C D _ d r A P P 1 U n F lt &
& D E B O U N C E A c c P e d _ s tS e c C a s e D e t_ m p

A c c P e d _ d r A P P U n F ltL im _ C

B rk C D _ s tP re s s e d
G e tB it
0 & !

G e tB it >= 1
1

accped_apcheck.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 AccPed_APCheck - 65 -
DS/ESM Accelerator pedal check Veh-VehMot-PrpBrk-Prp-AccPed

Reset implausibility Implausibility is deactivated again if the positive accelerator pedal change APPCD_drAPP1UnFlt exceeds the
threshold AccPed_drAPPUnFltLim_C (driver accelerates) or the accelerator pedal is no longer
actuated ( APPCD_rAPP1UnFltbelow or equal AccPed_rThresSfty_C). Whether release of the brake also
deactivates implausibility can be selected by the parameter AccPed_swtRstCon_C. The reset instruction
( AccPed_stSecCaseRst_mp) is debounced using AccPed_tiChkDebNeg_C.
Figure 60 : Reset implausibility
A c c P e d _ tiC h k D e b N e g _ C
A c c P e d _ s w tR s tC o n _ C P

A P P C D _ r A P P 1 U n F lt

A c c P e d _ rT h re s S fty _ C

>= 1
D E B O U N C E A c c P e d _ s tS e c C a s e R s t_ m p
A P P C D _ d r A P P 1 U n F lt

A c c P e d _ d r A P P U n F ltL im _ C
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

B rk C D _ s tP re s s e d
G e tB it >= 1
0 & !

G e tB it
1
AcPed_tiChkDebNeg_CAP C_DrAP U1nFtl AP CD_dArP1UnFltAcPed_rThesSfty_CAc Ped_rAP UFnltLim_C AcPe_dstSecCaseRst_mpAcPed_swtRstCon_CBrkCD_stPresed

Substitute function If implausibility (AccPed_stSecCase = 1) is detected, the output AccPed_rChkdVal is switched to the
substitute value AccPed_rErrValPlaus_C via a ramp. The ramp slope at occurrence of the error and for
healing is applicatable (AccPed_drLimDwn_C or AccPed_drLimUp_C). If the setpoint APPCD_rFlt is smaller
than the ramp value, hard switchover to the setpoint takes place. In addition, the driver command detection
(see “Idle speed increase in the event of accelerator pedal error” on page 70) is switched to an increased
low-idle speed.

ECU initialization Initialize all outputs with '0’ or FALSE. AccPed_stPlausCheckReqd is initialized with
AccPed_swtPlausCheck_C.

Output values AccPed_rChkdVal: AccPed ratio after security check [%] <SWORD> --->
AccPed_stSecCase: status of unplausibility between AccPed and Brake [-] <UBYTE> --->

Input values AccPed_stPlausCheckReqd: status to indicate a required plausibility check between AccPed
and brake [-] <UBYTE> --->
APPCD_drAPP1UnFlt: difference of accelerator pedal 1 position unfiltered value [%/s]
<SWORD> --->
APPCD_rAPP1UnFlt: accelerator pedal 1 position unfiltered value [%] <SWORD> --->
APPCD_rFlt: filtered accelerator pedal sensor signal [%] <SWORD> --->
BrkCD_stPressed: Brake pressed state [-] <UBYTE> --->
CoVM_stActDem: status bits current TCS,DCS demand [-] <UBYTE> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
VSSCD_v: vehicle speed (velocity) [km/h] <SWORD> --->

Measuring points AccPed_stPlausBrkRls_mp: status of the monitoring conditions for the plausibilty check
between AccPed and Brake [-] <UBYTE> --->
AccPed_stSecCaseDet_mp: Set command for unplausibility between AccPed and Brake [-]
<UBYTE> --->
AccPed_stSecCaseRst_mp: Reset command for unplausibility between AccPed and Brake [-]
<UBYTE> --->
Dfp_AccPedPlausBrk_mp: fault path for AccPed and Brake Plausibility [-] <UWORD> --->
Fid_AccPed_Brk_mp: Inhibitation of release for unplausibility check when brake defect [-
] <UBYTE> --->

Application parameters AccPed_drAPPUnFltLim_C: threshold for drAPP/dt to skip security check<value> --->
AccPed_drLimDwn_C: delta ratio to step down AccPed ratio on unplausibility accped-
brake<value> --->
AccPed_drLimUp_C: delta ratio to step up AccPed ratio on healing or detection of
unplausibilty accped-brake<value> --->
AccPed_nLim_C: threshold for engine speed to skip security check<value> --->
AccPed_rErrValPlaus_C: substitute value for AccPed ratio on security case<value> --->
AccPed_rThresSfty_C: Threshold for the activation of the plausibility check AccPed -
brake<value> --->
AccPed_swtPlausCheck_C: 1:unplausibility check released<value> --->
AccPed_swtRstCon_C: 1: Reset unplausibility on AccPed OR Brake<value> --->
AccPed_swtVehDynReqd_C: 1: check for vehicle dynamics intervention active<value> --->
AccPed_tiChkDebNeg_C: debouncing time for quit of unplausibility<value> --->
AccPed_tiChkDebPos_C: debouncing time for detection of unplausibility<value> --->
AccPed_tiPlausBrkDebNeg_C: Heal debounce time for non-plausibility between AccPed and
Brake<value> --->
AccPed_tiPlausBrkDebPos_C: Error debounce time for non-plausibilty between AccPed and
Brake<value> --->
AccPed_vLim_C: threshold for vehicle speed to skip security check<value> --->

19.3.2002 accped_apcheck.fm
- 66 - AccPed_DrvDem Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-AccPed Driver command determination DS/ESM

Driver command determination (AccPed_DrvDem)


CARTORNIC-Structure:Ve-hVehMot-PprBk-rPp-AcePd

Functional overview This function determines the propulsion torque setpoint from the checked accelerator pedal position. An idle
speed increase is demanded in the event of an error.

Functional description The driver command determination ascertains, principally from the position of the accelerator pedal, the
command of the driver in regard to propulsion. This value is transformed to an engine torque in the course of
torque coordination and corrected by the torque losses and the operating point of the low-idle governor.
These corrections must be taken into account during overrun setpoint formation, so that overrun shut-off can
be performed.
The setpoint for the driver command AccPed_trqDes is formed as a propulsion torque demand. For this
purpose a basic torque value AccPed_trqDesUnLim_mp is determined on the basis of the checked
accelerator pedal position AccPed_rChkdVal. This value is limited to the maximum torque that can be
currently represented CoDT_trqMax, so that no unrealistic demands are made on the system. The limited
value is filtered further through comfort functions (eg. overrun/acceleration transition damping) in order to
reduce load change reactions during transition between overrun and drive operation.
On the basis of the unfilterd accelerator pedal position value APPCD_rAPP1UnFlt, a lead value
AccPed_trqLead is determined parallel to the setpoint. This value is also limited, but its dynamics are not
dampened. Within the subfunctions “Desired Torque” and “Lead Torque” an identical algorithm is used (see

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
“Desired Torque” on page 66).
Figure 61 : Overview of setpoint path and lead path for driver command

CoDT_trqMax

Desired Torque AccPed_trqDes


AccPed_rChkdVal

AccPed_trqDesUnLim_mp

CoDT_trqMax AccPed_stError

LeadTorque
APPCD_rAPP1UnFlt AccPed_trqLead

AccPed_trqLeadUnLim_mp
AcPed_trqDesAcPed_trqLeadAc Ped_trqDesUnLim_mpAcPde_rChkdVal CoDT_trqMaxAcPed_stErorCoD_TtrqMaxAc Ped_trqLeadUnLmi _pAPCD_rAP1UnFlt

Desired Torque The setpoint formation consists of an additive superposition of two subfunctions and, in case the vehicle is
in an operating range that cannot be monitored, of a subsequent limitation of the setpoint to a “non-critical”
propulsion demand. A sharp increase in the setpoint value upon leaving this operating range can be
dampened by the comfort functions and the subsequent active surge damping reference filter. This makes
hard switch-over possible.
The subfunction "drive" is performed differently depending on the layout of the drive train co-ordination. The
version that is used is selected using the function switch CoDT_swtCoType. The result of this subfunction is
available in the message AccPed_trqDesPull.
The subfunction for overrun operation is the same for all drive train coordinations. The result is available in
the message AccPed_trqDesOvrRun.
Figure 62 : Desired Torque

CoDT_swtCoType

AccPed_trqDesPull AccPed_trqDesDrvDem_mp
Eng_nAvrg Driver's Behaviour conventinal
trqPull

AccPed_rChkdVal
not monitored range AccPed_trqDesUnLim_mp

VSSCD_v Driver's behaviour Mastershift


trqPull

Overrun behaviour
AccPed_trqDesOvrRun

VS DC_vEng_nAvrgAc Ped_rChkdVal AcPe_dtrqDesUnLim_mpCoD_TswtCoTypeAcPed_trqDesPulAcPe_dtrqDesDrvem_mpAcPed_trqDesOvrRun

accped_drvdem.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 AccPed_DrvDem - 67 -
DS/ESM Driver command determination Veh-VehMot-PrpBrk-Prp-AccPed

The torque zero point of the driver command (transition overrun/drive operation) results from the two
subfunctions being superimposed. If the zero point is to coincide with the threshold of the accelerator pedal
AccPed_rThresPrp_C, this subfunction must supply 0 Nm for "drive operation" up to this accelerator pedal
position. If even small accelerator pedal position values should cause a positive propulsion demand, the
torque zero point must be correspondingly earlier in the drive function (typical application for improving the
driveaway characteristics). On the other hand the zero point can be shifted to a higher accelerator pedal
position for other operating ranges (typical for high speeds).
The current value of the superimposed driver command is visible in the measuring point
AccPed_trqDesDrvDem_mp.
Figure 63 : Resulting basic value of the driver demand for three operating curves

trq

2 n d P a ra m e te r

A c c P e d _ r...
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

A c c P e d _ rT h re s P rp _ C

A c c P e d _ rZ e ro _ C
AcPed_rThresPrp_CAcPed_rZeo_C

Driver’s Behaviour Basically, the drive operation setpoint default is determined from an applicatable drivability map. Here, one
input parameter is always determined by the accelerator pedal position, the other one varies depending on
the type of gearbox or the demanded drive train control (see below).
For gearboxes where the driver is to determine the torque characteristic at the gearbox input via the
accelerator pedal (e.g., manual gearbox; CoDT_swtCoType=0), the torque contribuiton is determined from a
weighted average of two driveability maps (1 - AccPed_facDriveAway) ∗AccPed_trqEng_MAP and
AccPed_facDriveAway * AccPed_trqEngDriveAway_MAP. The two contributions are monitored via the
measuring points AccPed_trqDesTmp_mp and AccPed_trqDriveAway_mp, respectively, after proper
normalization to torque units.
During take off the map AccPed_trqEngDriveAway_MAP is fully active, that is, AccPed_facDriveAway is unity
(=1). During normal driving conditions AccPed_trqEng_MAP is determining the pull torque and therefore
AccPed_facDriveAway is zero (=0). In order to achieve a smooth transition between the two driving
conditions the factor AccPed_facDriveAway is ramped between its limits zero and one using a calibratable
slope AccPed_dtDriveAway_C (see figure).
Determining start/stop and direction of the ramp depending on vehicle speed and gearbox status will be done
via a state machine with four states AccPed_stDriveAway, see table.
Table 22: States AccPed_stDriveAway
AccPed_stDriveAway description
0x01 normal state, AccPed_trqEng_MAP is fully active
0x02 starting state, transition from take off to normal state, ramping down of factor
AccPed_facDriveAway
0x04 stopping state, transition from normal to take off state, ramping up of factor
AccPed_facDriveAway
0x08 take off state, AccPed_trqEngDriveAway_MAP is fully active

Initialization of the state machine is done in normal state if the vehicle speed VSSCD_v is below the
applicatable threshold AccPed_vDriveAwayHigh_C, and in take off state otherwise, see below and the
corresponding figure of the state machine:
Key on initialisation If the actual vehicle speed VSSCD_v is below the threshold AccPed_vDriveAwayHigh_C after initialisation of
the ECU (or RESET), the state „TAKE OFF“ is activated, otherwise the state „NORMAL“ is selected.
Actions performed in TAKE OFF state In state „TAKE OFF“ the weighting factor AccPed_facDriveAway is set to 1, so that the map
AccPed_trqEngDriveAway_MAP is used to form the drivers torque request.
Transition from TAKE OFF state to STARTING state The transition from state „TAKE OFF“ to „STARTING“ occurs if the vehicle speed VSSCD_v is higher than the
vehicle speed threshold AccPed_vDriveAwayHigh_C and transmission is engaged (Gearbx_stGear ≠ 0) .
Action performed in the STARTING state In state „STARTING“ the weighting factor AccPed_facDriveAway is ramped down to 0 with the slope
AccPed_dtDriveAway_C by means of a ramp function. This ensures a gradual passage from the take-off map
to the normal driving map.
Transition from STARTING state to NORMAL state Transition from state „STARTING“ to „NORMAL“ occurs if the upwards ramp function expires and the factor
AccPed_facDriveAway is equal to 0.
Transition from STARTING state to STOPPING The transition from state „STARTING“ to state „STOPPING“ occurs if during ramp execution the actual
state vehicle speed VSSCD_v falls below the threshold AccPed_vDriveAwayLow_C and transmission is not engaged
(Gearbx_stGear = 0). The current weighting factor AccPed_facDriveAway will be ramped up from its current
value.
Action performed in the NORMAL state In state „NORMAL“ the weighting factor AccPed_facDriveAway is set to 0, so that the map
AccPed_trqEng_MAP is used to form the drivers torque request.
Transition from NORMAL state STOPPING state Transition from state „NORMAL“ to „STOPPING“ occurs if the actual vehicle speed VSSCD_v falls below the
threshold AccPed_vDriveAwayLow_C and transmission is not engaged (Gearbx_stGear = 0).
Action performed in STOPPING state In state „STOPPING“ the weighting factor AccPed_facDriveAway is ramped up to 1 with the slope
AccPed_dtDriveAway_C by means of a ramp function. This ensures a gradual passage from the normal
driving map to the take off map.
Transition from STOPPING state to TAKE OFF state Transition from state „STOPPING“ to „TAKE OFF“ occurs if the upwards ramp function expires and
AccPed_facDriveAway is equal to 1.

19.3.2002 accped_drvdem.fm
- 68 - AccPed_DrvDem Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-AccPed Driver command determination DS/ESM

Transition from STOPPING state to STARTING The transition from state „STOPPING“ to „STARTING“ occurs if during ramp execution the actual vehicle
state speed VSSCD_v exceeds the threshold AccPed_vDriveAwayHigh_C and transmission is engaged
(Gearbx_stGear ≠ 0). The current weighting factor AccPed_facDriveAway will be ramped down from its
current value.
Figure 64 : Drive torque formation with conventional drive train coordination
A c c P e d _ trq D e s T m p _ m p
E n g _ n A v rg P

A c c P e d _ tr q D e s P u ll
A c c P e d _ rC h k d V a l

A c c P e d _ trq E n g _ M A P
1 - A c c P e d _ fa c D r iv e A w a y

A c c P e d _ tr q D r iv e A w a y _ m p
P

A c c P e d _ D rv D e m _ 4 .d s f
A c c P e d _ tr q E n g D r iv e A w a y _ M A P
A c c P e d _ fa c D r iv e A w a y

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
D rv T rn _ rT ra n s D T
AcPed_facDriveAwayAc Ped_rChkdVal AcPed_trqDesPulAc Ped_trqDesTmp_mpAc Ped_trqDriveAway_mp AcPed_trqEng_MAPcPe_dtrqEngDriveAway_MAPDrvTrn_rTansDT Egn_nAvgr

Figure 65 : Determining the weighting factor via ramp


A c c P e d _ d tD r iv e A w a y _ C
P

A c c P e d _ D rv D e m _ 1 2 .d s f
p a ra m
1
x a A c c P e d _ fa c D r iv e A w a y
0 y
x b

T 0
d t
AcPed_tDriveAway_CAcPedf_acDriveAway

Figure 66 : Drive away management via state machine


K e y -o n o r R e s e t
V S S C D _ v £ A c c P e d _ r D r iv e A w a y H ig h _ C

V S S C D _ v > A c c P e d _ v D r iv e A w a y H ig h _ C
T A K E -O F F & G e a rb x _ s tG e a r ¹ 0
w = 1 w = 1

A c c P e d _ D rv D e m _ 1 3 .d s f
S T O P P IN G S T A R T IN G
R a m p fu n c tio n R a m p fu n c tio n
w w
1 1

t t t t

1 /t = A c c P e d _ d tD r iv e A w a y _ C
N O R M A L w = 0
w = A c c P e d _ fa c D r iv e A w a y
V S S C D _ v < A c c P e d _ v D r iv e A w a y L o w _ C w = 0
& G e a rb x _ s tG e a r = 0

V S S C D _ v > A c c P e d _ v D r iv e A w a y H ig h _ C K e y -o n o r R e s e t
AcPed_facDriveAwayAc Ped_tDriveAway_CAc Ped_rDriveAwayHi gh_CAcPed_vDirveAwayHigh_CAcPed_vDriveAwayLow_CGearbx_stGearVS CD_v

For all other gearboxes (CoDT_swtCoType = 1) the torque contribution is formed from a drivability map
AccPed_trqPrp_MAP which is applicated directly as propulsion torque (torque at gearbox output) as a
function of the vehicle speed VSSCD_v and the accelerator pedal position value AccPed_rChkdVal.
Figure 67 : Drive torque formation with mastershift design

VSSCD_v

trqPull
AccPed_rChkdVal
AccPed_trqPrp_MAP
AcPed_trqPpM_APVS CDv_AcPed_rChkdVal

Overrun behaviour The setpoint formation for the negative range of values is completely different from the positive setpoint
default. Two key points must be met in the overrun range:
1. The default should be 0 Nm for accelerator pedal position values above the threshold
AccPed_rThresPrp_C. This ensures that from this point onwards the driver demand is made only through
the drivability map.
2. For accelerator pedal position values below the actual overrun threshold AccPed_rZero_C the default
must correspond to the minimum (i.e. most negative) overrun torque CoDT_trqMin available in the
currently engaged gear or in the currently selected gear ratio. This ensures that the following setpoint
coordinations result in a driver setpoint quantity of 0 mg/stroke.
Between these two key points, a linear interpolation is made and the result is output in
AccPed_trqDesOvrRun (or AccPed_trqLeadOvrRun for the lead path). The threshold values
AccPed_rZero_C and AccPed_rThresPrp_C are provided as AccPed_rZero and AccPed_rThresPrp.

accped_drvdem.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 AccPed_DrvDem - 69 -
DS/ESM Driver command determination Veh-VehMot-PrpBrk-Prp-AccPed

Figure 68 : Setpoint torque in overrun via accelerator pedal position.

trq

A c c P e d _ rZ e ro _ C
A c c P e d _ rT h re s P rp _ C

A c c P e d _ r...
C o D T _ tr q M in
AcPed_rThresPrp_CAcPed_rZeo_C oDT_trqMin

Figure 69 : Overrun Behaviour

AccPed_trqDesOvrRun
CoDT_trqMin

CoDT_swtCoType
1

TRQPRP_ZER0

CoEng_trqLiLtd
TRQPRP_ZER0

DrvTrn_rTransDT
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

AccPed_trqLILtd
CoDT_trqMin

AccPed_rChkdVal

AccPed_rThresPrp_C

AccPed_rThresPrp

AccPed_rZero_C AccPed_rZero

AcPed_rChkdVaAl cPed_rThresPrpAcPed_rThresPrp_CAc Ped_rZeroAcPe_drZero_CAcPe_dtrqDesOvrRunCoDT_swCoType CoD_TtrqMinCoEgn_trqLi tdDrvTm_rTansDT

Unmonitored operating range Operation is classified as being in the non-monitored range if the engine speed Eng_nAvrg is above a critical
speed AccPed_nLimNMR_C and simultaneously the (checked) accelerator pedal position AccPed_rChkdVal is
below the plausibility limit AccPed_rThPlaus_C. For this range no torque demand for the propulsion is
permitted to be generated above the applicatable value AccPed_trqNMRMax_C.
Figure 70 : Function in the non-monitored operating range

Eng_nAvrg

AccPed_nLimNMR_C

AccPed_rChkdVal

AccPed_rThPlaus_C

AccPed_trqDesDrvDem_mp
AccPed_trqDesUnLim_mp

AccPed_trqNMRMax_C
AcPed_trqDesDrvem_mpAcPed_rChkVdaAl cPed_rThPl aus_CEgn_nAvrgAcPed_nSec_CAcPed_trqDesUnLim_mpAcPed_trqNMRMax_C

Operation in the non-monitored range is not a malfunction but a standard case given special treatment .
Lead path (lead torque) The lead path is calculated parallel to the setpoint path using the identical algorithms. In contrast to the
setpoint path, the checked accelerator pedal position AccPed_rChkdVal is replaced by the raw value of the
accelerator pedal module APPCD_rAPP1UnFlt. The torque contribution in drive operation can be read out
from measuring point AccPed_trqLeadPull_mp, the contribution in overrun operation from
AccPed_trqLeadOvrRun and the superposition from the measuring point AccPed_trqLeadDrvDem_mp.
Figure 71 : Overview driver command lead path

CoDT_swtCoType

Eng_nAvrg
Driver's behaviour conventional AccPed_trqLeadPull_mp AccPed_trqLeadDrvDem_mp
APPCD_rAPP1UnFlt trqPull

not monitored range AccPed_trqLeadUnLim_mp

VSSCD_v
Driver's behaviour Mastershift
trqPull

Overrun behaviour
AccPed_trqLeadOvrRun

VS DC_vAcPedt_rqLeadPul_mpEng_nAvrgAP CDr_AP 1nUFltAc Ped_trqLeadUnLim_pCoDT_swtCoTypeAcPed_trqLeadDrvDem_mpAcPe_dtrqDesOvrRun

19.3.2002 accped_drvdem.fm
- 70 - AccPed_DrvDem Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-AccPed Driver command determination DS/ESM

Monitoring The accelerator pedal is checked for system errors in the component driver “Dual-analogue accelerator pedal
value evaluation (APPCD_Co)” on page 759 (Fid_AccPed_mp).

Substitute function The error paths designated for increase of the idle speed in the event of an error are entered in Fid_AccPed.
The idle speed AccPed_nErr_C is demanded if at least one of the entered error paths is reported as defective.
For active implausibility pedal/brake (AccPed_stSecCase = 1), the idle running speed AccPed_nSecCase_C
is demanded. If necessary, the setpoint value AccPed_nMin is determined by maximum selection between
these values. If at least one of the two errors occurs, the error flag AccPed_stError is set for the switchover
of the lead value. In this case the raw value of the setpoint value is adopted as lead demand (“Overview of
setpoint path and lead path for driver command” on page 66).
Figure 72 : Idle speed increase in the event of accelerator pedal error

AccPed_stSecCase
0.0

AccPed_nSecCase_C

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
AccPed_nMin

Fid_AccPed_mp GetBit
0
0.0

AccPed_nErr_C

AccPed stError
AcPed_stSeCcaseAcPed_nEr_CAcPe_dnSecCase_CAcPde_nMinAcPed_stEroFid_AcPe_dmp

ECU initialization During initialization all the outputs are pre-set to "0".

Output values AccPed_nMin: low idle set point on AccPed error [rpm] <SWORD> --->
AccPed_rThresPrp: threshold between overrun and propulsion [%] <SWORD> --->
AccPed_rZero: ratio of APP, below which fuel quantity should be zero. [%] <SWORD> --->
AccPed_stError: active errors in AccPed [-] <UBYTE> --->
AccPed_trqDes: driver torqe raw value of propulsion [Nm] <SWORD> --->
AccPed_trqDesOvrRun: driver’s demand in overrun mode for desired value [Nm] <SWORD> --->
AccPed_trqDesPull: driver’s demand in pull mode for desired value [Nm] <SWORD> --->
AccPed_trqLead: lead torque of accelerator pedal [Nm] <SWORD> --->
AccPed_trqLeadOvrRun: driver’s demand in overrun mode for lead value [Nm] <SWORD> --->
Explanation of the status bytes
Table 23: AccPed_stError status
Initialization value Bit no. Description
0 0 Error active which leads to an increase of the idle speed and the AccPed position “0”
0 1-7 not used

Input values AccPed_rChkdVal: AccPed ratio after security check [%] <SWORD> --->
AccPed_stSecCase: status of unplausibility between AccPed and Brake [-] <UBYTE> --->
APPCD_rAPP1UnFlt: accelerator pedal 1 position unfiltered value [%] <SWORD> --->
CoDT_swtCoType: 0: conventional; 1: mastershift [-] <UBYTE> --->
CoDT_trqMax: maximum torque of Drive Train [Nm] <SWORD> --->
CoDT_trqMin: minimum torque of Drive Train [Nm] <SWORD> --->
DrvTrn_rTransDT: drivetrain transmission (wheel torque per engine torque) [-] <SWORD> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
VSSCD_v: vehicle speed (velocity) [km/h] <SWORD> --->

Measuring points AccPed_trqDesDrvDem_mp: raw value for driver’s demand after overlay of pull and overrun
part [Nm] <SWORD> --->
AccPed_trqDesUnLim_mp: driver’s demand without limit [Nm] <SWORD> --->
AccPed_trqLeadDrvDem_mp: raw value for driver’s lead demand after overlay of pull and
overrun part [Nm] <SWORD> --->
AccPed_trqLeadPull_mp: driver’s demand in pull mode for lead value [Nm] <SWORD> --->
AccPed_trqLeadUnLim_mp: driver’s demand lead without limit [Nm] <SWORD> --->

Application parameters AccPed_nErr_C: substitute value of low idle set point on AccPed error<value> --->
AccPed_nLimNMR_C: Engine speed limit in not monitored range<value> --->
AccPed_nSec_C: Low-idle speed above which no drive may arise when AccPed > plausibility threshold
AccPed_nSecCase_C: substitute value of low idle set point on unplausibility AccPed-
Brake<value> --->
AccPed_rThPlaus_C: Threshold for enabling AccPed plausibility check<value> --->
AccPed_rThresPrp_C: Threshold between overrun and propulsion<value> --->
AccPed_rZero_C: ratio of APP, below which the resulting fuel quantity should be

accped_drvdem.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 AccPed_DrvDem - 71 -
DS/ESM Driver command determination Veh-VehMot-PrpBrk-Prp-AccPed

zero<value> --->
AccPed_trqEng_MAP: driver’s behaviour map as engine torque at conventional powertrain
coordination<map_individual> --->
AccPed_trqNMRMax_C: maximum allowed torque in not monitorable range of APP<value> --->
AccPed_trqPrp_MAP: driver’s behaviour map as propulsion torque at Mastershift powertrain
coordination<map_individual> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 accped_drvdem.fm
- 72 - CrCtl Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-CrCtl Cruise control DS/ESM

3.2.2.1.2 Cruise control (CrCtl)


CARTORNIC-Structure:Ve-hVehMot-PprBk-rPp-Crtl

Overview of the component


Cruise control The CrCtl component provides the cruise control torque demand required for setting a requested vehicle
speed.

Structure of the component The component consists of the following sub-components:


Figure 73 : CrCtl sub-component

C rC tl C rC C D

The cruise control function consists of three sub-functions:


• Choice of mode:Definition of cruise control state machine beginning state based on the desired driving
function.
• Shut-off:Cruise control deactivation based on different conditions (e.g., control unit error, system error,
governor deviation, etc.)
• State machine:Central function of cruise control which divides activated base functions into sub-functions
and processes them in sequence. The objective of this machine is always to achieve a static state
(NEUTRAL or HOLD).

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Subfunctions See “Mode machine for cruise control (CrCtl_Mode)” on page 73.
See “Shut-off conditions of cruise control (CrCtl_ShutOff)” on page 81.
See “State machine for cruise control (CrCtl_State)” on page 74.

crctl_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CrCtl_Mode - 73 -
DS/ESM Mode machine for cruise control Veh-VehMot-PrpBrk-Prp-CrCtl

Mode machine for cruise control (CrCtl_Mode)


CARTONIC-Sturcture:VehV-eMho-t PrpBrk-Prp-Cr tl

Functional overview The purpose of the mode machine is to activate the cruise control sub-function desired by the vehicle
operator and to initialise the cruise control state machine.

Functional description The mode machine is only responsible for normal driving functions. The response to acknowledged errors or
shut-off requests is processed by the shut-off function (see page 81).
This function, which is determined by the component driver from the control unit (CrCCD_stKey), is converted
by the mode machine to a beginning status for the cruise control state machine, in which case the current
state of the machine is significant.
The current state of the cruise control machine is described by a main state (CrCtl_stStateMch) and a sub-
state (CrCtl_stStateMchSub). Details on the encoding of the individual states are given in the "State
Machine" section.
The following table indicates the beginning states based on the desired function and the current control state.
Table 24: Cruise control beginning states
CrCCD_stKey CrCtl_stStateMch CrCtl_stStateMchSub Condition (current state)
TIP UP (7) 800h 06h • (CrCtl_stStateMch != 700h)
SET (3) 500h 07h
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

• (CrCtl_stStateMch == 100h) and (CrCtl_stStateMchSub == 01h)


or
• (CrCtl_stStateMch == A00h) and (CrCtl_stStateMchSub == 08h)
ACC (8) 900h 02h • (CrCtl_stStateMch != 900h)
TIP DOWN (4) 400h 06h • (CrCtl_stStateMch != 600h)
DEC (5) 500h 02h • (CrCtl_stStateMch != 500h)
RESUME (6) 900h 0Ah • (CrCtl_stStateMch == 100h) and (CrCtl_stStateMchSub == 01h)
or
• (CrCtl_stStateMch == 300h) and (CrCtl_stStateMchSub == 02h)
or
• (CrCtl_stStateMch == 300h) and (CrCtl_stStateMchSub==03h)
NEUTRAL (0) - 04h • (CrCtl_stStateMch == 900h) and (CrCtl_stStateMchSub == 03h)
or
• (CrCtl_stStateMch == 500h) and (CrCtl_stStateMchSub == 03h)

The following figure shows the possible main states and the state transitions based on the function
requested.
Figure 74 : Cruise control main functions

D e c

D e c

R e s A b v

T ip D o w n

T ip D o w n

C r C tl_ s tS h u tO ffR v r s < > 0 ( r e v e r s ib le s h u t- o ff c o n d itio n s H o ld


in c lu d in g s w itc h o ff) O R
C r C tl_ s tS h u tO ffIr v r s < > 0 ( ir r e v e s ib le s h u t- o ff c o n d itio n s )
T ip U p

T ip U p
R e s B e l A c c

A c c
O ff S e t

R e s u m e
c r c tl_ m o d e _ 1 .d s f

im m e d ia te s h u t- o ff o r
fin a l ( s ta tic ) s ta te s s h u t-o ff b y ra m p d o n e
s ta rt s ta te s
N e u tra l
tr a n s ie n t s ta te s

Output values CrCtl_rVnBeg: ratio vehicle to engine speed at activation of cruise control [(km/h)/rpm]
<SWORD> --->
CrCtl_stStateMch: Current operating state of the state machine [-] <ULONG> --->
CrCtl_stStateMchSub: actual sub state [-] <UWORD> --->
CrCtl_vSetPointTrgt: Target setpoint, or the speed objective [km/h] <SWORD> --->

Input values CoEng_stEng: current engine state [-] <UBYTE> --->


CrCCD_stKey: Return value of key pressed [-] <UBYTE> --->
CrCtl_rVnBeg: ratio vehicle to engine speed at activation of cruise control [(km/h)/rpm]
<SWORD> --->
CrCtl_stBlocking: Blocking state. 0 => Passive blocking and 1 => Active blocking [-]
<UBYTE> --->
CrCtl_stStateMch: Current operating state of the state machine [-] <ULONG> --->
CrCtl_stStateMchSub: actual sub state [-] <UWORD> --->
CrCtl_vSetPointTrgt: Target setpoint, or the speed objective [km/h] <SWORD> --->
VehDa_rVn: ratio of vehicle speed to engine speed [(km/h)/rpm] <SWORD> --->

19.3.2002 crctl_mode.fm
- 74 - CrCtl_State Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-CrCtl State machine for cruise control DS/ESM

State machine for cruise control (CrCtl_State)


CARTORNIC-Structure:Ve-hVehMot-PprBk-rPp-Crtl

Functional overview The state machine is the core function of cruise control. It divides the functions requested by the mode
machine (see “Mode machine for cruise control (CrCtl_Mode)” on page 73) or the shut-off function (see
“Shut-off conditions of cruise control (CrCtl_ShutOff)” on page 81) into sub-functions and then executes
them.

Functional description
Introduction The individual states CrCtl_stStateMch and sub-states CrCtl_stStateMchSub and their transitions are
described below.
Important variables are the vehicle speed setpoint CrCtl_vSetPointTrgt, the current vehicle speed
VSSCD_v as governor variable, the cruise control demand torque CrCtl_trqDes as set value and the
acceleration VSSCD_a as secondary variable.
Table 25: State variable CrCtl_stStateMch
Value Description
0100h Neutral state
0300h Off state
0400h Tip-down state

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
0500h Deceleration state
0600h Resume from above state
0700h Resume from below state
0800h Tip-up state
0900h Accelerate state
0A00h Hold state

Table 26: Sub-state variable CrCtl_stStateMchSub


Value Meaning
01h No sub-state
02h Defines the start value for a setpoint ramp (StartValue)
03h Processing the prepared setpoint ramp (Ramp)
04h Setpoint ramp has been processed (RampEnd)
05h Preparation for transition to the hold state (PrepHold)
06h Preparation of a change in setpoint (increment, decrement) without ramp
07h Setting a new setpoint from current vehicle speed
08h Controlling the adjusted setpoint
0Ah Preparation for resumption of a stored setpoint

Neutral state Cruise control is not active. This is a static state. It is always attempted when cruise control is shut-off.
Furthermore, this is the initial state after switching the control unit on.
Accelerate state
Initialise setpoint ramp (CrCtl_stStateMchSub = The cruise control start value is derived as a maximum value from:
02h) • Engine setpoint torque train amplification corrected by application (current torque)
= CoDT_trqDes * DrvTrn_rTransDT
• Current cruise control demand torque
• Minimum gearbox output torque increased by a factor based on vehicle speed
= CoDT_trqMin + (VSSCD_v * CrCtl_facEnpPaw_C)
Process setpoint ramp (CrCtl_stStateMchSub = The setpoint speed is then increased by a speed ramp. The ramp start value is the current vehicle speed.
03h)
The ramp slope is CrCtl_dtiEnpRsk_C * VSSCD_v + CrCtl_dvEnpRsp_C.
The current vehicle speed is adjusted to the ramp speed by the P-governor using the governor parameters
CrCtl_AccP.... The ramp speed is increased as long as an acceleration demand from the driver is
detected. If no further acceleration is desired, the current vehicle speed becomes the setpoint speed.
Setpoint ramp (CrCtl_stStateMchSub = 04h) fin- If the acceleration of the vehicle is less than or equal to CrCtl_facEnpBou_C, a transition is made to the hold
ished state, in which case the current cruise control demand torque is assumed by the PI-governor integrator.
Otherwise, the cruise control demand torque CrCtl_trqDes is reduced the moment the acceleration demand
is ended and a switch is made to the "waiting for transition after holding" state. The reduction value is derived
from the difference between current and minimum torque, multiplied by a proportion factor, produced as
follows:
Table 27: Demand torque reduction proportion factor in acceleration state
Condition Factor
CrCtl_trqDes > CrCtl_trqEnpMmp_C CrCtl_facEnpFmg_C
CrCtl_trqDes <= CrCtl_trqEnpMmp_C CrCtl_facEnpFmk_C

Waiting for transition after holding This new cruise control demand torque is reduced by a ramp with the slope CrCtl_facEnpRsu_C. If the
(CrCtl_stStateMchSub = 05h) current speed is greater than or equal to the setpoint speed, the ramp slope is doubled.
If the vehicle acceleration is less than or equal to CrCtl_facEnpBou_C and if the current vehicle speed is less
than or equal to the setpoint speed increased by the offset CrCtl_vEnpAvd_C, a transition is made to the hold
mode, in which case the current vehicle speed is adjusted to the setpoint speed.
The cruise control demand torque is assumed by the PI-governor integrator. This state terminates the
acceleration process.
Preparation for resumption (CrCtl_stStateMchSub This sub-state only becomes active as a result of a resumption demand. If the desired setpoint speed
= 0Ah) CrCtl_vSetPointTrgt is equal to 0, a change is made to the neutral state; resumption is not possible.
Otherwise, the subsequent state is produced, as follows:
• If negative governor deviation, the subsequent state is the resumption from above
• If positive (or no) governor deviation, the subsequent state is the resumption from below

crctl_state.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CrCtl_State - 75 -
DS/ESM State machine for cruise control Veh-VehMot-PrpBrk-Prp-CrCtl

Summary acceleration state


Figure 75 : Acceleration state
A c c e le r a tio n d e m a n d e d

0
t

C r C tl_ tr q D e s

if ( to r q u e > C r C tl_ tr q E n p M m p _ C )
u s e C r C tl_ fa c E n p F m g _ C to r e d u c e
e ls e u s e C r C tl_ fa c E n p F m k _ C
C r C tl_ fa c E n p R s u _ C

S ta r tv a lu e

( V S S C D _ a < = C r C tl_ fa c E n p B o u ) a n d
( V S S C D _ v < = C r C tl_ v S e tP o in tT r g t+
V C r C tl_ v E n p A v d _ C )
C r C tl_ v S e tP o in tT r g t
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

V S S C D _ v

c r u is e c o n tr o l
m o d e
P R E P H O L D
N H O L D
E
U
T R A M P (E N D )
R
A
L

P - r e g u la tio n P I- r e g u la tio n t
C r C tl_ A c c P ... C r C tl_ H o ld P ...
c o n tro l C r C tl_ H o ld I...

CrtCl_Ac PCrtl_facEnpBou CrtCl_facEnpFmg_CrCtl_facEnpFmk_C rCtl_facEnpRsu_C rCtl_Hodl ICrCtl_HoldPCrtCl_trqDesCrtCl_trqEnpMmp_CrCtl_vEnpAvdC_ Crtl_vSetPointTrgtVS CDa_ VSCDv_

Deceleration state
Initialise setpoint ramp (CrCtl_stStateMchSub = After activating the deceleration state, a start value for cruise control demand torque is calculated. This is a
02h) maximum value from the current torque and the current cruise control demand torque.
Process setpoint ramp (CrCtl_stStateMchSub = The setpoint speed is decreased based on a speed ramp. The start value of the ramp is the current vehicle
03h) speed at the moment the deceleration state is activated.
The ramp slope is (VSSCD_v * CrCtl_dtiEnmRsk_C + CrCtl_dvEnmRsm_C).
The current speed is adjusted to the ramp speed by the P-governor using governor parameters
CrCtl_DecP.... If the cruise control demand torque determined in this manner is equal to the minimum
demand torque, the ramp speed is not modified further.
Setpoint ramp (CrCtl_stStateMchSub = 04h) fin- If the vehicle deceleration is less than CrCtl_aEnmBod_C, a transition is made to the hold state. Here, the
ished current cruise control demand torque is assumed by the PI-governor integrator.
Otherwise, the current cruise control demand torque at the moment the deceleration demand is ended is
increased by a value which is derived as a product of the current vehicle speed and the proportion factor
CrCtl_facEnmPem_C. Then the transition is made to the "waiting for transition to hold" state.
Waiting for transition after holding The new cruise control demand torque is increased by the ramp (slope CrCtl_facEnmRsu_C). If the current
(CrCtl_stStateMchSub = 05h) vehicle speed is less than the setpoint speed, the ramp slope is doubled.
If the vehicle acceleration is greater than or equal to CrCtl_aEnmBod_C and if the current vehicle speed is
greater than the setpoint speed reduced by the offset CrCtl_vEnmAvd_C, a transition is made to the hold
state, in which case the current vehicle speed is adjusted to the setpoint speed.
The cruise control demand torque is assumed by the PI-governor integrator. This state ends the deceleration
process.
(CrCtl_stStateMchSub = 07h) setting This state is only activated as a result of a ’SET’ command. Here, the current vehicle speed is set to the
setpoint speed and transferred to the hold state. The current torque is assumed by the PI-governor for the
hold state.

19.3.2002 crctl_state.fm
- 76 - CrCtl_State Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-CrCtl State machine for cruise control DS/ESM

Summary deceleration state


Figure 76 : Deceleration state
D e c e le r a tio n d e m a n d e d

0
t

C r C tl_ tr q D e s

S ta r tv a lu e C r C tl_ fa c F e m R s u _ C
C r C tl_ fa c E n m P e m _ C

V S S C D _ V ( V S S C D _ a > = C r C tl_ a E n m B o d _ C ) a n d
( V S S C D _ v > C r C tl_ v S e tP o in tT r g t-
C r C tl_ v E n m A v d _ C )

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
C r C tl_ v S e tP o in tT r g t

c r u is e c o n tr o l
m o d e
P R E P H O L D
N H O L D
E
U
T D E C
R
A
L

P - r e g u la tio n c o n tro l P I r e g u la tio n t


C r C tl_ D e c P ... C r C tl_ H o ld P ...
C r C tl_ H o ld I...

CrtCl_aEnmBod_CrCtl_DecPCrtl_facEnmPem_C Crtl_facFemRsu_C rtCl_HoldICrtl_HoldPCrtl_rqDesCrtl_vEnmAvd_C rCtl_vSetPointTrgtVS C_DaVS CD_vCrtl_vSetPointTrgt


c r c tl_ s ta te _ 2 .d s f

Tip-up state
Preparing a change in setpoint value If the current speed is in a window around the setpoint speed
(CrCtl_stStateMchSub = 06h)
(CrCtl_vSetPointTrgt - CrCtl_vTipStep_C) < VSSCD_v < (CrCtl_vSetPointTrgt + CrCtl_vTipLimit_C)
and if the cruise control demand torque has not attained the maximum value, the new setpoint speed
becomes the current speed increased by CrCtl_vTipStep_C.
Then a transition is made to the "resume from below" state.
If the maximum demand torque CoDT_trqMax has been reached, the setpoint speed is not increased. If the
current speed is greater than CrCtl_vAlwMax_C, limitation takes place and a transition is made to the
"resume from above" state.
If the vehicle speed is not in the above indicated window, or if no valid speed setpoint value is present (value
= 0), a transition is made to the "neutral" state. The running "tip-up" process is thereby aborted.
Hint: The label CrCtl_vTipLimit_C is not applicable. The value is fixed at 5km/h.
Tip-down state
Preparing a change in setpoint value If the current speed is in a window around the setpoint speed
(CrCtl_stStateMchSub = 06h)
(CrCtl_vSetPointTrgt - CrCtl_vTipLimit_C) < VSSCD_v < (CrCtl_vSetPointTrgt + CrCtl_vTipStep_C)
and if the cruise control demand torque has not attained the minimum value, the new setpoint speed
becomes the current speed decreased by CrCtl_vTipStep_C.
Then a transition is made to the "resume from above" state.
If the minimum demand torque has been reached, the setpoint speed is not decreased. If the speed setpoint
is > 0, a transition is made to the "resume from above" state.
If the vehicle speed is not in the above indicated window, or if no valid speed setpoint value is present (value
= 0), a transition is made to the "neutral" state. The running "tip-down" process is thereby aborted.
Resume from above state
Initialise setpoint ramp (CrCtl_stStateMchSub = First of all, the current cruise control torque is calculated as the difference between the current torque and
02h) the minimum gearbox output torque multiplied by the percentage factor CrCtl_facWaPav_C.
The vehicle speed is subsequently decreased based on a speed ramp. The start value of the ramp is the
current vehicle speed at the moment the deceleration state is activated.
Process setpoint ramp (CrCtl_stStateMchSub = The ramp slope is CrCtl_facWaRsw_C. The current vehicle speed is adjusted to the ramp speed by the P-
03h) governor (parameter set CrCtl_ResP...).
If the current speed is less than the setpoint speed + CrCtl_vWaVro_C, the ramp slope is reduced by half.
If the current driving speed is less than or equal to the setpoint speed, a transition is made to the hold state,
in which case the cruise control demand torque is assume by the PI-governor integrator.

crctl_state.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CrCtl_State - 77 -
DS/ESM State machine for cruise control Veh-VehMot-PrpBrk-Prp-CrCtl

Resume from above state


Figure 77 : Resume from above state
R e s u m e fro m a b o v e d e m a n d e d

0
t
C r C tl_ tr q D e s

S ta r tv a lu e

V
V S S C D _ v
r a m p s p e e d < ( C r C tl_ v S e tP o in tT r g t+ C r C tl_ v W a V r o _ C )

C r C tl_ v S e tP o in tT r g t
t
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

c r u is e c o n tr o l
m o d e
N H O L D
E
U
T R e s u m e A b o v e
R
A
L
P - r e g u la tio n P I r e g u la tio n t
C r C tl_ R e s P ... C r C tl_ H o ld P ...
C r C tl_ H o ld I...

c r c tl_ s ta te _ 3 .d s f
CrtCl_HoldICrtl_HoldPCrtl_ResP Crtl_trqDesCrtl_vSetPointTrgtCrtl_vWaVro_CVSCDv_

Resume from below state


Initialise setpoint ramp (CrCtl_stStateMchSub = When resumption is made from below, the cruise control demand torque is derived from the maximum from
02h) the current torque and the minimum gearbox output torque which is now increased by the product of the
current vehicle speed and the CrCtl_facEnpPaw_C factor.
The vehicle speed is subsequently increased based on a speed ramp. The start value of the ramp is the
current vehicle speed at the moment the resumption is activated.
Process setpoint ramp (CrCtl_stStateMchSub = The current vehicle speed is adjusted to the ramp speed by the P-governor using governor parameters
03h) CrCtl_ResP....
If the ramp speed is greater than the setpoint speed reduced by CrCtl_vWaVru_C, the ramp slope is reduced
by half.
If the cruise control demand torque determined in this manner is equal to the maximum torque CoDT_trqMax,
the speed ramp is interrupted.
Waiting for transition after holding If the current vehicle speed is greater than or equal to the setpoint speed, a transition is made to the "hold"
(CrCtl_stStateMchSub = 05h) state.
Until then, the vehicle speed is advanced to the setpoint speed by the PI-governor using parameter sets
CrCtl_ResHoldP... and CrCtl_ResHoldI.... The I-component integrator is assigned the last value
of the cruise control demand torque during the transition to the "hold" state.
Resume from below state
Figure 78 : Resume from below state
R e s u m e fr o m e b e lo w d e m a n d e d

0
t
C r C tl_ tr q D e s

S ta r tv a lu e

V
C r C tl_ v S e tP o in tT r g t

v _ r a m p > ( C r C tl_ v S e tP o in tT r g t+ C r C tl_ v W a V r u _ C )


V S S C D _ v

t
c r u is e c o n tr o l
m o d e
H O L D
N
E P r e p H o ld
U R e s u m e B e lo w
T
R
A
L
P - r e g u la tio n P I r e g u la to r P I- r e g u la to r t
C r C tl_ R e s P ... C r C tl_ H o ld P ...
C r C tl_ H o ld I...
C r C tl_ R e s H o ld P ...
C r C tl_ R e s H o ld I...

c r c tl_ s ta te _ 4 .d s f
CrtCl_HoldICrtl_HoldPCrtl_ResHoldI CrCtl_ResHoldPCrtCl_ResPCrtl_rqDesCrtl_vSetPointTrgtCrCtl_vWaVru_Cv_rampVSCDv_

19.3.2002 crctl_state.fm
- 78 - CrCtl_State Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-CrCtl State machine for cruise control DS/ESM

Off state
Initialise setpoint ramp (CrCtl_stStateMchSub = This state is activated when there is a shut-off request from the vehicle operator or the cruise control itself.
02h) Causes which can lead to shut-off are explained in detail in the "Shut-off Function" section. The existence of
a shut-off condition is displayed in messages CrCtl_stShutOffRvrs (reversible shut-off) and
CrCtl_stShutOffIrvrs (irreversible shut-off), see “Shut-off conditions of cruise control (CrCtl_ShutOff)” on
page 81. The type of shut-off can be applied for each shut-off condition. The following table shows the
possibilities there are and their related application data.
Table 28: Cruise control shut-off types, sorted according to priority
Shut-off type Reversible shut-off Irreversible shut-off
Immediate shut-off CrCtl_stRvrsCutOff_C CrCtl_stIrvrsCutOff_C
Shut-off by time constant ramp CrCtl_stRvrsRmpOne_C CrCtl_stIrvrsRmpOne_C
Shut-off by constant slope ramp CrCtl_stRvrsRmpTwo_C CrCtl_stIrvrsRmpTwo_C

The label structure is identical to the structure of the messages containing the shut-off information. A shut-
off type is activated by setting the corresponding bit. If several bits are set for one shut-off condition, the shut-
off type with the highest priority has preference.
Hint: If no shut-off type is defined for a shut-off condition, and if this condition is active, cruise control is not shut-off.
When cruise control is shut-off by a time constant ramp, the demand torque is first reduced by the difference
between the current demand torque and the minimum gearbox output torque multiplied by the

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
CrCtl_facOffRsb_C factor. Next, the cruise control demand torque is decreased to the minimum torque
within the CrCtl_tiOffRab_C time.
When cruise control is shut-off by a slope constant ramp, the demand torque is first reduced by the difference
between the current demand torque and the minimum gearbox output torque multiplied by the
CrCtl_facOffRas_C factor. Next, the cruise control demand torque is decreased by the CrCtl_facOffSra_C
slope.
Process setpoint ramp (CrCtl_stStateMchSub = The computed torque ramp is processed. Next, a change is made to the state ’NEUTRAL’.
03h)
Summary off state
Figure 79 : Off state

S h u tO ff- S h u tO ff-
c o n d itio n c o n d itio n
R a m p T w o
R a m p O n e
1 1

0 0
t t
C r C tl_ tr q D e s C r C tl_ tr q D e s

c r c tl_ s ta te _ 5 .d s f
C r C tl_ fa c O ffR s b _ C C r C tl_ fa c O ffR a s _ C

C r C tl_ fa c O ffS r a _ C

C r C tl_ tiO ffR a b _ C t t


c r u is e c o n tr o l c r u is e c o n tr o l
m o d e m o d e

O F F O F F

N E U T R A L N E U T R A L

t t
CrtCl_facOfRas_Cr tl_facOfRsb_C rCtl_facOfSr_aCrCtl_i OfRab_C Crtl_rqDse

When cruise control shut-off due to a irreversible shut-off condition is done (by immediate shut-off or ramp)
and cruise control turns from state ’OFF’ (CrCtl_stStateMch = 300h) to final state ’NEUTRAL’
(CrCtl_stStateMch = 100h), the cruise control blocking status turns from ’ACTIVE’ (CrCtl_stBlocking =
1h) to ’LOCKED’ (CrCtl_stBlocking = 2h) and cruise control is blocked for the current driving cycle.
Output from the current status The current cruise control status is indicated by the CrCtl_stActive. Cruise control active (1) or inactive
(0). The message CrCtl_stOpFunc contains further information. Its structure is set forth in the following table.
Table 29: Structure of the message CrCtl_stOpFunc
Value Meaning
0 Cruise control inactive
1 Cruise control active
2 Cruise control "violation" (accelerator pedal sensor torque
AccPed_trqDes > cruise control torque CrCtl_trqDes)

Output values CrCtl_rVnBeg: ratio vehicle to engine speed at activation of cruise control [(km/h)/rpm]
<SWORD> --->
CrCtl_stActive: Active cruise control flag
CrCtl_stOpFunc: state of cruise control operation functionality [-] <UBYTE> --->
CrCtl_trqDes: Cruise Control torque demand [Nm] <SWORD> --->
CrCtl_trqLead: lead torque of cruise control [Nm] <SWORD> --->
CrCtl_trqLimAct: actual limitation torque for Cruise Control [Nm] <SWORD> --->
CrCtl_vSetPointTrgt: Target setpoint, or the speed objective [km/h] <SWORD> --->

crctl_state.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CrCtl_State - 79 -
DS/ESM State machine for cruise control Veh-VehMot-PrpBrk-Prp-CrCtl

Input values AccPed_trqDes: driver torqe raw value of propulsion [Nm] <SWORD> --->
CoDT_trqDTInDes: desired value for drivetrain input (clutch) [Nm] <SWORD> --->
CoDT_trqMin: minimum torque of Drive Train [Nm] <SWORD> --->
CoEng_trqInrLim: limitation torque (inner engine torque) [Nm] <SWORD> --->
CoEng_trqLiLtd: Limited Li-Gov output [Nm] <SWORD> --->
CoEng_trqMin: drag torque [Nm] <SWORD> --->
CoVeh_trqAcs: Torque requirement of the accessories [Nm] <SWORD> --->
CoVeh_trqPrpLimErr: limitation torque for propulsion at system error [Nm] <SWORD> --->
CrCCD_stCrCtlPresent: status of cruise control device detection [-] <UBYTE> --->
CrCtl_stBlocking: Blocking state. 0 => Passive blocking and 1 => Active blocking [-]
<UBYTE> --->
CrCtl_stShutOffIrvrs: irreversible shut off conditions [-] <UWORD> --->
CrCtl_stShutOffRvrs: reversible shut off conditions [-] <ULONG> --->
CrCtl_stStateMch: Current operating state of the state machine [-] <ULONG> --->
CrCtl_stStateMchSub: actual sub state [-] <UWORD> --->
DrvTrn_rTransDT: drivetrain transmission (wheel torque per engine torque) [-] <SWORD> --->
FMTC_etaCurr: current efficiency (corrected) [Nm/(mm^3/cyc)] <SWORD> --->
InjCtl_qLim: limitation fuel mass [mm^3/cyc] <SWORD> --->
VehDa_rVn: ratio of vehicle speed to engine speed [(km/h)/rpm] <SWORD> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

VSSCD_a: vehicle acceleration [m/s^2] <SWORD> --->


VSSCD_v: vehicle speed (velocity) [km/h] <SWORD> --->

Application parameters
Acceleration function CrCtl_AccPKp_C: Proportional gain Kp small signal range at ramping cruise control speed
in ON+<value> --->
CrCtl_AccPKpNeg_C: Proportional gain Kp neg. large signal range during ramp cruise control
speed in ON+<value> --->
CrCtl_AccPKpPos_C: Proportional gain Kp pos. large signal range during ramp cruise control
speed ON+<value> --->
CrCtl_AccPWinNeg_C: P-governor neg. small signal range border<value> --->
CrCtl_AccPWinPos_C: P-governor pos. small signal range border<value> --->
CrCtl_dtiEnpRsk_C: slope for acceleration ramp<value> --->
CrCtl_dvEnpRsp_C: offset for acceleration ramp<value> --->
CrCtl_facEnpBou_C: acceleration threshold<value> --->
CrCtl_facEnpFmg_C: torque reduction factor > threshold<value> --->
CrCtl_facEnpFmk_C: torque reduction factor [lt ]= threshold<value> --->
CrCtl_facEnpPaw_C: factor for torque-proportional starting value<value> --->
CrCtl_facEnpRsu_C: slope torque ramp at wait on hold<value> --->
CrCtl_trqEnpMmp_C: torque threshold to select the reduction factor<value> --->
CrCtl_vEnpAvd_C: max. governor deviation at transition to hold<value> --->
Deceleration function CrCtl_aEnmBod_C: acceleration threshold<value> --->
CrCtl_DecPKp_C: P-governor amplification small signal range<value> --->
CrCtl_DecPKpNeg_C: P-governor amplification neg. large signal range<value> --->
CrCtl_DecPKpPos_C: P-governor amplification pos. large signal range<value> --->
CrCtl_DecPWinNeg_C: P-governor neg. small signal range border<value> --->
CrCtl_DecPWinPos_C: P-governor pos. small signal range border<value> --->
CrCtl_dtiEnmRsk_C: slope for deceleration ramp<value> --->
CrCtl_dvEnmRsm_C: offset for deceleration ramp<value> --->
CrCtl_facEnmPem_C: factor for torque increasing<value> --->
CrCtl_facEnmRsu_C: slope torque ramp at wait on hold<value> --->
CrCtl_vEnmAvd_C: max. governor deviation at transition to hold<value> --->
Tip-up/tip-down function CrCtl_vTipLimit_C: limit for Tip Up/Down<value> --->
CrCtl_vTipStep_C: cruise control speed increment TIP-UP, decrement TIP-DOWN<value> --->
Resume function (General) CrCtl_facWaRsw_C: ramp slope of the vehicle speed setpoint at resume<value> --->
CrCtl_ResPKp_C: P-governor amplification small signal range<value> --->
CrCtl_ResPKpNeg_C: P-governor amplification neg. large signal range<value> --->
CrCtl_ResPKpPos_C: P-governor amplification pos. large signal range<value> --->
CrCtl_ResPWinNeg_C: P-governor neg. small signal range border<value> --->
CrCtl_ResPWinPos_C: P-governor pos. small signal range border<value> --->
Resume from above function CrCtl_facWaPav_C: reduction factor for the torque starting value<value> --->
CrCtl_vWaVro_C: threshold governor deviation for half ramp slope<value> --->
Resume from below function CrCtl_facEnpPaw_C: factor for torque-proportional starting value<value> --->
CrCtl_ResHoldIKi_C: I-governor amplification small signal range<value> --->
CrCtl_ResHoldIKiNeg_C: I-governor amplification neg. large signal range<value> --->
CrCtl_ResHoldIKiPos_C: I-governor amplification pos. large signal range<value> --->
CrCtl_ResHoldIWinNeg_C: I-governor neg. small signal range border<value> --->
CrCtl_ResHoldIWinPos_C: I-governor pos. small signal range border<value> --->
CrCtl_ResHoldPKp_C: P-governor amplification small signal range<value> --->
CrCtl_ResHoldPKpNeg_C: P-governor amplification neg. large signal range<value> --->
CrCtl_ResHoldPKpPos_C: P-governor amplification pos. large signal range<value> --->
CrCtl_ResHoldPWinNeg_C: P-governor neg. small signal range border<value> --->
CrCtl_ResHoldPWinPos_C: P-governor pos. small signal range border<value> --->
CrCtl_vWaVru_C: threshold governor deviation for half ramp slope<value> --->

19.3.2002 crctl_state.fm
- 80 - CrCtl_State Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-CrCtl State machine for cruise control DS/ESM

Hold function CrCtl_HoldIKi_C: I-governor amplification small signal range<value> --->


CrCtl_HoldIKiNeg_C: I-governor amplification neg. large signal range<value> --->
CrCtl_HoldIKiPos_C: I-governor amplification pos. large signal range<value> --->
CrCtl_HoldIWinNeg_C: I-governor neg. small signal range border<value> --->
CrCtl_HoldIWinPos_C: I-governor pos. small signal range border<value> --->
CrCtl_HoldPKp_C: P-governor amplification small signal range<value> --->
CrCtl_HoldPKpNeg_C: P-governor amplification neg. large signal range<value> --->
CrCtl_HoldPKpPos_C: P-governor amplification pos. large signal range<value> --->
CrCtl_HoldPWinNeg_C: P-governor neg. small signal range border<value> --->
CrCtl_HoldPWinPos_C: P-governor pos. small signal range border<value> --->
CrCtl_vALLIAV_C: v-threshold for finishing OVERRIDE-mode<value> --->
OUT function CrCtl_facOffRas_C: torque reduction factor at slope constant ramp<value> --->
CrCtl_facOffRsb_C: torque reduction factor at time constant ramp<value> --->
CrCtl_facOffSra_C: slope of the slope constant ramp<value> --->
CrCtl_tiOffRab_C: shut off duration of the time constant ramp<value> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

crctl_state.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CrCtl_ShutOff - 81 -
DS/ESM Shut-off conditions of cruise control Veh-VehMot-PrpBrk-Prp-CrCtl

Shut-off conditions of cruise control (CrCtl_ShutOff)


CARTONIC-Sturcture:VehV-eMho-t PrpBrk-Prp-Cr tl

Functional overview There are numerous conditions which exclude the execution of cruise control. The purpose of these functions
is to check these conditions and to forward them to the state machine to shut-off the cruise control.

Functional description
Dividing the shut-off conditions The possible shut-off conditions are divided into three groups:
• Irreversible shut-off conditions: Cruise control cannot be switched on again during this driving cycle.
• Reversible shut-off conditions: After the condition has been removed, cruise control can be switched on
again; any existing speed setpoint is deleted.
• Reversible shut-off conditions: After the condition has been removed, cruise control can be switched on
again; any existing speed setpoint is not deleted.
For each shut-off condition, the type of substitution reaction can be applied (see “State machine for cruise
control (CrCtl_State)” on page 74). If no substitution reaction has been configured, the affected shut-off
condition is inactive.
• Irreversible shut-off: CrCtl_stIrvrsCutOff_C, CrCtl_stIrvrsRmpOne_C, CrCtl_stIrvrsRmpTwo_C
• Reversible shut-off: CrCtl_stRvrsCutOff_C, CrCtl_stRvrsRmpOne_C, CrCtl_stRvrsRmpTwo_C
If a shut-off condition is detected and activated, the relative bit is set in the message CrCtl_stShutOffIrvrs
(irreversible shut-off) or CrCtl_stShutOffRvrs (reversible shut-off). When the shut-off condition is no longer
present, the bit is erased.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

In order to make temporary shut-off conditions visible, all detected irreversible or reversible conditions are
displayed in measuring points CrCtl_stShutOffIrvrsStore_mp or CrCtl_stShutOffRvrsStore_mp. The
content of measuring point CrCtl_stShutOffIrvrsStore_mp is deleted with switching off terminal 15. If no
cause for a reversible shut-off is present in CrCtl_stShutOffRvrs, the cruise control is actively regulating
vehicle speed again and the cruise control states are not ’NEUTRAL’ (CrCtl_stStateMch = 100h) or ’OFF’
(CrCtl_stStateMch = 300h), the content of the measuring point CrCtl_stShutOffRvrsStore_mp is deleted.
Shut-off conditions, irreversible The following conditions lead to an irreversible shut-off of the cruise control for the current driving cycle, see
“Irreversible shut-off conditions which delete setpoint speed” on page 81:
• An irreversible actuating device error is present (CrCCD_stKey = F1h)
• An error is present which blocks Fid_CrCtl_ShutOffIrvrs_mp (general system error)
• A brake error is present which blocks Fid_CrCtl_Brk_mp
• An accelerator pedal error is present which blocks Fid_CrCtl_AccPed_mp
• A clutch error is present which blocks Fid_CrCtl_Clth_mp
• An engine speed sensing error is present which blocks Fid_CrCtl_EngSpdSens_mp
• A vehicle speed sensing error is present which blocks Fid_CrCtl_VehSpdSens_mp
• A boost pressure error is present which blocks Fid_CrCtl_BstPres_mp
• A rail pressure error is present which blocks Fid_CrCtl_RailPres_mp
• Deceleration above calibrable threshold CrCtl_aDecShutOff_C is detected for the time longer than
CrCtl_tiDecShutOff_C (additional safety function if brake switches does not work).
Table 30: Bit positions in CrCtl_stIrvrsCutOff_C, CrCtl_stIrvrsRmpOne_C and CrCtl_stIrvrsRmpTwo_C for
masking irreversible shut-off conditions
Shut-off condition Bit position is shut-off condition is no shut-off condition
irreversible actuating device error 0 1 0
general system error Fid_CrCtl_ShutOffIrvrs_mp 1 1 0
brake error Fid_CrCtl_Brk_mp 2 1 0
accelerator pedal error Fid_CrCtl_AccPed_mp 3 1 0
clutch error Fid_CrCtl_Clth_mp 4 1 0
engine speed sensing error Fid_CrCtl_EngSpdSens_mp 5 1 0
vehicle speed sensing error Fid_CrCtl_VehSpdSens_mp 6 1 0
boost pressure error Fid_CrCtl_BstPres_mp 7 1 0
rail pressure error Fid_CrCtl_RailPres_mp 8 1 0
deceleration too high for calibrable time duration 9 1 0

Figure 80 : Irreversible shut-off conditions which delete setpoint speed


C rC C D _ s tK e y

F 1 h

F id _ C r C tl_ S h u tO ffIr v r s _ m p

F id _ C r C tl_ B r k _ m p

F id _ C r C tl_ A c c P e d _ m p
.0
F id _ C r C tl_ C lth _ m p
.1
F id _ C r C tl_ E n g S p d S e n s _ m p
.2
F id _ C r C tl_ V e h S p d S e n s _ m p
.3
C r C tl_ s tS h u tO ffIr v r s
F id _ C r C tl_ B s tP r e s _ m p >= 1
.4
F id _ C r C tl_ R a ilP r e s _ m p
.5
C r C tl_ tiD e c S h u tO ff_ C C r C tl_ v S e tP o in tT r g t
P .6 0

V S S C D _ a .7

C r C tl_ a D e c S h u tO ff_ C T .8
c r c tl_ s h u to ff_ 1 .d s f

.9
&

19.3.2002 crctl_shutoff.fm
- 82 - CrCtl_ShutOff Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-CrCtl Shut-off conditions of cruise control DS/ESM

If a irreversible shut-off condition is detected, the message CrCtl_stBlocking is set to active status (= 1h).
If the shutdown of cruise control in cruise control state machine is done (by cut off or ramp), see “State
machine for cruise control (CrCtl_State)” on page 74, the message will be set there to locked status (= 2h).
Shut-off conditions, reversible, which delete the The following conditions lead to a reversible shut-off of cruise control with simultaneous deletion of
setpoint speed the speed setpoint, see “Reversible shut-off conditions which delete setpoint speed” on page 82:
• A reversible actuating device error is present (CrCCD_stKey = F0h)
• Cruise control is switched of by driver or terminal 15 is off (CrCCD_stKey = 01h)
• An error is present which blocks Fid_CrCtl_ShutOffRvrs_CV_mp (general system error)
• Acceleration VSSCD_a is higher than CrCtl_aAccShutOff_C for the time duration greater than
CrCtl_tiAccShutOff_C, meanwhile cruise control is actively regulating vehicle speed
• Battery voltage BattCD_u is lower than CrCtl_uShutOff_C.
Table 31: Bit positions in CrCtl_stRvrsCutOff_C, CrCtl_stRvrsRmpOne_C and CrCtl_stRvrsRmpTwo_C for masking
reversible shut-off conditions with deleting setpoint speed
Shut-off condition Bit position is shut-off condition is no shut-off condition
reversible actuating device error 0 1 0
cruise control is switched off 1 1 0
general system error Fid_CrCtl_ShutOffRvrs_CV_mp 2 1 0
acceleration too high for calibrable time duration 3 1 0
battery voltage too low 4 1 0

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Figure 81 : Reversible shut-off conditions which delete setpoint speed
C rC C D _ s tK e y

F 0 h

0 1 h

F id _ C r C tl_ S h u tO ffR v r s _ C V _ m p

C r C tl_ tiA c c S h u tO ff_ C


P

V S S C D _ a

C r C tl_ a A c c S h u tO ff_ C T
P

&

C r C tl_ s tS ta te M c h

1 0 0 h

.0
&
.1
3 0 0 h
.2 C r C tl_ s tS h u tO ffR v r s
=> 1
.3
B a ttC D _ u

c r c tl_ s h u to ff_ 2 .d s f
.4
C r C tl_ u S h u tO ff_ C C r C tl_ v S e tP o in tT r g t
P
0

Shut-off conditions, reversible, which do not delete The following conditions lead to a reversible shut-off of cruise control without deleting the speed setpoint, see
the setpoint speed “Reversible shut-off conditions without deleting setpoint speed (1)” on page 83 and see “Reversible shut-off
conditions without deleting setpoint speed (2)” on page 83:
• An error is present which blocks Fid_CrCtl_ShutOffRvrs_KV_mp (general system error)
• The brake was actuated (BrkCD_stPressed <> 0)
• The clutch was actuated (ConvCD_stDebVal <> 0)
• Inadmissible gear Gearbx_stGear, that is first, neutral or reverse gear
• Vehicle speed VSSCD_v is outside the admissible range represented by CrCtl_vAlwMin_C and
CrCtl_vAlwMax_C
• The engine speed Eng_nAvrg is greater than CrCtl_nShutOffMax_C
• The engine speed Eng_nAvrg is less than CrCtl_nShutOffMin_C
• The vehicle/engine speed ratio VehDa_rVn is less than CrCtl_rVnDvtAbs_C
• An external brake or torque intervention FrmMng_stBrkPrp from vehicle dynamics control, traction control
or drag control system is active; after this intervention is done, the cruise control becomes automatically
active again using the last set setpoint speed (CrCtl_stStateMch = 0900h and CrCtl_stStateMchSub
= 000Ah).
If the cruise control state is ’HOLD’ (CrCtl_stStateMch = 0A00h), the following shut-off conditions also still
apply, see “Reversible shut-off conditions without deleting setpoint speed in cruise control state ’HOLD’” on
page 84:
• If the setpoint value CrCtl_vSetPointTrgt is greater than zero, and the governor deviation (in this case
actual vehicle/setpoint speed deviation) for a time CrCtl_tiDevShutOff_C is greater than the value
CrCtl_vDevShutOff_C
• The negative governor deviation of vehicle speed is greater than CrCtl_vFabVdg_C
• The positive governor deviation of vehicle speed is greater than CrCtl_vFabVdk_C
• The setpoint speed multiplied by the factor CrCtl_facFabVdu_C is greater than the current vehicle speed.
Table 32: Bit positions in CrCtl_stRvrsCutOff_C, CrCtl_stRvrsRmpOne_C and CrCtl_stRvrsRmpTwo_C for masking
reversible shut-off conditions without deleting setpoint speed
Shut-off condition Bit position is shut-off condition is no shut-off condition
general system error Fid_CrCtl_ShutOffRvrs_KV_mp 10 1 0
brake activated 11 1 0
clutch activated 12 1 0
inadmissible gear 13 1 0

crctl_shutoff.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CrCtl_ShutOff - 83 -
DS/ESM Shut-off conditions of cruise control Veh-VehMot-PrpBrk-Prp-CrCtl

Shut-off condition Bit position is shut-off condition is no shut-off condition


vehicle speed out of range 14 1 0
engine speed too high 15 1 0
engine speed too low 16 1 0
vehicle/engine speed ratio too low 17 1 0
external brake or torque intervention 18 1 0
actual vehicle/engine speed ratio out of tolerance 19 1 0
actual vehicle/setpoint speed deviation too high 20 1 0
positive governer deviation too high 21 1 0
negative governer deviation too high 22 1 0
relative speed deviation is too high 23 1 0

Figure 82 : Reversible shut-off conditions without deleting setpoint speed (1)


F id _ C r C tl_ S h u tO ffR v r s _ K V _ m p

B rk C D _ s tP re s s e d

C o n v C D _ s tD e b V a l

G e a rb x _ s tG e a r
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

-1

0
>= 1

V S S C D _ v

C r C tl_ v A lw M a x _ C
P

>= 1
C r C tl_ v A lw M in _ C
P

.1 0
E n g _ n A v rg .1 1
C r C tl_ n S h u tO ffM a x _ C .1 2
P

.1 3
C r C tl_ s tS h u tO ffR v r s
>= 1
.1 4
C r C tl_ n S h u tO ffM in _ C
P
.1 5

c r c tl_ s h u to ff_ 3 .d s f
.1 6
V e h D a _ rV n
.1 7
C r C tl_ r V n D v tA b s _ C
P

Figure 83 : Reversible shut-off conditions without deleting setpoint speed (2)

F rm M n g _ s tB rk P rp .0

F rm M n g _ s tB rk P rp .1
>= 1
F rm M n g _ s tB rk P rp .2

V e h D a _ rV n
|x |
C r C tl_ r V n B e g

C r C tl_ r V n D v tS h u tO ff_ C
P

C r C tl_ s tS ta te M c h

0 1 0 0 h .1 8
C r C tl_ s tS h u tO ffR v r s
>= 1
c r c tl_ s h u to ff_ 4 .d s f

.1 9
&

0 3 0 0 h

19.3.2002 crctl_shutoff.fm
- 84 - CrCtl_ShutOff Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-CrCtl Shut-off conditions of cruise control DS/ESM

Figure 84 : Reversible shut-off conditions without deleting setpoint speed in cruise control state ’HOLD’
C r C tl_ s tS ta te M c h

0 A 0 0 h

C r C tl_ v S e tP o in tT r g t

0
s ta rt s to p

V S S C D _ v
&

C r C tl_ v D e v S h u tO ff_ C
P !
&
C r C tl_ tiD e v S h u tO ff_ C
P

&

C r C tl_ v F a b V d g _ C
P

&

.2 0

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
C r C tl_ v F a b V d k _ C
P
.2 1
C r C tl_ s tS h u tO ffR v r s
.2 2 &
C r C tl_ fa c F a b V d u _ C .2 3
P
&

If a reversible shut-off condition occurs while a key is being pressed, the setpoint speed
CrCtl_vSetPointTrgt is deleted in any case, see “Deleting the setpoint speed” on page 84.
Figure 85 : Deleting the setpoint speed
C r C tl_ s tS h u tO ffR v r s

0 8 h

0 7 h

0 6 h

0 5 h

&
0 4 h >= 1

c r c tl_ s h u to ff_ 6 .d s f
C r C tl_ v S e tP o in tT r g t
0 3 h 0

C rC C D _ s tK e y

ECU initialization The messages CrCtl_stShutOffIrvrs and CrCtl_stShutOffRvrs containing the states of shut-off
conditions were initialized with ’0’. The message CrCtl_stBlocking containing the cruise control blocking
status in case of irreversible shut-off conditions in initialized with ’PASSIVE’ (CrCtl_stBlocking = 0h).

Output values CrCtl_stBlocking: Blocking state. 0 => Passive blocking and 1 => Active blocking [-]
<UBYTE> --->
CrCtl_stShutOffIrvrs: irreversible shut off conditions [-] <UWORD> --->
CrCtl_stShutOffRvrs: reversible shut off conditions [-] <ULONG> --->
CrCtl_stStateMch: Current operating state of the state machine [-] <ULONG> --->
CrCtl_stStateMchSub: actual sub state [-] <UWORD> --->
CrCtl_vSetPointTrgt: Target setpoint, or the speed objective [km/h] <SWORD> --->

Input values BattCD_u: battery voltage [mV] <SWORD> --->


BrkCD_stPressed: Brake pressed state [-] <UBYTE> --->
ConvCD_stDebVal: debounced value of clutch signal [-] <UBYTE> --->
CrCCD_stKey: Return value of key pressed [-] <UBYTE> --->
CrCtl_rVnBeg: ratio vehicle to engine speed at activation of cruise control [(km/h)/rpm]
<SWORD> --->
CrCtl_stStateMch: Current operating state of the state machine [-] <ULONG> --->
CrCtl_stStateMchSub: actual sub state [-] <UWORD> --->
CrCtl_vSetPointTrgt: Target setpoint, or the speed objective [km/h] <SWORD> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
Gearbx_stGear: gear information [-] <SBYTE> --->
VehDa_rVn: ratio of vehicle speed to engine speed [(km/h)/rpm] <SWORD> --->
VSSCD_a: vehicle acceleration [m/s^2] <SWORD> --->
VSSCD_v: vehicle speed (velocity) [km/h] <SWORD> --->

Measuring points CrCtl_stShutOffIrvrsStore_mp: irreversible shut off conditions (stored) [-] <UWORD> --->
CrCtl_stShutOffRvrsStore_mp: reversible shut off conditions (stored) [-] <ULONG> --->

crctl_shutoff.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CrCtl_ShutOff - 85 -
DS/ESM Shut-off conditions of cruise control Veh-VehMot-PrpBrk-Prp-CrCtl

Application parameters CrCtl_aAccShutOff_C: threshold for maximal acceleration<value> --->


CrCtl_aDecShutOff_C: threshold for maximal deceleration<value> --->
CrCtl_facFabVdu_C: admissible relative governor deviation<value> --->
CrCtl_nShutOffMax_C: max. admissible engine speed<value> --->
CrCtl_nShutOffMin_C: min. admissible engine speed<value> --->
CrCtl_rVnDvtAbs_C: adissible v/n-deviation (actual v/n-ratio)<value> --->
CrCtl_rVnDvtShutOff_C: deviation v/n-ratio to shut-off cruise control<value> --->
CrCtl_stIrvrsCutOff_C: irreversible shut-off conditions with immediate shutdown of cruise
control<value> --->
CrCtl_stIrvrsRmpOne_C: irreversible shut-off conditions with time constant ramp<value> -
-->
CrCtl_stIrvrsRmpTwo_C: irreversible shut-off conditions with slope constant ramp<value>
--->
CrCtl_stRvrsCutOff_C: reversible shut-off conditions with immediate shutdown of cruise
control<value> --->
CrCtl_stRvrsRmpOne_C: reversible shut-off conditions with time constant ramp<value> --->
CrCtl_stRvrsRmpTwo_C: reversible shut-off conditions with slope constant ramp<value> --->
CrCtl_tiAccShutOff_C: maximum time for acceleration too high<value> --->
CrCtl_tiDecShutOff_C: maximum time for decelerationsai too high<value> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

CrCtl_tiDevShutOff_C: maximum time for unallowed deviation of the vehicle speed<value> -


-->
CrCtl_uShutOff_C: battery voltage threshold for shut off<value> --->
CrCtl_vAlwMax_C: upper speed threshold for activation of cruise control or max possible
setpoint<value> --->
CrCtl_vAlwMin_C: lower speed threshold for activation of cruise control or min possible
setpoint<value> --->
CrCtl_vDevShutOff_C: admissible deviation of the vehicle speed<value> --->
CrCtl_vFabVdg_C: admissible positive governor deviation<value> --->
CrCtl_vFabVdk_C: admissible negative governor deviation<value> --->

19.3.2002 crctl_shutoff.fm
- 86 - CrCCD_DevDet Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-CrCtl-CrCCD Device detection for cruise control DS/ESM

Device detection for cruise control (CrCCD_DevDet)


CARTORNIC-Structure:Ve-hVehMot-PprBk-rPp-Crtl-CrCD

Functional overview The function provides information on the presence of cruise control and debounces the digital input signal of
the main switch.

Functional description The digital input signal of the cruise control main switch is read and issued with CrCCD_stOffSwtRawVal as
a logical value and CrCCD_stOffSwtDebVal as a debounced value.
Information on the presence of cruise control set with CrCCD_stCrCtlPresent (=1) is sent to the overall
system in order to enable the cruise control functionality. Based on the setting of the software switch
CrCCD_swtPresenceVal_C, this information is drawn either from the data set or from EEPROM.
Table 33: Selection of the source by software switch CrCCD_swtPresenceVal_C
Switch setting Value (hex) Meaning
CRCCD_PRESENCE_DATA 0 Information on the presence of cruise control from data set
CRCCD_PRESENCE_EEP 1 Information on the presence of cruise control from EEPROM

Information from the data set applies CrCCD_stPresence_C to determine whether cruise control is present
(CrCCD_stPresence_C = 1) or adaptive cruise control is present (CrCCD_stPresence_C = 2) or both devises
are not (CrCCD_stPresence_C = 0) implemented.
- CrCCD_stPresence_C = 0x00 -Cruise control or adaptive cruise control are not present

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
- CrCCD_stPresence_C = 0x01 -Cruise control present
- CrCCD_stPresence_C = 0x02 -Adaptive cruise control present
Information from EEPROM is allowed to decide fast the existence of cruise control during initialisation for
each further driving cycle and sent it to the system (CrCCD_stCrCtlPresent).
So means:
CrCCD_stCrCtlPresent = 0
leads to a new learning process, following facts are possible:
• cruise control not present,
• EEPROM read error, leads to a new learning process
CrCCD_stCrCtlPresent = 1
• cruise control present,
• adaptive cruise control not exist in the actual vehicle
Learning process Information from EEPROM is provided using a onetime learning procedure. If cruise control is detected, this
information is stored in EEPROM and sent to the system during initialisation for each further driving cycle.
In the learning process, cruise control is only recognised when the following conditions are met:
• The cruise control main switch CrCCD_stOffSwtDebVal is activated at least for the CrCCD_tiRecg_Ctime.
These recognise-time have to give the surely detection of the absence of CAN-Communication for
adaptive cruise control.
- CrCCD_swtPresenceVal_C = 0x01 - Software switch setting
- CrCCD_stCrCtlPresent = 0x00 - Result from ECU-initialisation
- CrCCD_stEepValt = 0x00 - Stored value in EEPROM is set to default
- BrkCD_swtRedSwtPresent = 0x01 - Redunant brake control is present
- ACCCD_stACCPresent = 0x00 - Adaptive cruise control is not detected or
- ACCCD_stACCDetected = 0x00 - Learning process for its detection is not started yet
When cruise control is detected, the "recognised" state (CrCCD_stCrCtlDetected = 0x01) is set.
Figure 86 : Learning process of cruise control
C rC C D _ s w tP re s e n c e _ C
P

1
(E E P )

&
C rC C D _ s tE e p V a l

C r C C D _ s tC r C tlP r e s e n t >= 1
&

B rk C D _ s tR e d S w tP re s e n t
C r C C D _ s tC r C tlD e te c te d
&

A C C C D _ s tA C C P re s e n t

A C C C D _ s tA C C D e te c te d
>= 1 !

C r C C D _ tiR e c g _ C
P
c rc c d _ d e v d e t_ 2 .d s f

C rC C D _ s tS w tD e b V a l
T

AC C_DstAC eDtctedAC C_DstACPresntBrkCD_stRedSwtPresntCrCDs_tCrtlDetctedCrCDs_tCrtClPresntCrCDs_tEepValCrCD_stSwtDebValCr CD_swtPresnce_C Cr CD_tiRecg_C

crccd_devdet.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CrCCD_DevDet - 87 -
DS/ESM Device detection for cruise control Veh-VehMot-PrpBrk-Prp-CrCtl-CrCCD

ECU initialization Information from EEPROM is allowed to decide fast the existence of cruise control and sent to the system
during initialisation for each further driving cycle.
• Software switch setting is reading from the EEPROM and write to CrCCD_swtPresentVal_C
• If the information is taken from the data set, CrCCD_stCrCtlPresent = CrCCD_stPresence_C is set for
CrCCD_stPresence_C = 0 or CrCCD_st Presence_C = 1.
• The information is taken from the EEPROM
* Initialising CrCCD_stCrCtlPresent = 0
* Reading the stored Value from the EEPROM
- CrCCD_stCrCtlPresent = 0
- EEPROM read error, leads to a new learning process,
- Value of CrCCD_EepVal = 0 is on default, leads to a new learning process,
- Cruise control was not detected in the past
- Value of CrCCD_EepVal = 2
it means, that cruise control can not be present in this vehicle
- CrCCD_stCrCtlPresent = 1
- EEPROM was read correctly
- Value of CrCCD_EepVal = 1
Figure 87 : Initialisation: information about presence of cruise control is already stored in the EEPROM
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

C r C C D _ s w tC r C tlP r e s e n c e

C rC C D _ s w tP re s e n c e _ C
P

1
& C r C C D _ s tC r C tlP r e s e n t
(E E P ) >= 1
C rC C D _ s tE e p V a l

c rc c d _ d e v d e t_ 3 .d s f
0
&
(D a ta )
C rC C D _ s tP re s e n c e _ C
P

C rC C D _ s tD a ta V a l
CrCD_stCr lPtresntCrCD_stDatVaCl rCDs_tEeVpaCl rCDs_tPresence_CrCD_swtCrtlPres nce CrCDs_wtPresence_C

Output values CrCCD_stCrCtlPresent: status of cruise control device detection [-] <UBYTE> --->
CrCCD_stDataVal: application value for presence of (adaptive) cruise control [-] <UBYTE>
--->
CrCCD_stEepVal: information from eeprom about presence of (adaptive) cruise control [-]
<UBYTE> --->
CrCCD_stOffSwtDebVal: cruise control off switch debounced value [-] <UBYTE> --->
CrCCD_stOffSwtRawVal: cruise control off switch undebounced logical value [-] <UBYTE> --->
CrCCD_swtPresence: source for information about presence of cruise control [-] <UBYTE> -
-->

Input values BrkCD_swtRedSwtPresent:

Application parameters CrCCD_numDioInOffSwt_C: digital input pin selection for cruise control off switch<value>
--->
CrCCD_stOffSwtInvIn_C: OFF key invert information<value> --->
CrCCD_stPresence_C: information about presence of cruise control<value> --->
CrCCD_swtPresenceVal_C: switch for cruise control presence information<value> --->
CrCCD_tiOffSwtDebNeg_C: debounce time for negative edge of OFF switch<value> --->
CrCCD_tiOffSwtPosNeg_C:
CrCCD_tiRecg_C: learning procedure recognition time<value> --->

19.3.2002 crccd_devdet.fm
- 88 - CrCCD_KeyDet Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-CrCtl-CrCCD Recording the control unit of cruise control DS/ESM

Recording the control unit of cruise control (CrCCD_KeyDet)


CARTORNIC-Structure:Ve-hVehMot-PprBk-rPp-Crtl-CrCD

Functional overview This function is used for recording the control unit of cruise control. Based on the switch which is activated
and the last state of the cruise control, a mode is selected to be output to the cruise control.

Functional description The control unit of cruise control has the following four switches:
• CrCCD_stOffSwtDebVal- Cruise control main switch (OFF)
• CrCCD_stMinusSwtDebVal - Minus switch (SET-)
• CrCCD_stPlusSwtDebVal - Plus switch (SET+)
• CrCCD_stOffSwtDebVal- Resume switch (RESUME)
Switches CrCCD_stMinusSwtDebVal, CrCCD_stPlusSwtDebVal and CrCCD_stResSwtDebVal are read and
debounced in this function, the main switch CrCCD_stOffSwtDebVal in the function for cruise control
recognition, see “Device detection for cruise control (CrCCD_DevDet)” on page 86.

Some of the keys have several functions, basing the selection on the length of time the key is pressed and
the last state CrCtl_stStateMch of the cruise control.
In control unit mode CrCCD_stKey , see “Possible control unit modes CrCCD_stKey” on page 88, the cruise
control mode machine see “Mode machine for cruise control (CrCtl_Mode)” on page 73 is used to activate

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
the respective cruise control sub-function.
Table 34: Possible control unit modes CrCCD_stKey
Control unit mode Value Meaning Assigned switch
CRCCD_NEUTRAL 00 h Cruse control inactive (main switch on, all other switches off) CrCCD_stOffSwtDebVal
CRCCD_LOCKOFF 01 h Cruise control shut off (main switch or terminal 15 off) CrCCD_stOffSwtDebVal or T15CD_stDebVal
CRCCD_SET 03 h Set current cruise control CrCCD_stMinusSwtDebVal
CRCCD_TIPDOWN 04 h Lower vehicle speed by constant value per touch
CRCCD_DEC 05 h Decelerate as long as switch is actuated
CRCCD_RESUME 06 h Resume the stored vehicle speed after reversible shut-off CrCCD_stResSwtDebVal
CRCCD_SET 03 h Set current cruise control CrCCD_stPlusSwtDebVal
CRCCD_TIPUP 07 h Raise vehicle speed by constant value per touch
CRCCD_ACC 08 h Accelerate as long as switch is actuated
CRCCD_PANERR_R F0 h Reversible control unit error Invalid switch combinations
CRCCD_PANERR_I F1 h Irreversible control unit error Invalid switch combinations

If no cruise control is present in the vehicle (CrCCD_stCrCtlPresent = 0), a neutral status, CrCCD_stKey =
CRCCD_NEUTRAL (= 00 h), is issued as the control unit mode. This blocks the cruise control.
’CRCCD_NEUTRAL’ control unit mode Control unit mode ’CRCCD_NEUTRAL’ (CrCCD_stKey = 00 h) is the initialisation state and is also issued
when the following conditions are met:
• Terminal 15 is on (T15CD_stDebVal = 1)
• The cruise control main switch is on (CrCCD_stOffSwtDebVal = 1)
• The minus switch is off (CrCCD_stMinusSwtDebVal = 0)
• The resume switch is off (CrCCD_stResSwtDebVal = 0)
• The plus switch is off (CrCCD_stPlusSwtDebVal = 0).
Figure 88 : 'CRCCD_NEUTRAL' control unit mode
T 1 5 C D _ s tD e b V a l

C rC C D _ s tO ffS w tD e b V a l

C r C C D _ s tM in u s S w tD e b V a l
!

C rC C D _ s tR e s S w tD e b V a l
! C rC C D _ s tK e y = C R C C D _ N E U T R A L (= 0 0 h )
c rc c d _ k e y d e t_ 1 .d s f

&

C r C C D _ s tP lu s S w tD e b V a l
!
’CRCCD_LOCKOFF’ control unit mode Control unit mode 'CRCCD_LOCKOFF' (CrCCD_stKey = 01 h) is issued when one of the following conditions
is met:
• Terminal 15 is off (T15CD_stDebVal = 0) or
• The cruise control main switch is off (CrCCD_stOffSwtDebVal = 0).
Figure 89 : 'CRCCD_LOCKOFF' control unit mode
T 1 5 C D _ s tD e b V a l
!
c rc c d _ k e y d e t_ 2 .d s f

C rC C D _ s tK e y = C R C C D _ L O C K O F F (= 0 1 h )
C rC C D _ s tO ffS w tD e b V a l >= 1
!
’CRCCD_SET’ control unit mode Control unit mode 'CRCCD_SET' (CrCCD_stKey = 03 h) is issued when the following conditions are met:
• The cruise control main switch is on (CrCCD_stOffSwtDebVal = 1)
• Cruise control is active, state CrCtl_stStateMch = CRCTL_NEUTRAL (= 0100 h), i.e., vehicle speed is
presently not being controlled
• Current vehicle speed VSSCD_v is valid, i.e., greater than or equal to the minimum admissible vehicle
speed CrCtl_vAlwMin_C and less than or equal to the maximum admissible vehicle speed
CrCtl_vAlwMax_C for activating the cruise control
• Minus switch CrCCD_stMinusSwtDebVal or plus switch CrCCD_stPlusSwtDebVal is on (= 1), in which
case the time pressed is of no significance.

crccd_keydet.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CrCCD_KeyDet - 89 -
DS/ESM Recording the control unit of cruise control Veh-VehMot-PrpBrk-Prp-CrCtl-CrCCD

Figure 90 : ’CRCCD_SET’ control unit mode


C rC C D _ s tO ffS w tD e b V a l

C r C C D _ s tM in u s S w tD e b V a l
C r C C D _ s tP lu s S w tD e b V a l >= 1

C r C tl_ s tS ta te M c h

0 1 0 0 h

V S S C D _ v

C r C tl_ v A lw M in _ C
P
C rC C D _ s tK e y = C R C C D _ S E T (= 0 3 h )

c rc c d _ k e y d e t_ 3 .d s f
&

&
C r C tl_ v A lw M a x _ C
P

’CRCCD_TIPDOWN’ control unit mode Control unit mode ’CRCCD_TIPDOWN’ (CrCCD_stKey = 04 h) is issued when the following conditions are
met:
• The cruise control main switch is on (CrCCD_stOffSwtDebVal = 1)
• Cruise control is active and the vehicle speed is presently being controlled, i.e., the stored setpoint speed
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

for cruise control CrCtl_vSetPointTrgt is greater than zero.


• Minus switch CrCCD_stMinusSwtDebVal is on (= 1), in which case the time pressed must not exceed the
threshold CrCCD_tiSwtActvThres_C (touch).
Figure 91 : 'CRCCD_TIPDOWN' control unit mode
C rC C D _ s tO ffS w tD e b V a l

C r C C D _ s tM in u s S w tD e b V a l

!
C r C C D _ tiS w tA c tv T h r e s _ C
P

C r C tl_ v S e tP o in tT r g t

C rC C D _ s tR e s S w tD e b V a l
! C rC C D _ s tK e y = C R C C D _ T IP D O W N (= 0 4 h )

c rc c d _ k e y d e t_ 4 .d s f
&

C r C C D _ s tP lu s S w tD e b V a l
!
’CRCCD_DEC’ control unit mode Control unit mode 'CRCCD_DEC' (CrCCD_stKey = 05 h) is issued when the following conditions are met:
• The cruise control main switch is on (CrCCD_stOffSwtDebVal = 1)
• Cruise control is active and the vehicle speed is presently being controlled, i.e., the stored setpoint speed
for cruise control CrCtl_vSetPointTrgt is greater than zero.
• Minus switch CrCCD_stMinusSwtDebVal is on (= 1), in which case the time pressed must exceed the
threshold CrCCD_tiSwtActvThres_C (hold down longer).
Figure 92 : 'CRCCD_DEC' control unit mode
C rC C D _ s tO ffS w tD e b V a l

C r C C D _ s tM in u s S w tD e b V a l

!
C r C C D _ tiS w tA c tv T h r e s _ C
P

C r C tl_ v S e tP o in tT r g t

C rC C D _ s tR e s S w tD e b V a l
! C rC C D _ s tK e y = C R C C D _ D E C (= 0 5 h )
c rc c d _ k e y d e t_ 5 .d s f

&

C r C C D _ s tP lu s S w tD e b V a l
!
’CRCCD_RESUME’ control unit mode Control unit mode 'CRCCD_RESUME' (CrCCD_stKey = 06 h) is issued when the following conditions are met:
• The cruise control main switch is on (CrCCD_stOffSwtDebVal = 1)
• Cruise control is inactive due to a reversible shut-off, state CrCtl_stStateMch = CRCTL_NEUTRAL (=
0100 h), i.e., vehicle speed is presently not being controlled
• Stored cruise control setpoint speed CrCtl_vSetPointTrgt is greater than zero, as it was not deleted
due to a reversible shut-off.

19.3.2002 crccd_keydet.fm
- 90 - CrCCD_KeyDet Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-CrCtl-CrCCD Recording the control unit of cruise control DS/ESM

Figure 93 : ’CRCCD_RESUME’ control unit mode


C rC C D _ s tO ffS w tD e b V a l

C r C C D _ s tM in u s S w tD e b V a l
!

C r C tl_ s tS ta te M c h

0 1 0 0 h

C r C tl_ v S e tP o in tT r g t

C rC C D _ s tK e y = C R C C D _ R E S U M E (= 0 6 h )
0

c rc c d _ k e y d e t_ 6 .d s f
&

C rC C D _ s tR e s S w tD e b V a l

C r C C D _ s tP lu s S w tD e b V a l
!
’CRCCD_TIPUP’ control unit mode Control unit mode ’CRCCD_TIPUP’ (CrCCD_stKey = 07 h) is issued when the following conditions are met:
• The cruise control main switch is on (CrCCD_stOffSwtDebVal = 1)
• Cruise control is active and the vehicle speed is presently being controlled, i.e., the stored setpoint speed
for cruise control CrCtl_vSetPointTrgt is greater than zero.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
• Plus switch CrCCD_stPlusSwtDebVal is on (= 1), in which case the time pressed must not exceed the
threshold CrCCD_tiSwtActvThres_C (touch).
Figure 94 : 'CRCCD_TIPUP' control unit mode
C rC C D _ s tO ffS w tD e b V a l

C r C C D _ s tP lu s S w tD e b V a l

!
C r C C D _ tiS w tA c tv T h r e s _ C
P

C r C tl_ v S e tP o in tT r g t

C rC C D _ s tR e s S w tD e b V a l
! C rC C D _ s tK e y = C R C C D _ T IP U P (= 0 7 h )

c rc c d _ k e y d e t_ 7 .d s f
&

C r C C D _ s tM in u s S w tD e b V a l
!
’CRCCD_ACC’ control unit mode Control unit mode 'CRCCD_ACC' (CrCCD_stKey = 08 h) is issued when the following conditions are met:
• The cruise control main switch is on (CrCCD_stOffSwtDebVal = 1)
• Cruise control is active and the vehicle speed is presently being controlled, i.e., the stored setpoint speed
for cruise control CrCtl_vSetPointTrgt is greater than zero.
• Plus switch CrCCD_stPlusSwtDebVal is on (= 1), in which case the time pressed must exceed the
threshold CrCCD_tiSwtActvThres_C (hold down longer).
Figure 95 : 'CRCCD_ACC' control unit mode
C rC C D _ s tO ffS w tD e b V a l

C r C C D _ s tP lu s S w tD e b V a l

!
C r C C D _ tiS w tA c tv T h r e s _ C
P

C r C tl_ v S e tP o in tT r g t

C rC C D _ s tR e s S w tD e b V a l
! C rC C D _ s tK e y = C R C C D _ A C C (= 0 8 h )
c rc c d _ k e y d e t_ 8 .d s f

&

C r C C D _ s tM in u s S w tD e b V a l
!

Monitoring Invalid switch combinations can be masked as errors applicatively, differentiating between reversible and
irreversible control unit errors. Invalid switch combinations which have occurred are represented in the
measurement point CrCCD_stSwtMsk_mp, see “Invalid switch combinations CrCCD_stSwtMsk_mp” on page
90.
Table 35: Invalid switch combinations CrCCD_stSwtMsk_mp
CrCCD_stOffSwtDebVal CrCCD_stMinusSwtDebVal CrCCD_stPlusSwtDebVal CrCCD_stResSwtDebVal Bit position
0 0 0 1 CrCCD_stSwtMsk_mp.0
0 1 0 0 CrCCD_stSwtMsk_mp.1
0 0 1 0 CrCCD_stSwtMsk_mp.2
x 1 0 1 CrCCD_stSwtMsk_mp.3
x 0 1 1 CrCCD_stSwtMsk_mp.4

crccd_keydet.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CrCCD_KeyDet - 91 -
DS/ESM Recording the control unit of cruise control Veh-VehMot-PrpBrk-Prp-CrCtl-CrCCD

CrCCD_stOffSwtDebVal CrCCD_stMinusSwtDebVal CrCCD_stPlusSwtDebVal CrCCD_stResSwtDebVal Bit position


x 1 1 x CrCCD_stSwtMsk_mp.5

(0 = OFF / 1 = ON / x = either)
Invalid switch combinations can be masked as reversible control unit errors by CrCCD_stRvrsErrIdMsk_C.
Invalid switch combinations can be masked as irreversible control unit errors by CrCCD_stIrvrsErrIdMsk_C,
see “Masking invalid switch combinations as errors using CrCCD_stRvrsErrIdMsk_C and
CrCCD_stIrvrsErrIdMsk_C” on page 91.
Table 36: Masking invalid switch combinations as errors using CrCCD_stRvrsErrIdMsk_C and
CrCCD_stIrvrsErrIdMsk_C
Switch combinations Switch combination is a reversible Switch combination is not a Switch combination is an Switch combination is not an
(Bit no.) error (bit no.) reversible error (bit no.) irreversible error (bit no.) irreversible error (bit no.)
CrCCD_stSwtMsk_mp.0 CrCCD_stRvrsErrIdMsk _C.0 CrCCD_stRvrsErrIdMsk _C.0 CrCCD_stIrvrsErrIdMsk CrCCD_stIrvrsErrIdMsk_C.0 =
=1 =0 _C.0 = 1 0
CrCCD_stSwtMsk_mp.1 CrCCD_stRvrsErrIdMsk _C.1 CrCCD_stRvrsErrIdMsk _C.1 CrCCD_stIrvrsErrIdMsk CrCCD_stIrvrsErrIdMsk_C.1 =
=1 =0 _C.1 = 1 0
CrCCD_stSwtMsk_mp.2 CrCCD_stRvrsErrIdMsk _C.2 CrCCD_stRvrsErrIdMsk _C.2 CrCCD_stIrvrsErrIdMsk CrCCD_stIrvrsErrIdMsk_C.2 =
=1 =0 _C.2 = 1 0
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

CrCCD_stSwtMsk_mp.3 CrCCD_stRvrsErrIdMsk _C.3 CrCCD_stRvrsErrIdMsk _C.3 CrCCD_stIrvrsErrIdMsk CrCCD_stIrvrsErrIdMsk_C.3 =


=1 =0 _C.3 = 1 0
CrCCD_stSwtMsk_mp.4 CrCCD_stRvrsErrIdMsk _C.4 CrCCD_stRvrsErrIdMsk _C.4 CrCCD_stIrvrsErrIdMsk CrCCD_stIrvrsErrIdMsk_C.4 =
=1 =0 _C.4 = 1 0
CrCCD_stSwtMsk_mp.5 CrCCD_stRvrsErrIdMsk _C.5 CrCCD_stRvrsErrIdMsk _C.5 CrCCD_stIrvrsErrIdMsk CrCCD_stIrvrsErrIdMsk_C.5 =
=1 =0 _C.5 = 1 0

The current error is represented in measurement point CrCCD_stRvrsErrMsk_mp or


CrCCD_stIrvrsErrMsk_mp respectively.
’CRCCD_PANERR_R’ control unit mode Control unit mode ’CRCCD_PANERR_R’ (CrCCD_stKey = F0 h) is issued when the error debouncing for an
invalid switch combination is completed, i.e., the error bit Dfp_CrCCD_KeyDetRvrs_mp.3 is set.
A reversible control unit error can be recovered in the current driving cycle and cruise control operation
continued.
’CRCCD_PANERR_I’ control unit mode Control unit mode ’CRCCD_PANERR_I’ (CrCCD_stKey = F1 h) is issued when the error debouncing for an
invalid switch combination is completed, i.e., the error bit Dfp_CrCCD_KeyDetIrvrs_mp.3 is set.
An irreversible control unit error can no longer be recovered in the current driving cycle. Cruise control
operation is locked until the end of the driving cycle.

Substitute function For the duration of the error debouncing of an invalid switch combination, the last valid control unit mode
CrCCD_stKey is issued until the error is definitively acknowledged.
In after run the control unit mode CrCCD_stKey = CRCCD_LOCKOFF (= 01 h) is issued.

ECU initialization All switches are initialised with ’0’, i.e., switch not actuated, and the control unit mode CrCCD_stKey is
initialised in the ’CRCCD_NEUTRAL’ state.

Output values CrCCD_stKey: Return value of key pressed [-] <UBYTE> --->
CrCCD_stMinusSwtDebVal: cruise control minus switch debounced value [-] <UBYTE> --->
CrCCD_stMinusSwtRawVal: cruise control minus switch undebounced logical value [-] <UBYTE>
--->
CrCCD_stPlusSwtDebVal: cruise control plus switch debounced value [-] <UBYTE> --->
CrCCD_stPlusSwtRawVal: cruise control plus switch undebounced logical value [-] <UBYTE>
--->
CrCCD_stResSwtDebVal: cruise control resume switch debounced value [-] <UBYTE> --->
CrCCD_stResSwtRawVal: cruise control resume switch undebounced logical value [-] <UBYTE>
--->

Input values CrCCD_stCrCtlPresent: status of cruise control device detection [-] <UBYTE> --->
CrCCD_stOffSwtDebVal: cruise control off switch debounced value [-] <UBYTE> --->
CrCtl_stStateMch: Current operating state of the state machine [-] <ULONG> --->
CrCtl_vSetPointTrgt: Target setpoint, or the speed objective [km/h] <SWORD> --->
T15CD_stDebVal: debounced value of terminal 15 [-] <UBYTE> --->
VSSCD_v: vehicle speed (velocity) [km/h] <SWORD> --->

Measuring points CrCCD_stIrvrsErrMsk_mp: bit mask for actual irreversible actuating device error [-]
<UBYTE> --->
CrCCD_stRvrsErrMsk_mp: bit mask for actual reversible actuating device error [-] <UBYTE>
--->
CrCCD_stSwtMsk_mp: bit mask for invalid actuating device switch combinations [-] <UBYTE>
--->
Dfp_CrCCD_KeyDetIrvrs_mp: measuring point for fault path Dfp_CrCCD_KeyDetIrvrs [-]
<UWORD> --->
Dfp_CrCCD_KeyDetRvrs_mp: measuring point for fault path Dfp_CrCCD_KeyDetRvrs [-] <UWORD>
--->

Application parameters CrCCD_numDioInMinusSwt_C: digital input pin selection for cruise control minus
switch<value> --->
CrCCD_numDioInPlus_C: Parameter for plus switch digital input pin selection
CrCCD_numDioInRes_C: Parameter for resume switch digital input pin selection
CrCCD_stIrvrsErrIdMsk_C: bit mask for identification of irreversible actuating device

19.3.2002 crccd_keydet.fm
- 92 - CrCCD_KeyDet Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-CrCtl-CrCCD Recording the control unit of cruise control DS/ESM

errors<value> --->
CrCCD_stMinusSwtInvIn_C: SET- key invert information<value> --->
CrCCD_stPlusSwtInvIn_C: SET+ key invert information<value> --->
CrCCD_stResSwtInvIn_C: RESUME key invert information<value> --->
CrCCD_stRvrsErrIdMsk_C: bit mask for identification of reversible actuating device
errors<value> --->
CrCCD_tiIrvrsNplErrDev_C: Defect debounce time for irreversible actuating device error
CrCCD_tiIrvrsNplErrOk_C: healing debounce time for irreversible actuating device
error<value> --->
CrCCD_tiMinusSwtDebNeg_C: debounce time for negative edge of minus switch<value> --->
CrCCD_tiMinusSwtDebPos_C: debounce time for positive edge of minus switch<value> --->
CrCCD_tiPlusSwtDebNeg_C: debounce time for negative edge of SET+ switch<value> --->
CrCCD_tiPlusSwtDebPos_C: debounce time for positive edge of SET+ switch<value> --->
CrCCD_tiResSwtDebNeg_C: debounce time for negative edge of Resume switch<value> --->
CrCCD_tiResSwtDebPos_C: debounce time for positive edge of Resume switch<value> --->
CrCCD_tiRvrsNplErrDev_C: Defect debounce time for reversible actuating device error
CrCCD_tiRvrsNplErrOk_C: healing debounce time for reversible actuating device
error<value> --->
CrCCD_tiSwtActvThres_C: switch activation time threshold for key evaluation<value> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

crccd_keydet.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CrCtl_Lmp - 93 -
DS/ESM Cruise control lamp control Veh-VehMot-PrpBrk-Prp-CrCtl

Cruise control lamp control (CrCtl_Lmp)


CARTONIC-Sturcture:VehV-eMho-t PrpBrk-Prp-Cr tl

Functional overview This function controls the cruise control lamp.

Functional description A lamp test occurs each time terminal 15 changes from 0 -> 1. For this purpose, the lamp is switched on for
the CrCtl_tiLmpOn_C duration, i.e., the logical output CrCtl_stLmp is set (=1). The test ends prematurely if
the engine speed Eng_nAvrg reaches the threshold value CrCtl_nEngCnclLmpTst_C within the time period
CrCtl_tiLmpOn_C after terminal 15 on. After the lamp test is carried out, the lamp remains switched off for
the time period CrCtl_tiLmpOff_C. After this time expires, the lamp is controlled by the state of the cruise
control.
The lamp is only switched on if terminal 15 and the main switch of the cruise control are switched on
(T15CD_stDebVal = 1 and CrCCD_stOffSwtDebVal = 1) and none of the irreversible shut-off conditions is
met, i.e. CrCtl_stBlocking is = 0, see “Shut-off conditions of cruise control (CrCtl_ShutOff)” on page 81. In
addition, the lamp status can be set to the cruise control ’neutral’ state by applying CrCtl_stLmpNeutr_C see
“Meaning of CrCtl_stLmpNeutr_C” on page 93. The lamp status can also be set using the application
parameter CrCtl_stLmpRvrsShutOff_C when a reversible shut-off condition is active
(CrCtl_stShutOffRvrs <> 0), see “Meaning of CrCtl_stLmpRvrsShutOff_C” on page 93. The last condition
has a higher priority than the lamp status in the ’neutral’ state.
Table 37: Meaning of CrCtl_stLmpNeutr_C
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

CrCtl_stLmpNeutr_C Meaning
0 Lamp is shut off in the ’neutral’ cruise control state.
1 Lamp is switched on in the ’neutral’ cruise control state.

Table 38: Meaning of CrCtl_stLmpRvrsShutOff_C


CrCtl_stLmpRvrsShutOff_C Meaning
0 In the case of a reversible shut-off condition, as long as this condition is active, the lamp
remains off.
1 In the case of a reversible shut-off condition, the lamp is on.

If the status of the cruise control lamp is issued by CAN, the CrCtl_tiLmpOff_C and CrCtl_tiLmpOn_C times
are to be applied at ’0’ in order not to disturb the body computer lamp test.
Figure 96 : Controlling the cruise control lamp

a fte rru n o r re s e t
te r m in a l 1 5 O F F ( T 1 5 C D _ s tD e b V a l = 0 )
c r u is e c o n tr o l la m p O F F
( C r C tl_ s tL m p = 0 )

te r m in a l 1 5 O N (T 1 5 C D _ s tD e b V a l = 1 )

la m p te s t

c r u is e c o n tr o l la m p O N
( C r C tl_ s tL m p = 1 )
r u n tim e r t1

t1 > = C r C tl_ tiL m p O n _ C O R E n g _ n A v r g > = C r C tl_ n E n g C n c lL m p T s t_ C

la m p o ff tim e

c r u is e c o n tr o l la m p O F F
( C r C tl_ s tL m p = 0 )
r u n tim e r t2

t2 > = C r C tl_ tiL m p O ff_ C

n o r m a l c r u is e c o n tr o l
c y c le

(C rC C D _ s tO ffS w tD e b V a l = 1 A N D C r C tl_ s tB lo c k in g = 0 ) A N D
( IF C r C tl_ s tS ta te M c h = 1 0 0 h A N D C r C tl_ s tL m p N e u tr _ C = 1 ) A N D
( IF C r C tl_ s tS h u tO ffR v r s < > 0 A N D C r C tl_ s tL m p R v r s S h u tO ff_ C = 1 )

c r u is e c o n tr o l la m p O N c r u is e c o n tr o l la m p O F F

( C r C tl_ s tL m p = 1 ) ( C r C tl_ s tL m p = 0 )

(C rC C D _ s tO ffS w tD e b V a l = 0 O R C r C tl_ s tB lo c k in g < > 0 ) O R


( IF C r C tl_ s tS ta te M c h = 1 0 0 h A N D C r C tl_ s tL m p N e u tr _ C = 0 ) O R
c r c tl_ lm p _ 1 .d s f
( IF C r C tl_ s tS h u tO ffR v r s < > 0 A N D C r C tl_ s tL m p R v r s S h u tO ff_ C = 0 )

ECU initialization The output value CrCtl_stLmp is initialised with’0’ (lamp off).

Output values CrCtl_stLmp: status of cruise control lamp [-] <UBYTE> --->

Input values CrCCD_stCrCtlPresent: status of cruise control device detection [-] <UBYTE> --->
CrCCD_stOffSwtDebVal: cruise control off switch debounced value [-] <UBYTE> --->
CrCtl_stBlocking: Blocking state. 0 => Passive blocking and 1 => Active blocking [-]
<UBYTE> --->
CrCtl_stShutOffRvrs: reversible shut off conditions [-] <ULONG> --->
CrCtl_stStateMch: Current operating state of the state machine [-] <ULONG> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
T15CD_stDebVal: debounced value of terminal 15 [-] <UBYTE> --->

19.3.2002 crctl_lmp.fm
- 94 - CrCtl_Lmp Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-CrCtl Cruise control lamp control DS/ESM

Application parameters CrCtl_nEngCnclLmpTst_C: engine speed threshold to cancel lamp test<value> --->
CrCtl_stLmpNeutr_C: selection of cruise control lamp status in cruise control state
NEUTRAL<value> --->
CrCtl_stLmpRvrsShutOff_C: selection of cruise control lamp status during a reversible
shut-off condition is active<value> --->
CrCtl_tiLmpOff_C: lamp off time after lamp test<value> --->
CrCtl_tiLmpOn_C: time duration for lamp test<value> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

crctl_lmp.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ACC_Dem - 95 -
DS/ESM ACC torque demand Veh-VehMot-PrpBrk-ACC

3.2.2.1.3 Adaptive cruise control (ACC)


ACC torque demand (ACC_Dem)
CARTONIC-Sturcture:VehV-eMho-t PrpBrk-AC

Functional overview The function supplies the setpoint torque demanded by the adaptive cruise control and the demanded lead
torque. This function is present as an interface for project-specific extensions.

Functional description If the switch ACC_swtUseACCTrq_C is activated (>0) the ACC torque demand FrmMng_trqACCPrpRes is
copied to the messages ACC_trqDes and ACC_trqLead.
Figure 97 : ACC torque demand

A C C _ s w tU s e A C C T rq _ C
P

F rm M n g _ trq A C C P rp D e s
A C C _ trq D e s
T R Q P R P _ M IN (-5 0 0 0 N m )

A C C _ D e m _ 1 .d s f
F rm M n g _ trq A C C P rp L e a d
A C C _ trq L e a d
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

AC s_wtUseAC rTq_CAC_trqDesAC _trqLeadFrmMng_trqAC PprDesFrmMng_trqAC rPpLead

ECU initialization The intervention torque ACC_trqDes and ACC_trqLead is initialized with the minimum torque which can be
represented TRQPRP_MIN.

Output values ACC_trqDes: desired torque of ACC [Nm] <SWORD> --->


ACC_trqLead: lead torque of ACC [Nm] <SWORD> --->

Input values FrmMng_trqACCPrpDes: Torque request from ACC [Nm] <SWORD> --->
FrmMng_trqACCPrpLead: received lead ACC-torque [Nm] <SWORD> --->

Application parameters ACC_swtUseACCTrq_C: Activate the ACC torque intervention<value> --->

19.3.2002 acc_dem.fm
- 96 - ACCCD_co Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-ACC-ACCCD Aquisition of the control device of adaptive cruise control DS/ESM

Aquisition of the control device of adaptive cruise control (ACCCD_co)


CARTORNIC-Structure:Ve-hVehMot-PprBk-CA -AC CD

Functional overview This function is used for recording the control device of adaptive cruise control. Based on the switch which is
activated, a mode is selected to be output to CAN MOT2 message.

Functional description The control device of adaptive cruise control has the following four switches:
• ACCCD_stMainSwtDebVal- Cruise control main switch (1 = ON; 0 = OFF)
• ACCCD_stMinusSwtDebVal_mp - Minus switch (SET-)
• ACCCD_stPlusSwtDebVal_mp - Plus switch (SET+)
• ACCCD_stResSwtDebVal_mp- Resume switch (RESUME)
Switches ACCCD_stMinusSwtDebVal_mp, ACCCD_stPlusSwtDebVal_mp, ACCCD_stResSwtDebVal_mp and
ACCCD_stMainSwtDebVal are read and debounced in this function.
Figure 98 : Aquisition of cruise control device
A C C C D _ s t* S w tIn v _ C
P

H a rd w a re S o ftw a re
E C U - P in A C C C D _ s t* S w tR a w V a l_ m p
A C C C D _ s t* S w tD e b V a l_ m p
x y
!

a c c c d _ c o _ 1 .d s f

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
A C C C D _ ti* S w tD e b P o s _ C
A C C C D _ ti* S w tD e b N e g _ C
w ith * = M a in , M in u s , P lu s o r R e s
AC C_DstMainSwtDebVal_mpAC DC_stMainSwtInv_CA C _DstMainSwtRawVal_mpAC D_tiMainSwtDebNeg_CA CDt_iManSwtDeboPs_C AC CD_stMinusSwtDebVal_mpAC DC_stMinusSwtInv_CAC DC_stMinusSwtRawVal_mpAC C_DtiMinusSwtDebNeg_CA CDt_iMnusSwtDebPos_C AC D_stPlusSwtDebVal_mpAC DC_stPlusSwtInv_CAC DC_stPlusSwtRawVal_mpAC CDt_iPlusSwtDebNeg_C AC D_tiPlusSwtDebPso_CA C _DstResSwtDebVal_mpAC DC_stResSwtInv_CAC D_stResSwtRawVal_mpAC DC_tiResSwtDebNeg_CAC DC_tiResSwtDebPos_C

In control device mode ACCCD_stKey (see following table) the adaptive cruise control modes are sent via the
CAN MOT2 message to be used in the ACC control device.
Table 39: Possible control device modes ACCCD_stKey
ACCCD_stMainSwtDeb ACCCD_stPlusSwtDeb ACCCD_stMinusSwtDeb ACCCD_stResSwtDeb ACCCD_stKey Meaning
Val Val_mp Val_mp Val_mp
1 0 0 0 ACCCD_NOBUTTON Main switch on, all other switches off OR
(o) vehicle is in afterrun mode (CoEng_stEng
= COENG_STAFTERRUN (48))
1 1 0 0 ACCCD_SETPLUS (1) Main switch on and only Set Plus pressed
1 0 1 0 ACCCD_SETMINUS Main switch on and only Set Minus
(2) pressed
1 0 0 1 ACCCD_SETRES (3) Main switch on and only Resume pressed
0 x x x ACCCD_OFF (4) Main switch off
1 x x x ACCCD_PANERR (7) Main switch on, but more than one other
switch is pressed (invalid switch
combination)

(0 = OFF, 1 = ON, x = either)


Figure 99 : State ACCCD_stKey

C o E n g _ s tE n g

C O E N G _ S T A F T E R R U N (4 8 ) !

2 .d s f
A C C C D _ s tM a in S w tD e b V a l_ m p

D fp _ A C C C D _ m p .3

c o
a c c c d
A C C C D _ s tM in u s S w tD e b V a l_ m p

A C C C D _ s tR e s S w tD e b V a l_ m p

A C C C D _ s tP lu s S w tD e b V a l_ m p

A C C C D _ N O B U T T O N (0 )

A C C C D _ S E T P L U S (1 )

A C C C D _ R E S U M E (3 )

A C C C D _ S E T M IN U S (2 ) A C C C D _ s tK e y

A C C C D _ P A N E R R (7 )

A C C C D _ O F F (4 )

A C C C D _ N O B U T T O N (0 )
AC C_DstKeyAC DC_stMainSwtDebVal_mpAC D_tsMinusSwtDebVal_mpAC D_stPlusSwtDebVal_mpAC D_stResSwtDebVal_mpCoEng_stEngDfp_AC D_mp

If no adaptive cruise control is present in the vehicle, ACCCD_stKey = ACCCD_NOBUTTON (4) is issued as
the control device mode. This blocks the adaptive cruise control.
Selection of hardware pin The analog signals can be selected with the application parameters ACCCD_numMainSwt_C,
ACCCD_numMinusSwt_C, ACCCD_numPlusSwt_C and ACCCD_numResSwt_C. This should only be carried out
after consultation with a developer.

Monitoring An error is reported, if more than one switch (Plus, Minus, Resume) is activated simultaneously. Monitoring
is only active if the main switch is activated and the vehicle is not in afterrun (CoEng_stEng ≠
COENG_STAFTERRUN (48).
Figure 100 : Dfp_ACCCD_mp.3

A C C C D _ s tP lu s S w tD e b V a l_ m p
D fp _ A C C C D _ m p .3
x y
A C C C D _ s tM in u s S w tD e b V a l_ m p 1
a c c c d _ c o _ 3 .d s f

A C C C D _ s tR e s S w tD e b V a l_ m p A C C C D _ D e v N p lE r r D e f_ C
A C C C D _ D e v N p lE r r O k _ C
AC C_D evNpEl rDef_CAC DC_DveNlpErOk_CAC Ds_tMinusSwtDebVal_mpAC CDs_tPlusSwtDebVal_mp AC Ds_tResSwtDebVal_mpDf _AC DC_mp

acccd_co.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ACCCD_co - 97 -
DS/ESM Aquisition of the control device of adaptive cruise control Veh-VehMot-PrpBrk-ACC-ACCCD

Substitute function For the duration of the error debouncing of an invalid switch combination, the last valid control device mode
ACCCD_stKey is set until the error is definitively acknowledged.
In after run the control device mode ACCCD_stKey = ACCCD_NOBUTTON (0) is issued.

ECU initialization The control device mode ACCCD_stKey is initialised in the ACCCD_NOBUTTON (0) state.

Output values ACCCD_stKey: demanded status of adaptive cruise control actuating device [-] <UBYTE> --->
ACCCD_stMainSwtDebVal: debounce value of main switch [-] <UBYTE> --->

Input values CoEng_stEng: current engine state [-] <UBYTE> --->

Measuring points ACCCD_stMainSwtRawVal_mp: adaptive cruise control main switch undebounced value [-]
<UBYTE> --->
ACCCD_stMinusSwtDebVal_mp: adaptive cruise control minus switch debounced value [-]
<UBYTE> --->
ACCCD_stMinusSwtRawVal_mp: adaptive cruise control minus switch undebounced value [-]
<UBYTE> --->
ACCCD_stPlusSwtDebVal_mp: adaptive cruise control plus switch debounced value [-] <UBYTE>
--->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

ACCCD_stPlusSwtRawVal_mp: adaptive cruise control plus switch undebounced value [-]


<UBYTE> --->
ACCCD_stResSwtDebVal_mp: adaptive cruise control resume switch debounced value [-] <UBYTE>
--->
ACCCD_stResSwtRawVal_mp: adaptive cruise control resume switch undebounced value [-]
<UBYTE> --->
Dfp_ACCCD_mp: Measurement point for fault path Dfp_ACCCD [-] <UWORD> --->

Application parameters ACCCD_DebNplErrDef_C: Debounce duration for driver command key signal error
detection<value> --->
ACCCD_DebNplErrOk_C: Debounce duration for driver command key signal error healing<value>
--->
ACCCD_numMainSwt_C: digital input pin selection for adaptive cruise control main
switch<value> --->
ACCCD_numMinusSwt_C: digital input pin selection for adaptive cruise control minus
switch<value> --->
ACCCD_numPlusSwt_C: digital input pin selection for adaptive cruise control plus
switch<value> --->
ACCCD_numResSwt_C: digital input pin selection for adaptive cruise control resume
switch<value> --->
ACCCD_stMainSwtInv_C: Input inversion parameter for apative cruise control main
switch<value> --->
ACCCD_stMinusSwtInv_C: Input inversion parameter for apative cruise control minus
switch<value> --->
ACCCD_stPlusSwtInv_C: Input inversion parameter for apative cruise control plus
switch<value> --->
ACCCD_stResSwtInv_C: Input inversion parameter for apative cruise control resume
switch<value> --->
ACCCD_tiMainSwtDebNeg_C: debounce time for negative edge of main switch<value> --->
ACCCD_tiMainSwtDebPos_C: debounce time for positive edge of main switch<value> --->
ACCCD_tiMinusSwtDebNeg_C: debounce time for negative edge of minus switch<value> --->
ACCCD_tiMinusSwtDebPos_C: debounce time for positive edge of minus switch<value> --->
ACCCD_tiPlusSwtDebNeg_C: debounce time for negative edge of plus switch<value> --->
ACCCD_tiPlusSwtDebPos_C: debounce time for positive edge of plus switch<value> --->
ACCCD_tiResSwtDebNeg_C: debounce time for negative edge of resume switch<value> --->
ACCCD_tiResSwtDebPos_C: debounce time for positive edge of resume switch<value> --->

19.3.2002 acccd_co.fm
- 98 - ACCCD_DevDet Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-ACC-ACCCD Device detection for adaptive cruise control DS/ESM

Device detection for adaptive cruise control (ACCCD_DevDet)


CARTORNIC-Structure:Ve-hVehMot-PprBk-CA -AC CD

Functional overview The function provides information on the presence of adaptive cruise control.

Functional description Information on the presence of adaptive cruise control set with ACCCD_stACCPresent (=1) is sent to the
overall system in order to enable the adaptive cruise control functionality. Based on the setting of the software
switch CrCCD_swtPresenceVal_C, this information is drawn either from the data set or from EEPROM.
Table 40: Selection of the source by software switch CrCCD_swtPresenceVal_C
Switch setting Value (hex) Meaning
CRCCD_PRESENCE_DATA 0 Information on the presence of cruise control from data set
CRCCD_PRESENCE_EEP 1 Information on the presence of cruise control from EEPROM

Information from the data set applies CrCCD_stPresence_C to determine whether cruise control is present
(CrCCD_stPresence_C =1) or adaptive cruise control is present (CrCCD_stPresence_C = 2) or both devices
are not (CrCCD_stPresence_C = 0) implemented.
- CrCCD_stPresence_C = 0x00 - Cruise control or adaptive cruise control are not present
- CrCCD_stPresence_C = 0x01 - Cruise control present
- CrCCD_stPresence_C = 0x02 - Adaptive cruise control present
Information from EEPROM is allowed to decide fast the existence of adaptive cruise control during

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
initialisation for each further driving cycle and sent it to the system (ACCCD_stACCPresent).
ACCCD_stACCPresent = 0 leads to a new learning process, following facts are possible:
• Adaptive cruise control is not present,
• EEPROM read error, leads to a new learning process,
ACCCD_stACCPresent = 1 • Adaptive cruise control is present
Learning process Information from EEPROM is provided using a onetime learning procedure. If adaptive cruise control is
detected, this information is stored in EEPROM and sent to the system during initialisation for each further
driving cycle.
In the learning process, adaptive cruise control is only recognised when the following conditions are met:
- CrCCD_swtPresenceVal_C = 0x01 - Software switch setting
- ACCCD_stACCPresent = 0x00 - Result from ECU-initialisation
- CrCCD_stEepValC <> 0x02 - stored value in EEPROM is not set to ACC
- NetMng_ctACC1Frames >4 - The CAN-Bus communication to the ACC-device is activated
If adaptive cruise control is detected, the “recognised” state ACCCD_stACCDetected = 0x01 is set and so the
message is received in the module CrCCD_DevDet to write the result of this learning process into the
EEPROM (DA_CrCCD_Presence = 0x02).
Figure 101 : Device detection for presence of adaptive cruise control for the learning process
C rC C D _ s w tP re s e n c e

1
(E E P )

&
C rC C D _ s tE e p V a l

a c c c d _ d e v d e t_ 1 .d s f
A C C C D _ s tA C C P re s e n t >= 1
&

B rk C D _ s tR e d S w tP re s e n t A C C C D _ s tA C C D e te c te d
&

N e tM n g _ c tA C C 1 F ra m e s

5
AC C_DstAC eDtctedAC C_DstACPresntBrkCD_stRedSwtPresntCrCDs_tEeVpalCrCDs_wtPresencNetMng_ctAC1Frames

ECU initialization Information from EEPROM is allowed to decide fast the existence of adaptive cruise control and sent to the
system.
• Software switch setting is reading form CrCCD_swtPresence
• If the information is taken from the data set, ACCCD_stACCPresent is set for CrCCD_stPresence_C = 2.
• The information is taken from the EEPROM
* Initialising ACCCD_stACCPresent = 0
* Reading the stored Value from the EEPROM
ACCCD_stACCPresent = 0 • EEPROM read error, leads to a new learning process,
• Value of CrCCD_EepVal = 0 is on default, leads to a new learning process,
• Value of CrCCD_EepVal = 1 cruise control was detected, leads to a new learning process, because the
recognition of adaptive cruise control has a privilege to that of cruise control
• Adaptive cruise control is was not detected at the past
ACCCD_stACCPresent = 1 • EEPROM reading was correctly
• Value of CrCCD_EepVal = 2

acccd_devdet.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ACCCD_DevDet - 99 -
DS/ESM Device detection for adaptive cruise control Veh-VehMot-PrpBrk-ACC-ACCCD

Figure 102 : Initialisation: information about presence of adaptive cruise control is alredy stored in the EEPROM
C rC C D _ s w tP re s e n c e

1
(E E P )

&

a c c c d _ d e v d e t_ 2 .d s f
C rC C D _ s tE e p V a l

A C C C D _ s tA C C P re s e n t
>= 1

0
(D a ta )
&
C rC C D _ s tD a ta V a l

2
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

AC C_DstACPresntCr CD_stDatVal CrCDs_tEeVpaCl rCDs_wtPresence

Output values ACCCD_stACCDetected: information about detection of adaptive cruise control [-] <UBYTE>
--->
ACCCD_stACCPresent: information about presence of adaptive cruise control [-] <UBYTE> --->

Input values BrkCD_stRedSwtPresent: Redundant brake switch present information [-] <UBYTE> --->
CrCCD_stDataVal: application value for presence of (adaptive) cruise control [-] <UBYTE>
--->
CrCCD_stEepVal: information from eeprom about presence of (adaptive) cruise control [-]
<UBYTE> --->
CrCCD_swtPresence: source for information about presence of cruise control [-] <UBYTE> -
-->
NetMng_ctACC1Frames: counter for ACC1 messages [-] <UBYTE> --->

19.3.2002 acccd_devdet.fm
- 100 - PrpCtl Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-PrpCtl Propulsion control DS/ESM

3.2.3 Propulsion control (PrpCtl)


CARTORNIC-Structure:Ve-hVehMot-PprBk-rPp-PrptCl

Overview of the component

Structure of the component The component PrpCtl has no subcomponents.

Subfunctions See “Maximum vehicle speed limitation (PrpCtl_MaxSpdLim)” on page 101.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

prpctl_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 PrpCtl_MaxSpdLim - 101 -
DS/ESM Maximum vehicle speed limitation Veh-VehMot-PrpBrk-Prp-PrpCtl

Maximum vehicle speed limitation (PrpCtl_MaxSpdLim)


CARTONIC-Sturcture:VehV-eMho-t PrpBrk-Prp-PrCpt l

Functional overview The function calculates a limiting torque which is used to prevent the vehicle speed from exceeding the set
maximum speed.
The calculation is made via a PI controller with variable parameters. The controller setpoint is changed in the
setpoint tracking depending on the current vehicle speed in order to prevent the controller not reaching or
exceeding its setpoint.
Limiting torque = f(Vehicle speed,
Gear information,
Minimum possible drive torque,
Maximum possible drive torque)
Figure 103 : Maximum vehicle speed limiting - overview

G e a rb x _ s tG e a r
P a ra m e te r
s e le c tio n
P r p C tl_ tr q S p d L im
V S S C D _ v
S e tp o in t
P I-c o n tr o lle r
tr a c k in g P r p C tl_ s w tS p d L im
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

C o D T _ tr q M in

C o D T _ trq M a x

A c c o r d in g to B o s c h s ta n d a r d
CoD_TtrqMaxCoDT_trqMinGearbx_stGearPpCtl_trqSpdLimVS DC_vPrpCtl_swtSpdLim

Functional description The function consists of three subfunctions.


• Selection of controller parameters
• Setpoint tracking
• Closed-loop control
Figure 104 : Structure of the function 'maximum vehicle speed limitation'

Select PI-Parameters
Gearbx_stGear

PrpCtl_stSPTrack_mp

PrpCtl_S_SpdTracking
VSSCD_v PI-Governor
PrpCtl_trqSpdLim

PrpCtl_vCurrTrack_mp

CoDT_trqMin

CoDT_trqMax
Gearbx_stGearP pCtl_S SpdTrackingVSCD_vCoDT_rqtMaxPrpCtl_stSPrTack_mpPrpCtl_vCurTrack_mpPrCptl_rqSpdLimCoTD_trqMin

Selection of controller parameters Based on the engaged gear Gearbx_stGear, the PI-controller operates with various parameter sets. For
gears 1-4: PrpCtl_SpdLim4P..._C and PrpCtl_SpdLim4I..._C, for 5th gear: PrpCtl_SpdLim5P..._C and
PrpCtl_SpdLim5I..._C (see application parameters).

19.3.2002 prpctl_maxspdlim.fm
- 102 - PrpCtl_MaxSpdLim Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-PrpCtl Maximum vehicle speed limitation DS/ESM

Figure 105 : Selection of controller parameter I-component

Gearbx_stGear
4

PrpCtl_SpdLim4IKi_C

PrpCtl_SpdLim4IKiPos_C

PrpCtl_SpdLim4IKiNeg_C

PrpCtl_vSpdLim4IWinPos_C
currIStruct
PrpCtl_vSpdLim4IWinNeg_C

PrpCtl_SpdLim5IKi_C

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
PrpCtl_SpdLim5IKiPos_C

PrpCtl_SpdLim5IKiNeg_C

PrpCtl_vSpdLim5IWinPos_C

PrpCtl_vSpdLim5IWinNeg_C
Gearbx_stGearP Cptl_SpdLim4IKi_CPprCtl_SpdLim4IKiNeg_CPprCtl_SpdLim4IKiPos_CPrptl_vSpdLim4IWinNeg_C PprCtl_vSpdLim4IWinPos_CPrpCtl_SpdLim5IKi_CPrpCtl_SpdLim5IKiNeg_CPrpCtl_SpdLim5IKi Pos_CPrpCtl_vSpdLim5IWinNeg_CPrCptl_vSpdLim5IWinPos_C

Figure 106 : Selection of controller parameter P-component

Gearbx_stGear
4

PrpCtl_SpdLim4PKp_C

PrpCtl_SpdLim4PKpPos_C

PrpCtl_SpdLim4PKpNeg_C

PrpCtl_vSpdLim4PWinPos_C

PrpCtl_vSpdLim4PWinNeg_C currPStruct

PrpCtl_SpdLim5PKp_C

PrpCtl_SpdLim5PKpPos_C

PrpCtl_SpdLim5PKpNeg_C

PrpCtl_vSpdLim5PWinPos_C

PrpCtl_vSpdLim5PWinNeg_C
Gearbx_stGearP Cptl_SpdLim4PKp_CPrpCtl_SpdLim4PKpNeg_CPrpCtl_SpdLim4PKPpos_CPrpCtl_vSpdLim4PWinNeg_CPrpCtl_vSpdLim4PWinPos_CPrpCtl_SpdLim5PKp_CPrpCtl_SpdLim5PKpNeg_CPrCptl_SpdLim5PKpPos_CPrpCtl_vSpdLim5PWinNeg_CPrptl_vSpdLim5PWinPos_C

Setpoint tracking The vehicle speed value for the maximum vehicle speed limitation is not transmitted to the controller directly
as a setpoint but is first modified by the so-called setpoint tracking. The purpose of this function is to prevent
over-and undershoots of the vehicle speed, compared to the fixed vehicle speed setpoint, after steep ascents
or descents. Setpoint tracking adapts the setpoint for the controller from the current vehicle speed to the
target value via a PT1-element . Setpoint tracking can take on three states: - setpoint tracking released (1 -
>free running). Setpoint tracking is released if the difference between setpoint speed and vehicle speed is
greater than an applicatable threshold (PrpCtl_vCurrTrack_mp - VSSCD_v >
PrpCtl_vSpdLimThreshFree_C). The torque PrpCtl_trqSpdLim is set to the upper limiting value
CoDT_trqMax. - Setpoint tracking switched on ( 2 ->On). Setpoint tracking is switched on if the difference
between the setpoint and the vehicle speed falls short of an applicatable threshold (PrpCtl_vCurrTrack_mp
- VSSCD_v <= PrpCtl_vSpdLimThreshOn_C ). The tracked setpoint PrpCtl_vCurrTrack_mp is adapted to
the specified maximum vehicle speed PrpCtl_vSpdLimMax_C via a PT1-element, beginning with the current
vehicle speed VSSCD_v. - Setpoint tracking switched off ( 3 ->Off ). Setpoint tracking is switched off if the
difference between the specified maximum vehicle speed and the tracked setpoint falls below an applicatable
threshold (PrpCtl_vSpdLimMax_C - PrpCtl_vCurrTrack_mp <= PrpCtl_vSpdLimThreshOff_C ). The
tracked setpoint PrpCtl_vCurrTrack_mp is set to the specified maximum vehicle speed
PrpCtl_vSpdLimMax_C.

prpctl_maxspdlim.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 PrpCtl_MaxSpdLim - 103 -
DS/ESM Maximum vehicle speed limitation Veh-VehMot-PrpBrk-Prp-PrpCtl

Figure 107 : States of the setpoint tracking

S P T R A C K _ F R E E

P rp C tl_ s tS P T ra c k _ m p = 1

P r p C tl_ v C u r r T r a c k _ m p - V S S C D _ v > P r p C tl_ v C u r r T r a c k _ m p - V S S C D _ v < =


P r p C tl_ v S p d L im T h r e s h F r e e _ C P r p C tl_ v S p d L im T h r e s h O n _ C

S P T R A C K _ O F F S P T R A C K _ O N

P rp C tl_ s tS P T ra c k _ m p = 3 P rp C tl_ s tS P T ra c k _ m p = 2

P r p C tl_ v S p d L im M a x _ C - P r p C tl_ v C u r r T r a c k _ m p < =


P r p C tl_ v S p d L im T h r e s h O ff_ C
PrpCtl_vCurTrack_mpVS C_DvPrpCtl_vSpdLimThreshOn_C PrpCtl_vSpdLimMax_CPrptl_vCurTack_mp PprCtl_vSpdLimThreshOf_CPrpCtl_vCurT ack_mpVSCDv_ PrpCtl_vSpdLimThreshFre_CPrpCtl_stSPrTack_mp

Figure 108 : Functional principle of setpoint tracking

v
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

P r p C tl_ v S p d L im M a x _ C
P r p C tl_ v S p d L im T h r e s h O ff_ C
P r p C tl_ v C u r r T r a c k _ m p

P r p C tl_ v S p d L im T h r e s h O n _ C
V S S C D _ v

P r p C tl_ v S p d L im T h r e s h F r e e _ C

t
O n O ff
s ta tu s
s e tp o in t s le w in g : F r e e R u n n in g F r e e R u n n in g

PrpCtl_vSpdLimMax_CVS CDv_PrpCtl_vSpdLimThreshOf_CPrpCtl_vSpdLimThreshOn_CPrpCtl_vSpdLimThreshFre _CPprCtl_vCurTrack_mp

PI - controller
Figure 109 : Structure of PI-controller

CoDT_trqMin min
max

PStruct
IF state of set point tracking "Free Running" (PrpCtl_stSPTrack_mp == 1)
-> PrpCrt_trqSpdLim = CoDT_trqMax
IStruct

PrpCtl_stSPTrack_mp PrpCtl_swtSpdLim

1
pparipar lim
0.0 pv 1/
PrpCtl_vCurrTrack_mp x y
tmp_trqSpdLim PrpCtl_trqSpdLim
VSSCD_v T0
PI

dT
1/
CoDT_trqMax
tmp_trqSpdLim
CoD_TtrqMaxPrpCtl_stSPTrack_mpPrpCtl_vCurT ack_mpVS CDv_ PrpCtl_rqSpdLimtmp_trqSpdLimtp_trqSpdLimCoDTt_rqMinPrpCtl_swtSpdLim

Table 41: Description PrpCtl_swtSpdLim


PrpCtl_swtSpdLim Description
0 (SWT_DISABLED) Tracking of the engine speed limit disabled
1 (SWT_ENABLED) Tracking of the engine speed limit enabled

ECU initialization State of setpoint tracking: 1 - free running

Tracked setpoint PrpCtl_vCurrTrack_mp : applicated maximum speed PrpCtl_vSpdLim_Max_C


PrpCtl_swtSpdLim is initialized with PrpCtl_swtSpdLimVal_C.

Output values PrpCtl_swtSpdLim: Switch for enabling (1) or disabling (0) the speed limitation [-]
<UBYTE> --->
PrpCtl_trqSpdLim: limited torque for maximum speed limitation [Nm] <SWORD> --->

Input values CoDT_trqMax: maximum torque of Drive Train [Nm] <SWORD> --->
CoDT_trqMin: minimum torque of Drive Train [Nm] <SWORD> --->
Gearbx_stGear: gear information [-] <SBYTE> --->
VSSCD_v: vehicle speed (velocity) [km/h] <SWORD> --->

Measuring points PrpCtl_vCurrTrack_mp: tracked set point vehicle speed [km/h] <SWORD> --->

19.3.2002 prpctl_maxspdlim.fm
- 104 - PrpCtl_MaxSpdLim Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-PrpBrk-Prp-PrpCtl Maximum vehicle speed limitation DS/ESM

Table 42: Setpoint tracking states (PrpCtl_stSPTrack_mp)


Value Meaning
1 SPTRACK_FREE; free running setpoint tracking
2 SPTRACK_ON, setpoint tracking ON
3 SPTRACK_OFF; setpoint tracking OFF

PrpCtl_stSPTrack_mp: state of set point tracking [-] <UBYTE> --->


PrpCtl_trqI_mp: state of I governor [Nm] <SLONG> --->
PrpCtl_trqP_mp: state of P governor [Nm] <SWORD> --->

Application parameters PrpCtl_SpdLim4IKiNeg_C: governor I-part above negative deviation 4th gear step<value> --->
PrpCtl_SpdLim4IKiPos_C: governor I-part above positive deviation 4th gear step<value> --->
PrpCtl_SpdLim4PKp_C: governor P-part 4th gear step<value> --->
PrpCtl_SpdLim4PKpNeg_C: governor P-part below negative deviation 4th gear step<value> --->
PrpCtl_SpdLim4PKpPos_C: governor P-part above positive deviation 4th gear step<value> --->
PrpCtl_SpdLim5IKi_C: governor I-part 5th gear step<value> --->
PrpCtl_SpdLim5IKiNeg_C: governor I-part above negative deviation 5th gear step<value> --->
PrpCtl_SpdLim5IKiPos_C: governor I-part above positive deviation 5th gear step<value> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
PrpCtl_SpdLim5PKp_C: governor P-part 5th gear step<value> --->
PrpCtl_SpdLim5PKpNeg_C: governor P-part above negative deviation 5th gear step<value> --->
PrpCtl_SpdLim5PKpPos_C: governor P-part above positive deviation 5th gear step<value> --->
PrpCtl_SpdLimIKi_4_C: Controller I-component for small signals - 4th gear
PrpCtl_swtSpdLimType_C: Selector for PrpCtl_swtSpdLim source at ini.: E2PROM(1) or
PrpCtl_swtSpdLimVal_C(2)<value> --->
PrpCtl_swtSpdLimVal_C: dataset value for PrpCtl_swtSpdLim for enabling (1) or disabling
(0) the speed limitation<value> --->
PrpCtl_tiSpdLimPT1_C: time constant of PT1-filter<value> --->
PrpCtl_vSpdLim4IWinNeg_C: negative deviation window of I-part 4th gear step<value> --->
PrpCtl_vSpdLim4IWinPos_C: positive deviation window of I-part 4th gear step<value> --->
PrpCtl_vSpdLim4PWinNeg_C: negative deviation window of P-part 4th gear step<value> --->
PrpCtl_vSpdLim4PWinPos_C: positive deviation window of P-part 4th gear step<value> --->
PrpCtl_vSpdLim5WinPos_C: Upper window limit for P-component small signals - 5th gear
PrpCtl_vSpdLimIWinNeg_C: Lower window limit for I-component small signals - 5th gear
PrpCtl_vSpdLimIWinPos_C: Upper window limit for I-component small signals - 5th gear
PrpCtl_vSpdLimMax_C: maximum speed of vehicle<value> --->
PrpCtl_vSpdLimPWinNeg_C: Lower window limit for P-component small signals - 5th gear
PrpCtl_vSpdLimThreshFree_C: threshold set point tracking free running<value> --->
PrpCtl_vSpdLimThreshOff_C: threshold set point tracking switched off<value> --->
PrpCtl_vSpdLimThreshOn_C: threshold set point tracking switched on<value> --->

prpctl_maxspdlim.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Strg - 105 -
DS/ESM Steering Veh-VehMot-Strg

3.2.4 Steering (Strg)


CARTONIC-Sturcture:VehV-eMho-t Srg

Overview of the component


Steering The Strg component relays the servo pump power requirement and represents the steering.

Structure of the component The Strg component consists of the following partial components:
Figure 110 : Strg partial components

S trg S rv P m p
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 strg_overview.fm
- 106 - SrvPmp Y281 S01 363-V80 P_363 F80 JTD30
Veh-VehMot-Strg-SrvPmp Power steering pump DS/ESM

3.2.4.1 Power steering pump (SrvPmp)


CARTORNIC-Structure:Ve-hVehMot-Srgt -SvrPmp

Overview of the component


Servo pump The SrvPmp component describes the power steering pump control and provides information about it.

Structure of the component The component has no subcomponents.

Subfunctions See “Determining the power steering pump power requirement (SrvPmp_DetSrvPmpPwr)” on page 107.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

srvpmp_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 SrvPmp_DetSrvPmpPwr - 107 -
DS/ESM Determining the power steering pump power requirement Veh-VehMot-Strg-SrvPmp

Determining the power steering pump power requirement (SrvPmp_DetSrvPmpPwr)


CARTONIC-Sturcture:VehV-eMho-t Srg-SvrPmp

Functional overview The function provides the current power requirement and the lead power as an output variable. Both variables
are preset with an application date and can be changed in the service via an additional adjustment value
(multiplicative correction). The influence of the adjustment value is limited.
Power requirement servo pump = f(Application date,
Adjustment value)
Lead power servo pump = f(application date,
Adjustment value)
Figure 111 : Power requirement of the servo pump - overview

A p p lic a tio n v a lu e S rv P m p _ p w rD e s
P

A d ju s tm e n t v a lu e S rv P m p _ p w rL e a d
P
L im ita tio n

A c c o r d in g to B o s c h s ta n d a r d
SrvPmp_wrDesSrvPmp_ wrLead
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Functional description
Acquisition of the servo pump power requirement Since no steering angle and resultant power requirement data is available, requirement is applicated via a
constant SrvPmp_pwrDes_C (i.e. static estimate). The calculated value is then multiplied with an adjustment
value SrvPmp_rPwrAdj_mp. The adjustment value can be adapted with a service diagnostic tool and is limited
to the values SrvPmp_rAdjValMin_C and SrvPmp_rAdjValMax_C.
Figure 112 : Acquisition of the power steering pump torque requirement

SrvPmp_pwrDes_C SrvPmp_pwrDes

SrvPmp_rAdjValMax_C SrvPmp_pwrLead

SrvPmp_rAdjValMin_C

SrvPmp_rPwrAdj_mp
EEPROM_AdjVal
SrvPmp_wrDesSrvPmp_ wrLeadSrvPmp_pwrDes_C E RPOM_AdjVaSl rPvmp_rAdjValMin_CSrvPmp_rAdjValMax_C SvrPmp_rPwrAd_j mp

Substitute function In case of an EEPROM reading error the default value SrvPmp_rAdjValDef_C is used for the adjustment
value SrvPmp_rPwrAdj_mp.

ECU initialization Output values = 0

Output values SrvPmp_pwrDes: desired power of servo pump [W] <SWORD> --->
SrvPmp_pwrLead: lead power of servo pump [W] <SWORD> --->

Measuring points SrvPmp_rPwrAdj_mp: adjustment value (factor) for power demand servo pump [-] <SWORD> --->

Application parameters SrvPmp_pwrDes_C: static power consumption of servo pump<value> --->


SrvPmp_rAdjValDef_C: default value power adjustment servopump (steering)<value> --->
SrvPmp_rAdjValMax_C: maximum value power adjustment servopump (steering)<value> --->
SrvPmp_rAdjValMin_C: minimum value power adjustment servopump (steering)<value> --->

19.3.2002 srvpmp_detsrvpmppwr.fm
- 108 - DrvTrn Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn Drive train DS/ESM

3.3 Drive train (DrvTrn)


CARTORNIC-Structure:Ve-hDrvTrn

Overview of the component


DriveTrain The DrvTrn component forwards the requirements and orders to its partial components and determines the
ratio for the entire drive train.

Structure of the component The DrvTrn component consists of the following subcomponents:
Figure 113 : DrvTrn subcomponent

C o n v

C o D T

D rv T rn

E n g

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
G e a rb x

Subfunctions See “Drive train ratio calculation (DrvTrn_CalcRTransDT)” on page 109.

drvtrn_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 DrvTrn_CalcRTransDT - 109 -
DS/ESM Drive train ratio calculation Veh-DrvTrn

Drive train ratio calculation (DrvTrn_CalcRTransDT)


CARTONIC-Sturcture:VehD-rvTrn

Functional overview The torque transmission ratio of the drive train is calculated from the current gear ratio and the converter gain
or clutch transmission rate. Where there is no grip (eg. in low-idle), the last valid value is frozen.
Torque transmission ratio =f(Transmission ratio torque converter,
Gear ratio,
Grip,
Vehicle speed)
Figure 114 : Drive train ratio calculation - overview

C o n v _ rT ra n s
T o rq u e D rv T rn _ rT ra n s D T
G e a rb x _ rT ra n s tr a n s m is s io n
r a tio c a lc u la tio n
C o D T _ G r ip
F re e z e -
V S S C D _ v lo g ic

A c c o r d in g to B o s c h s ta n d a r d
CoD_TGripCovn_rTansDrvTrn_TransDTGearbx_rT ansVS C_Dv
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Functional description The torque transmission ratio of the drive train DrvTrn_rTransDT is calculated from the product of the
current gear ratio Gearbx_rTransand the converter gain or clutch transmission rateConv_rTrans. In the
absence of grip (CoDT_Grip = FALSE), the drive train ratio is frozen to the last valid value. This also
guarantees the accelerator pedal access to the engine at idle speed. If, in addition, a stationary vehicle is
detected (VSSCD_v =0), the ratio is reset to the value DrvTrn_rTransDTInit_C.
Figure 115 : Determination of the drive train ratio

DrvTrn_rTransDTInit_C

CoDT_Grip
Reset

VSSCD_v
0.0

Conv_rTrans
rTrans DrvTrn_rTransDT

Gearbx_rTrans
CoD_TGripGearbx_rTansDrvTrn_rTansDTrvrn_rTansDTnI it_C Cnov_rTransVSCDv_

ECU initialization DrvTrn_rTransDT is defined with the initial value DrvTrn_rTransDTInit_C. All other values are initialized
with ‘0’ or ‘FALSE’.

Output values DrvTrn_rTransDT: drivetrain transmission (wheel torque per engine torque) [-] <SWORD> --->

Input values CoDT_Grip: power grip within drive train [-] <UBYTE> --->
Conv_rTrans: transmission ratio of converter respectively clutch [-] <SWORD> --->
Gearbx_rTrans: gearbox transmission ratio [-] <SWORD> --->
VSSCD_v: vehicle speed (velocity) [km/h] <SWORD> --->

Application parameters DrvTrn_rTransDTInit_C: default value of drivetrain transmission (wheel torque per engine
torque)<value> --->

19.3.2002 drvtrn_calcrtransdt.fm
- 110 - CoDT Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-CoDT Drive train coordinator DS/ESM

3.3.1 Drive train coordinator (CoDT)


CARTORNIC-Structure:Ve-hDrvTrnC-oDT

Overview of the component


Coordinator drive train The drive train coordinator manages the interplay between engine and gearbox in order to ensure optimal
efficiency. Basic functions are the damping of demand jumps and prioritization of the various demands
related to the engine output torque.
Additional tasks include:
• Drive train coordination
• Drive torque calculation
• Drive torque interval calculation
• Grip detection

Structure of the component The CoDT component has no subcomponents.

Subfunctions See “Drive train coordination (CoDT_DrvTrnCord)” on page 111.


See “Drive torque calculation (CoDT_PrpTrqCurrCalc)” on page 116.
See “Provision of torque interval (CoDT_PrpTrqRngCalc)” on page 117.
See “Grip detection in the drive train (CoDT_CheckGrip)” on page 114.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

codt_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoDT_DrvTrnCord - 111 -
DS/ESM Drive train coordination Veh-DrvTrn-CoDT

Drive train coordination (CoDT_DrvTrnCord)


CARTONIC-Sturcture:VehD-rvTrnC-oDT

Functional overview The torque demand of the propulsion as well as its lead value must be converted into corresponding values
for the drive train (engine).
The conversion of the torque demand on the gearbox input side takes place with the drive train ratio and the
gearbox losses (gearbox conversion) in accordance with the physical conditions. This torque is limited via a
minimum selection in order to protect the gearbox. Taking interventions of the gearbox control unit into
account, the torque order for the engine and its lead value are formed. Further output values are the lower
and upper engine speed limit for the drive train.
Torque order/ torque lead to engine = f(Maximum gearbox input torque,
Propulsion torque,
Gearbox intervention torque,
Drive train-ratio)
Figure 116 : Drive train coordination - overview

C o V e h _ n M a x

C o V e h _ n M in
C o D T _ trq D T In D e s
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

C o V e h _ trq A c s D e s
C o D T _ n M a x
C o V e h _ trq A c s L e a d
C o D T _ n M in
C o V e h _ s tO rd
C o D T _ s tO rd
G e a rb x _ trq In M a x
C o D T _ trq D e s
C o V e h _ trq P rp D e s D r iv e tr a in
c o o r d in a tio n
C o D T _ trq G e a rb x D e s
C o V e h _ trq P rp L e a d
C o D T _ trq L e a d
D rv T rn _ rT ra n s D T
G e a r b o x
p r o te c tio n C o D T _ trq D T In L e a d
G e a r b o x
G e a rb x _ trq F rc
c o n v e r s io n

G e a rb x _ trq D e c

G e a rb x _ trq In c

A c c o r d in g to B o s c h s ta n d a r d
CoD_TnMaxCoDTn_Min CoDT_stOrdCoDT_trqDes CoDT_trqDTInDesCoDT_trqDTInLeadCoDT_trqGearbxDes CoDT_trqLeadCoVeh_nMaxCoVeh_nMinCoVhe_stOrdCoVeh_trqAcsDesCoVeh_trqAcsLeadCoVe_htrqPrDpesCoVeh_trqPrpLeadDrvTrn_rTansDT Gearbx_trqDecGearbx_trqFrcGearbx_trqIncGearbx_trqInMax

Functional description The propulsion torque demand CoVeh_trqPrpDes is converted to the gearbox input side using the current
drive train ratio DrvTrn_rTransDT, and corrected for gearbox losses Gearbx_trqFrc. This value is the
setpoint value for the gearbox input torque CoDT_trqGearbxDes. CoDT_trqGearbxDes is restricted via
Gearbx_trqInMax in order to protect the gearbox.
For active intervention in the gearbox control, a coordination via maximum or minimum selection occurs,
depending on the type of intervention required (increasing or decreasing). The torque on the clutch input side
is output by CoDT_trqDTInDes. The demands of the engine accessories CoVeh_trqAcsDes are then added.
The result is the torque demand to the engine CoDT_trqDes.
Two separate lead paths are formed which can be applicated independent of each other. The lead demand
CoDT_trqCurr is formed in one lead path and the lead demand CoDT_trqLead in the other.
In doing so, practically the same process is employed as for the formation of the setpoint torque
CoDT_trqDes. A decreasing intervention through the gearbox control is all that takes place after an
applicatable delay time CoDT_tiTrqRedMaxCurr_C or CoDT_tiTrqRedMaxLead_C via a ramp with the slope
CoDT_dtrqLimDwnCurr_C or CoDT_dtrqLimDwnLead_C. It may be necessary to account for the decreasing
gearbox interventions in the lead paths so that permanent control deviations are avoided. If the decreasing
intervention is terminated, the software switches back to driver command. At that moment, however, both
values are identical, so that no ramp is started.
The lead path is split into the Raw and the Des path in CoEng.
Figure 117 : Drive train coordination for demand path

gearbox protection gearbox intervention

Gearbx_trqDec

Gearbx_trqInMax Gearbx_trqInc CoDT_trqDTInDes

CoDT_trqDes

CoVeh_trqPrpDes

DrvTrn_rTransDT CoVeh_trqAcsDes

Gearbx_trqFrc CoDT_trqGearbxDes

CoD_TtrqDesCoD_TtrqDTInDesCoDT_trqGearbxDesCoVeh_trqAcsDesCoVeh_trqPpDesrvTrn_rT ansDT Gearbx_trqFrcGearbx_trqDecGearbx_trqIncGearbx_trqInMax

19.3.2002 codt_drvtrncord.fm
- 112 - CoDT_DrvTrnCord Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-CoDT Drive train coordination DS/ESM

Figure 118 : Drive train coordination for Curr path

gearbox intervention

CoDT_dtrqLimUpCurr_C

CoDT_dtrqLimDwnCurr_C

CoDT_tiTrqRedMaxCurr_C

start
1/

EdgeRising

Timer

swpos param CoDT_trqDTInCurr


xa
y
xb CoDT_trqCurr
T0
RampSwitch

Gearbx_trqDec
CoDT_trqDTInDecLead_mp dT

Gearbx_trqInc
CoVeh_trqAcsLead
gearbox protection
Gearbx_trqInMax

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
CoDT_trqDTInIncLead_mp
CoVeh_trqPrpLead

DrvTrn_rTransDT

Gearbx_trqFrc CoDT_trqGearbxLead_mp

CoD_TdtrqLimDwnCur_CoD_TdtrqLimUpCur_CoDT_tiTrqRedMaxCur_C oDTt_rqDTInCurCDoTt_rqDTInDecLead_mpCoDT_trqDTnI cLead_mpCoDT_trqCur CoDT_trqGearbxLead_mpCoVeh_trqAcsLeadCoVhe_trqPrpLeadDrvTrn_rTansDT Gearbx_trqFrcGearbx_trqDecGearbx_trqIncGearbx_trqInMax

Figure 119 : Drive train coordination for Lead path (Raw and Des)

gearbox intervention

CoDT_dtrqLimUpLead_C

CoDT_dtrqLimDwnLead_C

CoDT_tiTrqRedMaxLead_C

start
1/

EdgeRising

Timer

swpos param CoDT_trqDTInLead


xa
y
xb CoDT_trqLead
T0
RampSwitch

Gearbx_trqDec
CoDT_trqDTInDecLead_mp dT

Gearbx_trqInc
CoVeh_trqAcsLead
gearbox protection
Gearbx_trqInMax

CoDT_trqDTInIncLead_mp
CoVeh_trqPrpLead

DrvTrn_rTransDT

Gearbx_trqFrc CoDT_trqGearbxLead_mp

CoD_TdtrqLimDwnLead_CoDT_dtrqLimUpLaed_C CoDT_tiTrqRedMaxLead_CoDT_trqDTInLeadCoDT_trqDTInDecLead_mpCoDT_trqDTIn cLead_mpCoDT_trqCur CoTD_trqGearbxLead_mpCoVeht_rqAcsLeadCoVhe_trqPrpLeadDrvTrn_rTansDT Gearbx_trqFrcGearbx_trqDecGearbx_trqIncGearbx_trqInMax

The order constraints of the order CoDT_stOrd are adopted unchanged from CoVeh_stOrd.
The permissible engine speed interval of the vehicle coordinator (CoVeh_nMin / CoVeh_nMax) is adopted
unchanged and transmitted as a demand CoDT_nMin and CoDT_nMax as an order constraint/ order to the
engine.
Figure 120 : Order constraints and engine speed interval

CoVeh_stOrd CoDT_stOrd

CoVeh_nMin CoDT_nMin

CoVeh_nMax CoDT_nMax

CoD_TnMaxCoDT_nMiCoDT_stOrdCoVe_hnMax CoVe_hnMinCoVeh_stOrd

ECU initialization CoDT_nMax = ENG_N_MAX, all other values are set to 0

Output values CoDT_nMax: maximum Engine Speed Demand of Drive Train [rpm] <SWORD> --->
CoDT_nMin: Low Idle Speed Demand of Drive Train [rpm] <SWORD> --->
CoDT_stOrd: boundary conditions for physical order [-] <UBYTE> --->
CoDT_trqCurr: drive train torque for lead path (curr) [Nm] <SWORD> --->
CoDT_trqDes: desired torque order of Drive Train [Nm] <SWORD> --->
CoDT_trqDTInCurr: torque leadpath drive train (input vor clutch) (curr) [Nm] <SWORD> --->
CoDT_trqDTInDes: desired value for drivetrain input (clutch) [Nm] <SWORD> --->
CoDT_trqDTInLead: lead value for drivetrain input (clutch) [Nm] <SWORD> --->
CoDT_trqGearbxDes: desired gearbox input torque (from driver) [Nm] <SWORD> --->
CoDT_trqLead: torque lead odrder of Drive Train [Nm] <SWORD> --->

codt_drvtrncord.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoDT_DrvTrnCord - 113 -
DS/ESM Drive train coordination Veh-DrvTrn-CoDT

Input values CoVeh_nMax: maximum allowed engine speed [rpm] <SWORD> --->
CoVeh_nMin: minimum requsted engine speed [rpm] <SWORD> --->
CoVeh_stOrd: boundary conditions for physical order [-] <UBYTE> --->
CoVeh_trqAcsDes: desired torque of accessories [Nm] <SWORD> --->
CoVeh_trqAcsLead: accessories lead torque demand [Nm] <SWORD> --->
CoVeh_trqPrpDes: desired torque for propulsion [Nm] <SWORD> --->
CoVeh_trqPrpLead: lead torque for propulsion [Nm] <SWORD> --->
DrvTrn_rTransDT: drivetrain transmission (wheel torque per engine torque) [-] <SWORD> --->
Gearbx_trqDec: gearbox decrement torque demand [Nm] <SWORD> --->
Gearbx_trqFrc: current frictional torque of gearbox [Nm] <SWORD> --->
Gearbx_trqInc: gearbox increase torque demand [Nm] <SWORD> --->
Gearbx_trqInMax: maximum input torque of gearbox [Nm] <SWORD> --->

Measuring points CoDT_trqDTInDecLead_mp: desired drive train torque with reducing gearbox interventions
[Nm] <SWORD> --->
CoDT_trqDTInIncLead_mp: desired drive train torque with incremental gearbox interventions
[Nm] <SWORD> --->
CoDT_trqGearbxLead_mp: lead torque demand at Gearbox [Nm] <SWORD> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Application parameters CoDT_dtrqLimDwnCurr_C: negative slope for ramp switch in curr path<value> --->
CoDT_dtrqLimDwnLead_C: negative slope for ramp switch in lead path<value> --->
CoDT_dtrqLimUpCurr_C: positive slope for ramp switch in curr path<value> --->
CoDT_dtrqLimUpLead_C: positive slope for ramp switch in lead path<value> --->
CoDT_tiTrqRedMaxCurr_C: time edge for "long" gearbox intervention in curr path<value> --->
CoDT_tiTrqRedMaxLead_C: time edge for "long" gearbox intervention in lead path<value> --->

19.3.2002 codt_drvtrncord.fm
- 114 - CoDT_CheckGrip Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-CoDT Grip detection in the drive train DS/ESM

Grip detection in the drive train (CoDT_CheckGrip)


CARTORNIC-Structure:Ve-hDrvTrnC-oDT

Functional overview A series of functions requires the information on whether grip between engine and gearbox is present.
This function detects grip within the drive train if a gear is engaged and the clutch is not actuated. It outputs
a corresponding status. The signal is debounced and checked for plausibility using the vehicle speed.
Status grip detection = f(Vehicle speed,
Clutch signal,
Gear information)
Figure 121 : Grip detection - overview

V S S C D _ v

C o n v C D _ s tD e b V a l
C o D T _ G r ip
P la u s ib ility
G e a rb x _ s tG e a r G r ip d e te c tio n
c h e c k

A c c o r d in g to B o s c h s ta n d a r d
CoD_TGripConvCD_stDebValGearbx_stGearVS DC_v

Functional description
Grip detection Grip within the drive train is detected if a gear is engaged and the clutch is not actuated. The value of the

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
gear message Gearbx_stGear must be unequal to zero (GEARBX_GEAR_IDL), i.e. no neutral gear detected
and the clutch message ConvCD_stDebVal must be equal to zero. The grip state is stored in CoDT_Grip,
where zero (FALSE) indicates no grip, and values other than zero indicate grip.
Figure 122 : Grip detection

V S S C D _ v C o D T _ s tG r ip D e b
D e b o u n c e

c o d t_ c h e c k g r ip _ 1 .d s f
F id _ C o D T _ G r ip D e b _ m p G e tB it_ 1
0
!

C o n v C D _ s tD e b V a l
! 0

&
C o D T _ G r ip
G e a rb x _ s tG e a r
0
CoD_TGripGearbx_stGearConCvD_stDebVal S DC_vFid_CoDTG_ripDeb_mpCoDT_stGripDeb

Debouncing of grip Since gear detection (from the v/n relation) is not completely reliable, especially directly after shifting gear, a
debouncing is performed for the grip. The debouncing state can be read from CoDT_stGripDeb. If
CoDT_stGripDeb has the value of GRIPDET_NOGRIP=0, no grip is detected, CoDT_Grip is assigned 0
(FALSE). Grip is detected for CoDT_stGripDeb =GRIPDET_GRIP=1, CoDT_Grip becomes equal to 1
(TRUE). Debouncing is not reactivated in the event of brief “gear slippage” where the clutch is not depressed.
The transition from GRIPDET_NOGRIP to GRIPDET_GRIP takes place if the vehicle speed VSSCD_v is
above CoDT_vGrip_C for the debouncing time CoDT_tiGripDeb_C, the clutch is not actuated
(ConvCD_stDebVal !=0), and the gear variable Gearbx_stGear does not report neutral gear. The inverse
state transition occurs if the clutch is actuated or the vehicle speed becomes smaller or equal to
CoDT_vGrip_C.
If it is intended to determine the grip detection independent of the vehicle speed, eg. for automatic gearboxes,
then CoDT_vGrip_C must be applicated with a negative vehicle speed.
Figure 123 : State machine of grip debouncing

C o D T _ s tG r ip D e b = 0
C o D T _ G r ip = 0
V S S C D _ v < = C o D T _ v G r ip _ C
s to p tim e r || ( C o n v C D _ s tD e b V a l)

V S S C D _ v > C o D T _ v G r ip _ C
& & (G e a rb x _ s tG e a r != 0 )
& & ( !C o n v C D _ s tD e b V a l)
V S S C D _ v < = C o D T _ v G r ip _ C
II (G e a rb x _ s tG e a r= 0 )
C o D T _ s tG r ip D e b = 1
II ( C o n C D _ s tD e b V a l)
C o D T _ G r ip = 1
( if G e a r b x _ s tG e a r != 0
o th e r w is e C o D t_ G r ip = 0 )
s ta r t tim e r
c o d t_ c h e c k g r ip _ 2 .d s f

C o D T _ s tG r ip D e b = 0
C o D T _ G r ip = 0 tim e r v a lu e > = C o D T _ tiG r ip D e b _ C
CoD_TGripCoDT_stGripDebVS DC_vCoDT_vGrip_CGearbx_stGearConvCD_stDebValGearbx_stGearConCD_stDebVal

Substitute function If the clutch signal ConvCD_stDebVal is reported as defective, the grip output value CoDT_Grip depends on
the applicatable default value of the clutch signal. If the clutch signal default is set to “clutch actuated”, no
grip is constantly reported. A clutch signal default set to “clutch not actuated” causes the grip to be reported
when a gear is detected (Gearbx_stGear).
Grip debouncing can be inhibited via Fid_CoDT_GripDeb_mp. In this case, the currently detected grip is
immediately output.

ECU initialization The grip CoDT_Grip is initialized with 0 (no grip), as is the state of the grip debouncing CoDT_stGripDeb.

codt_checkgrip.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoDT_CheckGrip - 115 -
DS/ESM Grip detection in the drive train Veh-DrvTrn-CoDT

Output values CoDT_Grip: power grip within drive train [-] <UBYTE> --->

Input values ConvCD_stDebVal: debounced value of clutch signal [-] <UBYTE> --->
Gearbx_stGear: gear information [-] <SBYTE> --->

Measuring points Fid_CoDT_GripDeb_mp: Measurement point for Function Identifier Fid_CoDT_GripDeb [-]
<UBYTE> --->

Application parameters CoDT_tiGripDeb_C: debounce time for power grip detection within drive train<value> --->
CoDT_vGrip_C: vehicle speed threshold for power grip detection within drive train<value>
--->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 codt_checkgrip.fm
- 116 - CoDT_PrpTrqCurrCalc Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-CoDT Drive torque calculation DS/ESM

Drive torque calculation (CoDT_PrpTrqCurrCalc)


CARTORNIC-Structure:Ve-hDrvTrnC-oDT

Functional overview The function calculates the current torque at gearbox output (total wheel torque). For this, the loads due to
accessories and gearbox loss are subtracted from the engine output torque and multiplied by the gear ratio.
Apart from the current torque at gearbox output, the minimum of all limitation torques in the gearbox output
torque is calculated as is the gearbox input torque and made available to other functions.
Drive train torque at the drive train output
= f(Current engine output torque,
Torque requirement for permanent accessories,
Torque requirement for temporary accessories,
Current torque loss at gearbox,
Drive train-ratio)
Figure 124 : Drive torque calculation - overview

C o E n g _ trq

C o V e h _ trq A c s P e rm
C o D T _ trq G b x
C o V e h _ trq A c s T e m p C a lc u la tio n o f

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
c u rre n t to rq u e C o D T _ trq
G e a rb x _ trq F rc

D rv T rn _ rT ra n s D T

C o E n g _ tr q C u r r L im
C o D T _ tr q C u r r L im
C a lc u la tio n o f
C o D T _ tr q A c s M in lim itin g to r q u e

A c c o r d in g to B o s c h s ta n d a r d
CoD_TtrqCoDT_trqAcsMinCoDT_trqCurLimCoDT_trqGbxCoEgn_trqConEg_trqCurLimCoVeh_trqAcsPermCoVe_htrqAcsTempDrvTrn_rTansDT Gearbx_trqFrc

Functional description The loads due to the vehicle accessories CoVeh_trqAcs are subtracted from the engine output torque
CoEng_trq. The resulting gearbox input torque CoDT_trqGbx is then corrected by the losses of the gearbox
Gearbx_trqFrc (negative!) and afterwards multiplied by the drive train amplificationDrvTrn_rTransDT. The
result is stored in CoDT_trq.
Figure 125 : Calculation of current drive torque

CoDT_trqGbx

CoEng_trq CoDT_trq

CoVeh_trqAcsPerm

CoVeh_trqAcsTemp

Gearbx_trqFrc

DrvTrn_rTransDT
CoEgn_trqCoVeh_trqAcsPermCoVeh_trqAcsTempCoDT_trqDvTrn_rTansDT Gearbx_trqFrcCoDT_trqGbx

The minimum of all limiting torques of the torque at gearbox output CoDT_trqCurrLim is calculated as the
product of the drive train amplification DrvTrn_rTransDT and the signed sum of the minimum of all limiting
torques of the engine output torque CoEng_trqCurrLim, the torque demand of the accessories
CoVeh_trqAcsMin and the current torque loss of the gearbox friction Gearbx_trqFrc.
Figure 126 : Minimum of all limitations of the torque at gearbox output

CoEng_trqCurrLim CoDT_trqCurrLim

CoDT_trqAcsMin

Gearbx_trqFrc

DrvTrn_rTransDT
CoEgn_trqCurLimGearbx_trqFrcDrvTrn_rTansDTCoDT_trqCurLimCoTD_trqAcsMin

Output values CoDT_trq: torque of Drive Train [Nm] <SWORD> --->


CoDT_trqCurrLim: minimum of all limitations of propulsion torque [Nm] <SWORD> --->
CoDT_trqGbx: current input torque of gearbox [Nm] <SWORD> --->

Input values CoDT_trqAcsMin: minimum torque demand of accessories [Nm] <SWORD> --->
CoEng_trq: actual torque of the engine [Nm] <SWORD> --->
CoEng_trqCurrLim: minimum of all limitations as current engine torque [Nm] <SWORD> --->
CoVeh_trqAcsPerm: torque of permanent active accessories [Nm] <SWORD> --->
CoVeh_trqAcsTemp: torque of temporary active accessories [Nm] <SWORD> --->
DrvTrn_rTransDT: drivetrain transmission (wheel torque per engine torque) [-] <SWORD> --->
Gearbx_trqFrc: current frictional torque of gearbox [Nm] <SWORD> --->

codt_prptrqcurrcalc.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoDT_PrpTrqRngCalc - 117 -
DS/ESM Provision of torque interval Veh-DrvTrn-CoDT

Provision of torque interval (CoDT_PrpTrqRngCalc)


CARTONIC-Sturcture:VehD-rvTrnC-oDT

Functional overview The function determines the currently available torque range for propulsion. The torque ranges and the
torque requirement are converted to the available torque range and output.
In addition to the torque range for the propulsion, the range of the gearbox input torque and the minimum
torque requirement of the accessories are output.
Maximum possible drive torque = f(Drive train-ratio,
Gearbox loss torque,
Maximum of torque interval,
Torque requirement for permanent accessories)
Minimum possible drive torque = f(Drive train-ratio,
Gearbox loss torque,
Torque interval minimum,
Torque requirement for permanent accessories,
Torque requirement for temporary accessories)
Figure 127 : Provision of torque interval - overview

C o E n g _ trq M a x
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

C o E n g _ tr q M in

D rv T rn _ rT ra n s D T

C o D T _ tr q A c s M in
G e a rb x _ trq F rc

C o D T _ trq G b x M a x
C o V e h _ trq A c s P e rm

O v e rru n T o rq u e C o D T _ tr q G b x M in
C o V e h _ trq A c s T e m p b e h a v io u r in te r v a ll
p r o v id in g
C o D T _ trq M a x

C o D T _ tr q M in

C o m p e n s a tio n
C r C tl_ s tA c tiv e o f a c c e s s o r ie s

V e h D a _ s tT rq D e m

A c c o r d in g to B o s c h s ta n d a r d
CoD_TtrqAcsMinCoDT_trqGbxMaxCoDT_rqtGbxMinCoDT_trqMaxCoD_TtrqMinCoEng_trqMaxCoEng_trqMinCoVeh_trqAcsPermCoVeh_trqAcsTempCrCl_tsActiveDrvTrn_rTansDTGearbx_trqFcVehDa_stTrqDem

Functional description The engine torque band CoEng_trqMin or CoEng_trqMax is reduced by the accessory requirement
CoDT_trqAcsMin or CoDT_trqAcsMax_mp.
Only the requirement of the non-software-controlled vehicle accessories CoVeh_trqAcsPerm is subtracted
from the maximum value so that the energy management system can detect a possible power shortage. The
compensation-dependent required value of all accessories CoDT_trqAcs_mp is subtracted from the minimum
value (see below).
The accessory values are PT1-filtered to prevent jumps in accelerator pedal mapping. To avoid a negative
fuel quantity demand, the minimum value is not filtered in case the vehicle is in overrun.
The clutch torque band CoDT_trqGbxMin or CoDT_trqGbxMax is corrected by the losses of the gearbox
Gearbx_trqFrc and then converted to the transmission output torque band CoDT_trqMin or CoDT_trqMax
using the drive train amplification DrvTrn_rTransDT.
Figure 128 : Interval transformation
D rv T rn _ rT ra n s D T C o D T _ tr q M in

G e a rb x _ trq F rc
C o D T _ tr q G b x M in
C o E n g _ tr q M in

C o D T _ tiF ltP T 1 _ C
P

C o D T _ s tP rp O v rR u n _ m p

C o V e h _ trq A c s P e rm
F ilte r C o D T _ tr q A c s M in
O v e rru n a n d
C o V e h _ trq A c s T e m p B e h a v io r B y p a s s

C o D T _ trq A c s _ m p
C o D T _ trq M a x

C o D T _ trq G b x M a x
C o E n g _ trq M a x

C o D T _ tiF ltP T 1 _ C
P

C o D T _ trq A c s M a x _ m p
F ilte r
c o d t_ p r p tr q r n g c a lc _ 1 .d s f

CoEgn_trqMinGearbx_trqFrcDvTrn_rT ansDT CoDT_trqMinCoDT_trqGbxMinCoVhe_trqAcsTempCoVeh_trqAcsPermCoDT_trqAcsMinCoDT_tiFltPT1_C CDoT_stPrpOvrRun_mpCoDTt_rqMaxCoTD_trqGbxMaxCoDT_trqAcsMax_mpCoDT_trqAcs_mpCoEng_trqMaxCoDTt_iFltPT1_C

19.3.2002 codt_prptrqrngcalc.fm
- 118 - CoDT_PrpTrqRngCalc Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-CoDT Provision of torque interval DS/ESM

Compensation: In the same way, in normal driving mode, only that portion of the vehicle accessories which is not affected by
software CoVeh_trqAcsPerm is subtracted. Since the complete torque demands of the accessories
CoDT_trqAcsDes_mp are added at setpoint value formation (see “Drive train coordination
(CoDT_DrvTrnCord)” on page 111), a continued compensation of the influenceable accessories (in particular
A/C compressor) in the torque balance during transition to overrun is the result. This compensation is
reduced over an applicatable ramp. The time interval CoDT_tiCompUp_C is applicated, after which the
compensation is no longer performed. The torque balance is therefore zero. Redundant overrun monitoring
can be activated when the interval has elapsed. Application of the maximum value at CoDT_tiCompUp_C,
neither cancels the compensation nor calculates the ramp. For active CrCtl (CrCtl_stActive=1) it is
possible to determine by application whether compensation deactivation is to take place
(CoDT_swtCrCtlNoComp_C = 0) or not (CoDT_swtCrCtlNoComp_C ! = 0). If the compensation is to be
deactivated instantly (CoDT_tiCompUp_C = 0), the ramp is not calculated, either.
When exiting overrun mode, the full compensation is re-activated for the time CoDT_tiCompDwn_C.
Overrun is detected if no torque demand from the driver, from the cruise control and from the low-idle
governor is present at least for a time CoDT_tiOvrRunDebNeg_C (without interruption). (i.e
VehDa_stTrqDem.bit 0, 1 and 7 are FALSE). At the end of overrun, debouncing is carried out with
CoDT_tiOvrRunDebPos_C. The result is displayed in CoDT_stPrpOvrRun_mp (overrun:
CoDT_stPrpOvrRun_mp = 1; no overrun: CoDT_stPrpOvrRun_mp = 0).
Table 43: Bit assignment VehDa_stTrqDem

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Bit no. Meaning Measured value
0 Torque demand driver present (TRUE) / not present (FALSE) AccPed_trqDe
s
1 Torque demand cruise control present (TRUE) / not present (FALSE) CrCtl_trqDes
7 Torque demand low-idle governor present (TRUE) / not present (FALSE) LIGov_trq

Figure 129 : Vehicle accessory compensation in overrun [overrun behaviour]

CoDT_tiCompUp_C

CoDT_tiCompDwn_C

CoDT_tiCompUp_C
Parameter set
TIME_MAXIMUM

CoDT_swtCrCtlNoComp_C CoDT_tiCompUp_C

0.0
CrCtl_stActive

swpos param
CoVeh_trqAcsTemp xa
xb
CoDT_trqAcs_mp
T0
CoVeh_trqAcsPerm
RampSwitch
dT

CoDT_tiOvrRunDebPos_C

CoDT_tiOvrRunDebNeg_C

Overrun detection and Debouncing


CoDT_stPrpOvrRun_mp
VehDa_stTrqDem

CoD_TtrqAcs_mpCoVeh_trqAcsPermCoVeh_trqAcsTempCoD_TtiCompDwn_CoDT_tiCompUp_C CoDT_stPrpOvrRun_mpCoDTt_iOvrRunDebNeg_C oDT_tiOvrRunDebPos_CVehDa_stTrqDemCoDT_tiCompUp_CTIME_MAXIMUMCoDT_swtCrCtlNoComp_CrtCl_stActiveCoD_TtiCompUp_C

ECU initialization CoDT_trqMin = CoDT_trqMinInit_C


All other values are set to 0.

Output values CoDT_trqAcsMin: minimum torque demand of accessories [Nm] <SWORD> --->
CoDT_trqGbxMax: maximum torque at gearbox input [Nm] <SWORD> --->
CoDT_trqGbxMin: minimum torque at gearbox input [Nm] <SWORD> --->
CoDT_trqMax: maximum torque of Drive Train [Nm] <SWORD> --->
CoDT_trqMin: minimum torque of Drive Train [Nm] <SWORD> --->

Input values CoEng_trqMax: engine torque range: max value [Nm] <SWORD> --->
CoEng_trqMin: drag torque [Nm] <SWORD> --->
CoVeh_trqAcsPerm: torque of permanent active accessories [Nm] <SWORD> --->
CoVeh_trqAcsTemp: torque of temporary active accessories [Nm] <SWORD> --->
CrCtl_stActive:
DrvTrn_rTransDT: drivetrain transmission (wheel torque per engine torque) [-] <SWORD> --->
Gearbx_trqFrc: current frictional torque of gearbox [Nm] <SWORD> --->
VehDa_stTrqDem: state of active torque demands [-] <UWORD> --->

codt_prptrqrngcalc.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoDT_PrpTrqRngCalc - 119 -
DS/ESM Provision of torque interval Veh-DrvTrn-CoDT

Measuring points CoDT_stPrpOvrRun_mp: overrun state of propulsion (0: no overrun) [-] <UWORD> --->
CoDT_trqAcs_mp: raw value of actual accessories torque [Nm] <SWORD> --->
CoDT_trqAcsMax_mp: maximum accessories torque [Nm] <SWORD> --->
CoDT_trqAcsRaw_mp: target value of actual accessories torque [Nm] <SWORD> --->

Application parameters CoDT_swtCrCtlNoComp_C: switch to deactivate decompensation on active Cruise Control (0 =


decomp. active, 1 = decomp. not active)<value> --->
CoDT_tiCompDwn_C: time to activate compensation after overrun<value> --->
CoDT_tiCompUp_C: time to deactivate compensation at overrun<value> --->
CoDT_tiFltPT1_C: torque range jump filter parameter<value> --->
CoDT_tiOvrRunDebNeg_C: debounce time of state "vehicle pushes"<value> --->
CoDT_tiOvrRunDebPos_C: debounce time of state "vehicle pushes"<value> --->
CoDT_trqMinInit_C: inital value for minimum drivetrain torque<value> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 codt_prptrqrngcalc.fm
- 120 - Conv Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Conv Torque converter DS/ESM

3.3.2 Torque converter (Conv)


CARTORNIC-Structure:Ve-hDrvTrnC-onv

Overview of the component


Converter The component provides requirements and information on the clutch or torque converter.

Structure of the component The component consists of the following partial components:
Figure 130 : Partial components Conv

C o n v C o n v C D

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

conv_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Gearbx - 121 -
DS/ESM Gearbox Veh-DrvTrn-Gearbx

3.3.3 Gearbox (Gearbx)


CARTONIC-Sturcture:VehD-rvTrnG-earbx

Overview of the component


Gearbox The Gearbx component provides demands and information (gearbox versions, gear detection, gearbox
protection, EGS intervention via CAN) for the gearbox.

Structure of the component This component contains the subcomponent GearCD.

Subfunctions See “Gearbox information (Gearbx_Data)” on page 135.


See “Gear detection (Gearbx_Geardet)” on page 122.
See “Gearbox limitations (Gearbx_TrqLim)” on page 126.
See “Gearbox torque loss (Gearbx_TrqFrc)” on page 127.
See “Gearbox intervention to torque (Gearbx_TrqIntv)” on page 128.
See “Determination of the P/N position (GearCD_PN)” on page 137.
See “Starter release (Gearbx_StrtMotRls)” on page 136.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 gearbx_overview.fm
- 122 - Gearbx_Geardet Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Gearbx Gear detection DS/ESM

Gear detection (Gearbx_Geardet)


CARTORNIC-Structure:Ve-hDrvTrnG-earbx

Functional overview The function gear detection depends on the type of the gearbox. Via a software switch, a selection can be
made whether the gear information is formed from the ratio of vehicle speed and engine speed or whether it
is used by the CAN interface. If the gear is detected via the signal by the CAN interface, the gear level is
output directly from this message.
If the gear detection takes place by the evaluation of the ratio of vehicle speed and engine speed (v/n), the
v/n ratio is compared with a list of application data. If the v/n ratio is within the tolerance band defined for each
gear, the corresponding gear is detected.
Depending on the detected gear, the corresponding gear information and the gear ratio is output.
Gear information = f(Ratio of vehicle speed to engine speed,
ACTUAL gear information from CAN interface,
Target gear information from CAN,
Type of gearbox)
Figure 131 : Gear detection - overview

G e a rb x _ rT ra n s
F rm M n g _ n u m G e a rD e s
G e a rb x _ n u m G e a rF a s t

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
V e h D a _ rV n
S ig n a l s e le c tio n G e a r d e te c tio n G e a rb x _ s tG e a r
F rm M n g _ s tG e a r
G e a rb x _ n u m G e a rD e s

G e a rb x _ s w tT y p e

A p p lic a tio n
d a ta

A c c o r d in g to B o s c h s ta n d a r d
FrmMng_numGearDesFrmMng_stGearGearbx_numGearDesGarbx_numGearFastGearbx_rTansGearbx_stGearGearbx_swtTypeV hDa_rVn

Functional description Depending on the type of gearbox Gearbx_swtType the current gear is determined from the vehicle speed/
engine speed ratio or received from CAN.
For which types of gearbox the gear is received from CAN can be determined by the bit field
Gearbx_stTypeSelCAN_C. For the not selected types of gearboxes it is determined by v/n.
Table 44: Bit selection Gearbx_stTypeSelCAN_C for gear via CAN
Bit Bit value Type of gearbox
position
0 0=v/n Manual gearbox
1=CAN
1 0=v/n Automatic transmission/stepped
1=CAN automatic transmission
2 0=v/n Automatic shift transmission
1=CAN
3 0=v/n CVT gearbox
1=CAN
4-7 not used not used

Gear detection via v/n ratio When a gear is engaged and the clutch is not actuated a fixed coupling is achieved between engine speed
Eng_nAvrg and vehicle speed VSSCD_v which is mirrored in the discrete values of the v/n ratio VehDa_rVn.
The gear can be inferred by determining applicatable thresholds between the discrete values of the gears.
Figure 132 : Overview of gear detection by v/n ratio
g e a r b a n d
g e a rb x _ g e a rd e t_ 1 .d s f

G e a rb x _ n u m G e a rD e s

G e a rb x _ s tG e a r
V e h D a _ rV n

G e a r-
d e te c tio n

G e a rb x _ s w tT y p e
G e a rb x _ n u m G e a rF a s t

Gearbx_numGearDesGearbx_numGearFastGearbx_stGearGearbx_swtTypeVhDa_rVn
g e a r w in d o w
Table 45: Assignment of the v/n threshold bands
Window for the v/n-ratio VehDa_rVn Gearbx_numGearFast Default
assignment
VehDa_rVn < Gearbx_rVn0ToR_C Gearbx_numWinG0_C 0 (N gear)

gearbx_geardet.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Gearbx_Geardet - 123 -
DS/ESM Gear detection Veh-DrvTrn-Gearbx

Window for the v/n-ratio VehDa_rVn Gearbx_numGearFast Default


assignment
Gearbx_rVn0ToR_C <= VehDa_rVn < Gearbx_rVnRTo1_C Gearbx_numWinGR_C -1 (reverse gear)
Gearbx_rVnRTo1_C <= VehDa_rVn < Gearbx_rVn1To2_C Gearbx_numWinG1_C 1 (1. gear)
Gearbx_rVn1To2_C <= VehDa_rVn < Gearbx_rVn2To3_C Gearbx_numWinG2_C 2 (2. gear)
Gearbx_rVn2To3_C <= VehDa_rVn < Gearbx_rVn3To4_C Gearbx_numWinG3_C 3 (3. gear)
Gearbx_rVn3To4_C <= VehDa_rVn < Gearbx_rVn4To5_C Gearbx_numWinG4_C 4 (4. gear)
Gearbx_rVn4To5_C <= VehDa_rVn < Gearbx_rVn5To6_C Gearbx_numWinG5_C 5 (5. gear)
Gearbx_rVn5To6_C <= VehDa_rVn < Gearbx_rVn6To7_C Gearbx_numWinG6_C 6 (6. gear)
Gearbx_rVn6To7_C <= VehDa_rVn Gearbx_numWinG7_C 0

VehDa_rVn is compared successively with the thresholds starting with the highest valued threshold
Gearbx_rVn6To7_C. If VehDa_rVn is larger than a threshold the matching gear is returned. The assignment
of the "fast" gear Gearbx_numGearFast is not fixed but is done using the matching gear-labels
Gearbx_numWinG0_C to Gearbx_numWinG7_C. This is necessary because for all vehicles reverse and off-road
gear are not in the same order among the other gears.
If a manual transmission is not engaged and the clutch is not actuated (eg. neutral), there is no fixed value
for VehDa_rVn. According to table 45, Gearbx_numGearFast is assigned an undefined gear.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

In addition to the window threshold there are tolerance band thresholds which can be applicated closely to
the discrete v/n-values of each gear.
Table 46: Assignment of the v/n tolerance bands
Gear bands for the v/n-ratio VehDa_rVn Gearbx_stGear Default
assignment
Gearbx_rVnRL_C <= VehDa_rVn < Gearbx_rVnRH_C Gearbx_numWinGR_C -1 (reverse gear)
Gearbx_rVn1L_C <= VehDa_rVn < Gearbx_rVn1H_C Gearbx_numWinG1_C 1 (1. gear)
Gearbx_rVn2L_C <= VehDa_rVn < Gearbx_rVn2H_C Gearbx_numWinG2_C 2 (2. gear)
Gearbx_rVn3L_C <= VehDa_rVn < Gearbx_rVn3H_C Gearbx_numWinG3_C 3 (3. gear)
Gearbx_rVn4L_C <= VehDa_rVn < Gearbx_rVn4H_C Gearbx_numWinG4_C 4 (4. gear)
Gearbx_rVn5L_C <= VehDa_rVn < Gearbx_rVn5H_C Gearbx_numWinG5_C 5 (5. gear)
Gearbx_rVn6L_C <= VehDa_rVn < Gearbx_rVn6H_C Gearbx_numWinG6_C 6 (6. gear)
Outside gear bands 0 0 (N gear)

If VehDa_rVn is within one of the narrow tolerance bands the matching gear labels Gearbx_numWinGR_C to
Gearbx_numWinG6_C are assigned to the gear message Gearbx_stGear. Outside of the tolerance bands 0
(neutral) is assigned.
Only that tolerance band is tested during each program run which is assigned to the threshold band
determined for Gearbx_numGearFast. Exceptions are the threshold bands for gear 2, 1 and reverse. In each
of these threshold bands the tolerance bands of gear 2, 1 and reverse are searched for. If one of the tolerance
bands was determined, the matching gear and the corresponding threshold band Gearbx_stGear and
Gearbx_numGearFast are assigned. Gear 2 has the highest priority, followed by gear 1 and reverse gear.
Figure 133 : Overview of thresholds and tolerance bands

Gear information via CAN When the present gear type Gearbx_swtType is set in Gearbx_stTypeSelCAN_C the gear information
FrmMng_stGear provided by CAN is accessed and output by Gearbx_stGear and Gearbx_numGearFast. In
addition, the CAN information FrmMng_numGearDes is transferred to Gearbx_numGearDes. Conversion occurs
similar to Gearbx_stGear according to the following table.

19.3.2002 gearbx_geardet.fm
- 124 - Gearbx_Geardet Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Gearbx Gear detection DS/ESM

Table 47: Assignment of CAN gear information


Gear FrmMng_stGear (hex)/ Gearbx_stGear or
FrmMng_numGearDes Gearbx_numGearFast /
Gearbx_numGearDes
6th gear xx06 6
5th gear xx05 5
4th gear xx04 4
3rd gear xx03 3
2nd gear xx02 2
1st gear xx01 1
N position or P position xx00 or xx80 0
1st reverse gear xx10 -1
2nd reverse gear xx20 -1

Gear ratio The gear ratio for each gear is stored as application data (Gearbx_rTransR_C for reverse gear,
Gearbx_rTrans1_C to Gearbx_rTrans6_C). The gear ratio associated with the engaged gear
Gearbx_stGear is written to Gearbx_rTrans. If neutral is detected, Gearbx_rTrans is set to its maximum
value (TRANS_R_MAX). This assignment is made for gear detection via CAN as well as via v/n ratio.
Table 48: Assignment of detected gear to gear ratio

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Gearbx_stGear Gearbx_rTrans
6 Gearbx_rTrans6_C
5 Gearbx_rTrans5_C
4 Gearbx_rTrans4_C
3 Gearbx_rTrans3_C
2 Gearbx_rTrans2_C
1 Gearbx_rTrans1_C
0 TRANS_R_MAX
-1 Gearbx_rTransR_C

Monitoring none

Substitute function
Gear detection via v/n ratio If gear detection by Fid_Gearbx_GearDet_mp is inhibited, the substitute value Gearbx_numGearDfl_C is
assigned for the gear message Gearbx_stGear and for the "fast" gear message Gearbx_numGearFast. The
gear ratio Gearbx_rTrans is set according to the gear message.
Gear detection via CAN For gear detection via CAN and occurring CAN-error, the substitute reaction is defined by
Gearbx_swtErrRea_C. If Gearbx_swtErrRea_C = 0, the substitute value Gearbx_numGearDfl_C is assigned
to the gear message Gearbx_stGear and to the "fast" gear message Gearbx_numGearFast. The gear ratio
Gearbx_rTrans is set according to the gear message.
If Gearbx_swtErrRea_C = 1, substitute value formation is done by v/n ratio.
The target gear Gearbx_numGearDes is set to the value of the gear message Gearbx_stGear in the event
of a CAN-error.

ECU initialization After initialization, the value 0 (idle, GEARBX_GEAR_IDL) is assigned to the gear messages Gearbx_stGear
and Gearbx_numGearFast as well as to the target gear Gearbx_numGearDes, and the maximum value
TRANS_R_MAX is assigned to the gear ratio Gearbx_rTrans.

Output values Gearbx_numGearDes: recognized desired gear [-] <SBYTE> --->


Gearbx_numGearFast: recognized fast gear [-] <SBYTE> --->
Gearbx_rTrans: gearbox transmission ratio [-] <SWORD> --->
Gearbx_stGear: gear information [-] <SBYTE> --->

Input values FrmMng_numGearDes: gear desire information from CAN [-] <UWORD> --->
FrmMng_stGear: Gear information as given by Transmission Controller [-] <UWORD> --->
Gearbx_swtType: gearbox type (0: manual; 1: automatic) [-] <UBYTE> --->
VehDa_rVn: ratio of vehicle speed to engine speed [(km/h)/rpm] <SWORD> --->

Measuring points Fid_Gearbx_GearDet_mp: Measurement point for Function Identifier Fid_Gearbx_GearDet [-]
<UBYTE> --->

gearbx_geardet.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Gearbx_Geardet - 125 -
DS/ESM Gear detection Veh-DrvTrn-Gearbx

Application parameters Gearbx_numGearDfl_C: default value for gear information<value> --->


Gearbx_numWinG0_C: gear below the smallest gear band<value> --->
Gearbx_numWinG1_C: gear from the 1. gear band<value> --->
Gearbx_numWinG2_C: gear from the 2. gear band<value> --->
Gearbx_numWinG3_C: gear from the 3. gear band<value> --->
Gearbx_numWinG4_C: gear from the 4. gear band<value> --->
Gearbx_numWinG5_C: gear from the 5. gear band<value> --->
Gearbx_numWinG6_C: gear from the 6. gear band<value> --->
Gearbx_numWinG7_C: gear above the 6. gear band<value> --->
Gearbx_numWinGR_C: gear from the reward gear band<value> --->
Gearbx_rTrans1_C: gearbox transition ratio 1st gear<value> --->
Gearbx_rTrans2_C: gearbox transition ratio 2nd gear<value> --->
Gearbx_rTrans3_C: gearbox transition ratio 3th gear<value> --->
Gearbx_rTrans4_C: gearbox transition ratio 4th gear<value> --->
Gearbx_rTrans5_C: gearbox transition ratio 5th gear<value> --->
Gearbx_rTrans6_C: gearbox transition ratio 6th gear<value> --->
Gearbx_rTransR_C: gearbox transition ratio reverse gear<value> --->
Gearbx_rVn0ToR_C: v/n-gear window threshold for fast-gear-detection for N gear to R
gear<value> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Gearbx_rVn1H_C: higher limit of v/n-tolerance range of 1st gear<value> --->


Gearbx_rVn1L_C: lower limit of v/n-tolerance range of 1st gear<value> --->
Gearbx_rVn1To2_C: v/n-gear window threshold for fast-gear-detection 1. gear to 2.
gear<value> --->
Gearbx_rVn2H_C: higher limit of v/n-tolerance range of 2nd gear<value> --->
Gearbx_rVn2L_C: lower limit of v/n-tolerance range of 2nd gear<value> --->
Gearbx_rVn2To3_C: v/n-gear window threshold for fast-gear-detection 2. gear to 3.
gear<value> --->
Gearbx_rVn3H_C: higher limit of v/n-tolerance range of 3th gear<value> --->
Gearbx_rVn3L_C: lower limit of v/n-tolerance range of 3th gear<value> --->
Gearbx_rVn3To4_C: v/n-gear window threshold for fast-gear-detection 3. gear to 4.
gear<value> --->
Gearbx_rVn4H_C: higher limit of v/n-tolerance range of 4th gear<value> --->
Gearbx_rVn4L_C: lower limit of v/n-tolerance range of 4th gear<value> --->
Gearbx_rVn4To5_C: v/n-gear window threshold for fast-gear-detection 4. gear to 5.
gear<value> --->
Gearbx_rVn5H_C: higher limit of v/n-tolerance range of 5th gear<value> --->
Gearbx_rVn5L_C: lower limit of v/n-tolerance range of 5th gear<value> --->
Gearbx_rVn5To6_C: v/n-gear window threshold for fast-gear-detection 5. gear to 6.
gear<value> --->
Gearbx_rVn6H_C: higher limit of v/n-tolerance range of 6th gear<value> --->
Gearbx_rVn6L_C: lower limit of v/n-tolerance range of 6th gear<value> --->
Gearbx_rVn6To7_C: v/n-gear window threshold for fast-gear-detection above the 6.
gear<value> --->
Gearbx_rVnRH_C: higher limit of v/n-tolerance range of reverse gear<value> --->
Gearbx_rVnRL_C: lower limit of v/n-tolerance range of reverse gear<value> --->
Gearbx_rVnRTo1_C: v/n-gear window threshold for fast-gear-detection R gear to 1.
gear<value> --->
Gearbx_stTypeSelCAN_C: combine transmission type and gear information received by
CAN<value> --->
Gearbx_swtErrRea_C: defaultreaction by CAN error<value> --->

19.3.2002 gearbx_geardet.fm
- 126 - Gearbx_TrqLim Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Gearbx Gearbox limitations DS/ESM

Gearbox limitations (Gearbx_TrqLim)


CARTORNIC-Structure:Ve-hDrvTrnG-earbx

Functional overview The calculation of the maximum permissible gearbox input torque is made via various limiting curves
depending on the gear engaged.
Maximum gearbox input torque = f(Average engine speed,
Gear information)
Figure 134 : Gearbox limitation - Overview

E n g _ n A v rg G e a rb x _ trq In M a x
L im itin g
c u rv e s

G e a rb x _ s tG e a r

A c c o r d in g to B o s c h s ta n d a r d
Eng_nAvrgGearbx_stGearGearbx_trqInMax

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Functional description
Maximum permissible gearbox input torque
Figure 135 : Calculation of the maximum permissible gearbox input torque
G e a rb x _ s tG e a r

G e a rb x _ trq In M a x _ C
P

E n g _ n A v rg

G e a rb x _ trq M a x G e a rR _ C U R

G e a rb x _ trq M a x G e a r1 _ C U R

G e a rb x _ trq M a x G e a r2 _ C U R G e a rb x _ trq M a x C u r_ m p G e a rb x _ trq In M a x

G e a rb x _ trq M a x G e a r3 _ C U R

G e a rb x _ trq M a x G e a r4 _ C U R

G e a rb x _ trq M a x G e a r5 _ C U R

G e a rb x _ trq M a x G e a r6 _ C U R
G e a r b x _ tr q L im _ 1 .d s f
Eng_nAvrgGearbx_trqInMax_CGearbx_stGearGearbx_trqMaxGearR_CUGRearbx_trqMaxGear1_CUR Gearbx_trqMaxGear2_CURGearbx_trqMaxGear3_CUR Gearbx_trqMaxGear4_CURGearbx_trqMaxGear5_CURGearbx_trqMaxGear6_CURGearbx_trqMaxCu_rmpGearbx_trqInMax

The maximum permissible gearbox input torque is taken from the curve assigned to the engaged gear
Gearbx_stGear and then assigned to the measured variable Gearbx_trqMaxCur_mp. If the vehicle is idling
or if no curve exists for the detected gear, then the limiting value Gearbx_trqInMax_C is assumed.
This value is made available to the system as the maximum permissible gearbox input torque
Gearbx_trqInMax.

Output values Gearbx_trqInMax: maximum input torque of gearbox [Nm] <SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


Gearbx_stGear: gear information [-] <SBYTE> --->

Measuring points Gearbx_trqMaxCur_mp: maximum input torque out of Curves [Nm] <SWORD> --->

Application parameters Gearbx_trqInMax_C: maximum input torque of gearbox<value> --->


Gearbx_trqMaxGear1_CUR: maximum input torque for first gear<curve_individual> --->
Gearbx_trqMaxGear2_CUR: maximum input torque for second gear<curve_individual> --->
Gearbx_trqMaxGear3_CUR: maximum input torque for third gear<curve_individual> --->
Gearbx_trqMaxGear4_CUR: maximum input torque for forth gear<curve_individual> --->
Gearbx_trqMaxGear5_CUR: maximum input torque for fifth gear<curve_individual> --->
Gearbx_trqMaxGear6_CUR: maximum input torque for sixth gear<curve_individual> --->
Gearbx_trqMaxGearR_CUR: input torque limit for reverse gear<curve_individual> --->

gearbx_trqlim.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Gearbx_TrqFrc - 127 -
DS/ESM Gearbox torque loss Veh-DrvTrn-Gearbx

Gearbox torque loss (Gearbx_TrqFrc)


CARTONIC-Sturcture:VehD-rvTrnG-earbx

Functional overview The function provides the current loss torque of the gearbox. This function is a dummy for project-specific
extensions.

Functional description The current torque loss of the gearbox Gearbx_trqFrc is provided as interface. The value is set to 0 Nm.

Substitute function If no valid gear is detected, the value 1 is used as the basic value for the efficiency.

ECU initialization During initialization Gearbx_trqFrc is set to 0 Nm.

Output values Gearbx_trqFrc: current frictional torque of gearbox [Nm] <SWORD> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 gearbx_trqfrc.fm
- 128 - Gearbx_TrqIntv Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Gearbx Gearbox intervention to torque DS/ESM

Gearbox intervention to torque (Gearbx_TrqIntv)


CARTORNIC-Structure:Ve-hDrvTrnG-earbx

Functional overview The gearbox control can request an increasing or decreasing torque demand via the CAN interface.
Depending on the status message, the function releases the torque demand of the gearbox control unit as
torque setpoint value.
Increasing torque intervention = f(Lower torque limitation,
Status of increasing gearbox intervention,
Demanded increasing clutch torque,
Debounced status of the excess torque integral)
Decreasing torque intervention = f(Upper torque limitation,
Status of the decreasing gearbox intervention,
Demanded decreasing clutch torque,
Average engine speed)
Figure 136 : Gearbox intervention to torque - Overview

C o V M _ tr q G e a r b x M in
In c r e a s in g G e a rb x _ trq In c
F rm M n g _ trq T S C In c to rq u e
in te r v e n tio n

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
F rm M n g _ s tT S C In c
T o rq u e d e m a n d
G e a r b x _ s tD e m U n p la u s c h e c k

F rm M n g _ s tT S C D e c
T o rq u e d e m a n d
c h e c k
F rm M n g _ trq T S C D e c
D e c r e a s in g G e a rb x _ trq D e c
C o V M _ trq G e a rb x M a x to rq u e
in te r v e n tio n

A c c o r d in g to B o s c h s ta n d a r d
CoVM_trqGearbxMaxCoVM_trqGearbxMin FrmMng_stTSCDecFrmMng_stTSCIncFrmMng_trqTSCDceFrmMng_trqTSCIncGearbx_stDemUnplausGearbx_trqDecGearbx_trqInc

Functional description The gearbox input torque is transmitted by the Frame Manager as decreasing FrmMng_trqTSCDec or
increasing FrmMng_trqTSCInc torque demand. The torque interventions are released by the Frame Manager
status messages FrmMng_stTSCDec and FrmMng_stTSCInc.
The demand torque is checked by the Frame Manager and declared invalid if necessary. When switching to
the substitute torque Gearbx_trqDecRaw_mp or Gearbx_trqIncRaw_mp the demand torque is decreased to
the neutral value TRQ_MIN or increased to TRQ_MAX using ramps. Gearbx_stIntv_mp displays the state
of the respective ramp.
Table 49: Ramp status Gearbx_stIntv_mp of the torque interventions
Initialization value Bit no. Description
0 0 Set if decreasing gearbox intervention is faulty or shut off.
0 1 Set if the ramp output value is smaller than the intervention value.
0 2 Set if the ramp is switched off for the decreasing intervention
0 3 Set if increasing gearbox intervention is faulty or shut off.
0 4 Set if the ramp output value is bigger than the intervention value.
0 5 Set if the ramp is switched off for the increasing intervention
0 7-6 not used

An end of the torque demand (FrmMng_stTSCDec.5 = 0 and FrmMng_stTSCInc.5 = 0) can occur without a
ramp if the bit FrmMng_stTSCDec.2 = 1 or FrmMng_stTSCInc.2 = 1 is set.
Decreasing torque intervention For a decreasing torque demand (FrmMng_stTSCDec.5 = 1) the torque FrmMng_trqTSCDec is transferred to
Gearbx_trqDec. For the following conditions of the Frame Manager the torque intervention is shut off
(Gearbx_stIntv_mp.0 = 1).
1. In addition to the decreasing torque demand (FrmMng_stTSCDec.5 = 1) also a not permitted
(FrmMng_stTSCDec.1 = 0) increasing torque demand (FrmMng_stTSCInc.5 = 1) is set.
2. The decreasing torque demand is shut-off (FrmMng_stTSCDec.5 = 0).
3. The CAN message has failed (FrmMng_stTSCDec.4 = 1).
4. The Frame Manager has reported the CAN message to be faulty (FrmMng_stTSCDec.7 = 1).

gearbx_trqintv.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Gearbx_TrqIntv - 129 -
DS/ESM Gearbox intervention to torque Veh-DrvTrn-Gearbx

Figure 137 : Decreasing torque intervention

C o V M _ trq G e a rb x M a x
G e a rb x _ trq D e c
M X

E n g _ n A v rg

G e a r b x _ tr q G b x L im p _ C U R

F rm M n g _ trq T S C D e c
G e a rb x _ trq D e c R a w _ m p
T R Q _ M A X R A M P

G e a r b x _ d tr q R m p S lp U p G b x _ C
G e a r b x _ d tr q R m p S lp D w n G b x _ C

G e a rb x _ s tIn tv _ m p .1

G e a rb x _ s tIn tv _ m p .0 G e a rb x _ s tIn tv _ m p .2
>= 1
F rm M n g _ s tT S C D e c .7
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

F rm M n g _ s tT S C D e c .5
!
F rm M n g _ s tT S C In c .5 >= 1
F rm M n g _ s tT S C D e c .1 &
!
F rm M n g _ s tT S C D e c .4

F rm M n g _ s tT S C D e c .2

F rm M n g _ s tT S C D e c .3
>= 1
F rm M n g _ s tT S C In c .3 g e a r b x _ tr q in tv _ 1 .d s f

FrmMng_trqTSCDecGearbx_dtrqRmpSl UpGbx_CGearbx_dtrqRmpSl DwnGbx_CGearbx_trqDecFrmMng_stTSCIncEng_nAvrgGearbx_trqGbxLimp_CURGearbx_stIntv_mpGearbx_trqDecRaw_mpCoVM_trqGearbxMax

The torque demand must not drop below the torque CoVM_trqGearbxMax of the demand coordination.
The following state machine can be set up for the course of the ramp. The ramp is shut-off in the states 1 and
3 (Gearbx_stIntv_mp.2 = 1) and is activated in the states 2 and 4 (Gearbx_stIntv_mp.2 = 0). The ramp is
used during switching on and off of the torque demand if FrmMng_stTSCDec.2 = 0.
Figure 138 : State machine for the ramp of the decreasing torque intervention
G e a rb x _ s tIn tv _ m p .0 = 0
A N D
G e a rb x _ s tIn tv _ m p .0 = 1 F rm M n g _ s tT S C D e c .2 = 0

G e a rb x _ s tIn tv _ m p .0 = 0
A N D
S ta te 1 : F rm M n g _ s tT S C D e c .2 = 0 S ta te 2 :
In it
O ff R a m p o n
0
=
0
p. =
0
m .2
v_ ec
G nt I t D
G e a rb x _ trq D e c R a w _ m p < F rm M n g _ trq T S C D e c

ea D
F r rb s_ NA CS
m x_ x tT
rb
G e a rb x _ trq D e c R a w _ m p = T R Q _ M A X

M
ng
st
In ea _s
_ s A N tv _ G ng
tT D m M
rF m
F rm M n g _ s tT S C D e c .2 = 1

F rm M n g _ s tT S C D e c .2 = 1

S C p.
D 0
ec =
.2 1
=
1
G
O R

O R

ea
F r rb
m x_
M st
ng In
1 _ s A N tv _
= tT D m
0 0 S C p.
p. = D 0
_m .2 ec =
0
tv ec .2
s tIn D D =
x_ A N S C 1
rb ts T
ea g_
G n
M
m
F r

S ta te 4 : S ta te 3 :
R a m p o ff G e a rb x _ s tIn tv _ m p .0 = 1 o n
A N D
F rm M n g _ s tT S C D e c .2 = 0

G e a rb x _ s tIn tv _ m p .0 = 1 G e a rb x _ s tIn tv _ m p .0 = 0
A N D g e a r b x _ tr q in tv _ 2 .d s f
F rm M n g _ s tT S C D e c .2 = 0
Gearbx_stIntv_mpFrmMng_stTSCDecFrmMng_trqTSCDecGearbx_stIntv_mpGearbx_trqDecRaw_mp

Table 50: Possible transitions of the decreasing torque intervention


Transition conditions Transition step width Description
FrmMng_stTSCDec.3 = 1 The curve The gearbox is presently in limp home
Gearbx_trqGbxLimp_CUR is mode.
used.
Gearbx_stIntv_mp.0 = 1 and Jump to TRQ_MAX Shut off torque intervention without ramp.
FrmMng_stTSCDec.2 = 1
Gearbx_stIntv_mp.0 = 0 and Jump to FrmMng_trqTSCDec Activate torque intervention without ramp.
FrmMng_stTSCDec.2 = 1
Gearbx_stIntv_mp.0 = 0 and Ramp with the step width Shut off torque intervention with ramp.
FrmMng_stTSCDec.2 = 1 Gearbx_dtrqRmpSlpUpGbx_C to
TRQ_MAX
Gearbx_stIntv_mp.0 = 0 and Ramp with the step width Activate torque intervention with ramp.
FrmMng_stTSCDec.2 = 0 Gearbx_dtrqRmpSlpDownGbx_
C to FrmMng_trqTSCDec

Table 51: Status FrmMng_stTSCDec of the decreasing torque intervention


Initialization value Bit no. Description
0 0 not used
0 1 Set if increasing and decreasing intervention are permitted together.

19.3.2002 gearbx_trqintv.fm
- 130 - Gearbx_TrqIntv Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Gearbx Gearbox intervention to torque DS/ESM

Initialization value Bit no. Description


0 2 Set if intervention without ramp is terminated or activated.
0 3 Set if gearbox is in limp home mode.
0 4 Set if the decreasing message has failed.
0 5 Set if a decreasing intervention is to be carried out.
0 6 not used
0 7 Set if the decreasing message is implausible.
0 8-15 not used

It is a special case when the Frame Manager reports "EGS in limp home mode" (FrmMng_stTSCDec.3 = 1).
Then the decreasing torque intervention is operated via a curve Gearbx_trqGbxLimp_CUR depending on the
engine speed Eng_nAvrg.
Increasing torque intervention For an increasing torque demand (FrmMng_stTSCInc.5 = 1) the torque FrmMng_trqTSCInc is transferred to
Gearbx_trqInc. For the following conditions of the Frame Manager the torque intervention is shut off
(Gearbx_stIntv_mp.3 = 1).
1. In addition to the increasing intervention (FrmMng_stTSCInc.5 = 1) also a not permitted
(FrmMng_stTSCInc.1 = 0) decreasing torque demand (FrmMng_stTSCDec.5 = 1) is set.
2. The increasing torque demand is shut-off (FrmMng_stTSCInc.5 = 0).
3. The CAN message has failed (FrmMng_stTSCInc.4 = 1).
4. The Frame Manager has reported the CAN message to be faulty (FrmMng_stTSCInc.7 = 1).

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
5. The increasing intervention is physically implausible (Gearbx_stDemUnplaus. 0 = 1).
Figure 139 : Increasing torque intervention
C o V M _ tr q G e a r b x M in
G e a rb x _ trq In c
T R Q _ M IN M N

F rm M n g _ trq T S C In c
G e a rb x _ trq In c R a w _ m p
R A M P

G e a r b x _ d tr q R m p S lp U p G b x _ C
G e a r b x _ d tr q R m p S lp D w n G b x _ C

G e a rb x _ s tIn tv _ m p .4

G e a rb x _ s tIn tv _ m p .3 G e a rb x _ s tIn tv _ m p .5
>= 1
G e a r b x _ s tD e m U n p la u s .0

F rm M n g _ s tT S C In c .7

F rm M n g _ s tT S C In c .5
! >= 1
F rm M n g _ s tT S C D e c .5

F rm M n g _ s tT S C In c .1 &
!
F rm M n g _ s tT S C In c .4
F rm M n g _ s tT S C In c .2

F rm M n g _ s tT S C In c .3
>= 1
F rm M n g _ s tT S C D e c .3 g e a r b x _ tr q in tv _ 3 .d s f

FrmMng_trqTSCI ncGearbx_dtrqRmpSlpUpGbx_CGearbx_dtrqRmpSlpDwnGbx_CGearbx_trqIncFrmMng_stTSCDceGearbx_stInv_mpGearbx_trqIncRaw_mp CoVM_trqGearbxMinGearbx_stDemUnplaus

The torque demand must not exceed the torque CoVM_trqGearbxMin of the demand coordination.
Figure 140 : State machine for the ramp of the increasing torque intervention
G e a rb x _ s tIn tv _ m p .3 = 0
A N D
G e a rb x _ s tIn tv _ m p .3 = 1 F rm M n g _ s tT S C In c .2 = 0

G e a rb x _ s tIn tv _ m p .3 = 0
A N D
S ta te 1 : F rm M n g _ s tT S C In c .2 = 0 S ta te 2 :
In it
O ff R a m p o n
0
=
3
p.

0
=
m

2
_ s A N tv _

c.

G e a rb x _ trq In c R a w _ m p < F rm M n g _ trq T S C In c


G

In
In
ea

tT D
st

S C
rb

x_
F r

x_
G e a rb x _ trq In c R a w _ m p = T R Q _ M IN

rb
st A N D S C
M

ea
In

ng
ng

G
tv
_s

M
F rm M n g _ s tT S C In c .2 = 1

F rm M n g _ s tT S C In c .2 = 1
_m

m
tT

F r
p.
3
In

=
c.

1
2
=
1
O R

O R
G
ea
rb
F r

x_
m

st A N D S C
M

In
ng

tv
1

_s

_m
=

tT
3

p.
p.

3
=

In
m

=
2
_ s A N tv _

c.

c.

0
2
In
In
tT D

=
st

S C

1
x_
rb
ea

ng
G

M
m
F r

S ta te 4 : S ta te 3 :
R a m p o ff G e a rb x _ s tIn tv _ m p .3 = 1 o n
A N D
F rm M n g _ s tT S C In c .2 = 0

G e a rb x _ s tIn tv _ m p .3 = 1 G e a rb x _ s tIn tv _ m p .3 = 0
A N D
F rm M n g _ s tT S C In c .2 = 0 g e a r b x _ tr q in tv _ 4 .d s f
Gearbx_trqIncRaw_mpFrmMng_stTSCIncGearbx_stInv_mp

The following state machine can be set up for the course of the ramp. The ramp is shut-off in the states 1 and
3 (Gearbx_stIntv_mp.5 = 1) and is activated in the states 2 and 4 (Gearbx_stIntv_mp.5 = 0). The ramp is
used during switching on and off of the torque demand if FrmMng_stTSCInc.2 = 0.

gearbx_trqintv.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Gearbx_TrqIntv - 131 -
DS/ESM Gearbox intervention to torque Veh-DrvTrn-Gearbx

Table 52: Possible transitions of the increasing torque intervention


Transition conditions Transition step width Description
FrmMng_stTSCInc.3 = 1 Jump to TRQ_MIN The gearbox is presently in limp home
mode.
Gearbx_stIntv_mp.3 = 1 and Jump to TRQ_MIN Shut off torque intervention without ramp.
FrmMng_stTSCInc.2 = 1
Gearbx_stIntv_mp.3 = 0 and Jump to FrmMng_trqTSCInc Activate torque intervention without ramp.
FrmMng_stTSCInc.2 = 1
Gearbx_stIntv_mp.3 = 0 and Ramp with the step width Shut off torque intervention with ramp.
FrmMng_stTSCInc.2 = 1 Gearbx_dtrqRmpSlpDwnGbx_C to
TRQ_MIN
Gearbx_stIntv_mp.3 = 0 and Ramp with the step width Activate torque intervention with ramp.
FrmMng_stTSCInc.2 = 0 Gearbx_dtrqRmpSlpUpGbx_C to
FrmMng_trqTSCInc

Table 53: Status FrmMng_stTSCInc of the increasing torque intervention


Initialization value Bit no. Description
0 0 not used
0 1 Set if increasing and decreasing intervention are permitted together.
0 2 Set if intervention without ramp is terminated or activated.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

0 3 Set if gearbox is in limp home mode.


0 4 Set if the increasing message has failed.
0 5 Set if an increasing intervention is to be carried out.
0 6 not used
0 7 Set if the increasing message is implausible.
0 8-15 not used

Output values Gearbx_trqDec: gearbox decrement torque demand [Nm] <SWORD> --->
Gearbx_trqInc: gearbox increase torque demand [Nm] <SWORD> --->

Input values CoVM_trqGearbxMax: limitation of decrement gearbox demand [Nm] <SWORD> --->
CoVM_trqGearbxMin: limitation of increment gearbox demand [Nm] <SWORD> --->
FrmMng_stTSCDec: State of reduced torque demand from transmission shift control (TSC) [-
] <UWORD> --->
FrmMng_stTSCInc: State of increased torque demand from transmission shift control (TSC)
[-] <UWORD> --->
FrmMng_trqTSCDec: Reduced clutch torque demand from transmission shift control (TSC) [Nm]
<SWORD> --->
FrmMng_trqTSCInc: Increased clutch torque demand from transmission shift control (TSC)
[Nm] <SWORD> --->
Gearbx_stDemUnplaus: Debounced state of monitoring torque integrator [-] <UBYTE> --->

Measuring points Gearbx_stIntv_mp: State of the gearbox torque demand defect- and intactramp [-] <UBYTE>
--->
Gearbx_trqDecRaw_mp: Replacement value of the gearbox decrement torque demand [Nm] <SWORD>
--->
Gearbx_trqIncRaw_mp: Replacement value of the gearbox increment torque demand [Nm] <SWORD>
--->

Application parameters Gearbx_dtrqRmpSlpDwnGbx_C: Ramp by lowing setpoint of substitute torque demand of


gearbox<value> --->
Gearbx_dtrqRmpSlpUpGbx_C: Ramp by raising setpoint of substitute torque demand of
gearbox<value> --->
Gearbx_trqGbxLimp_CUR: Gearbox torque demand for the limp-home operating
mode<curve_individual> --->

19.3.2002 gearbx_trqintv.fm
- 132 - Gearbx_intvPlausChk Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Gearbx Gearbox intervention monitoring DS/ESM

Gearbox intervention monitoring (Gearbx_intvPlausChk)


CARTORNIC-Structure:Ve-hDrvTrnG-earbx

Functional overview The function gearbox intervention monitoring checks the increasing gearbox intervention for physical
plausibility. Implausibility is detected as soon as the clutch torque integrated over time exceeds an
applicatable threshold.
Status gearbox intervention = f(Clutch torque,
Status of the gearbox intervention demand,
Gearbox input torque,
Minimum gearbox input torque)
Figure 141 : Gearbox intervention monitoring - Overview

F rm M n g _ trq T S C In c

F rm M n g _ s tT S C In c
G e a rb o x G e a r b x _ s tD e m U n p la u s
C o D T _ trq G e a rb x D e s in te r v e n tio n
m o n ito r in g

C o D T _ tr q G b x M in

A c c o r d in g to B o s c h s ta n d a r d

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
CoD_TtrqGbxMinCoDT_trqGearbxDesFrmMng_stTSCnI cFrmMng_trqTSCInc Gearbx_stDemUnplaus

Functional description Monitoring of the increasing gearbox intervention is carried out by an excess torque integral. The excess
torque integral is calculated through integration of the clutch torque (Gearbx_trqInt_mp =
FrmMng_trqTSCInc). The calculation is done if a intervention request is present (FrmMng_stTSCInc.Bit5)
and the torque intervention demanded by the TSC (transmission shift control) is higher than the clutch
setpoint torque (FrmMng_trqTSCInc > CoDT_trqGearbxDes). If the clutch setpoint torque exceeds the TSC
intervention torque, the integration value is frozen. If no intervention request is present, the integral is
integrated down to zero using the minimum gearbox input torque, i.e. the drag torque (CoDT_trqGbxMin =
Gearbx_trqInt_mp).
Equation 3: Excess torque integral to determine Gearbx_amAct_mp

Gearbx_amAct_mp =
∫ Gearbx_trqInt_mp dt
The increasing gearbox intervention is recognized to be implausible if Gearbx_amAct_mp exceeds the
threshold Gearbx_amMax_C (Gearbx_stDemUnplaus.Bit0=1). When exceeding the threshold value, the
corresponding error path Dfp_GearbxIncMax_mp is reported as defective. The integration is continued as
long as an intervention demand (FrmMng_stTSCInc.Bit5 = 1) is present.
The lower limit of the integral is zero and the upper limit is the highest numerical value which can be
represented. The integration coefficient is set to1Nms/Nms.
The error Dfp_GearbxIncMax_mp is healed only after the integration value Gearbx_amAct_mp equals zero
and the neutral value has been received at least once FrmMng_stTSCInc.Bit2 = 1. A gearbox intervention
inhibited due to Dfp_GearbxIncMax_mp is released again through Gearbx_stDemUnplaus.Bit0 = 0.
The error debouncing time of Dfp_GearbxIncMax_mp is selected via the application data
Gearbx_tiDebMaxOk_C and Gearbx_tiDebMaxDef_C.
If masking of the monitoring is set (FrmMng_stTSCInc.Bit6 = 1) no error entry into the error memory is made.
An intervention shut-off occurs then via Gearbx_stDemUnplaus.Bit0 with the same error debouncing times.
The measuring point Gearbx_stGbxIncMax_mp displays the non-debounced physical implausibility. If no
masking is active (FrmMng_stTSCInc.Bit6 = 0), Gearbx_stDemUnplaus.Bit0 equals the error path
Dfp_GearbxIncMax_mp.
Monitoring of the excess torque signal is switched on with Gearbx_swtUnplausChk_C = 1 and switched off
with 0.
Figure 142 : Excess torque integral of the increasing gearbox intervention

C o D T _ trq G e a rb x D e s

&
F rm M n g _ trq T S C In c

G e a r b x _ tiD e b M a x O k _ C P a ra m e te r S e t

G e a r b x _ tiD e b M a x D e f_ C
F r m M n g _ tr q T S C In c .B it5 &
G e a rb x _ trq In t_ m p
G e a rb x _ a m A c t_ m p G e a rb x _ s tG b x In c M a x _ m p
G e a r b x _ s w tU n p la u s C h k _ C K i = 1

0 N m s 3 2 7 6 7 N m s
p a ra m
p a ra m
C o D T _ tr q G b x M in
x y
x y
G e a r b x _ s tD e m U n p la u s .B it0
F rm M n g _ trq T S C In c T 0
0 T 0

G e a rb x _ a m M a x _ C &

F r m M n g _ s tT S C .B it6
! D fp _ G e a rb x In c M a x _ m p

CoD_TtrqGbxMinCoDT_trqGearbxDesDfp_GearbxIncMax_mpFrmMng_stTSCFrmMng_trqTSCIncGearbx_amAct_mpGearbx_amMax_CGearbx_stDemUnplausGearbx_stGbxIncMax_mpGearbx_swtUnplausCh_kCGearbx_tiDebMaxDef_CGearbx_tiDebMaxOk_C Gearbx_trqInt_mp

gearbx_intvplauschk.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Gearbx_intvPlausChk - 133 -
DS/ESM Gearbox intervention monitoring Veh-DrvTrn-Gearbx

Table 54: Assignment of Gearbx_swtUnplausChk_C


Value Description
(dec.)
0 Monitoring with excess torque integral inactive
1 Monitoring with excess torque integral active

Table 55: Assignment of FrmMng_stTSCInc


Bit no. Description
0 not used
1 not used
2 Set if intervention without ramp is terminated or activated (neutral value).
3 not used
4 not used
5 Set if an increasing intervention is to be carried out.
6 Set if monitoring is masked out.
7-15 not used

Table 56: Assignment of Gearbx_stDemUnplaus


Bit no. Initialization value Description
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

0 0 Set if the increasing gearbox intervention is physically implausible.


1-7 0 not used

Table 57: Assignment of Gearbx_stGbxIncMax_mp


Bit no. Initialization value Description
0 0 Set if the integration value is above the threshold value (physically implausible).
Reset if the integration value = 0 and neutral value is received once.
1-7 0 not used

Figure 143 : Monitoring increasing gearbox intervention

F r m M n g _ s tT S C In c .B it5
1
0
t

N m G e a rb x _ trq In t_ m p

0
t

N m s G e a rb x _ a m A c t_ m p
G e a rb x _ a m M a x _ C

0
t
F r m M n g _ s tT S C In c .B it2
1
0
t
G e a rb x _ s tG b x In c M a x _ m p
1
0
t
D fp _ G e a rb x In c M a x _ m p
G e a r b x _ tiD e b M a x O k _ C
1
0
G e a r b x _ tiD e b M a x D e f_ C t
G e a r b x _ s tD e m U n p la u s .B it0
1
0
t
Gearbx_trqInt_mpGearbx_amAct_mpGearbx_amMax_CFmrMng_stTSCI ncGearbx_stGbxIncMax_mpDf_GearbxIncMax_mpGearbx_tiDebaMxDef_CGearbx_tiDebMaxOk_CGearbx_stDemUnplaus

ECU initialization Gearbx_trqInt_mp and Gearbx_amAct_mp are initialized with 0.

Output values Gearbx_stDemUnplaus: Debounced state of monitoring torque integrator [-] <UBYTE> --->

Input values CoDT_trqGbxMin: minimum torque at gearbox input [Nm] <SWORD> --->
CoDT_trqGearbxDes: desired gearbox input torque (from driver) [Nm] <SWORD> --->
FrmMng_stTSCInc: State of increased torque demand from transmission shift control (TSC)
[-] <UWORD> --->
FrmMng_trqTSCInc: Increased clutch torque demand from transmission shift control (TSC)
[Nm] <SWORD> --->

Measuring points Dfp_GearbxIncMax_mp: Fault path physical unplausibility of increasing torque intervention
[-] <UWORD> --->
Gearbx_amAct_mp: Current integration value from monitoring integrator [Nm*s] <SWORD> --->
Gearbx_stGbxIncMax_mp: State of monitoring torque integrator [-] <UBYTE> --->
Gearbx_trqInt_mp: Current torque for monitoring integrator [Nm] <SWORD> --->

19.3.2002 gearbx_intvplauschk.fm
- 134 - Gearbx_intvPlausChk Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Gearbx Gearbox intervention monitoring DS/ESM

Application parameters Gearbx_amMax_C: Maximum angular momentum<value> --->


Gearbx_swtUnplausChk_C: Switch for Monitoring-Integrator (on/off).<value> --->
Gearbx_tiDebMaxDef_C: Error debounce time for physical unplausibility<value> --->
Gearbx_tiDebMaxOk_C: Healing debounce time for physical unplausibility<value> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

gearbx_intvplauschk.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Gearbx_Data - 135 -
DS/ESM Gearbox information Veh-DrvTrn-Gearbx

Gearbox information (Gearbx_Data)


CARTONIC-Sturcture:VehD-rvTrnG-earbx

Functional overview This function makes the gearbox information (eg. gearbox type) available for other functions. The information
is either read out of the EEPROM or assigned a fixed value.
Geabox information =f(Data set value,
Selector switch from EEPROM)
Figure 144 : Gearbox information - overview

G e a rb x _ s w tT y p e
D a ta s e t

A c c o r d in g to B o s c h s ta n d a r d
Gearbx_swtType

Functional description
Type of gearbox Gearbx_swtType informs the system about the installed gearbox type. Gearbx_swtType can take on the
following values:
Table 58: Gearbx_swtType, possible assignments
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Symbolic name Value Description


(decim
al)
GEARBX_TYPE_MT 0 Manual transmission
GEARBX_TYPE_AT 1 Automatic transmission/stepped automatic transmission
GEARBX_TYPE_AST 2 Automatic shift transmission
GEARBX_TYPE_CVT 3 CVT gearbox

ECU initialization Depending on Gearbx_swtTypeType_C, the type of gearbox information Gearbx_swtType is read from the
E2PROM or assigned with Gearbx_swtTypeVal_C during initialization.

Output values Gearbx_swtType: gearbox type (0: manual; 1: automatic) [-] <UBYTE> --->

Application parameters Gearbx_swtTypeType_C: kind of storage of gearbox type<value> --->


Gearbx_swtTypeVal_C: gearbox type (0: manual; 1: automatic)<value> --->

19.3.2002 gearbx_data.fm
- 136 - Gearbx_StrtMotRls Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Gearbx Starter release DS/ESM

Starter release (Gearbx_StrtMotRls)


CARTORNIC-Structure:Ve-hDrvTrnG-earbx

Functional overview This function evaluates the gearbox signal and sets the status for release of the starter. The function is only
relevant for vehicles with automatic gearboxes.
Starter release state of the gearbox = f(Status gearbox in PN position)
Figure 145 : Starter release - overview

G e a rC D _ s tP N G e a r b x _ s tS tr tM o tR ls
S ta rte r
r e le a s e

A c c o r d in g to B o s c h s ta n d a r d
Gearbx_stSrMotRlsGearCDs_tPN

Functional description

ECU initialization Gearbx_stStrtMotRls is initialized with "0".

Output values Gearbx_stStrtMotRls: release state of starter motor by gearbox [-] <UBYTE> --->

Input values GearCD_stPN: state gear in P/N-position [-] <UBYTE> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

gearbx_strtmotrls.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 GearCD_PN - 137 -
DS/ESM Determination of the P/N position Veh-DrvTrn-Gearbx-GearCD

Determination of the P/N position (GearCD_PN)


CARTONIC-Sturcture:VehD-rvTrnG-earbxG-earCD

Functional overview This function determines whether the automatic transmission is in either the gear position P (Park) or N
(Neutral) or not. The information can be acquired using a HW signal or a CAN message.
Status gearbox in P/N position = f(Switch for clutch signal source,
Actual gear information from CAN,
Switch position P/N signal from CAN or HW,
Raw value PN_Signal)
Figure 146 : Determination of the P/N position - overview

C o n v C D _ s w tS ig

S w itc h
G e a r C D _ s w tP N S ig c o n d itio n

F rm M n g _ s tG e a r
A c q u is itio n
C A N -s ig n a l
G e a rC D _ s tP N

G e a rC D _ s tP N R a w V a l A c q u is itio n
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

H W -s ig n a l

A c c o r d in g to B o s c h s ta n d a r d
CovnCD_swtSigFrmMng_stGearG rCDs_tPN GearCD_stPNRawValGearCDs_wtPNSig

Functional description Using the conditions "clutch signal via park and neutral position" (ConvCD_swtSig= CONVCD_SWT_PN (2))
and "P/N signal via HW signal" (GearCD_swtPNSig = GearCD_swtPNSigVal_C (0)), switchover to transfer of
the gear-shift position by hardware signal takes place.
Table 59: GearCD_swtPNSigVal_C
Valu Description
e
0 HW-pin
1 CAN

In case of CAN configuration, the message FrmMng_stGear is evaluated. In this message, the neutral
position is displayed by 0x0000 and the park position by 0x0080. The message is invalid if the values 0xFFFF
or 0x00FF were received, in which case the applicatable default value GearCD_stPNDflVal_C is output.
For hardware signal evaluation, the raw value of the P/N pin (GearCD_stPNRawVal) is first read in and
debounced. The debounced value can be read from bit 3 of the measurement point GearCD_stPNCon_mp and
is transmitted through the output GearCD_stPN.
The debouncing times for rising (GearCD_tiDebPos_C) and falling edge (GearCD_tiDebNeg_C) and for the
inversion of the input signal (GearCD_stPNInv_C ) can be applicated.
Selection of hardware pins
The digital inputs can be selected using the application parameter GearCD_numDioIn_C. This should only be
carried out after consultation of a developer.
Figure 147 : Query of the transmission P/N position

C o n v C D _ s w tS ig
2

g e a rc d _ p n .d s f
G e a rC D _ s tP N C o n _ m p .0
C O N V C D _ S W T _ P N (0 x 0 2 )
&

G e a r C D _ s w tP N S ig
0 G e a rC D _ s tP N C o n _ m p .1
S W T _ S IG _ H W (0 x 0 0 )

F R M M N G _ S T G E A R _ D E F
(0 x F F F F o d e r 0 x 0 0 F F )

F rm M n g _ s tG e a r

F R M M N G _ S T G E A R _ N (0 x 0 0 0 0 )
>= 1

G e a rC D _ s tP N C o n _ m p .2

F R M M N G _ S T G E A R _ P (0 x 0 0 8 0 )
G e a rC D _ s tP N
P

G e a r C D _ s tP N D flV a l_ C
G e a rC D _ s tP N C o n _ m p .3
P

G e a r C D _ tiD e b P o s _ C
P

G e a r C D _ tiD e b N e g _ C

p a ra m

x y
G e a rC D _ s tP N R a w V a l
T 0 ix

d T

19.3.2002 gearcd_pn.fm
- 138 - GearCD_PN Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Gearbx-GearCD Determination of the P/N position DS/ESM

Explanation of the status bytes


Table 60: Gearbx_stPNCon_mp (Status register P/N detection)
Initialization value Bit no. Description
0 0 Signal source clutch 0 = ConvCD_Co | 1 = GearCD_Co
0 1 Signal source P/N position 1 = HW pin | 0 = CAN
0 2 P/N position via CAN
0 3 P/N position via hardware pin

ECU initialization The function output GearCD_stPN is initialized using GearCD_stPNDflVal_C and the switch for selection of
the signal source is initialized GearCD_swtPNSig using GearCD_swtPNSigVal_C.

Output values GearCD_stPN: state gear in P/N-position [-] <UBYTE> --->


GearCD_swtPNSig: state switchposn P/N signal from CAN or HW [-] <UBYTE> --->

Input values ConvCD_swtSig: Switch value for clutch signal source (CAN/DIO). [-] <UBYTE> --->
FrmMng_stGear: Gear information as given by Transmission Controller [-] <UWORD> --->
GearCD_stPNRawVal: rawvalue of P/N-signal [-] <UBYTE> --->

Measuring points GearCD_stPNCon_mp: state conditions of P/N recognition [-] <UBYTE> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Application parameters GearCD_numDioIn_C: application parameter for PN gearstate detection<value> --->
GearCD_stPNDflVal_C: defaultvalue P/N-posn<value> --->
GearCD_stPNInv_C: invertervalue inputsignal PNRawVal<value> --->
GearCD_swtPNSigVal_C: Switch for PN-signal source (0 = HW-signal, 1 = CAN)<value> --->
GearCD_tiDebNeg_C: debounce time falling edge<value> --->
GearCD_tiDebPos_C: debounce time rising edge<value> --->

gearcd_pn.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 BdInt - 139 -
DS/ESM Body and interior Veh-BdInt

3.4 Body and interior (BdInt)


CARTONIC-Sturcture:VehB-dnI t

Overview of the component


Body and interior The BdInt component consolidates the requirements of all sub-objects and distributes the requests
accordingly. In the current function range the object AC requirements are converted to the correct interface.

Structure of the component The BdInt component consists of the following subcomponents:
Figure 148 : BdInt subcomponents

A C

D s p l
B d In t

M F D C D

M F L v C D
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

P rs P rt

Subfunctions See “Determination of BdInt component requests (BdInt_UpdateReq)” on page 140.

19.3.2002 bdint_overview.fm
- 140 - BdInt_UpdateReq Y281 S01 363-V80 P_363 F80 JTD30
Veh-BdInt Determination of BdInt component requests DS/ESM

Determination of BdInt component requests (BdInt_UpdateReq)


CARTORNIC-Structure:Ve-hBdInt

Functional overview Various function groups within the EDC system can make demands for engine speed, power and torque.
The function acquires the power requirement and the engine speed demands of the function group "Body
and Interior" (BdInt) and transmits them to the engine coordinator.
Figure 149 : Determination of the requirements of the BdInt component - Overview

A C _ p w rD e s B d In t_ p w rD e s

A C _ p w rL e a d B d In t_ p w rL e a d

A O H t_ n M in M a x im u m B d In t_ n M in

A C C tl_ n M in B d In t_ n M a x

A c c o r d in g to B o s c h s ta n d a r d
AC_pwrDesAC_pwrLeadAC lt_nMin AOHt_nMinBdInt_nMaxBdInt_nMinBdI t_pwrDes BdInt_pwrLead

Functional description The AC power request (AC_pwrDes and AC_pwrLead) is taken into account as well as the low-idle speed
requirement from the AC compressor (ACCtl_nMin) and from the add-on heater (AOHt_nMin). The maximum

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
engine speed is not restricted and is set to the maximum value of the system ENG_N_MAX.
Figure 150 : BdIntUpdateReq normal operation

AC_pwrDes BdInt_pwrDes

AC_pwrLead BdInt_pwrLead

AOHt_nMin
BdInt_nMin
ACCtl_nMin

ENG_N_MAX BdInt_nMax

AC_pwrDesAC_pwrLeadAC lt_nMin AOHt_nMinBdInt_nMaxBdInt_nMinBdI t_pwrDes BdInt_pwrLead

ECU initialization BdInt_nMax = ENG_N_MAX,all other values are set to '0’ or FALSE.

Output values BdInt_nMax: maximum engine speed required by Body[amp ]Interior [rpm] <SWORD> --->
BdInt_nMin: minimum engine speed required by Body[amp ]Interior [rpm] <SWORD> --->
BdInt_pwrDes: power demand of Body and Interior [W] <SWORD> --->
BdInt_pwrLead: lead power demand of Body and Interior [W] <SWORD> --->

Input values AC_pwrDes: power demand of AC [W] <SWORD> --->


AC_pwrLead: lead power demand of AC [W] <SWORD> --->
ACCtl_nMin: low idle speed demand for AC compressor [rpm] <SWORD> --->
AOHt_nMin: minimum setpoint idle speed by add on heater [rpm] <SWORD> --->

bdint_updatereq.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 AC - 141 -
DS/ESM Air conditioning Veh-BdInt-AC

3.4.1 Air conditioning (AC)


CARTONIC-Sturcture:VehB-dnI t-AC

Overview of the component


Air conditioning The AC component contains all tasks derived from the air conditioning unit requests. This includes the power
demand formulation, and, if necessary, the idle speed and AC compressor self-protection boost.

Structure of the component The AC component consists of the following subcomponents:


Figure 151 : AC subcomponents:

A C C tl

A C

A C C D

Subfunctions See “Air conditioning power demand (AC_PwrDem)” on page 142.


© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 ac_overview.fm
- 142 - AC_PwrDem Y281 S01 363-V80 P_363 F80 JTD30
Veh-BdInt-AC Air conditioning power demand DS/ESM

Air conditioning power demand (AC_PwrDem)


CARTORNIC-Structure:Ve-hBdInt-CA

Functional overview The function provides the current power requirement and the lead power of the A/C compressor.
The torque requirement and the torque lead of the A/C compressor are converted into power. After correction
with an adjustment value, this value is output as a power requirement and as a lead power. The adjustment
value is limited to a minimum and a maximum value.
Power requirement A/C compressor = f(Torque demand A/C compressor,
Average engine speed)
Lead power A/C compressor = f(Torque lead A/C compressor,
Average engine speed)
Figure 152 : Air conditioning power demand - Overview

A C T rq C _ trq D e s A C _ p w rD e s

E n g _ n A v rg C o n v e r s io n
to p o w e r
A C T rq C _ trq L e a d A C _ p w rL e a d

A d ju s tm e n t

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
v a lu e

A c c o r d in g to B o s c h s ta n d a r d
AC_pwrDesACTrqC_trqLeadAC_pwrLeadACTrqC_trqDes Eng_nAvrg

Functional description
Power calculation The function calculates the power requirement AC_pwrDes from the torque requirement ACTrqC_trqDes with
the current engine speed and the speed ratio A/C compressor to crankshaft AC_rTrans_C. The lead demand
is treated analogously. The calculated power is then multiplied by an adjustment value AC_rAdjVal_mp. The
adjustment value can be externally adapted using a workshop diagnostic tool. It is limited to an applicatable
range of values AC_rAdjValMin_C to AC_rAdjValMax_C.
According to the same algorithm the lead value is determined from the lead torque ACTrqC_trqLead.
Figure 153 : Air conditioning power demand

ACTrqC_trqDes trq2pwr
AC_pwrDes

Eng_nAvrg

AC_rTrans_C

ACTrqC_trqLead trq2pwr
AC_pwrLead

AC_rAdjValMax_C

AC_rAdjValMin_C

AC_rAdjVal_mp

EEPROM_AdjVal
ACTqrC_trqDesA_CpwrDesAC_rTrans_CEng_nAvrgAC_pwrLeadACTrqC_trqLeadE PROM_AdjVaAl C_rAdVj alMin_CACr_AdjValMax_CAC_rAdjVa_l mp

The following functional block implements conversion of torque to power in accordance with the formula
Equation 4: Formula: conversion torque to power

p w r [W ] = trq [N m ] . 2 p . n [rp m ] /6 0

Figure 154 : Function block: torque to power conversion

trq
get_pwr
n

cl_trq2pwr

Substitute function In case of an EEPROM reading error the default value AC_rAdjValDef_C is used for the adjustment value
AC_rAdjVal_mp.

ECU initialization Set all output values to ’0’

Output values AC_pwrDes: power demand of AC [W] <SWORD> --->


AC_pwrLead: lead power demand of AC [W] <SWORD> --->

Input values ACTrqC_trqDes: desired torque of AC [Nm] <SWORD> --->


ACTrqC_trqLead: lead torque of AC [Nm] <SWORD> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->

ac_pwrdem.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 AC_PwrDem - 143 -
DS/ESM Air conditioning power demand Veh-BdInt-AC

Measuring points AC_rAdjVal_mp: Adjustment value [-] <SWORD> --->

Application parameters AC_rAdjValDef_C: default value power adjustment A/C<value> --->


AC_rAdjValMax_C: maximum value power adjustment A/C<value> --->
AC_rAdjValMin_C: minimum value power adjustment A/C<value> --->
AC_rTrans_C: transmission ratio of AC Compressor<value> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 ac_pwrdem.fm
- 144 - ACCtl_logic Y281 S01 363-V80 P_363 F80 JTD30
Veh-BdInt-AC-ACCtl AC compressor control DS/ESM

3.4.1.1 AC compressor control (ACCtl)


AC compressor control (ACCtl_logic)
CARTORNIC-Structure:Ve-hBdInt-CA-AC tl

Functional overview The AC compressor is controlled based on the AC main switch and various vehicle, engine and error states.
Driving conditions which lead to a shut-off of the AC compressor are recognised by the driving condition logic
as a function of the engine speed, vehicle speed and accelerator pedal position. In the event of a high engine
torque requirement, the AC compressor control logic can be used to shut off the AC compressor thus
supplying a sufficiently high excess torque.
The compressor shuts off for its own protection at engine speeds which are too high.

Functional description The driver switches the air conditioning on with the AC main switch signal ACCD_stMnSwtDebVal. If the
vehicle is equipped with an analogue pressure sensor for detecting the AC compressor pressure
(ACCD_swtPresSel = 0), for a switch-on request ACCtl_stSwtOnReq = 1 the AC compressor pressure must
also be within a certain range, indicated by Fid_ACCtl_LckSwtOnReq_mp.0 = 1. The pertinent error path
Dfp_ACCDPres_mp is generated by the pressure recording. On the contrary, this check is not made on
vehicles equipped with a digital pressure sensor. In other words, a switch-on request is generated directly by
the AC main switch signal.
Figure 155 : Switch-on request ACCD_stSwtOnReq

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
A C C D _ s w tP re s S e l = 0

F id _ A C C tl_ L c k S w tO n R e q _ m p .0 = 0

&

a c c tl_ lo g ic _ 1 .d s f
A C C tl_ s tS w tO n R e q
A C C D _ s tM n S w tD e b V a l

AC Ds_tMnSwtDebValACD_swtPresSelAC tl_stSwtOnReq Fid_AC tl_LckSwtOnReq_mp

During normal vehicle operation and without the occurrence of errors relevant to the air conditioning, the
driver demand is responded to, i.e., the output ACCtl_stLogicOut is set and the AC compressor is switched
on.
The AC compressor is or remains switched off under the following conditions:
• Start-up procedure is not yet complete, StSys_stStrt is set (=1).
• Shut-off request from driving condition logic, see “Driving condition logic” on page 145
• Engine speed which is too high
• Coolant temperature which is too high (only for intact temperature sensor)
• Critical condition (only for intact temperature sensor), see “Fan control (FanCtl_Co)” on page 548.
The conditions which lead to a shut-off request from the driving condition logic are:
• Engine speed which is too low
• Driving states, such as acceleration, which are recognised in the logic box as a function of the engine
speed, vehicle speed and accelerator pedal position.
However, this shut-off request only goes into affect when the accelerator pedal and vehicle speed sensors
are intact.
The shut-off request by the driving condition logic is time limited by the ACCtl_tiMaxOff_C application
parameters. After this time is expired, the AC compressor is switched on again, despite a shut-off request
from the driving condition logic, in order not to affect the performance of the air conditioning inordinately, see
“Time control (maximum deactivation time)” on page 145.
Before the AC compressor can again be shut off by the driving condition logic, there must be certain
conditions; only then is a new shut-off of the compressor permitted. Debounce times ACCtl_tiOutOff_C,
ACCtl_tiMinOff_C and ACCtl_tiMinOn_C prevent the compressor from being continuously switched on and
off, see “Logic box state machine” on page 146.

To prepare the engine for a torque request when the AC compressor is active, the following damping
strategies are possible:
• An increased idle speed can be set using application parameter ACCtl_nMin_C when the AC compressor
is active.
• A dwell time until the AC compressor is finally switched on can be set using application parameter
ACCtl_tiSwtOnLock_C.
The AC compressor control states are represented in the status word ACCtl_stBitStruct_mp.
Table 61: Status word ACCtl_stBitStruct_mp
Initialisation Bit no. Description
Value
1 0 Logic box state ACTIVE
0 1 Logic box state DRIVE AWAY
0 2 Logic box state WAIT MIN. OFF-TIME
0 3 Logic box state WAIT MIN. ON-TIME
0 4 Logic box state ACCELERATION
0 5 Logic box output = 1
0 6 Engine speed under threshold value
0 7 Shut-off request before time control
0 8 Shut-off request after time control
0 9 Engine speed above threshold value
0 10 Coolant temperature above threshold value
0 11 Critical condition
0 12 Critical condition or coolant temperature above threshold value
0 13 Shut-off request from critical conditionor coolant temperature above threshold value

acctl_logic.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ACCtl_logic - 145 -
DS/ESM AC compressor control Veh-BdInt-AC-ACCtl

Figure 156 : AC compressor control

E n g _ n A v rg
D r iv in g C o n d itio n A C C tl_ s tB itS tr u c t_ m p .8
V S S C D _ v L o g ic
A P P C D _ r F lt

A P P C D _ r A P P 1 U n F lt

F id _ A C C tl_ L c k D r v C o n L o g _ m p .0 = 0

A C C tl_ n H iE n g E x c S p d _ C
P

A C C tl_ n L o E n g E x c S p d _ C
P A C C tl_ s tB itS tr u c t_ m p .9

E n g _ n A v rg

A C C tl_ tH iC ln tE x c T e m p _ C
P

A C C tl_ tL o C ln tE x c T e m p _ C
P A C C tl_ s tB itS tr u c t_ m p .1 0

C T S C D _ tC ln t A C C tl_ s tB itS tr u c t_ m p .1 2

A C C tl_ s tB itS tr u c t_ m p .1 3

F id _ A C C tl_ C r itC o n _ m p .0 = 0 >= 1


© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

&
A C C tl_ s tB itS tr u c t_ m p .1 1 >= 1 A C C tl_ s tA C E n a
F id _ A C C tl_ L c k T e m p S h O ff_ m p .0 = 1 !
S tS y s _ s tS trt

A C C tl_ s tL o g ic O u t
A C C tl_ s tS w tO n R e q & T

0 A C C tl_ tiS w tO n L o c k
A C C tl_ tiS w tO n L o c k _ C
P

a c c tl_ lo g ic _ 2 .d s f
0 A C C tl_ n M in
A C C tl_ n M in _ C
P

AC l_tnHiEngExcSpd_CA lt_nLoEngExScpd_C ACtl_nMinAC lt_nMin_CAC l_tstACEnaAC tl_stBi tSruct_mpAC tl_stLogicOutAC l_tstSwtOnReqAC tl_HiClntExcTemp_CAC lt_iSwtOnLockACtl_tiSwtOnLock_CAC l_tLoClntExcTemp_CAP DC_ArP 1UnlFtAPCD_rFltCTSDC_tClntEng_nArvgFid_ACtl_Critonm_pFdi A_C tl_LkcDrvConLgo_mpFid_CA tlL_ckTempShOf_mpSt ys_tS rtVS CD_v

Figure 157 : Driving condition logic

A C C tl_ r H iA c c P e d _ m p

A C C tl_ r L o A c c P e d _ m p

A C C tl_ r H iA c c P e d _ M A P
E n g _ n A v rg P

L o g ic B o x A C C tl_ s tB itS tr u c t_ m p .5
V S S C D _ v

A C C tl_ s tB itS tr u c t_ m p .7
A C C tl_ r L o A c c P e d _ M A P
P

A C C tl_ tiM a x O ff_ C A C C tl_ s tB itS tr u c t_ m p .8


>= 1
& T im e C o n tr o l
&
A P P C D _ r F lt

A P P C D _ r A P P 1 U n F lt

A C C tl_ n H iE n g U s h t_ C
P

A C C tl_ n L o E n g U s h t_ C
P
A C C tl_ s tB itS tr u c t_ m p .6

E n g _ n A v rg
a c c tl_ lo g ic _ 3 .d s f

F id _ A C C tl_ L c k D r v C o n L o g _ m p .0 = 1

AC l_tnHiEngUsht_CACtl_nLoEngUsht_CA tl_rHiAcPe_dMAPAC l_trHiAc Ped_mpAC l_trLoAc Ped_MAPACtl_rLoAc Ped_mpACtl_stBitSruct_mpACtl_iMaxOf_CAP CD_rAP U1nFltAPCD_rFltEng_nAvrgFid_ACtl_LckDrvConoLg_mp VSCD_v

Figure 158 : Time control (maximum deactivation time)

A C C tl_ s tB itS tr u c t_ m p .7 = 1 O u tp u t
T im e C o n tr o l

In p u t

C o m p re s s o r o ff
O u tp u t
a c c tl_ lo g ic _ 4 .d s f

C o m p re s s o r o n
0
m a x . D e a c tiv a tio n T im e
A C C tl_ tiM a x O ff_ C
AC l_tstBi Struct_mpAC tl_i MaxOf_C

Description of the logic box, see “Logic box state machine” on page 146:
ACTIVE [0] state After initialisation, the driving condition logic is in the ACTIVE state and the AC compressor can be switched
on. The driving condition logic changes from this state to the DRIVE AWAY state using a filtered accelerator
pedal position APPCD_rFlt great than the value ACCtl_rHiAccPed_mp of the map ACCtl_rHiAccPed_MAP.

19.3.2002 acctl_logic.fm
- 146 - ACCtl_logic Y281 S01 363-V80 P_363 F80 JTD30
Veh-BdInt-AC-ACCtl AC compressor control DS/ESM

A change is made to the ACCELERATION state by a change in the accelerator pedal ACCtl_drAccPed_mp
greater than the limit value ACCtl_drAccPed_C, an engine speed Eng_nAvrg greater than the limit value
ACCtl_nEngAccPedDeriv_C and an accelerator pedal position greater than ACCtl_rEndAccPedDeriv_C.
The accelerator pedal change ACCtl_drAccPed_mp is calculated from the raw value of the accelerator pedal
position APPCD_rAPP1UnFlt and is the difference between the last and the current accelerator pedal
positions.
DRIVE AWAY [1] state The compressor is shut off. The driving condition changes from the DRIVE AWAY state to the WAIT MIN.
OFF-TIME state by a filtered pedal position APPCD_rFlt less than or equal to the value ACCtl_rLoAccPed_mp
of the map ACCtl_rLoAccPed_MAP.
WAIT MIN. OFF-TIME [2] state The compressor remains shut off and the t_1 timer is started. It is only possible to return from this state to
the DRIVE AWAY state when the filtered accelerator pedal position APPCD_rFlt again rises above the value
ACCtl_rHiAccPed_mp of the map ACCtl_rHiAccPed_MAP within the ACCtl_tiOutOff_C time span.
Otherwise a change is made to the WAIT MIN. ON-TIME state after the ACCtl_tiOutOff_C time expires.
WAIT MIN. ON-TIME [3] state Here, the t_3 timer is started and the compressor can be switched on. A change is made from this state back
to the output state ACTIVE after the ACCtl_tiMinOn_C time has expired, if the filtered accelerator pedal
position APPCD_rFlt is less than the value ACCtl_rHiAccPed_mp of the map ACCtl_rHiAccPed_MAP.
ACCELERATION [4] state Here, the t_2 timer is started and the compressor is shut off. A change is made to the WAIT MIN. ON TIME
state after the ACCtl_tiMinOff_C time is expired and filtered accelerator pedal position APPCD_rFlt is less
than the value ACCtl_rHiAccPed_mp of the map ACCtl_rHiAccPed_MAP. If the filtered accelerator pedal
position APPCD_rFlt rises above the value ACCtl_rHiAccPed_mp of the map to ACCtl_rHiAccPed_MAP, a

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
change is made to the DRIVE AWAY state.
Figure 159 : Logic box state machine

[1 ]

D R IV E A W A Y

A C C tl_ s tB itS tr u c t_ m p .1 = 1
A P P C D _ r F lt > A C C tl_ r H iA c c P e d _ m p A C C tl_ s tB itS tr u c t_ m p .5 = 1 A P P C D _ r F lt < = A C C tl_ r L o A c c P e d _ m p

A P P C D _ r F lt > A C C tl_ r H iA c c P e d _ m p
In it
A P P C D _ r F lt > A C C tl_ r H iA c c P e d _ m p
A N D
t_ 1 < A C C tl_ tiO u tO ff_ C
[0 ] [4 ] [2 ]

A C T IV E A C C E L E R A T IO N W A IT M IN . O F F -T IM E
A C C tl_ s tB itS tr u c t_ m p .0 = 1 A C C tl_ d r A c c P e d _ m p > A C C tl_ d r A c c P e d _ C A C C tl_ s tB itS tr u c t_ m p .4 = 1 A C C tl_ s tB itS tr u c t_ m p .2 = 1
A C C tl_ s tB itS tr u c t_ m p .5 = 0 A N D A C C tl_ s tB itS tr u c t_ m p .5 = 1 A C C tl_ s tB itS tr u c t_ m p .5 = 1
E n g _ n A v r g > A C C tl_ n E n g A c c P e d D e r iv _ C R u n t_ 2 R u n t_ 1
A N D
A P P C D _ r F lt > A C C tl_ r E n d A c c P e d D e r iv _ C

A P P C D _ r F lt < = A C C tl_ r H iA c c P e d _ m p
A N D
t_ 2 > A C C tl_ tiM in O ff_ C

[3 ]
A P P C D _ r F lt < A C C tl_ r H iA c c P e d _ m p W A IT M IN . O N -T IM E
A N D t_ 1 > = A C C tl_ tiO u tO ff_ C
t_ 3 > A C C tl_ tiM in O n _ C A C C tl_ s tB itS tr u c t_ m p .3 = 1

a c c tl_ lo g ic _ 6 .d s f
A C C tl_ s tB itS tr u c t_ m p .5 = 0
R u n t_ 3

AC lt_drAcPe_dCACtl_drAcPed_mpAC l_tnEgAcPedDreiv_CAC l_trEndAcPedDeriv_CA tl_rHiAcPed_mpAC lt_rLoAcPed_mpAC lt_stBi Struct_mpAC l_ti MinOf_CA tl_iMnOn_C AC l_ti Outf_CAP C_DrFltEng_nAvgr

ECU initialization All output values and the status word ACCtl_stBitStruct_mp are initialised with ’0’ and the logic box is
initialised in the ACTIVE state.

Output values ACCtl_nMin: low idle speed demand for AC compressor [rpm] <SWORD> --->
ACCtl_stACEna: air conditioning compressor enable status [-] <UBYTE> --->
ACCtl_stLogicOut: AC compressor control output [-] <UBYTE> --->
ACCtl_stSwtOnReq: switch on request to AC compressor control [-] <UBYTE> --->
ACCtl_tiSwtOnLock: Delay time for switch on lock [ms] <UWORD> --->

Input values ACCD_stMnSwtDebVal: debounced air conditioning main switch [-] <UBYTE> --->
ACCD_swtPresSel: signal source for AC pressure (PWM or ADC input) [-] <UBYTE> --->
APPCD_rAPP1UnFlt: accelerator pedal 1 position unfiltered value [%] <SWORD> --->
APPCD_rFlt: filtered accelerator pedal sensor signal [%] <SWORD> --->
CTSCD_tClnt: coolant temperature [deg C] <SWORD> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
Fid_ACCtl_CritCon_mp: Fid for switch off request by critical conditions [-] <UBYTE> --->
Fid_ACCtl_LckDrvConLog_mp: Fid for locking switch off request to driving condition logic
[-] <UBYTE> --->
Fid_ACCtl_LckSwtOnReq: Fid for locking a switch-on request to AC compressor control
Fid_ACCtl_LckTempShOff_mp: Fid for locking switch off request by excess temperature or
critical conditions [-] <UBYTE> --->
StSys_stStrt: state of starting system [-] <UBYTE> --->
VSSCD_v: vehicle speed (velocity) [km/h] <SWORD> --->

acctl_logic.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ACCtl_logic - 147 -
DS/ESM AC compressor control Veh-BdInt-AC-ACCtl

Measuring points ACCtl_drAccPed_mp: change of accelerator pedal position [%] <SWORD> --->
ACCtl_rHiAccPed_mp: upper value for accelerator pedal position [%] <SWORD> --->
ACCtl_rLoAccPed_mp: lower value for accelerator pedal position [%] <SWORD> --->
ACCtl_stBitStruct_mp: status byte for AC pressure control [-] <UWORD> --->
Dfp_ACCDPres_mp: Measurement point for fault path Dfp_ACCDPres [-] <UWORD> --->
Dfp_APP1_mp: Measurement point for fault path Dfp_APP1 [-] <UWORD> --->
Dfp_APP2_mp: Measurement point for fault path Dfp_APP2 [-] <UWORD> --->
Dfp_CTSCD_mp: Measurement point for fault path Dfp_CTSCD [-] <UWORD> --->
Dfp_FanCtl_CritCon_mp: Fault path for Critical Condition [-] <UWORD> --->
Dfp_VSSCD_mp: Measurement point for fault path Dfp_VSSCD

Application parameters ACCtl_drAccPed_C: threshold for change in accelerator pedal position<value> --->
ACCtl_nEngAccPedDeriv_C: engine speed threshold for compressor deactivation due to
accelerator pedal derivative<value> --->
ACCtl_nHiEngExcSpd_C: upper threshold for hysteresis engine overspeed<value> --->
ACCtl_nHiEngUsht_C: upper threshold for hysteresis engine undershoot<value> --->
ACCtl_nLoEngExcSpd_C: lower threshold for hysteresis engine overspeed<value> --->
ACCtl_nLoEngUsht_C: lower threshold for hysteresis engine undershoot<value> --->
ACCtl_nMin_C: Compressor Low Idle value for ACCtl_nMin Message<value> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

ACCtl_rEndAccPedDeriv_C: threshold of accelerator pedal final position for compressor


deactivation due to pedal derivative<value> --->
ACCtl_rHiAccPed_MAP: map for upper threshold of accelerator pedal
position<map_individual> --->
ACCtl_rLoAccPed_MAP: map for lower threshold of accelerator pedal
position<map_individual> --->
ACCtl_tHiClntExcTemp_C: upper threshold for hysteresis coolant excess temperature<value>
--->
ACCtl_tiMaxOff_C: max. compressor deactivation time<value> --->
ACCtl_tiMinOff_C: min. deactivation time from state ACCELERATION<value> --->
ACCtl_tiMinOn_C: min. activation time from state WAIT MIN. ON-TIME<value> --->
ACCtl_tiOutOff_C: min. deactivation time in state WAIT MIN. OFF-TIME<value> --->
ACCtl_tiSwtOnLock_C: time delay for AC compressor switch-on<value> --->
ACCtl_tLoClntExcTemp_C: lower threshold for hysteresis coolant excess temperature<value>
--->

19.3.2002 acctl_logic.fm
- 148 - ACTrqC Y281 S01 363-V80 P_363 F80 JTD30
Veh-BdInt-AC-ACCtl-ACTrqC Air-conditioner compressor compensation DS/ESM

3.4.1.1.1 Air-conditioner compressor compensation (ACTrqC)


CARTORNIC-Structure:Ve-hBdInt-CA-AC -tl ATCrqC

Overview of the component


Air condition torque control The ACTrqC component determines the torque requirement of the AC compressor and controls the AC
output. The component requires a minimum engine speed and supplies the desired torque for the air
conditioning unit.

Structure of the component To date, the ACTrqC component has not been further structured.

Subfunctions Siehe “A/C compressor precontrol and torque correction (ACTrqC_ACTrqCorr)” auf Seite 149.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

actrqc_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ACTrqC_ACTrqCorr - 149 -
DS/ESM A/C compressor precontrol and torque correction Veh-BdInt-AC-ACCtl-ACTrqC

A/C compressor precontrol and torque correction (ACTrqC_ACTrqCorr)


CARTONIC-Sturcture:VehB-dnI t-AC-AC tl-ACTrqC

Functional overview Switching on the AC compressor leads to an additional torque demand to the engine.
The function determines this torque requirement, its lead value and the time-based behaviour after switching-
on of the AC compressor.
Torque requirement AC compressor = f(Status AC main switch,
Delay time for switch-on locking,
Low-idle speed demand for AC compressor)
Torque lead AC compressor = f(Status AC main switch,
Delay time for switch-on locking,
Low-idle speed demand for AC compressor)
Figure 160 : AC compressor torque correction - Overview

A C C D _ s tM n S w tD e b V a l
A C T rq C _ trq D e s
A C c o m p re s s o r
A C C tl_ tiS w tO n L o c k p re c o n tro l
a n d A C T rq C _ trq L e a d
A C C tl_ n M in to rq u e c o n tro l
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

A c c o r d in g to B o s c h s ta n d a r d
AC Ds_tMnStwDebValAC tl_iSwtOnLockAC tl_nMinACTqrC_trqDes ACTrqC_rtqLead

Functional description
Principle If there is a valid activation of the A/C compressor by the driver (ACCD_stMnSwtDebVal=1, no error, switch-
on not disabled), only the torque lead ACTrqC_trqLead is transmitted to the engine control for the time
interval ACCtl_tiSwtOnLock_C + ACTrqC_tiDelQOn_C. This prepares the air system, for example, for the
coming torque jump.
After elapsing of this time, the actual torque setpoint ACTrqC_trqDes is switched in; the lead value now
coincides with the setpoint value. If the demand is no longer present, setpoint value and lead value are re-
set to 0 with the delay ACTrqC_tiDelQOff_C.
Figure 161 : Functional overview

A C C D _ s tM n S w tD e b V a l

A C T rq C _ s tO rd _ m p
n o e r r o r in
& A C T rq C _ trq L e a d
A C C D
le a d v a lu e

A C n o t
lo c k e d

A C T rq C _ trq S ta t_ m p
s ta tic to r q u e A C T rq C _ trq D e s

0 ,0
A C C tl_ tiS w tO n L o c k A C T r q C _ tiT r q D e l_ m p

a c trq c _ a c trq c o rr_ 1 .d s f


A C T r q C _ tiD e lQ O n _ C
P

A C T r q C _ tiD e lQ O ff_ C
P

s tO n D e b
d e b o u n c e
s w itc h
AC Ds_tMnStwDebValACTrqC_tiDelQOn_CACTrqC_trqLeadACTrqC_tiDelQOf_C ACrTqC_trqDesACTrqC_stOrd_mpAC lt_iSwtOnLockACTrqC_trqSta_mpACrTqC_tiTrqDel_mp

Internal setpoint value formation The current static torque requirement of the compressor ACTrqC_trqStat_mp is defined via a fixed value
ACTrqC_trqACStat_C. No correction for the switch-on behaviour is performed. The lead value
ACTrqC_trqLeadRaw_mp is identical to the static setpoint ACTrqC_trqStat_mp.
Timing Mechanical switch-on of the compressor is delayed for the time ACCtl_tiSwtOnLock_C. The delay of the
torque feedforward is corrected for the time ACTrqC_tiDelQOn_C. Depending on the sluggishness of the
compressor clutch and of the engine torque build-up, this correction time can also be negative. This means
it can be activated prior to the A/C compressor input. To ensure switch-on of the compressor without jerking,
the overall time interval must at least span the air system sluggishness (lead demand).
Figure 162 : AC compressor torque correction

A C C tl_ tiS w tO n L o c k _ C

A C C D _ s tM n S w tD e b V a l

A C C tl_ s tL o g ic O u t

A C T rq C _ trq D e s
A C T rq C _ trq L e a d
a c trq c _ a c trq c o rr_ 2 .d s f

A C T r q C _ tiD e lQ O n _ C A C T r q C _ tiD e lQ O ff_ C

AC Ds_tMnStwDebValAC tl_stLogicOutACTrqC_trqLeadACTrqC_trqDesACTrqC_tiDelQOf_C ACrTqC_tiDelQOn_CAC l_ti SwtOnLock_C

Monitoring Feedforward of the torque demand is disabled if an error path of the component driver ACCD is active
(Fid_ACTrqC_mp) or if the switch-on of the compressor is disabled (indicated by ACCtl_nMin = 0).

19.3.2002 actrqc_actrqcorr.fm
- 150 - ACTrqC_ACTrqCorr Y281 S01 363-V80 P_363 F80 JTD30
Veh-BdInt-AC-ACCtl-ACTrqC A/C compressor precontrol and torque correction DS/ESM

ECU initialization Set all values to ’0’

Output values ACTrqC_trqDes: desired torque of AC [Nm] <SWORD> --->


ACTrqC_trqLead: lead torque of AC [Nm] <SWORD> --->

Input values ACCD_stMnSwtDebVal: debounced air conditioning main switch [-] <UBYTE> --->
ACCtl_nMin: low idle speed demand for AC compressor [rpm] <SWORD> --->
ACCtl_tiSwtOnLock: Delay time for switch on lock [ms] <UWORD> --->

Measuring points ACTrqC_stOrd_mp: switch on correction for ACTrqc_trqDes - True if no error in ACCD and AC
not locked and ACCD_stMnSwtDebVal = True [-] <UBYTE> --->
ACTrqC_trqStat_mp: torque demand of AC compressor in static running [Nm] <SWORD> --->
Fid_ACTrqC_mp: Measurement point for Function Identifier Fid_ACTrqC [-] <UBYTE> --->

Application parameters ACTrqC_tiDelQOff_C: delay for vanishing torque desire of the air conditioner
compressor<value> --->
ACTrqC_tiDelQOn_C: time correction of the time delay of desired momentum of the air
conditioner compressor<value> --->
ACTrqC_trqACStat_C: static torque of air conditioner compressor<value> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

actrqc_actrqcorr.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ACCD - 151 -
DS/ESM Interface to A/C compressor Veh-BdInt-AC-ACCD

3.4.1.2 Interface to A/C compressor (ACCD)


CARTONIC-Sturcture:VehB-dnI t-AC-AC D

Overview of the component A/C component driver


The component contains:
• A/C signal
• A/C compressor pressure
• A/C compressor control

Structure of the component The component has no further subcomponents.

Subfunctions See “Air conditioning main switch (ACCD_MNSwt)” on page 749.


See “Analog A/C compressor pressure (ACCD_PresAna)” on page 772.
See “Coordinator A/C compressor pressure (ACCD_PresCo)” on page 154.
See “Air conditioning compressor control (ACCD_Cmpr)” on page 155.
See “Component driver A/C compressor pressure (ACCD_PresPwm)” on page 835.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 accd_overview.fm
- 152 - ACCD_swtIn Y281 S01 363-V80 P_363 F80 JTD30
Veh-BdInt-AC-ACCD Air conditioning learning function DS/ESM

Air conditioning learning function (ACCD_swtIn)


CARTORNIC-Structure:Ve-hBdInt-CA-AC D

Functional overview This function debounces the AC main switch and determines whether an air conditioning unit is present in
the vehicle.

Functional description The raw input signal of the AC main switch ACCD_stMnSwtRawVal is chronologically debounced and stored
for the overall system as ACCD_stMnSwtDebVal. The debouncing time constant can be set separately for
positive slope changes ACCD_tiMnSwtDebPos_C and negative slope changes ACCD_tiMnSwtDebNeg_C.
Based on the software switch ACCD_swtSigMnSwtVal_C, AC switch signals are processed either by the CAN
(ACCD_swtSigMnSwt = 1) or by the hardware digital input (ACCD_swtSigMnSwt = 0).
Table 62: Selection of the AC main switch signal source via ACCD_swtSigMnSwtVal_C
Switch setting (Hex)value Meaning
SWT_SIG_HW 0 AC main switch signal via hardware digital input
SWT_SIG_CAN 1 AC main switch signal via CAN

Providing the information "air conditioning unit The information "air conditioning unit present in vehicle" is sent to the overall system by setting
present in vehicle" ACCD_stACPresent (=1). With this information, certain functions and monitoring tasks such as output
monitoring, signal range monitoring, pressure sensor or disturbance compensation which must be performed
in vehicles with air conditioning can be inserted.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Using software switch setting ACCD_swtPresenceVal_C = 0, information on the presence of an air
conditioning unit is taken by EEPROM from the data set with ACCD_swtPresenceVal_C = 1.
Table 63: Selection of the source via ACCD_swtPresenceVal_C
Switch setting (Hex)value Meaning
ACCD_PRESENCE_DATA 0 Information on the presence of an air conditioning unit from data set
ACCD_PRESENCE_EEP 1 Information on the presence of an air conditioning unit from EEPROM

The information from the data set determines whether an air conditioning unit is present in the vehicle
(ACCD_stPresence_C = 1) or not (ACCD_stPresence_C = 0) by applying ACCD_stPresence_C. This
information is provided during control unit initialisation by ACCD_stACPresent.
Information from EEPROM regarding the presence of an air conditioning unit is provided by means of a
learning process. In this process, the signal of the AC main switch must last at long as the minimum detection
time ACCD_tiRecg_C. If an EEPROM writing error occurs, the air conditioning will considered not present.
Once an air conditioning unit is detected, this information is stored in the EEPROM code word. This
information is read out during control unit initialisation and made available by ACCD_stACPresent. In order
for the learning process to be possible, ACCD_stPresence_C must be set (=1).
Figure 163 : Providing the information ACCD_stACPresent
A C C D _ tiR e c g _ C
P

A C C D _ s tM n S w tD e b V a l
T

& A C C D _ s w tP r e s e n c e V a l_ C = 0
P

a c c d _ s w tin _ 1 .d s f
A C C D _ s tE e p V a l_ m p .0 = 1 ( e r a s a b le b y d ia g n o s tic te s te r ) >= 1

A C C D _ s tP re s e n c e _ C &
P

( s to r e d in E E P R O M )
A C C D _ s tA C P re s e n t

AC Ds_tACPersntACD_stEepVal_mpACD_stMnSwtDebValAC Ds_tPresence_CA Ds_wtPresenceVa_l CAC Dt_iRecg_C

ECU initialization • Debounced AC main switch signal ACCD_stMnSwtDebVal = 0 (switched off)


• Raw value of AC main switch signal ACCD_stMnSwtRawVal = 0 (switched off)
• Software switch setting ACCD_swtSigMnSwt = ACCD_swtSigMnSwtVal_C
• Information on the presence of an air conditioning unit ACCD_stACPresent is initialised based on the
switch setting ACCD_swtPresenceVal_C.
If the information is taken from the data set, ACCD_stACPresent = ACCD_stPresence_C is set.
If the information is taken from the EEPROM, the following is possible:
* Information not yet stored in EEPROM, ACCD_stACPresent = 0 (AC not present)
* Information already stored in EEPROM, ACCD_stACPresent = 1 (AC present)
* EEPROM read error, ACCD_stACPresent = 0 (AC not present, leads to a new learning process).

Output values ACCD_stACPresent: AC is present in the vehicle [-] <UBYTE> --->


ACCD_stMnSwtDebVal: debounced air conditioning main switch [-] <UBYTE> --->
ACCD_stMnSwtRawVal: raw value of status from air conditioning compressor main switch [-]
<UBYTE> --->
ACCD_swtPresence: Switch for source of information EEPROM/data set
ACCD_swtSigMnSwt: Switch for signal source DIO/CAN [-] <UBYTE> --->

Input values FrmMng_stAC: AC state via CAN [-] <UWORD> --->

Measuring points ACCD_stEepVal_mp: EEPROM-value for AC presence information [-] <UBYTE> --->
ACCD_stMnSwtLogVal_mp: AC main switch undebounced value [-] <UBYTE> --->
Dfp_ACCDSwtin_mp: Measurement point for fault path Dfp_ACCDSwtin [-] <UWORD> --->

accd_swtin.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ACCD_swtIn - 153 -
DS/ESM Air conditioning learning function Veh-BdInt-AC-ACCD

Application parameters ACCD_DebNplDef_C: Defect debounce time for Non-Plausible CAN Msg. error.<value> --->
ACCD_DebNplOK_C: Intact debounce time for CAN Msg. Non-Plausible error.<value> --->
ACCD_DebSigDef_C: Defect debounce time for CAN Msg. Time Out error.<value> --->
ACCD_DebSigOk_C: Intact debounce time for CAN Msg. TimeOut error<value> --->
ACCD_numDioInMnSwt_C: parameter for digital input pin selection of AC main switch<value>
--->
ACCD_stMnSwtInvIn_C: Main AC switch invert information<value> --->
ACCD_stPresence_C: information about presence of AC in vehicle<value> --->
ACCD_swtPresenceVal_C: switch value for source of information EEPROM/dataset<value> --->
ACCD_swtSigMnSwtVal_C: Signal Source switch value -CAN/DIO<value> --->
ACCD_tiMnSwtDebNeg_C: debounce time for negative edge of main AC switch<value> --->
ACCD_tiMnSwtDebPos_C: debounce time for positive edge of main AC switch<value> --->
ACCD_tiRecg_C: recognition time for learning procedure<value> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 accd_swtin.fm
- 154 - ACCD_PresCo Y281 S01 363-V80 P_363 F80 JTD30
Veh-BdInt-AC-ACCD Coordinator A/C compressor pressure DS/ESM

Coordinator A/C compressor pressure (ACCD_PresCo)


CARTORNIC-Structure:Ve-hBdInt-CA-AC D

Functional overview Depending on a software switch, the input signal of the A/C compressor can either be processed as an
analogue value or as a pulse-width modulated signal (PWM).
A/C compressor pressure = f(Analogue AC compressor,
PWM A/C compressor,
Switch for signal source)
Figure 164 : A/C compressor pressure - Overview

A C C D _ p A n a
A C C D _ p
A C C D _ p P W M
A C C D _ s w tP re s S e l
A C C D _ s tA C P re s e n t

A c c o r d in g to B o s c h s ta n d a r d
AC Dp_ACD_pnAaC D_pPWMAC Ds_tACPersntACD_swtPresSel

Functional description The air-condition pressure is received via ADC or PWM, depending on the software switch
ACCD_swtPresSel.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Table 64: ACCD_swtPresSel
Wert Description
ACCD_PRESSEL_ANALOG Analog air condition pressure ACCD_pAna
ACCD_PRESSEL_PWM PWM air condition pressure ACCD_pPWM

Dynamic requirements The current A/C pressure value is updated every 20 ms.

ECU initialization The software switch (ACCD_swtPresSel) is initialized with the value ACCD_swtPresSelVal_C.

Output values ACCD_p: debounced pressure of air conditioning compressor [hPa] <SWORD> --->
ACCD_swtPresSel: signal source for AC pressure (PWM or ADC input) [-] <UBYTE> --->

Input values ACCD_pAna: analog AC pressure value [hPa] <SWORD> --->


ACCD_pPWM: A/C pressure value from PWM
ACCD_stACPresent: AC is present in the vehicle [-] <UBYTE> --->

Application parameters ACCD_swtPresSelType_C: Type of SW-switch for AC pressure input (0=dataset value, not
applicable/1=EEPROM value/2=dataset value)<value> --->
ACCD_swtPresSelVal_C: input selection of AC pressure, 1=analog input, 2 = PWM input, set
during initialization<value> --->

accd_presco.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ACCD_Cmpr - 155 -
DS/ESM Air conditioning compressor control Veh-BdInt-AC-ACCD

Air conditioning compressor control (ACCD_Cmpr)


CARTONIC-Sturcture:VehB-dnI t-AC-AC D

Functional overview The AC compressor control routes the control signal for the AC compressor to the digital output of the power
stage. The power stage is monitored. If an error occurs at the power stage output such as short-circuit, load
drop or excess temperature, this is reported.
Power stage hardware signal = f(Shut-off conditions of the AC compressor,
Presence of A/C in vehicle,
Control units status)
Figure 165 : AC compressor control - Overview

A C C D _ s tA C P re s e n t

A C C tl_ s tL o g ic O u t A C P o w e r s ta g e h a r d w a r e s ig n a l
p o w e rs ta g e
c o n tro l

C o E n g _ s tP w rS tg E n a C o n d
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

AC l_tstLogicOutCoEng_stPwrStgEnaCodnACD_stACrPes nt

Functional description The function routes the control signal for the AC compressor (ACCtl_stLogicOut) to the power stage only if
A/C is present in the vehicle as indicated by ACCD_stACPresent.
The errors short circuit to UBatt and excess temperature are only detected if the power stage is actuated.
However, the errors short-circuit to ground and load drop are only detected if the power stage is not actuated
(see “Air conditioning compressor control (ACCD_Cmpr)” on page 155).

The same applies for healing. The error path Dfp_ACCDCmpr (measuring point Dfp_ACCDCmpr_mp) is set if
an error is present.
Function shut-off response of the power stage/power stage diagnostics
The shut-off response of the power stage error diagnosis can be specified by the characteristic value
ACCD_stPwrStgDia_C. The shut-off response of the power stage is specified by the characteristic value
ACCD_stPwrStgActv_C. Both characteristic values contain information on whether the power stage (power
stage diagnosis) should be shut off in certain vehicle states. To determine which vehicle states are described
by which flag, see “Power Stage Coordinator (CoEng_PwrStgStateCalc)” on page 213.
Selection of hardware pins The digital outputs and their diagnostics can be selected using the application parameters
ACCD_numDioOut_C and ACCD_numDia_C. This should only be carried out after consultation with a developer.

Monitoring The diagnosis is performed for the 4 possible error types:


1. Short-circuit to UBatt (KSUB)
2. Short-circuit to ground (KSM)
3. Load drop (LA):
4. Excess temperature (UT short-circuit to UBatt)

Substitute function This is described in “Signal input/output (IO)” on page 713.


Actuator test
Figure 166 : Overview of actuator test

A C C D _ s tA C P re s e n t

A C T e s te r D e m a n d

A C C tl_ s tL o g ic O u t A C C D _ s tD ig O u t_ m p
&
E r r o r H a n d lin g
S ig T s t_ A C
(fro m T e s te r)
S ig T s t_ A C
(to T e s te r)

a c c d _ d ig o u t.d s f
AC l_tstLogicOutSigTst_ACACD_rDigOut_mpSigTst_AC

Test Demand active == 1 (TRUE) does not use the program software value for actuator control but the tester
value (SigTst_AC). This value is transmitted to the actuator via error handling just like the normal value.
At Test Demand active = 0 (FALSE), the tester always receives the current actuator value from the driving
software as a return value.

ECU initialization This is described in “Signal input/output (IO)” on page 713.

Output values

Input values ACCD_stACPresent: AC is present in the vehicle [-] <UBYTE> --->


ACCtl_stLogicOut: AC compressor control output [-] <UBYTE> --->
CoEng_stPwrStgEnaCond: control unit status relevant to power stage deactivation/error
diagnosis [-] <UBYTE> --->

Measuring points ACCD_stDigOut_mp: A/C control signal


ACCD_stPwrStg_mp: Signal power stage error
Dfp_ACCDCmpr_mp: Measurement point for fault path Dfp_ACCDCmpr [-] <UWORD> --->

19.3.2002 accd_cmpr.fm
- 156 - ACCD_Cmpr Y281 S01 363-V80 P_363 F80 JTD30
Veh-BdInt-AC-ACCD Air conditioning compressor control DS/ESM

Application parameters ACCD_DebExcTempDef_C: Defect time for EXC_TEMP error<value> --->


ACCD_DebExcTempOk_C: Healing time for EXC_TEMP error<value> --->
ACCD_DebNoLoadDef_C: Defect time for NO_LOAD error<value> --->
ACCD_DebNoLoadOk_C: Healing time for NO_LOAD error<value> --->
ACCD_DebShortCircBatDef_C: Defect time for SHORT_CIRC_BAT error<value> --->
ACCD_DebShortCircBatOk_C: Healing time for SHORT_CIRC_BAT error<value> --->
ACCD_DebShortCircGndDef_C: Defect time for SHORT_CIRC_GND error<value> --->
ACCD_DebShortCircGndOk_C: Healing time for SHORT_CIRC_GND error<value> --->
ACCD_numDia_C: application parameter for AC compressor diagnostic signal<value> --->
ACCD_numDioOut_C: application parameter for AC compressor signal<value> --->
ACCD_stDigInvOut_ C: Inversion of the digital output yes/no
ACCD_stPwrStgActv_C: specification of deactivation behaviour of the power stage<value> -
-->
ACCD_stPwrStgDia_C: specification of diagnostics deactivation behaviour of the power
stage<value> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

accd_cmpr.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ACCD_Press - 157 -
DS/ESM AC compressor pressure Veh-BdInt-AC-ACCD

AC compressor pressure (ACCD_Press)


CARTONIC-Sturcture:VehB-dnI t-AC-AC D

Functional overview This function records the AC compressor pressure for analogue or pressure level for the pressure sensor.

Functional description This function records the AC compressor pressure via one of the sub-components, AC compressor pressure
analogue or digital, and sends this information to the overall system. The sub-components assume the task
of processing the input signals of an analogue or digital pressure sensor. Based on the software switch
ACCD_swtPresSelVal_C, the AC compressor pressure is recorded either via an analogue, a three-stage
digital or four-stage digital pressure sensor.
Table 65: Selection of the pressure sensor type via ACCD_swtPresSelVal_C
Switch setting (Hex)value Meaning
ACCD_PRESSEL_ANALOG 0 Input signal via analogue pressure sensor
ACCD_PRESSEL_DIGITAL_TRI 1 Input signal via three-stage digital pressure sensor
ACCD_PRESSEL_DIGITAL_QUD 2 Input signal via four-stage digital pressure sensor

AC compressor pressure ACCD_p is only made available when an analogue pressure sensor is used (for a
digital pressure sensor, ACCD_p = 0 ). Here, pressure level signals ACCD_stTRI and ACCD_stQUD for fan
control are determined by the hysteresis function Pressure thresholds ACCD_stPresLvlOne_mp and
ACCD_stPresLvlFour_mp are only used for vehicles with an analogue pressure sensor, see “Determining the
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

pressure thresholds when using an analogue pressure sensor” on page 157. They serve as safety switches
and allow the AC compressor to be switched on only within a specific pressure range, see “AC compressor
control (ACCtl)” on page 144. If the pressure is less than ACCD_pHiPresLvlOne_C, identified by
ACCD_stPresLvlOne_mp = 0, or greater than ACCD_pHiPresLvlFour_C, identified by
ACCD_stPresLvlFour_mp = 1, an error entry is made in the error path Dfp_ACCDPres_mp and the AC
compressor is blocked from being switched on. The AC compressor pressure is checked only when the AC
compressor is switched on, i.e. ACCtl_stLogicOut is set (=1). The highest admissible pressure is checked
immediately after the compressors is switched on, see “Checking the highest admissible pressure when
using an analogue pressure sensor” on page 158. The lowest admissible pressure is checked after the
waiting time ACCD_tiActvBefChkLoPress_C has elapsed after the compressor has built up pressure
see “Checking the lowest admissible pressure when using an analogue pressure sensor” on page 158.
Figure 167 : Determining the pressure thresholds when using an analogue pressure sensor

A C C D _ p H iP r e s L v lO n e _ C
P

A C C D _ p L o P r e s L v lO n e _ C
P

A C C D _ p = A C C D _ p A n a A C C D _ s tP r e s L v lO n e _ m p

A C C D _ p H iP r e s L v lF o u r _ C
P

A C C D _ p L o P r e s L v lF o u r _ C
P

A C C D _ s tP r e s L v lF o u r _ m p

A C C D _ p H iT R I_ C
P

A C C D _ p L o T R I_ C
P

A C C D _ s tT R I

A C C D _ p H iQ U D _ C
P

A C C D _ p L o Q U D _ C
P
a c c d _ p re s s _ 1 .d s f

A C C D _ s tQ U D

19.3.2002 accd_press.fm
- 158 - ACCD_Press Y281 S01 363-V80 P_363 F80 JTD30
Veh-BdInt-AC-ACCD AC compressor pressure DS/ESM

Figure 168 : Checking the highest admissible pressure when using an analogue pressure sensor
A C C D _ tiD e b H iP r e s D e f_ C
P

A C C tl_ s tL o g ic O u t

A C C D _ s tP r e s L v lF o u r _ m p &

! >= 1

D fp _ A C C D P re s _ m p .0 = 1

>= 1
!

&
!

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
a c c d _ p re s s _ 2 .d s f
A C C D _ tiD e b H iP r e s O k _ C
P

Figure 169 : Checking the lowest admissible pressure when using an analogue pressure sensor

A C C D _ tiD e b L o P r e s D e f_ C
P

A C C D _ tiA c tv B e fC h k L o P r e s _ C
P

A C C tl_ s tL o g ic O u t &

A C C D _ s tP r e s L v lO n e _ m p &
!
! >= 1

D fp _ A C C D P re s _ m p .1 = 1

>= 1
!

&

a c c d _ p re s s _ 3 .d s f
A C C D _ tiD e b L o P r e s O k _ C
P

When using a digital pressure sensor, only the information on pressure level signals ACCD_stTRI and
ACCD_stQUD for fan control is made available. For this purpose, the output values of the AC compressor
pressure digital sub-component, see “AC compressor pressure digital (ACCD_PresDig)” on page 752,
assigned to the pressure level signals see “Pressure level signal when using digital pressure sensors” on
page 158.
Figure 170 : Pressure level signal when using digital pressure sensors

A C C D _ s tT R IP la u s V a l A C C D _ s tT R I
a c c d _ p re s s _ 4 .d s f

A C C D _ s tQ U D D e b V a l A C C D _ s tQ U D

A C C D _ p
0

In addition, a plausibility test is run. When the air conditioning is switched off, indicated by ACCtl_stLogicOut
= 0, pressure signals ACCD_stTRI and ACCD_stQUD should not be set when a digital pressure sensor is used
see “Plausibility test of pressure signals for a digital pressure sensor” on page 159. When using an analogue
pressure sensor, the AC compressor pressure should not exceed a threshold value of
ACCD_pThresPlausErr_C, see “Plausibility test of AC compressor pressure or a digital pressure sensor” on
page 159. Otherwise, an error entry is made in the error path Dfp_ACCDPresNpl_mp.

accd_press.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ACCD_Press - 159 -
DS/ESM AC compressor pressure Veh-BdInt-AC-ACCD

Figure 171 : Plausibility test of pressure signals for a digital pressure sensor

A C C D _ tiD e b N p lP r e s D e f_ C
P

A C C tl_ s tL o g ic O u t
!

A C C D _ s tT R I
&
A C C D _ s tQ U D >= 1

! >= 1

D fp _ A C C D P r e s N p l_ m p .3 = 1

>= 1
!

&
!
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

a c c d _ p re s s _ 5 .d s f
A C C D _ tiD e b N p lP r e s O k _ C
P

Figure 172 : Plausibility test of AC compressor pressure or a digital pressure sensor

A C C D _ tiD e b N p lP r e s D e f_ C
P

A C C tl_ s tL o g ic O u t
!

A C C D _ p
&
A C C D _ p T h r e s P la u s E r r _ C
P

! >= 1

D fp _ A C C D P r e s N p l_ m p .3 = 1

>= 1
!

&
!

a c c d _ p re s s _ 6 .d s f
A C C D _ tiD e b N p lP r e s O k _ C
P

Control unit initialisation All output values are initialised with ’0’. When there is an initialisation error, applicable default values are
assigned to the pressure level signals: ACCD_stTRI = ACCD_stTRIDflVal_C and ACCD_stQUD =
ACCD_stQUDDflVal_C.

Output values ACCD_p: debounced pressure of air conditioning compressor [hPa] <SWORD> --->
ACCD_stQUD: quadrinary signal of digital pressure sensor [-] <UBYTE> --->
ACCD_stTRI: trinary signal of digital pressure sensor [-] <UBYTE> --->

Input values ACCD_pAna: analog AC pressure value [hPa] <SWORD> --->


ACCD_stACPresent: AC is present in the vehicle [-] <UBYTE> --->
ACCD_stLogicOut: AC compressor control output
ACCD_stQUDDebVal: trinary signal debounced value [-] <UBYTE> --->
ACCD_stTRIPlausVal: trinary signal plaus. value [-] <UBYTE> --->
ACCD_swtPresSel: signal source for AC pressure (PWM or ADC input) [-] <UBYTE> --->

Measuring points ACCD_stPresLvlFour_mp: fourth AC compressor pressure level [-] <UBYTE> --->
ACCD_stPresLvlOne_mp: first AC compressor pressure level [-] <UBYTE> --->
Dfp_ACCDPres_mp: Measurement point for fault path Dfp_ACCDPres [-] <UWORD> --->
Dfp_ACCDPresNpl_mp: measuring point for fault path Dfp_ACCDPresNpl [-] <UWORD> --->

Application parameters ACCD_pHiPresLvlFour_C: upper threshold for hysteresis pressure for deactivating AC
compressor (safety switch)<value> --->
ACCD_pHiPresLvlOne_C: upper threshold for hysteresis pressure for activating AC compressor
(safety switch)<value> --->
ACCD_pHiQUD_C: upper threshold for hysteresis quadrinary signal<value> --->
ACCD_pHiTRI_C: upper threshold for hysteresis trinary signal<value> --->
ACCD_pLoPresLvlFour_C: lower threshold for hysteresis pressure deactivating AC compressor
(safety switch)<value> --->
ACCD_pLoPresLvlOne_C: lower threshold for hysteresis pressure for activating AC compressor

19.3.2002 accd_press.fm
- 160 - ACCD_Press Y281 S01 363-V80 P_363 F80 JTD30
Veh-BdInt-AC-ACCD AC compressor pressure DS/ESM

(safety switch)<value> --->


ACCD_pLoQUD_C: lower threshold for hysteresis quadrinary signal<value> --->
ACCD_pLoTRI_C: lower threshold for hysteresis trinary signal<value> --->
ACCD_pThresPlausErr_C: pressure threshold for plausibility error<value> --->
ACCD_stQUDDflVal_C: default value for quadrinary signal in case of fault during
initialisation<value> --->
ACCD_stTRIDflVal_C: default value for trinary signal in case of fault during
initialisation<value> --->
ACCD_tiActvBefChkLoPres_C: AC compressor min. activation time until low pressure condition
is checked the first time<value> --->
ACCD_tiDebHiPresDef_C: defect debounce time for AC pressure MAX fault<value> --->
ACCD_tiDebHiPresOk_C: healing debounce time for AC pressure MAX fault<value> --->
ACCD_tiDebLoPresDef_C: defect debounce time for AC pressure MIN fault<value> --->
ACCD_tiDebLoPresOk_C: healing debounce time for AC pressure MIN fault<value> --->
ACCD_tiDebNplPresDef_C: defect debounce time for AC pressure plausibility fault<value> -
-->
ACCD_tiDebNplPresOk_C: healing debounce time for AC pressure plausibility fault<value> -
-->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

accd_press.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ESS - 161 -
DS/ESM Electrical supply system

3.5 Electrical supply system (ESS)


CARTONIC-Sturcture:

Overview of the component


Electrical supply system The ESS component collects the demands of all sub-objects and distributes the requests accordingly. In
addition, it monitors coordination tasks.
Additional tasks include:
• Minimum-engine speed boost (low-idle setpoint speed) for battery voltage shortfall
• Providing the electrical supply system power demand

Structure of the component The ESS component consists of the following subcomponents:
Figure 173 : ESS subcomponents

Ig n L c k

E S S B a tt
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

A lt

Subfunctions See “Electrical supply system demand (ESS_UpdateDem)” on page 164.


See “Electrical supply system demand (ESS_UpdateDem)” on page 164.

19.3.2002 ess_overview.fm
- 162 - ESS_GetNMin Y281 S01 363-V80 P_363 F80 JTD30
Veh-ESS Idle-speed increase at low battery DS/ESM

Idle-speed increase at low battery (ESS_GetNMin)


CARTORNIC-Structure:Ve-hES

Functional overview The function detects a low battery by means of vehicle speed / engine speed and battery voltage. For low
battery, an increased low-idle speed is output.
The idle-speed increase is valid for the complete driving cycle depending on engine and vehicle speed. If the
battery voltage continues to fall, the idle-speed increase is withdrawn.
Low-idle speed at low battery =f(Battery voltage,
Average engine speed,
Vehicle speed)
Figure 174 : Idle-speed increase at low battery - Overview

B a ttC D _ u

E n g _ n A v rg E S S _ n B a ttM in
Id le s p e e d in c r e a s e
a t lo w b a tte r y
V S S C D _ v

A c c o r d in g to B o s c h s ta n d a r d
BatCD_uES _nBatMinVSCD_vEng_nAvrg

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Functional description If the battery voltage BattCD_u falls at a speed greater than ESS_nLIBattThres_C for the duration
ESS_tiDelayUBattFFSet_C below the threshold ESS_uLIBattThresFFSet_C and simultaneously the speed
is higher than the threshold ESS_nMinThres_C or the vehicle speed is equal to zero, the requirement for a
minimum speed for the entire driving cycle is released. The minimum speed requirement value is determined
by ESS_nBattMin_C. If the battery voltage BattCD_u rises for the time ESS_tiDelayUBattFFRes_C above the
value ESS_uLIBattThresFFRes_C, the low-idle setpoint speed is reduced again on the condition that the
engine speed Eng_nAvrg exceeds ESS_nMinThres_C.
Figure 175 : Idle-speed increase at low battery

ESS_tiDelayUBattFFSet_C

BattCD_u

ESS_uLIBattThresFFSet_C

Eng_nAvrg

ESS_nLIBattThres_C

Eng_nAvrg

ESS_nMinThres_C

VSSCD_v

0.0

ESS_tiDelayUBattFFRes_C

BattCD_u

ESS_uLIBattThresFFRes_C

Eng_nAvrg ESS_nBattMin_C
ESS_nBattMin
0.0
ESS_nMinThres_C

ES t_iDelayUBatFSet_CES u_LIBatThresF Set_C Eng_nAvrgES_nLIBatThres_CVSCD_vES n_MinThres_CES_nBatMin_CES n_BatMinBatCD_uES_uLIBatThresFRes_CES_nMinThres_CES_iDtelayUBatF Res_C

ECU initialization The status of the SR flip-flop is initialized with reset.

Output values ESS_nBattMin: minimum engine speed due to low battery [rpm] <SWORD> --->

Input values BattCD_u: battery voltage [mV] <SWORD> --->


Eng_nAvrg: average engine speed [rpm] <SWORD> --->
VSSCD_v: vehicle speed (velocity) [km/h] <SWORD> --->

Application parameters ESS_nBattMin_C: requested minimal engine speed in case of low UBatt<value> --->
ESS_nLIBattThres_C: speed threshold for average engine speed to trigger request minimum
of engine speed<value> --->
ESS_nMinThres_C: speed threshold to prevent a torque jump<value> --->
ESS_tiDelayUBattFFRes_C: time delay for the termination of compensating low UBatt<value>
--->
ESS_tiDelayUBattFFSet_C: time delay for the start of compensating low UBatt<value> --->
ESS_uLIBattThresFFRes_C: voltage threshold to deselect the request of minimal engine
speed<value> --->
ESS_uLIBattThresFFSet_C: voltage threshold to activate the request of minimal engine

ess_getnmin.fm 19.3.2002
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002
ess_getnmin.fm
DS/ESM
P_363 F80 JTD30

speed<value> --->
Y281 S01 363-V80
Idle-speed increase at low battery
Veh-ESS
ESS_GetNMin
- 163 -
- 164 - ESS_UpdateDem Y281 S01 363-V80 P_363 F80 JTD30
Veh-ESS Electrical supply system demand DS/ESM

Electrical supply system demand (ESS_UpdateDem)


CARTORNIC-Structure:Ve-hES

Functional overview The function acquires demands of the subcomponents of the electrical supply system (ESS). These values
are output as power and engine speed demands.
Figure 176 : Demand of the electrical supply system - Overview

E S S _ p w rD e s
A lt_ p w r D e s
E S S _ p w rL e a d
C a lc u la tio n o f
A lt_ p w r L e a d
p w r d e m a n d s E S S _ n M in
a n d
E S S _ n B a ttM in e n g in e s p e e d
E S S _ n M a x

A c c o r d in g to B o s c h s ta n d a r d
Al t_pwrDesAlt_pwrLeadES n_BatMinES_nMaxES_Mni nES p_wrDesES_pwrLead

Functional description The speed demands of the subfunctions are collected. The minimum engine speed ESS_nMin is calculated
from the demands of the battery ESS_nBattMin. The alternator power demand Alt_pwrDes is copied to the
electrical supply system demand ESS_pwrDes; the same is done for the lead value.
Figure 177 : ESS interface

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Alt_pwrDes ESS_pwrDes

Alt_pwrLead ESS_pwrLead

ESS_nBattMin ESS_nMin

ENG_N_MAX ESS_nMax
ES p_wrDesES n_MinES_BnatMinENG_NMAXSE n_MaxAlt_pwrDesES p_wrLeadAlt_pwrLead

ECU initialization The upper speed limit ESS_nMax is initialized using ENG_N_MAX. All other values are initialized with ’0’ or
’FALSE’.

Output values ESS_nMax: maximum engine speed of ESS [rpm] <SWORD> --->
ESS_nMin: minimum engine speed demanded by ESS [rpm] <SWORD> --->
ESS_pwrDes: requested power of ess [W] <SWORD> --->
ESS_pwrLead: lead power of Electrical Supply System [W] <SWORD> --->

Input values Alt_pwrDes: required mechanical power of alternator [W] <SWORD> --->
Alt_pwrLead: lead power of Alternator [W] <SWORD> --->
ESS_nBattMin: minimum engine speed due to low battery [rpm] <SWORD> --->

ess_updatedem.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 IgnLck_Co - 165 -
DS/ESM Ignition lock Veh-ESS-IgnLck

3.5.1 Ignition lock (IgnLck_Co)


CARTONIC-Sturcture:VehE-S -IgncLk

Functional overview This function makes the status of the ignition lock available to the system. The signal is further processed as
a shut-off request for the immobilizer.

Functional description

Output values IgnLck_st: shut off requests for immobilizer [-] <UBYTE> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 ignlck.fm
- 166 - T50CD_Co Y281 S01 363-V80 P_363 F80 JTD30
Veh-ESS-IgnLck-T50CD Terminal 50 DS/ESM

3.5.2 Terminal 50 (T50CD_Co)


CARTORNIC-Structure:Ve-hES -IngLck-T05CD

Functional overview The signal "Terminal 50" is read-in in the hardware encapsulation. This function makes the state of the
terminal 50 available to the system.

Functional description

ECU initialization During initialization the output is set to 0.

Output values T50CD_stDebVal: debounced value of Terminal 50 [-] <UBYTE> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

t50cd.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ImmCtl - 167 -
DS/ESM Immobilizer Veh-ESS-IgnLck-ImmCtl

3.5.3 Immobilizer (ImmCtl)


CARTONIC-Sturcture:VehE-S -IgncLk-ImCtl

Functional overview The Immobilizer system carries out an anti theft strategy. It permits the start of the engine by the ECU only
after the reception of a secret code, that is specific one of that car previsiously stored by the ECU.
The Immobilizer system consists of three essentially elements:
• Electronic keys , each includind a secret code
• An immobilizer ECU
• The ECU witch communicates with the Immo-ECU (CAN or serial communication)
After the Key On, the ECU starts, sending the secret code request to the immo that answers sending the
secret code, only after it has recognized a known electronic key inserted into the key lock. When the code is
recognized , the program continues with the enabling of engine management activity.
Variations The software supports different immobilizer systems selectable by the label ImmCtl_swtImmoVal_C.
ImmCtl_swtImmoVal_C = 0: No Immobilizer (only for test versions)
ImmCtl_swtImmoVal_C = 1: Immobilizer via CAN in conformance with FIAT minicrypt specification re-
lease 1.0 from 6th November 1997. If communication via CAN is not possible
additional code request via w-line according to specifica finalizzata ”funzione
immobilizer” Ed. 2 Rev. A from 13 th November 1998
ImmCtl_swtImmoVal_C = 2: Serial immobilizer in conformance with the FIAT immobilizer technical spec-
ification release 2.2 from 31st march 1994.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

The immobilizer systems selected by the label ImmCtl_swtImmoVal_C is displaied in the message
ImmCtl_stImmoType

Functional description A successful immobilizer communication enables the fuel injection (IgnLck_st = 0). If the engine
management is prohibited due to the immobilizer (IgnLck_st = 1) the cause is visible via Dfp_ImmCtl_mp:
Dfp_ImmCtl_mp.MAX no code received or time-out
Dfp_ImmCtl_mp.MIN wrong code received
Dfp_ImmCtl_mp.SIG wrong code in the IMMO (10. HEX received)
Dfp_ImmCtl_mp.NPL Currently not use
Figure 178 : The actual status of the ECU is visible by ImmCtl_stImmo_mp:

E C U is v ir g in
p r o h ib its e n g in e m a n a g e m e n t p r o c e d u r e r u n n in g
IM M O S y s te m c o r r e c tly c o n n e c te d , U N IV E R S A L C O D E r u n n in g
C u r r e n tly n o t u s e d
C u r r e n tly n o t u s e
C u r r e n tly n o t u s e
C u r r e n tly n o t u s e
C u r r e n tly n o t u s e d im m c tl_ 1 .d s f

Figure 179 : A general interface between ImmCtl and other modules is ImmCtl_stBitStruct:

R e c o v e r y M o d e a c tiv e
S y s te m L a m p r e q u e s te d b y im m o b iliz e r
S y s te m L a m p " o n " in r e c o v e r y m o d e
D is a b le n e w r e q u e s t a fte r c o m m u n ic a tio n e r r o r w ith im m o b iliz e r
C u r r e n tly n o t u s e d
C u r r e n tly n o t u s e d
C u r r e n tly n o t u s e d
im m c tl_ 2 .d s f
C u r r e n tly n o t u s e d
Diagnosis tester The diagnosis line to the tester will be used in order to know the lock state due to the lack of the recognition
of the right code. The diagnosis tester communication can start after the KEY-ON and the IMMO-EDC
communication has finished.
The EDC will send, if it is requested (see also chapter diagnosis, service 21 ReadDataByLocalIdentifier), an
error byte containing the following information to the diagnosis tester.
Figure 180 : ImmCtl_stImmoDia:

( * ) n o c o d e r e c e iv e d o r tim e - o u t
( * ) w r o n g c o d e r e c e iv e d
( * ) w r o n g c o d e in th e IM M O ( 1 0 .H E X r e c e iv e d )
( # ) E C U is v ir g in
( # ) p r o h ib its e n g in e m a n a g e m e n t p r o c e d u r e r u n n in g
(# ) IM M O S y s te m c o r r e c tly c o n n e c te d , U N IV E R S A L C O D E ( 9 9 H E X ) r u n n in g
C u r r e n tly n o t u s e d
C u r r e n tly n o t u s e d

IN F O R M A T IO N (* = e rro r, # = s ta tu s ): im m c tl_ 3 .d s f

Recovery procedure by gas pedal The recovery procedure is an emergency one and it enables the user to regain possession of the car if the
keys are damaged or the IMMO has problems.

19.3.2002 immctl.fm
- 168 - ImmCtl Y281 S01 363-V80 P_363 F80 JTD30
Veh-ESS-IgnLck-ImmCtl Immobilizer DS/ESM

Focal Points: 1. The RECOVERY PROCEDURE can only be started if the EDC is locked in the “PROHIBIT ENGINE
MANAGEMENT“;
2. The RECOVERY PROCEDURE by gas pedal can be repeated any often;
3. The RECOVERY PROCEDURE by gas pedal has to be performed completely (5 digits); there won’ t be
any message if one or more digits of the entered code are wrong; the only way to verify the code is to
complete the procedure and to try to start the engine; the procedure, however, can be stopped by
switching off the key.
4. If the gas pedal is released before a time out (ImmCtl_tiRcvryWait1_C the first time,
ImmCtl_tiRcvryWait2_C the other times) the lamp won’t be switched off and the RECOVERY
PROCEDURE is aborted.
Procedure: To activate the recovery procedure, the user has to do in sequence the following operations:
1. Read the code on the Secret Code Card.
2. Put the key in ON position. The diagnosis lamp switches on by self-diagnosis.
3. Press and keep pressed the gas pedal. The diagnosis lamp switches off after ImmCtl_tiRcvryWait1_C.
4. When the diagnosis lamp switches off, leave the gas pedal.
5. After the release of the pedal the lamp will light again blinking with a period ImmCtl_tiRcvryPer1_C and
a high level duration ( ON ) ImmCtl_tiRcvryHiLv1. When the lamp will have blinked for a number of
times equal to first digit of the code, press and keep pressed the gas pedal in order to enable the EDC to
recognize it. The diagnosis lamp will light, and it will stay lit up for another ImmCtl_tiRcvryWait3_C .
6. When the diagnosis lamp switches off, leave the gas pedal.
7. After the release of the pedal the lamp will light again blinking with a period ImmCtl_tiRcvryPer1_C and

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
a high level time ( ON ) ImmCtl_tiRcvryHiLv1. When the lamp will have blinked as often as the next
digit of the code, press and keep pressed the gas pedal in order to permit to the EDC to recognize it. When
the diagnosis lamp switches off, leave the gas pedal.
8. Repeat the operations 7 and 8 for the next code digits until the last.
9. After the release of the pedal, when the last digit is recognized, the lamp will blink with a period
ImmCtl_tiRcvryPer2_C and a high level time ( ON ) ImmCtl_tiRcvryHiLv2_C for
ImmCtl_tiRcvryWait4_C or stop before, if an engine start (Eng_nAvrg > ImmCtl_nRcvry_C ) has
recognized to indicate that the code is accepted. Otherwise permanently it will light to indicate that the
code is refused. If the code is accepted, the starting of the engine is allowed within ImmCtl_tiFree_C
without any other procedure. If the code is refused repeat the procedure from point 2.
The entered code is displaid (in decimal format) in the measuring point ImmCtl_dSecrKeyAccPed_mp
Recovery procedure by diagnosis The recovery procedure by diagnosis allows to regain possession of the car if there are problems with the
IMMO. For more information about the method of approach see also chapter diagnosis,
InputOutputControlByLocalIdentifier (LocalIdentifier 00).
The entered code by diagnosis is displaid (in decimal format) in the message ImmCtl_dSecrKeyDia
Immobilizer variables
Table 66: Immobilizer variables
Label Description serial CAN
ImmCtl_numYY_C Maximum attempts at time-out and wrong checksum 32 32
comparison
ImmCtl_numZZ_C Maximum attempts of testing at wrong rolling code 3 3
comparison
ImmCtl_numKK_C Maximum attempts at wrong mode-change 3 3
ImmCtl_numWW_C Maximum attempts at time-out and wrong rolling 32 32
code comparison
ImmCtl_numWLine_C Maximum attempts at time-out, W-ine - 3
ImmCtl_rP1_C Gas pedal angle threshold for released pedal 30% 30%
ImmCtl_rP2_C Gas pedal angle threshold for pressed pedal 30% 30%
ImmCtl_nRcvry_C Speed threshold, where the light switches off after 450 1/min 450 1/min
successful code input via the accelerator pedal
ImmCtl_nSpdRst_C Speed threshold where after unsuccessful 750 1/min 750 1/min
communication a check for reset is made
ImmCtl_nSpdRnd_C Speed threshold below which a new random number 3000 1/min 3000 1/min
for the chalange is calculated
ImmCtl_tiNewReqEngStop_C Time delay after N=0 where fuel quantity is blocked 300s 300s
ImmCtl_tiFree_C Time the engine management is permitted, after 600s 600s
successful recovery mode without starting
ImmCtl_tiToutRcrd_C Timeout for code reception in recovery-mode 90ms 90ms
ImmCtl_tiToutVrfy_C Timeout for code reception in verify-mode 40ms 40ms
ImmCtl_tiWLineTout_C Timeout for code reception via w-line - 250ms
ImmCtl_tiSndChkByte_C Time between ignition on and check byte - 700ms
ImmCtl_tiRcvryWait1_C Recovery Mode; Wait time after acceleration pedal 8s 8s
pressed and switching off of diagnosis lamp
ImmCtl_tiRcvryWait2_C Recovery Mode; Wait time during diagnosis lamp is 4s 4s
off at the begin of recovery mode
ImmCtl_tiRcvryPer1_C Recovery Mode; period of blinking signal for code- 1,25 s 1,25 s
entering
ImmCtl_tiRcvryWait3_C Recovery Mode; Wait time during diagnosis lamp is 4s 4s
on in order to acknowledge the input
ImmCtl_tiRcvryPer2_C Recovery Mode; period of blinking signal for 625 ms 625 ms
indicating the correct code-entering
ImmCtl_tiRcvryWait4_C Recovery Mode; Wait time during diagnosis lamp is 4s 4s
off and waiting for a new blinking
ImmCtl_tiRcvryHiLvl1_C Recovery Mode; high level time for blink-signal with 312 ms 312 ms
period ImmCtl_tiRcvryPer1_C
ImmCtl_tiRcvryHiLvl2_C Recovery Mode; high level time for blink-signal with 156 ms 156 ms
period ImmCtl_tiRcvryPer2_C
ImmCtl_tiDisblNewReq_C Disable new request after communication error 0s 0s
ImmCtl_tiNewReqEngStop_C time for new request after engine stop 30 s 30 s

immctl.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ImmCtl - 169 -
DS/ESM Immobilizer Veh-ESS-IgnLck-ImmCtl

Label Description serial CAN


ImmCtl_tiDlyReqAftrOfOn_C delay new code request after quick terminal 15 off - 200 ms 200 ms
> on
ImmCtl_tiTimeoutEeprom_C Timeout for writing to EEPROM 200 ms 200 ms
ImmCtl_DebMaxDef_C error debounce counter for Dfp_ImmCtl.MAX 0 0
ImmCtl_DebMaxOk_C healing debounce counter for Dfp_ImmCtl.MAX 0 0
ImmCtl_DebMinDef_C error debounce counter for Dfp_ImmCtl.MIN 0 0
ImmCtl_DebMinOk_C Healing debounce error counter for 0 0
Dfp_ImmCtl.MIN
ImmCtl_DebSigDef_C error debounce counter for Dfp_ImmCtl.MAX 0 0
ImmCtl_DebSigOk_C healing debounce error counter for 0 0
Dfp_ImmCtl.MAX
ImmCtl_numReset_C Authorized numbers of resets 5 5

Hint: Serial immo not implemented yet.


Condition to allow Flash-Programming Condition to allow Flash-Programming after the communication to immobilizer ImmCtl_stFlash is set if EDC
is virgin (ImmCtl_stImmoDia.3 = 1) OR ECU doesn‘t prohibit engine managment procedure running
(ImmCtl_stImmoDia.4 = 0), see “Start of programming while the driving software is running (ECU)” on page
895.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Output values IgnLck_st: shut off requests for immobilizer [-] <UBYTE> --->
ImmCtl_dSecrKeyDia: Secret key received from diagnosis (recovery mode) [-] <ULONG> --->
ImmCtl_stBitStruct: General interface between ImmCtl and other modules [-] <UBYTE> --->
ImmCtl_stFlash: Immobilizer status to allow Flash Programming [-] <UBYTE> --->
ImmCtl_stImmoDia: Interface to diagnosis tester [-] <UBYTE> --->
ImmCtl_stImmoType: Type of Immo - used to pass the application value as message [-] <UBYTE>
--->

Input values

Measuring points Dfp_ImmCtl_mp: Measurement point for fault path Dfp_ImmCtl [-] <UWORD> --->
ImmCtl_dRandom_mp: Random number generated by EDC [-] <ULONG> --->
ImmCtl_dSecrKeyAccPed_mp: Secret key entered by acceleration pedal (recovery mode) [-]
<ULONG> --->
ImmCtl_stImmo_mp: actual immobilizer status of the EDC [-] <UBYTE> --->
ImmCtl_stLogic_mp: state of the immobilizer logic [-] <UBYTE> --->

Application parameters ImmCtl_DebMaxDef_C: error debounce counter for Dfp_ImmCtl.MAX<value> --->


ImmCtl_DebMaxOk_C: healing debounce counter for Dfp_ImmCtl.MAX<value> --->
ImmCtl_DebMinDef_C: error debounce counter for Dfp_ImmCtl.MIN<value> --->
ImmCtl_DebMinOk_C: Healing debounce error counter for Dfp_ImmCtl.MIN<value> --->
ImmCtl_DebSigOk_C: error debounce counter for Dfp_ImmCtl.MAX<value> --->
ImmCtl_nRcvry_C: Speed threshold, where the light switches off after successful code input
via the accelerator pedal<value> --->
ImmCtl_nSpdRnd_C: Speed threshold below which a new random number for the chalange is
calculated<value> --->
ImmCtl_nSpdRst_C: Speed threshold where after unsuccessful communication a check for reset
is made<value> --->
ImmCtl_numKK_C: Maximum attempts at wrong mode-change<value> --->
ImmCtl_numReset_C: Authorized numbers of resets<value> --->
ImmCtl_numWLine_C: Maximum attempts at time-out regarding code reception on W-Line<value>
--->
ImmCtl_numWW_C: Maximum attempts at time-out and wrong rolling code reception<value> --->
ImmCtl_numYY_C: Maximum attempts at time-out and wrong checksum comparison<value> --->
ImmCtl_numZZ_C: Maximum attempts of testing at wrong rolling code comparison<value> --->
ImmCtl_rP1_C: Gas pedal angle threshold for released pedal<value> --->
ImmCtl_rP2_C: Gas pedal angle threshold for pressed pedal<value> --->
ImmCtl_tiDisblNewReq_C: Disable new request after communication error<value> --->
ImmCtl_tiDlyReqAftrOfOn_C: delay new code request after quick terminal 15 off -> on<value>
--->
ImmCtl_tiFree_C: Time the engine management is permitted, after successful recovery mode
without starting<value> --->
ImmCtl_tiNewReqEngStop_C: Time delay after N=0 where fuel quantity is blocked<value> --->
ImmCtl_tiRcvryHiLvl1_C: Recovery Mode; high level time for blink-signal with period
ImmCtl_tiRcvryPer1_C<value> --->
ImmCtl_tiRcvryHiLvl2_C: Recovery Mode; high level time for blink-signal with period
ImmCtl_tiRcvryPer2_C<value> --->
ImmCtl_tiRcvryPer1_C: Recovery Mode; period of blinking signal for code-entering<value>
--->
ImmCtl_tiRcvryPer2_C: Recovery Mode; period of blinking signal for indicating the correct
code-entering<value> --->
ImmCtl_tiRcvryWait1_C: Recovery Mode; Wait time after acceleration pedal pressed and
switching off of diagnosis lamp<value> --->
ImmCtl_tiRcvryWait2_C: Recovery Mode; Wait time during diagnosis lamp is off at the beginn
of recovery mode<value> --->
ImmCtl_tiRcvryWait3_C: Recovery Mode; Wait time during diagnosis lamp is on in order to
acknowledge the input<value> --->
ImmCtl_tiRcvryWait4_C: Recovery Mode; Wait time during diagnosis lamp is off and waiting

19.3.2002 immctl.fm
- 170 - ImmCtl Y281 S01 363-V80 P_363 F80 JTD30
Veh-ESS-IgnLck-ImmCtl Immobilizer DS/ESM

for a new blinking<value> --->


ImmCtl_tiSndChkByte_C: Time between ignition on and checkbyte<value> --->
ImmCtl_tiTimeoutEeprom_C: Timeout for writing to EEPROM<value> --->
ImmCtl_tiToutRcrd_C: Timeout for code reception in recovery-mode<value> --->
ImmCtl_tiToutVrfy_C: Timeout for code reception in verify-mode<value> --->
ImmCtl_tiWLineTout_C: Timeout for code reception via w-line<value> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

immctl.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Batt - 171 -
DS/ESM Battery Veh-ESS-Batt

3.5.4 Battery (Batt)


CARTONIC-Sturcture:VehE-S -Bta

Overview of the component


Battery The Batt component contains all tasks assigned to the battery in the engine control.

Structure of the component Batt has the following subcomponents


Figure 181 : Batt subcomponents

B a tt B a ttC D

Subfunctions See “Battery voltage correction (Batt_CorFac)” on page 172.


© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 batt_overview.fm
- 172 - Batt_CorFac Y281 S01 363-V80 P_363 F80 JTD30
Veh-ESS-Batt Battery voltage correction DS/ESM

Battery voltage correction (Batt_CorFac)


CARTORNIC-Structure:Ve-hES -Bat

Functional overview A series of actuators is controlled via a duty cycle in pulse-width modulation (PWM). The actuator position
depends both on the duty cycle and on the battery voltage. The influence of the battery voltage can be
compensated by the battery voltage correction.
The function calculates the factor for the battery voltage correction.
Factor for battery voltage correction = f(Battery voltage)
Figure 182 : Battery voltage correction - overview

B a ttC D _ u B a tte ry B a tt_ fa c C o r


v o lta g e
c o r r e c tio n

A c c o r d in g to B o s c h s ta n d a r d
Bat_facCorBatCD_u

Functional description To calculate the correction factor Batt_facCor, a standardized voltage Batt_uNrm_C is set in relation to the
battery voltage BattCD_u.
This correction factor is multiplied in the component driver with the output duty cycle.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Equation 5: Factor for battery voltage correction
B a tt_ u N rm _ C
B a tt_ fa c C o r =
B a ttC D _ u

ECU initialization Initialization of the correction factor Batt_facCor with "1".

Output values Batt_facCor: Battery voltage correction factor [-] <SWORD> --->

Input values BattCD_u: battery voltage [mV] <SWORD> --->

Application parameters Batt_uNrm_C: Normalized battery voltage<value> --->

batt_corfac.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Alt - 173 -
DS/ESM Alternator Veh-ESS-Alt

3.5.5 Alternator (Alt)


CARTONIC-Sturcture:VehE-S -Atl

Overview of the component


Alternator The Alt component determines the power requirement of the alternator and ensures alternator protection.

Structure of the component The component consists of the following subcomponents:


Figure 183 : Subcomponents Conv

A lt A ltC D

Subfunctions See “Determination of alternator power requirement (Alt_DetAltPwr)” on page 174.


© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 alt_overview.fm
- 174 - Alt_DetAltPwr Y281 S01 363-V80 P_363 F80 JTD30
Veh-ESS-Alt Determination of alternator power requirement DS/ESM

Determination of alternator power requirement (Alt_DetAltPwr)


CARTORNIC-Structure:Ve-hES -Atl

Functional overview The static power requirement of the alternator is determined depending on power requirement and efficiency.
By multiplication of the static power requirement and the adjustment value, the current power requirement
and its lead value is calculated and output. Power requirement and adjustment value are determined as
application parameters.
Mechanical power requirement of the alternator
= f(Application value power requirement, adjustment value)
Lead power of the alternator = f(Application value power requirement, adjustment value)
Figure 184 : Determination of alternator power requirement - Overview

A p p lic a tio n v a lu e A lt_ p w r D e s


p o w e r
r e q u ir e m e n t
A lt_ p w r L e a d

A d ju s tm e n t v a lu e

A c c o r d in g to B o s c h s ta n d a r d

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Al t_pwrDesAlt_pwrLead

Functional description The static power requirement Alt_pwrDes is extrapolated from a rigidly applicated average electrical power
requirement Alt_pwrElDes_C and a typical operating efficiency Alt_etaTyp_C. The calculated power is then
multiplied by an adjustment value Alt_rAdjVal_mp. The adjustment value can be externally adapted by a
service diagnostic tool. It is limited by Alt_rAdjValMin_C and Alt_rAdjValMax_C, to be on the safe side.
The lead value is set to the identical value.
Figure 185 : Conversion of electrical power to mechanical power

Alt_pwrEIDes_C Alt_pwrDes

Alt_etaTyp_C

Alt_rAdjValMax_C Alt_pwrLead

Alt_rAdjValMin_C

Alt_rAdjVal_mp
EEPROM_AdjVal
Limiter
Al t_pwrEIDes_CE PROM_AdjValAt_rAdVj alMin_C Alt_etaTyp_CAlt_rAjdValMax_CAlt_pwrDesAlt_pwrLeadAlt_rAdjVa_l mp

Substitute function In the event of an EEPROM reading error the default value Alt_rAdjValDef_C is used for the adjustment
value Alt_rAdjVal_mp.

ECU initialization The outputs are initialized with "0".

Output values Alt_pwrDes: required mechanical power of alternator [W] <SWORD> --->
Alt_pwrLead: lead power of Alternator [W] <SWORD> --->

Measuring points Alt_rAdjVal_mp: Adjustment value [-] <SWORD> --->

Application parameters Alt_etaTyp_C: static alternator efficiency<value> --->


Alt_pwrElDes_C: desired electrical power of alternator<value> --->
Alt_rAdjValDef_C: default value power adjustment alternator<value> --->
Alt_rAdjValMax_C: maximum value power adjustment alternator<value> --->
Alt_rAdjValMin_C: minimum value power adjustment alternator<value> --->

alt_detaltpwr.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 VehDa - 175 -
DS/ESM Vehicle data Veh - VehDa

3.6 Vehicle data (VehDa)


CARTONIC-Sturcture:Veh-VehDa

Overview of the component


Vehicle Data The VehDa component provides the system with all the necessary vehicle data and the states of vehicle
control
(Example: predefined active setpoint , vehicle speed, distance driven, operating hours,...).

Structure of the component The VehDa component consists of the following subcomponents:
Figure 186 : VehDat subcomponents

V e h D a V S S C D

Subfunctions See “Mark demands (VehDa_MarkDem)” on page 176.


See “Determination of distance covered (VehDa_lSumCalc)” on page 179.
See “Determination of the engine-ON operating time (VehDa_tiEngOnCalc)” on page 178.
See “Vehicle speed to engine speed ratio (VehDa_rVnCalc)” on page 180.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 vehda_overview.fm
- 176 - VehDa_MarkDem Y281 S01 363-V80 P_363 F80 JTD30
Veh - VehDa Mark demands DS/ESM

Mark demands (VehDa_MarkDem)


CARTORNIC-Structure:Veh-VeDha

Functional overview The function determines which functions or assemblies make demands regarding torque or engine speed
and then outputs the status of the current torque demand.
Status of the torque demand = f(Driver command raw value,
Torque demand A/C compressor,
Power requirement of the alternator,
Minimum torque requirement of the accessories,
Torque requirement for permanent accessories,
Torque requirement for temporary accessories,
Torque intervention CrCtl,
Torque requirement TCS,
Torque intervention DCS,
Decreasing torque intervention,
Increasing torque intervention of the gearbox,
Low-idle governor torque,
Torque for maximum vehicle speed limiting,
Gearbox input torque driver command,

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Minimum possible drive torque,
Propulsion torque demand ahead of reference filter,
Propulsion torque demand of longitudinal motion,
Power requirement of the servo pump)
Figure 187 : Mark demands - overview

C o D T _ trq G e a rb x D e s

C o D T _ tr q M in

P rp _ trq R a w

P rp B rk _ trq D e s

A c c P e d _ trq D e s

A C T rq C _ trq D e s

A lt_ p w r D e s

C o D T _ tr q A c s M in

C o V e h _ trq A c s P e rm
V e h D a _ s tT rq D e m
C o V e h _ trq A c s T e m p M a rk d e m a n d s

C o V M _ trq D e c

C o V M _ trq In c

C r C tl_ tr q D e s

G e a rb x _ trq D e c

G e a rb x _ trq In c

L IG o v _ trq

P r p C tl_ tr q S p d L im

S rv P m p _ p w rD e s

A c c o r d in g to B o s c h s ta n d a r d
AcPed_trqDesACTrqC_trqDesAlt_pwrDesCoD_TtrqAcsMinCoDT_trqGearbxDesCoDT_trqMinCoVeh_trqAcsPemr CoVeh_trqAcsTempCoVM_trqDecCoMV_trqIncCrtl_trqDesGearbx_trqDecGearbx_trqIncLGov_trq Ppr_trqRawPrBprk_trqDesPrpCtl_rqSpdLimSrvPmp_ wrDseVehDa_stTrqDem

Functional description
Torque demand The result of testing for torque demand is entered in the status VehDa_stTrqDem. Only the highest priority
requirements from the propulsion are marked in the lower byte, all active requirements of the accessories
and the status of the compensation function are entered in the upper byte.
The low-idle governor has the lowest priority in the lower byte followed by functions from driver command to
transmission intervention with increasing priority corresponding to the function chain.
Table 67: Bit assignment of the status words of the current torque demands VehDa_stTrqDem
Bit Torque demand Condition in code
0 Accelerator pedal AccPed_trqDes > CoDT_trqMin
(AccPed_trqDes determines propulsion)
1 CrCtl or ACC CrCtl_trqDes > trqTmpPrio
( CrCtl_trqDes determines propulsion)
2 Propulsion control PrpCtl_trqSpdLim == Prp_trqRaw
(PrpCtl_trqSpdLim determines propulsion)
3 Engine drag torque control CoVM_trqInc > PrpBrk_trqDes
(CoVM_trqInc determines propulsion)
4 Traction control CoVM_trqDec < PrpBrk_trqDes
(CoVM_trqDec determines propulsion)
5 vacant

vehda_markdem.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 VehDa_MarkDem - 177 -
DS/ESM Mark demands Veh - VehDa

Bit Torque demand Condition in code


6 Gearbox control Gearbx_trqInc > CoDT_trqGearbxDes ||
(Gearbx_trqInc or Gearbx_trqDec determines Gearbx_trqDec < CoDT_trqGearbxDes
propulsion)
7 Low-idle governor LIGov_trq > TRQ_ZERO
(LIGov_trq > 0) and no other demand
8 vacant

9 Alternator Alt_pwrDes > PWR_ZERO


(Alt_pwrDes > 0)
10 Servo pump SrvPmp_pwrDes > PWR_ZERO
(SrvPmp_pwrDes > 0)
11 vacant

12 12: A/C compressor (ACTrqC_trqDes > 0) ACTrqC_trqDes > TRQ_ZERO


13 vacant

14 vacant

15 Active temporary accessories are compensated CoVeh_trqAcsTemp != TRQ_ZERO &&


(CoDT_trqAcsMin <= CoVeh_trqAcsPerm AND CoDT_trqAcsMin <= CoVeh_trqAcsPerm
CoVeh_trqAcsTemp!= 0)
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

If the engine is in overrun, the compensation of the accessories is deactivated in “Provision of torque interval
(CoDT_PrpTrqRngCalc)” on page 117 as well, bit 15 is set to status 0.

ECU initialization Set all states to ’0’

Output values VehDa_stTrqDem: state of active torque demands [-] <UWORD> --->

Input values AccPed_trqDes: driver torqe raw value of propulsion [Nm] <SWORD> --->
ACTrqC_trqDes: desired torque of AC [Nm] <SWORD> --->
Alt_pwrDes: required mechanical power of alternator [W] <SWORD> --->
CoDT_trqAcsMin: minimum torque demand of accessories [Nm] <SWORD> --->
CoDT_trqGearbxDes: desired gearbox input torque (from driver) [Nm] <SWORD> --->
CoDT_trqMin: minimum torque of Drive Train [Nm] <SWORD> --->
CoVeh_trqAcsPerm: torque of permanent active accessories [Nm] <SWORD> --->
CoVeh_trqAcsTemp: torque of temporary active accessories [Nm] <SWORD> --->
CoVM_trqDec: checked torque demand of ASR [Nm] <SWORD> --->
CoVM_trqInc: checked torque demand of MSR [Nm] <SWORD> --->
CrCtl_trqDes: Cruise Control torque demand [Nm] <SWORD> --->
Gearbx_trqDec: gearbox decrement torque demand [Nm] <SWORD> --->
Gearbx_trqInc: gearbox increase torque demand [Nm] <SWORD> --->
LIGov_trq: demanded torque of LIGov [Nm] <SWORD> --->
Prp_trqRaw: raw value of propulsion torque demand [Nm] <SWORD> --->
PrpBrk_trqDes: x-movement torque demand [Nm] <SWORD> --->
PrpCtl_trqSpdLim: limited torque for maximum speed limitation [Nm] <SWORD> --->
SrvPmp_pwrDes: desired power of servo pump [W] <SWORD> --->

19.3.2002 vehda_markdem.fm
- 178 - VehDa_tiEngOnCalc Y281 S01 363-V80 P_363 F80 JTD30
Veh - VehDa Determination of the engine-ON operating time DS/ESM

Determination of the engine-ON operating time (VehDa_tiEngOnCalc)


CARTORNIC-Structure:Veh-VeDha

Functional overview This function determines the operating time of the engine. This is done by summing up in one counter. When
switching off the control unit, the counter value is saved in the EEPROM.
Acquisition of the current operating time = f(Current engine state,
Acquisition of the distance covered,
Engine speed)
Figure 188 : Acquisition of the operating time - overview

C o E n g _ s tE n g

V e h D a _ lS u m V e h D a _ tiE n g O n
C o u n te r
E n g _ n A v rg

E E P R O M

A c c o r d in g to B o s c h s ta n d a r d

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
CoEgn_stEngn_nAvrgVehDa_lSumVehDa_tiEngOn

Functional description The operating time is summed up as long as the engine state CoEng_stEng is in the normal state 04hex
(COENG_STNORMAL) and the engine speed is Eng_nAvrg > 0.
Accuracy The max. recordable operating time VehDa_tiEngOn for a resolution of 1 second is 232 secs. = 136 years.
Reading and storing in EEPROM During the initialization, the last value of the operating time VehDa_tiEngOn is read from the EEPROM.
In afterrun, the value is written back to the EEPROM.

Additionally, the corresponding EEPROM block (operating time VehDa_tiEngOn, odometer VehDa_lSum))
is written to the EEPROM during the driving cycle. Writing to the EEPROM takes place in the distance interval
VehDa_lEepUpd_C, i.e. whenever the odometer VehDa_lSum increases by VehDa_lEepUpd_C. The values are
only stored in the EEPROM when the average engine speed Eng_nAvrg is within the range
VehDa_nMinEepUpd_C to VehDa_nMaxEepUpd_C.
For the application of VehDa_lEepUpd_C, the maximum possible writing cycles of the EEPROM module used
have to be taken into account (eg. max. 100000 writing cycles for M95160).
Dynamic requirements Operating time updated every 100 ms.
KWP2000 - access A new operating time can be set via KWP2000. In afterrun, this pre-set time plus the time elapsed from then
on is stored in the EEPROM.

Monitoring At KWP2000-access, the supplied value is accepted without verification.

Substitute function If a CRC error is registered during reading of the EEPROM value, the operating hour counter VehDa_tiEngOn
starts with the default value 0 s. In this case, however, VehDa_tiEngOn is not written back to the EEPROM.

ECU initialization Initialization of the operating time VehDa_tiEngOn with the most recently stored EEPROM value.

Output values VehDa_tiEngOn: coverage engine on time [s] <ULONG> --->

Input values CoEng_stEng: current engine state [-] <UBYTE> --->


Eng_nAvrg: average engine speed [rpm] <SWORD> --->
VehDa_lSum: coverage driven length [m] <ULONG> --->

Application parameters VehDa_lEepUpd_C: distance interval between two updates of the EEPROM block for vehicle
data (VehDa_lSum, VehDa_tiEngOn)<value> --->
VehDa_nMaxEepUpd_C: maximum engine speed for update of EEPROM block (VehDa_lSum,
VehDa_tiEngOn)<value> --->
VehDa_nMinEepUpd_C: minimum engine speed for update of EEPROM block (VehDa_lSum,
VehDa_tiEngOn)<value> --->

vehda_tiengon.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 VehDa_lSumCalc - 179 -
DS/ESM Determination of distance covered Veh - VehDa

Determination of distance covered (VehDa_lSumCalc)


CARTONIC-Sturcture:Veh-VehDa

Functional overview The function determines the distance covered. This is done by summing up in one counter. When the control
unit is switched off, the counter value is saved in the EEPROM.
Acquisition of the distance covered = f(Raw value vehicle speed)
Figure 189 : Determination of distance covered - overview

V S S C D _ v R a w V e h D a _ lS u m
D is ta n c e
c o u n te r

E E P R O M

A c c o r d in g to B o s c h s ta n d a r d
VeDha_lSumVSCD_vRaw

Functional description The covered distance is continuously added up. For this, the raw velocity VSSCD_vRaw is integrated over time
in VehDa_lInt_mp. If VehDa_lInt_mp exceeds a LSB of the distance counter VehDa_lSum, VehDa_lSum is
increased by this value and the corresponding value is subtracted from VehDa_lInt_mp.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Accuracy The resolution of VehDa_lSum is 1 m.

The counter counts up to a maximum of 232, corresponding to over 4 million km covered. The precision
depends on the vehicle speed acquisition.
Dynamic requirements The distance covered is updated every 20 ms.
Reading and storing (EEPROM) During initialization, the last value of the distance covered VehDa_lSum is read from the EEPROM. In afterrun,
the value is written back to the EEPROM. Additionally, the counter is cyclically written back to the EEPROM
during vehicle operation, see “Determination of the engine-ON operating time (VehDa_tiEngOnCalc)” on
page 178.
KWP2000 - access A new distance covered can be set using KWP2000. In afterrun, the value set plus the distance covered since
this moment in time is stored in the EEPROM.

Monitoring There is no monitoring in normal operation.


At KWP2000-access, the supplied value is accepted without verification.

Substitute function If a CRC error is registered during reading the EEPROM value, the distance counter VehDa_lSum starts with
the default value 0 m. In this case, however, VehDa_lSum is not written back to the EEPROM.
If the Fid Fid_VehDaDist_mp is inhibited (Fid_VehDaDist_mp.0 = 0, eg. for defective vehicle speed signal),
the distance counter VehDa_lSum is not increased.

ECU initialization Initialization of the distance covered VehDa_lSum with the most recently stored EEPROM value. The
integration auxiliary value VehDa_lInt_mp starts at 0 m. At first EEPROM initialization, the EEPROM value
for VehDa_lSum is set to 0 km.

Output values VehDa_lSum: coverage driven length [m] <ULONG> --->

Input values VSSCD_vRaw: raw vehicle speed [km/h] <SWORD> --->

Measuring points Fid_VehDaDist_mp: Status of function identifier Fid_VehDaDist to inhibit distance counter
VehDa_lSum [-] <UBYTE> --->
VehDa_lInt_mp: interim counter for driven distance VehDa_lSum by integrating vehicle speed
VSSCD_vRaw [m] <SLONG> --->

19.3.2002 vehda_lsum.fm
- 180 - VehDa_rVnCalc Y281 S01 363-V80 P_363 F80 JTD30
Veh - VehDa Vehicle speed to engine speed ratio DS/ESM

Vehicle speed to engine speed ratio (VehDa_rVnCalc)


CARTORNIC-Structure:Veh-VeDha

Functional overview The current transmission ratio and with it, for example, the engaged gear can be calculated from the ratio of
vehicle speed and engine speed. This value is determined, limited to a maximum value, filtered and provided
for other functions.
Ratio of vehicle speed to engine speed = f(Engine speed,
Vehicle speed)
Figure 190 : Ratio vehicle speed to engine speed - Overview

E n g _ n A v rg
V e h ic le s p e e d V e h D a _ rV n
V S S C D _ v to e n g in e s p e e d
r a tio
A c c o r d in g to B o s c h s ta n d a r d

Eng_nAvrgVeDha_rVnS DC_v

Functional description The averaged engine speed Eng_nAvrg is low-pass filtered before the calculation of the v/n-ratio (time
constant VehDa_tiNPT1_C) to adapt its dynamic behaviour to that of the vehicle speed signal VSSCD_v which
is already present in low-pass filtered form. The v/n-ratio is obtained from the (already filtered) vehicle speed
VSSCD_v and the filtered engine speed VehDa_nEngFilt_mp. At engine standstill (VehDa_nEngFilt_mp = 0)

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
the v/n-ratio is set to zero. The v/n-ratio is then limited to the maximum value VehDa_rVnMax_C and low-pass
filtered (time constant VehDa_tiVnPT1_C) to produce the valid v/n-ratio VehDa_rVn.
Figure 191 : Calculation of the v/n-ratio
e n g in e s ta n d s till
h a n d lin g V e h D a _ tiV n P T 1 _ C

V e h D a _ rV n M a x _ C
0 .0
0 .0

V S S C D _ v M N M X K T
V e h D a _ rV n
0 .0 P T 1
V e h D a _ tiN P T 1 _ C
IV
K T
E n g _ n A v rg V e h D a _ n E n g F ilt_ m p
P T 1

IV
Eng_nAvrgVeDha_tiNPT1_CVS C_DvVehDa_nE gFilt_mpVehDa_rVnMax_C VehDa_tiVnPT1_CVheDa_rVn

Monitoring There is no monitoring for VehDa_rVn.

Substitute function In case of an error in the vehicle speed VSSCD_v or in the average engine speed Eng_nAvrg, no substitute
function is triggered for VehDa_rVn. VehDa_rVn is furthermore calculated based on the default values
VSSCD_v or Eng_nAvrg.

ECU initialization VehDa_rVn and VehDa_nEngFilt_mp are initialized with zero.

Output values VehDa_rVn: ratio of vehicle speed to engine speed [(km/h)/rpm] <SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


VSSCD_v: vehicle speed (velocity) [km/h] <SWORD> --->

Measuring points VehDa_nEngFilt_mp: prefiltered engine speed to build v/n ratio [rpm] <SWORD> --->

Application parameters VehDa_rVnMax_C: maximum v/n-ratio<value> --->


VehDa_tiNPT1_C: T1 time constant to prefilter engine speed for v/n-ratio<value> --->
VehDa_tiVnPT1_C: T1 time constant for filter v/n-ratio<value> --->

vehda_rvn.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Eng - 181 -
DS/ESM Engine Veh-DrvTrn-Eng

4 Engine (Eng)
CARTONIC-Sturcture:VehD-rvTrnE-ng

Overview of the component


Engine The main task of the component “Eng” in the vehicle is to enable the vehicle propulsion (negative propulsion).
In addition to this main task, vehicle accessories must be operated. These are not managed by “Eng”,
however.
The demands on “Eng” can be reduced to a few specific individual requirements:
• Representation of a torque (absolute or increase/reduction of the current torque)
• Heat emission
• Information such as the engine speed, the currently available power interval and the current gearbox input
torque.
• Start
• Shut-off

Structure of the component The Eng component consists of the following subcomponents:
Figure 192 : Eng subcomponents

A ir S y s
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

A S D d c

A S D rf

In jC tl

M R ly C D

C o E n g

E n g M
E n g

L IG o v

E n g O p t

S tS y s

G lw S y s

F IS y s

In jU n

Subfunctions See “Engine speed (Eng_Spd)” on page 184.


See “Engine temperature (Eng_tEngCalc)” on page 182.
See “Engine curve (Eng_TrqSpdCrv)” on page 185.

19.3.2002 eng_overview.fm
- 182 - Eng_tEngCalc Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng Engine temperature DS/ESM

Engine temperature (Eng_tEngCalc)


CARTORNIC-Structure:Ve-hDrvTrnE-ng

Functional overview The engine temperature is a central variable for the open loop control of several engine and vehicle functions.
The function determines the engine temperature Eng_tEng and an engine temperature field Eng_tFld,
consisting of coolant temperature, oil temperature and engine temperature, and makes these available to the
system.
In this implementation, the engine temperature is obtained directly from the coolant temperature.
Engine temperature = f(Coolant temperature)
Engine temperature at start = f(Coolant temperature)
Engine temperature field = f(Coolant temperature, Oil temperature, Engine temperature)
Since the coolant temperature only reflects the engine temperature insufficiently after starting when the
combustion chamber is cooled off, the engine temperature after starting is represented by the coolant
temperature less an offset. This offset is broken down based on the injection quantity and the time elapsed
since start-up until it can be assumed that the engine temperature corresponds to the coolant temperature.
Figure 193 : Engine temperature - Overview

E n g _ tE n g
C T S C D _ tC ln t
E n g _ tF ld

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
E n g in e
O T S C D _ tE n g O il te m p e ra tu re
E n g _ tS trt

A c c o r d in g to B o s c h s ta n d a r d
CTSDC_tClntEng_tEng _tFldEng_tSrtOTSCDt_EngOil

Functional description The engine temperature Eng_tEng is based on the coolant temperature CTSCD_tClnt. As a first step after
terminal 15 on, the current coolant temperature CTSCD_tClnt is maintained as the engine starting
temperature Eng_tStrt. Based on this value, a start-up offset Eng_tEngStrtOffset_mp for engine and
coolant temperatures and the integration factor Eng_facIOffsetRed_mp are calculated from the curves
Eng_tEngStrtOffset_CUR and Eng_facIOffsetRed_CUR. At the end of the start-up phase the engine
temperature is no longer determined by Eng_tStrt, but rather by the coolant temperature less
Eng_tEngOffset_mp. Eng_tEngOffset_mp is the start-up offset Eng_tEngStrtOffset_mp reduced by
cumulative value Eng_tEngOffsetRed_mp based on the injection quantity InjCtl_qSetUnBal and is limited
to 0.
Figure 194 : Calculating the engine temperature

S tS y s _ s tS trt = S T S Y S _ S T R T (0 1 )
E n g _ tE n g S trt
E n g _ tE n g

C T S C D _ tC ln t

E n g _ tE n g S trtO ffs e t_ m p M X

E n g _ tE n g O ffs e t_ m p

E n g _ tE n g S trtO ffs e t_ C U R

E n g _ fa c IO ffs e tR e d _ m p

E n g _ tE n g O ffs e tR e d _ m p
E n g _ fa c IO ffs e tR e d _ C U R

In jC tl_ q S e tU n B a l
T
e n g _ te n g _ 2 .e p s

T = 1 0 0 m s T = 1 0 0 m s

CTSDC_tClntEng_tEng _facIOfsetRd_mp Eng_facIOfsetRed_CUREn_gtEngOfset_mpEng_tEngOfsetRed_mpEng_tEngOfsetRedC_UREng_tEngStrOfset_mpEng_tEngStrOfset_CUR Eng_tSrtInjCtl_qSetUnaBl

To allow the various temperatures relevant for the engine to be made available in all functions, these
temperatures are copied into the engine temperature field Eng_tFld. With the aid of an application
parameter, the desired temperature can be selected from this field in each function separately. A simple
expansion of the system with a new temperature is permitted by the field.
In the Basic version, the engine temperature field contains the coolant temperature CTSCD_tClnt, the oil
temperature OTSCD_tEngOil and the engine temperature Eng_tEng. The positions of the temperatures in the
field correspond to the order of their numbering.
Figure 195 : Engine temperature and engine temperature field

C T S C D _ tC ln t E n g _ tF ld [C o o la n t_ T e m p e r a tu r e = 0 ]
e n g _ te n g _ 1 .e p s

O T S C D _ tE n g O il E n g _ tF ld [O il_ T e m p e r a tu r e = 1 ]

E n g _ tE n g E n g _ tF ld [E n g _ tE n g = 2 ]
CTSDC_tClntEng_tEng _tFldEng_tSrtOTSCDt_EngOil

Output values Eng_tEng: engine temperature [deg C] <SWORD> --->


Eng_tFld: engine temperature field [deg C] <SWORD> --->
Eng_tStrt: engine starting temperature [deg C] <SWORD> --->

Input values CTSCD_tClnt: coolant temperature [deg C] <SWORD> --->


InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->
OTSCD_tEngOil: engine oil temperature [deg C] <SWORD> --->
StSys_stStrt: state of starting system [-] <UBYTE> --->

eng_teng.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Eng_tEngCalc - 183 -
DS/ESM Engine temperature Veh-DrvTrn-Eng

Measuring points Eng_facIOffsetRed_mp: integration factor of the offset reduction [K/s] <SWORD> --->
Eng_tEngOffset_mp: offset of engine temperature to cooling temperature [K] <SWORD> --->
Eng_tEngOffsetRed_mp: reduction of the offset of engine temperature to cooling temperature
[K] <SWORD> --->
Eng_tEngStrtOffset_mp: starting offset of engine temperature to cooling temperature [K]
<SWORD> --->

Application parameters Eng_facIOffsetRed_CUR: curve to determine the integration factor of the offset
reduction<curve_individual> --->
Eng_tEngStrtOffset_CUR: curve to determine the starting offset of engine temperature to
cooling temperature<curve_individual> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 eng_teng.fm
- 184 - Eng_Spd Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng Engine speed DS/ESM

Engine speed (Eng_Spd)


CARTORNIC-Structure:Ve-hDrvTrnE-ng

Functional overview The function calculates the average and the current engine speed as well as the average engine
acceleration. The engine position management provides the values for this purpose.
Average engine speed = f(Averaged crankshaft speed,
Current engine speed)
Current engine speed = f(Averaged crankshaft speed,
Current engine speed)
Figure 196 : Engine speed - overview

E n g _ d n A v rg
C rS C D _ n A v rg
E n g _ n A v rg
C rS C D _ n C u rr E n g in e s p e e d
E n g _ n C u rr

A c c o r d in g to B o s c h s ta n d a r d
Eng_dnAvrgEng_nAvrgEng_nCurCrSCD_nAvrgCrCSD_nCur

Functional description

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Engine speed The engine speeds Eng_nAvrg and Eng_nCurr are provided by the engine position management from
CrSCD_nAvrg and CrSCD_nCurr. If at least one sensor system is intact, Eng_nAvrg and Eng_nCurr always
contain valid values. Normally, the most accurate engine speed sensor system is used for engine speed
calculation. Usually, this is the increment sensor system of the crankshaft. If all sensor systems are defective,
the engine speed 0 is output. This cannot be distinguished from engine standstill. Therefore, this value
corresponds to the safest state which the overall system can assume in such a case. Above all, the system
is prevented in this way from metering fuel quantity.
Time-synchronous engine speed dynamics The average engine speeds Eng_nAvrg are sampled time-synchronously in 20ms intervals. The engine
speed change per second Eng_dnAvrg is calculated by forming the difference between the last value and the
value of Eng_ctEngSpdDiffCalc_C-old sampling periods.
Substitute reactions: All substitute reactions are managed entirely by the meta state machine (see “"Meta" state machine” on page
511).

ECU initialization As in normal operation, the engine speeds are only copied during initialization.

Output values Eng_dnAvrg: average engine speed acceleration per sec. [rpm/s] <SWORD> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
Eng_nCurr: current engine speed [rpm] <SWORD> --->

Input values CrSCD_nAvrg: average crankshaft speed of the latest and previous segment [rpm] <SWORD> -
-->
CrSCD_nCurr: current engine speed sampled with the latest segment period [rpm] <SWORD> -
-->

Application parameters
Labels for providing the engine speed: Eng_ctEngSpdDiffCalc_C: number of used enginge speed values for calculating average dn/
dt<value> --->

eng_spd.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 Eng_TrqSpdCrv - 185 -
DS/ESM Engine curve

Engine curve (Eng_TrqSpdCrv)


CARTONIC-Sturcture:

Functional overview The engine provides the connection between engine speed and torque achieved. The function determines
the current, maximum achievable torque.
Maximum achievable torque = f(Average engine speed)
Figure 197 : Engine curve - Overview

E n g _ n A v rg E n g _ trq C rv M a x
E n g in e
c u rv e

A c c o r d in g to B o s c h s ta n d a r d

Eng_trqCrvMaxEng_nAvrg

Functional description Torque determination:


The current maximum torque value Eng_trqCrvMax is determined from the map Eng_trqSpd_CUR depending
on the average engine speed Eng_nAvrg.
Figure 198 : Engine curve
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Eng_nAvrg Eng_trqCrvMax

Eng_trqSpd_CUR
Eng_trqSpd_CUEnRg_trqCrvMax Eng_nAvrg

Output values Eng_trqCrvMax: engine maximum torque as function of engine speed (used for torque range
upper limit) [Nm] <SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->

Application parameters Eng_trqSpd_CUR: torque speed curve<curve_individual> --->

19.3.2002 eng_trqspdcrv.fm
- 186 - CoEng Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-CoEng Coordinator engine DS/ESM

4.1 Coordinator engine (CoEng)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-CoEng

Overview of the component The task of the coordinator engine is to distribute the orders to the engine and to monitor the engine
operation.
The coordinator engine can be subdivided into the following subfunctions:
Determination of the engine state
Here, the engine state (start, afterrun, etc.) is determined by means of several linked state machines. A
further subfunction is the shut-off coordinator which operates shut-off paths on the basis of shut-off demands.
Figure 199 : Communication relations to determine the engine operating state - overview 1

T 1 5 C D _ s tD e b V a l
C o E n g _ s tE n g
E n g in e s ta te m a c h in e
S tS y s _ s tS trt
(C o E n g _ s tE n g C a lc )

F a n C tl_ s tO u t

A F S C D _ s tO ffs T s t C o E n g _ s tA ftR u n
A fte r r u n s ta te m a c h in e
(C o E n g _ A ftR u n )
In jU n _ s tT s t

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
E x te rn a l e v e n ts
W a it fo r e x te r n a l e v e n ts
(C o E n g _ A ftR u n E x tW a it) C o E n g _ s tE x tW a it

A c c o r d in g to B o s c h s ta n d a r d
AFSDC_stOfsTtFanCtl_stOutInjUn_stTstS ys_tStrT15CD_stDebValCoEng_stEng

Figure 200 : Communication relations to determine the engine operating state - overview 2

C o E n g _ s tA ftR u n C o E n g _ s tA ftR u n P a th
S h u t-o ff s ta te m a c h in e
(C o E n g _ S h O ff)

S h u t-o ff c o o r d in a to r C o E n g _ s tS h u tO ffP a th
S h u t o ff re q u e s ts (C o E n g _ M o n )

A c c o r d in g to B o s c h s ta n d a r d
CoEgn_stAftRuCnoEng_stShutOfPath

Torque coordination
In this subcomponent, the demanded engine output torque is converted to an inner engine torque. Here, all
the torque demands and the order constraints under which the torque is to be realized, must come together.
Figure 201 : Communication relations of the torque coordination - overview

E n g P r t_ tr q P r tL im
T o r q u e lim it c a lc u la tio n C o E n g _ tr q In r L im
F M T C _ tr q In r L im S m k (C o E n g _ T r q L im C a lc )

C o D T _ trq D e s

E n g M _ trq F rc C o E n g _ trq In rR a w

H P U n _ trq D e s C o E n g _ trq In rC u rr
T o r q u e c a lc u la tio n
C o D T _ trq L e a d (C o E n g _ T r q C a lc ) C o E n g _ trq In rS e t

L IG o v _ trq C o E n g _ trq In rD e s

A S D d c _ trq

A c c o r d in g to B o s c h s ta n d a r d
ASDcd_trqCoDT_trqDesCoD_TtrqLeadCoEng_trqInrCurCoEn_gtrqInrDes CoEng_trqInrRawCoEgn_trqInrSetEngM_trqFrcEngPrt_rqPrtLimFMTC_trqInrLimSmkHPUn_trqDes LIGov_trq

Actuator protection and power stage coordination


For certain engine states it has to be ensured that selected actuators are not supplied with power for too long.
In this way, their destruction due to insufficient cooling can be prevented. Furthermore, the power stages are
shut off here, depending on the engine operating state.
Figure 202 : Communication relations of the actuator protection and the power stage coordination - Overview

B a ttC D _ u
C o E n g _ s tP w rS tg E n a C o n d
P o w e r s ta g e c o o r d in a to r
(C o E n g _ P w r S tg S ta te C a lc )
C o E n g _ s tE n g

E n g _ n A v rg C o E n g _ s tM o n A c trP rt
A c tu a to r p r o te c tio n
(C o E n g _ A c trP rt)
G lw C tl_ s tL o g ic

A c c o r d in g to B o s c h s ta n d a r d
BatCD_uCoEng_stEng CoEng_stMonActrPtCoEng_stPwrStgEnaCondEng_nAvrgGl wCtl_stLogic

Calculation of the fuel consumption

coeng_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoEng - 187 -
DS/ESM Coordinator engine Veh-DrvTrn-Eng-CoEng

Figure 203 : Communication relations of the fuel consumption calculation - Overview

E n g _ n A v rg
C a lc u la tio n o f C o E n g _ d v o lF lC o n s u m
In jC tl_ q S e tU n B a l fu e l c o n s u m p tio n
(C o E n g _ F lC o n s u m )

A c c o r d in g to B o s c h s ta n d a r d
Eng_nAvrgInjCtl_qSetUnBalCoEgn_dvolFConsum

Structure of the component The component has no further subcomponents.

Output values CoEng_dvolFlConsum: fuel consumption [l/h] <SWORD> --->


CoEng_stEng: current engine state [-] <UBYTE> --->
CoEng_stMonActrPrt: state of actuator protection control [-] <UBYTE> --->
CoEng_stPwrStgEnaCond: control unit status relevant to power stage deactivation/error
diagnosis [-] <UBYTE> --->
CoEng_stShutOffPath: active shut-off paths resulting from active reversible,
irreversible, and afterrun shut-off paths [-] <ULONG> --->
CoEng_trqInrCurr: current inner torque [Nm] <SWORD> --->
CoEng_trqInrDes: inner torque desired value [Nm] <SWORD> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

CoEng_trqInrRaw: inner torque raw value [Nm] <SWORD> --->


CoEng_trqInrSet: inner torque set value [Nm] <SWORD> --->

Input values AFSCD_stOffsTst: status of completion of the Offsetdrift plausibility test [-] <UBYTE> -
-->
ASDdc_trq: ASD disturbance compensator torque output [Nm] <SWORD> --->
BattCD_u: battery voltage [mV] <SWORD> --->
CoDT_trqDes: desired torque order of Drive Train [Nm] <SWORD> --->
CoDT_trqLead: torque lead odrder of Drive Train [Nm] <SWORD> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
EngM_trqFrc: current friction torque [Nm] <SWORD> --->
EngPrt_trqPrtLim: limitation torque for mechanical engine protection (inner engine torque)
[Nm] <SWORD> --->
FanCtl_stOut: status fan afterrun [-] <UBYTE> --->
FMTC_trqInrLimSmk: limitation torque smoke limit [Nm] <SWORD> --->
GlwCtl_stLogic: current state of glow control (state machine) [-] <UWORD> --->
HPUn_trqDes: torque demand of high pressure pump [Nm] <SWORD> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->
InjUn_stTst: general status of tests made within injection system [-] <UWORD> --->
LIGov_trq: demanded torque of LIGov [Nm] <SWORD> --->
StSys_stStrt: state of starting system [-] <UBYTE> --->
T15CD_stDebVal: debounced value of terminal 15 [-] <UBYTE> --->

Subfunctions See “Engine state (CoEng_stEngCalc)” on page 188.


See “Afterrun control (CoEng_AftRun)” on page 190.
See “After-run delay by external events (CoEng_AftRunExtWait)” on page 193.
See “Shut-off control in after-run (CoEng_ShOff)” on page 194.
See “Shut-off coordinator (CoEng_Mon)” on page 197.
See “Engine torque calculation (CoEng_TrqCalc)” on page 203.
See “Limiting torque (CoEng_trqLim)” on page 209.
See “Power Stage Coordinator (CoEng_PwrStgStateCalc)” on page 213.
See “Actuator protection control (CoEng_ActrPrt)” on page 214.
See “Calculation of fuel consumption (CoEng_FlConsum)” on page 216.
See “Rise limitation (CoEng_TrqSlpLimCalc)” on page 212.

19.3.2002 coeng_overview.fm
- 188 - CoEng_stEngCalc Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-CoEng Engine state DS/ESM

Engine state (CoEng_stEngCalc)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-CoEng

Functional overview The engine coordinator provides the system with the current and previous engine state as well as the time
since the individual states were reached. It basically monitors the behaviour of terminal 15 and the engine
speed signal. Normal operation, start and afterrun can be identified as operating states.
Current engine state = f(Average engine speed,
Starting state,
Debounced value of terminal 15)
Figure 204 : Engine state - Overview

C o E n g _ s tE n g

C o E n g _ s tE n g O ld

C o E n g _ tiA fte r r u n
E n g _ n A v rg
C o E n g _ tiN o r m a l
S tS y s _ s tS trt
E n g in e s ta te C o E n g _ tiS ta r t
T 1 5 C D _ s tD e b V a l
C o E n g _ tiS ta r tR e d

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
C o E n g _ tiN o r m a lR e d

C o E n g _ tiA fte r r u n R e d

A c c o r d in g to B o s c h s ta n d a r d
CoEgn_stEngCoEng_stEngOld CoEng_tiAfterunCoEgn_tiAfetrunRedCoEng_tiNormalCoEng_tiNormalRedCoEng_tiSartCoEng_tiStarRedEng_nAvrgSt ys_tS rtT15CD_stDebVal

Functional description
Engine states and transition conditions
Figure 205 : State machine of the engine coordinator CoEng_stEng
in itia liz a tio n

c o e n g _ s te n g _ 2 .d s f
C O E N G _ S T S T A R T
T 1 5 C D _ s tD e b V a l = = T R U E S tS y s _ s tS trt = = S T S Y S _ S T R T D O N E (0 x 0 0 )
(0 x 0 2 )
"s ta rt m o d e "

T 1 5 C D _ s tD e b V a l = = F A L S E

E n g _ n A v r g < C o E n g _ n T h r e s N r m l2 S tr t_ C
& & t > = C o E n g _ tiN r m l2 S tr t_ C
& & F id _ C o E n g _ N r m l2 S tr t_ m p .0 = = T R U E

C O E N G _ S T A F T E R R U N C O E N G _ S T N O R M A L
(0 x 3 0 ) (0 x 0 4 )
T 1 5 C D _ s tD e b V a l = = F A L S E
"a fte rru n m o d e " "n o rm a l m o d e "
StySs_tSrtT15CD_stDebVaEl ng_nAvrgCoEng_nThresNrml2Str_CoEng_tiNrml2Str_C Fid_CoEgn_Nrml2Str_mp.0

Common to all states is that at entry into the individual engine state, the current state variable CoEng_stEng
and the variable from the previous state CoEng_stEngOld are updated. Furthermore, a measurement of the
state dwell time is made. Each state has its own message for this purpose. When leaving the state, this dwell
time is frozen. It is retained until the state is reached again (for message on time measurement, see State
descriptions).
State CoEng_stEng == COENG_STSTART (0x02): This state is either adopted after the initialization (CoEng_stEngOld == COENG_ST0, 0x00) or after an
Wait for starting cut-out interrupted afterrun (CoEng_stEngOld == COENG_STAFTERRUN, 0x30).
Normally, this state informs the start control (see “Starting states and transition conditions” on page 498), that
a check of the starting cut-out may take place. If the speed reaches the threshold for starting cut-out, the
value is set to STSYS_STRTDONE, 0x00 in the message StSys_stStrt. This causes the engine
coordinator to switch into the “State CoEng_stEng == COENG_STNORMAL (0x04): normal operation” on
page 188.
If the driver switches terminal 15 off again during the starting phase (ignition lock off), the software switches
to “State CoEng_stEng == COENG_STAFTERRUN (0x30): Afterrun” on page 188.
The state dwell time is displayed in the message CoEng_tiStart.
State CoEng_stEng == COENG_STNORMAL The state normal operation is retained until the driver wants to shut off the engine by switching off terminal
(0x04): normal operation 15 (T15CD_stDebVal == FALSE). If this is the case, a change to “State CoEng_stEng ==
COENG_STAFTERRUN (0x30): Afterrun” on page 188 takes place.
If the engine stalls, i.e. if the engine speed Eng_nAvrg drops below the threshold CoEng_nThresNrml2Strt_C
for at least the time CoEng_tiNrml2Strt_C it is switched back to “State CoEng_stEng ==
COENG_STSTART (0x02): Wait for starting cut-out” on page 188 without having to switch off terminal 15
first.
The state dwell time is displayed in the message CoEng_tiNormal.
State CoEng_stEng == COENG_STAFTERRUN The engine state afterrun shows that, after a number of test and administrative tasks (see “Afterrun control
(0x30): Afterrun (CoEng_AftRun)” on page 190), the system should be connected current-free using the main relay (see
“Main relay (MRlyCD_Co)” on page 724). If terminal 15 is switched on again before the main relay has been
released, this is termed an interrupted afterrun and the system switches back to “State CoEng_stEng ==
COENG_STSTART (0x02): Wait for starting cut-out” on page 188.
The state dwell time is displayed in the message CoEng_tiAfterrun.

coeng_steng.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoEng_stEngCalc - 189 -
DS/ESM Engine state Veh-DrvTrn-Eng-CoEng

Hint: The state dwell times are output in reduced resolution (16 bit as curve/map input). The displayed messages
are CoEng_tiStartRed, CoEng_tiNormalRed and CoEng_tiAfterrunRed.

ECU initialization During initialization, the engine coordinator CoEng_stEng is set to the state .COENG_STSTART (0x02) In
this case, the previous engine state CoEng_stEngOld takes on the value COENG_ST0 (0x00).

Output values CoEng_stEng: current engine state [-] <UBYTE> --->


CoEng_stEngOld: engine state bfore current state was reached [-] <UBYTE> --->
CoEng_tiAfterrun: time since reaching engine state afterrun (COENG_STAFTERRUN) [ms]
<ULONG> --->
CoEng_tiAfterrunRed: time since reaching engine state afterrun (COENG_STAFTERRUN, 0x30)
with reduced resolution for curve/map input [s] <SWORD> --->
CoEng_tiNormal: time since state NORMAL was reached [ms] <ULONG> --->
CoEng_tiNormalRed: time since engine state NORMAL (0x04) was reached, with reduced
resolution for curve/map input [s] <SWORD> --->
CoEng_tiStart: time since engine state START (0x02) was reached [ms] <ULONG> --->
CoEng_tiStartRed: time since engine state START (0x02) was reached, with reduced
resolution for curve/map input [s] <SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

StSys_stStrt: state of starting system [-] <UBYTE> --->


T15CD_stDebVal: debounced value of terminal 15 [-] <UBYTE> --->

Measuring points Fid_CoEng_Nrml2Strt_mp: Measurement point for Function Identifier Fid_CoEng_Nrml2Strt [-


] <UBYTE> --->

Application parameters CoEng_nThresNrml2Strt_C: Engine speed threshold for engine state transition from NORMAL
to START<value> --->
CoEng_tiNrml2Strt_C: Debounce time for engine state transition from NORMAL to START<value>
--->

19.3.2002 coeng_steng.fm
- 190 - CoEng_AftRun Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-CoEng Afterrun control DS/ESM

Afterrun control (CoEng_AftRun)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-CoEng

Functional overview When terminal 15 is switched off, the control unit switches to afterrun. The engine stalls. Some tests follow
and the writing procedures into the EEPROM. Finally, the main relay is switched off and the voltage supply
of the control unit is thus interrupted.
State afterrun control = f(Plausibility test conclusion status of the offset drift,
Current engine state,
Current state of the shut-off control in afterrun,
Global shut-off requests,
Average engine speed,
State fan afterrun,
Status of external events,
General status of the tests from the injection system,
Control of main relay)
Figure 206 : Afterrun control - overview

A F S C D _ s tO ffs T s t

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
C o E n g _ s tE n g

C o E n g _ s tM o n S h O ff

C o E n g _ s tS h u tO ff

E n g _ n A v rg

A fte rru n C o E n g _ s tA ftR u n


F a n C tl_ s tO u t c o n tro l

C o E n g _ s tE x tW a it

C o E n g _ s tE x tW a it2

In jU n _ s tT s t

M R ly C D _ s tM o n

A c c o r d in g to B o s c h s ta n d a r d
AFSDC_stOfsTtCoEng_stAfRunCoEng_stEngConEg_stExWtaitCoEng_stMonShOf CoEng_stShutOfCoEng_tiAfterun Egn_nAvrgFanCtl_stOutInjUns_tTstMRlyCD_stMon

Functional description Several state controls are involved in the afterrun process. The interplay between these controls is shown in
the following diagram. The character of the individual state controls is only symbolic. In this context they
cannot be considered complete.
Figure 207 : Overview: Interplay between controls in afterrun

e n g in e c o o r d in a to r
(C o E n g _ s tE n g )

C o E n g _ s tE n g = =
C O E N G _ S T A F T E R R U N (0 x 3 0 )

s ta te m a c h in e :
s ta te m a c h in e : a fte r r u n c o n tr o l s ta te m a c h in e : s h u t o ff c o n tr o l
m a in r e la y c o n tr o l
(C o E n g _ s tA ftR u n ) (C o E n g _ s tM o n S h O ff)
( M R ly C D _ s tM o n )

C o E n g _ s tA ftR u n = =
C O E N G _ A R _ T U R N _ O F F (0 x 1 0 )

C o E n g _ s tM o n S h O ff = =
C O E N G _ W A IT _ F O R _ S H O F F _ M R L Y (0 x 3 0 )

M R ly C D _ s tM o n = = C o E n g _ s tA ftR u n = =
M R L Y C D _ N O T _ O P E N C O E N G _ A R _ M R L Y (0 x F 0 )
(0 x 0 6 )

C o E n g _ s tS h u tO ffP a th .1 1 = 1 C o E n g _ s tA ftR u n P a th .1 1 = 1
c o e n g _ a ftru n _ 1 .d s f

C o E n g _ s tS h u tO ff C o E n g _ s tS h u tO ff

s h u t o ff c o o r d in a to r

CoEgn_stAftRuCnoEng_stMonShOfConEg_stEngCoEgn_stAftRuPnathCoEng_stShutOfPahCotEng_stShutOf MRlyCD_stMon

The current afterrun state can be read from the variable CoEng_stAftRun. The states are calculated in 20ms
intervals. This results in a maximum delay time of 20ms for the state change.

coeng_aftrun.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoEng_AftRun - 191 -
DS/ESM Afterrun control Veh-DrvTrn-Eng-CoEng

Figure 208 : State machine: Afterrun control (CoEng_stAftRun)

C o E n g _ s tM o n S h O ff = = C O E N G _ W A IT _ F O R _ S H O F F _ M R L Y (0 x 4 0 )

H U T O F F _ IR E V (2 ) )

c o e n g _ a ftru n _ 2 .d s f
)
H U T O F F _ IR E V (2 )
& & A F S C D _ s tO ffs T s t = = A F S C D _ O F F S T S T _ D O N E (1 )
& & !C o E n g _ s tS h u tO ff.C O E N G _ S H U T O F F _ IR E V (2 )
C o E n g _ s tE n g = = C O E N G _ S T A F T E R R U N (0 x 3 0 )

F A L S E
d e la y tim e C o E n g _ tiP w r S tg D ia R d y _ C e la p s e d

1
_ S

_ S
= =

= =

= =
N G

N G
p .1

p .1

.1
O E

O E
l_ C
_ m

_ m

n S e
ff.C

ff.C
to re

to re
E n g _ n A v rg = = E N G _ N _ Z E R O

tO

tO
u
S

S
C o E n g _ s tE E P S to re _ m p .0 = = 1

h u

h u
ftR
E P

E P

M R L Y C D _ N O T _ O P E N (0 x 0 6 )
_ s tS

_ s tS
_ s tA
_ s tE

_ s tE
& & In jU n _ s tT s t = = 0 x F F F F

= = 0
F a n C tl_ s tO u t = = F A L S E

n g

n g
n g
C o E n g _ s tE x tW a it = = 0

n g

n g
o E

o E
o E
o E

o E

C o E n g _ s tE x tW a it2

M R ly C D _ s tM o n = =
& & !C

& & C
& & C
C

C
" d e la y tim e a n d a fte r r u n te s ts "

u n c o n d itio n a l
" w a it fo r e x te r n a l e v e n ts 1 "

" tr ig g e r m a in r e la y s h u t o ff"
C O E N G _ A R _ E E P _ S T O R E

" w a it fo r e x te r n a l e v e n ts 2 "
" w a it fo r fa n c o n tr o l r e a d y "

C O E N G _ A R _ F L T _ S T O R E

|| (
C O E N G _ A R _ E X T _ W A IT 1

C O E N G _ A R _ E X T _ W A IT 2
C O E N G _ A R _ T U R N _ O F F

C O E N G _ A R _ F A N _ W A IT

C O E N G _ A R _ E E P _ T R IG

" m a in r e la y d id n 't o p e n "


C O E N G _ A R _ N O R M A L

" fa u lt s to r a g e a c tiv e "


" tr ig g e r d a ta s to r a g e "
C O E N G _ A R _ N _ Z E R O

" d a ta s to r a g e a c tiv e "


" tu r n o ff th e e n g in e "

C O E N G _ A R _ M R L Y
" e n g in e s ta n d s till"
" a fte r r u n in a c tiv e "

C O E N G _ A R _ T S T

C O E N G _ A R _ O F F
(0 x 5 2 )
(0 x 3 0 )

(0 x 4 1 )

(0 x 5 1 )
(0 x 0 0 )

(0 x 2 0 )

(0 x 4 0 )

(0 x 5 0 )

(0 x F F )
(0 x F 0 )
(0 x 6 0 )
(0 x 1 0 )

& & C o E n g _ s tS h u tO ff.C O E N G _ S H U T O F F _ IR E V (2 )


& & C o E n g _ s tS h u tO ff.C O E N G _ S H U T O F F _ IR E V (2 )

& & C o E n g _ s tS h u tO ff.C O E N G _ S H U T O F F _ IR E V (2 )


te r m in a l 1 5 o ff - > o n
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

& & C o E n g _ s tA ftR u n S e l_ C .0 = = F A L S E

& & C o E n g _ s tA ftR u n S e l_ C .0 = = T R U E

& & C o E n g _ s tA ftR u n S e l_ C .1 = = T R U E


E n g _ n A v rg = = E N G _ N _ Z E R O
E n g _ n A v rg = = E N G _ N _ Z E R O

C o E n g _ s tE E P S to re _ m p .1 = = 1
AFSDC_stOfsTstCoEng_stEng CoEng_stShutOfCoEgn_stMonShOfCoEng_tiMnAftRun_C onEg_tiPwrStgDiaRdy_C oEgn_stEPSotre_mpCoEng_stExWtaitEng_nAvrgFanCtl_stOutInjU_stTtMRl yCD_stMon

State CoEng_stAftRun == COENG_AR_NORMAL, The afterrun control is inactive during normal operation. The engine coordinator (see “Engine state
(0x00): inactive afterrun (CoEng_stEngCalc)” on page 188) detects the various engine states and stores these in the state variable
CoEng_stEng. If CoEng_stEng assumes the state COENG_STAFTERRUN (0x30) (terminal 15 off), afterrun
control is started.
State CoEng_stAftRun == COENG_AR_TURN_OFF, Since, in afterrun, the engine should first be shut-off, it must be ensured that the “Shut-off control in after-run
(0x10): shut off engine (CoEng_ShOff)” on page 194 is also started at the beginning of afterrun. As soon as engine stop is initiated
in afterrun control and the afterrun test evaluation is completed, (CoEng_stMonShOff ==
COENG_AR_WAIT_FOR_SHOFF_MRLY, 0x30), a change is made to the next state.
State CoEng_stAftRun == COENG_AR_N_ZERO, This afterrun phase is maintained until the engine comes to a complete standstill, i.e. the average engine
(0x20): engine standstill speed Eng_nAvrg has reached the value ENG_N_ZERO (0 1/min). At the same time, a check is made
whether an irreversible shut-off request (CoEng_stShutOff.COENG_SHUTOFF_IREV, bit 2) from the
current driving cycle is present (see “Shut-off coordinator (CoEng_Mon)” on page 197). If this is the case,
switchover to “Status CoEng_stAftRun == COENG_AR_EXT_WAIT1, (0x41): waiting for external events
before storing in the EEPROM” is carried out if bit CoEng_stAftRunSel_C.0 is reset. If bit
CoEng_stAftRunSel_C.0 is set, switchover to Status CoEng_stAftRun == COENG_AR_EEP_TRIG, (0x50):
trigger for data storage takes place.
State CoEng_stAftRun == COENG_AR_TST, (0x30): In order to enable comprehensive diagnosis of power stages of actuators which are continually switched on
afterrun tests during start and normal operation, a delay time CoEng_tiPwrStgDiaRdy_C is started at this point. This
ensures that, after the output stage has been switched off, any existing short-circuit to ground/ load drop is
still detected.
Furthermore, some tests are performed which can only be carried out when the engine is at a standstill.
These are:
1. Offset drift of air mass sensor signal (see “Hot film air mass sensor (AFSCD)” on page 776)
The test is over as soon as the message AFSCD_stOffsTst == AFSCD_OFFSTST_DONE (1).
2. System-specific tests (see “General test status of injection system (InjUn_Tst)” on page 595)
The tests can be regarded as completed as soon as all bits in the message InjUn_stTst are set.
After completion of all tests and expiry of the delay time, a change to “State CoEng_stAftRun ==
COENG_AR_FAN_WAIT, (0x40): waiting for finished message from fan control” is effected.
State CoEng_stAftRun == COENG_AR_FAN_WAIT, In this afterrun state, the program waits for the finished message from the fan control. During fan control
(0x40): waiting for finished message from fan con- afterrun time, the message FanCtl_stOut has a value not equal to zero. After expiry, the message from the
trol
fan control is set to zero and the afterrun control switches to the next status.
Status CoEng_stAftRun == A delay in the afterrun before data storage in the EEPROM can be initiated by external events. If the message
COENG_AR_EXT_WAIT1, (0x41): waiting for exter- CoEng_stExtWait has a value unequal to zero, corresponding demands for afterrun delay are present (see
nal events before storing in the EEPROM
“After-run delay by external events (CoEng_AftRunExtWait)” on page 193). If the demands have been
processed, the program switches to “Status CoEng_stAftRun == COENG_AR_EEP_TRIG, (0x50): trigger for
data storage”.
Status CoEng_stAftRun == COENG_AR_EEP_TRIG, In afterrun, data storage in the EEPROM takes place. For this purpose, certain trigger functions are called in
(0x50): trigger for data storage order to initiate data storage in the EEPROM.
The program then changes to “Status CoEng_stAftRun == COENG_AR_EEP_STORE, (0x51):1): data
storage active”.
Status CoEng_stAftRun == Afterrun control remains in this afterrun phase until updating of the following EEPROM information has been
COENG_AR_EEP_STORE, (0x51):1): data storage completed.
active
Table 68: Status data storage in the EEPROM
Function Bit position Storage status CoEng_stEEPStore_mp
RAM mirror storage BP_EEP_SWOFF (0) TRUE, when finished

19.3.2002 coeng_aftrun.fm
- 192 - CoEng_AftRun Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-CoEng Afterrun control DS/ESM

The software then switches to “State CoEng_stAftRun == COENG_AR_FLT_STORE, (0x52): error storage
active”.
State CoEng_stAftRun == Error storage is performed in this state. Afterrun control remains in this afterrun phase until updating of the
COENG_AR_FLT_STORE, (0x52): error storage ac- following EEPROM information has been completed.
tive
Table 69: Status error storage in the EEPROM
Function Bit position Storage status CoEng_stEEPStore_mp
Error storage via the DSM BP_DSM_AR (1) TRUE, when finished

Finally, a check is made whether an irreversible shut-off request


(CoEng_stShutOff.COENG_SHUTOFF_IREV, bit 2) from the current driving cycle is present (see “Shut-off
coordinator (CoEng_Mon)” on page 197). If this is the case, switchover to “State CoEng_stAftRun ==
COENG_AR_MRLY, (0xF0): trigger for switch-off of the main relay” takes place immediately if bit
CoEng_stAftRunSel_C.1 is set. Otherwise, switchover to “Status CoEng_stAftRun ==
COENG_AR_EXT_WAIT2, (0x60): waiting for external events before the main relay opens” takes place.
Status CoEng_stAftRun == External events can initiate a delay in the afterrun before the main relay opens. If the message
COENG_AR_EXT_WAIT2, (0x60): waiting for exter- CoEng_stExtWait2 has a value unequal to zero, corresponding demands for afterrun delay are present (see
nal events before the main relay opens
“After-run delay by external events (CoEng_AftRunExtWait)” on page 193). If the demands have been
processed, the program switches to “State CoEng_stAftRun == COENG_AR_MRLY, (0xF0): trigger for
switch-off of the main relay”.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
State CoEng_stAftRun == COENG_AR_MRLY, The main relay is switched off last.
(0xF0): trigger for switch-off of the main relay
This state represents the trigger for the shut-off control which sets the shut-off path “drop-out main relay”. If
the main relay is not switched off after a specified time (MRlyCD_stMon== MRLYCD_NOT_OPEN, 0x06), a
change to state COENG_AR_OFF (0xFF) is made.
Hint: The error handling for the main relay is described in “Main relay (MRlyCD_Co)” on page 724.
State CoEng_stAftRun == COENG_AR_OFF, (0xFF): This state is maintained until terminal 15 is switched on again.
main relay does not open
Interrupted afterrun If terminal 15 is switched on again during afterrun, afterrun control is terminated. This procedure is not
dependent upon the currently assumed state within the control. For certain afterrun phases, afterrun
termination routines are called up and CoEng_stAftRun is reset to “State CoEng_stAftRun ==
COENG_AR_NORMAL, (0x00): inactive afterrun”.

ECU initialization The state variable of the afterrun control is assigned “State CoEng_stAftRun == COENG_AR_NORMAL,
(0x00): inactive afterrun” during initialization.

Output values CoEng_stAftRun: afterrun internal state of afterrun [-] <UBYTE> --->

Input values AFSCD_stOffsTst: status of completion of the Offsetdrift plausibility test [-] <UBYTE> -
-->
CoEng_stEng: current engine state [-] <UBYTE> --->
CoEng_stExtWait: state of waiting for external events before EEPROM writing [-] <UBYTE>
--->
CoEng_stExtWait2: state of waiting for external events before shut off main relay [-]
<UBYTE> --->
CoEng_stMonShOff: state of shut off control while engine state afterrun [-] <UBYTE> --->
CoEng_stShutOff: type of the effective shut off reason (0: afterrun; 1: reversible; 2:
irreversible) [-] <UBYTE> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
FanCtl_stOut: status fan afterrun [-] <UBYTE> --->
InjUn_stTst: general status of tests made within injection system [-] <UWORD> --->
MRlyCD_stMon: current state of main relay monitoring [-] <UBYTE> --->

Measuring points CoEng_stEEPStore_mp: EEPROM storage status during afterrun [-] <UBYTE> --->

Application parameters CoEng_stAftRunSel_C: selection for afterrun functionality<value> --->


CoEng_tiPwrStgDiaRdy_C: delay time to diagnose turned off actuators while engine state
afterrun is active<value> --->

coeng_aftrun.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoEng_AftRunExtWait - 193 -
DS/ESM After-run delay by external events Veh-DrvTrn-Eng-CoEng

After-run delay by external events (CoEng_AftRunExtWait)


CARTONIC-Sturcture:VehD-rvTrnE-ng-CoEgn

Functional overview The afterrun control is delayed until certain events have occurred. Using the bit mask CoEng_ExtWaitMsk_C,
all events can be faded in or masked out.

Functional description In the afterrun, it can become necessary to delay the EEPROM storage until certain events have occurred.
The process described here can group up to eight events from different messages. Using the bit mask
CoEng_ExtWaitMsk_C, the events can be selected whose messages in the afterrun are meant to lead to a
delay. The bits set by the message are linked by logical AND using the bit mask CoEng_ExtWaitMsk_C. A bit
set by the associated message means here that, in the afterrun, the function must wait for this event. Thus,
it is also possible to prevent the afterrun from continuing.
Figure 209 : Setting of the status bits

e v e n t 0

e v e n t 1

e v e n t 7
. . .
C o E n g _ s tE x tW a it
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

7 6 5 4 3 2 1 0
B it
A n d
7 6 5 4 3 2 1 0
C o E n g _ E x tW a itM s k _ C

c o e n g _ a ftr u n e x tw a it _ 1 .d s f
CoEgn_ExtWaitMsk_C oEng_stExtWait

In the table below, the assignment of external events to events is shown:


Table 70: Event assignment of the external events
Events Input message Comment
event 0 ImmCtl_stBitStruct.Bit3 Delay demand of immobilizer
event 1 AddPmp_stAftRunDelDem Delay demand of additive metering
event 2 FlSys_stAftRunDelDem Delay demand of refuel detection
event 3 PFlt_stRgnMode ≠0 Delay demand of DPF switched model
event 4 - -
event 5 - -
event 6 - -
event 7 - -

ECU initialization The initialization value for the monitoring message CoEng_stExtWait is 0.

Output values CoEng_stExtWait: state of waiting for external events before EEPROM writing [-] <UBYTE>
--->

Input values AddPmp_stAftRunDelDem: afterrun delay demand from additive metering [-] <UBYTE> --->
FlSys_stAftRunDelDem: afterrun delay demand from refuel detection [-] <UBYTE> --->
ImmCtl_stBitStruct: General interface between ImmCtl and other modules [-] <UBYTE> --->
PFlt_stRgnMode: state of statistical model [-] <UBYTE> --->

Application parameters CoEng_ExtWaitMsk_C: bitmask for test of external events before EEPROM writing<value> --->

19.3.2002 coeng_aftrunextwait.fm
- 194 - CoEng_ShOff Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-CoEng Shut-off control in after-run DS/ESM

Shut-off control in after-run (CoEng_ShOff)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-CoEng

Functional overview Following shut-off of terminal 15, the control unit switches to after-run and the shut-off control is activated by
the CoEng_stAftRun == COENG_AR_TURN_OFF, (0x10) state. Once certain after-run states have been
achieved, certain shut-off paths within the shut-off control are activated (see “Shut-off coordinator
(CoEng_Mon)” on page 197), which lead to a range of operations, from redundant shut-off of the system to
engine stop or main relay shut-off. If the engine is shut off via one or more selectable shut-off paths, it is
possible to run a parallel test of the corresponding shut-off device.
Figure 210 : Shut-off control in after-run - overview

C o E n g _ s tA ftR u n

C o E n g _ s tE n g

C o E n g _ s tS h u tO ff
C o E n g _ s tM o n S h O ff
C o E n g _ n u m S h O ffT s tN e w S e l

C T S C D _ tC ln t S h u t - O ff
C o E n g _ s tA ftR u n P a th
E n g _ n A v rg c o n tr o l in

F id _ C o E n g S h O ffT s t_ m p a fte rru n C o E n g _ s tS h O ffT s t

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
R a il_ s tS h O ffT s tA c k

R a ilC D _ p P e a k

V S S C D _ v

c o e n g _ s h o ff_ 1 0 0 .d s f
A c c o r d in g to B o s c h s ta n d a r d

Functional description The current state of shut-off control in after-run can be read from the variable CoEng_stMonShOff . The states
are calculated in 20ms intervals. This results in a maximum delay time of 20ms for the state change.
The current test status is displayed in measuring point CoEng_stShOffTst.
Table 71: Current test status
CoEng_stShOffTst Mask Shut-off test status
0 - Test status irrelevant because after-run inactive
1 COENG_TST_RESULT_NONE No test has been run
2 COENG_TST_RESULT_BREAK Test inhibited due to active error paths in the test
error identifiers (FID) or test aborted because of
invalid selection.
3 COENG_TST_RESULT_ACTV Test active
4 COENG_TST_RESULT_INTCT Test component is intact
5 COENG_TST_RESULT_DFCT Test component is faulty

Figure 211 : State machine: Shut-off control in after-run (CoEng_stMonShOff)

te r m in a l 1 5 o ff - > o n

C O E N G _ S H O F F _ N O T H IN G
(0 x 0 0 )
C o E n g _ s tA ftR u n = = C O E N G _ A R _ T U R N _ O F F (0 x 1 0 ) " in a c tiv e a fte r r u n "
& & E n g _ n A v rg > = C o E n g _ n S h O ffT s tM in _ C
& & E n g _ n A v rg < C o E n g _ n S h O ffT s tM a x _ C
& & V S S C D _ v < C o E n g _ v S h O ffT s tM in _ C
& & C T S C D _ tC ln t > = C o E n g _ tS h O ffT s tM in _ C
u n u s e d in C R b a s is
& & C o E n g _ s tS h u tO ff.1 = = 0
& & C o E n g _ s tS h u tO ff.2 = = 0
& & F id _ C o E n g S h O ffT s t_ m p .0 = = 1

C O E N G _ S H O F F _ E X T R E Q o n e o f th e c o n d itio n s
0 x 0 5 a s m e n tio n e d o n th e
e x te rn a l re q u e s t le ft s id e fa ile d

u n u s e d in C R b a s is

C O E N G _ S H O F F _ T S T R E Q
(0 x 0 9 )
"re q u e s t o f re d u n d a n t te s t"

R a il_ s tS h O ffT s tA c k = = R A IL _ A C K _ P O S ( 0 x 0 1 ) R a il_ s tS h O ffT s tA c k = = R A IL _ A C K _ N E G (0 x 0 2 )

C O E N G _ S H O F F _ E N G _ R E D U N D A N T C O E N G _ S H O F F _ E N G _ IM M E D IA T E
(0 x 1 0 ) (0 x 2 0 )
" e n g in e s h u t o ff te s t" " s to p e n g in e im m e d ia te ly "

C o E n g _ s tS h O ffT s t != C O E N G _ T S T _ R E S U L T _ A C T V (0 x 0 3 ) u n c o n d itio n a l

C O E N G _ T S T _ E V A L
(0 x 3 0 )
" te s t e v a lu a tio n "

u n c o n d itio n a l

C O E N G _ W A IT _ F O R _ S H O F F _ M R L Y
(0 x 4 0 )
" w a it fo r s h u t o ff m a in r e la y "

C o E n g _ s tA ftR u n = = C O E N G _ A R _ M R L Y (0 x F 0 )
c o e n g _ s h o ff_ 1 .d s f

C O E N G _ S H O F F _ D O N E
(0 x F F )
" s h u t o ff o f a ll c o m p o n e n ts d o n e "

coeng_shoff.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoEng_ShOff - 195 -
DS/ESM Shut-off control in after-run Veh-DrvTrn-Eng-CoEng

CoEng_stMonShOff == COENG_SHOFF_NOTHING The shut-off control is inactive during starting and normal operation. If the engine co-ordinator switches to the
(0x00) state: Inactive shut-off control after-run state, and after-run control switches to the state CoEng_stAftRun == COENG_AR_TURN_OFF
(0x10), shut-off control is initiated. In order to switch to “CoEng_stMonShOff == COENG_SHOFF_TSTREQ
(0x09) state: Waiting for confirmation of test request” on page 195 certain engine operating conditions have
to be satisfied:
• Engine speed Eng_nAvrg >= CoEng_nShOffTstMin_C
• Engine speed Eng_nAvrg < CoEng_nShOffTstMax_C
• Vehicle speed VSSCD_v < CoEng_vShOffTstMin_C
• Water temperature CTSCD_tClnt >= CoEng_tShOffTstMin_C
• Reversible engine shut-off inactive (CoEng_stShutOff.1 == 0)
• Irreversible engine shut-off inactive (CoEng_stShutOff.2 == 0)
• No error paths active in error identifier Fid_CoEngShOffTst_mp
If one or more of these conditions are not satisfied, the software immediately switches to“CoEng_stMonShOff
== COENG_SHOFF_ENG_IMMEDIATE (0x20) state: Engine stop” on page 195.
CoEng_stMonShOff == COENG_SHOFF_EXTREQ
(0x05) state: External request
Hint: This state is for specific project requirements. Shut-off paths can be served uniformly for all projects by the
after-run shut-off message CoEng_stAftRunPath based on the application date CoEng_stShOffExtReq_C
This state is not used in the common rail basic software, i.e., the date of application CoEng_stShOffExtReq_C
is of no consequence. Nevertheless, should the state machine end up in this state due to an error, a recovery
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

will be carried out.


CoEng_stMonShOff == COENG_SHOFF_TSTREQ In this state the system waits for an acknowledgement of the test request. If a positive acknowledgement is
(0x09) state: Waiting for confirmation of test re- issued (Rail_stShOffTstAck == RAIL_ACK_POS (0x01)) the system switches to the “CoEng_stMonShOff
quest
== COENG_SHOFF_ENG_REDUNDANT (0x10) state: Motor redundant abstellen” on page 195. If a
negative acknowledgement is issued (Rail_stShOffTstAck == RAIL_ACK_NEG (0x02)) the
“CoEng_stMonShOff == COENG_SHOFF_ENG_IMMEDIATE (0x20) state: Engine stop” on page 195 is
assumed. When the state changes, the last measured rail pressure RailCD_pPeak is frozen in the measured
value CoEng_pRailT15Off.
CoEng_stMonShOff == Depending on which test is active for the current driving cycle, the corresponding shut-off paths are set in the
COENG_SHOFF_ENG_REDUNDANT (0x10) state: after-run shut-off message CoEng_stAftRunPath and the test routine is initiated.
Motor redundant abstellen
• CoEng_numShOffTstNewSel == 0
No test is run. In this case the test status CoEng_stShOffTst is set to "No test has been run."
• CoEng_numShOffTstNewSel == 1
Test of low pressure shut-off path is carried out if a high-pressure pump CP1 is used (see “Executable
tests based on active functions” on page 196 ). To activate the shut-off device, the
COENG_PATH_LPSYS_OFF bit (bit 7) is set in the message CoEng_stAftRunPath. After the time
CoEng_tiShOffTstFlSys_C has elapsed, the request "energizing time = 0" is also set, so that the rail
pressure change can be tested in the system.
• CoEng_numShOffTstNewSel == 2
If a high pressure system with pressure control valve is used (see “Executable tests based on active
functions” on page 196 ) the diagnostic test for the pressure control valve is carried out. To activate the
shut-off device, the COENG_PATH_OPEN_PCV bit (bit 12) is set in the message CoEng_stAftRunPath.
If the test was successfully completed, or prematurely interrupted due to an error (e.g. reversible
(CoEng_stShutOff.1) or irreversible shut-off request (CoEng_stShutOff.2) is detected), the test status
CoEng_stShOffTst no longer contains the value "test active." In addition, in the after-run shut-off message
CoEng_stAftRunPath all shut-off paths (CoEng_stShOffAftRun_C) which facilitate a quick engine stop are
set. The software then switches over to“CoEng_stMonShOff == COENG_TST_EVAL (0x30) state: Test
evaluation” on page 195.
CoEng_stMonShOff == In order to achieve a rapid engine stop, in the after-run shut-off message CoEng_stAftRunPath all relevant
COENG_SHOFF_ENG_IMMEDIATE (0x20) state: shut-off paths are set (CoEng_stShOffAftRun_C). In this case the test status CoEng_stShOffTst is set to
Engine stop
"No test has been run." The software then switches to“CoEng_stMonShOff == COENG_TST_EVAL (0x30)
state: Test evaluation” on page 195.
CoEng_stMonShOff == COENG_TST_EVAL (0x30) The new test result is formed based on test status CoEng_stShOffTst. The software then switches
state: Test evaluation to“CoEng_stMonShOff == COENG_WAIT_FOR_SHOFF_MRLY (0x40) state: Waiting for main-relay shut-
off” on page 195.
CoEng_stMonShOff == In this shut-off phase the software waits until the after-run switches to the COENG_AR_MRLY (0xF0) state.
COENG_WAIT_FOR_SHOFF_MRLY (0x40) state: In this case, the "shut off main relay" request COENG_PATH_MRLY_REGULAR_OFF (bit 11) is additionally
Waiting for main-relay shut-off
set in the after-run shut-off message and the software switches to the next state.
CoEng_stMonShOff == COENG_SHOFF_DONE The shut-off control remains in this state until the main relay is cut out or, if terminal 15 is switched on, in the
(0xFF) state: Component shut-off completed event of a main relay error.
Aborting shut-off control during after-run If terminal 15 is switched on again during after-run, the shut-off control is also aborted. The shut-off paths are
reset again. Here, the main relay is not switched off and all shut-off devices released. The engine can be
restarted based on these prerequisites. State variable CoEng_stMonShOff is set to "inactive shut-off control".
Test status CoEng_stShOffTst is also reset.

ECU initialization During initialization the shut-off control state variable in after-run is identified as“CoEng_stMonShOff ==
COENG_SHOFF_NOTHING (0x00) state: Inactive shut-off control” on page 195. All shut-off paths in the
CoEng_stAftRunPath message are reset.
For each driving cycle the test for the shut-off device is already defined during initialization. There are two
tests which can be activated using application label CoEng_stShOffTstSel_C. Every test has equal priority,
and all tests are performed with the same frequency. The first test is the one that is farthest to the right in the
application label CoEng_stShOffTstSel_C and is set in active mode. Subsequent tests are performed in
ascending order.
Table 72: Test functions for the shut-off devices
Bit position within Test number Allocated test function Activated shut-off device
CoEng_stShOffTstSel_C
0 1 "Low-pressure shut-off path Low-pressure shut-off path
test (function)"

19.3.2002 coeng_shoff.fm
- 196 - CoEng_ShOff Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-CoEng Shut-off control in after-run DS/ESM

Bit position within Test number Allocated test function Activated shut-off device
CoEng_stShOffTstSel_C
1 2 "Diagnostic test pressure Pressure control valve
control valve (function)"
2 - 15 3 - 16 Reserved for future Reserved for future
development development

Under certain conditions the tests may not be activated. For this reason, the applicable test selection is
corrected again and certain test applications may not be allowed. The following contexts apply:
Table 73: Executable tests based on active functions
Active function Admissible after-run tests (test number)
1-governor concept; closed loop control using pressure control valve 1, 2
1-governor concept; closed loop control using metering unit ---
2-governor concept; closed loop control using pressure control valve and 2
metering unit

In the current driving cycle a test is only performed if at least one test function is set in active mode. If so, the
new test is defined on the basis of the test result from the last driving cycle.
Table 74: Shut-off device test result from the last driving cycle

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Bit position within Test result
CoEng_stShOffTstOldRes_mp
0-3 Number of last test
4 Last test completed
5 Shut-off device intact
6 Change of test requested
7 Reserved for future development

A change of test is implemented whenever


• a test has been inhibited by error messages
• or the same test should be performed again but is set in inactive mode for the present driving cycle.
The selected test for the present driving cycle is displayed in the CoEng_numShOffTstNewSel message.

Output values CoEng_numShOffTstNewSel: choosen shut off test of the current driving cycle [-] <UBYTE>
--->
CoEng_stAftRunPath: shut off paths due to engine state afterrun [-] <ULONG> --->
CoEng_stMonShOff: state of shut off control while engine state afterrun [-] <UBYTE> --->

Input values CoEng_stAftRun: afterrun internal state of afterrun [-] <UBYTE> --->
CoEng_stEng: current engine state [-] <UBYTE> --->
CoEng_stShutOff: type of the effective shut off reason (0: afterrun; 1: reversible; 2:
irreversible) [-] <UBYTE> --->
CoEng_tiAfterrun: time since reaching engine state afterrun (COENG_STAFTERRUN) [ms]
<ULONG> --->
CTSCD_tClnt: coolant temperature [deg C] <SWORD> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
Rail_stShOffTstAck: acknowledgement of afterrun test request [-] <UBYTE> --->
RailCD_pPeak: maximum rail pressure of last 10ms [hPa] <SWORD> --->
VSSCD_v: vehicle speed (velocity) [km/h] <SWORD> --->

Measuring points CoEng_pRailT15Off: rail pressure, when terminal 15 is switching off [hPa] <SWORD> --->
CoEng_stShOffTst: status of the shut off test [-] <UBYTE> --->
CoEng_stShOffTstOldRes_mp: test result of the shut off test from last driving cycle [-]
<UBYTE> --->
Fid_CoEngShOffTst_mp: Measurement point for Function Identifier Fid_CoEngShOffTst [-]
<UBYTE> --->

Application parameters CoEng_nShOffTstMax_C: maximum engine speed to allow shut off testing<value> --->
CoEng_nShOffTstMin_C: minimum engine speed to allow shut off testing<value> --->
CoEng_stShOffAftRun_C: shut off requests due to engine state afterrun<value> --->
CoEng_stShOffExtReq_C: shut off pathes due to external request<value> --->
CoEng_stShOffTstSel_C: selection of possible shut off tests (Bit 0: ESD/PSP, 1:PCV)<value>
--->
CoEng_tiShOffTstFlSys_C: time span till energizing time is set to zero, when low pressure
shut off system will be tested<value> --->
CoEng_tShOffTstMin_C: minimum coolant temperature threshold to allow shut off test<value>
--->
CoEng_vShOffTstMin_C: minimum vehicle speed threshold to allow shut off test<value> --->

coeng_shoff.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoEng_Mon - 197 -
DS/ESM Shut-off coordinator Veh-DrvTrn-Eng-CoEng

Shut-off coordinator (CoEng_Mon)


CARTONIC-Sturcture:VehD-rvTrnE-ng-CoEgn

Functional overview When certain implausible states and errors occur, the vehicle is guided into a safe operating state using the
shut-off coordinator. Where significant system or vehicle errors occur, the vehicle is switched off.
Not all shut-off requests lead to an engine stop as an engine stop has to be regarded as a critical step as, for
example, the power steering fails. Therefore, in the present monitoring concept, a recovery (computer re-
start) is triggered for some shut-off requests. The task of the shut-off coordinator is restricted to those shut-
off requests which lead either to a reversible or to an irreversible shut-off of the engine.
The shut-off requests of all the systems are acquired and evaluated within the central shut-off coordinator.
The application data can be used to decide whether the shut-off requests should actually lead to shut-off. In
addition to the shut-off requests, the shut-off paths are also output.
Shut-off request = f(Shut-off requests for airbag/roll bar,
Shut-off requests for immobilizer,
Shut-off requests for injector/solenoid valve,
Shut-off requests for the injection system,
Shut-off request for overspeed,
Shut-off request for diagnostic purposes,
Current engine state,
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Shut-off paths due to engine state afterrun,


Shut-off paths due to irregular combustion,
Customer-specific shut-off requests,
Shut-off request due to injector short-circuit)
Figure 212 : Shut-off coordinator - Overview

A ir b C D _ s t

Ig n L c k _ s t

In jU n _ s tIn jV a lv e

In jU n _ s tS h u tO ffR e q

E n g P rt_ s tO v rS p d
C o E n g _ s tS h u tO ffP a th
C o E n g _ s tE n g
S h u t-o ff
c o o r d in a to r C o E n g _ s tS h u tO ff
C o E n g _ s tA ftR u n P a th

C o m B a s _ s tD ia R e q

E n g M o n _ s tS h O ffIrrC m b

C o E n g _ s tS h O ffA d d R e q R e v

C o E n g _ s tS h O ffA d d R e q IR e v

A c c o r d in g to B o s c h s ta n d a r d
AirbCD_stCoEng_stAfRunPathCoEng_stEngCoEng_stShutOf CoEng_stShutOfPathInjUn_stShutOfReqComBas_stDiaReqEngMon_stShOfIrCmbEngPr_tsOvrSpdIgnLck_stInjUns_tInjValve

Functional description
Grouping of shut-off requests One group of shut-off requests is represented by the engine state "afterrun". Section “Effect of the shut-off
requests” deals with this in more detail.
Further shut-off requests that can occur during normal operation are separated into the two groups
“reversible engine shut-off” and “irreversible engine shut-off”.
Figure 213 : Engine shut-off

C o E n g _ s tE n g = = C O E N G _ S T A F T E R R U N C o E n g _ s tS h u tO ff.0

C o E n g _ s tR e v S h u tO ff_ C C o E n g _ s tR e v S h u tO ff

r e v e r s ib le s h u t o ff
o f th e e n g in e

r e v e r s ib le s h u t o ff r e q u e s t
0 ...n C o E n g _ s tS h u tO ff.1

C o E n g _ s tS h u tO ffP a th

C o E n g _ s tIR e v S h u tO ff_ C C o E n g _ s tIR e v S h u tO ff

ir r e v e r s ib le s h u t o ff
o f th e e n g in e

ir r e v e r s ib le s h u t o ff r e q u e s t
c o e n g _ m o n _ 1 .d s f

0 ...n C o E n g _ s tS h u tO ff.2

CoEgn_stRevShutOf_C onEg_stShutOfCoEng_stEng CoEng_stShutOfPath

19.3.2002 coeng_mon.fm
- 198 - CoEng_Mon Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-CoEng Shut-off coordinator DS/ESM

Shut-off requests that, due to the system, can occur in both cases are available in both groups. Shut-off
requests which apply to several systems can be masked with the application labels CoEng_stRevShutOff_C
or CoEng_stIRevShutOff_C. It should also be noted that the effectiveness of a shut-off request that is
present in both groups cannot be switched simultaneously to active for both reversible and irreversible engine
shut-off. The group “irreversible shut-off” always has a higher priority. This ensures that in the case of a faulty
application, the shut-off paths applicated in this group become effective first.
Hint: In special cases, it is not permitted to mask shut-off requests.
Within the two groups, another division is made into error paths and shut-off messages. This division is useful
because the DSM (Diagnostic System Management) supports the handling of error paths via function
identifiers (Fid). In this way, the number of inputs into the shut-off coordinator can be reduced.
1. Error paths
The shut-off coordinator reserves three function identifiers each for the groups “reversible shut-off” and
“irreversible shut-off”. This makes it possible for error paths that are detected as finally defective to trigger
different shut-off paths in each group. The effectiveness of the function identifiers is always active.
Example:
* Error path for communications monitoring between microcontroller and monitoring module
2. Shut-off messages
The shut-off messages are received by the shut-off coordinator and processed. System and project-
specific shut-off requests can be selected via the application masks CoEng_stRevShutOff_C and
CoEng_stIRevShutOff_C which eventually lead to an intermediate adjustment of the injection or to the
shut-off of the engine.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Examples:
* Overspeed detected
* Immobilizer will not release quantity (mask IGNLCK_MON_IMMO_MSK is set in IgnLck_st)
The following tables describe the system-independent shut-off requests, the display within a measuring point,
the masking possibilities and the associated label with the shut-off paths. The data assignment to the shut-
off path labels is to be carried out project-specifically and can be taken from the table “Shut-off paths” on page
200.
Table 75: Reversible shut-off requests
Reversible shut-off request Bit position at measuring Bit mask Masking Label for shut-off paths
point
CoEng_stRevShutOff
Fid: system error 1 (Fid_CoEngRevSys1_mp) 0 BP_SYS_ERR1 - CoEng_stShOffRevSys1_C
Fid: system error 2 (Fid_CoEngRevSys2_mp) 1 BP_SYS_ERR2 - CoEng_stShOffRevSys2_C
Fid: vehicle error (Fid_CoEngRevVeh_mp) 2 BP_VEH_ERR - CoEng_stShOffRevVeh_C
Fid: reserved for future expansions 3 -

Immobilizer (no quantity release) (IgnLck_st) 4 BP_IGNLCK_IMMO - COENG_STSHOFFIMMO


Reserved for future expansions 5 -

Airbag front crash activated (AirbCD_st.0) 6 BP_AIRB_FRNT_CRSH x CoEng_stShOffAirbFrnt_C


Airbag side impact activated (AirbCD_st.1) 7 BP_AIRB_SIDE_IMPCT x CoEng_stShOffAirbSide_C
Airbag rear impact activated (AirbCD_st.2) 8 BP_AIRB_REAR_IMPCT x CoEng_stShOffAirbRear_C
Rollbar activated (AirbCD_st.4) 9 BP_ROLLOVR_BAR x CoEng_stShOffRlOvrBar_C
Injection shut-off for minimum rail pressure 10 BP_PRES_MIN x CoEng_stShOffPresMin_C
(InjUn_stInjValve.2)
Overspeed detection (EngPrt_stOvrSpd.0) 11 BP_OVRSPD x CoEng_stShOffOvrSpd_C
Irregular combustion (EngMon_stShOffIrrCmb.0) 12 BP_ENGMON_IRRCMB x CoEng_stShOffIrrCmb_C
Diagnostic request for fuel feed inhibition (ComBas_stDiaReg.0) 13 BP_DIAREQ_FUELINHIB x CoEng_stShOffDiaReqFI_C
Multiple no load of the injection (InjUn_stInjValve.1) 14 BP_MULTI_NOLD x CoEng_stShOffInjMon_C
Solenoid valve permanently supplied with power 15 BP_SV_CON_SPLY x CoEng_stShOffSV_C
(InjUn_stInjValve.0)
Error in pressure control (InjUn_stShutOffReq.0) 16 BP_DBLCTL x CoEng_stShOffDblCtl_C
Customer-specific reversible shut-off request 17 BP_ADD_REQ x CoEng_stShOffAddReqRev_C
(CoEng_stShOffAddReqRev.0)
Injector short-circuit 18 BP_INJ_SHCIR x CoEng_stShOffInjShCir_C
(InjUn_stInjValve.3)
Reserved for future expansions 19
.... ....
Reserved for future expansions 31

Table 76: Irreversible shut-off requests


Irreversible shut-off request Display at measuring point Bit mask Masking Label for shut-off paths
CoEng_stIRevShutOff
Fid: system error 1 (Fid_CoEngIRevSys1_mp) 0 BP_SYS_ERR1 - CoEng_stShOffIRevSys1_C
Fid: system error 2 (Fid_CoEngIRevSys2_mp) 1 BP_SYS_ERR2 - CoEng_stShOffIRevSys2_C
Fid: vehicle error (Fid_CoEngIRevVeh_mp) 2 BP_VEH_ERR - CoEng_stShOffIRevVeh_C
Fid: reserved for future expansions 3 -

Reserved for future expansions 4 -


Reserved for future expansions 5 -
Airbag front crash activated (AirbCD_st.0) 6 BP_AIRB_FRNT_CRSH x CoEng_stShOffAirbFrnt_C
Airbag side impact activated (AirbCD_st.1) 7 BP_AIRB_SIDE_IMPCT x CoEng_stShOffAirbSide_C
Airbag rear impact activated (AirbCD_st.2) 8 BP_AIRB_REAR_IMPCT x CoEng_stShOffAirbRear_C
Rollbar activated (AirbCD_st.4) 9 BP_ROLLOVR_BAR x CoEng_stShOffRlOvrBar_C
Reserved for future expansions 10 x
... ... x
Reserved for future expansions 13 x

coeng_mon.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoEng_Mon - 199 -
DS/ESM Shut-off coordinator Veh-DrvTrn-Eng-CoEng

Irreversible shut-off request Display at measuring point Bit mask Masking Label for shut-off paths
CoEng_stIRevShutOff
Multiple no load of the injection (InjUn_stInjValve.1) 14 BP_MULTI_NOLD x CoEng_stShOffInjMon_C
Solenoid valve permanently supplied with power 15 BP_SV_CON_SPLY x CoEng_stShOffSV_C
(InjUn_stInjValve.0)
Error in pressure control (InjUn_stShutOffReq.0) 16 BP_DBLCTL x CoEng_stShOffDblCtl_C
Customer-specific irreversible shut-off request 17 BP_ADD_REQ CoEng_stShOffAddReqIRev_C
(CoEng_stShOffAddReqIRev.0)
Injector short-circuit 18 BP_INJ_SHCIR x CoEng_stShOffInjShCir_C
(InjUn_stInjValve.3)
Reserved for future expansions 19 x
... ... x
Reserved for future expansions 31 x

Hint: The shut-off requests 0 ... 5 cannot be masked. All inputs marked with “x” can be masked.
Explanation:
x == 0: Shut-off request inactive
x == 1: Shut-off request active
Shut-off paths Depending on engine state and shut-off request, different shut-off paths are activated. The following two
diagrams demonstrate this using the example of a reversible engine shut-off. The diagram “Reversible shut-
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

off (shut-off requests)” on page 199 shows the logical inputs of the shut-off requests, and the diagram
“Reversible shut-off (shut-off paths)” on page 199 shows the associated applicated shut-off paths (bit by bit
linked by logical OR).
Figure 214 : Reversible shut-off (shut-off requests)
F id _ C o E n g R e v S y s 1 C o E n g _ s tR e v S h u tO ff.0
F id _ C o E n g R e v S y s 2 C o E n g _ s tR e v S h u tO ff.1
F id _ C o E n g R e v V e h C o E n g _ s tR e v S h u tO ff.2
Ig n L c k _ s t & IG N L C K _ M O N _ IM M O _ M S K C o E n g _ s tR e v S h u tO ff.4

A ir b C D _ s t.0
C o E n g _ s tR e v S h u tO ff.6
&

A ir b C D _ s t.1
C o E n g _ s tR e v S h u tO ff.7
&

A ir b C D _ s t.2
C o E n g _ s tR e v S h u tO ff.8
&

A ir b C D _ s t.4 C o E n g _ s tS h u tO ff.1
>= 1
C o E n g _ s tR e v S h u tO ff.9
&

In jU n _ s tIn jV a lv e .2
C o E n g _ s tR e v S h u tO ff.1 0
&

E n g P rt_ s tO v rS p d .0
C o E n g _ s tR e v S h u tO ff.1 1
&

...

c o e n g _ m o n _ 2 .d s f
In jU n _ s tIn jV a lv e .3
C o E n g _ s tR e v S h u tO ff.1 8
C o E n g _ s tR e v S h u tO ff_ C &

I njU_stInjValveAirbCD_stIgnLck_stFid_CoEngRevVeh_mp Fid_CoEgnRevSys1_mpCoEng_stRevShutOfCoEgn_stShutOfEngPrt_stOvrSpdInjU_stShutOfReqCoEng_stRevShutOf_CFid_CoEngRevSys2_mpCoEng_stRevShutOf

Figure 215 : Reversible shut-off (shut-off paths)

C o E n g _ s tR e v S h u tO ff .0 .1 .2 .4 .6 .7 .8 .9 .1 0 .1 1 ... .1 8
c o e n g _ m o n _ 3 .d s f

C o E n g _ s tS h O ffR e v S y s 1 _ C
P
B itO r

C o E n g _ s tS h O ffR e v S y s 2 _ C
P B itO r

C o E n g _ s tS h O ffR e v V e h _ C
P B itO r

C O E N G _ S T S H O F F IM M O
P
B itO r

C o E n g _ s tS h O ffA ir b F r n t_ C
P B itO r

C o E n g _ s tS h O ffA ir b S id e _ C
P B itO r

C o E n g _ s tS h O ffA ir b R e a r _ C
P B itO r

C o E n g _ s tS h O ffR lO v r B a r _ C
P B itO r

C o E n g _ s tS h O ffP r e s M in _ C
P B itO r

C o E n g _ s tS h O ffO v rS p d _ C
P B itO r

...
...

C o E n g _ s tS h O ffIn jS h C ir _ C re v . s h u t o ff p a th e s
P B itO r

19.3.2002 coeng_mon.fm
- 200 - CoEng_Mon Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-CoEng Shut-off coordinator DS/ESM
CoEgn_stShOfAdReqRev_CoEng_stSOhfAirbFrnt_C oEn_gstShOfAirbRear_C CoEng_stShOfAi rbSide_CoEng_stShOfDblCtl_CoEng_stShOfDiaReqFl_C CoEng_stShOfInjMon_C CoEng_stShOfI njShCir_C oEng_stShOfI rCmb_CoEng_stShOfOvrSpd_C oEng_stShOfPrseMin_C oEgn_stShOfRevSys1_CoEng_stShOfRevSys2_C CoEng_stShOfRevVeh_C oEng_stShOfRlOvrBar_CoEng_stShOfSV_C CEong_stRevShutOf

Irreversible shut-off is structured in the same way as shown in the table “Irreversible shut-off requests”, but
has a higher priority. As soon as an irreversible shut-off request is present, no further reversible shut-off
requests are checked in this driving cycle.
Effect of the shut-off requests 1. No shut-off request active
The shut-off message CoEng_stShutOffPath always has the value 0, i.e. no shut-off request is present
to activate the shut-off paths.
2. Irreversible shut-off request
If an irreversible shut-off request occurs during a driving cycle, the shut-off path label corresponding to
the shut-off request is copied into the shut-off message CoEng_stShutOffPath. If several shut-off
requests are active at the same time, the shut-off path labels are linked bit by bit by logical OR beforehand.
If the driver switches off the ignition (terminal 15 = 0) then the engine state changes to afterrun. Due to
the afterrun state, the shut-off paths are linked, in this case, bit by bit in OR mode with the shut-off paths
resulting from the irreversible shut-off requests.
Irreversible shut-off requests can only be cancelled by a new start (computer start-up following control unit
reset).
3. Reversible shut-off request
If a reversible shut-off request occurs during a driving cycle, the shut-off path label corresponding to the
shut-off request is copied into the shut-off message CoEng_stShutOffPath. If several shut-off requests
are active at the same time, the shut-off path labels are linked bit by bit by logical OR beforehand. If the
engine has come to a standstill, restart is possible at any time as soon as the shut-off requests are no
longer present and thus the shut-off message is reset.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
4. Shut-off request by engine state "afterrun" (CoEng_stEng == COENG_STAFTERRUN, 0x30)
Under certain circumstances tests are performed during afterrun that cause the engine to stop. If no test
is carried out, then the engine can be shut off as quickly as possible via all of the shut-off paths available
in the system. In the message “afterrun shut-off request” CoEng_stAftRunPath, different shut-off paths
are therefore set and sent to the shut-off coordinator according to the phase of the afterrun.
Shut-off requests are displayed globally in the message CoEng_stShutOff.
Table 77: Global shut-off requests
Bit position CoEng_stShutOff Shut-off request Bit mask
0 Engine state "afterrun" COENG_SHUTOFF_AFTRUN
1 Reversible shut-off request COENG_SHUTOFF_REV
2 Irreversible shut-off request COENG_SHUTOFF_IREV

Figure 216 : Intervention of the shut-off paths


C o E n g _ s tA ftR u n P a th
B itO r

ir r e v e r s ib le s h u t o ff p a th e s C o E n g _ s tS h u tO ffP a th

r e v e r s ib le s h u t o ff p a th e s

C o E n g _ s tS h u tO ff.1

c o e n g _ m o n _ 4 .d s f
C o E n g _ s tS h u tO ff.2

C o E n g _ s tS h u tO ff.0

The following table describes the shut-off paths used project-specifically in the shut-off path labels.
Table 78: Shut-off paths
Bit position Shut-off path Bit mask
0 Set energizing time to zero COENG_PATH_ET_ZERO
1 Set fuel quantity to zero COENG_PATH_FL_QNT
2 Set minimum rail pressure COENG_PATH_RP_MIN
3 Pump element shut-off COENG_PATH_ELEM_PROT
4 Delay of start of delivery COENG_PATH_STRT_OF_DELIVER
5 Close throttle valve COENG_PATH_CLOSE_THROTTLE
6 Disable drive train COENG_PATH_DISABLE_DRIVE
7 Shut off low-pressure system COENG_PATH_LPSYS_OFF
8 Reserved for future expansions COENG_PATH_SOL_VALVE_OFF
9 Shut off solenoid valve COENG_PATH_MRLY_REGULAR_OFF
10 Shut off main relais after afterrun is completed COENG_PATH_MRLY_QUICK_OFF
11 Immediately shut off main relay COENG_PATH_OPEN_PCV
12 Open pressure-control valve (for afterrun only) COENG_PATH_CLOSE_EGR
13 Close exhaust-gas recirculation valve
... 31 Reserved for future expansions

Explanation:
Bit x == 0: Action not available under software control/shut-off path
Bit x == 1: Action causes injection/engine shut-off via the indicated path
Caution: The main relay can be shut-off in two ways. If the main relay is to be opened almost without delay in any
engine operating state, it must be ensured that the bit COENG_PATH_MRLY_QUICK_OFF is set in the shut-
off message. If the main relay is to be opened at the end of the afterrun, the bit
COENG_PATH_MRLY_REGULAR_OFF must be set in the shut-off message.

ECU initialization The initialization value for the message CoEng_stShutOff (global shut-off requests) is 0. The shut-off
message CoEng_stShutOffPath is initialized by CoEng_stShOffInit_C.

Output values CoEng_stShutOff: type of the effective shut off reason (0: afterrun; 1: reversible; 2:
irreversible) [-] <UBYTE> --->
CoEng_stShutOffPath: active shut-off paths resulting from active reversible,
irreversible, and afterrun shut-off paths [-] <ULONG> --->

coeng_mon.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoEng_Mon - 201 -
DS/ESM Shut-off coordinator Veh-DrvTrn-Eng-CoEng

Input values AirbCD_st: shut off requests for airbag/rollover bar [-] <UBYTE> --->
CoEng_stAftRunPath: shut off paths due to engine state afterrun [-] <ULONG> --->
CoEng_stEng: current engine state [-] <UBYTE> --->
CoEng_stShOffAddReqIRev: customer specific irreversible shut off request [-] <UBYTE> --->
CoEng_stShOffAddReqRev: customer specific reversible shut off request [-] <UBYTE> --->
ComBas_stDiaReq: Request message from diagnosis interface [-] <UBYTE> --->
EngMon_stShOffIrrCmb: Shutoff message to shutoff coordinator due to irregular combustion
[-] <UBYTE> --->
EngPrt_stOvrSpd: state of overspeed [-] <UBYTE> --->
IgnLck_st: shut off requests for immobilizer [-] <UBYTE> --->
InjUn_stInjValve: shut-off requests for injector [-] <UBYTE> --->
InjUn_stShutOffReq: shut off requests from injection system [-] <UBYTE> --->

Measuring points CoEng_stIRevShutOff: irreversible shut off reasons (after masking) [-] <ULONG> --->
CoEng_stRevShutOff: reversible shut off reasons (after masking) [-] <ULONG> --->
Fid_CoEngIRevSys1_mp: Measurement point for Function Identifier Fid_CoEngIRevSys1 [-]
<UBYTE> --->
Fid_CoEngIRevSys2_mp: Measurement point for Function Identifier Fid_CoEngIRevSys2 [-]
<UBYTE> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Fid_CoEngIRevVeh_mp: release, if no irreversible vehicle errors present [-] <UBYTE> --->


Fid_CoEngRevSys1_mp: Measurement point for Function Identifier Fid_CoEngRevSys1 [-]
<UBYTE> --->
Fid_CoEngRevSys2_mp: Measurement point for Function Identifier Fid_CoEngRevSys2 [-]
<UBYTE> --->
Fid_CoEngRevVeh_mp: release, if no reversible vehicle errors present [-] <UBYTE> --->

Application parameters CoEng_stIRevShutOff_C: mask of irreversible shut off reasons<value> --->


CoEng_stRevShutOff_C: mask of reversible shut off reasons<value> --->
CoEng_stShOffAddReqIRev_C: shut off paths for customer specific irreversible shut off
request<value> --->
CoEng_stShOffAddReqRev_C: shut off paths for customer specific reversible shut off
request<value> --->
CoEng_stShOffAirbFrnt_C: shut off paths for airbag front crash activated<value> --->
CoEng_stShOffAirbRear_C: shut off paths for airbag rear impact activated<value> --->
CoEng_stShOffAirbSide_C: shut off paths for airbag side impact activated<value> --->
CoEng_stShOffDblCtl_C: shut off paths for inadmissible high pressure control mode (double
control concept only)<value> --->
CoEng_stShOffDiaReqFI_C: shutoff request from diagnosis interface due to fuel
inhibition<value> --->
CoEng_stShOffInit_C: shut off paths after initialization<value> --->
CoEng_stShOffInjMon_C: shut off paths for multiple open loads of the injecton
valves<value> --->
CoEng_stShOffInjShCir_C: shut off paths for short circuit of injection valves<value> --->
CoEng_stShOffIRevSys1_C: shut off paths for irreversible system faults 1<value> --->
CoEng_stShOffIRevSys2_C: shut off paths for irreversible system faults 2<value> --->
CoEng_stShOffIRevVeh_C: shut off paths for irreversible vehicle faults<value> --->
CoEng_stShOffIrrCmb_C: Mask for shut off path for irregular combustion detected by lambda
sensor<value> --->
CoEng_stShOffOvrSpd_C: shut off paths due to overspeed<value> --->
CoEng_stShOffPresMin_C: shut off paths for fall short of minimum rail pressure<value> --->
CoEng_stShOffRevSys1_C: shut off paths for reversible system faults 1<value> --->
CoEng_stShOffRevSys2_C: shut off paths for reversible system faults 2<value> --->
CoEng_stShOffRevVeh_C: shut off paths for reversible vehicle faults<value> --->
CoEng_stShOffRlOvrBar_C: shut off paths for roll over bar activated<value> --->
CoEng_stShOffSV_C: shut off paths in case of continously supplied solenoid valve<value>
--->

19.3.2002 coeng_mon.fm
- 202 - CoEng_MonAddReq Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-CoEng Customer-specific shut-off requests to the shut-off coordinator DS/ESM

Customer-specific shut-off requests to the shut-off coordinator (CoEng_MonAddReq)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-CoEng

Functional overview Generation of customer-specific shut-off requests (reversible and irreversible) CoEng_stShOffAddReqRev,
CoEng_stShOffAddReqIRev for the shut-off coordinator see “Shut-off coordinator (CoEng_Mon)” on page
197.
Customer-specific shut-off request = f(Reversible shut-off requests,
Irreversible shut-off requests)
Figure 217 : Customer-specific shut-off requests - overview

r e v e r s ib le s h u t o ff r e q u e s t 1

. R e v e r s ib le C o E n g _ s tS h O ffA d d R e q R e v
. s h u t-o ff
r e v e r s ib le s h u t o ff r e q u e s t n c o o r d in a tio n

ir r e v e r s ib le s h u t o ff r e q u e s t 1

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
.
Ir r e v e r s ib le C o E n g _ s tS h O ffA d d R e q IR e v
.
s h u t-o ff
ir r e v e r s ib le s h u t o ff r e q u e s t n c o o r d in a tio n

Functional description In the present Basis version, the initial values are not changed. For a customer-specific application, the
reversible shut-off request CoEng_stShOffAddReqRev.0 see “Reversible shut-off requests” on page 198 and
the irreversible request CoEng_stShOffAddReqIRev.0 see “Irreversible shut-off requests” on page 198 can
be generated for the shut-off coordinator, in this function by using freely selectable shut-off requests (by
means of logical OR-links).
Figure 218 : Generation of the customer-specific shut-off requests

r e v e r s ib le s h u t o ff r e q u e s t 1

.
C o E n g _ s tS h O ffA d d R e q R e v .0
.
>= 1
.

r e v e r s ib le s h u t o ff r e q u e s t n

ir r e v e r s ib le s h u t o ff r e q u e s t 1

.
C o E n g _ s tS h O ffA d d R e q IR e v .0
.
>= 1
.

ir r e v e r s ib le s h u t o ff r e q u e s t n

c o e n g _ m o n a d d re q _ 2 .d s f

ECU initialization The initialization value "0" is assigned to the output messages CoEng_stShOffAddReqRev and
CoEng_stShOffAddReqIRev.

Output values CoEng_stShOffAddReqIRev: customer specific irreversible shut off request [-] <UBYTE> --->
CoEng_stShOffAddReqRev: customer specific reversible shut off request [-] <UBYTE> --->

coeng_monaddreq.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoEng_TrqCalc - 203 -
DS/ESM Engine torque calculation Veh-DrvTrn-Eng-CoEng

Engine torque calculation (CoEng_TrqCalc)


CARTONIC-Sturcture:VehD-rvTrnE-ng-CoEgn

Functional overview The engine torque calculation transforms the engine speed and torque demand of various subsystems into
demands to the engine. The following tasks are performed in the function:
1. Drag torque compensation.
2. Calculation of the current torque demands on the engine from the torque demands from drive control, low-
idle governor and active surge damper (disturbance compensator).
3. Overrun detection and shut-off
4. Provision of the current torque interval for the superordinate levels.
5. Provision of the current engine output torque.
6. Provision of the current interval for the engine speed demand.
Figure 219 : Engine torque calculation - overview

C o D T _ s w tC o T y p e

L IG o v _ tr q F lt

C o e n g _ tr q In r L im L e a d

C o D T _ trq C u rr
C o E n g _ n M a x
C o E n g _ fa c A d j
C o E n g _ n M in
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

C o E n g _ trq D e s
C o E n g _ s tO v rR u n
C o D T _ trq L e a d
C o E n g _ trq
C o D T _ n M in
C o E n g _ tr q C u r r L im
A S D d c _ trq
C o E n g _ trq In rC u rr

C o D T _ n M a x
C o E n g _ s tD is a b le
S e le c tio n o f:
C o E n g _ s tE n g
T o rq u e d e m a n d C o E n g _ trq In rD e s

C o E n g _ s tT r q L im E r r S p e e d d e m a n d C o E n g _ trq In rD e s F a s t

C o E n g _ tr q In r L im L e a d O v e r r u n d e te c tio n
C o E n g _ tr q In r D e s S lo w
O v e rru n s h u t-o ff
E n g _ trq C rv M a x
T o r q u e in te r v a ll C o E n g _ trq In rC u rrF a s t
E n g M _ trq F rc
C o E n g _ trq In rL td
F M T C _ trq In r
C o E n g _ trq In rR a w
H P U n _ trq D e s
C o E n g _ trq In rS e t
L u b _ n M in
C o E n g _ trq M a x
V E S G o v _ trq
C o E n g _ tr q M in
C o E n g _ tr q In r C u r r L im
C o E n g _ tr q L iL td
C o E n g _ tr q In r L im

L IG o v _ trq

A S D rf_ trq In r

A c c o r d in g to B o s c h s ta n d a r d

ASDcd_trqASDrf_trqInrCoDTn_MaxCoD_TnMinCoDT_swtCoyTpeCoDT_trqDesCoDT_trqLeadCoEng_nMaxCoEgn_nMiCoEng_stDi sableCoEgn_stEngCoEn_gstOvrRun CoEng_stTrqLimErCoEng_trqCoEng_trqCurLimCoEng_trqInrCru ConEg_trqInrCurLimCoEng_trqInrDes CoEng_trqInrDesFastCoEng_trqInrDesSlowCoEng_trqIrnLimCoEn_gtrqInrLimDes CoEng_trqnI rLmi LeadCoEng_trqIrnLdtCoEn_gtrqIrnRaw ConEg_trqnI SretCoEngt_rqLitdCoEgn_rtqMaxCoEng_rtqMinEn_gtrqCrvMaxEngM_trqFcMTC_trqInHrPUn_trqDesLIGov_trqLIoGv_trqFtl Lu_bnMinVESGov_trq ConEgt_rqnI CrurFastCoDT_rqtCurCoEgn_facAdj

Functional description
Torque demands
Figure 220 : Torque demand setpoint and lead torques

CoEng_trqInrDesSlowBase_mp

CoDT_trqDes
CoEng_trqInrDesSlow

TRQ_ZERO

CoEng_trqInrCurrFastBase_mp

CoDT_trqCurr
CoEng_trqInrCurrFast

TRQ_ZERO

CoEng_trqInrDesFastBase_mp

CoDT_trqLead
CoEng_trqInrDesFast

TRQ_ZERO
CoEng_stOvrRun
CoEng_trqMin

CoEng_stTrqLimErr

VESGov_trq
CoEng_trqInrDes
CoEng_trqInrLim

0.0
CoEgn_stTrqLimErCoEng_trqInrLimCoTD_trqLeadCoEng_trqFastMin_mpCoDT_trqDesCoEng_trqSl owMin_mpVESGov_trqCoEng_trqInrDesSl woBase_mpCoEng_trqInrDesFastBase_mpCoEng_trqInrDesSlowUnLim_mpCoEng_trqInrDesFastUnLim_mpCoEng_trqInrDseFastCoEng_trqInrDesSl owCoEng_stOvrRunCoEgn_trqIrnDes

19.3.2002 coeng_trqcalc.fm
- 204 - CoEng_TrqCalc Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-CoEng Engine torque calculation DS/ESM

Figure 221 : Torque demand: raw torque, current torque; limited demand torque

CoEng_trqInrDesSlow
CoEng_trqInrLtd

CoEng_trqInrLimDes

CoEng_trqLiLtd

CoEng_trqInrCurrPre_mp CoEng_stOvrRun

CoEng_trqInrLim
CoEng_trqInrCurr

CoEng_trqInrCurrFast 0.0

LIGov_trqFlt
CoEng_trqInrRawPre_mp

CoEng_trqInrLimLead
CoEng_trqInrRaw

CoEng_trqInrDesFast 0.0

LIGov_trq

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
CoEgn_stTrqLimErCoEng_stOvrRunCoEng_trqInrCurCoEng_trqInrCurPe_mpCoEng_trqInrDesFastCoEng_trqInrDesSl owConEg_trqInrLimCoEng_trqInrLimDesCoEng_trqInrLimLeadCoEng_trqInrLtdCoEng_trqInrRawCoEng_trqInrRawPre_mpCoEng_trqLi tdLIGov_trqLIGov_trqFlt

Figure 222 : Torque demand: setpoint torque

CoEng_trqInrLimDes CoEng_trqLimOffs_mp

CoEng_trqOffs_C

CoEng_stOvrRun
Overrun shut off
0 CoEng_trqInrSet

ASDrf_trqInr

CoEng_trqLiLtd

CoEng_trqBefRmp_mp
ASDdc_trq CoEng_trqSetASDdc_mp
ASDcd_trqConEg_trqInrLimDesCoEgn_trqLimOfs_mpCoEng_trqOfs_C CoEng_stOvrRunASDrf_trqInrCoEng_trqInrSeCtonEg_trqSetASDd_cmpCoEng_trqLi tdCoEng_trqBefRmp_mp

coeng_trqcalc.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoEng_TrqCalc - 205 -
DS/ESM Engine torque calculation Veh-DrvTrn-Eng-CoEng

According to the different dynamics and tasks of subordinate subsystems, the input-side torque demands are
converted into different output signals:
• Demand torque CoEng_trqInrDes
The lower limit of the torque interval CoEng_trqMin is subtracted from the torque demand of the drive train
CoDT_trqDes. The resulting demand torque as an inner engine torque is CoEng_trqInrDesSlow. The
demand torque is limited to a value greater than or equal to 0 Nm. A maximum formation of the torque
demand of the variable engine-speed governor VESGov_trq is used to represent the demand torque.
The demand torque CoEng_trqInrDes corresponds to CoEng_trqInrDesFast as long as no torque-
limiting system errors are present. If a torque-limiting system error does occur, the internal limiting torque
CoEng_trqInrLim is used as long as the system error (CoEng_stTrqLimErr, Bit 0) or the ramp for the
transition to and from the limiting value for system error are active (CoEng_stTrqLimErr, Bit 1).
Calculation: engine speed-synchronous
• Current torque CoEng_trqInrCurr
The lower limit of the torque interval CoEng_trqMin is subtracted from the torque demands of the drive
train CoDT_trqCurr. The resulting current torque as an inner engine torque is CoEng_trqInrCurrFast.
The current torque is limited to a value greater than or equal to 0 Nm. A maximum formation of the torque
demand of the variable engine-speed governor VESGov_trq is used to represent the current torque.
The current torque CoEng_trqInrCurr is calculated from the minimum of the inner limitation torque
CoEng_trqInrLim and the sum of lead torque CoEng_trqInrCurrFast and filtered torque demand of the
low-idle governor LIGov_trqFlt. The filtered torque demand of the low-idle governor is used in the Curr
path in contrast to the other lead paths and the setpoint path. This is done to prevent possible fast engine-
speed oscillations when in low-idle, arising, for example, from reactions of the drive train and causing the
LIGov P-component to oscillate and the signal to be transmitted via the Curr path.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Calculation: engine speed-synchronous


Hint: LIGov_trqFlt = LIGov_trq can be set by application.
• Raw torqueCoEng_trqInrRaw
The lower limit of the torque interval CoEng_trqMin is subtracted from the torque demand of the drive train
CoDT_trqLead. The resulting lead torque, as an inner engine torque, is CoEng_trqInrDesFast. The lead
torque is limited to a value greater than or equal to 0 Nm. A maximum formation of the torque demand of
the variable engine-speed governor VESGov_trq is used to represent the lead torque.
The raw torque CoEng_trqInrRaw is calculated from the minimum of the inner limitation torque without
short-term limitations CoEng_trqInrLimLead and the sum of lead torque CoEng_trqInrDesFast and
torque demand of the low-idle governor LIGov_trq.
Calculation: engine speed-synchronous
• Setpoint torqueCoEng_trqInrSet
The setpoint torque which is used to calculate the current injection quantity, contains, as input signals, the
internal torque request CoEng_trqInrDesSlow, the torque demand of the low-idle governor
CoEng_trqLiLtd and the internal limiting torque CoEng_trqInrLimDes.
The minimum of the resulting limitation torque for the engine protection CoEng_trqInrLim and the torque
of the low-idle governor LIGov_trq results in CoEng_trqLiLtd. The low-idle governor torque must not be
influenced by the reference filter and must therefore be guided past the reference filter. Therefore,
CoEng_trqLiLtd is subtracted from CoEng_trqInrLim ahead of the reference filter (and added again
after the reference filter). In this way, the torque CoEng_trqInrLimDes is obtained which represents the
input value for the reference filter of the active surge damper. Subsequently, the output of the active surge
damper-disturbance compensator ASDdc_trq is subtracted. The resulting signal is limited by the limiting
torque CoEng_trqInrLimDes expanded by the offset CoEng_trqOffs_C. The expansion is necessary to
create a working range for the interventions of the active surge damper-disturbance compensator and to
avoid unilateral limitation.
After the reference filter, the torque CoEng_trqLiLtd is added to the output of the active surge damper-
disturbance compensator. In this way, it is ensured that the torque demand of the low-idle governor is
guided past the active surge damper-controller.
Calculation: engine speed-synchronous
Overrun detection for shut-off The condition for overrun is as follows:
(CoEng_stEng== COENG_STNORMAL AND
(CoEng_trqInrLtd + CoEng_trqLiLtd) < CoEng_trqOvrRunThres_C)
Overrun is detected if there is no torque demand or if the torque limitation produces a value below the
threshold CoEng_trqOvrRunThres_C when the engine is in normal operation. (CoEng_stOvrRun = TRUE)
Figure 223 : Overrun detection

CoEng_stEng
CoEng_stOvrRun

COENG_STNORMAL

CoEng_trqLiLtd

CoEng_trqInrLtd

CoEng_trqOvrRunThres_C
CoEgn_stEngCoEng_trqLi td CoEng_trqInrLtdCoEng_trqOvrRnuThres_CoEgn_stOvrRun

Overrun Shut Off When overrun is detected, the inner setpoint torque CoEng_trqInrSet is reduced to zero with a ramp
function after the applicatable time CoEng_tiRmpStrt_C. The ramp slope can be applicated by
CoEng_dtrqRmpDwn_C. In order to guarantee a defined moment for the start of overrun monitoring, a hard
switch-over to zero torque (TRQ_ZERO) is made after the time CoEng_tiSwtOff_C has elapsed.
CoEng_stDisable indicates whether the shut-off was hard, ( 1: shut-off, 0: not shut-off).

19.3.2002 coeng_trqcalc.fm
- 206 - CoEng_TrqCalc Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-CoEng Engine torque calculation DS/ESM

Figure 224 : Overrun Shut Off

CoEng_tiSwtOff_C

OvrRun Swt Off


CoEng_stOvrRun CoEng_stDisable

CoEng_dtrqRmpDwn_C

CoEng_trqRmp_mp
CoEng_tiRmpStrt_C

CoEng_stRmp_mp

OvrRun Ramp

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
CoEng_trqBefRmp_mp
CoEng_trqInrSet

TRQ_ZERO
CoEgn_stOvrRunCoEng_trqBefRmp_mp CoEng_trqInrSeCtonEg_dtrqRmpDwn_C oEng_tiSwtOf_C oEng_tiRmpStr_CoEng_stDisable CoEng_stRmp_mpCoEng_trqRmp_mp

Setting the torques to zero in overrun operation For detected overrun, the torques CoEng_trqInrDes, CoEng_trqInrCurr, CoEng_trqInrRaw are explicitly
set to zero. In this way, it is possible to eliminate any numerical inaccuracies of the torques in overrun.
Current torque interval
Figure 225 : Torque interval

Eng_trqCrvMax CoEng_trqMax

EngM_trqFrc CoEng_trqMin

HPUn_trqDes
• Maximum valueCoEng_trqMax
Eng_trqCvMaxEngM_trqFrcCoEng_trqMaxCoEng_trqMinHPU_ntrqDes

For the maximum value of the torque interval, the speed-dependent maximum torque from the torque
curve Eng_trqCrvMax is used.
• Minimum valueCoEng_trqMin
The minimum value of the torque interval is formed by adding the current friction torque EngM_trqFrc
(negative prefix) and the torque demand of the high-pressure pump HPUn_trqDes (negative prefix).
Engine speed requirement CoEng_nMax and • Maximum valueCoEng_nMax
CoEng_nMin The maximum value CoDT_nMax from the drive train coordinator is used as the maximum value of the
speed demand.
• Minimum valueCoEng_nMin
For the minimum speed requirement, the maximum of the minimum requirements from the drive train
coordinator CoDT_nMin and lubrication Lub_nMin is used.
Figure 226 : Engine speed requirement CoEng_nMin and CoEng_nMax

Lub_nMin
CoEng_nMin

CoDT_nMin

CoDT_nMax CoEng_nMax

Current engine output torque CoEng_trq The current engine output torque is calculated by adding the inner torque currently generated FMTC_trqInr,
the friction torque EngM_trqFrc (negative sign) and the torque demand from the high-pressure pump
HPUn_trqDes.
Figure 227 : Current engine output torque

FMTC_trqInr CoEng_trq

EngM_trqFrc

HPUn_trqDes

EngM_trqFrcCoEgn_trqFMTC_trqInrHPnU_trqDes

Current minimum of all limitations in the engine as The current minimum of all limiting torques as engine output torque CoEng_trqCurrLim is calculated by
engine output torque CoEng_trqCurrLim addition of the drag losses (negative sign) CoEng_trqMin and the current minimum of all limiting torques as
inner torque CoEng_trqInrCurrLim.

coeng_trqcalc.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoEng_TrqCalc - 207 -
DS/ESM Engine torque calculation Veh-DrvTrn-Eng-CoEng

Figure 228 : Current minimum of all limitations of the engine output torque

CoEng_trqInrCurrLim CoEng_trqCurrLim

CoEng_trqMin
CoEgn_trqCurLimCoEng_trqInrCurLimCoEng_trqMin

ECU initialization • All torque demands are initialized with TRQ_ZERO.


• The initialization values for the torque interval are CoEng_trqMax=TRQ_MAX, CoEng_trqMin=TRQ_ZERO.
• The speed interval is initialized to CoEng_nMax=ENG_N_MAX, CoEng_nMin=ENG_N_MIN.
• The status of the overrun detection CoEng_stOvrRun as well as the overrun shut-off CoEng_stDisable
are initialized with FALSE.

Output values CoEng_nMax: engine speed range: max value [rpm] <SWORD> --->
CoEng_nMin: engine speed range min value [rpm] <SWORD> --->
CoEng_stDisable: State off overrun shut off : 1: switched off; 0: not switched off [-]
<UBYTE> --->
CoEng_stOvrRun: state of overrun detection (0: no overrun, 1: overrun) [-] <UBYTE> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

CoEng_trq: actual torque of the engine [Nm] <SWORD> --->


CoEng_trqCurrLim: minimum of all limitations as current engine torque [Nm] <SWORD> --->
CoEng_trqInrCurr: current inner torque [Nm] <SWORD> --->
CoEng_trqInrCurrFast: inner desired torque (fast path) calculated from CoDT_trqCurr [Nm]
<SWORD> --->
CoEng_trqInrDes: inner torque desired value [Nm] <SWORD> --->
CoEng_trqInrDesFast: inner torque desired value (fast signal path) generated out from
CoDT_trqLead [Nm] <SWORD> --->
CoEng_trqInrDesSlow: inner torque desired value (standard signal path) generated out from
CoDT_trqDes [Nm] <SWORD> --->
CoEng_trqInrLtd: inner torque set value after limitation, without ASDdc signal [Nm]
<SWORD> --->
CoEng_trqInrRaw: inner torque raw value [Nm] <SWORD> --->
CoEng_trqInrSet: inner torque set value [Nm] <SWORD> --->
CoEng_trqLiLtd: Limited Li-Gov output [Nm] <SWORD> --->
CoEng_trqMax: engine torque range: max value [Nm] <SWORD> --->
CoEng_trqMin: drag torque [Nm] <SWORD> --->

Input values ASDdc_trq: ASD disturbance compensator torque output [Nm] <SWORD> --->
ASDrf_trqInr: ASD reference filter inner torque output [Nm] <SWORD> --->
CoDT_nMax: maximum Engine Speed Demand of Drive Train [rpm] <SWORD> --->
CoDT_nMin: Low Idle Speed Demand of Drive Train [rpm] <SWORD> --->
CoDT_swtCoType: 0: conventional; 1: mastershift [-] <UBYTE> --->
CoDT_trqCurr: drive train torque for lead path (curr) [Nm] <SWORD> --->
CoDT_trqDes: desired torque order of Drive Train [Nm] <SWORD> --->
CoDT_trqLead: torque lead odrder of Drive Train [Nm] <SWORD> --->
CoEng_facAdj: EEPROM adjustment factor to correct limitation torque [-] <SWORD> --->
CoEng_stEng: current engine state [-] <UBYTE> --->
CoEng_stTrqLimErr: state limitation torque in case of system error; bit0 limitation activ
ramp to/from limitation value active [-] <UBYTE> --->
CoEng_trqInrCurrLim: current lowest limitation torque (inner engine torque) [Nm] <SWORD>
--->
CoEng_trqInrLim: limitation torque (inner engine torque) [Nm] <SWORD> --->
CoEng_trqInrLimDes: limitation torque as inner engine torque, corrected by Li-Gov torque
[Nm] <SWORD> --->
CoEng_trqInrLimLead: limitation torque with temporary long limitations [Nm] <SWORD> --->
Eng_trqCrvMax: engine maximum torque as function of engine speed (used for torque range
upper limit) [Nm] <SWORD> --->
EngM_trqFrc: current friction torque [Nm] <SWORD> --->
FMTC_trqInr: current inner engine torque [Nm] <SWORD> --->
HPUn_trqDes: torque demand of high pressure pump [Nm] <SWORD> --->
LIGov_trq: demanded torque of LIGov [Nm] <SWORD> --->
LIGov_trqFlt: demanded torque of LIGov PT1 filtered [Nm] <SWORD> --->
Lub_nMin: engine speed minimum value to assure lubrication [rpm] <SWORD> --->
VESGov_trq: variable engine speed governor output value [Nm] <SWORD> --->

Measuring points CoEng_stRmp_mp: ramp state for overrun shut off, 0: inactive, 1: active [-] <UBYTE> --->
CoEng_trqBefRmp_mp: set torque after second limitation, before overrun shut off in CoEng
(as inner engine torque) [Nm] <SWORD> --->
CoEng_trqInrCurrFastBase_mp: inner fast desired torque in curr path [Nm] <SWORD> --->
CoEng_trqInrCurrPre_mp: inner torque current value without Li-Gov output [Nm] <SWORD> --->
CoEng_trqInrDesFastBase_mp: basic desired inner fast torque without manipulation [Nm]
<SWORD> --->
CoEng_trqInrDesFastUnLim_mp: basic desired inner fast torque before limitation [Nm]
<SWORD> --->
CoEng_trqInrDesSlowBase_mp: basic desired inner slow torque without manipulation [Nm]
<SWORD> --->
CoEng_trqInrDesSlowUnLim_mp: basic desired inner slow torque before limitation [Nm]

19.3.2002 coeng_trqcalc.fm
- 208 - CoEng_TrqCalc Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-CoEng Engine torque calculation DS/ESM

<SWORD> --->
CoEng_trqInrLiDesSlw_mp: [Nm]
CoEng_trqInrRawPre_mp: inner torque raw value without Li-Gov output [Nm] <SWORD> --->
CoEng_trqLimOffs_mp: current torque limitation with offset [Nm] <SWORD> --->
CoEng_trqRmp_mp: ramp output torque of overrun shut off [Nm] <SWORD> --->
CoEng_trqSetASDdc_mp: current torque set value before secon limitation (with offset) [Nm]
<SWORD> --->

Application parameters CoEng_dtrqRmpDwn_C: slope for ramp down of inner set torque in case of overrun<value> --->
CoEng_tiRmpStrt_C: waiting time after overrun detection before ramp starts<value> --->
CoEng_tiSwtOff_C: waiting time after overrun detection before shut off<value> --->
CoEng_trqOffs_C: offset on limitation torque value to allow ASDdc to work<value> --->
CoEng_trqOvrRunThres_C: Torque threshold for over run detection<value> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

coeng_trqcalc.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoEng_trqLim - 209 -
DS/ESM Limiting torque Veh-DrvTrn-Eng-CoEng

Limiting torque (CoEng_trqLim)


CARTONIC-Sturcture:VehD-rvTrnE-ng-CoEgn

Functional overview The various system requests for limitation of the engine output torque are used to form the resulting limiting
torque (as inner torque). Where a system error occurs, a default value is output.
Limiting torque = f(Average engine speed,
Pressure difference over particle filter,
Limiting protection,
Smoke limitation after turbo torque limitation,
Constraints for physical order)
Figure 229 : Limiting torque - overview

C o D T _ s tO rd C o E n g _ fa c A d j

C o E n g _ tr q S lp L im C o E n g _ s tT r q L im E r r

E n g _ n A v rg C o E n g _ tr q In r L im
L im itin g to r q u e
E n g P r t_ tr q P r tL im C o E n g _ tr q L im E r r

P F lt_ p D iff C o E n g _ tr q L im S w t
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

A c c o r d in g to B o s c h s ta n d a r d
CoD_TstOrdCEong_facAdjCoEng_stTrqLimEr CoEgn_trqInrLimCoEgn_trqLimErCoEng_trqLimSwtCoEng_trqSlpLimEng_nAvrgPFlt_pDifEngPrt_rqPrtLim

Functional description
Figure 230 : Limiting torque

CoEng_dtrqLimUp_C

CoEng_dtrqLimDwn_C

Fid_CoEng_trqLimErr

0
CoEng_trqLimErr swpos param CoEng_trqLimSwt
xa
Eng_nAvrg y
xb pos
CoEng_trqLimErr_CUR active CoEng_trqInrLim
T0 CoEng_stTrqLimErr
RampSwitch
Dynamic Flag
dT
CoDT_stOrd

COVEH_DYN
CoEng_facAdjMax_C

CoEng_facAdjMin_C
CoEng_trqSlpLim

CoEng_trqLimPFlt_mp EEPROM
Adj.Val
CoEng_facAdj
PFlt_pDiff Limiter
CoEng_trqLimPDiff_CUR

CoEng_trqLimMin_mp
EngPrt_trqPrtLim
CoD_TstOrdCEong_dtrqLimDwn_C oEng_dtrqLimUp_CoEng_facAdj ConEg_facAdjMax_CoEng_facAdjMin_CoEng_stTrqLimEr CoEgn_trqInrLimCoEng_trqLimErCoEng_trqLimEr_CUR CoEng_trqLimMin_mpCoEng_trqLimSwtCoEng_trqSlpLimEng_nAvrgEngPrt_rqPrtLmi PFlt_pDifCoEng_trqLimPDif_CURCoEn_gtrqLmi PFlt_mpFi_dConEgt_rqLimEr_mp

Minimum formation and high-level dynamic torque The minimum CoEng_trqLimMin_mp is formed using the rise-limited smoke limitation CoEng_trqSlpLim, the
demands engine mechanics protection EngPrt_trqPrtLim and the limitation due to the pressure difference across the
particle filter CoEng_trqLimPFlt_mp. Using the pressure difference PFlt_pDiff, the limitation
CoEng_trqLimPFlt_mp is determined from the curve CoEng_trqLimPDiff_CUR. If the dynamic flag (Bit 0) is
set in the control information CoDT_stOrd, the “soft” limit CoEng_trqSlpLim and the limitation due to the
pressure difference across the particle filter CoEng_trqLimPFlt_mp is not incorporated in the limitation
generation of CoEng_trqLimMin_mp. The dynamic flag is set by dynamic torque demands for which the
smoke limitation may be violated.
The minimum of CoEng_trqLimSwt and CoEng_trqLimMin_mp is corrected by multiplication with the
adjustment value CoEng_facAdj from EEPROM. The result is written to CoEng_trqInrLim.
The adjustment value CoEng_facAdj is read from the EEPROM and is limited to the range
CoEng_facAdjMin_C to CoEng_facAdjMax_C.

19.3.2002 coeng_trqlim.fm
- 210 - CoEng_trqLim Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-CoEng Limiting torque DS/ESM

Monitoring For inhibit of the Fid_CoEng_trqLimErr_mp at least the following error paths are relevant:
• Dfp_AFSCD_PlOffsDrft_mp
• Dfp_AFSCD_PlSetyDrft_mp
• Dfp_AFSCD_SRCAirm_mp
• Dfp_BPSCD_mp
• Dfp_BPSCD_Max_mp
• Dfp_BPSCD_Min_mp
• Dfp_BPSCD_SigNpl_mp
• Dfp_TVACD_Max_mp
• Dfp_TVACD_Min_mp
• Dfp_TVACD_SigNpl_mp
• Dfp_EngMCaS1_mp
• Dfp_PFltEngPrt_mp
• Dfp_PFltPresSens_mp
• Dfp_PFltPresDynPlaus_mp
• Dfp_PFltPresSensSot_mp
• Dfp_PFltPresSensHsLn_mp

Substitute function

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Torque limitation in the event of a system error In Fid_CoEng_trqLimErr_mp, those error paths are entered for which, in the event of an error, an additional
limitation of the engine torque should be performed. If there are no reported system errors,
CoEng_trqLimMin_mp is output as the torque limitation CoEng_trqInrLim. If at least one of the error paths
entered is reported as defective, CoEng_trqInrLim is switched to the substitute limitation CoEng_trqLimErr
over a ramp function (negative slope CoEng_dtrqLimDwn_C). The transition back to normal limitation
CoEng_trqLimMin_mp is performed with the positive slope CoEng_dtrqLimUp_C.
To ensure that CoEng_trqInrLim never exceeds the normal limitation CoEng_trqLimMin_mp, it is limited to
CoEng_trqLimMin_mp. The limitation in the event of system errors CoEng_trqLimErr is obtained via the
average engine speed Eng_nAvrg from the curve CoEng_trqLimErr_CUR.
The information on the intervention of the additional torque limitation and the ramp transition is provided by
the status message CoEng_stTrqLimErr.
In case of an EEPROM reading error, a default value CoEng_facAdjDfl_C is used for the adjustment value
CoEng_facAdj.
Table 79: Assignment of CoEng_stTrqLimErr
Bit Meaning of bit positions Value (Hex) Meaning of bit assignments
positions
0 Additional limitation in case of system 0 Additional limitation inactive
error 1 Additional limitation active
1 Ramp between normal limitation and 0 Ramp inactive
substitute value 1 Ramp active
2-3 Increase of ramp 00 Final state reached
01 Increasing ramp
11 Decreasing ramp

ECU initialization The limiting torque CoEng_trqInrLim is initialized with zero. In the event of a system error, the limitation is
inactive.
At initialization the adjustment value CoEng_facAdj is read from EEPROM.

Output values CoEng_facAdj: EEPROM adjustment factor to correct limitation torque [-] <SWORD> --->
CoEng_stTrqLimErr: state limitation torque in case of system error; bit0 limitation activ
ramp to/from limitation value active [-] <UBYTE> --->
CoEng_trqInrLim: limitation torque (inner engine torque) [Nm] <SWORD> --->
CoEng_trqLimErr: limitation torque value in case of system error [Nm] <SWORD> --->
CoEng_trqLimSwt: output of ramp switch element for limitation in case od system error [Nm]
<SWORD> --->

Input values CoDT_stOrd: boundary conditions for physical order [-] <UBYTE> --->
CoEng_trqSlpLim: limitation torque for smoke limitation after slope limitation [Nm]
<SWORD> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
EngPrt_trqPrtLim: limitation torque for mechanical engine protection (inner engine torque)
[Nm] <SWORD> --->
PFlt_pDiff: Differential pressure of partikulate filter [hPa] <SWORD> --->

Measuring points CoEng_trqLimMin_mp: limitation torque if no torque limitating system error is present
(minimum of smoke limitation and torque limitation) [Nm] <SWORD> --->
CoEng_trqLimPFlt_mp: Limited value of the differential pressure of particulate filter [Nm]
<SWORD> --->
Fid_CoEng_trqLimErr_mp: Measurement point for Function Identifier Fid_CoEng_trqLimErr [-
] <UBYTE> --->

Application parameters CoEng_dtrqLimDwn_C: slope ramp down (limitation in case of system error)<value> --->
CoEng_dtrqLimUp_C: slope ramp up (limitation in case of system error)<value> --->
CoEng_facAdjDfl_C: Default value torque limitation adjustment<value> --->
CoEng_facAdjMax_C: Maximum value torque limitation adjustment<value> --->
CoEng_facAdjMin_C: Minimum value torque limitation adjustment<value> --->
CoEng_trqLimErr_CUR: torque limtation value in case of system error<curve_individual> --->
CoEng_trqLimPDiff_CUR: Limitation value for the differential pressure of particulate

coeng_trqlim.fm 19.3.2002
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002
coeng_trqlim.fm
DS/ESM
P_363 F80 JTD30
Limiting torque
Y281 S01 363-V80

filter<curve_individual> --->
CoEng_trqLim
Veh-DrvTrn-Eng-CoEng
- 211 -
- 212 - CoEng_TrqSlpLimCalc Y281 S01 363-V80 P_363 F80 JTD30
Veh-Drv-Trn-Eng-CoEng Rise limitation DS/ESM

Rise limitation (CoEng_TrqSlpLimCalc)


CARTORNIC-Structure:Ve-hDrv-Tr-nEng-CoEng

Functional overview A rise limitation takes place for the smoke limitation to be output in order to reduce a sudden increase in
engine torque when the turbocharger kicks in (turbo torque limiting).
Smoke limitation after turbo torque limitation = f(Average engine speed,
Torque limitation smoke limit)
Figure 231 : Rise limitation - Overview

E n g _ n A v rg
C o E n g _ tr q S lp L im
F M T C _ tr q In r L im S m k R is e lim ita tio n

C o e n g _ n S lp L im _ C

C o E n g _ d tr q S lp L im U p _ C

A c c o r d in g to B o s c h s ta n d a r d
CoEgn_trqSlpLimEng_nAvrgFMTC_trqInrLimSk

Functional description
Figure 232 : Rise limitation

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Slope Limitation

FMTC_trqInrLimSmk CoEng_trqSlpLim

CoEng_nSlpLimMin_C

CoEng_dtrqSlpLimUp_C
FMTC_trqInrLimSmkCoEng_nSlpLimMin_CoEng_dtrqSlpLimUp_CoEng_trqSlpLim

Rise limitation (turbo torque limiting) A rise limitation is carried out for the smoke limitation FMTC_trqInrLimSmk which is present as inner torque.
Its purpose is to reduce a sudden increase in the engine torque when the turbocharger sets in. If the engine
speed Eng_nAvrg is above the speed threshold CoEng_nSlpLimMin_C, the rate of increase in smoke
limitation is limited to the value CoEng_dtrqSlpLimUp_C. This increase-limited torque limitation
CoEng_trqSlpLim is incorporated in the further minimum generation.

Output values CoEng_trqSlpLim: limitation torque for smoke limitation after slope limitation [Nm]
<SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


FMTC_trqInrLimSmk: limitation torque smoke limit [Nm] <SWORD> --->

Application parameters CoEng_dtrqSlpLimUp_C: Slope limitation Up for smoke limitation torque at fast boost
pressure builtup<value> --->
CoEng_nSlpLimMin_C: minimum engine speed for activation of slope limitation of smoke
limit<value> --->

coeng_trqslplim.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoEng_PwrStgStateCalc - 213 -
DS/ESM Power Stage Coordinator Veh-DrvTrn-Eng-CoEng

Power Stage Coordinator (CoEng_PwrStgStateCalc)


CARTONIC-Sturcture:VehD-rvTrnE-ng-CoEgn

Functional overview The power stage coordinator determines all the shut-off conditions of the vehicle relevant for the power
stages and provides these calculations to all the power stages. This occurs in order to shut-off digital and
pulse-width modulated power stages at certain operating states.
Control unit status for shut-off of the power stage =f(Battery voltage,
Current engine state)
Figure 233 : Power stage coordinator - Overview

B a ttC D _ u
C o E n g _ s tP w rS tg E n a C o n d
P o w e r-s ta g e
C o E n g _ s tE n g c o o r d in a to r

A c c o r d in g to B o s c h s ta n d a r d

BatCD_uCoEgn_stEngCoEng_stPwrStgEnaCond

Functional description The function calculates the status word CoEng_stPwrStgEnaCond which gives information on special vehicle
and engines states which are relevant for power stages. This state information is used by single digital and
PWM power stage component drivers to determine the respective power stage diagnostic shut-off or power
stage shut-off. (Some power stages, for example, have to be shut off in engine afterrun). The status word is
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

calculated in 20ms intervals.


Figure 234 : Status word structure CoEng_stPwrStgEnaCond

C o E n g _ s tP w rS tg E n a C o n d 7 6 5 4 3 2 1 0

N o t U s e d

C o E n g _ u H ig h B a ttP w r S tg H y s H i_ C

C o E n g _ u H ig h B a ttP w r S tg H y s L o _ C

B a ttC D _ u

C o E n g _ u L o w B a ttP w r S tg H y s H i_ C

C o E n g _ u L o w B a ttP w rS tg H y s L o _ C

B a ttC D _ u

C o E n g _ s tE n g

0 X 3 0

C o E n g _ s tE n g

0 X 0 2

T R U E
CoEgn_stPwrStgEnaConCdoEgn_uLowBatPwrSgtHysLo_CoEng_uLowBatPwrSgtHysHi_CoEgn_uHighBatPwrStgHysLo_CoEng_uHighBatPwrStHgyHsi_C

Remark: The "always-TRUE flag" is set continuously. It is used to statically shut down the diagnostics of a
power stage or the power stage itself by applicatively setting the corresponding flag of the power stage
(XXXX_stPwrStgDia_C, XXXX_stPwrStgActv_C).
As long as the battery voltage does not exceed the upper hysteresis threshold
CoEng_uHighBattPwrStgHysHi_C or falls below the lower hysteresis threshold
CoEng_uLowBattPwrStgHysLo_C, power stage diagnosis is carried out. Otherwise, the power stage
diagnosis is deactivated.

ECU initialization The first flag of the status value is initialized with one. This flag stands for the applicative shut-off of the power
stage or, respectively, of the power stage diagnostics. None of the other flags are set at initialization.

Output values CoEng_stPwrStgEnaCond: control unit status relevant to power stage deactivation/error
diagnosis [-] <UBYTE> --->

Input values BattCD_u: battery voltage [mV] <SWORD> --->


CoEng_stEng: current engine state [-] <UBYTE> --->

Application parameters CoEng_uHighBattPwrStgHysHi_C: right switching point of high threshold battery voltage
hysteresis<value> --->
CoEng_uHighBattPwrStgHysLo_C: left switching point of high threshold battery voltage
hysteresis<value> --->
CoEng_uLowBattPwrStgHysHi_C: right switching point of low threshold battery voltage
hysteresis<value> --->
CoEng_uLowBattPwrStgHysLo_C: left switching point of low threshold battery voltage
hysteresis<value> --->

19.3.2002 coeng_pwrstgstatecalc.fm
- 214 - CoEng_ActrPrt Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-CoEng Actuator protection control DS/ESM

Actuator protection control (CoEng_ActrPrt)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-CoEng

Functional overview When the engine is not running, it must be ensured that certain actuators are not supplied with current for too
long in order to prevent their destruction.
An additional function prevents the electric pre-supply pump from pumping senselessly against a high-
pressure pump which is not in use. For example, in the event of a crash, it is ensured that if the fuel supply
is interrupted, no diesel can be pumped onto the road.
The task of the actuator protection is restricted to monitoring of the engine speed. Vehicle and system errors
which can also cause actuators to be shut off are covered in the shut-off coordinator.
State control actuator protection = f(Current engine state,
Average engine speed,
Current state of the glow-time control)
Figure 235 : Actuator protection control - overview

C o E n g _ s tE n g

E n g _ n A v rg A c tu a to r C o E n g _ s tM o n A c trP rt
p r o te c tio n
G lw C tl_ s tL o g ic c o n tro l

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
A c c o r d in g to B o s c h s ta n d a r d
CoEgn_stEngCoEng_stMonActrPtEn_gnAvrgGlwCtl_stLogic

Functional description The current status of the actuator protection control can be read off from the variable CoEng_stMonActrPrt.
The states are calculated in 20ms intervals. This results in a maximum delay time of 20ms for the state
change.
State descriptions
Figure 236 : Actuator protection control

c o e n g _ a c trp rt_ 1 .d s f
te r m in a l 1 5 o ff - > o n

C O E N G _ A C T R _ W A IT _ S T A N D B Y (0 x 0 0 ) t s in c e p r e - g lo w in g is o v e r > = C o E n g _ tiA c tr P r t_ C

E n g _ n A v r g > = C o E n g _ n A c tr R e le a s e _ C C O E N G _ A C T R _ S T A N D B Y (0 x 2 0 )
E n g _ n A v r g > = C o E n g _ n A c tr R e le a s e _ C

C O E N G _ A C T R _ S T R T _ O P R (0 x 1 0 )
( t s in c e E n g _ n A v r g = = 0 ) > = C o E n g _ tiA c tr P r t_ C

C o E n g _ s tE n g = = C O E N G _ S T N O R M A L

E n g _ n A v rg = = 0
& & F id _ C o E n g _ A c tr P r t_ m p .0 = = T R U E
C O E N G _ A C T R _ O P R (0 x 3 0 ) C O E N G _ A C T R _ P R T (0 x 4 0 )

E n g _ n A v r g > = C o E n g _ n A c tr R e le a s e _ C

Eng_nAvrgCoEgn_tiActrPt_CoEng_nActrRelase_C oEgn_stEngEng_nAvrgFid_ConEg_ActrPt_mp

State COENG_ACTR_WAIT_STANDBY (0x00): Wait As soon as the driver operates the starter and the engine speed exceeds the threshold
for Standby operation CoEng_nActrRelease_C the system changes to “State COENG_ACTR_STRT_OPR (0x10): Actuator in
starting operation”.
If, after terminal 15 is on, the engine is at a standstill for longer than the duration of the combustion chamber
pre-glow period (GlwCtl_stLogic!= GLWCTL_WAIT_FOR_COOLANT_TEMP (0x0000) and
GlwCtl_stLogic!= GLWCTL_PRE_GLOW (0x0010)), the actuator protection time CoEng_tiActrPrt_C is
started. After this time has elapsed the system changes to “State COENG_ACTR_STANDBY (0x20):
Actuator in Standby operation”.
State COENG_ACTR_STRT_OPR (0x10): Actuator When engine starting cut-out CoEng_stEng == COENG_STNORMAL (0x04) is achieved, the system
in starting operation changes to “State COENG_ACTR_OPR (0x30): Actuator in normal operation”.
If the start procedure is aborted and the engine comes to a standstill again, then the system waits until the
time CoEng_tiActrPrt_C has elapsed before changing to “State COENG_ACTR_STANDBY (0x20):
Actuator in Standby operation”.
Hint: Time-debouncing is also necessary at this point, since, especially during a cold start, the engine speed during
start-up is so unstable that constant switching between “State COENG_ACTR_STRT_OPR (0x10): Actuator
in starting operation” and “State COENG_ACTR_STANDBY (0x20): Actuator in Standby operation” would be
expected. This would have a direct effect on the control of the corresponding actuators and must be prevent-
ed.
State COENG_ACTR_STANDBY (0x20): Actuator in For some of the actuators, the standby mode represents a protected state. This state is retained until the
Standby operation engine speed exceeds the threshold CoEng_nActrRelease_C again.
State COENG_ACTR_OPR (0x30): Actuator in nor- The “State COENG_ACTR_OPR (0x30): Actuator in normal operation” is retained as long as the engine
mal operation speed is unequal to 0. Then it changes to “State COENG_ACTR_PRT (0x40): Actuator protection active”.
Behaviour during a speed sensor defect represents a special case. If a speed sensor defect is detected, the
speed Eng_nAvrg can, for example, be forced down to 0. At this moment, the engine speed which is actually
present cannot be specified.
The error identifier Fid_CoEng_ActrPrt_mp was reserved in order to allow a system-based decision on
whether a state change to “State COENG_ACTR_PRT (0x40): Actuator protection active” should take place.
The error identifier remains empty if a status change is requested.
State COENG_ACTR_PRT (0x40): Actuator protec- This status also represents an actuator protection for some actuators and can be achieved in two ways:
tion active Terminal 15 on: The engine stalls. A change to “State COENG_ACTR_OPR (0x30): Actuator in normal
operation” can be achieved by push-starting the engine.

coeng_actrprt.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoEng_ActrPrt - 215 -
DS/ESM Actuator protection control Veh-DrvTrn-Eng-CoEng

For example, the engine speed was forced to 0. A status change can be achieved again
by correctly recording the engine speed.
Terminal 15 off: Engine standstill; “afterrun” engine state still active.
Current state is aborted If terminal 15 is switched on again during afterrun, the current status of the actuator protection control is
aborted. The software then switches back to “State COENG_ACTR_WAIT_STANDBY (0x00): Wait for
Standby operation”.

ECU initialization The state variable of the actuator protection control CoEng_stMonActrPrt is initialized with the “State
COENG_ACTR_WAIT_STANDBY (0x00): Wait for Standby operation”. i

Output values CoEng_stMonActrPrt: state of actuator protection control [-] <UBYTE> --->

Input values CoEng_stEng: current engine state [-] <UBYTE> --->


Eng_nAvrg: average engine speed [rpm] <SWORD> --->
GlwCtl_stLogic: current state of glow control (state machine) [-] <UWORD> --->

Measuring points Fid_CoEng_ActrPrt_mp: Measurement point for Function Identifier Fid_CoEng_ActrPrt [-]
<UBYTE> --->

Application parameters CoEng_nActrRelease_C: minimum engine speed for releasing actuator<value> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

CoEng_tiActrPrt_C: maximum time for actuator supply<value> --->

19.3.2002 coeng_actrprt.fm
- 216 - CoEng_FlConsum Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-CoEng Calculation of fuel consumption DS/ESM

Calculation of fuel consumption (CoEng_FlConsum)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-CoEng

Functional overview Calculating the current fuel consumption. The calculation is done time synchronously.

Functional description
Figure 237 : FlConsum
In jC tl_ q S e tU n B a l C o E n g _ d v o lP e r S tr o k e _ m p

In jC r v _ q P o I1 D e s

In jC r v _ q P o I2 D e s

In jC r v _ q P o I2 E ff C o E n g _ d v o lF lC o n s u m

E n g _ n A v rg

c o e n g _ flc o n s u m _ 1 .d s f
n u m b e r o f c y lin d e r s

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
0 .5
CoEgn_dvolFConsumCoEgn_dvolPerSrotke_mpEng_nAvrgInjCrv_qPoI1DesInjCrv_qPoI2DesInjCrv_qPoI2Ef InjCtl_qSetUnBal

Calculating the fuel consumption The current calculation value is calculated according to the following formula:
Equation 6: Calculating consumption generally

FuelConsumption = CurrentInjectionQuantity + PostInjection ( PoI1 ) + NotTorqueFormingPostInjection ( PoI2 ) × AverageEngSpeedRpm × Z × 0,5

where the following allocations apply:


FuelConsumption = CoEng_dvolFlConsum
CurrentInjectionQuantity = InjCtl_qSetUnBal
PostInjection (PoI1) = InjCrv_qPoI1Des
Hint: Post injection PoI1 is not torque forming and therefore not taken into account InjCtl_qSetUnBal.
NotTorqueFormingPostInjection (PoI2) = (InjCrv_qPoI2Des-InjCrv_qPoI2Eff)
Hint: The part of post injection PoI2 which is not torque forming is not taken into account in InjCtl_qSetUnBal.
AverageEngSpeedRpm = Eng_nAvrg
Z = Cylinder number
The factor 0.5 is required for conversion from engine speed to working piston strokes. The fuel consumption
CoEng_dvolFlConsum in l/h is converted to an absolute fuel consumption CoEng_volFlConsum in µl/20ms
which is output as a TQ signal. The hardware consumption signal (TQ-signal) will be calculated by dividing
the absolute consumption CoEng_volFlConsum with an applicable constant CoEng_qFlAppl_C which
signifies the fuel consumption per pulse in l/pulse and is available on an ECU pin.

ECU initialization The initialization value for the fuel consumption is 0.

Output values CoEng_dvolFlConsum: fuel consumption [l/h] <SWORD> --->


CoEng_volFlConsum: absolute fuel consumption (ul/20ms) [ul/20ms] <SLONG> --->

Input values CoEng_stShutOffPath: active shut-off paths resulting from active reversible,
irreversible, and afterrun shut-off paths [-] <ULONG> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
InjCrv_qPoI1Des: desired PoI1 injection quantity [mm^3/inj] <SWORD> --->
InjCrv_qPoI2Des: post injection 2 setpoint quantity [mm^3/inj] <SWORD> --->
InjCrv_qPoI2Eff: effective injection quantity for post injection 2 [mm^3/inj] <SWORD> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

Measuring points CoEng_dvolPerStroke_mp: fuel consumption in [mm^3/stroke] [mm^3/hub] <SWORD> --->

Application parameters CoEng_qFlAppl_C: consumption signal: fuel quantity per hardware pulse delivered<value> -
-->

coeng_flconsum.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoEng_TstCo - 217 -
DS/ESM Engine test coordinator Veh-DrvTrn-Eng-CoEng

Engine test coordinator (CoEng_TstCo)


CARTONIC-Sturcture:VehD-rvTrnE-ng-CoEgn

Functional overview The control unit can be put into a test mode for diagnostic purposes in order to support the search for the
cause of errors in the injection system or in the engine. The engine test coordinator then has the task of
managing the test modes demanded by the tester communication software.
The system is informed of the test mode set by a status message. The status message causes the
components affected by a test mode to react accordingly, eg. switchover to a default value or determining of
measured values.
State of the engine test coordinator = f(Demanded test modes)

Functional description The activation of the test modes is controlled by the tester communication through engine test demands. A
test mode can be started or stopped and the current status and the test results can be queried.
Start of a test mode, transition to the state "test A parameter contained in the engine test demand serves to determine the identification number (ID) of the
mode ID active" (CoEng_stTst = ID) test mode to be activated. The requested test mode is activated if the corresponding component permits
activation. If the start of a test mode is requested although another test mode is already active, the active test
mode is stopped and the requested one is started. To achieve this, however, according to “Stop of a test
mode, transition to the state "normal operation" (CoEng_stTst = 0)” on page 217, a permission for
deactivation is necessary in addition.
If all prerequisites are met, the status message CoEng_stTst is set to the ID of the test mode to be activated.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

The transmitter of a start request is informed by a feedback message in accordance with table 80 that this is
the case.
Table 80: Feedback reports to the calling function of the tester communication during start of a test mode
Feedback message Value Meaning
COENG_TSTSTRT_OK 0x0000 Test mode has been started
COENG_TSTSTRT_IP 0x8000 Invalid parameter, test mode not supported
COENG_TSTSTRT_CNC 0x81XX Conditions not correct, test mode must not be started
(the lower byte may contain additional application-specific information)

Stop of a test mode, transition to the state "normal All test modes return to normal operation if
operation" (CoEng_stTst = 0) • the time CoEng_tiTstMax_C has elapsed since the last engine test demand was received without another
engine test demand being received (timeout).
• termination of the active test mode is demanded by an engine test demand,
• the control unit is reset.
The prerequisite in all cases is that the component to which the active test mode belongs permits
deactivation.
In this case, the status message CoEng_stTst is set to 0. According to table 81 the transmitter of a stop
demand is informed by a feedback message.
Table 81: Feedback messages to the calling function of the tester communication during a test mode stop
Feedback message Value Meaning
COENG_TSTSTOP_OK 0x0000 Test mode has been stopped
COENG_TSTSTOP_IP 0x8000 Invalid parameter, test mode not supported
COENG_TSTSTOP_CNC 0x81XX Conditions not correct, test mode must not be stopped
(the lower byte may contain additional application-specific information)
COENG_TSTSTOP_NA 0x8200 Test mode not active

Query of the test status When querying the test status, the status information represented in table 82 is made available.
Table 82: Feedback messages to the calling function of the tester communication during querying of the test status
Feedback message Value Meaning
COENG_TSTST_NA 0x00XX Test mode not active
(the lower byte may contain additional application-specific information)
COENG_TSTST_A 0x01XX Test mode active
(the lower byte may contain additional application-specific information)
COENG_TSTST_IP 0x8000 Invalid parameter, test mode not supported

Querying the number of test parameters Querying the test parameters returns the number of parameters to be transferred when calling the test
function.
Table 83: Return messages to the calling function of the tester communication when querying the number of test pa-
rameters
Return message Value Meaning
COENG_TSTBUFSIZE_IP 0x8000 Invalid parameter

Query of the test results The query of the test results is carried out directly via the tester communication. It also controls the
information on which messages are available and when they contain valid values.

ECU initialization During initialization, the status of the test coordinator CoEng_stTst is set to 0, i.e. normal operation.

Output values CoEng_stTst: State of engine test coordinator (= active test mode) [-] <UBYTE> --->

Application parameters CoEng_tiTstMax_C: Maximum time between two test requests<value> --->

19.3.2002 coeng_tstco.fm
- 218 - CoEng_OvrRunCoord Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-CoEng Overrun coordinator DS/ESM

Overrun coordinator (CoEng_OvrRunCoord)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-CoEng

Functional overview Certain functions require the physical boundary conditions in overrun (no injection) in order to be able to
perform calculations. The overrun phases are used, for example, to learn the tooth error of the sensor wheel
for engine speed acquisition.
The overrun coordinator checks whether overrun is present and outputs the status of overrun detection. The
functions requiring the boundary conditions in overrun, request their release when the function-specific
ready-to-run state is present. As soon as overrun is detected, the overrun coordinator releases all demanding
functions.
Figure 238 : Overrun coordinator - overview

P
c o o r d in a to r
C o E n g _ tiO v r R u n C o o r d D e b P o s _ C
p a ra m

C o E n g _ s tD is a b le & x y

C o E n g _ s tO v rR u n C o o rd
T 0
In jC tl_ s tN o In j

In jC r v _ s tIn jC h a r A c tV a l D T

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
fu n c tio n s

F u n c tio n 1 p e r m is s io n r e q u e s t
F id _ 1
O v e rru n d e te c te d ?
b o o l g e tC o o r d P e r m is s io n ( F id )
F u n c tio n 2 F id _ 2 Y e s
N o

F u n c tio n 3 F id _ 3 R e le a s e a d d ic te d
fu n c tio n s
CoEgn_stOvrRunCordInjCtl_stNoInjCoEng_stDisableCoEng_tiOvrRunCo rdDebPos_C

Functional description
Overrun detection for function release Overrun (CoEng_stOvrRunCoord = TRUE) is detected if:
• the setpoint quantity InjCtl_qSetUnBal displays zero quantity (status bit "no injection" InjCtl_stNoInj
= TRUE)
• AND
• overrun shut-off signals "shut off" (CoEng_stDisable = TRUE)
• AND
• the injection system signals "no injection active" (InjCrv_stInjCharActVal = FALSE).
The transition "no overrun -> overrun" is debounced using CoEng_tiOvrRunCoordDebPos_C.
The way the coordinator works If overrun is detected, a release variable is set in the coordinator. The connected functions query the status
of this variable via the interface method of the overrun coordinator. If the overrun conditions are no longer
present, the release is withdrawn immediately without debouncing.

Substitute function

ECU initialization • The status of the overrun detection CoEng_stOvrRunCoord is initialized with FALSE.

Output values CoEng_stOvrRunCoord: state of overrun detection of the overrun coordinator (0: no overrun;
1: overrun) [-] <UBYTE> --->

Input values CoEng_stDisable: State off overrun shut off : 1: switched off; 0: not switched off [-]
<UBYTE> --->
InjCrv_stInjCharActVal: injection characteristic actual value [-] <UBYTE> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

Measuring points

Application parameters CoEng_tiOvrRunCoordDebPos_C: debouncing time for "no overrun -> overrun" transition for
the overrun coordinator<value> --->

Application instructions

Additional information

coeng_ovrruncoord.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoEng_stTrqLimCalc - 219 -
DS/ESM Minimum limiting torque Veh-DrvTrn-Eng-CoEng

Minimum limiting torque (CoEng_stTrqLimCalc)


CARTONIC-Sturcture:VehD-rvTrnE-ng-CoEgn

Functional overview Various subfunctions demand a torque limitation in certain operating states. The function provides the
resulting torque limitation (minimum selection) from all the available limitations such as, torque limitation,
limiting quantity and smoke limitation.
In addition, the calculated load for OBD (on-board diagnostics) and the status of the torque limitation are
output.
Resulting torque limitation value = f(Adjustment correction value of limitation torque
Torque limitation corrected by the
low-idle governor correcting variable,
Torque limitation in the event of a system error,
Smoke limitation after turbo torque limitation,
Torque limitation,
Engine speed limitation,
Limiting protection,
Current efficiency,
Limiting fuel quantity,
Limiting fuel quantity in the event of system error)
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Figure 239 : Minimum limiting torque - Overview

C o E n g _ fa c A d j

C o E n g _ tr q In r C u r r L im

C o E n g _ tr q In r L im

C o E n g _ tr q L im E r r

C o E n g _ tr q S lp L im

E n g P r t_ tr q L im
C o E n g _ rT rq
E n g P r t_ tr q N L im
C o E n g _ s tC u r r L im
E n g P r t_ tr q P r tL im M in im u m lim itin g
to r q u e C o E n g _ tr q In r C u r r L im
F M T C _ trq In r
C o E n g _ s tC u r r L im A c tiv e
C o V e h _ tr q P r p L im E r r

E n g P r t_ q P r tL im

In jC tl_ q L im E r r

G e a rb x _ trq In M a x

H P U n _ q L im

In jC tl_ tr q In r L im

A c c o r d in g to B o s c h s ta n d a r d
CoEgn_facAdCj oEng_rTqCoEgn_stCurLimCoEng_stCurLimActiveCoEng_trqInrCurLimCoEng_trqInrLimCoEng_trqLimErCoEng_trqSlpLimCoVe_htrqPrLpimEr EgnPrt_qPrtLimEngPrt_rqLimEngPrt_rqNLimEngPrt_rqPtLimFMTC_trqInrGearbx_trqInMaxHPUn_qLimInjCtl_qLimErI njCtl_trqInrLim

Functional description
Determining the current minimum of all torque lim- According to figure 240, the current minimum of all limitations CoEng_trqInrCurrLim results from
itations CoEng_trqInrCurrLim combination of the limiting torque (inner engine torque) InjCtl_trqInrLim, the minimum limitations in the
inner torque CoEng_trqInrLim, the limiting torque for propulsion in the event of a system error
CoVeh_trqPrpLimErr, and the maximum gearbox input torque Gearbx_trqInMax.
Figure 240 : Current minimum of all limitations CoEng_trqInrCurrLim

InjCtl_trqInrLim
CoEng_trqInrCurrLim
CoEng_trqInrLim

CoVeh_trqPrpLimErr CoEng_trqInrPrpLimErr_mp

DrvTrn_rTransDT

Gearbx_trqFrc

Gearbx_trqInMax CoEng_trqInrGearbxInMax_mp

CoVeh_trqAcsDes

CoEng_trqMin

CoEgn_trqInrCurLimCoEng_trqInrLimConEg_trqMinCoVe_htrqAcsDesCoEng_trqInrPpLimEr_mpCoVeh_trqPrpLimErDvrTn_rT ansDT Gearbx_trqFrcCoEng_trqInrGearbxInMax_mpGearbx_trqInMaxInjCtl_rqInrLim

Status word of the lowest limitation and status The current lowest limitation is marked in the status word for marking the lowest limitation CoEng_stCurrLim,
word of the effective lowest limitation independent of whether the limitation is active or not. This is done by comparing the current lowest limitation
torque (as inner engine torque) CoEng_trqInrCurrLim with the individual limiting torques. (see table 84,
page 220)
The lowest limitation which is actually active is marked in the status word for marking the active lowest
limitation CoEng_stCurrLimActive. (see table 84, page 220)
Several limiting torques may be the current lowest limitations and may also be active at the same time.

19.3.2002 coeng_sttrqlimcalc.fm
- 220 - CoEng_stTrqLimCalc Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-CoEng Minimum limiting torque DS/ESM

Figure 241 : Formation of the status words lowest limitations CoEng_stCurrLim and active lowest limitations
CoEng_stCurrLimActive

CoEng_trqInrPrpLimErr_mp

CoEng_trqInrGearbxInMax_mp

EngPrt_trqLim
CoEng_stCurrLim
EngPrt_trqNLim

CoEng_trqSlpLim Set Bit / Indicate limitation type

CoEng_trqLimErr

CoEng_facAdj
CoEng_stCurrLimActive

HPUn_qLim

EngPrt_qPrtLim

InjCtl_qLimErr

EngPrt_trqPrtLim

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
CoEng_facAdj

CoEng_trqInrLim

InjCtl_trqInrLim

CoEng_trqInrCurrLim

FMTC_trqInr

InjCtl_qLim

CoD_TtrqAcsDes_mpCoEgn_facAdjCoEng_stCurLimCoEng_stCurLimActiveCoEng_trqInrCurLimCoEng_trqInrLimCoEgn_trqLimErCoEng_trqMinCoEng_trqSlpLimCoEng_trqInrPpLimEr_mpDrvTn_rTansDTEngPrt_qPrtLimEngPrt_ qLimEngPrt_rqNLmi EngPrt_rqPrtLimFMTC_trqInrGearbx_trqFrcCoEng_trqInrGearbxInMax_mpHPUnq_LimInjCtl_qLimInjCtl_qLimErInjCtl_rqInrLim

Hint: The "EEPROM adjustment value for correction of the limiting fuel quantity" CoEng_facAdj is taken into ac-
count when forming CoEng_trqInrLim. Therefore, this adjustment value must also be taken into account for
limiting torques which are used to form CoEng_trqInrCurrLim.
Hint: The input variables CoEng_trqLimErr and InjCtl_qLimErr set the respective bit in the status word
CoEng_stCurrLim only if the corresponding error path is also set.
Table 84: Bit assignment of the status words lowest limitations CoEng_stCurrLim and active lowest limitations
CoEng_stCurrLimActive
Bit Input Limitation type (lowest limitation)
0 CoEng_trqLimErr Limiting torque in the event of a system error [Nm]
1 EngPrt_trqLim Limiting torque for engine mechanics protection through torque limitation
(inner engine torque) [Nm]
2 EngPrt_trqNLim Limiting torque for engine mechanics protection through engine speed
limitation (inner engine torque) [Nm]
3 CoEng_trqSlpLim Limiting torque for smoke limitation after turbo torque limiting [Nm]
4 InjCtl_qLimErr Limiting quantity in the event of a system error [mm3/stroke]
5 EngPrt_qPrtLim Limiting quantity for thermal engine protection [[mm3/stroke]]
6 CoEng_trqInrPrpLimErr_mp Limiting torque for propulsion in the event of a system error (converted to
inner engine torque) [Nm]
7 CoEng_trqInrGearbxInMax_mp Maximum gearbox input torque (converted to inner torque) [Nm]
8 HPUn_qLim Limiting quantity due to quantity balance of the high-pressure pump [mm3/
stroke]
: not used not used
13 CoEng_trqInrLim Limiting torque (inner engine torque) [Nm]
14 EngPrt_trqPrtLim Limiting torque for engine protection (inner engine torque) [Nm[
15 InjCtl_trqInrLim Limiting torque due to limiting fuel quantity [Nm]

Hint: In the time in which a ramp is running during the limitations, only the corresponding sum-limitation bits (bits
13-15) are set.
Possibly, several limitations may be active.
If all bits in CoEng_stCurrLimActive are set to zero, this means that no limitation is active.
Ratio current torque to maximum torque The ratio CoEng_rTrq is formed from the current actual torque FMTC_trqInr and the current maximum torque
CoEng_trqInrCurrLim.
Figure 242 : Ratio current torque to maximum torque

FMTC_trqInr CoEng_rTrq

CoEng_trqInrCurrLim
FMTC_trqInrConEg_trqInrCurLimCoEng_rTq

ECU initialization

Output values CoEng_rTrq: ratio of current torque to maximum torque [%] <SWORD> --->
CoEng_stCurrLim: status word for type of lowest torque limitations [-] <UWORD> --->
CoEng_stCurrLimActive: status of active minimum of limitation torques [-] <UWORD> --->
CoEng_trqInrCurrLim: current lowest limitation torque (inner engine torque) [Nm] <SWORD>
--->

Input values CoEng_facAdj: EEPROM adjustment factor to correct limitation torque [-] <SWORD> --->
CoEng_trqInrCurrLim: current lowest limitation torque (inner engine torque) [Nm] <SWORD>

coeng_sttrqlimcalc.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 CoEng_stTrqLimCalc - 221 -
DS/ESM Minimum limiting torque Veh-DrvTrn-Eng-CoEng

--->
CoEng_trqInrLim: limitation torque (inner engine torque) [Nm] <SWORD> --->
CoEng_trqLimErr: limitation torque value in case of system error [Nm] <SWORD> --->
CoEng_trqSlpLim: limitation torque for smoke limitation after slope limitation [Nm]
<SWORD> --->
CoVeh_trqPrpLimErr: limitation torque for propulsion at system error [Nm] <SWORD> --->
EngPrt_qPrtLim: limitation injection mass for overheating prevention [mm^3/hub] <SWORD>
--->
EngPrt_trqLim: limitation torque for engine mechanic protection by torque limitation (as
inner engine torque) [Nm] <SWORD> --->
EngPrt_trqNLim: limitation torque for engine protection by speed limitation (inner engine
torque) [Nm] <SWORD> --->
EngPrt_trqPrtLim: limitation torque for mechanical engine protection (inner engine torque)
[Nm] <SWORD> --->
FMTC_trqInr: current inner engine torque [Nm] <SWORD> --->
Gearbx_trqInMax: maximum input torque of gearbox [Nm] <SWORD> --->
HPUn_qLim: limititation quantity of high pressure pump [mm^3/cyc] <SWORD> --->
InjCtl_qLimErr: limitation fuel mass value in case of system error [mm^3/hub] <SWORD> --->
InjCtl_trqInrLim: limitation torque because of limitation fuel mass [Nm] <SWORD> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Measuring points CoEng_trqInrGearbxInMax_mp: maximum of gearbox input torque as inner engine torque [Nm]
<SWORD> --->
CoEng_trqInrPrpLimErr_mp: limitation torque for propulsion at system error as inner engine
torque [Nm] <SWORD> --->

Application parameters

19.3.2002 coeng_sttrqlimcalc.fm
- 222 - LIGov Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-LIGov Low-idle governor DS/ESM

4.2 Low-idle governor (LIGov)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-LIGov

Overview of the component The overall function of the low-idle governor is to maintain a constant low-idle speed in the absence of torque
commands, or to adjust the idle-speed to the low-idle setpoint speed as rapidly as possible with minimal
overshoot. For this purpose, setpoint value (LIGov_CalcSetPoint) and actual value are compared and
corrected in the function"LIGov_Governor". Depending on the operating state (LIGov_CalcState), the
parameters (LIGov_SelectParameter) for the controller are switched over.
Figure 243 : Low-idle governor - overview

L o w -id le g o v e r n o r
p a r a m e te r s e t s e le c tio n
(L IG o v _ S e le c tP a r a m e te r )

L o w -id le g o v e r n o r
s ta te d e te r m in a tio n L IG o v _ tr q F lt
(L IG o v _ C a lc S ta te )
L o w -id le g o v e r n o r
E n g _ n A v rg (L IG o v _ G o v e r n o r ) L IG o v _ trq

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
V S S C D _ v

C o E n g _ n M in
L o w -id le g o v e r n o r
s e tp o in t
C T S C D _ tC ln t s p e e d c a lc u la tio n
(L IG o v _ C a lc S e tP o in t)
E A T S C D _ tA ir

A c c o r d in g to B o s c h s ta n d a r d
CoEgn_nMinCTSDC_tClntEATCSD_tAirEng_nAvrgLIGov_CalcSetPointLIGov_CalcStae LIGov_GovernorLIGov_SelctPar metrLIGov_trqLIGov_trqFltVSCDv_

Structure of the component The overall low-idle governor requires information on the transmission characteristic of the complete drive
train. Since the transmission response value is rather complex, and since it has not been technically feasible
to date to automatically adapt the controller parameters to the current transmission response, and since this
operation will not be implemented in the near future as well, the low-idle governor must retrieve the necessary
dynamic information of relevance to the transmission response:
• Gear / neutral / grip
• Engine temperature (coolant temperature)
• Underbraking
The current transmission response and the corresponding controller parameter set are specified for all
vehicle models. The low-idle governor only stores data on these controller parameter sets. The disadvantage
of this procedure is that overall drive train characteristics, which can be treated as approximately constant for
the service life of the drive train, are stored with this data. It is conceivable that in the future the low-idle
governor will be expanded to a general engine speed controller.
Figure 244 : Low-idle governor: Communication of the individual subfunctions

s ta tu s o f
lo w - id le g o v e r n o r p a ra m e te r s e t
d e te r m in a tio n s e le c tio n
lo w - id le g o v e r n o r
s ta te
in itia lis a tio n v a lu e
I-c o m p o n e n t
a c tu a l
p a ra m e te r s e t
lig o v _ o v e r v ie w _ 1 .d s f

lo w - id le s e tp o in t lo w - id le s e tp o in t s p e e d
lo w - id le g o v e r n o r
s p e e d c a lc u la tio n

The LIGov component has no subcomponents.

Output values LIGov_trq: demanded torque of LIGov [Nm] <SWORD> --->


LIGov_trqFlt: demanded torque of LIGov PT1 filtered [Nm] <SWORD> --->

Input values CoEng_nMin: engine speed range min value [rpm] <SWORD> --->
CTSCD_tClnt: coolant temperature [deg C] <SWORD> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
VSSCD_v: vehicle speed (velocity) [km/h] <SWORD> --->

Subfunctions See “Low-idle governor (LIGov_Governor)” on page 232.


See “Low-idle governor parameter set selection (LIGov_SelectParameter)” on page 229.
See “Low-idle governer setpoint speed calculation (LIGov_CalcSetPoint)” on page 223.
See “Low-idle governor state calculation (LIGov_CalcState)” on page 226.

ligov_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 LIGov_CalcSetPoint - 223 -
DS/ESM Low-idle governer setpoint speed calculation Veh-DrvTrn-Eng-LIGov

Low-idle governer setpoint speed calculation (LIGov_CalcSetPoint)


CARTONIC-Sturcture:VehD-rvTrnE-ng-LIoGv

Functional overview The task of the low-idle setpoint speed calculation is to adjust the engine speed set by the low-idle governor
to the current operating conditions. The calculation takes place via various default values, curves and
adjustment values.
Low-idle setpoint speed = f(Coolant temperature,
Vehicle speed,
Minimum engine speed,
Environmental air temerature)
Figure 245 : Low-idle setpoint speed calculation - overview

C o E n g _ n M in

C T S C D _ tC ln t

V S S C D _ v L o w -id le g o v e r n o r L IG o v _ n S e tp o in t
s e tp o in t
s p e e d c a lc u la tio n
E A T S C D _ tA ir

F id _ L IG o v S e tp D r v A w a y _ m p
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

A c c o r d in g to B o s c h s ta n d a r d
CoEgn_nMiCTSCD_tClntEATSCDt_AirFd_LIGovSetpDrAvwayLIGov_nSetpointVS C_Dv

Functional description The low-idle setpoint is a maximum choice out of various default and adjustement values, curves, and maps
depending on the vehicle operating state. The measuring point LIGov_stIncIdleSpeed_mp shows in the bits
2-6 which of the paths described below gives the maximum.
Path corresponding to LIGov_stIncIdleSpeed_mp.2:
• Depending on the engaged gear, the low-idle speed setpoint is set to LIGov_nSetpoint[1...6,R]Gear_C.
Path corresponding to LIGov_stIncIdleSpeed_mp.3:
• If the vehicle is moving, the low-idle speed setpoint is set to LIGov_nSetpointDriveAway_C
Path corresponding to LIGov_stIncIdleSpeed_mp.4:
• During the post-start time t<LIGov_tiST_C, the low-idle speed setpoint is derived from the
mapLIGov_nTemp_MAP (function of coolant and environment air temperature CTSCD_tClt and
EATSCD_tAir) multiplied by a factor from the curve LIGov_facSetpointCldWght_CUR dependend on
coolant temperature CTSCD_tClt.
• For post-start time LIGov_tiST_C < t < LIGov_tiTW_C, the low-idle speed setpoint is directly derived from
the map LIGov_nTemp_MAP (function of coolant and environment air temperature CTSCD_tClt and
EATSCD_tAir).
• For post-start time t >LIGov_tiTW_C, the low-idle speed setpoint is set to LIGov_nSetPointWarm_C.
Hint: Setting LIGov_tiTW_C or LIGov_tiST_C to its maximum value causes that these timers never elapse. Post-
start time t corresponds to CoEng_tiNormal. LIGov_nSetpointTemp_mp is updated for t<LIGov_tiTW_C
only.
Path corresponding to LIGov_stIncIdleSpeed_mp.5:
• The low-idle speed setpoint is set to minimum engine speed CoEng_nMin.
Path corresponding to LIGov_stIncIdleSpeed_mp.6:
• The low-idle speed setpoint is set to the diagnostic setpoint LIGov_nSetpointDia_C limited by
LIGov_nLimHigh_C.
The low-idle setpoint speed can be additively adjusted by the adjustment value LIGov_nSetpointTrm via the
diagnostic interface. Beforehand, it is limited to the maximum adjustment value LIGov_dnLimHighTrm_C in a
positive direction, and to the minimum adjustment value LIGov_dnLimLowTrm_C in a negative direction. If
there is a non-zero correction, LIGov_stIncIdleSpeed_mp.7 is set additionally.
The corrected setpoint value is limited to LIGov_nLimHigh_C – LIGov_nLimHighOfs_C
If a deviation between the currently effective low-idle setpoint speed and the demanded low-idle setpoint
speed is detected, the low-idle setpoint speed is either increased via a ramp using the step width
LIGov_nRmpSlpUpSetPoint_C or decreased using the step width LIGov_nRmpSlpDwnSetPoint_C.

19.3.2002 ligov_calcsetpoint.fm
- 224 - LIGov_CalcSetPoint Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-LIGov Low-idle governer setpoint speed calculation DS/ESM

Figure 246 : Low-idle setpoint calculation


P a th to s e t ( e x c lu s iv e ly )
L IG o v _ s tIn c Id le S p e e d _ m p .2
L IG o v _ n S e tp o in t[1 ...6 ,R ]G e a r _ C
P

P a th to s e t ( e x c lu s iv e ly )
L IG o v _ s tIn c Id le S p e e d _ m p .3
F id _ L IG o v S e tp D r v A w a y _ m p .0

V S S C D _ v &

L IG o v _ n S e tp o in tD r iv e A w a y _ C
P

P a th to s e t ( e x c lu s iv e ly )
L IG o v _ s tIn c Id le S p e e d _ m p .4
t > L IG o v _ tiT W _ C
L IG o v _ n S e tp o in tW a r m _ C
P

t > L IG o v _ tiS T _ C

E A T S C D _ tA ir P

C T S C D _ tC ln t L IG o v _ n S e tp o in tT e m p _ m p

L IG o v _ n T e m p _ M A P
P

L IG o v _ fa c S e tp o in tC ld W g h t_ C U R

P a th to s e t ( e x c lu s iv e ly )
L IG o v _ s tIn c Id le S p e e d _ m p .5

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
C o E n g _ n M in

P a th to s e t ( e x c lu s iv e ly ) L IG o v _ n R m p S lp U p S e tP o in t_ C
L IG o v _ s tIn c Id le S p e e d _ m p .6 L IG o v _ n R m p S lp D w n S e tP o in t_ C

p a ra m
L IG o v _ n S e tp o in tD ia _ C M X R A M P L IG o v _ n S e tp o in t
P
M N x y
F U N C T .
L IG o v _ n L im H ig h _ C M N
P

P a th to s e t ( a d d itio n a lly )
L IG o v _ s tIn c Id le S p e e d _ m p .7
L IG o v _ d n L im L o w T r m _ C
P

L IG o v _ d n L im L o w T r m _ C
P

L IG o v _ n S e tp o in tT r m L IG o v _ n S e tp o in tT r m

lig o v _ c a lc s e tp o in t_ 3 .d s f
L IG o v _ n L im H ig h _ C
P

L IG o v _ n L im H ig h O fs _ C
P

CoEgn_nMinCTSDC_tClntEATCSD_tAirFd_LIGovSetpDrvAway_mpLIGov_dnLimLowTrm_CLIGov_facSetpointCl dWght_CUR LIGov_nLimHigh_CLIGov_nLimHighOfs_C LIGov_nRmpSlpDwnSetPoint_CLGI ov_nRmpSlpUpSePtoint_CLIGov_nSetpointLIGov_nSetpiontDia_CLIGov_nSetpointDriveAway_C LIGov_nSetpointTemp_mpLIGov_nSetpointTrmLIGov_nSetPointWarm_CLIGov_nTemp_MAPLIGov_stIncIdleSpe d_mpLIGov_tiST_C LIGov_tiTW_CVS CDv_

Output values LIGov_nSetpoint: low idle setpoint speed [rpm] <SWORD> --->

Input values CoEng_nMin: engine speed range min value [rpm] <SWORD> --->
CoEng_tiNormal: time since state NORMAL was reached [ms] <ULONG> --->
CTSCD_tClnt: coolant temperature [deg C] <SWORD> --->
CTSCD_tClt:
EATSCD_tAir: environment air temperature [deg C] <SWORD> --->
Fid_LIGovSetpDrvAway:
LIGov_nSetpointTrm: Trimming of the Setpoint of LIGov [rpm] <SWORD> --->
VSSCD_v: vehicle speed (velocity) [km/h] <SWORD> --->

Measuring points Fid_LIGovSetpDrvAway_mp: Measurement point for Function Identifier Fid_LIGovSetpDrvAway


[-] <UBYTE> --->
LIGov_nSetpointTemp_mp: low idle governor n set point dependant of watertempemperature
[rpm] <SWORD> --->
LIGov_nSetpointTemp_mp: low idle governor n set point dependant of watertempemperature
[rpm] <SWORD> --->
LIGov_stIncIdleSpeed_mp: Status measuring point, showing which type of idle speed increase
is active [-] <UBYTE> --->

Application parameters LIGov_dnLimHighTrm_C: high delta engine speed limit for low idle speed trimming<value> -
-->
LIGov_dnLimLowTrm_C: low delta engine speed limit for low idle speed trimming<value> --->
LIGov_facSetpointCldWght_CUR: map for coolant temperature and air temperature LIGov
setpoint<curve_individual> --->
LIGov_nLimHigh_C: high engine speed limit for low idle governor<value> --->
LIGov_nLimHighOfs_C: Offset from the high engine speed limit for low-idle governor<value>
--->
LIGov_nRampSlpDwnSetPoint_C:
LIGov_nRmpSlpDwnSetPoint_C: ramp for decreasing setpoint<value> --->
LIGov_nRmpSlpUpSetPoint_C: ramp for increasing setpoint<value> --->
LIGov_nSetpoint1Gear_C: setpoint for gear 1<value> --->
LIGov_nSetpoint2Gear_C: setpoint for gear 2<value> --->
LIGov_nSetpoint3Gear_C: setpoint for gear 3<value> --->
LIGov_nSetpoint4Gear_C: setpoint for gear 4<value> --->
LIGov_nSetpoint5Gear_C: setpoint for gear 5<value> --->
LIGov_nSetpoint6Gear_C: setpoint for gear 6<value> --->
LIGov_nSetpointDia_C: Setpoint of diagnostic interface of low idle governor<value> --->
LIGov_nSetpointDriveAway_C: Low-idle governor setpoint drive-away<value> --->
LIGov_nSetpointRGear_C: setpoint for reverse gear<value> --->
LIGov_nSetPointWarm_C: Low-idle governor setpoint warm engine, no vehicle speed<value> -
-->
LIGov_nTemp_MAP: water and airtemperature dependant setpoint of LIGov<map_individual> --

ligov_calcsetpoint.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 LIGov_CalcSetPoint - 225 -
DS/ESM Low-idle governer setpoint speed calculation Veh-DrvTrn-Eng-LIGov

->
LIGov_tiST_C: time after start for higher low-idle governor setpoint after start<value>
--->
LIGov_tiTW_C: time after start for low-idle governor setpoint dependant of
watertemperature<value> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 ligov_calcsetpoint.fm
- 226 - LIGov_CalcState Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-LIGov Low-idle governor state calculation DS/ESM

Low-idle governor state calculation (LIGov_CalcState)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-LIGov

Functional overview The state of the low-idle governor is determined and output dependent on the operating state and possible
torque demands. It is required for the selection of the corresponding parameter set.
State low-idle governor = f(Low-idle setpoint speed,
Type of gearbox,
Status of the current torque demand,
Vehicle speed,
Coolant temperature,
Grip within drive train,
Debounced clutch signal,
Message brake actuated,
Filtered accelerator pedal sensor signal,
Accelerator pedal 1 position unfiltered raw value,
Average engine speed)
Figure 247 : State determination of low-idle governor - Overview

L IG o v _ n S e tp o in t

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
G e a rb x _ s w tT y p e

V e h D a _ s tT rq D e m

V S S C D _ v

C T S C D _ tC ln t L IG o v _ s tIn itP r e d e fT r q

C o D T _ G r ip L o w -id le g o v e r n o r L IG o v _ s t
s ta te d e te r m in a tio n
B rk C D _ s tP re s s e d L IG o v _ trq C u rrP re d e f

A P P C D _ r F lt

A P P C D _ r A P P 1 U n F lt

E n g _ n A v rg

L IG o v _ s tIn itP r e d e fT r q D o n e

L IG o v _ trq I

L IG o v _ trq P

A c c o r d in g to B o s c h s ta n d a r d
AP C_DrAP U1nFltAP DC_rFltBkCD_stPresed CoDT_GripConvCD_stDebValCTSCDt_ClntEng_nAvrgGearbx_swtTypeLIGov_nSetpointLIGov_stVehDa_stTrqDemVSCD_v

Functional description The individual states are determined in the following way:
State no grip: LIGov_st.LIGOV_NOGRIP==1 "No grip" is defined as:
LIGov_st.LIGOV_NOGRIP = !CoDT_Grip
State cold: LIGov_st.LIGOV_COLD==1
Figure 248 : LIGov state: cold

L IG o v _ s t.L IG O V _ C O L D = = 0
lig o v _ c a lc s ta te _ 2 .d s f

L IG o v _ s t.L IG O V _ C O L D = = 1
C T S C D _ tC ln t

L IG o v _ tC ln tX L o w _ C L IG o v _ tC ln tX H ig h _ C
LIGov_tClntXLow_CLIGov_tCl ntXHigh_C TSDC_tClnt

The program switches between warm/cold states via a hysteresis. Both hysteresis thresholds are freely
applicatable (LIGov_tClntXLow_C , LIGov_tClntXHigh_C)
State torque demand: Whether the filtered (LIGov_swtAPPTrqDem_C == 0) or the unfiltered (LIGov_swtAPPTrqDem_C == 1)
LIGov_st.LIGOV_TRQDEM==1 accelerator pedal value is used as input value for the state "torque demand" can be determined using
application label LIGov_swtAPPTrqDem_C. The application label LIGov_rAPPThresTrqDem_C is used as a
decision threshold for the accelerator pedal value whether the state "torque demand" is set or not.
“Torque demand” is defined as:
Accelerator pedal value (filtered/unfiltered) > LIGov_rAPPThresTrqDem_C (APPCD_rFlt >
LIGov_rAPPThresTrqDem_C or APPCD_rAPP1UnFlt > LIGov_rAPPThresTrqDem_C)
OR Bit 1-6 of the status byte for torque demand (VehDa_stTrqDem (bit 1...6) != 0)
Figure 249 : LIGov state: torque demand

L IG o v _ s w tA P P T rq D e m _ C

a c c e le r a to r p e d a l filte r e d v a lu e ( A P P C D _ r F lt)

a c c e le r a to r p e d a l u n filte r e d v a lu e ( A P P C D _ r A P P 1 U n F lt)

th r e s h o ld fo r a c c e le r a to r p e d a l v a lu e ( L IG o v _ r A P P T h r e s T r q D e m _ C )

to r q u e r e q u e s t b it fie ld to rq u e re q u e s te d
V e h D a _ s tT rq D e m .V E H D A _ A C C P E D 0 >= 1
.V E H D A _ C R C T L 1 L IG o v _ s t.L IG O V _ T R Q D E M = 1
lig o v _ c a lc s ta te _ 5 .d s f

.V E H D A _ P R P C T L 2
.V E H D A _ T R Q IN C 3 >= 1
.V E H D A _ T R Q D E C 4
n o t u s e d 5
.V E H D A _ G E A R B X 6
.V E H D A _ L IG O V 7
LIGov_swtAPTrDqem_CAPCD_rFltAP C_DrAP U1nFltLIGov_rAP ThresTrqDem_CVehDa_stTrqDemLIGov_st

ligov_calcstate.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 LIGov_CalcState - 227 -
DS/ESM Low-idle governor state calculation Veh-DrvTrn-Eng-LIGov

State freeze integrator: With the application label LIGov_swtAPPFreezeI_C it can be determined whether the filtered
LIGov_st.LIGOV_FREEZEI==1 (LIGov_swtAPPFreezeI_C == 0) or the unfiltered (LIGov_swtAPPFreezeI_C == 1) accelerator pedal value is
used as input value for the state "freeze integrator". The application label LIGov_rAPPThresFreezeI_C is
used as a decision threshold for the accelerator pedal value whether the state "freeze integrator" is set or not.
“Freeze integrator” is defined as:
Plausibility of the accelerator-pedal sensor not violated (AccPed_stSecCase==0)
AND Underbraking (LIGov_st .LIGOV_UNDERBRAKING == 1)
OR Average speed > low-idle setpoint speed (Eng_nAvrg > LIGov_nSetpoint)
AND Precontrol enabled (LIGov_st.LIGOV_PRECTRLNOTLOCKED == 1) AND ((LIGov_trqP +
LIGov_trqI) < (LIGov_trqThresDefrost_C))
OR Accelerator pedal value (filtered/unfiltered) > LIGov_rAPPThresFreezeI_C (APPCD_rFlt >
LIGov_rAPPThresFreezeI_C or APPCD_rAPP1UnFlt > LIGov_rAPPThresFreezeI_C)
OR Bit 1-6 of the status byte for torque demand (VehDa_stTrqDem (bit 1...6) != 0)
Figure 250 : State LIGov: freeze integrator

a c c e le r a to r p e d a l p la u s ib ility c h e c k o k A c c P e d _ s tS e c C a s e = = 0
fr e e z e in te g r a to r
&
E n g _ n A v r g > L IG o v _ n S e tp o in t L IG o v _ s t.L IG O V _ F R E E Z E I= 1
L IG o v _ s t.L IG O V _ P R E C T R L N O T L O C K E D = = 1

( L IG o v _ tr q P + L IG o v _ tr q I) < L IG o v _ tr q T h r e s D e fr o s tl_ C &


© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

L IG o v _ s w tA P P F re e z e I_ C

a c c e le r a to r p e d a l filte r e d v a lu e
( A P P C D _ r F lt) &
>= 1
a c c e le r a to r p e d a l u n filte r e d
v a lu e ( A P P C D _ r A P P 1 U n F lt)

th r e s h o ld fo r a c c e le r a to r p e d a l v a lu e
(L IG o v _ rA P P T h re s F re e z e I_ C ) >= 1
to r q u e r e q u e s t b it fie ld
V e h D a _ s tT rq D e m .V E H D A _ A C C P E D 0 >= 1
.V E H D A _ C R C T L 1
.V E H D A _ P R P C T L

lig o v _ c a lc s ta te _ 7 .d s f
2
.V E H D A _ T R Q IN C 3 >= 1
.V E H D A _ T R Q D E C 4
n o t u s e d 5
.V E H D A _ G E A R B X 6
.V E H D A _ L IG O V 7

L IG o v _ s t.L IG O V _ U N D E R B R A K IN G = = 1
Eng_nAvrgLIGov_nSetpointLIGov_trqPLIGov_trqI LGov_trqThresDefrostl_C LIGov_swtAPFre zeI_CAP CDr_FltAPCD_rAP1UnFltLIGov_rAPThresFrezI_CVehDa_stTrqDemLIGov_st

State: calculate precontrol: "Calculate precontrol" is defined as:


LIGov_st.LIGOV_CALCPRECTRL==1 No underbraking (LIGov_st.LIGOV_UNDERBRAKING== 0)
AND Precontrol not locked (LIGov_st.LIGOV_PRECTRLNOTLOCKED == 1)
AND Average engine speed < engine speed threshold (Eng_nAvrg < (LIGov_nSetpoint +
LIGov_nOffsetPreCtrl_C))
Figure 251 : LIGov state: calculate precontrol

L IG o v _ s t.L IG O V _ U N D E R B R A K IN G = = 0

lig o v _ c a lc s ta te _ 8 .d s f
L IG o v _ s t.L IG O V _ P R E C T R L N O T L O C K E D = = 1 c a lc u la te p r e c o n tr o l
&
E n g _ n A v rg L IG o v _ s t.L IG O V _ C A L C P R C T R L = 1

L IG o v _ n S e tp o in t+ L IG o v _ n O ffs e tP r e C tr l_ C

Eng_nAvrgLIGov_nSetpointLIGov_nOfsetPreCtrl_C

Enable precontrol in state machine:


LIGov_st.LIGOV_PRECTRLNOTLOCKED==1
Figure 252 : LIGov state: enable precontrol

{ ( L IG o v _ s t.L IG O V _ T R Q D E M = = 1 ) A N D ( E n g _ n A v r g > ( L IG o v _ n S e tp o in t+ L IG o v _ n O ffs e tP r e C tr ltr q D e m _ C ) ) }


O R
{ E n g _ n A v r g > ( L IG o v _ n S e tp o in t+ L IG o v _ n O ffs e tP r e C tr l_ C ) }

L IG o v _ s w tIn itP r e C tr lN o tL c k _ C = = 0 : L IG o v _ s w tIn itP r e C tr lN o tL c k _ C = = 1 :


S ta rt S ta rt

p re c o n tro l p re c o n tro l
lo c k e d n o t lo c k e d
lig o v _ c a lc s ta te _ 6 .d s f

E n g _ n A v r g < = L IG o v _ n S e tp o in t

p r e c o n tr o l lo c k e d : L IG o v _ s t.L IG O V _ P R E C T R L N O T L O C K E D = = 0
p r e c o n tr o l n o t lo c k e d : L IG o v _ s t.L IG O V _ P R E C T R L N O T L O C K E D = = 1

Eng_nAvrgLIGov_nSetpointEng_nAvrgLIGov_nSetpointLIGov_nOfsetPreCtrl qDem_CEng_nAvrgLIGov_nSetpointLIGov_nOfsetPreCtrl_C

Before and during start, CoEng_stEng==COENG_STSTANDBY OR CoEng_stEng==COENG_STSTART,


the status bit for "enable precontrol" is initialized according to the applicated value,
LIGov_st.LIGOV_PRECTRLNOTLOCKED=LIGov_swtInitPreCtrlNotLck_C.
State LIGov inactive: “LiGov inactive” is defined as:
LIGov_st.LIGOV_INACTIVE==1 Average engine speed < engine speed threshold (Eng_nAvrg < LIGov_nLimLow_C)

19.3.2002 ligov_calcstate.fm
- 228 - LIGov_CalcState Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-LIGov Low-idle governor state calculation DS/ESM

OR Average engine speed >engine speed threshold (Eng_nAvrg < LIGov_nLimHigh_C


If the low-idle governor is inactive, the speed-synchronous LiGov calculation is omitted.
State underbraking: “Underbraking” is defined as:
LIGov_st.LIGOV_UNDERBRAKING==1 Vehicle speed above an applicatable threshold (VSSCD_v > LIGov_vThresUbr_C)
AND Brake actuated (BrkCD_stPressed≠ 0)
AND Clutch not actuated (ConvCD_stDebVal == 0)
AND Vehicle with manual shifting (Gearbx_swtType == 0)
AND Average engine speed < low-idle setpoint speed (Eng_nAvrg < LIGov_nSetpoint)
AND Function identifier Fid_LIGovUbr not set (Fid_LIGovUbr == 1)
Hint: Remark: As a standard, the following error paths are assigned to the function identifier Fid_LIGovUbr : vehi-
cle speed sensor (Dfp_VSSCD), brake switch (Dfp_BrkCD) and clutch switch (Dfp_ConvCD).
Figure 253 : LIGov state: underbraking

F a h r z e u g g e s c h w in d ig k e it ( V S S C D _ v )

L IG o v _ v T h re s U b r_ C

b ra k e a c tu a te d (B rk C D _ s tP re s s e d = 0 )

c lu tc h n o t a c tu a te d ( C o n v C D _ s tD e b V a l = = 0 )
& u n d e r b r a k in g
fu n c tio n id e n tifie r fo r s ta te u n d e r b r a k in g n o t s e t
( F id _ L IG o v U b r = = 1 ) L IG o v _ s t.L IG O V _ U N D E R B R A K IN G = 1

lig o v _ c a lc s ta te _ 3 .d s f

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
v e h ic le w ith m a n u e l g e a r s h iftin g ( G e a r b x _ s tT y p e = = 0 )
a v e r a g e e n g in e s p e e d < s e t p o in t e n g in e s p e e d
( E n g _ n A v r g < L IG o v _ n S e tp o in t)

VS DC_vLIGov_ThresUbr_CBrkCD_stPres edConvCD_stDebValFid_LIGovUbrGearbx_stType Eng_nAvrgLIGov_nSeptoint

ECU initialization Initialization of the states in LIGov_st after initialization of the control unit
LIGov_st.LIGOV_NOGRIP=0Grip
LIGov_st.LIGOV_COLD=0 Warm
LIGov_st.LIGOV_TRQDEM=0No torque demand
LIGov_st.LIGOV_FREEZEI=0Do not freeze
LIGov_st.LIGOV_CALCPRECTRL=0Do not calculate precontrol
LIGov_st.LIGOV_PRECTRLNOTLOCKEDDepending on LIGov_swtStrtLckPreCtrl_C
LIGov_swtInitPreCtrlNotLck_C==0:
LIGov_st.LIGOV_PRECTRLNOTLOCKED=0, precontrol enabled
LIGov_swtInitPreCtrlNotLck_C==1:
LIGov_st.LIGOV_PRECTRLNOTLOCKED=1, precontrol inhibited
LIGov_st.LIGOV_INACTIVE=0Low-idle governor active
LIGov_st.LIGOV_UNDERBRAKING=0No underbraking

Output values LIGov_st: state of LIGov [-] <UWORD> --->

Input values APPCD_rAPP1UnFlt: accelerator pedal 1 position unfiltered value [%] <SWORD> --->
APPCD_rFlt: filtered accelerator pedal sensor signal [%] <SWORD> --->
BrkCD_stPressed: Brake pressed state [-] <UBYTE> --->
CoDT_Grip: power grip within drive train [-] <UBYTE> --->
ConvCD_stDebVal: debounced value of clutch signal [-] <UBYTE> --->
CTSCD_tClnt: coolant temperature [deg C] <SWORD> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
Gearbx_swtType: gearbox type (0: manual; 1: automatic) [-] <UBYTE> --->
LIGov_nSetpoint: low idle setpoint speed [rpm] <SWORD> --->
VehDa_stTrqDem: state of active torque demands [-] <UWORD> --->
VSSCD_v: vehicle speed (velocity) [km/h] <SWORD> --->

Application parameters LIGov_nLimHigh_C: high engine speed limit for low idle governor<value> --->
LIGov_nLimLow_C: low engine speed limit for low idle governor<value> --->
LIGov_nOffsetPreCrtltrqDem_C: Active precontrol, n-offset for basic engine speed, torque is de-
manded
LIGov_nOffsetPreCtrl_C: precontrol active n-offset on Ligov n setpoint speed<value> --->
LIGov_rAPPThresFreezeI_C: Threshold for AccPed value to reset LIGov state "freezeI"<value>
--->
LIGov_rAPPThresTrqDem_C: Threshold for AccPed value to reset LIGov state "torque
demanded"<value> --->
LIGov_stCold_C: constant for LIGov state cold<value> --->
LIGov_stWarm_C: constant for LIGov state warm<value> --->
LIGov_swtAPPFreezeI_C: Switch to select filtered (0) or unfiltered (1) AccPed value for
the decision of LIGov state "freezeI"<value> --->
LIGov_swtAPPTrqDem_C: Switch to select filtered (0) or unfiltered (1) AccPed value for
the decision of LIGov state "torque demanded"<value> --->
LIGov_swtInitPreCtrlNotLck_C: Initalization state (after start) for LIGov state
"precontrol not locked"<value> --->
LIGov_tClntXHigh_C: threshold 2 for coolant temperature hysteresis<value> --->
LIGov_tClntXLow_C: threshold 1 for coolant temperature hysteresis<value> --->
LIGov_trqInitI_CUR: Curve for initialization the Integrator<curve_individual> --->
LIGov_trqThresDefrostI_C: torque threshold integrator freeze/defrost<value> --->
LIGov_vThreshUbr_C: V_threshold for underbraking

ligov_calcstate.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 LIGov_SelectParameter - 229 -
DS/ESM Low-idle governor parameter set selection Veh-DrvTrn-Eng-LIGov

Low-idle governor parameter set selection (LIGov_SelectParameter)


CARTONIC-Sturcture:VehD-rvTrnE-ng-LIoGv

Functional overview The function selects the parameter set of the low-idle governor which matches the operating conditions.
Parameter set low-idle governor = f(Grip within drive train,
Gear information,
State of low-idle governor)
Figure 254 : Parameter set selection of the low-idle governor - overview

C o D T _ G r ip
P a ra m e te rs e t
G e a rb x _ s tG e a r L o w -id le g o v e r n o r lo w - id le g o v e r n o r
p a r a m e te r s e t s e le c tio n
L IG o v _ s t

A c c o r d in g to B o s c h s ta n d a r d
CoD_TGripGearbx_stGearLIGov_st

Functional description The function selects the correct parameter set from the gear, clutch and state information of the low-idle
governor.
The following parameter sets are distinguished (the parameter sets are listed by priority from top to bottom).
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

• 1 parameter set 'underbraking' (LIGov_Ubr..._C)


State: LIGov_st==LIGOV_UNDERBRAKING
I- and D-component are inactive.
• 1 parameter set for 'clutch disengaged, engine warm' (LIGov_WrmCltch..._C)
State: LIGov_st==LIGOV_WARM AND {'clutch actuated' OR neutral}
• 1 parameter set for 'disengaged, engine cold' (LIGov_ParPCldCltch..._C) state:
LIGov_st==LIGOV_COLD AND {'clutch actuated' OR neutral gear}
• 1 parameter set 'cold, engaged' (LIGov_Par...CldGear_..._C)
State: LIGov_st==LIGOV_COLD AND 'inactive clutch' (drive train closed)
• One parameter set for each of the 1st - 6th gears (LIGov_Gear1...6..._C)
Each parameter set distinguishes between 'small signal', 'positive large signal' and 'negative large signal'.
The application parameter LIGov_stPsRev_C determines whether the parameter set of the 1st gear
(LIGov_stPsRev_C = 1) or of the 2nd gear (LIGov_stPsRev_C = 2) is used for the reverse gear.

Output values

Input values CoDT_Grip: power grip within drive train [-] <UBYTE> --->
Gearbx_stGear: gear information [-] <SBYTE> --->
LIGov_st: state of LIGov [-] <UWORD> --->

Application parameters LIGov_CldCltchDKd_C: Cold engine clutch active coefficient D-component<value> --->
LIGov_CldCltchIKi_C: Cold engine clutch active I-component small signal<value> --->
LIGov_CldCltchIKiNeg_C: Cold engine clutch active I-component negative large
signal<value> --->
LIGov_CldCltchIKiPos_C: Cold engine clutch active I-component positive large
signal<value> --->
LIGov_CldCltchIWinNeg_C: Cold engine clutch active negative I window<value> --->
LIGov_CldCltchIWinPos_C: Cold engine clutch active positive I window<value> --->
LIGov_CldCltchPKp_C: Cold engine clutch active P-component small signal<value> --->
LIGov_CldCltchPKpNeg_C: Cold engine clutch active P-component negative large
signal<value> --->
LIGov_CldCltchPKpPos_C: Cold engine clutch active P-component positive large

19.3.2002 ligov_selectparameter.fm
- 230 - LIGov_SelectParameter Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-LIGov Low-idle governor parameter set selection DS/ESM

signal<value> --->
LIGov_CldCltchPredef_C: Cold engine clutch active predefine torque<value> --->
LIGov_CldCltchPWinNeg_C: Cold engine clutch active negative P window<value> --->
LIGov_CldCltchPWinPos_C: Cold engine clutch active positive P window<value> --->
LIGov_CldGearDKd_C: Cold engine coefficient D-component<value> --->
LIGov_CldGearIKi_C: Cold engine I-component small signal<value> --->
LIGov_CldGearIKiNeg_C: Cold engine I-component negative large signal<value> --->
LIGov_CldGearIKiPos_C: Cold engine I-component positive large signal<value> --->
LIGov_CldGearIWinNeg_C: Cold engine negative I window<value> --->
LIGov_CldGearIWinPos_C: Cold engine positive I window<value> --->
LIGov_CldGearPKp_C: Cold engine P-component small signal<value> --->
LIGov_CldGearPKpNeg_C: Cold engine P-component negative large signal<value> --->
LIGov_CldGearPKpPos_C: Cold engine P-component positive large signal<value> --->
LIGov_CldGearPredef_C: Cold engine predefine torque<value> --->
LIGov_CldGearPWinNeg_C: Cold engine negative P window<value> --->
LIGov_CldGearPWinPos_C: Cold engine positive P window<value> --->
LIGov_Gear1DKd_C: First gear coefficient D-component<value> --->
LIGov_Gear1IKi_C: First gear I-component small signal<value> --->
LIGov_Gear1IKiNeg_C: First gear I-component negative large signal<value> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
LIGov_Gear1IKiPos_C: First gear I-component positive large signal<value> --->
LIGov_Gear1IWinNeg_C: First gear negative I window<value> --->
LIGov_Gear1IWinPos_C: First gear positive I window<value> --->
LIGov_Gear1PKp_C: First gear P-component small signal<value> --->
LIGov_Gear1PKpNeg_C: First gear P-component negative large signal<value> --->
LIGov_Gear1PKpPos_C: First gear P-component positive large signal<value> --->
LIGov_Gear1Predef_C: First gear predefine torque<value> --->
LIGov_Gear1PWinNeg_C: First gear negative P window<value> --->
LIGov_Gear1PWinPos_C: First gear positive P window<value> --->
LIGov_Gear2DKd_C: Second gear coefficient D-component<value> --->
LIGov_Gear2IKi_C: Second gear I-component small signal<value> --->
LIGov_Gear2IKiNeg_C: Second gear I-component negative large signal<value> --->
LIGov_Gear2IKiPos_C: Second gear I-component positive large signal<value> --->
LIGov_Gear2IWinNeg_C: Second gear negative I window<value> --->
LIGov_Gear2IWinPos_C: Second gear positive I window<value> --->
LIGov_Gear2PKp_C: Second gear P-component small signal<value> --->
LIGov_Gear2PKpNeg_C: Second gear P-component negative large signal<value> --->
LIGov_Gear2PKpPos_C: Second gear P-component positive large signal<value> --->
LIGov_Gear2Predef_C: Second gear predefine torque<value> --->
LIGov_Gear2PWinNeg_C: Second gear negative P window<value> --->
LIGov_Gear2PWinPos_C: Second gear positive P window<value> --->
LIGov_Gear3DKd_C: Third gear coefficient D-component<value> --->
LIGov_Gear3IKi_C: Third gear I-component small signal<value> --->
LIGov_Gear3IKiNeg_C: Third gear I-component negative large signal<value> --->
LIGov_Gear3IKiPos_C: Third gear I-component positive large signal<value> --->
LIGov_Gear3IWinNeg_C: Third gear negative I window<value> --->
LIGov_Gear3IWinPos_C: Third gear positive I window<value> --->
LIGov_Gear3PKp_C: Third gear P-component small signal<value> --->
LIGov_Gear3PKpNeg_C: Third gear P-component negative large signal<value> --->
LIGov_Gear3PKpPos_C: Third gear P-component positive large signal<value> --->
LIGov_Gear3Predef_C: Third gear predefine torque<value> --->
LIGov_Gear3PWinNeg_C: Third gear negative P window<value> --->
LIGov_Gear3PWinPos_C: Third gear positive P window<value> --->
LIGov_Gear4DKd_C: Fourth gear coefficient D-component<value> --->
LIGov_Gear4IKi_C: Fourth gear I-component small signal<value> --->
LIGov_Gear4IKiNeg_C: Fourth gear I-component negative large signal<value> --->
LIGov_Gear4IKiPos_C: Fourth gear I-component positive large signal<value> --->
LIGov_Gear4IWinNeg_C: Fourth gear negative I window<value> --->
LIGov_Gear4IWinPos_C: Fourth gear positive I window<value> --->
LIGov_Gear4PKp_C: Fourth gear P-component small signal<value> --->
LIGov_Gear4PKpNeg_C: Fourth gear P-component negative large signal<value> --->
LIGov_Gear4PKpPos_C: Fourth gear P-component positive large signal<value> --->
LIGov_Gear4Predef_C: Fourth gear predefine torque<value> --->
LIGov_Gear4PWinNeg_C: Fourth gear negative P window<value> --->
LIGov_Gear4PWinPos_C: Fourth gear positive P window<value> --->
LIGov_Gear5DKd_C: Fifth gear coefficient D-component<value> --->
LIGov_Gear5IKi_C: Fifth gear I-component small signal<value> --->
LIGov_Gear5IKiNeg_C: Fifth gear I-component negative large signal<value> --->
LIGov_Gear5IKiPos_C: Fifth gear I-component positive large signal<value> --->
LIGov_Gear5IWinNeg_C: Fifth gear negative I window<value> --->
LIGov_Gear5IWinPos_C: Fifth gear positive I window<value> --->
LIGov_Gear5PKp_C: Fifth gear P-component small signal<value> --->
LIGov_Gear5PKpNeg_C: Fifth gear P-component negative large signal<value> --->
LIGov_Gear5PKpPos_C: Fifth gear P-component positive large signal<value> --->
LIGov_Gear5Predef_C: Fifth gear predefine torque<value> --->
LIGov_Gear5PWinNeg_C: Fifth gear negative P window<value> --->
LIGov_Gear5PWinPos_C: Fifth gear positive P window<value> --->
LIGov_Gear6DKd_C: Sixth gear coefficient D-component<value> --->

ligov_selectparameter.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 LIGov_SelectParameter - 231 -
DS/ESM Low-idle governor parameter set selection Veh-DrvTrn-Eng-LIGov

LIGov_Gear6IKi_C: Sixth gear I-component small signal<value> --->


LIGov_Gear6IKiNeg_C: Sixth gear I-component negative large signal<value> --->
LIGov_Gear6IKiPos_C: Sixth gear I-component positive large signal<value> --->
LIGov_Gear6IWinNeg_C: Sixth gear negative I window<value> --->
LIGov_Gear6IWinPos_C: Sixth gear positive I window<value> --->
LIGov_Gear6PKp_C: Sixth gear P-component small signal<value> --->
LIGov_Gear6PKpNeg_C: Sixth gear P-Component negative large signal<value> --->
LIGov_Gear6PKpPos_C: Sixth gear P-component positive large signal<value> --->
LIGov_Gear6Predef_C: Sixth gear predefine torque<value> --->
LIGov_Gear6PWinNeg_C: Sixth gear negative P window<value> --->
LIGov_Gear6PWinPos_C: Sixth gear positive P window<value> --->
LIGov_stPsRev_C: Select Parameterset for Reverse Gear (1 is PS first gear, 2 is PS second
gear)<value> --->
LIGov_tiCldCltchDT1_C: Time constant cold engine clutch active D-component<value> --->
LIGov_tiCldGearDT1_C: Time constant cold engine D-component<value> --->
LIGov_tiGear1DT1_C: Time constant first gear D-component<value> --->
LIGov_tiGear2DT1_C: Time constant second gear D-component<value> --->
LIGov_tiGear3DT1_C: Time constant third gear D-component<value> --->
LIGov_tiGear4DT1_C: Time constant fourth gear D-component<value> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

LIGov_tiGear5DT1_C: Time constant fifth gear D-component<value> --->


LIGov_tiGear6DT1_C: Time constant sixth gear D-component<value> --->
LIGov_tiWrmCltchDT1_C: Time constant warm engine clutch active D-component<value> --->
LIGov_UbrPKp_C: Underbraking P-component small signal<value> --->
LIGov_UbrPKpNeg_C: Underbraking P-component negative large signal<value> --->
LIGov_UbrPKpPos_C: Underbraking P-component positive large signal<value> --->
LIGov_UbrPWinNeg_C: Underbraking negative P window<value> --->
LIGov_UbrPWinPos_C: Underbraking positive P window<value> --->
LIGov_WrmCltchDKd_C: Time constant warm engine clutch active D-component<value> --->
LIGov_WrmCltchIKi_C: Warm engine clutch active I-component small signal<value> --->
LIGov_WrmCltchIKiNeg_C: Warm engine clutch active I-component negative large
signal<value> --->
LIGov_WrmCltchIKiPos_C: Warm engine clutch active I-component positive large
signal<value> --->
LIGov_WrmCltchIWinNeg_C: Warm engine clutch active negative I window<value> --->
LIGov_WrmCltchIWinPos_C: Warm engine clutch active positive I window<value> --->
LIGov_WrmCltchPKp_C: Warm engine clutch active P-component small signal<value> --->
LIGov_WrmCltchPKpNeg_C: Warm engine clutch active P-component negative large
signal<value> --->
LIGov_WrmCltchPKpPos_C: Warm engine clutch active P-component positive large
signal<value> --->
LIGov_WrmCltchPredef_C: Warm engine clutch active predefine torque<value> --->
LIGov_WrmCltchPWinNeg_C: Warm engine clutch active negative P window<value> --->
LIGov_WrmCltchPWinPos_C: Warm engine clutch active positive P window<value> --->

19.3.2002 ligov_selectparameter.fm
- 232 - LIGov_Governor Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-LIGov Low-idle governor DS/ESM

Low-idle governor (LIGov_Governor)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-LIGov

Functional overview The function of the low-idle governor (LIGov) is to maintain a constant low-idle speed in the absence of torque
demand, or to settle the low-idle speed to the low-idle setpoint speed as rapidly as possible with minimum
overshoot.
The governor compares the current engine speed with the low-idle governor setpoint speed and changes the
engine speed via its output variable. The low-idle setpoint speed is vehicle-specific and dependent on the
operating state. The low-idle governor requires the transmission response of the overall drive train. Since the
transmission response is a very complex variable and an automatic adjustment of the governor parameters
to the current transmission response cannot be implemented, the low-idle governor is forced to obtain for
itself the dynamic information which influences the transmission response:
• Gear / neutral / grip
• Engine temperature (coolant temperature)
• Underbraking
The current transmission response and the corresponding controller parameter set are thus specified for a
certain vehicle type. The low-idle governor, therefore, only requires the data of the controller parameter sets.
These are switched over depending on the operating state (parameter switching logic). The disadvantage of
this procedure is that overall drive train characteristics, which can be treated as approximately constant for
the service life of the drive train, are stored with this data.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
The output variable of the function is the low-idle governor torque. This is provided additionally as a filtered
value.
Low-idle governor torque = f(Low-idle governor setpoint speed,
Average engine speed,
Current engine state,
Limitation for the inner torque,
Initialization torque for I-component after start,
Low-idle governor state.
Switch mastershift/normal operation,
Gearbox state via CAN,
Drive train ratio from CAN)
Figure 255 : Structure of low-idle governor - Overview

C o E n g _ s tE n g

C o E n g _ tr q In r L im

L IG o v _ tr q In itI

L IG o v _ s t P a ra m e te r
s w itc h in g
C o D T _ s w tC o T y p e lo g ic

F rm M n g _ s tG b x

F rm M n g _ rT ra n s D T

L IG o v _ n S e tp o in t L IG o v _ tr q F lt
C lo s e d lo o p F ilte r
c o n tro l
E n g _ n A v rg L IG o v _ trq
A c c o r d in g to B o s c h s ta n d a r d
CoD_TswtCoTypeCoEng_stEngCoEgn_trqInrLimEng_nAvrgFrmMng_stGbx FrmMng_rTansDTLIGov_nSeptointLIGov_stLIGov_trq LIGov_trqFltLIGov_trqInitI

Functional description
Figure 256 : Low-idle governor input/output data

s ta tu s o f lo w - id le g o v e r n o r

s ta r t s itu a tio n ?

in itia lis a tio n v a lu e I- c o m p o n e n t


lig o v _ g o v e r n o r _ 1 .d s f

to rq u e re q u e s t o f
lo w - id le s e tp o in t s p e e d lo w - id le g o v e r n o r

lo w - id le g o v e r n o r filte r e d to r q u e r e q u e s t
a v e r a g e e n g in e s p e e d o f lo w - id le g o v e r n o r

The low-idle governor consists of the following components:


• PI - controller
• DT1-element used as precontrol
• The DT1-component is weighted in accordance with the control deviation
• Limitations
• Additional PT1-filtered output
• Parameter switchover logic
The low-idle governor must be calculated using the scan time T=(60/(number of cylinders * average engine
speed) in n-synchronous intervals to ensure optimal dynamics while minimizing the scan dead time as much
as possible.
The following illustration depicts the LIGov component interconnection.

ligov_governor.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 LIGov_Governor - 233 -
DS/ESM Low-idle governor Veh-DrvTrn-Eng-LIGov

Figure 257 : LiGov structure

C o E n g _ s tE n g = = C O E N G _ S T S T A R T

L IG o v _ s t= = L IG O V _ IN A C T IV E >= 1

C T S C D _ tC lt

L IG o v _ trq M a x _ C U R
L IG o v _ trq M a x _ m p
C o E n g _ tr q In r L im M N

a c tu a l p a ra m e te r fo r I-c o m p o n e n t
L IG o v ....IK i_ C
0 0 0
M N K M X M N M X M N M X 0 L IG o v _ trq
L IG o v _ n S e tp o in t L IG o v _ n D iff_ m p L IG o v _ trq I
K
IV

L IG o v _ tr q In itl
P -c o m p o n e n t + I-c o m p o n e n t
a c tu a l p a ra m e te r fo r P -c o m p o n e n t m u s t n o t b e < 0
L IG o v ....P K p _ C o th e rw is e u n d e r c u ttin g
p o s s ib le
K
L IG o v _ trq P
P
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

a c tu a l p a ra m e te r fo r D -c o m p o n e n t
L IG o v ....D T 1 _ C p r e c o n tr o l lo c k e d /
L IG o v _ ....D K d _ C n o t lo c k e d
K T L IG o v _ trq D R a w _ m p
E n g _ n A v rg D T 1 L IG o v _ trq D _ m p

w e ig h tin g lig o v _ g o v e r n o r _ 2 .d s f
fu n c tio n

LIGov_nSetpointLIGov_trqInitEg_nAvrgLIGov_trq LIGov_trqPLIGov_trqILGov_trqD_mpLIGov_nDif_mpCoEng_trqInrLimI Gov_trqMax_mpLIGov_trqDRaw_mpLIGov_trqMax_CURCTSCDtC_l t

PI - controller The PI-controller is made up of a P-element (see “Proportional element (P)” on page 1030) and an I-element
(see “Integral element (I)” on page 1031), whose outputs are added.
Precontrol The precontrol is a DT1-element (see “Differential element with 1st-order time delay (DT1)” on page 1033 ).
The precontrol is effective only for falling engine speed above the LiGov speed (quick accelerator pedal
release) and is designed to prevent the engine speed from oscillating too far below the setpoint speed
(undercut).
Weighting the precontrol The precontrol output value is switched on ’smoothly’ by weighting it using the gv function.

LIGov_st.5 switches between two parameter sets (cold/warm) of the weighting function.
Figure 258 : weighting the LIGov precontrol

L IG o v _ s t.5

L IG o v _ n C ld D H y p D e n o m _ C
P L IG o v _ n D H y p D e n o m _ m p
L IG o v _ n W rm D H y p D e n o m _ C
lig o v _ g o v e r n o r _ 5 .d s f

L IG o v _ n C ld D H y p N u m _ C
P L IG o v _ n D H y p N u m _ m p
L IG o v _ n W rm D H y p N u m _ C
P

LIGov_nCldDHypeDnom_CLIGov_nCldDHpyNum_C LIGov_nDHyDpenmo_mpLIGov_nDHpyNum_mpLIGov_nWrmDHypDenom_C LIGov_nWrmDHypNum_CLIGov_st

Equation 7: weighting the LIGov precontrol

c
g = ------------------
1 -
v c + e
2

Where:
e Control deviation
c1, c2 parameters to be applicated
c1 LIGov_nDHypNum_mp
c2 LIGov_nDHypDenom_mp
Parameter sets for LIGov and predefined torque See parameter set selection function description
Limitations The output of the I-component, the sum of I-component and P-component as well as the overall output torque
are limited to the maximum LIGov torque LIGov_trqMax_mp and to the zero torque. The maximum LIGov
torque is formed by a minimum selection of LIGov_trqMax_CUR dependend on coolant temperature
CTSCD_tClt and the limiting torque CoEng_trqInrLim.
The integrator integrates within the range [0; maximum LIGov torque LIGov_trqMax_mp].
Freezing the I-component The ’freeze or don’t freeze’ state is determined in the time-synchronous part of the low-idle governor (see the
LIGov state determination function description).
By the application defrost threshold LIGov_trqThresDefrostI_C ’defrost’ of the integrator can be ’delayed’.
By this measures against undercut are supported.
For Mastershift operation, a frozen I- component under the following condition
Master Shift functionality (CoDT_swtCoType == CODT_SWTCOTYPE_MSFT )
AND Circuit active (FrmMng_stGbx.1 == 1)
AND Message circuit state valid (FrmMng_stGbx.2! = 1)
AND Message drive train ratio valid (FrmMng_rTransDT != FRMMNG_RTRANSDT_DEF)
AND Message drive train ratio was valid in the last step
converted as per following formula in order to obtain wheel torque consistency.

19.3.2002 ligov_governor.fm
- 234 - LIGov_Governor Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-LIGov Low-idle governor DS/ESM

Equation 8: Re-initialization of the frozen I-component in the master shift operation

rTransDT ( k – 1 )
trqI ( k ) = --------------------------------------------- ⋅ trqI ( k – 1 )
rTransDT ( k )

This means that the frozen I-component is multiplied by the quotient from the last and current transmission
ratio of the drive train.
Setting the I-component Since no quantity jump should occur when the precontrol is switched off, the LIGov integrator with I-
component + D-component is reset if the following conditions are met:
• If the precontrol is switched off OR
• {Precontrol status change from 'not inhibited' to 'inhibited' AND 'do not underbrake'}
If the predefined torque was released by LIGov_stInitPredefTrq and the difference between
LIGov_trqCurrPredef and CoEng_trqInrDesSlow is larger than the current integrator value
LIGov_trqI, the integrator is reset with the corresponding difference between LIGov_trqCurrPredef
and CoEng_trqInrDesSlow.
Calculation of the filtered low-idle governor output A filtered low-idle governor output LIGov_trqFlt is supplied to dynamically decouple the torque/quantity-
based setpoint formation of other EDC control loops, eg. decoupling of rail pressure from low-idle governor
output. In case of engine speed fluctuations, undesired positive feedback to the setpoint values of the other
functions is avoided.
The filtered low-idle governor output results from PT1-filtering of the low-idle governor output LIGov_trq with

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
the time constant LIGov_tiPT1_mp. To achieve better adaptation of the filter effect to the current situation,
the time constant is defined, depending on control deviation LIGov_nDiff_mp, from the applicatable curve
LIGov_tiPT1_CUR. Filtering can be deactivated by applicating a filter time constant of 0 seconds. The PT1
filter is initialized with the current value of the unfiltered low-idle governor output LIGov_trq after starting cut-
out and at each activation after low-idle governor shut-off.
For description of the PT1 element see “Proportional and differential element with 1st-order time delay
(PDT1)” on page 1034.
Analogously to limiting of the unfiltered low-idle governor output, the filtered low-idle governor output is
limited with the maximum LIGov-torque LIGov_trqMax_mp.
Figure 259 : Filtered LIGov-output

C o E n g _ s tE n g = = C O E N G _ S T S T A R T

L IG o v _ s t= = L IG O V _ IN A C T IV E >= 1

L IG o v _ trq M a x _ m p

L IG o v _ n D iff_ m p L IG o v _ tiP T 1 _ m p

1
0
L IG o v _ tiP T 1 _ C U R K T M N M X 0 L IG o v _ tr q F lt
L IG o v _ trq
P T 1
IV
L IG o v _ trq
lig o v _ g o v e r n o r _ 4 .d s f
LIGov_trqFltLIGov_trqLIGov_nDif_mpLIGov_trqMax_mpLIGov_tiPT1_CURLIGov_tiPT1_mp

ECU initialization
Figure 260 : Initialization of the I-component

C T S C D _ tC ln t L IG o v _ tr q In itI
lig o v _ g o v e r n o r _ 3 .d s f

L IG o v _ tr q In itI_ C U R
CTSDC_tClntLIGov_trqInitLGov_trqInitI_CUR

The initial value of the integrator is determined using the curve LIGov_trqInitI_CUR as a function of the
coolant temperature CTSCD_tClnt.

Output values LIGov_stInitPredefTrqDone: Confirmation of demand received for the release of the predefined fuel
quantity (for handshake between tSync and nSync task)
LIGov_trq: demanded torque of LIGov [Nm] <SWORD> --->
LIGov_trqFlt: demanded torque of LIGov PT1 filtered [Nm] <SWORD> --->
LIGov_trqI: I-component of the low-idle governor torque
LIGov_trqP: P-component of the low-idle governor torque

Input values CoDT_swtCoType: 0: conventional; 1: mastershift [-] <UBYTE> --->


CoEng_stEng: current engine state [-] <UBYTE> --->
CoEng_trqInrDesSlow: inner torque desired value (standard signal path) generated out from
CoDT_trqDes [Nm] <SWORD> --->
CoEng_trqInrLim: limitation torque (inner engine torque) [Nm] <SWORD> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
FrmMng_rTransDT: drive train transmission ratio received from CAN [-] <SWORD> --->
FrmMng_stGbx: Gearbox state (shifting active / inactive) received via CAN [-] <UBYTE> --->
LIGov_nSetpoint: low idle setpoint speed [rpm] <SWORD> --->
LIGov_st: state of LIGov [-] <UWORD> --->
LIGov_stInitPredefTrq: Demand for the release of the predefined fuel quantity
LIGov_trqCurrPredef: Current predefined fuel quantity
LIGov_trqInitI: init-torque for I after start [Nm] <SWORD> --->

ligov_governor.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 LIGov_Governor - 235 -
DS/ESM Low-idle governor Veh-DrvTrn-Eng-LIGov

Measuring points LIGov_nDiff_mp: n difference between setpoint and current value [rpm] <SWORD> --->
LIGov_tiPT1_mp: current value of time constant for PT1 filtering of LIGov output [s]
<SWORD> --->
LIGov_trqD_mp: local value for D-part of torque [Nm] <SWORD> --->
LIGov_trqDRaw_mp: LIGov D-part output raw value (without weighting) [Nm] <SWORD> --->
LIGov_trqI: I-component output
LIGov_trqInitI: init-torque for I after start [Nm] <SWORD> --->
LIGov_trqMax_mp: current limitation value for LIGov [Nm] <SWORD> --->
LIGov_trqP: P-component output

Application parameters LIGov_nDHypDenom_C: Denominator parameter Hyp.-feedforward


LIGov_nDHypNum_C: Numerical parameter Hyp.-feedforward
LIGov_nOffsetPreCtrltrqDem_C: precontrol active n-offset on Ligov n setpoint speed and
request of torque<value> --->
LIGov_tiPT1_CUR: curve for n dependent time constant for PT1 filtering<curve_individual>
--->
LIGov_trqInitI_CUR: Curve for initialization the Integrator<curve_individual> --->
LIGov_trqMax_C: Limiting value for maximum torque from low-idle governor
LIGov_trqThresDefrostI_C: torque threshold integrator freeze/defrost<value> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 ligov_governor.fm
- 236 - FBC Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-FBC Smooth-running control DS/ESM

4.3 Smooth-running control (FBC)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-FBC

Overview of the component The component FBC calculates correction quantities based on the engine speed signal to increase smooth-
running.

Structure of the component The component FBC has no subcomponents.

Subfunctions See “Smooth-running control (FBC_equal)” on page 239.


See “Provision of engine speed for smooth-running control (FBC_WheelLrn)” on page 237.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

fbc_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 FBC_WheelLrn - 237 -
DS/ESM Provision of engine speed for smooth-running control Veh-DrvTrn-Eng-FBC

Provision of engine speed for smooth-running control (FBC_WheelLrn)


CARTONIC-Sturcture:VehD-rvTrnE-ng-FBC

Functional overview The function provides the input variables for the smooth-running control. For this, division errors of the
toothed wheel and torsion influences of the crankshaft in overrun are learned. In driving operation, these
interferences are removed from the signal by calculation.
Input signal for FBC band passes = f(Current engine state,
Current segment number,
Average engine speed,
Number of cylinders,
Status "no injection")
Figure 261 : Smooth running control - overview

C o E n g _ s tE n g

C rS C D _ n u m S e g

E n g _ n A v rg F u e l F B C _ W h e e lL r n O u t
b a la n c in g
c o n tro l
E n g M _ n u m C y l
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

In jC tl_ s tN o In j

A c c o r d in g to B o s c h s ta n d a r d
CoEgn_stEngCrSDC_numSegEn_gnAvrgEngM_numCylFBC_WhelLrnOutInjCt_l stNoInj

Functional description
Figure 262 : Structure of fuel quantity balancing control

E n g _ n A v rg

p r e c is e p e r io d F B C _ q
a n tia lia s in g fr e e in g o f
m e a s u re m e n t + d T S d M e S R C
filte r m e a n - v a lu e

F B C _ A A L O u t_ m p F B C _ W h e e lL r n O u t

fb c - o v e r v ie w .d s f
w h e e l- a d a p tio n
a n d to r s io n F B C _ A c t_ C
c o m p e n s a tio n

In order to function correctly, the FBC requires a very exact measurement of engine speed or the period
duration of a segment. Due to the 60-2 teeth wheel the engine speed cannot be measured directly. Only the
period duration between a certain number of teeth (partial segment) can be acquired. Up to the input of the
process FBC_Equal_Proc, the complete process FBC_WheelLrn_Proc therefore does not use engine
speeds but period durations. In order to be able to clear these periods from portions of higher frequencies
using an anti-aliasing low-pass filter, they also are acquired using an accordingly higher frequency (in the
form of partial segment times). This very exact acquisition of the partial segments takes place in the hardware
encapsulation.
The anti-aliasing filtering is processed in the software and is implemented by a FIR-filter with applicatable
order and filter coefficients.
Generation of an unaveraged signal:
For the FBC only changes in engine speed - i.e. changes in the segment times - are important which are
caused by different indicated torques in the individual cylinders. Therefore an average segment time TSm is
calculated and subtracted from the segment time TS, to ensure that only deviations dTS from the average
TSm have to be processed.
Figure 263 : Structure of the adaptation of the toothed wheel and torsion compensation

T S m T S m

d T S D X S D X S f D X S l d T S _ G A
a d a p tio n le a r n in g in v e r s e
s ta n d a r d iz a tio n
filte r s tra te g y s ta n d a r d iz a tio n

+
-
fb c _ d x s .d s f

D X S fp
e v a lu a tio n c r ite r io n fo r
filte r le a r n in g p r o c e d u r e
D X S fn

Output values CrSCD_dFBCSeg:


FBC_Badpt: status of adaption [-] <UBYTE> --->
FBC_RegionChng: Signals a change of the learning-region in the FBC [-] <UBYTE> --->
FBC_stLearn: bitfield for transitions of state-machine [-] <UWORD> --->
FBC_WheelLrnOut: input of FBC_Equal_Proc [-] <FLOAT32_IEEE> --->

19.3.2002 fbc_wheellrn.fm
- 238 - FBC_WheelLrn Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-FBC Provision of engine speed for smooth-running control DS/ESM

Input values CoEng_stEng: current engine state [-] <UBYTE> --->


CrSCD_dFBCSeg:
CrSCD_numSeg: current segment number (segment 0 is at TDC 1) [-] <UBYTE> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
EngM_numCyl: number of cylinders [-] <UBYTE> --->
InjCtl_stNoInj: status for no injection (0 -> injection, 1 -> InjCtl_qSetUnBal == 0) [-]
<UBYTE> --->

Measuring points FBC_AALOut_mp: output of antialiasing filter [-] <FLOAT32_IEEE> --->


FBC_DXadpt_mp: actual adaption quality [%] <SWORD> --->
FBC_DXS_mp: normalized deviations of fly-wheel [%] <SWORD> --->
FBC_DXSf_mp: filtered normalized deviations of fly-wheel (adaption filter, actual values)
[%] <SWORD> --->
FBC_DXSfn_mp: negative filter for evaluation [%] <SWORD> --->
FBC_DXSfp_mp: positive filter for evaluation [%] <SWORD> --->
FBC_DXSl_mp: filtered normalized deviations of fly-wheel (adaption filter, learned values)
[%] <SWORD> --->
FBC_Region_mp: area of ’speed - quantity’ for ’govern - control - disabled’ [-] <UBYTE>
--->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
FBC_stState_mp: status of state-machine for learning [-] <UBYTE> --->

Application parameters FBC_AACoeff_C: coefficients of antialiasing filter<value_block> --->


FBC_AAOrd_C: order of antialiasing filter<value> --->
FBC_Act_C: =0: wheel-learning inactive; =1: active; =2: erase adapted
values(EEPROM)<value> --->
FBC_DXadptl_C: lower threshold for quality of adaption<value> --->
FBC_DXadptu_C: upper threshold for quality of adaption<value> --->
FBC_DXalf0_C: initialization value for FBC_DXSfn, FBC_DXSfp<value> --->
FBC_nHyst_C: speed hysteresis<value> --->
FBC_nLrnThres_C: thresholds of different learning-regions<value_block> --->
FBC_nThresFbc_C: Speed-threshold for segment-values<value> --->
FBC_TF_C: filter coefficient for adaption<value> --->
FBC_TFlrn_C: filter coefficient for evaluation<value> --->
FBC_ThresDyn_C: threshold for speed-dynamic to deactivate adaption<value> --->
FBC_TSm_C: coefficients for mean-value filter<value_block> --->

fbc_wheellrn.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 FBC_equal - 239 -
DS/ESM Smooth-running control Veh-DrvTrn-Eng-FBC

Smooth-running control (FBC_equal)


CARTONIC-Sturcture:VehD-rvTrnE-ng-FBC

Functional overview The task of smooth-running control is to ensure the driving comfort "smooth running" in low-idle and in the
lower engine-speed range. The smooth-running control evaluates differences in the engine speed signal in
order to determine cylinder-specific correction quantities. The task of this correction quantity is to balance
these engine speed differences. The smooth-running control consists of the following function blocks:
• Band passes for the effective frequencies of the smooth running control
• Segment selection for the effective frequencies
• Determination of the state of the smooth running control (open loop/ closed loop)
• PI - controller
• Limitation of the output quantity by a curve
The correction quantity is output together with the current limitation quantity and further correction variables.
Quantity of the fuel-balance control = f(Current engine state,
Offset for smooth running control limiting quantity,
Current segment number,
Average engine speed,
Number of cylinders,
Averaged segment time,
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Input signal for band passes,


Gear information,
Current injection quantity)
Figure 264 : Smooth running control - overview

E n g M _ n u m C y l

F B C _ W h e e lL r n O u t F B C _ q
B a n d p a s s e s C lo s e d -lo o p
L im itin g
filte r c o n tr o lle r

C m b C h b _ q L im F lIn c r

C rS C D _ n u m S e g
L o g ic fo r :
E n g _ n A v rg F B C _ q D v tC y l
O p e n -lo o p c o n tr o l
E n g M _ tiS e g L im A v r g F B C _ s tA c tiv e
C lo s e d -lo o p c o n tr o l
C o E n g _ s tE n g F B C _ q L im A c t
S ta te d e te r m in a tio n

G e a rb x _ s tG e a r S e g m e n t s e le c tio n

In jC tl_ q S e tU n B a l

A c c o r d in g to B o s c h s ta n d a r d
CmbChb_qLimFlI ncrCoEng_stEng CrSCDn_umSegEn _nAvrgEngM_numCylEngM_tiSegLimAvrgFBCq_ FBC_qDvtCylFBCq_LimActFBC_tsActive FBC_WhelLrnOutGearbx_stGearInjCtl_qSetUnBal

Functional description The smooth-running control consists of the following components:


• Band passes for the effective frequencies of smooth-running control; number: Z/2, rounded to the next
smallest number (Z: number of cylinders)
• Segment selection for effective frequencies
• Determination of the state of the smooth-running control
• PI-controller; number: Z
• Limitation of the output quantity by a curve via the quantity InjCtl_qSetUnBal
Smooth running control operates in closed-loop mode if the engine speed Eng_nAvrg is in the range between
FBC_nGvrnOfsMin_C + LIGov_nSetpoint and FBC_nGvrnThresMax_C, and the engine quantity
InjCtl_qSetUnBal is between FBC_qGvrnThresMin_C and FBC_qGvrnThresMax_C. The condition for
‘closed-loop control’ must be present for at least 2Z segments before the state is changed from ‘open loop
control’ to ‘closed-loop control’. The state change from ‘closed loop control’ to ‘open loop control’ takes place
without delay.
Smooth running control operates in open-loop mode if the engine speed Eng_nAvrg is in the range between
FBC_nGvrnThresMax_C and FBC_nCtlThresMax_C or FBC_nGvrnOfsMin_C +LIGov_nSetpoint and
FBC_nCtlOfsMin_C + LIGov_nSetpoint or the engine quantity InjCtl_qSetUnBal is between
FBC_qGvrnThresMax_C and FBC_qCtlThresMax_C or between FBC_qCtlThresMin_C and
FBC_qGvrnThresMin_C. In smooth-running control, the frozen integrator values are weighted linearly
depending on the engine speed or quantity. The P-components remain unaffected. At engine speeds less
than or equal to FBC_nGvrnThresMax_C the weighting is 1, above FBC_nCtlThresMax_C it is 0. The smooth-
running quantity output is determined from the integrator quantity multiplied by both weighting factors.

Depending on FBC_stMskRgn_C, the smooth running control is frozen during regeneration cycles of
exhaust-gas treatment.

19.3.2002 fbc_equal.fm
- 240 - FBC_equal Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-FBC Smooth-running control DS/ESM

Figure 265 : Smooth-running control

C o E n g _ s tE n g = C O E N G _ S T N O R M A L

E n g M _ tiS e g L im A v r g , C r S C D _ n u m S e g

F B C _ d B P F a c N u m H i_ C A []
F B C _ d B P F a c N u m L o _ C A []
F B C _ d B P F a c D e n 1 _ C A [] F B C _ d B P S u m
F B C _ d B P F a c D e n 2 _ C A []
G e a rb x _ s tG e a r
F B C _ q D v tC y l[]
E n g _ n A v rg F B C _ d B P C a S _ m p [] s e g m e n t c o u n ta n d w e ig h tin g
+ g o v e rn o r
F B C _ W h e e lL r n O u t c a m fre q u e n c y
Z /2 b a n d p a s s - filte r s
Z /2 s e g m e n t s e le c tio n 0 F B C _ q

F B C _ d B P C a S _ m p [] s e g m e n t c o u n t a n d w e ig h tin g 0
z /2 - m u ltip le v a m fr e q u e n c y
>= 1
&

! F B C _ s tA c tiv e
In jC tl_ q S e tU n B a l q u a n tit y c o n d itio n o p e n - lo o p -c o n tr o l:
F B C _ q C t lT h r e s M in _ C < = In jC t l_ q S e tU n B a l < F B C _ q G v r n T h r e s M in _ C >= 1
q u a n tit y c o n d itio n o p e n - lo o p -c o n tr o l:
F B C _ q G v r n T h re s M a x _ C < I n jC tl_ q S e tU n B a l < = F B C _ q C tlT h r e s M a x _ C
q u a n tity c o n d itio n c lo s e d - lo o p - c o n tr o l:
F B C _ q G v r n T h r e s M in _ C < = In jC tl_ q S e tU n B a l < = F B C _ q G v r n T h r e s M a x _ C >= 1

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
e n g in e s p e e d c o n d itio n o p e n - lo o p - c o n tr o l: &
F B C _ n G v rn T h re s M a x _ C < E n g _ n A v rg < = F B C _ n C tlT h r e s M a x _ C
>= 1
e n g in e s p e e d c o n d itio n o p e n - lo o p - c o n tr o l:

F B C _ L R R _ 2 .d s f
F B C _ n C tlO fs M in _ C + L IG o v _ n S e tp o in t < E n g _ n A v r g < = F B C _ n G v r n O fs M in _ C + L IG o v _ n S e tp o in t

e n g in e s p e e d c o n d itio n c lo s e d - lo o p - c o n tr o l:
F B C _ n G v r n O fs M in _ C + L IG o v _ n S e tp o in t < = E n g _ n A v r g < = F B C _ n G v r n T h r e s M a x _ C
0
( F B C _ n C tlO fs M in _ C + L IG o v _ n S e tp o in t - E n g _ n A v r g ) /
( F B C _ n C tlO fs M in _ C - F B C _ n G v r n O fs M in _ C )

E n g _ n A v rg 0
( F B C _ n C tlT h r e s M a x _ C - E n g _ n A v rg ) /
( F B C _ n C tlT h r e s M a x _ C - F B C _ n G v rn T h re s M a x _ C ) 0

( F B C _ q C tlT h r e s M a x _ C - In jC tl_ q S e tU n B a l) /
( F B C _ q C tlT h r e s M a x _ C - F B C _ q G v rn T h re s M a x _ C )
0
( In jC tl_ q S e tU n B a l - F B C _ q C tlT h r e s M in _ C ) /
Z = n u m b e r o f c y lin d e r s ( F B C _ q G v r n T h r e s M in _ C - F B C _ q C tlT h r e s M in _ C )
[] = a r r a y s iz e d v a lu e s

FBCW_hel LrnOutEng_nAvrgFBC_dBPFacDen1_CAFBC_dBPFacDen2_CAFBC_dBPFacNumLo_CA FBC_dBPFcaNumHi _CAFCB_qGvrnThresMax_CFB _nGvrnOfsMin_C FBC_nCtlOfsMin_CFB _nGvrnThresMax_CFBC_nCtlThresMax_CFBC_qCtlThresMin_CFCB_qCtlThresMax_CFB _qFBCd_BPSumFBC_dBPCa_SmpFBC_DqvtCyl CoEng_stEnEgngM_tiSegLimAvrgCrSCD_numSegInjCtl_qSetUnBalFBC_qGvrnThresMin_CFB _tsActive Gearbx_stGearFBC_dBPSum_pFBCq_DvtCylEngM_ctSeIngjCtl_qSetUnBlaFBC_qLim_CURFBCG_vrnP

Figure 266 : PI-controller of smooth-running control


E n g M _ c tS e g

F B C _ L R R _ 3 .d s f
F B C _ G v rn P
M N M X

F B C _ G v rn I
F B C _ q D v tC y l[]
M N M X

F B C _ d B P S u m

Z -s ta g e s F B C _ G v rn P Z -s ta g e s

M N M X

F B C _ G v rn I
F B C _ q D v tC y l[]
M N M X
d r ift c o r r e c tio n :
T S U M (I-s h a re (z ))
Z

F B C _ q L im _ C U R

In jC tl_ q S e tU n B a l F B C _ q L im A c t

C m b C h b _ q L im F lIn c r
Eng_nAvrgInjCtl_qSetUnBlFaC_qGvrnThresMin_C FBC_qGvrnThresMax_CFB_CnCtlThresMax_CFBC_nGvrnOfsMin_CFBCn_CtlOfsMin_CFB _nGvrnThresMax_CFBC_qCtlThresMin_C FBCq_CtlThresMax_C

fbc_equal.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 FBC_equal - 241 -
DS/ESM Smooth-running control Veh-DrvTrn-Eng-FBC

Figure 267 : Operating range of the smooth-running control

q u a n tity

F B C _ L R R _ 1 .d s f
In jC tl_ q S e tU n B a l

F B C _ q C tlT h r e s M a x _ C

F B C _ q G v rn T h re s M a x _ C

c lo s e d lo o p o p e n lo o p
c o n tro l c o n tro l in a c tiv e

F B C _ q G v r n T h r e s M in _ C

F B C _ q C tlT h r e s M in _ C

F B C _ n G v r n O fs M in _ C + F B C _ n C tlT h r e s M a x _ C e n g in e s p e e d
0 E n g _ n A v rg
L IG o v _ n S e tp o in t
F B C _ n C tlO fs M in _ C + F B C _ n G v rn T h re s M a x _ C
L IG o v _ n S e tp o in t
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Eng_nAvrgInjCtl_qSetUnBalFBCq_GvrnThresMin_CFB_CqGvrnThresMax_CFBC_nCtlThresMax_CFBC_nGvrnOfsMin_CFBCn_CtlOfsMin_CFB _nGvrnThresMax_CFBC_qCtlThresMin_C FBC_qCtlThresMax_C

The state of the smooth-running control is displayed on the measuring point FBC_stRegion_mp. The
hexadecimal representation '0xAB’ is structured in such a way that the engine speed range is encoded in 'A’
and the quantity range in 'B’. 'A’ can take on the values [1-4] and 'B’ the values [1-4]. These numerical values
have the following meaning:
Table 85: Status ‘A’, ‘B’
Value Condition
1 GvrnThresMin < VAL < GvrnThresMax
2 GvrnThresMax < VAL < CtlThresMax
3 CtlThresMin < VAL < GvrnThresMin
4 CtlThresMax < VAL or VAL < CtlThresMin

Z PI-controllers (one per cylinder) are used for settling. The calculation of the correction quantity is performed
two interrupts prior to the injection in the cylinder in question. To calculate the control deviation FBC_dBPSum
the engine speed Eng_nAvrg is filtered through band pass filters. The centre frequencies of the z/2 band pass
filters are integer multiples of the camshaft frequency. The choice of filter amplification
FBC_dBPFacNumLo_CA, FBC_dBPFacNumHi_CA can be used to achieve engine speed-dependently different
amplifications of the controlled system for the individual frequencies. The switching threshold between lower
and upper engine speed range which is affected by hysteresis (FBC_nHyst_C), is applicated with
FBC_nThresFbc_C.
For the band pass of the camshaft frequency a gear-dependent filter amplification FBC_BPFac1NumG_CA is
carried out. The first array element contains the amplification for neutral gear, the second array element the
amplification for 1st gear etc. The gear is determined by Gearbx_stGear and by evaluation of the clutch
signal ConvCD_stDebVal. If the engine speed drops below a certain threshold, switch-over from amplification
for neutral gear to the respective gear-dependent amplification is carried out. The gear-dependent engine
speed threshold is determined as follows:
Figure 268 : Engine speed threshold

é 1 ù é 1 ù é 1 ù é 1 ù
D r e h z a h ls c h w e lle ê ú = F B C _ fS u r g e _ C A [H z ]* 1 2 0 ê H z × m in ú + F B C _ n S u r g e O ffse t _ C ê m in ú ± F B C _ n H y s t ê m in ú
ë m in û ë û ë û ë û
FBCf_Surge_CAFB_CnSurgeOfset_CFB n_Hyst_C

Every band pass filter is followed by a segment assessment. Its parameter FBC_dSegNlo..CaS_C indicate
the choice and weighting of the segments for the specific frequency. The control deviation FBC_dBPSum is the
sum of all the outputs of the segment assessments.
The smooth-running integrators and the correcting variables for all cylinders are limited to the limitation
quantity (+/-) FBC_qLim_CUR. An offset adjustment of the integrators is carried out every two engine
revolutions so that the correction quantity component is kept equal to zero on average.

Output values FBC_ctSegInt: internal segment counter of FBC [-] <UBYTE> --->
FBC_dBPSum: FBC quantity equivalent signal, input of PI-governor [-] <SWORD> --->
FBC_q: FBC quantity [mm^3/hub] <SWORD> --->
FBC_qDvtCyl: Cylinder specific correction-quantity: Integrator-output [mm^3/hub] <SWORD>
--->
FBC_qLimAct: Actual limiting value for FBC_q [mm^3/hub] <SWORD> --->
FBC_stActive: Status of FBC Govern -> ’1’: Govern; ’0’: Control [-] <UBYTE> --->

Input values CmbChb_qLimFlIncr: Increase of limiting fuel quantity


CoEng_stEng: current engine state [-] <UBYTE> --->
ConvCD_stDebVal: debounced value of clutch signal [-] <UBYTE> --->
CrSCD_numSeg: current segment number (segment 0 is at TDC 1) [-] <UBYTE> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
EngM_numCyl: number of cylinders [-] <UBYTE> --->
EngM_tiSegLimAvrg: average of limited segment time [us] <UWORD> --->
FBC_WheelLrnOut: input of FBC_Equal_Proc [-] <FLOAT32_IEEE> --->
Gearbx_stGear: gear information [-] <SBYTE> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

Measuring points FBC_BPAmpCaS_mp: actual bandpass numerator of f = fCaS (gear dependent) [-] <FLOAT32_IEEE>

19.3.2002 fbc_equal.fm
- 242 - FBC_equal Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-FBC Smooth-running control DS/ESM

--->
FBC_dBPCaS_mp: Array of bandpass outputs [rpm] <SWORD> --->
FBC_stRegion_mp: Status of calculating the quantity-speed region [-] <UBYTE> --->

Application parameters FBC_BPAmpCaS_CA: Gear-dependent band pass amplification


FBC_ctSegOffset_C: distance between FBC calculation and corresponding TDC<value> --->
FBC_dBPFacDen1_CA: Bandpass array: Denominator 1<value_block> --->
FBC_dBPFacDen2_CA: Bandpass array: Denominator 2<value_block> --->
FBC_dBPFacNumHi_CA: Bandpass array: Numerator for higher engine speed range<value_block>
--->
FBC_dBPFacNumLo_CA: Bandpass array: Numerator for lower engine speed range<value_block>
--->
FBC_dSegNhiCaS_C: Segment value for Eng_nAvrg > FBC_nThresFbc_C<value_block> --->
FBC_dSegNloCaS_C: Segment value for Eng_nAvrg [lt ] FBC_nThresFbc_C<value_block> --->
FBC_dSyn_C: Calculating point of FBC (0/1)<value> --->
FBC_fSurge_CA: gear dependent surge frequency<value_block> --->
FBC_GvrnIKi_C: Governor: Coefficients of integrator<value> --->
FBC_GvrnIKiNeg_C: Governor: Coefficients of integrator<value> --->
FBC_GvrnIKiPos_C: Governor: Coefficients of integrator<value> --->
FBC_GvrnIWinNeg_C: Governor: Coefficients of integrator<value> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
FBC_GvrnIWinPos_C: Governor: Coefficients of integrator<value> --->
FBC_GvrnPKp_C: Governor: Coefficients of proportional part<value> --->
FBC_GvrnPKpNeg_C: Governor: Coefficients of proportional part<value> --->
FBC_GvrnPKpPos_C: Governor: Coefficients of proportional part<value> --->
FBC_GvrnPWinNeg_C: Governor: Coefficients of proportional part<value> --->
FBC_GvrnPWinPos_C: Governor: Coefficients of proportional part<value> --->
FBC_nCtlOfsMin_C: Offset to ’LIGov_nSetpoint’: Threshold for FBC open loop<value> --->
FBC_nCtlThresMax_C: Speed-threshold for control<value> --->
FBC_nGvrnOfsMin_C: Offset to ’LIGov_nSetpoint’: Threshold for FBC closed loop<value> --->
FBC_nGvrnThresMax_C: Speed-threshold for govern<value> --->
FBC_nHyst_C: speed hysteresis<value> --->
FBC_nSurgeOffset_C: offset for critcal engine speed (fCas = fSurge)<value> --->
FBC_nThresFbc_C: Speed-threshold for segment-values<value> --->
FBC_qCtlThresMax_C: Quantity-threshold for control<value> --->
FBC_qCtlThresMin_C: Quantity-threshold for control<value> --->
FBC_qGvrnThresMax_C: Quantity-threshold for govern<value> --->
FBC_qGvrnThresMin_C: Quantity-threshold for govern<value> --->
FBC_qLim_CUR: Curve for injection-mass limitation dependent on<curve_individual> --->
FBC_stInitI_C: Initialization of I-part in inactive region: ’0’ do not reset I-part; ’1’
reset I-part;<value> --->
FBC_stMSKRgn_C: Mask for regeneration status of exhaust-gas treatment

fbc_equal.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ASDrf - 243 -
DS/ESM Active surge damper, reference filter Veh-DrvTrn-Eng-ASDrf

4.4 Active surge damper


4.4.1 Active surge damper, reference filter (ASDrf)
CARTONIC-Sturcture:VehD-rvTrnE-ng-ASDrf

Overview of the component The task of the active surge damper (ASD) is to damp oscillations in the drive train which affect the engine
speed. By applicating the reference filter ( ASDrf), driving behaviour can be influenced according to customer
requirements. In addition, the ASDrf filters system excitations caused by demand torque changes from the
driver.
The ASDrf consists of the components:
• State detection and parameter switch-over logic (parameter set selection)
• Reference filter
Figure 269 : Active surge damper, reference filter - overview

C o D T _ G r ip

F rm M n g _ s tC o n v
P a r a m e te r s e t s e le c tio n
(A S D r f_ S e le c tP a r a m e te r )
D rv T rn _ rT ra n s D T

C o E n g _ trq In rL td
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

C o D T _ trq D T In D e s A c tiv e s u r g e d a m p e r A S D rf_ trq In r


r e fe r e n c e filte r
(A S D rf_ G o v e rn o r)
C o E n g _ tr q In r D e s S lo w

A c c o r d in g to B o s c h s ta n d a r d
ASDf_rtqInrCoTD_GripCoDT_rqtDTInDesCoEng_trqInrDesSlowCoEng_trqInrLtdDrTvrn_rTansDTFrmMng_stConv

Structure of the component The component has no subcomponents.


Figure 270 : ASDrf overview
p a ra m
C o E n g _ trq In rL td A S D rf_ trq In r
x y

T 0 ix

T 1 K d

A S D r f_ O v e r v ie w _ 1 .d s f
C o D T _ G r ip s ta te r e c o g n itio n
D rv T m _ rT ra n s D T
a n d p a ra m e te r
V e h D a _ s tT rq D e m
s w itc h in g lo g ic
CoEgn_trqInrLtdCoDT_GripDrvTrn_TransDTASDfr_trqInrVehDa_stTrqDem

Output values ASDrf_trqInr: ASD reference filter inner torque output [Nm] <SWORD> --->

Input values CoDT_Grip: power grip within drive train [-] <UBYTE> --->
CoDT_trqDTInDes: desired value for drivetrain input (clutch) [Nm] <SWORD> --->
CoEng_trqInrDesSlow: inner torque desired value (standard signal path) generated out from
CoDT_trqDes [Nm] <SWORD> --->
CoEng_trqInrLtd: inner torque set value after limitation, without ASDdc signal [Nm]
<SWORD> --->
DrvTrn_rTransDT: drivetrain transmission (wheel torque per engine torque) [-] <SWORD> --->
FrmMng_stConv: conversion/clutch status from CAN [-] <UBYTE> --->

Subfunctions See “ASD reference filter parameter set selection (ASDrf_SelectParameter)” on page 246.
See “Active surge damper, reference filter (ASDrf_Governor)” on page 249.

Additional information ASD has a configurable parameter selection. The configurable parameter selection maps the set of input
conditions to a set of primary states. The mapping function can be determined by application.

19.3.2002 asdrf_overview.fm
- 244 - ASDrf Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-ASDrf Active surge damper, reference filter DS/ESM

Figure 271 : Mapping of the input conditions to parameter sets

p a ra m e te r

s e t o f in p u t c o n d itio n s s e t o f p r im a r y s ta te s

P Z 1
E 1

P Z 2
E 2

a s d r f_ o v e r v ie w _ 2 .d s f
E 3
E 4
P Z 3
E 5 E 6
P Z 4
E 7

c o n fig u r a b le tr a n s fe r fu n c tio n

h a rd c o d e d h a rd c o d e d

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
The input conditions E are either standard EDC signals or deduced conditions. The input conditions are
controller-specific permanently encoded.
One or several parameter sets for the controller are assigned to the primary states PZ. If a primary state has
more than one parameter set, further criteria which are not described by the input conditions E are used to
unambiguously select a parameter set. The assignment of primary states and parameters is permanently
encoded.
The mapping function The mapping function is divided into four parts:
1. For each input condition there is a configuration label to connect the input condition to a logic element
(positive logic, inverted input, input not connected).
2. The logical operator defines the logic element (AND, OR, NAND, NOR).
3. Setting of priorities resolves conflicts in case of competing primary states.
4. A pre-set primary state becomes active if no other primary state is active under the given conditions.
Table 86: Example of a mapping function
Input condition Application labels

E1: TRUE 11 01 01 00 01 ConfE1_C


E 2: TRUE 11 00 00 01 11 ConfE2_C
E 3: FALSE 01 01 11 11 00 ConfE3_C
E 4: FALSE 00 11 11 00 10 ConfE4_C
Logical operator AND OR OR NAND NOR swtOpr_C
Result of linking (TRUE/FALSE) TRUE FALSE FALSE TRUE FALSE
State number (predefined) 4 3 2 1 0
Priority (applicatable) 3 10 5 7 13
Active primary state FALSE FALSE FALSE TRUE FALSE

Note: the input conditions, application labels and primary states shown in table 86 are only examples. These
names do not exist in EDC.
For each individual state (identified by a unambiguous number), mapping of the input condition by the
configuration labels and the logical operator can be expressed by a one-step logic circuit. As shown in the
table, two bits of an application labels each describe the connection of an input condition to the logic element
for a primary state.
Table 87: Coding of the input circuitry
0 0 Invertor: if the input condition is FALSE, TRUE is present at the input of the logic element.
0 1 This input is not added to the logic element.
1 0 Not defined.
1 1 If the input condition is TRUE, TRUE is present at the input of the logic element.

The type of the logical link is determined by the logical operator. As for the input circuitry, two bits are
assigned to a primary state for the logical operator. The input conditions can be linked as follows.
Table 88: Coding of the logical operator
0 0 Logical OR-link for the assigned primary state
0 1 Logical AND-link for the assigned primary state
1 0 Logical NAND-link for the assigned primary state
1 1 Logical NOR-link for the assigned primary state

For the example of the primary state 4 in table 86 a block diagram is given in figure 272.

asdrf_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ASDrf - 245 -
DS/ESM Active surge damper, reference filter Veh-DrvTrn-Eng-ASDrf

Figure 272 : Example for the primary state 4

E 1
1

E 2
1
p r im a r y s ta te 4
&
E 3
0

a s d r f_ o v e r v ie w _ 3 .d s f
E 4
1

c o m m ite d b y lin k o p e r a to r
c o m m ite d b y c o n fig u r a tio n
la b e l fo r in p u t c o n d itio n s

In particular, it is possible that no input condition is added to the logic element of a primary state
(corresponding to table 87 the bit pattern 01 for all input conditions). The primary states then take on the
initialization values given in table 89.
Table 89: Initialization values of the logical links
Initialization value Logical link
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

FALSE OR
TRUE AND
FALSE NAND
TRUE NOR

After evaluation of the logical links, none or several primary states can be fulfilled at the same time. However,
to determine a parameter set unambiguously, exactly one primary state must be active. In case of conflict of
competing primary states (several primary states are fulfilled at the same time), an applicatively determined
priority list is used for selection. In one field, an unambiguous priority must be assigned to each priority state.
The index of the field entry corresponds to the priority number. If no primary state is fulfilled, the applicatively
preset primary state is assumed. The application value corresponds to the number of the primary state.

19.3.2002 asdrf_overview.fm
- 246 - ASDrf_SelectParameter Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-ASDrf ASD reference filter parameter set selection DS/ESM

ASD reference filter parameter set selection (ASDrf_SelectParameter)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-ADSrf

Functional overview The reference filter of the active surge damper must be adapted to the current operating conditions. The
function selects the matching parameter set. The application data can be used to determine whether jumps
in the output variable of the surge damper are supposed to be suppressed when switching over parameters.
The following states can be identified:
Disengaged or engaged drive train; positive or negative input gradient as well as external torque intervention.
Pointer to parameter set = f(Drive train-ratio,
Grip within the drive train,
State of the torque converter clutch,
Status of the current torque demand)
Figure 273 : Parameter set selection ASD reference filter - Overview

C o D T _ G r ip

F rm M n g _ s tC o n v A S D rf_ P S N e g

P a r a m e te r s e t s e le c tio n
D rv T rn _ rT ra n s D T A S D r e fe r e n c e filte r A S D rf_ P S P o s

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
V e h D a _ s tT rq D e m

A c c o r d in g to B o s c h s ta n d a r d

ASDfr_PSNegASDrf_PSosCoDT_GripDrvTn_rTansDT FrmMng_stCovnVehDa_stTrqDem

Functional description The parameter set selection consists of the following subcomponents:
• Processing of input conditions with respect to external torque interventions, disconnected drive train and
states of the torque converter clutch.
• Provision of 5 primary states with assigned parameter sets. One primary state has one parameter set
(preferably for external torque interventions). Three primary states (for clutch states) have two parameter
sets each for positive and negative input signal changes. One primary state offers two parameter curves
(depending on the transmission ratio DrvTrn_rTransDT) which are preferably used for driving with
engaged gear.
• Configurable parameter set selection for assignment of the input conditions to the primary states
The state of all input conditions is summarized in the bit mask ASDrf_stCond_mp. All primary states which
are fulfilled due to input conditions and configuration can be inferred from the measuring point
ASDrf_stStates_mp. The active primary state is ASDrf_stSelectState_mp.
Figure 274 : Evaluation of the input conditions and determination of the primary state
A S D rf_ s tC o n d _ m p

c h k E x tIn te rv B it0
V e h D a _ s tT rq D e m

C o D T _ G r ip
! B it1
A S D rf_ s tS ta te s _ m p
B it2
F rm M n g _ s tC o n v
P

A S D rf_ s tC o n v 1 _ C B it3 A S D r f_ s tP r io S ta te _ m p
c h k C o n d itio n s c h k O p e ra to r c h k P r io A S D r f_ s tS e le c tS ta te _ m p
A S D rf_ s tC o n d _ m p
F rm M n g _ s tC o n v B it4 P

P P P
( 2 ^ A S D r f_ n u m D e fa u ltS ta te _ C )
P

a s d r f_ s e le c tp a r a m e te r _ 4 .d s f
A S D rf_ s tC o n v 2 _ C A S D rf_ s tE x tIn t_ C A S D rf_ s w tO p r_ C A S D r f_ n u m P r io _ C
B it5
P

F rm M n g _ s tC o n v A S D r f_ s tG r ip _ C
B it6 P
P

A S D rf_ s tC o n v 3 _ C A S D r f_ s tC o n fC lu E n g _ C
B it7 P

A S D r f_ s tC o n fC lu O ff_ C
P

A S D r f_ s tC o n fC lu S lip _ C
VeDha_stTrqDeCmoDT_GripFrmMng_stCnovASDrf_stConv1_C ASDf_rstConv2_CASDrf_stConv3_CASDrf_stCond_mpASDfr_stExInt _C ASrDf_stGrip_CASDfr_stN_C ASDr_fstConfCluEng_CASDfr_stConfCluOf_C ASDrf_stConfCluSlip_CASDfr_swtOpr_CASDrf_stS taes_mp ASDf_rnumPrio_CASrDf_stPrioStae_mpASrDf_numDefaultSate_CASDf_rstSelctSate_mp

The active state ASDrf_stSelectState_mp determines which parameters are selected.


Input condition external torque intervention The input condition for external torque intervention is met, if an increasing or a decreasing torque intervention
or a torque intervention of the gearbox is present. Bit 0 in ASDrf_stCond_mp is set.
Figure 275 : External torque intervention
a s d r f_ s e le c tp a r a m e te r _ 5 .d s

V e h D a _ s tT rq D e m to r q u e in c r e a s e
G e tB it
3
to rq u e d e c re a s e A S D rf_ s tC o n d _ m p .0
>= 1
G e tB it
4
g e a rb o x
in te r v e n tio n
G e tB it
6
VeDha_stTrqDeAmSDrf_stCond_mp

Input condition for disconnected drive train If the drive train is disengaged (CoDT_Grip = 0), the input condition for disengaged drive train is met. Bit 1 in
ASDrf_stCond_mp is set.
Input condition for the torque converter clutch Three input conditions are available for the state of the torque converter clutch (disengaged/closed-loop
controlled/engaged/). The evaluation is represented in the bits 2 to 4 of the measured variable
ASDrf_stCond_mp.
Assignment of input conditions to the primary The input conditions are applicatively assigned to the primary states.
states

asdrf_selectparameter.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ASDrf_SelectParameter - 247 -
DS/ESM ASD reference filter parameter set selection Veh-DrvTrn-Eng-ASDrf

Table 90: Application labels for the input conditions


ASDrf_stCond_mp Application labels
Bit 0 ASDrf_stExtInt_C
Bit 1 ASDrf_stGrip_C
Bit 2 ASDrf_stConfCluEng_C
Bit 3 ASDrf_stConfCluOff_C
Bit 4 ASDrf_stConfCluSlip_C

Table 91: Parameters assigned to the primary states


ASDrf_stPrioState_mp Parameter
0x0001 ASDrf_T1ExtInt_C ASDrf_KdExtInt_C
0x0002 ASDrf_T1CluNeg_C ASDrf_KdCluNeg_C ASDrf_T1CluPos_C
ASDrf_KdCluPos_C
0x0004 ASDrf_T1GripNeg_CUR ASDrf_KdGripNeg_CUR ASDrf_T1GripPos_CUR
ASDrf_KdGripPos_CUR
0x0008 ASDrf_T1State3Neg_C ASDrf_KdState3Neg_C ASDrf_T1State3Pos_C
ASDrf_KdState3Pos_C
0x0010 ASDrf_T1State4Neg_C ASDrf_KdState4Neg_C ASDrf_T1State4Pos_C
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

ASDrf_KdState4Pos_C

The logical operator (OR, AND, NOR, NAND) of the single terms for the primary states is ASDrf_swtOpr_C.
The priority of the primary states is given in ASDrf_numPrio_C. The state ASDrf_numDefaultState_C is set,
if no primary state is active after evaluation of the operator input conditions and of the priorities.
Parameter set selection
Figure 276 : Parameter set selection for positive input gradients

A S D r f_ s tP r io S ta te _ m p

A S D rf_ T 1 E x tIn t_ C
P

A S D r f_ s tP r io S ta te _ m p = 0 x 0 0 0 1 ( A S D r f_ S T A T E 0 )
A S D rf_ K d E x tIn t_ C
P

A S D r f_ T 1 C lu P o s _ C
P

A S D r f_ s tP r io S ta te _ m p = 0 x 0 0 0 2 ( A S D r f_ S T A T E 1 )
A S D r f_ K d C lu P o s _ C
P

A S D r f_ T 1 G r ip P o s _ C U R
P

D rv T rn _ rT ra n s D T A S D rf_ P S P o s
A S D r f_ s tP r io S ta te _ m p = 0 x 0 0 0 4 ( A S D r f_ S T A T E 2 ) A S D r f_ K d G r ip P o s _ C U R
P

a s d r f_ s e le c tp a r a m e te r _ 1 .d s f
A S D rf_ T 1 S ta te 3 P o s _ C
P

A S D r f_ s tP r io S ta te _ m p = 0 x 0 0 0 8 ( A S D r f_ S T A T E 3 )
A S D rf_ K d S ta te 3 P o s _ C
P

A S D rf_ T 1 S ta te 4 P o s _ C
P

A S D r f_ s tP r io S ta te _ m p = 0 x 0 0 1 0 ( A S D r f_ S T A T E 4 )
A S D rf_ K d S ta te 4 P o s _ C
P
ASDf_rstPrioStae_mpASDfr_T1ExtIn_CASrDf_KdExInt_CASDrf_T1CluPos_CASDrf_KdCluPos_CASrDf_T1GripPos_CURASDfr_KdGripPos_CUR DrTvrn_rTansDTASDrf_TqStae3Pos_C ASDrf_KdStae3Pos_CASrDf_T1Stae4Pos_CASDrf_KdStae4Neg_CASDrf_stPrioStae_mpASDfr_PSPos

Figure 277 : Parameter set selection for negative input gradients

A S D r f_ s tP r io S ta te _ m p

A S D rf_ T 1 E x tIn t_ C
P

A S D r f_ s tP r io S ta te _ m p = 0 x 0 0 0 1 ( A S D r f_ S T A T E 0 )
A S D rf_ K d E x tIn t_ C
P

A S D r f_ T 1 C lu N e g _ C
P

A S D r f_ s tP r io S ta te _ m p = 0 x 0 0 0 2 ( A S D r f_ S T A T E 1 )
A S D r f_ K d C lu N e g _ C
P

A S D r f_ T 1 G r ip N e g _ C U R
P

D rv T rn _ rT ra n s D T A S D rf_ P S N e g
A S D r f_ s tP r io S ta te _ m p = 0 x 0 0 0 4 ( A S D r f_ S T A T E 2 ) A S D r f_ K d G r ip N e g _ C U R
P
a s d r f_ s e le c tp a r a m e te r _ 2 .d s f

A S D rf_ T 1 S ta te 3 N e g _ C
P

A S D r f_ s tP r io S ta te _ m p = 0 x 0 0 0 8 ( A S D r f_ S T A T E 3 )
A S D rf_ K d S ta te 3 N e g _ C
P

A S D rf_ T 1 S ta te 4 N e g _ C
P

A S D r f_ s tP r io S ta te _ m p = 0 x 0 0 1 0 ( A S D r f_ S T A T E 4 )
A S D rf_ K d S ta te 4 N e g _ C
P
ASDf_rstPrioStae_mpASDfr_T1ExtIn_CASrDf_KdExInt_CASDrf_T1CluNeg_CASDrf_KdCul Neg_CASrDf_T1GripNeg_CUARSDr_fKdGripNeg_CURrDvTrn_rTansDTADSr_fTqStae3Neg_C ASDf_rKdStae3Neg_CASDfr_T1Stae4Neg_CASDrf_KdSate4Neg_CASDrf_stPrioStae_mp ASDrf_PSNeg

Parameter set selection depending on transmis- In the primary state 2 (ASDrf_stPrioState_mp = 0x0004), the active parameters are determined depending
sion ratio on DrvTrn_rTransDT. If reverse gear is detected, the absolute value of DrvTrn_rTransDT is used.

19.3.2002 asdrf_selectparameter.fm
- 248 - ASDrf_SelectParameter Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-ASDrf ASD reference filter parameter set selection DS/ESM

ECU initialization The parameter set addresses for disengaged drive train ASDrf_T1CluNeg_C, ASDrf_T1CluPos_C,
ASDrf_KdCluNeg_C and ASDrf_KdCluPos_C are assigned to the pointers ASDrf_PSPos and
ASDrf_PSNeg.

Output values ASDrf_PSNeg: Pointer to the parameter set with negative input gradients
ASDrf_PSPos: Pointer to the parameter set with positive input gradients

Input values CoDT_Grip: power grip within drive train [-] <UBYTE> --->
DrvTrn_rTransDT: drivetrain transmission (wheel torque per engine torque) [-] <SWORD> --->
FrmMng_stConv: conversion/clutch status from CAN [-] <UBYTE> --->
VehDa_stTrqDem: state of active torque demands [-] <UWORD> --->

Measuring points ASDdc_stStates_mp: State of primary states [-] <UWORD> --->


ASDrf_stCond_mp: State of input conditions [-] <UWORD> --->
ASDrf_stPrioState_mp: active State with highest priority [-] <UWORD> --->
ASDrf_stSelectState_mp: Selected state [-] <UWORD> --->

Application parameters ASDrf_KdCluNeg_C: ASD reference filter Kd=Td/T1 neg. gradient, clutch<value> --->
ASDrf_KdCluPos_C: ASD reference filter Kd=Td/T1 pos. gradient clutch<value> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
ASDrf_KdExtInt_C: ASD reference filter Kd=Td/T1, external intervention<value> --->
ASDrf_KdGripNeg_CUR: Kd for closed drive train and negative i/p gradient<curve_individual>
--->
ASDrf_KdGripPos_CUR: Kd for closed driva train and positive i/p gradient<curve_individual>
--->
ASDrf_numDefaultState_C: Default primary state if no state is selected<value> --->
ASDrf_numPrio_C: Priority of primary states<value_block> --->
ASDrf_stConfCluEng_C: Modulation on the input condition engaged look-up clutch<value> --->
ASDrf_stConfCluOff_C: Modulation on input condition for opened look-up clutch<value> --->
ASDrf_stConfCluSlip_C: Modulation on the input condition Controlled look-up clutch<value>
--->
ASDrf_stExtInt_C: Modulation on i/p condition - external torque intervention<value> --->
ASDrf_stGrip_C: Modulation on the input condition open drive train<value> --->
ASDrf_swtOpr_C: Logical link for the selection of primary states<value> --->
ASDrf_T1CluNeg_C: ASD reference filter T1 neg. gradient clutch<value> --->
ASDrf_T1CluPos_C: ASD reference filter T1 pos. gradient clutch<value> --->
ASDrf_T1ExtInt_C: ASD reference filter T1, external intervention<value> --->
ASDrf_T1GripNeg_CUR: T1 parameter for closed drive train and negative i/p
gradient<curve_individual> --->
ASDrf_T1GripPos_CUR: T1 parameter for closed driva train and positive i/p
gradient<curve_individual> --->

asdrf_selectparameter.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ASDrf_Governor - 249 -
DS/ESM Active surge damper, reference filter Veh-DrvTrn-Eng-ASDrf

Active surge damper, reference filter (ASDrf_Governor)


CARTONIC-Sturcture:VehD-rvTrnE-ng-ASDrf

Functional overview The task of the active surge damper (ASD) is to damp oscillations in the drive train which affect engine speed.
The driving behaviour can be adjusted to customer requirements by application of the reference filter (ASDrf),
system excitations are filtered by demand torque changes of the driver.
Reference filter torque output = f(Parameter set of negative input gradients,
Parameter set of positive input gradients,
Inner torque setpoint value)
Figure 278 : Active surge damper, reference filter - overview

A S D rf_ P S N e g

A S D rf_ P S P o s

C o E n g _ trq In rL td A S D rf_ trq In r


A c tiv e s u r g e d a m p e r
r e fe r e n c e filte r
C o D T _ trq D T In D e s

C o E n g _ tr q In r D e s S lo w
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

A c c o r d in g to B o s c h s ta n d a r d
ASDf_rPSNegASDrf_PSosASDr_ftrqInrCoDT_trqDTInDesCoEng_trqInrDesSlowConEg_trqInrLtd

Functional description ASDrf is implemented by the following subfunctions:


• Reference filter PDT1-element (implemented as parallel connection of P- and PT1-elements)
• Parameter set selection on the basis of the difference between ASDrf output and input
• Continuous initialization due to possible change of parameter set and in case of limitation
• Initialization due to high input gradients
• Gradient limitation in the vicinity of the friction torque and for load decrease from the stationary state
Parameter set selection (secondary state machine) A second state machine determines, according to the following state diagram, whether, for transfer functions,
the parameter set is used for positive or negative input changes.
Reason: Larger time constants (slower change response) are required for positive demand torque changes
in order to prevent extreme system excitations. For negative demand torque changes, smaller time constants
(faster change response) are desired, particularly in order to guarantee a fast reduction of the torque demand
when changing into overrun. Switchover occurs according to the difference between the current input value
and the last output value:
Figure 279 : State machine of the parameter set selection for positive or negative input changes.

C o E n g _ trq In rL td -A S D rf_ trq In r < A S D rf_ trq T h re s N e g _ C

P o s N e g

a s d rf_ g o v e rn o r_ 2 .d s f
(A S D rf_ s tP o s N e g _ m p = 1 ) (A S D rf_ s tP o s N e g _ m p = 0 )

C o E n g _ trq In rL td -A S D rf_ trq In r > A S D rf_ trq T h re s P o s _ C

CoEgn_trqInrLtdASDf_rtqInrASrDf_stPosNeg_mp

Figure 280 : ASDrf controller structure


A S D rf_ d trq In rL td _ m p

A S D rf_ d trq S te e p P o s _ C

A S D r f_ s tIn itd tr q S te e p _ m p

A S D r f_ tr q In it_ m p A S D rf_ trq In rM a x _ m p


In it
A S D rf_ d trq S te e p N e g _ C
A S D r f_ tr q In r M in _ m p
A S D rf_ trq In r P -2 A S D rf_ K d C u rr_ m p A S D rf_ trq P _ m p

p a ra m
A S D r f_ tr q In r U n L im _ m p A S D rf_ trq In r
A S D rf_ s tP o s N e g _ m p x y

1 .0
A S D rf_ P S P o s
A S D rf_ trq T h re s P o s _ C
A S D rf_ P S N g
A S D rf_ T 1 C u rr_ m p
A S D rf_ trq T h re s N e g _ C P -1
p a ra m p a ra m

x y x y

A S D r f_ s w tF lt_ C T 0 ix
P
P
P T 1 A S D rf_ trq P T 1 P _ m p
d T
A S D r f_ d tr q In r L td L im _ C U R
P p a ra m

F ilte r x y
A S D rf_ trq P T 1 In _ m p A S D rf_ trq P T 1 O u t_ m p
a s d rf_ g o v e rn o r_ 1 .d s f

C o E n g _ trq In rL td

d T

A S D rf_ d trq In rL td _ m p A S D r f_ d tr q L im _ m p A S D rf_ trq C o m p o ffs e t_ m p


A S D r f_ tr q In r L td F lt_ m p
CoEgn_trqInrLtdASDf_rtqInrASrDf_trqInit_mpASDf_rtqP_mpASDrf_dtrqInrLtd_mp ASDrf_dtrqLim_mpASDfr_trqCompofset_mpASDfr_trqPT1In_mpASDrf_trqPT1Out_mpASDfr_trqPT1P_mp ASDrf_trqInrMax_mpASDf_rtqInrMin_mpASDrf_tqInrUnLim_pASDrf_stPosNeg_mpASDf_rstIni dtrqStep_mpASDrf_tqInLrdtlFt_CASDrf_PS osASDrf_PSNeg ASDrf_dtrqSte pPos_CASDrf_dtrqStepNeg_CASDrf_trqhTrsePos_CASDrf_tqhTersNegC_ASDrf_swtF_l CASDrf_dtrqnI rLdtLmi _CUR ASDrf_T1Cur_PSASDrf_KdCur_PS

Reference filter For steep input gradients, the reference filter functions as a PDT1 element (1st-order lead lag). In steady
state, the reference filter has a proportional transmission response (amplification factor 1) for flat input
gradients.

19.3.2002 asdrf_governor.fm
- 250 - ASDrf_Governor Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-ASDrf Active surge damper, reference filter DS/ESM

Equation 9: Reference filter transfer function

A S D rf_ trq In r(s ) 1 + T d. s .


= T d= K d T 1
fü r s te ile G r a d ie n te n v o n C o E n g _ tr q In r L td
C o e n g _ trq In rL td (s ) 1 + T 1
. s
G A R D ff (s )=
A S D rf_ trq In r(s )
= 1 fü r fla c h e G r a d ie n te n v o n C o E n g _ tr q In r L td
C o e n g _ trq In rL td (s )

For a description of the PT1 controller, consult see “Proportional element with 1st-order time delay (PT1)” on
page 1033
In order to avoid the drag error when CoEng_trqInrLtd is in ramp mode (full-load acceleration), a pole
compensation of the PT1-element is carried out. The curve ASDrf_dtrqInrLtdLim_CUR determines the limit
ranges for the transition between pole compensation and delayed transmission response.
Calculation of the PDT1 controller is carried out segment-synchronous.
Initialization due to steep input gradients For steep input gradients, the PT1 filter is initialized in order to guarantee a desired lead or lag response even
if the filter had not reached its steady state at the time of the parameter set switchover. For this purpose, the
output value is set to the last output value plus the difference between the current input and the last output
value multiplied by the current differential amplification.
Equation 10: Re-initialization for steep input gradients

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
A S D rf_ trq In rk = A S D rf_ trq In r k -1 + K d k * (C o E n g _ trq In rL td k - A S D rf_ trq In r k -1 )

A S D rf_ trq In rk + K d k * C o E n g _ trq In rL td k


A S D r f _ t r q P T 1 O u t k -1 =
1 - K d k
ASDfr_trqInrConEg_trqInrLtd

The criterion ’high input gradient’ is fulfilled if ASDrf_dtrqInrLtd_mp is above ASDrf_dtrqSteepPos_C or


below ASDrf_dtrqSteepNeg_C. If ASDrf_stInitdtrqSteep_mp = 0, no initialization takes place.
Initialization due to parameter set change and for The initialization is not carried out, if the switch ASDrf_swtInitPS_C is set to a value above or equal to 128.
active gradient limitation For a value between 0 and 127, initialization is carried out if the difference (in computer-internal
representation) of initialization value and re-converted state exceeds the value ASDrf_swtInitPS_C. In
particular, initialization takes place in every calculation step for the value 0. If initialization is active, the PT1-
element is initialized according to the current parameters of the PDT1 filter. The initialization forces the
reference filter to again produce the limited output ASDrf_trqInr of the last calculation step with the input
variables of the last calculation step and the current parameters. Using the limited output value to calculate
the initialization value ensures that the state of the transfer element remains limited even for active output
limitation. Initialization can only be carried out if Kd of the current parameter set is unequal to 1.
Equation 11: Continuous initialization due to possible parameter change
A S D rf_ trq In r k -1 - K d k * C o E n g _ trq In rL td k -1
A S D rf_ trq P T 1 O u t_ m p k -1 =
1 - K d k
ASDfr_trqInrConEg_trqInrLtdASDrf_trqPT1Out_mp

Filtering of the input signal The time-based derivation of CoEng_trqInrLtd is required for pole compensation and to detect high input
gradients. A filtered input signal ASDrf_trqInrLtdFlt_mp is used in order to be less sensitive to noise. The
following algorithms are available for filtering:
1. ASDrf_swtFlt_C = 0:
PT1-filtering with the time constant ASDrf_T1Flt_C.
2. ASDrf_swtFlt_C = 1:
Logical filter with the following transfer function.
Equation 12: Logical filter for ASDrf_swtFlt_C = 1:

C o E n g _ trq In rL td (k -1 ) + 0 .5 * ( C o E n g _ trq In rL td (k ) - C o E n g _ trq In rL td (k -2 ) );


w e n n | C o E n g _ tr q In r L td ( k ) - C o E n g _ tr q In r L td ( k - 1 ) | < A S D r f_ tr q F ltL im _ C
A S D r f_ tr q In r L td F lt_ m p =

2 * C o E n g _ trq In rL td (k -1 ) - C o E n g _ trq In rL td (k -2 );
s o n s t
3. ASDrf_swtFlt_C = 2:
ASDfr_trqInrLtdFlt_mpCoEng_trqInrLtdSADrf_trqFltLim_C

Logical filter with the following transfer function.


Equation 13: Logical filter for ASDrf_swtFlt_C = 2:

0 .5 * ( C o E n g _ trq In rL td (k -1 ) - C o E n g _ trq In rL td (k ) );
w e n n | C o E n g _ tr q In r L td ( k ) - C o E n g _ tr q In r L td ( k - 1 ) | < A S D r f_ tr q F ltL im _ C
A S D r f_ tr q In r L td F lt_ m p =

C o E n g _ trq In rL td (k -1 ) + 0 .5 * ( C o E n g _ trq In rL td (k ) - C o E n g _ trq In rL td (k -2 ) );


s o n s t
4. ASDrf_swtFlt_C = 3:
ASDfr_trqInrLtdFlt_mpCoEng_trqInrLtdSADrf_trqFltLim_C

Logical filter with the following transfer function.


Equation 14: Logical filter for ASDrf_swtFlt_C = 3:

0 .5 * ( C o E n g _ trq In rL td (k -1 ) - C o E n g _ trq In rL td (k ) );
w e n n | C o E n g _ tr q In r L td ( k ) - C o E n g _ tr q In r L td ( k - 1 ) | < A S D r f_ tr q F ltL im _ C
A S D r f_ tr q In r L td F lt_ m p =

A S D r f_ tr q In r L td F lt_ m p ( k - 1 ) + 0 .5 * ( C o E n g _ tr q In r L td ( k ) - A S D r f_ tr q In r L td F lt_ m p ( k - 2 ) ) ;
s o n s t
5. ASDrf_swtFlt_C >= 4:
ASDfr_trqInrLtdFlt_mpASDr_ftrqFltLim_C

No filtering. ASDrf_trqInrLtdFlt_mp = CoEng_trqInrLtd.


Gradient limitation The output gradient of the PDT1-element can be limited in the vicinity of the torque loss and for load decrease
from the stationary state. The gradient limitation is not active for high positive input gradients (eg. when the
accelerator pedal is pressed quickly) and for undelayed transfer behaviour (Kd = 1). ASDrf_stTrqLim_mp has
the value 1 when the gradient limitation is active and the value 0 when the gradient limitation is inactive.

asdrf_governor.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ASDrf_Governor - 251 -
DS/ESM Active surge damper, reference filter Veh-DrvTrn-Eng-ASDrf

Figure 281 : Activation / deactivation of the gradient limitation


A S D rf_ d trq In rL td _ m p

a s d rf_ g o v e rn o r_ 5 .d s f
P

A S D r f_ d tr q In c L im _ C

A S D rf_ trq In r
&

z -1

A S D r f_ s tT r q L im _ m p
>= 1

K d

1
ASDf_rdtrqInrLtd_mpASDrf_dtrqIncLim_C ASDrf_trqInrASDfr_stTrqLim_mp

Figure 282 : Calculation of the permissible gradient limitation

A S D rf_ d trq F rc M a x _ m p A S D rf_ d trq M a x _ m p A S D r f_ s tT r q L im _ m p


© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

P
P

A S D rf_ trq In r 3 2 7 6 .7 N m A S D rf_ trq In rM a x _ m p

M N
D T
A S D r f_ C o e ffA F r c L im _ C
A S D rf_ trq L o s e _ m p A S D r f_ C o e ffB F r c L im _ C
P

3 2 7 6 .7 N m /s A S D rf_ d trq D e c M a x _ m p

-1 A S D r f_ d tr q F r c M in _ m p
P

A S D rf_ trq In r

-3 2 7 6 .7 N m
P
P

A S D rf_ trq In r M X
-1
A S D r f_ tr q In r M in _ m p
P

D T

a s d rf_ g o v e rn o r_ 3 .d s f
A S D r f_ C o e ffA D e c L im _ C
A S D r f_ tr q D e c L im S tr t_ m p A S D r f_ C o e ffB D e c L im _ C

A S D r f_ d tr q D e c M in _ m p A S D r f_ d tr q M in _ m p
ASDf_rtqInrASrDf_trqLose_mpASDf_rtqDecLimStr_mpASDr_fdtrqFrcMax_mpASDf_rdtrqMax_mpASDfr_stTrqLim_mpASDfr_dtrqDecMax_mp ASDrf_dtrqFrcMin_mpASDf_rdtrqDecMin_mpASDfr_dtrqMin_mpASDfr_trqInrMax_mp ASDrf_trqInrMin_mpASDr_fCoefAFrcLim_CASDrf_CoefBFrcLim_C ASDf_rCoefADecLmi _CASDrf_CoefBDecLim_C

Limitation in the vicinity of the torque loss The torque loss ASDrf_trqLose_mp is calculated as follows:
Equation 15: Torque loss calculation
ASDrf_trqLose_mp = CoEng_trqInrDesSlow - CoDT_trqDTInDes
ASDf_rtqLose_mpCoEng_trqInrDseSlowCoDT_trqDTInDes

The permitted gradient in the vicinity of the torque loss is ASDrf_dtrqFrcMax_mp. It is calculated as:
Equation 16: Permitted gradient in the vicinity of the torque loss
2
ASDrf_dtrqFrcMax_mp = ASDrf_CoeffAFrcLim_C ⋅ ( ASDrf_trqInr(k-1) – ASDrf_trqLose_mp ) + ASDrf_CoeffBFrcLim_C
ASDf_rdtrqFrcMax_mpASDrf_CoefAFrcLim_C ASDf_rtqInrASrDf_trqLose_mpASDrf_CoefBFrcLim_C

A proximity detection is necessary to implement a symmetrical course close to the torque loss even for steep
gradients of the unlimited signal ASDrf_trqInrUnLim_mp,. The offset ASDrf_trqTresFrcLim_C
defines an interval to the torque loss ASDrf_trqLose_mp which cannot be bridged even for high gradients.
ASDrf_trqTresFrcLim_C is valid for approaches to the torque loss from above as well as from below.
Limitation for load decrease from the stationary For load decrease from the stationary state, the limitation is effective with the permissible gradient
state ASDrf_dtrqDecMin_mp or ASDrf_dtrqDecMax_mp. The permissible gradient ASDrf_dtrqDecMin_mp is
calculated as follows:
Equation 17: Permissible gradient for load decrease from the stationary state
2
ASDrf_dtrqDecMin_mp = – ASDrf_CoeffADecLim_C ⋅ ( ASDrf_trqInr(k-1) – ASDrf_trqDecLimStrt_mp ) – ASDrf_CoeffBDecLim_C
ASDf_rdtrqDecMin_mpASDrf_CoefADecLim_CASDfr_trqInrASDfr_trqDecLimStr_mpASDrf_CoefBDecLim_C

CoEng_trqInrLtd is the reference variable to detect the stationary state. A stationary state is present if
CoEng_trqInrLtd is within the tolerance band between ASDrf_trqStyLow_mp and ASDrf_trqStyHigh_mp
at least for the time ASDrf_tiTrqSty_C. The limits are redefined if CoEng_trqInrLtd leaves the tolerance
band.
Equation 18: Calculation of the lower limit of the tolerance band
ASDrf_trqStyLow_mp = CoEng_trqInrLtd + ASDrf_trqDecLow_C
ASDf_rtqStyLow_mpCoEng_trqInrLtdASDrf_trqDecLow_C

Equation 19: Calculation of the upper limit of the tolerance band


ASDrf_trqStyHigh_mp = CoEng_trqInrLtd + ASDrf_trqDecHigh_C
ASDf_rtqStyHigh_mpCoEng_trqInrLtdASDrf_trqDecHi gh_C

Limitation for load decrease from the stationary state is carried out according to a state machine.

19.3.2002 asdrf_governor.fm
- 252 - ASDrf_Governor Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-ASDrf Active surge damper, reference filter DS/ESM

Figure 283 : State machine for gradient limitation in case of load decrease

| A S D r f_ tr q In r ( k - 1 ) - A S D r f_ tr q D e c L im S tr t_ m p |
C o E n g _ trq In rL td < A S D rf_ trq S ty L o w _ m p F IX ³ A S D r f_ tr q T r e s D e c L im _ C
A S D r f_ s tD e c L im S ta te _ m p = 2

T im e r A S D r f_ tiT r q S ty _ C o v e r

F L O A T IN A C T IV
A S D r f_ s tD e c L im S ta te _ m p = 1 A S D r f_ s tD e c L im S ta te _ m p = 0

a s d rf_ g o v e rn o r_ 4 .d s f
C o E n g _ tr q In r L td > A S D r f_ tr q S ty H ig h _ m p
CoEgn_trqInrLtdASDrf_trqStyLow_mpASDrf_trqInrASDrf_trqDecLimStr_mpASDrf_tqTresDecLim_CASDr_ftiTrqSty_CASDf_rtqStyHigh_mp

The state is represented by the measured variable ASDrf_stDecLimState_mp.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
INACTIV, ASDrf_stDecLimState_mp = 0:The variable ASDrf_trqDecLimStrt is set to ASDrf_trqInr.
FLOAT, ASDrf_stDecLimState_mp = 1:The variable ASDrf_trqDecLimStrt is set to ASDrf_trqInr.
FIX, ASDrf_stDecLimState_mp = 2:The value ASDrf_trqDecLimStrt is frozen. Gradient limitation for
load decrease from the stationary state is active.

ECU initialization During control unit start-up (initialization of the driving functions), the PT1-element is initialized in such a way
that the output value of the reference filter is equivalent to the current input value. The state “positive demand
torque change” is set for the parameter set selection.

Output values ASDrf_trqInr: ASD reference filter inner torque output [Nm] <SWORD> --->

Input values ASDrf_PSNeg: Pointer to the parameter set for negative input changes
ASDrf_PSPos: Pointer to the parameter set for positive input changes
CoDT_trqDTInDes: desired value for drivetrain input (clutch) [Nm] <SWORD> --->
CoEng_trqInrDesSlow: inner torque desired value (standard signal path) generated out from
CoDT_trqDes [Nm] <SWORD> --->
CoEng_trqInrLtd: inner torque set value after limitation, without ASDdc signal [Nm]
<SWORD> --->

Measuring points ASDrf_dtrqDecMax_mp: Max torque gradient caused by decrease limitation. [Nm/s] <SWORD> -
-->
ASDrf_dtrqDecMin_mp: Min torque gradient caused by decrease limitation. [Nm/s] <SWORD> -
-->
ASDrf_dtrqFrcMax_mp: Max torque gradient caused by friction torque. [Nm/s] <SWORD> --->
ASDrf_dtrqFrcMin_mp: Min torque gradient caused by friction torque. [Nm/s] <SWORD> --->
ASDrf_dtrqInrLtd_mp: time derivative of CoEng_trqInrLtd [Nm/s] <SWORD> --->
ASDrf_dtrqLim_mp: value of time derivative of CoEng_trqInrLtd limited by
ASDrf_dtrqInrLtdLim_CUR [Nm/s] <SLONG> --->
ASDrf_dtrqMax_mp: Max torque gradient caused by friction torque or torque decrease. [Nm/
s] <SWORD> --->
ASDrf_dtrqMin_mp: Min torque gradient caused by friction torque or torque decrease. [Nm/
s] <SWORD> --->
ASDrf_stDecLimState_mp: State of state machine for decrease limitation. [-] <UBYTE> --->
ASDrf_stInitdtrqSteep_mp: Reinitialization in case of parameter change active/inactive [-
] <UBYTE> --->
ASDrf_stPosNeg_mp: current pos/neg state (POS=0, NEG=4) [-] <UBYTE> --->
ASDrf_stTrqLim_mp: State of torque limitation (0=inactiv, 1=activ) [-] <UBYTE> --->
ASDrf_trqCompoffset_mp: offset for lag compensation [Nm] <SLONG> --->
ASDrf_trqDecLimStrt_mp: Start point for torque decrease limitation [Nm] <SWORD> --->
ASDrf_trqInit_mp: calculated initial value for PT1 state variable [Nm] <SWORD> --->
ASDrf_trqInrLtdFlt_mp: Filtered input signal CoEng_trqInrLtd [Nm] <SWORD> --->
ASDrf_trqInrMax_mp: Max torque for limitation. [Nm] <SLONG> --->
ASDrf_trqInrMin_mp: Min torque for limitation. [Nm] <SLONG> --->
ASDrf_trqInrUnLim_mp: Output of PDT1 element, before gradient limitation. [Nm] <SWORD> -
-->
ASDrf_trqLose_mp: By friction, Acs and HPUn lost torque. [Nm] <SWORD> --->
ASDrf_trqP_mp: output of ASDrf P-part [Nm] <SWORD> --->
ASDrf_trqPT1In_mp: current PT1 input value [Nm] <SLONG> --->
ASDrf_trqPT1Out_mp: current PT1 output value [Nm] <SWORD> --->
ASDrf_trqPT1P_mp: output of P-part in PT1 filtered signal path [Nm] <SWORD> --->
ASDrf_trqStyHigh_mp: Upper torque limit for steady detection. [Nm] <SWORD> --->
ASDrf_trqStyLow_mp: Lower torque limit for steady detection. [Nm] <SWORD> --->

asdrf_governor.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ASDdc - 253 -
DS/ESM Active surge damper, disturbance compensator Veh-DrvTrn-Eng-ASDdc

4.4.2 Active surge damper, disturbance compensator (ASDdc)


CARTONIC-Sturcture:VehD-rvTrnE-ng-ASDdc

Overview of the component The purpose of the active surge damper (ASD) is to damp oscillations in the drive train affecting engine speed
by influencing the fuel quantity.
The disturbance compensator (ASDdc) eliminates oscillations in the controlled system. It consists of the
components:
• Disturbance compensator D2T2-element
• Parameter set selection
Figure 284 : Active surge damper, reference filter - Overview

G e a rb x _ n u m G e a rF a s t

L IG o v _ n S e tp o in t
P a r a m e te r s e t s e le c tio n
(A S D d c _ S e le c tP a r a m e te r )

E n g _ n A v rg

V S S C D _ v A S D d is tu r b a n c e A S D d c _ trq
c o m p e n s a to r
(A S D d c _ G o v e rn o r)
C o E n g _ s tO v rR u n
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

A c c o r d in g to B o s c h s ta n d a r d

ASDcd_trqCoEng_stOvrRuEn g_nAvrgGearbx_numGearFastLIGov_nSetpointVSCD_v

Structure of the component The component has no subcomponents.


Figure 285 : ASDdc overview

M N M X
E n g _ n A v rg D 2 T 2 A S D d c _ trq

T 1 K d

a s d d c _ o v e r v ie w _ 1 .d s f
E n g _ n A v rg
C o D T _ G r ip s ta te r e c o g n itio n
G e a rb x _ s tG e a r a n d p a ra m e te r
L IG o v _ n S e tp o in t s w itc h in g lo g ic

Eng_nAvrgASDdc_trqCoDT_GripGearbx_stGearLIGov_nSetpoint

Output values ASDdc_trq: ASD disturbance compensator torque output [Nm] <SWORD> --->

Input values CoEng_stOvrRun: state of overrun detection (0: no overrun, 1: overrun) [-] <UBYTE> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
Gearbx_numGearFast: recognized fast gear [-] <SBYTE> --->
LIGov_nSetpoint: low idle setpoint speed [rpm] <SWORD> --->
VSSCD_v: vehicle speed (velocity) [km/h] <SWORD> --->

Subfunctions See “Parameter set selection, ASD disturbance compensator (ASDdc_SelectParameter)” on page 254.
See “Active surge damper, disturbance compensator (ASDdc_Governor)” on page 258.

Additional information ASD has a configurable parameter selection. It corresponds to the description in ASDrf (see “Active surge
damper” on page 243).

19.3.2002 asddc_overview.fm
- 254 - ASDdc_SelectParameter Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-ASDdc Parameter set selection, ASD disturbance compensator DS/ESM

Parameter set selection, ASD disturbance compensator (ASDdc_SelectParameter)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-ADSdc

Functional overview Oscillations of the controlled system can be avoided by an adjustment of the disturbance compensator
parameters of the surge damper. This adjustment is executed by selection of various control parameter sets.
The function determines the current parameter set for the surge damper. The parameters are defined by
engine speed range determination, by the gear/clutch detection and by external interventions.
Parameter set selection = f(State torque converter lockup clutch,
State gearbox,
Quantity/ torque output disturbance compensator,
Grip,
Average engine speed,
Detected fast gear,
Low-idle setpoint speed
Status of the current torque demand)
Figure 286 : Parameter set selection - Overview

F rm M n g _ s tG b x

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
D rv T rn _ rT ra n s D T

F rm M n g _ s tC o n v

A S D d c _ trq
C h e c k
c lu tc h
C o D T _ G r ip A S D d c _ p trC u rrP S
P a ra m e te r
s e t s e le c tio n
E n g _ n A v rg

C h e c k
L IG o v _ n S e tp o in t e n g in e s p e e d

V e h D a _ s tT rq D e m C h e c k
e x te rn a l
in te r v e n tio n

A c c o r d in g to B o s c h s ta n d a r d
ASDcd_ptrCurPSASDdc_trqCoDT_GripDrvTrn_TransDTEng_nAvrgFrmMng_stConvFrmMng_stGbxLIGov_nSetpointVehDa_stTrqDem

Functional description The parameter set selection for the ASDdc consists of the following components:
• Selection of gear parameter set/neutral, clutch, external intervention
• Determination of the state of the torque converter lockup clutch (closed / open / closed-loop controlled)
• Configurable parameter set selection for assignment of the input conditions to the primary states
The state of all input conditions is summarized in the bit mask ASDdc_stCond_mp. All primary states which
are fulfilled due to input conditions and configuration can be inferred from the measuring point
ASDdc_stStates_mp. The active primary state is ASDdc_stSelectState_mp.
Figure 287 : Parameter set switchover
A S D d c _ s tC o n d _ m p

c h k E x tIn te rv B it0
V e h D a _ s tT rq D e m

B it1
d o In itC h n g P S A S D d c _ s tS ta te s _ m p
C o D T _ G r ip c h k C lu tc h B it2
A S D d c _ trq A S D d c _ s tC lu P S _ m p
B it3 A S D d c _ s tP r io S ta te _ m p
F rm M n g _ s tC o n v c h k C o n d itio n s c h k O p e ra to r c h k P r io A S D d c _ s tS e le c tS ta te _ m p
A S D d c _ s tC o n d _ m p
P B it4 P

A S D d c _ s tC o n v 1 _ C P P P
( 2 ^ A S D d c _ n u m D e fa u ltS ta te _ C )
A S D d c _ s tE x tIn t_ C A S D d c _ s w tO p r_ C A S D d c _ n u m P r io _ C
B it5
a s d d c _ s e le c tp a r a m e te r _ 1 .d s f

F rm M n g _ s tC o n v A S D d c _ s tG r ip R a w _ C
B it6
P
P

A S D d c _ s tC o n v 2 _ C A S D d c _ s tG r ip _ C
B it7 P

A S D d c _ s tC o n fC lu E n g _ C 0 0

F rm M n g _ s tC o n v P

A S D d c _ s tC o n fC lu O ff_ C
P
P

A S D d c _ s tC o n v 3 _ C A S D d c _ s tC o n fC lu S lip _ C
P

A S D d c _ s tG e a r s w itc h _ C
c h k G e a rS ta te
F rm M n g _ s tG b x
VeDha_stTrqDeCmoDT_GripASDdc_trqrFmMng_stConvASDdc_stConv1_CASDdc_stConv2_CASDd_cstCovn3_C FrmMng_stGbxASDcd_stCond_mpASDdc_stExInt_CASDdc_stGripRaw_C ASDdc_stGrip_CASDdc_stConfCluEng_CASDcd_stConfCluOf_CASDdc_stCofnCluSip_CASdDc_stGearswitch_CADSdc_swtOpr_CASDdc_stStaes_mpASDd_cnumPrio_C ASDdc_stPrioStae_mpASDcd_numDefaultSate_CASDdc_stSel ctSate_mpASDdc_stCluPS_mp

The state detection and parameter set switchover can be calculated time-synchronously (interval:dt<=20ms),
as some of the input variables relevant for the parameter set selection are only updated time-synchronously.
The assignment of input conditions to the parameter sets can be defined by application in order to adapt the
parameter set selection freely to the requirements of different gearboxes.
The input conditions are shown in ASDdc_stCond_mp.

Table 92: Assignment of input conditions to the configuration labels


Bit mask for input conditions ASDdc_stCond_mp Label
ASDdc_stCond_mp. ASDdc_COND_EXTINT Bit 0 ASDdc_stExtInt_C
0x0001

asddc_selectparameter.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ASDdc_SelectParameter - 255 -
DS/ESM Parameter set selection, ASD disturbance compensator Veh-DrvTrn-Eng-ASDdc

Bit mask for input conditions ASDdc_stCond_mp Label


ASDdc_stCond_mp.ASDdc_COND_GRIPRAW Bit 1 ASDdc_stGripRaw_C
0x0002
ASDdc_stCond_mp.ASDdc_COND_GRIP Bit 2 ASDdc_stGrip_C
0x0004
ASDdc_stCond_mp. ASDdc_COND_CONV1 Bit 3 ASDdc_stConfCluEng_C
0x0008
ASDdc_stCond_mp. ASDdc_COND_CONV2 Bit 4 ASDdc_stConfCluOff_C
0x0010
ASDdc_stCond_mp. ASDdc_COND_CONV3 Bit 5 ASDdc_stConfCluSlip_C
0x0020
ASDdc_stCond_mp. ASDdc_COND_GEARSWITCH Bit 6 ASDdc_stGearswitch_C
0x0040

Table 93: Selection of the primary state


Linking according to operator selection ASDdc_swtOpr_C
Priority label for primary states ASDdc_numPrio_C
ASDdc_stSelectState_mp 5/4/3/2/1/0
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

The logical operator (OR, AND, NOR, NAND) of the single terms for the primary states is ASDdc_swtOpr_C.
The priority of the primary states is given in ASDdc_numPrio_C. The state ASDdc_numDefaultState_C is set,
if no primary state is active after evaluation of the input conditions, of the operator and of the priorities.

In ASDdc_stSelect_mp, exactly that bit is set which is set in ASDdc_stStates_mp and which has the
highest priority (the highest number) according to the label ASDdc_numPrio_C.
Table 94: Primary states
Bit 0 ASDdc_State 0 0x0001 gear-dependent
Bit 1 ASDdc_State 1 0x0004 Clutch
Bit 2 ASDdc_State 2 0x0008 External intervention
Bit 3 ASDdc_State 3 0x0010 State 3
Bit 4 ASDdc_State 4 0x0020 State 4

Engine speed-dependency when driving in gears When driving in gear, the parameter set selection corresponds to the current transmission ratio
DrvTrn_rTransDT. If reverse gear is detected, the absolute value of DrvTrn_rTransDT is used.
The parameters ASDdc_KdGrip_MAP and ASDdc_T1Grip_MAP are maps as function of the engine speed
ASDdc_nAvrg_mp. This dependency is necessary, as the segment-synchronous calculation causes an engine
speed dependency of the ASDdc gain factor. Furthermore, mutually negative influencing of ASDdc and low-
idle controller during idle driving should be avoided as both controllers are active in this case.
The engine speed ASDdc_nAvrg_mp is calculated depending on the application switch ASDdc_swtCalcN_C.
• ASDdc_swtCalcN_C = 0: ASDdc_nAvrg_mp = Eng_nAvrg
• ASDdc_swtCalcN_C <> 0: ASDdc_nAvrg_mp = LIGov_nSetpoint - Eng_nAvrg
Input condition for external interventions A separate parameter set is available for the state “external intervention”. Whether an external intervention
is active is determined on the basis of the bit bar VehDa_stTrqDem. An external intervention is detected if one
of the following conditions is fulfilled:
Increasing torque intervention
VehDa_stTrqDem, bit VEHDA_TRQINC (bit 3) is set
OR Decreasing torque intervention
VehDa_stTrqDem, bit VEHDA_TRQDEC (bit 4) is set
OR Active gearbox intervention
VehDa_stTrqDem, bit VEHDA_GEARBX (bit 6) is set
In case of external intervention, the input condition ASDdc_stCond_mp.ASDdc_COND_EXTINT = 1 is set.
Input condition for disengaged drive train CoDT_Grip is mapped to the condition ASDdc_COND_GRIPRAW:
ASDdc_stCond_mp.ASDdc_COND_GRIPRAW = CoDT_Grip
If the drive train is disengaged (CoDT_Grip = 0), the input condition for disengaged drive train is met. Bit 1 in
ASDdc_stCond_mp is set.
Input condition for the clutch/gear parameter set The transmission ratio DrvTrn_rTransDT is used to select the parameters when driving in gear.
Two input conditions are available for the state “clutch disengaged” or “neutral”. The input condition
ASDdc_stCond_mp.1 is defined by CoDT_Grip.
Another input condition ASDdc_stCond_mp.2 takes the transition from “clutch disengaged” to “clutch
engaged” into account. The condition remains set until the output variable of the disturbance controller has
changed its sign (zero crossing). During gear shifts, an extreme engine speed gradient occurs which leads
to an extreme controller intervention. In order to prevent a jump in the output value and to ensure a short
decay time of the ASDdc, the input condition is reset only when the system is almost at rest (output
approximately zero).

19.3.2002 asddc_selectparameter.fm
- 256 - ASDdc_SelectParameter Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-ASDdc Parameter set selection, ASD disturbance compensator DS/ESM

Figure 288 : State machine clutch / gear parameter set

In it C o D T _ G r ip = F A L S E

c lu tc h p a r a m e te r s e t g e a r p a ra m e te r s e ts

a s d d c _ s e le c tp a r a m e te r _ 4 .d s f
A S D d c _ s tC o n d _ m p .A S D d c _ C O N D _ G R IP = 0 A S D d c _ s tC o n d _ m p .A S D d c _ C O N D _ G R IP = 1

C o D T _ G r ip = T R U E &
s ig n c h a n g e A S D d c _ tr q
CoD_TGripASDdc_stCond_mpASDdc_trq

Input conditions for the states of the torque conver- Only required in automatic transmissions.
ter lockup clutch
Depending on the state of the torque converter lockup clutch, FrmMng_stConv is mapped to engaged torque
converter lockup clutch, disengaged torque converter lockup clutch or closed-loop controlled torque
converter lockup clutch.
Three input conditions are available for the state of the torque converter lockup clutch (disengaged/closed-

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
loop controlled/engaged). The evaluation is represented in the bits 4 to 6 of the measured variable
ASDdc_stCond_mp.
Input condition to indicate a gearshift process in Gear shift is inactive when FrmMng_stGbx takes on the value 0.
automatic transmissions
Gear shift is active, if FrmMng_stGbx = 1.
Figure 289 : Indicating a gearshift process

F R M M N G _ S T G B X _ S H F T A C T V D E F _ M S K (0 x 0 1 ) >= 1

a s d d c _ s e le c tp a r a m e te r _ 6 .d s f
F R M M N G _ S T G B X _ S H F T A C T V _ M S K (0 x 0 2 )

&
F rm M n g _ s tG b x

A S D d c _ s tC o n d _ m p .7
A S D d c _ S H F _ IN _ P R C (0 x 0 1 )
FrmMng_stGbxASDdc_stCond_mp

Primary states The following primary states are defined:


Table 95: Assignment of primary states to the parameter sets
ASDdc_Select_mp Assigned parameter sets
ASDdc_STATE0 (0x0001) ASDdc_T1Grip_MAP, ASDdc_KdGrip_MAP
ASDdc_STATE1 (0x0002) ASDdc_T1Clu_C, ASDdc_KdClu_C
ASDdc_STATE2 (0x0004) ASDdc_T1ExtInt_C, ASDdc_KdExtInt_C
ASDdc_STATE3 (0x0008) ASDdc_T1State3_C, ASDdc_KdState3
ASDdc_STATE4 (0x0010) ASDdc_T1State4_C, ASDdc_KdState4_C

Depending on DrvTrn_rTransDT and ASDdc_nAvrg_mp, the parameter set is selected in the state
ASDdc_STATE0. If reverse gear is detected, the absolute value of DrvTrn_rTransDT is used.

asddc_selectparameter.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ASDdc_SelectParameter - 257 -
DS/ESM Parameter set selection, ASD disturbance compensator Veh-DrvTrn-Eng-ASDdc

Parameter set selection


Figure 290 : Parameter set selection
A S D d c _ s w tC a lc N _ C
P

L IG o v _ n S e tp o in t +
-
E n g _ n A v rg

A S D d c _ s tS e le c tS ta te _ m p

A S D d c _ T 1 G r ip _ M A P
P

A S D d c _ n A v rg _ m p

A S D d c _ s tS e le c tS ta te _ m p = 1
A S D d c _ K d G r ip _ M A P
P

D rv T rn _ rT ra n s D T
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

A S D d c _ K d C u rr_ m p

A S D d c _ T 1 C lu _ C a c tiv
P
P a ra m e te r
A S D d c _ s tS e le c tS ta te _ m p = 2
A S D d c _ K d C lu _ C A S D d c _ T 1 C u rr_ m p
P

A S D d c _ T 1 E x tIn t_ C
P

A S D d c _ s tS e le c tS ta te _ m p = 4
A S D d c _ K d E x tIn t_ C
P

A S D d c _ T 1 S ta te 3 _ C
P

A S D d c _ s tS e le c tS ta te _ m p = 8
A S D d c _ K d S ta te 3 _ C

e te r _ 7 .d s f
P

A S D d c _ T 1 S ta te 4 _ C
P

A S D d c _ s tS e le c tS ta te _ m p = 1 6

a s d d c _ s e le c tp a r a m
A S D d c _ K d S ta te 4 _ C
P

ASDcd_T1Cur_mpASDd_cKdCur_mp DrvTrn_TransDTLIGov_nSetpointASDcd_stSel ctSate_mpASDdc_T1Clu_CASdDc_KdCul _CASdDc_T1ExtIn_CASDdc_KdExtInt_CASDd_cT1Stae3_C ASDdc_KdStae3_CASDd_cT1Stae4_C ASdDc_KdSate4_CASDdc_T1Grip_MAPADSd_cKdGrip_MAP Eng_nAvrgASDdc_nAvrgm_pASDdc_swtCalNc_C

ECU initialization During initialization, the state machine clutch/gear (see Chapter ) is set to "no grip".

Output values
ASDdc_ptrCurrPS Pointer to current parameter set

Input values ASDdc_trq: ASD disturbance compensator torque output [Nm] <SWORD> --->
CoDT_Grip: power grip within drive train [-] <UBYTE> --->
DrvTrn_rTransDT: drivetrain transmission (wheel torque per engine torque) [-] <SWORD> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
FrmMng_stConv: conversion/clutch status from CAN [-] <UBYTE> --->
FrmMng_stGbx: Gearbox state (shifting active / inactive) received via CAN [-] <UBYTE> --->
LIGov_nSetpoint: low idle setpoint speed [rpm] <SWORD> --->
VehDa_stTrqDem: state of active torque demands [-] <UWORD> --->

Measuring points ASDdc_idPS_mp: Parameter set number, current PS (1-14)


ASDdc_stCluPS_mp: clutch PS active/inactive (active=TRUE) [-] <UBYTE> --->
ASDdc_stCond_mp: State of conditions [-] <UWORD> --->
ASDdc_stNRng_mp: Condition idle / not idle (0 / 6)
ASDdc_stPrioState_mp: Primary state with highest priority [-] <UWORD> --->
ASDdc_stSelectState_mp: Selected primary state [-] <UWORD> --->
ASDdc_stStates_mp: State of primary states [-] <UWORD> --->

Application parameters ASDdc_KdClu_C: ASD disturbance compensator Kd=sqrt(Td)/T1 clutch pressed<value> --->
ASDdc_KdExtInt_C: ASD disturbance compensator Kd=sqrt(Td)/T1, external
intervention<value> --->
ASDdc_KdGrip_MAP: Time constant Kd of ASDdc for state grip<map_individual> --->
ASDdc_nThresLi2NLi_C: Hysteresis threshold idle / not idle
ASDdc_nThresNLi2Li_C: Hysteresis threshold not idle - idle
ASDdc_stGearPsRev_C: Gear parameter set with reverse gear
ASDdc_T1Clu_C: ASD disturbance compensator T1, clutch pressed<value> --->
ASDdc_T1ExtInt_C: ASD disturbance compensator T1, external intervention<value> --->
ASDdc_T1Grip_MAP: Time constant T1 of ASDdc for state grip<map_individual> --->

19.3.2002 asddc_selectparameter.fm
- 258 - ASDdc_Governor Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-ASDdc Active surge damper, disturbance compensator DS/ESM

Active surge damper, disturbance compensator (ASDdc_Governor)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-ADSdc

Functional overview The disturbance compensator of the active surge damper suppresses oscillations of the controlled system
by influencing the torque. A deactivation of the disturbance compensator takes place in overrun operation or
if the engine speed is too low.
Torque output disturbance compensator = f(Current engine state,
Average engine speed)
Figure 291 : Active surge damper, reference filter - Overview

E n g _ n A v rg A S D d c _ trq
D is tu r b a n c e
c o m p e n s a to r

O v e rru n
s h u t o ff

C o E n g _ s tE n g
D e a c tiv a tio n

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
In itia liz a tio n

A c c o r d in g to B o s c h s ta n d a r d
ASDcd_trqConEg_stEngE _nAvrg

Functional description The ASDdc consists of the following components:


• Disturbance compensator D2T2-element
• Limitation
• Continuous initialization due to change of parameter set
Figure 292 : ASDdc governor and limitation

A S D d c _ tr q L im M a x _ C

a s d d c _ g o v e rn o r_ 1 .d s f
A S D d c _ tr q L im M in _ C

c u rrP S la s tP S

p a ra m p a ra m
E n g _ n A v rg A S D d c _ trq
x y x y

T 0 ix iy T 0 ix iy

d D T 1 o u t1 K 1 d D T 1 o u t2 K 1
T 1 R e c T 1 R e c
K d K d
c u rrP S la s tP S

C o E n g _ s tE n g c o n tin o u s In it

V S S C D _ v c h k In itZ e r o

A S D d c _ v L im In i_ C

Eng_nAvrgASDdc_trqASDcd_trqLimMin_CASDcd_trqLimMax_CVSCDv_CoEng_stEngASDdc_vLimIni_C

Disturbance compensator The disturbance compensator is a D2T2-element formed by connecting 2 DT1-elements in series.
Equation 20: Transfer function ASDdc

A S D d c _ trq (s ) T . s 2 T .s T .s
G (s )= = d
= d . d
A S D d c
E n g _ n A v rg (s ) (1 + T . s ) 2 1 + T . s 1 + T . s
1 1 1

T d= K .T
d 1
ASDcd_trqEng_nAvrg

For description of DT1-elements see “Differential element with 1st-order time delay (DT1)” on page 1033.
The D2T2-controller calculation is carried out segment-synchronously in order to keep the phase loss to a
minimum.
Limitations The disturbance compensator output is limited to the range [ASDdc_trqLimMin_C ... ASDdc_trqLimMax_C].
Continuous initialization due to change of parame- If ASDdc_swtInitPS_C <> 0, the disturbance compensator is initialized with every calculation step before the
ter set calculation of the transfer elements. This is necessary as a reaction at the output would occur, inspite of the
constant gradient of the input value, due to the implementation with 2 DT1-elements during a parameter set
change. For initialization, the stationary value of the two elements belonging to the new parameter set is
calculated and initialized accordingly.

asddc_governor.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 ASDdc_Governor - 259 -
DS/ESM Active surge damper, disturbance compensator Veh-DrvTrn-Eng-ASDdc

Equation 21: ASDdc initialization for parameter set change


T
b n e u . (1 + a a lt ) b =
d

y =
0 1
. y 0
T 1 1 s t D T 1 e le m e n t
k k -1
b 0
a lt .(1 + a 1
n e u ) a = -e (-T 0/T 1)
1

u k -1 = u k
2 n d D T 1 e le m e n t

Deactivation during operation The disturbance compensator is initialized, i.e. deactivated if one of the following conditions is present:
Start
CoEng_stEng==COENG_STSTART
Reason: Overall system is not yet stable.
OR Fid_ASDdc_mp.0==FALSE
Reason: Incorrect or missing ASDdc input variable.
OR Vehicle speed below speed threshold (VSSCD_v<ASDdc_vLimIni_C)
Reason: Surge damping is not necessary for a stationary vehicle due to the absence of drive train re-
actions.
The following operations are implemented during re-initialization:
• Set the DT1-controller state variables such that the output variable becomes “0”.
• State of engine speed range: Idle (compare “Parameter set switchover” on page 254)
Checking of the conditions for re-initialization is performed segment-synchronously, as is the controller
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

calculation.

ECU initialization During initialization, the state variables of the DT1-elements are selected such that the output becomes 0.

Output values ASDdc_trq: ASD disturbance compensator torque output [Nm] <SWORD> --->

Input values CoEng_stEng: current engine state [-] <UBYTE> --->


Eng_nAvrg: average engine speed [rpm] <SWORD> --->
ASDdc_ptrCurrPS Pointer to current parameter set

Measuring points ASDdc_stREInit_mp: Flag deactivation of ASDdc through initialization to 0 (active=TRUE)


Fid_ASDdc_mp: Measurement point for Function Identifier Fid_ASDdc [-] <UBYTE> --->

Application parameters ASDdc_trqLimMax_C: ASD disturbance compensator output limitation MAXIMUM<value> --->
ASDdc_trqLimMin_C: ASD disturbance compensator output limitation MINIMUM<value> --->
ASDdc_vLimIni_C: ASD disturbance compensator speed limit for initialisation<value> --->

19.3.2002 asddc_governor.fm
- 260 - InjCtl Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl Injection control DS/ESM

4.5 Injection control (InjCtl)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl

Overview of the component


Injection control The InjCtl component implements the inner torque depending on an externally specified optimization
criterion.

Structure of the component The InjCtl component consists of the following subcomponents:
Figure 293 : InjCtl subcomponents

F B C

F lM n g

In jC tl

F M T C

In jC r v

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Subfunctions See “Quantity coordination (InjCtl_qCo)” on page 261.
See “Limitation quantity (InjCtl_qLim)” on page 263.

injctl_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCtl_qCo - 261 -
DS/ESM Quantity coordination Veh-DrvTrn-Eng-InjCtl

Quantity coordination (InjCtl_qCo)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl

Functional overview The quantity coordination determines the fuel quantities for the injection. It takes the current operating
conditions, possible corrections and limitations as well as shut-off demands into account.
The current injection quantity (with and without fuel quantity balancing control), the request quantity, the raw
value and the setpoint quantity of the injection as well as a status signal in case no injection should occur,
are all output.
Figure 294 : Fuel quantity coordination - Overview

C o E n g _ s tE n g

C o E n g _ s tS h u tO ffP a th

F M T C _ q C u rr
In jC tl_ q C u r r
F M T C _ q R a w
In jC tl_ q R a w
F M T C _ q S e t
In jC tl_ q S e t
F M T C _ q D e s Q u a n tity
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

c o o r d in a tio n In jC tl_ q S e tU n B a l
F M T C _ q S trt
In jC tl_ q D e s
F B C _ q
In jC tl_ s tN o In j
In jC tl_ q L im
In jC tl_ tr q In r L im
In jC tl_ s tQ L im E r r

F M T C _ fa c E ta C o r

A c c o r d in g to B o s c h s ta n d a r d
CoEgn_stEngCoEng_stShutOfPathFBC_qFMTC_facEtaCoFrMTC_qCurFMTC_DqesFMTC_qRawFMTC_qSetFMTC_qStrInjCtl_qCur I njCtl_qDesInjCtl_qLimInjCtl_qRaw InjCtl_qSetInjCtl_qSetUnBalInjCtl_stNoInj nCtl_stQLimErInjCtl_trqInrLim

Functional description The determination of fuel quantities is speed-synchronous.


Figure 295 : Overall structure of fuel quantity coordination

C o E n g _ s tE n g
In jC tl_ s tF T L im .4
C O E N G _ S T S T A R T

C o E n g _ s tS h u tO ffP a th

G e tB it
1

F B C _ q
In jC tl_ q S e t
F M T C _ q S trt IN J _ M A S S _ Z E R O
IN J _ M A S S _ Z E R O
In jC tl_ s tN o In j
F M T C _ q S e t

M N
In jC tl_ q S e tU n B a l
In jC tl_ q L im

In jC tl_ s tF T L im .0
H P U n _ q F lT e m p L im

F M T C _ q C u rr M N
In jC tl_ q C u r r
In jC tl_ s tQ L im E r r

F M T C _ q R a w

In jC tl_ q R a w

F M T C _ q D e s
in jc tl_ q c o _ 1 .d fs

In jC tl_ q D e s
M N

FMTC_qCurFMTC_qRawFMTC_qSetFMTC_qStrFMTC_qDesFBC_qInjCtl_qRaw InjCtl_qDesInjCtl_qCurInjCtl_qSetUnBalInjCtl_qSetCoEng_stShutOfPathI njCtl_stNoInjCEng_stEng InjCtl_qLimInjCtl_stQLimEr

Quantity determination Depending on the engine operating state, the program switches between various input values for raw,
setpoint and demanded quantities, and the current quantity.
In starting condition, i.e. engine state “start”, CoEng_stEng == COENG_STSTART (0x02), the starting
quantity FMTC_qStrt is used without limitations for all quantity outputs. The starting quantity is derived from
the starting torque by the torque to quantity converter. This condition is also reported by setting bit 4 in the
state message InjCtl_stFTLim. Limitation of the unbalanced fuel set point quantity InjCtl_qSetUnBal by
the fuel temperature and engine speed dependent limit HPUn_qFlTempLim is reported by setting bit 0 in the
state message InjCtl_stFTLim.

19.3.2002 injctl_qco.fm
- 262 - InjCtl_qCo Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl Quantity coordination DS/ESM

In normal operation the quantity values FMTC_qDes, FMTC_qRaw, FMTC_qCurr, FMTC_qSet, derived by the
torque interface from the corresponding torque demands, are used as quantity definition.
• Setpoint quantityInjCtl_qSet
To calculate the setpoint quantity, FMTC_qSet is limited using the limitation quantity InjCtl_qLim. For
subordinate systems, the setpoint quantity is made available both by taking into account the fuel quantity
balancing control (FBC), InjCtl_qSet, and without the influence of the FBC, InjCtl_qSetUnBal.
• Fuel quantity demand InjCtl_qDes
To calculate the desired quantity, FMTC_qDesis limited using the limitation quantity InjCtl_qLim only for
quantity-limiting system errors. If a quantity-limiting system failure occurs, for as long as the system failure
(InjCtl_stQLimErr, Bit 0) is active, or the ramp for the transition from and to the system failure limitation
value (InjCtl_stQLimErr, Bit 1),is active, the minimum of FMTC_qDes and the limitation quantity
InjCtl_qLim is used.
• Current quantityInjCtl_qCurr
To calculate the current quantity, FMTC_qCurr is limited using the limiting quantity InjCtl_qLim.
• Raw quantityInjCtl_qRaw
To calculate the raw quantity, FMTC_qRaw is limited using the limitation quantity InjCtl_qLim only for
quantity-limiting system failures. If a quantity-limiting system failure occurs, for as long as the system
failure (InjCtl_stQLimErr, Bit 0) is active, or the ramp for the transition from and to the system failure
limitation value (InjCtl_stQLimErr, Bit 1), is active, the current quantity InjCtl_qCurr is used.
Quantity shut-off All quantities can be hard-switched to INJ_MASS_ZERO. The quantity shut-off is handled by the shut-off
coordinator if the bit COENG_PATH_FL_QNT (bit 1) in the shut-off message CoEng_stShutOffPath is set.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Flag "no injection" If the setpoint quantity InjCtl_qSetUnBal is equal to the zero fuel quantity INJ_MASS_ZERO the status
message "no injection" InjCtl_stNoInj is set to TRUE, otherwise InjCtl_stNoInj is FALSE.
Calculation of limiting torque InjCtl_trqInrLim re- The limiting torque (as inner torque) InjCtl_trqInrLim is calculated according to figure 296.
sulting from limiting quantity InjCtl_qLim
Figure 296 : Limiting torque InjCtl_trqInrLim resulting from limiting quantity InjCtl_qLim

FMTC_qOverTrqCrv
q2trq interpolation
InjCtl_trqInrLim
InjCtl_qLim

FMTC_facEtaCor
I njCtl_qLimInjCtl_rqInrLimFMTC_facEtaCor

ECU initialization All quantities are initialized with INJ_MASS_ZERO. For the verification and determination of the limiting fuel
quantity for system errors, the absence of errors is assumed during initialization. The initialization value for
InjCtl_stNoInj is TRUE.

Output values HPUn_qFlTempLim: quantity Limitation due to fuel temperature [mm^3/cyc] <SWORD> --->
InjCtl_qCurr: current injection mass [mm^3/cyc] <SWORD> --->
InjCtl_qDes: fuel mass desired value [mm^3/cyc] <SWORD> --->
InjCtl_qRaw: raw value of injection mass [mm^3/cyc] <SWORD> --->
InjCtl_qSet: fuel mass set value [mm^3/cyc] <SWORD> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->
InjCtl_stFTLim: state of quantity limiting due to fuel temperature [-] <UBYTE> --->
InjCtl_stNoInj: status for no injection (0 -> injection, 1 -> InjCtl_qSetUnBal == 0) [-]
<UBYTE> --->
InjCtl_trqInrLim: limitation torque because of limitation fuel mass [Nm] <SWORD> --->

Input values CoEng_stEng: current engine state [-] <UBYTE> --->


CoEng_stShutOffPath: active shut-off paths resulting from active reversible,
irreversible, and afterrun shut-off paths [-] <ULONG> --->
FBC_q: FBC quantity [mm^3/hub] <SWORD> --->
FMTC_facEtaCor: current efficiency correction factor [-] <SWORD> --->
FMTC_qCurr: fuel mass current value [mm^3/hub] <SWORD> --->
FMTC_qDes: fuel mass desired value [mm^3/hub] <SWORD> --->
FMTC_qRaw: fuel mass raw value [mm^3/hub] <SWORD> --->
FMTC_qSet: fuel mass set value [mm^3/hub] <SWORD> --->
FMTC_qStrt: fuel mass for start [mm^3/hub] <SWORD> --->
InjCtl_qLim: limitation fuel mass [mm^3/cyc] <SWORD> --->
InjCtl_stQLimErr: state fuel mass in case of system error is active (shall be used) [-]
<UBYTE> --->
Not for application FMTC_qOverTrqCrv Desc.: Current curve quantity over torque (global variable)

injctl_qco.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCtl_qLim - 263 -
DS/ESM Limitation quantity Veh-DrvTrn-Eng-InjCtl

Limitation quantity (InjCtl_qLim)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl

Functional overview In certain operating states, the high-pressure pump demands a quantity limitation.
The function calculates the resulting limitation quantity through minimum formation of the demands. Where
system errors occur, a default value (curve) dependent on engine-speed is switched to and a corresponding
message is output.
Limiting quantity = f(Limiting injection quantity,
Function identifier limiting quantity)
Figure 297 : Limiting quantity - Overview

In jC tl_ s tQ L im E r r

E n g _ n A v rg In jC tl_ q L im S w t
D e fa u lt
v a lu e M in im u m
s e le c tio n In jC tl_ q L im
a n d
e rro r
H P U n _ q L im r e c o g n itio n In jC tl_ q L im E r r

A c c o r d in g to B o s c h s ta n d a r d
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

F id _ in jC tl_ q L im E r r _ m p
P

Eng_nAvrgFid_InjCtl_qLimEr_mpHPUn_qLimInjCtl_qLimInjCtl_qLimErInjCtl_qLimSwtInjCtl_stQLimEr

Functional description
Limiting quantity In normal operation the limiting quantity which results from the quantity balance of the high-pressure pump
HPUn_qLim is used for the limitation. It is output as the limiting quantity InjCtl_qLim.
Figure 298 : Limiting quantity

InjCtl_dqLim_CSTR
slopepos
InjCtl_dqLimUp_C slopeneg

InjCtl_dqLimDwn_C

Fid_InjCtl_qLimErr_mp

InjCtl_qLimErr swpos param


xa
Eng_nAvrg y
xb pos InjCtl_qLimSwt
InjCtl_qLimErr_CUR active InjCtl_qLim
T0
RampSwitch
dT InjCtl_stQLimErr

HPUn_qLim

Eng_nAvrgHPUn_qLimInjCtl_qLimInjCtl_dqLimDwn_CI njCtl_dqLimUpC_InjCtl_qLimErInjCtl_qLimEr_CURInjCtl_qLimSwt InjCtl_stQLimEr

Substitute function
Limiting quantity in the event of system errors The error paths designated for fuel quantity limitation in the event of an error are entered in
Fid_InjCtl_qLimErr_mp. If at least one of the error paths is reported as defective, the program switches to
the limiting quantity in the event of a system error InjCtl_qLimErr.
The system error limiting quantity is defined by an engine speed-dependent curve InjCtl_qLimErr_CUR.
The transition from unlimited value to limiting value and vice versa is accomplished via a ramp with the slope
parameters InjCtl_dqLimUp_C and InjCtl_dqLimDwn_C. If the limiting value has been reached, the value
derived from the curve is applied without ramp function. If the normal limiting value falls below the limiting
value for system error, the latter is used via minimum generation.
Table 96: Assignment of InjCtl_stQLimErr
Bit Meaning of bit positions Value (Hex) Meaning of bit assignments
positions
0 Additional limitation in case of system 0 Additional limitation inactive
error 1 Additional limitation active
1 Ramp between normal limitation and 0 Ramp inactive
substitute value 1 Ramp active
2-3 Slope of the ramp 00 Final state reached
01 Increasing ramp
11 Decreasing ramp

Verification whether limitation is required and the calculation of the limiting quantity are time-synchronous.

ECU initialization For the verification and determination of the limiting fuel quantity for system errors, the absence of errors is
assumed during initialization. The messages InjCtl_qLimSwt and InjCtl_qLim are initialized with
INJ_MASSCYC_ZERO (0 mm3/stroke), the status message of the ramp InjCtl_stQLimErr receives the
value 0.

Output values InjCtl_qLim: limitation fuel mass [mm^3/cyc] <SWORD> --->


InjCtl_qLimErr: limitation fuel mass value in case of system error [mm^3/hub] <SWORD> --->
InjCtl_qLimSwt: output of switch ramp blok for fuel mass limitation in case of system
error [mm^3/cyc] <SWORD> --->
InjCtl_stQLimErr: state fuel mass in case of system error is active (shall be used) [-]
<UBYTE> --->

19.3.2002 injctl_qlim.fm
- 264 - InjCtl_qLim Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl Limitation quantity DS/ESM

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


HPUn_qLim: limititation quantity of high pressure pump [mm^3/cyc] <SWORD> --->

Application parameters InjCtl_dqLimDwn_C: Slope for ramping down in case of system error<value> --->
InjCtl_dqLimUp_C: Slope for ramping up in case of healing system error<value> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

injctl_qlim.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 FMTC - 265 -
DS/ESM Torque/quantity conversion Veh-DrvTrn-Eng-InjCtl-FMTC

4.5.1 Torque/quantity conversion (FMTC)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-FMTC

Overview of the component The torque/quantity conversion converts inner torque to quantity and vice versa. Furthermore, the current
efficiency factor (achieved inner torque/used fuel quantity) is determined.
The torque/quantity conversion implements the following tasks:
• Conversion inner torque to quantity
• Conversion quantity to inner torque
• Determination of current efficiency factor
The conversions take the regeneration demand of the exhaust-gas treatment into account.

Structure of the component The component has no further subcomponents.

Subfunctions See “Determination of current conversion curve (FMTC_GenCur)” on page 266.


See “Determination correction factor (FMTC_CalcCorr)” on page 268.
See “Conversion limiting quantity into torque (FMTC_q2trqLimSmk)” on page 272.
See “Torque to quantity conversion (FMTC_trq2q)” on page 270.
See “Quantity to torque conversion (FMTC_q2trq)” on page 269.
See “Conversion fuel quantity limitation into torque (FMTC_q2trqLimFl)” on page 273.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 fmtc_overview.fm
- 266 - FMTC_GenCur Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-FMTC Determination of current conversion curve DS/ESM

Determination of current conversion curve (FMTC_GenCur)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-FMTC

Functional overview A curve is calculated for quantity as a function of the torque in order to ensure consistency in the conversion
of smoke-limitation quantity to smoke-limitation torque and of torque to quantity in normal operation (without
consideration of the regeneration demand of the exhaust gas treatment). The curve is valid for the engine
speed of the current engine speed synchronous conversion step.

Functional description
Figure 299 : Engine speed section from basis map

FMTC_trq2qBas_MAP
curve interpolation
FMTC_qOverTrqCrv

Eng_nAvrg

An engine speed section is calculated for the current average engine speed Eng_nAvrg (=n0) using the
applicated map FMTC_trq2qBas_MAP which describes the connection between inner torque and injection
quantity. A sample point for the curve to be generated FMTC_qOverTrqCrv is calculated for each sample

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
point of the torque grid of FMTC_trq2qBas_MAP through linear interpolation in engine speed direction. The
interpolation is calculated between the two sample points n1 and n2 neighbouring n0 in FMTC_trq2qBas_MAP.
Figure 300 : Engine speed section for Eng_nAvrg (=n0) from FMTC_trq2qBas_MAP (map q=f(n,trq))

n
q = f(n , trq )
n 2

n 0 F M T C _ q O v e rT rq C rv

n 1

trq

The curve FMTC_qOverTrqCrv generated in this way describes the connection between quantity and torque
for the current engine speed Eng_nAvrg and forms e.g. the basis for the following conversions in the current
calculation step:
1. Smoke limitation quantity to smoke limitation torque
2. Inner setpoint torque to setpoint quantity in normal operation (without consideration of regeneration
demands of the exhaust gas treatment)
Using one single curve for the two conversions guarantees consistency for the conversion factor for the
following conversions within one conversion step.
The calculation of the conversion curve must be engine speed synchronous.

ECU initialization The prerequisite for using the generated curve for the conversion of quantity to torque is a strictly monotone
increase of the supporting coordinates for quantity above the basic torque values. Only then the data basis
can be evaluated by interpolation as a curve of torque above quantity. The prerequisite for this condition is
that there is strictly monotone increase of the supporting coordinates of quantity above the torque axis (for
every engine speed supporting coordinate) in FMTC_trq2qBas_MAP. This condition is checked during
initialization and the result is entered in the error path Dfp_FMTC_NonMonotonMap_mp.
Table 97: Assignment of the error path measuring point Dfp_FMTC_NonMonotonMap_mp
Bit no. Description
0 not used
1 not used
2 not used
3 Course of the supporting coordinates of quantity above the torque axis no strictly
monotone increase
4-15 Assignment according to DSM description

Output values
Not for application FMTC_qOverTrqCrv Desc.: Current curve quantity above torque (global message)

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->

Measuring points Dfp_FMTC_NonMonotonMap_mp: Measurement point for fault path Dfp_FMTC_NonMonotonMap [-]
<UWORD> --->

Application parameters FMTC_trq2qBas_MAP: base map for torque to q conversion as function of working
point<map_individual> --->

Application instructions
System-specific data The prerequisite for exchanging the axes of the curve FMTC_qOverTrqCrv quantity above torque is the strict
monotony of the supporting coordinates of quantity above torque. In order to fulfil this condition all supporting
coordinates of quantity in FMTC_trq2qBas_MAP above torque must have a strictly monotone increase.

fmtc_gencur.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 FMTC_GenCur - 267 -
DS/ESM Determination of current conversion curve Veh-DrvTrn-Eng-InjCtl-FMTC

For data assignment of FMTC_trq2qBas_MAP is has to be ensured that the first line of the map assigns exactly
the quantity 0 mm3/stroke to the torque 0 Nm. Reason: The interpolation function in the EDC-SW
extrapolates by holding the value of the last supporting coordinate, which means that this value will be
assigned to a torque demand of 0 Nm. If this value is >0 mm3/stroke the result is the assignment of 0 Nm ->
>0 mm3/stroke.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 fmtc_gencur.fm
- 268 - FMTC_CalcCorr Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-FMTC Determination correction factor DS/ESM

Determination correction factor (FMTC_CalcCorr)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-FMTC

Functional overview The correction factor FMTC_facEtaCor is set to the value 1.

Functional description
Figure 301 : Determination of the correction factor

1.0
FMTC_facEtaCor
FMTC_facEtaCor

ECU initialization The correction factor FMTC_facEtaCor is initialized with the neutral value 1.

Output values FMTC_facEtaCor: current efficiency correction factor [-] <SWORD> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

fmtc_calccorr.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 FMTC_q2trq - 269 -
DS/ESM Quantity to torque conversion Veh-DrvTrn-Eng-InjCtl-FMTC

Quantity to torque conversion (FMTC_q2trq)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-FMTC

Functional overview The task of the quantity/torque conversion is to convert the setpoint value of the current fuel quantity into a
torque value (inner torque).

Functional description
Figure 302 : Current quantity to inner torque

InjCtl_qSetUnBal FMTC_trqInr

FMTC_etaCurr

The conversion of the current setpoint injection quantity InjCtl_qSetUnBal into inner torque FMTC_trqInr
takes place by multiplication of the quantity with the efficiency factor FMTC_etaCurr, which takes the
regeneration demand of the exhaust gas treatment into account.
The conversion of the current setpoint quantity into an inner torque must take place speed-synchronously.

ECU initialization The current inner engine torque FMTC_trqInr is initialized with the minimum torque TRQ_MIN.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Output values FMTC_trqInr: current inner engine torque [Nm] <SWORD> --->

Input values FMTC_etaCurr: current efficiency (corrected) [Nm/(mm^3/cyc)] <SWORD> --->


InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

19.3.2002 fmtc_q2trq.fm
- 270 - FMTC_trq2q Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-FMTC Torque to quantity conversion DS/ESM

Torque to quantity conversion (FMTC_trq2q)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-FMTC

Functional overview The task of the torque/quantity conversion is to convert the torque demands into an injection quantity, taking
the regeneration demand of the exhaust gas treatment into account, and to calculate a starting quantity from
the starting torque.

Functional description
Figure 303 : Overall structure of inner torque to quantity

StSys_trqStrt FMTC_qStrt

FMTC_eta0_C

FMTC_tiRmpSlp_C
EGT_CmpEnd
status_word
EGT_st passed

EGT_CmpStRgn1
status_word
passed
mask
FMTC_stRgnMsk1_C RmpSlp init
swtEndRmp
EGT_CmpStRgn2
status_word xb1
passed xb2 y
mask FMTC_qSet
FMTC_stRgnMsk2_C x0
x1
x2
EGT_RgnSwt3

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
FMTC_qSetOptStd_mp
FMTC_qOverTrqCrv
trq2q_Interpolation
FMTC_qSetStd_mp

FMTC_facEtaCor

Eng_nAvrg
FMTC_qSetRgn1_mp
FMTC_trq2qRgn1_MAP

FMTC_qSetRgn2_mp
FMTC_trq2qRgn2_MAP

FMTC_etaCurrStd

CoEng_trqInrSet FMTC_etaCurr

CoEng_trqInrRaw FMTC_qRaw

CoEng_trqInrCurr FMTC_qCurr

CoEng_trqInrDes FMTC_qDes

CoEgn_trqInrCurCoEng_trqInrDesConEg_trqInrRawCoEng_trqInrSteEGT_stEng_nAvrgFMTC_eta0_C FMTC_etaCurFMTC_etaCurStdFMTC_facEtaCoFrMTC_qCurFMTC_qDesFMTC_qRawFMTC_qSetFMTC_qSetOptSd_mp FMTC_qSetRgn1_mpFMTC_qSetRgn2_mpFMTC_qSetSd_mp FMTC_qStFrMTC_stRgMnsk1_CFMTC_stRgnMsk2_CFMTC_tiRmpSlp_C FMTC_trq2qRgn_1MAPFMTC_trq2Rgn2_MAPStys_trqStr

Conversion inner torque to quantity The setpoint quantity FMTC_qSet is calculated depending on the status EGT_st of the regeneration demand
of the exhaust gas treatment. For this purpose the status of EGT_CmpStRgn1 and EGT_CmpStRgn2 is
compared with the applicatable bitmasks FMTC_stRgnMsk1_C and FMTC_stRgnMsk2_C. If they match, the
respective bit is set and handed over to the ramp switch EGT_RgnSwt3. There a linear switchover between
standard setpoint quantity FMTC_qSetStd_mp (without respect to the regeneration demand of the exhaust gas
treatment) and the corresponding regeneration setpoint quantities of the two regeneration modes
(FMTC_qSetRgn1_mp and FMTC_qSetRgn2_mp) occurs via ramp. The ramp runtime FMTC_tiRmpSlp_C can be
applicated. The ramp of the EGT_RgnSwt3 can be switched to the desired final value using EGT_CmpEnd
before FMTC_tiRmpSlp_Chas elapsed using EGT_CmpEnd.
Conversion of the inner setpoint torque CoEng_trqInrSet to standard setpoint quantity with optimum
efficiency FMTC_qSetOptStd_mp is done by evaluating the curve quantity over torque
FMTC_qOverTrqCrv calculated in “Determination of current conversion curve (FMTC_GenCur)” on page 266
(valid for the current engine speed). The standard setpoint quantity FMTC_qSetStd_mp results from division
by the current correction factor FMTC_facEtaCor.
The regeneration setpoint quantities FMTC_qSetRgn1_mp and FMTC_qSetRgn2_mp are calculated from the
applicatable maps FMTC_trq2qRgn1_MAP and FMTC_trq2qRgn2_MAP respectively, with the input variables
average engine speed Eng_nAvrg and inner setpoint torque CoEng_trqInrSet.
The current efficiency factor FMTC_etaCurr results from division of CoEng_trqInrSet through FMTC_qSet.
The efficiency factor is used to convert the other torques CoEng_trqInrRaw, CoEng_trqInrCurr and
CoEng_trqInrDes into the quantities FMTC_qRaw, FMTC_qCurr and FMTC_qDes respectively. Due to the
division the ramp of FMTC_etaCurr is not linear but hyperbolic.
In addition to the current efficiency factor, the efficiency factor FMTC_etaCurrStd is calculated by dividing
CoEng_trqInrSet through FMTC_qSetStd_mp, without consideration of the regeneration measures of the
exhaust gas treatment. FMTC_etaCurr and FMTC_etaCurrStd are different if regeneration is active. In
standard operation (without regeneration) they are identical. Neither of the efficiency factors are efficiencies
in the physical sense.
The torque to quantity conversion must take place speed-synchronously.
Starting torque to starting quantity conversion During start, a fixed factor FMTC_eta0_C is used for conversion.

ECU initialization The quantities (start, demand, setpoint, current, and raw quantity) are initialized with INJ_MASS_MIN.
The efficiency factors FMTC_etaCurr and FMTC_etaCurrStd are initialized with FMTC_eta0_C.

Output values FMTC_etaCurr: current efficiency (corrected) [Nm/(mm^3/cyc)] <SWORD> --->


FMTC_etaCurrStd: current eta without regeneration, with all corrections [Nm/(mm^3/cyc)]

fmtc_trq2q.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 FMTC_trq2q - 271 -
DS/ESM Torque to quantity conversion Veh-DrvTrn-Eng-InjCtl-FMTC

<SWORD> --->
FMTC_qCurr: fuel mass current value [mm^3/hub] <SWORD> --->
FMTC_qDes: fuel mass desired value [mm^3/hub] <SWORD> --->
FMTC_qRaw: fuel mass raw value [mm^3/hub] <SWORD> --->
FMTC_qSet: fuel mass set value [mm^3/hub] <SWORD> --->
FMTC_qStrt: fuel mass for start [mm^3/hub] <SWORD> --->

Input values
Not for application FMTC_qOverTrqCrv Desc.: Current curve quantity above torque (global message)
CoEng_trqInrCurr: current inner torque [Nm] <SWORD> --->
CoEng_trqInrDes: inner torque desired value [Nm] <SWORD> --->
CoEng_trqInrRaw: inner torque raw value [Nm] <SWORD> --->
CoEng_trqInrSet: inner torque set value [Nm] <SWORD> --->
EGT_st: Regeneration request of exhaust gas treatment (engine speed synchronous) [-]
<ULONG> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
FMTC_facEtaCor: current efficiency correction factor [-] <SWORD> --->
StSys_trqStrt: engine starting torque [Nm] <SWORD> --->

Measuring points FMTC_qSetOptStd_mp: Optimum standard setpoint quantity without correction [mg/hub]
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

FMTC_qSetRgn1_mp: Setpoint value for regeneration injection quantity taking the


regeneration demand 1 for EGT in to account [mm^3/hub] <SWORD> --->
FMTC_qSetRgn2_mp: Setpoint value for regeneration injection quantity taking the
regeneration demend 2 of EGT in to account [mm^3/hub] <SWORD> --->
FMTC_qSetStd_mp: Standard injection quantity without the regeneration demand of exhaut
gas [mm^3/hub] <SWORD> --->

Application parameters FMTC_eta0_C: constant efficiency value<value> --->


FMTC_stRgnMsk1_C: bit mask for regeneration state 1<value> --->
FMTC_stRgnMsk2_C: bit mask for regeneration state 2<value> --->
FMTC_tiRmpSlp_C: ramp slope for ramp switch<value> --->
FMTC_trq2qRgn1_MAP: Basic map for conversion of torque in to quantity taking the
regeneration demand 1 of the EGT in to account<map_individual> --->
FMTC_trq2qRgn2_MAP: Basic map for conversion of torque in to quantity taking the
regeneration demand 2 of the EGT in to account<map_individual> --->

Application instructions
System-specific data For data assignment of FMTC_trq2qRgn1_MAP and FMTC_trq2qRgn2_MAP it has to be ensured that the first
line of the map assigns exactly the quantity 0 mm3/stroke to the torque 0 Nm. Reason: The interpolation
function in the EDC-SW extrapolates by holding the value of the last supporting coordinate, which means that
this value will be assigned to a torque demand of 0 Nm. If this value is >0 mm3/stroke the result is the
assignment of 0 Nm -> >0 mm3/stroke.

19.3.2002 fmtc_trq2q.fm
- 272 - FMTC_q2trqLimSmk Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-FMTC Conversion limiting quantity into torque DS/ESM

Conversion limiting quantity into torque (FMTC_q2trqLimSmk)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-FMTC

Functional overview The task of the quantity/torque conversion is to convert the current limiting quantity into a torque value (inner
torque).

Functional description
Figure 304 : Conversion of limit quantity into limit torque (smoke)

FMTC_qOverTrqCrv
q2trq interpolation
FMTC_trqInrLimSmk
FlMng_qLimSmk

FMTC_facEtaCor

The conversion of the current limiting quantity FlMng_qLimSmk into the inner torque FMTC_trqInrLimSmk is
carried out by evaluating the curve of quantity as a function of torque calculated in “Determination of current

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
conversion curve (FMTC_GenCur)” on page 266 (valid for the current engine speed). For this purpose, the
axes are interchanged, i.e. the evaluation occurs by interpolation in the sense of torque as a function of
quantity multiplied with the current correction factor FMTC_facEtaCor .
The conversion of the current limiting quantity into an inner torque must take place speed-synchronously.

ECU initialization The current inner engine torque FMTC_trqInrLimSmk is initialized with the maximum torque TRQ_MAX.

Output values FMTC_trqInrLimSmk: limitation torque smoke limit [Nm] <SWORD> --->

Input values FlMng_qLimSmk: limitation injection quantity for smoke limitation [mm^3/hub] <SWORD> --->
FMTC_facEtaCor: current efficiency correction factor [-] <SWORD> --->
Not for application FMTC_qOverTrqCrv Desc.: Current curve quantity above torque (global message)

fmtc_q2trqlimsmk.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 FMTC_q2trqLimFl - 273 -
DS/ESM Conversion fuel quantity limitation into torque Veh-DrvTrn-Eng-InjCtl-FMTC

Conversion fuel quantity limitation into torque (FMTC_q2trqLimFl)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-FMTC

Functional overview The task of this quantity/torque conversion is to convert the current fuel quantity limitation into a torque value
(inner torque).

Functional description
Figure 305 : Limiting quantity into limiting torque

fm tc _ q 2 tr q lim fl_ 1 .d s f

q O v e rT rq C rv
q 2 tr q In te r p o la tio n
F M T C _ tr q L im F l
In jC tl_ q L im

F M T C _ fa c E ta C o r
I njCtl_qLimFMTC_trqLimFlMTC_facEtaCorFMTC_ptrCurCur

The conversion of the current limiting quantity InjCtl_qLim, after multiplication with the current correction
factor FMTC_facEtaCor, into the inner torque FMTC_trqLimFl is carried out by evaluating the curve of
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

quantity as a function of torque calculated in “Determination of current conversion curve (FMTC_GenCur)”


on page 266 (valid for the current engine speed). For this purpose, the axes are interchanged, i.e. the
evaluation occurs by interpolation in the sense of torque as a function of quantity.
The conversion of the current limiting quantity into an inner torque must take place speed-synchronously.

ECU initialization The current inner engine torque FMTC_trqLimFl is initialized with the maximum torque TRQ_MAX.

Output values FMTC_trqLimFl: Current fuel quantity limiting torque [Nm] <SWORD> --->

Input values FMTC_facEtaCor: current efficiency correction factor [-] <SWORD> --->
InjCtl_qLim: limitation fuel mass [mm^3/cyc] <SWORD> --->

19.3.2002 fmtc_q2trqlimfl.fm
- 274 - FlMng Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-FlMng Fuel management DS/ESM

4.5.2 Fuel management (FlMng)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-FMng

Overview of the component


Fuel management Fuel management consists of the function smoke limitation quantity which has the following tasks:
1. Calculation of the smoke limitation
2. Calculation of the full load increase
The task of the smoke limitation is to determine the maximum fuel quantity to be injected without exceeding
a certain smoke-emission value. It takes the regeneration demand of the exhaust-gas treatment into account.
In order to improve drive-away in certain weather conditions, the fuel quantity determined by the smoke
limitation can be increased by a value which is determined from the full load increase.

Structure of the component The component has no further subcomponents.

Subfunctions See “Smoke limitation quantity (FlMng_InjMassLim)” on page 275.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

flmng_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 FlMng_InjMassLim - 275 -
DS/ESM Smoke limitation quantity Veh-DrvTrn-Eng-InjCtl-FlMng

Smoke limitation quantity (FlMng_InjMassLim)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-FMng

Functional overview The smoke limitation quantity is represented by


1. the smoke limit calculation
2. full load increase based on engine temperature
3. a correction based on the air pressure
is represented.

Functional description The task of smoke limitation is to determine the maximum fuel quantity that can be injected without exceeding
a specified smoke value.
The lambda value of the smoke limitation FlMng_rLmbdSmk_mp is calculated by a signal averaging based on
the air mass AFSCD_mAirPerCylFlt supplied to the cylinder and the engine speed Eng_nArvg:
Figure 306 : Calculating the smoke limitation lambda value

F lM n g _ r L m b d S m k H ig h _ m p
E n g _ n A v rg

A F S C D _ m A ir P e r C y lF lt F lM n g _ r L m b d S m k M a x _ C
F lM n g _ r L m b d S m k H ig h _ M A P P
P
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

F lM n g _ r L m b d S m k L o w _ m p
F lM n g _ r L m b d S m k M in _ C
P

F lM n g _ r L m b d S m k L o w _ M A P F lM n g _ r L m b d S m k _ m p

L a m b d a M e a n F lM n g _ r L m b d S m k M e a n V a l_ m p
V a lu e C a lc u la tio n

F lM n g _ q L m b d S m k L o w _ m p

F lM n g _ q L m b d S m k L o w _ C U R
P

F lM n g _ q L m b d S m k H ig h _ m p

F lM n g _ q L m b d S m k H ig h _ C U R

In jC tl_ q R a w flm n g _ in jm a s s lim _ 7 .d s f

AFSDC_mAirPeCrylFtEng_nAvrgFlMng_qLmbdSmkHigh_CURFMl ng_qLmbdSmkHigh_mpFlMng_qLmbdSmkLow_CUR FlMng_qLmbdSmkLow_mpFlMng_rLmbdSmk_mp FlMng_rLmbdSmkHigh_MAPFlMng_rLmbdSmkHigh_mpFlMng_rLmbdSmkLow_MAPFMl ng_rLmbdSmkLow_mpFlMng_rLmbdSmkMax_CFlMn_grLmbSdmkMeanaVl_mpFlMng_LrmbdSmkMi_nCInjCtl_qRaw

The average value FlMng_rLmbdSmkMeanVal_mp is calculated in the following manner:


Equation 22: Calculating the average value FlMng_rLmbdSmkMeanVal_mp

FlMng_rLmbdSmkHigh_mp – FlMng_rLmbdSmkLow_mp
FlMng_rLmbdSmkMeanVal_mp = FlMng_rLmbdSmkLow_mp + ------------------------------------------------------------------------------------------------------------------------------------------------- × ( InjCtl_qRaw – FlMng_qLmbdSmkLow_mp )
FlMng_qLmbdSmkHigh_mp – FlMng_qLmbdSmkLow_mp

If the raw value of the injection quantity is less than FlMng_qLmbdSmkLow_mp or greater than
FlMng_qLmbdSmkHigh_mp, the lambda value of the smoke limitation FlMng_rLmbdSmk_mp is determined by
FlMng_rLmbdSmkLow_mp or FlMng_rLmbdSmkHigh_mp instead of by the average value
FlMng_rLmbdSmkMeanVal_mp. FlMng_rLmbdSmk_mp is limited to a value range between
FlMng_rLmbdSmkMin_C and FlMng_rLmbdSmkMax_C.
The full load increase λ correction value FlMng_rLmbdFullLd_mp is determined from the map
FlMng_rLmbdFullLd_MAP based on the average engine speed Eng_nArvg the engine temperature
Eng_tEng. This λ value is added to the base base FlMng_rLmbdSmk_mp.
In addition, the λ correction value FlMng_rLmbdAtmPres_mp is calculated from the map
FlMng_rLmbdAtmPres_MAP based on the engine speed Eng_nArvg and the linearised air pressure
APSCD_pLinVal, and added to the base value FlMng_rLmbdSmk_mp.
The sum FlMng_rLmbdLim_mp is the minimum λ value at which the smoke emission remains within
acceptable limits.
Figure 307 : Calculating the smoke limitation quantity

F lM n g _ m A ir P e r C y lM in _ C
P
F lM n g _ m A ir P e r C y lL im _ m p F lM n g _ q L im S m k _ m p
A F S C D _ m A ir P e r C y lF lt M X

F lM n g _ r L m b d S m k _ m p F lM n g _ r L m b d L im _ m p

E n g _ n A v rg P
F lM n g _ r C o r r V a l_ m p
F lM n g _ r L m b d F u llL d _ m p
E n g _ tE n g

F lM n g _ r L m b d F u llL d _ M A P

P
flm n g _ in jm a s s lim _ 1 .d s f

F lM n g _ r L m b d A tm P r e s _ m p
A P S C D _ p L in V a l

F lM n g _ r L m b d A tm P r e s _ M A P

1 2 .1
AFSDC_mAirPeCrylFtAPSDC_pLinVaEl ng_nAvrgEng_tEngFlMng_mAirPerCylLim_mpFlMng_mAi rPeClyMin_C FlMng_qLimSk_mpFlMng_rCorVal_mpFlMng_rLmbdAtmPres_MAPFlMng_rLmbdAtmPres_mpFlMng_rLmbdFulLd_MAPFlMng_rLmbdFulLd_mpFlMng_rLmbdLim_mpFlMng_rLmbdSmk_mp

The λ value denotes the following relationship:

19.3.2002 flmng_injmasslim.fm
- 276 - FlMng_InjMassLim Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-FlMng Smoke limitation quantity DS/ESM

Equation 23: Lambda value relationship


air mass present in cylinder air mass present in cylinder
λ = ------------------------------------------------------------------ = ------------------------------------------------------------------
stoechiometric air mass 12.1 ⋅ injected fuel mass
To calculate the maximum fuel quantity to be injected FlMng_qLimSmk, FlMng_rLmbdLim_mp is multiplied by
14,5 and the value of the air mass FlMng_mAirPerCylLim_mp is divided by the result.
FlMng_mAirPerCylLim_mp is the value of the air mass AFSCD_mAirPerCylFlt which is limited downwards
by the application parameter FlMng_mAirPerCylMin_C.
Equation 24: Maximum fuel mass to be injected
FlMng_mAirPerCylLim_mp
FlMng_qLimSmk_mp = ---------------------------------------------------------------------
12.1 ⋅ FlMng_qLimSmk_mp
Regeneration of particle filter The smoke limitation quantity FlMng_qLimSmk is calculated depending on the status EGT_st of the
regeneration demand for the exhaust-gas treatment. For this purpose, the status of EGT_CmpStRgn1 and
EGT_CmpStRgn2 is compared with the applictable bit masks FlMng_stRgnMsk1_C and
FlMng_stRgnMsk2_C. If they match, the respective bit is set and handed over to the ramp switch
EGT_RgnSwtE3. There are linear switch-over between standard smoke limitation quantity (without taking
the regeneration demand of the exhaust-gas treatment into account) and the corresponding regeneration
smoke limitation quantities of the two regeneration modes takes place via ramp.
The ramp runtime FlMng_tiRmpSlp_C is applicatable. A new switching demand via EGT_st may only be

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
present after the ramp has expired. This has to be ensured in the overall system. Using EGT_CmpEnd, the
ramp of the EGT_RngSwtE3 can be switched to the desired final value before FlMng_tiRmpSlp_C has
elapsed.

FlMng_stCurrInp indicates which input must be calculated currently. While the ramp is running, two
inputs must be calculated actively. Only one input must be calculated after the ramp has expired.
Table 98: Assignment of FlMng_stCurrInp_mp
FlMng_stCurrInp_mp Input paths to be calculated
1 Standard paths
2 Regeneration path 1
3 Standard path, regeneration path 1
4 Regeneration path 2
5 Standard path, regeneration path 2
6 Regeneration path 1, regeneration path 2

Figure 308 : Regeneration of particle filter

F lM n g _ tiR m p S lp _ C
P

s ta tu s _ w o rd
F lM n g _ s tR g n M s k 1 _ C E G T _ C m p S tR g n 1 p a s s e d
P m a s k
S ta te b it
s ta tu s _ w o rd
F lM n g _ s tR g n M s k 2 _ C E G T _ C m p S tR g n 2 p a s s e d
P m a s k

E G T _ s t s ta tu s _ w o rd
E G T _ C m p E n d p a s s e d
F lM n g _ m A ir P e r C y lL im _ m p F lM n g _ r L m b d S e t

1 4 ,5
R m p S lp In it
F lM n g _ s tC u r r In p _ m p
F lM n g _ q L im S m k _ m p s e tR g n c u rrIn p
s e tE n d P m p
A F S C D _ m A ir P e r C y lF lt P
R g n S w tIn V a l_ 0 F lM n g _ q L im S m k
F lM n g _ r L m b d S m k R g n 1 _ m p r y
E n g _ n A v rg R g n S w tIn V a l_ 1
q
R g n S w tIn V a l_ 2
F lM n g _ r L m b d S m k R g n 1 _ M A P 1 2 .1
E G T _ R g n S w tE 3
F lM n g _ m A ir P e r C y lL im _ m p
F lM n g _ r C o r r V a l_ m p
F lM n g _ In jM a s s L im _ 2 .d s f

F lM n g _ r L m b d S m k R g n 2 _ m p r

F lM n g _ r L m b d S m k R g n 2 _ M A P 1 2 .1

F lM n g _ m A ir P e r C y lL im _ m p
AFSDC_mAirPeCrylFtEGT_CmpEndEGT_CmpStRgn1EGT_CmpStgRn2EGT_RgnSwtE3EGT_stEng_nAvrgFlMng_mAirPreCylLim_mpFlMng_qLimSmkFlMng_qLimSmk_mp FlMng_rCorVl_ampFlMng_rLmbdSetFlMng_rLmbdSmkRgn1_MAPFlMng_rLmbdSmkRgn1_mpFlMng_rLmbdSmkRgn_2MAPFMl ng_rLmbdSmkRg2n_mpFlMng_stCurInp_mpFlMng_stRgnMsk1_C FlMng_stRgnMsk2_CFlMng_tiRmpSl p_CRgnSwtInVal_0 RgnSwtInVa_l 1RgnSwtInVal_2

Output values FlMng_qLmbdSmk:


FlMng_rLmbdSet: Correcting variable for lambda controller [-] <SWORD> --->

Input values AFSCD_mAirPerCylFlt: PT1 filtered airmass per Cylinder [mg/Hub] <SWORD> --->
APSCD_pLinVal: raw atmospheric pressure via ADC [hPa] <SWORD> --->
EGT_st: Regeneration request of exhaust gas treatment (engine speed synchronous) [-]
<ULONG> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
Eng_tEng: engine temperature [deg C] <SWORD> --->
InjCtl_qRaw: raw value of injection mass [mm^3/cyc] <SWORD> --->

flmng_injmasslim.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 FlMng_InjMassLim - 277 -
DS/ESM Smoke limitation quantity Veh-DrvTrn-Eng-InjCtl-FlMng

Measuring points FlMng_mAirPerCylLim_mp: limited air mass [mg/Hub] <SWORD> --->


FlMng_qLimSmk_mp: smoke dependent injection mass limitation [mm^3/hub] <SWORD> --->
FlMng_qLmbdSmkHigh_mp: high fuel mass for lambda value calculation of smoke limitation
[mm^3/cyc] <SWORD> --->
FlMng_qLmbdSmkLow_mp: low fuel mass for lambda value calculation of smoke limitation
[mm^3/cyc] <SWORD> --->
FlMng_rCorrVal_mp: Correction value [-] <SWORD> --->
FlMng_rLmbdAtmPres_mp: lambda value of atmospheric pressure dependend correction [-]
<SWORD> --->
FlMng_rLmbdFullLd_mp: lambda value of dynamic full load [-] <SWORD> --->
FlMng_rLmbdLim_mp: minimum allowed lambda value [-] <SWORD> --->
FlMng_rLmbdSmk_mp: lambda value of smoke limitation [-] <SLONG> --->
FlMng_rLmbdSmkHigh_mp: high lambda value for lambda value calculation of smoke limitation
[-] <SWORD> --->
FlMng_rLmbdSmkLow_mp: low lambda value for lambda value calculation of smoke limitation
[-] <SWORD> --->
FlMng_rLmbdSmkMeanVal_mp: lambda mean value for lambda value calculation of smoke
limitation [-] <SLONG> --->
FlMng_rLmbdSmkRgn1_mp: Lambda value of smoke limitation in regeneration state 1 [-]
<SWORD> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

FlMng_rLmbdSmkRgn2_mp: Lambda value of smoke limitation in regeneration state 2 [-]


<SWORD> --->
FlMng_stCurrInp_mp: Status, which input of EGT_RgnSwtE must currently be calculated [-]
<UBYTE> --->

Application parameters FlMng_mAirPerCylMin_C: lower limit of the air mass<value> --->


FlMng_qLmbdSmkHigh_CUR: curve to determine the higher fuel mass for lambda value
calculation of smoke limitation<curve_individual> --->
FlMng_qLmbdSmkLow_CUR: curve to determine the lower fuel mass for lambda value calculation
of smoke limitation<curve_individual> --->
FlMng_rLmbdAtmPres_MAP: map to determine the lambda value of atmospheric pressure
dependend correction<map_individual> --->
FlMng_rLmbdFullLd_MAP: map to determine the lambda value of full load increase dependent
on engine temperature<map_individual> --->
FlMng_rLmbdSmkHigh_MAP: map to determine the higher lambda value for lambda value
calculation of smoke limitation<map_individual> --->
FlMng_rLmbdSmkLow_MAP: map to determine the lower lambda value for lambda value
calculation of smoke limitation<map_individual> --->
FlMng_rLmbdSmkMax_C: maximum allowed lambda value of smoke limitation<value> --->
FlMng_rLmbdSmkMin_C: minimum allowed lambda value of smoke limitation<value> --->
FlMng_rLmbdSmkRgn1_MAP: Map to determine the lambda value of the smoke limitation in
regeneration state 1<map_individual> --->
FlMng_rLmbdSmkRgn2_MAP: Map to determine the lambda value of the smoke limitation in
regeneration state 2<map_individual> --->
FlMng_stRgnMsk1_C: Applicatable bit mask for regeneration demand 1 of the exhaust gas
treatment<value> --->
FlMng_stRgnMsk2_C: Applicatable bit mask for regeneration demand 2 of the exhaust gas
treatment<value> --->
FlMng_tiRmpSlp_C: Ramp runtime for multiple switch EGT_RgnSwtE<value> --->

19.3.2002 flmng_injmasslim.fm
- 278 - InjCrv Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Injection characteristic DS/ESM

4.5.3 Injection characteristic (InjCrv)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Overview of the component The InjCrv component determines all the data required to put together the injection profile.
Table 99: Abbreviations used
Abbreviation Meaning
PiI1 Pilot injection 1
PiI2 Pilot injection 2
PiI3 Pilot injection 3
MI Main injection
PoI1 Post injection 1
PoI2 Post injection 2
TDC Top dead centre

Injections of a Common Rail system


Figure 309 : Injections of a Common Rail system

in jc r v _ o v e r v ie w _ 1 .d s f
T D C o f c y lin d e r x

r a n g e o f P iI2 ra n g e o f M I ra n g e o f P o I2

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
r a n g e o f P iI3 r a n g e o f P iI1 ra n g e o f P o I1

t/p h i
e n d o f
to r q u e in flu e n c e

The figure shows the chronologically possible injection characteristics of a Common Rail system. Normally
4 out of 6 different injections are possible per cylinder and working cycle. The injections can be inhibited
based on various conditions. The possible ranges in which injections can take place depend on the number
of injections and their physical limitations. Information on which injections are currently active is taken from
the injection characteristic InjCrv_stInjCharActVal:
Table 100: Allocation of the injection characteristic InjCrv_stInjCharActVal
Bit position Meaning
0 Post injection 1 (PoI1) active
1 Post injection 2 (PoI2) active
2 Main injection 1 (MI1) active
3 Reserved
4 Pilot injection 1 (PiI1) active
5 Pilot injection 2 (PiI2) active
6 Pilot injection 3 (PiI3) active
7 Reserved

Since injections in quick succession are based on time, the start of energising of PiI1 and PiI2 injections can
be described in terms of angle and/or time. PoI2 is always expressed in time, PiI3 and PoI1 always as an
angle absolute to the TDC.
Pilot injections (PiI) are carried out prior to the main injection. The compression pressure in the cylinder is
slightly raised by this initial action. The effect is that the delay in the combustion of the main injection is
shortened and combustion pressure increase and combustion pressure peaks are reduced. This effect leads
to a soft combustion, thereby reducing the combustion noise. By shortening the combustion delay the pilot
injection only indirectly effects the engine torque supply.
Here it would be impractical to allow any combination of pilot injections. Certain combinations, such as
releasing a PiI2 before a PiI1, or a PiI3 at the same time as a PiI2, are ruled out. All permissible combinations
are explained in see “Release of the injections” on page 281.

Structure of the component The component InjCrv has no further sub-components.

injcrv_overview.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv - 279 -
DS/ESM Injection characteristic Veh-DrvTrn-Eng-InjCtl-InjCrv

Subfunctions See “Injection co-ordinator (InjCrv_Co)” on page 280.


See “Pilot injection 1 (InjCrv_PiI)” on page 290.
See “Basic value of angular component for the start of energising pilot injection 1 (InjCrv_PiI1SOEPhiBas)”
on page 296.
See “Basic value of start of energising time component for pilot injection 1 (InjCrv_PiI1SOETiBas)” on page
297.
See “Calculating customer specific corrections for pilot injection 1 (InjCrv_PiIAddCor)” on page 304.
See “Customer related basic correction value for PiI start of energising angular component
(InjCrv_PiIAddCorPhi)” on page 305.
See “Customer related basic correction value of PiI start of energising time component (InjCrv_PiIAddCorTi)”
on page 306.
See “Calculating the correction values for pilot injection 1 (InjCrv_PiIEnvCor)” on page 298.
See “Basic correction value for the PiI1 start of energising angular component (InjCrv_PiIEnvCorPhi)” on
page 300.
See “Basic correction value for PiI1 start of energising time component (InjCrv_PiIEnvCorTi)” on page 301.
See “Calculating the weighting factors for pilot injection 1 (InjCrv_PiIEnvCorSlow)” on page 302.
See “Pilot injection 2 (InjCrv_PiI2)” on page 310.
See “Basic value of angular component for the start of energising pilot injection 2 (InjCrv_PiI2SOEPhiBas)”
on page 315.
See “Basic value of start of energising time component for pilot injection 2 (InjCrv_PiI2SOETiBas)” on page
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

316.
See “Pilot injection 2 correction value (20ms) (InjCrv_PiI2EnvCor)” on page 317.
See “Customer related corrections for pilot injection 2 (InjCrv_PiI2AddCor)” on page 323.
See “Basic correction value for the PiI2 start of energising angular component (InjCrv_PiI2EnvCorPhi)” on
page 319.
See “Basic correction value for PiI2 start of energising time component (InjCrv_PiI2EnvCorTi)” on page 320.
See “Pilot injection 2 correction value (100ms) (InjCrv_PiI2EnvCorSlow)” on page 321.
See “Regeneration values for pilot injection 2 (InjCrv_PiI2Rgn)” on page 325.
See “Function library for the PiI2 regeneration operation (InjCrv_PiI2RgnLib)” on page 326.
See “Pilot injection 3 (InjCrv_PiI3)” on page 328.
See “Correction values for post injection 3 (InjCrv_PiI3EnvCor)” on page 332.
See “Customer related corrections for pilot injection 3 (InjCrv_PiI3AddCor)” on page 336.
See “Weighting factors for pilot injection 3 (InjCrv_PiI3EnvCorSlow)” on page 334.
See “Regeneration values for pilot injection 3 (InjCrv_PiI3Rgn)” on page 337.
See “Function library for the PiI3 regeneration operation (InjCrv_PiI3RgnLib)” on page 338.
See “Main injection (InjCrv_MI)” on page 340.
See “Calculation of customer specific corrections for the main injection (InjCrv_MIAddCor)” on page 344.
See “Calculating the main injection correction value (InjCrv_MIEnvCor)” on page 345.
See “Calculating the weighting factors for the main injection (InjCrv_MIEnvCorSlow)” on page 347.
See “Post injection 1 (InjCrv_PoI1)” on page 353.
See “Post injection 1 release (InjCrv_PoI1Rls)” on page 357.
See “Customer related corrections for post injection 1 (InjCrv_PoI1AddCor)” on page 358.
See “Correction values for post injection 1 (InjCrv_PoI1EnvCor)” on page 359.
See “Weighting factors for post injection 1 (InjCrv_PoI1EnvCorSlow)” on page 361.
See “Post injection 2 (InjCrv_PoI2)” on page 363.
See “Post injection 2 release (InjCrv_PoI2Rls)” on page 370.
See “Basic value for the PoI2 start of energising angular component (InjCrv_PoI2SOEPhiBas)” on page 372.
See “Basic value for the PoI2 start of energising time component (InjCrv_PoI2SOETiBas)” on page 373.
See “Customer related corrections for post injection 2 (InjCrv_PoI2AddCor)” on page 374.
See “Correction values for post injection 2 (InjCrv_PoI2EnvCor)” on page 375.
See “Basic correction value for the PoI2 start of energising angular component (InjCrv_PoI2EnvCorPhi)” on
page 377.
See “Basic correction value for PoI2 start of energising time component (InjCrv_PoI2EnvCorTi)” on page
378.
See “Weighting factors for post injection 2 (InjCrv_PoI2EnvCorSlow)” on page 379.
See “Regeneration values for post injection 2 (InjCrv_PoI2Rgn)” on page 383.
See “Function library for the PoI2 regeneration operation (InjCrv_PoI2RgnLib)” on page 385.
See “Minimum injection quantity (InjCrv_QntMinLib)” on page 287.

19.3.2002 injcrv_overview.fm
- 280 - InjCrv_Co Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Injection co-ordinator DS/ESM

Injection co-ordinator (InjCrv_Co)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview The injection co-ordinator co-ordinates all the injections in the system. It determines
• the release of individual injections
• the maximum possible number of injections/TDC based on system properties
• the priority of injections
The injection co-ordinator delivers the current injection characteristic in which the number and type of allowed
injections are found again.
Figure 310 : Injection co-ordinator - overview

E G T _ s t

IA T S C D _ tA ir

E n g _ tE n g R e le a s e o f
L im ita tio n
E n g _ n A v rg p ilo t in je c tio n s
M in im u m a n d In jC r v _ s tIn jC h a r S e tV a l
In jC tl_ q S e tU n B a l
s e le c tio n p r io r ity

m a n a g e m e n t

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
R e le a s e o f

p o s t in je c tio n s

b o o s te r

c h a rg e

b a la n c e
H P U n _ n u m In jQ n tB a l

C o E n g _ s tS h u tO ffP a th

C o E n g _ s tT s t

A c c o r d in g to B o s c h s ta n d a r d
in jc r v _ c o _ 1 0 0 .d s f

Functional description
Overview
Figure 311 : Injection co-ordinator overview

in jc r v _ c o _ 4 .d s f
P

In jC r v _ s tP iIR ls S tr u c t_ m p
In jC r v _ s tIn jC h a r D e s _ m p s ta te In jC r v _ n u m In jD e s _ m p
b it
P iI r e le a s e o r
s tru c tu re n u m b e r

b o o s te r In jV lv _ n u m In jC h r g B a l_ m p
P o I1 c h a rg e
r e le a s e b a la n c e lim ita tio n In jC r v _ s tIn jC h a r S e tV a l
m in im u m In jC r v _ n u m In jL im _ m p
a n d
s e le c tio n p r io r ity
q u a n tity H P U n _ n u m In jQ n tB a l m a n a g e m e n t
P o I2 b a la n c e
r e le a s e

In jC r v _ n u m In jM a x S y s
In jC r v _ D e b L im D e f_ C
P

In jC r v _ D e b L im O k _ C
P

D fp _ In jC r v _ In jL im _ m p .0

D fp _ In jC r v _ In jL im _ m p .1
D S M _ D e b o u n c e
D fp _ In jC r v _ In jL im _ m p .2

In jC r v _ n u m In jM a x S y s _ C
P

The injection co-ordinator first calculates the release of individual injections via the engine operating point.
The desired injection characteristic InjCrv_stInjCharDes_mp is produced from the bit link of individual post
injection releases to the release structure of the pilot injections.
The number of desired injections InjCrv_numInjDes_mp is determined from the injection characteristic
received. By a minimum selection using
• maximum number InjVlv_numInjChrgBal_mp determined by the booster co-ordinator load balance
• maximum number HPUn_numInjQntBal determined by the high pressure pump quantity balance
• maximum number InjCrv_numInjMaxSys determined by the software
the maximum number of injections InjCrv_numInjLim_mp is calculated. Next, the desired injection
characteristic is limited to this maximum number based on a priority list. The injection characteristic
InjCrv_stInjCharSetVal received is the output value for calculating the individual injections.
In addition, when there is a limitation of the number of desired injections InjCrv_numInjDes_mp, the
corresponding bit in the error path Dfp_InjCrv_InjLim_mp.0...2 is set via InjVlv_numInjChrgBal_mp,
HPUn_numInjQntBal, InjCrv_numInjMaxSys. Debouncing occurs for all errors with values
InjCrv_DebLimDef_C and InjCrv_DebLimOk_C.

injcrv_co.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_Co - 281 -
DS/ESM Injection co-ordinator Veh-DrvTrn-Eng-InjCtl-InjCrv

Hint: The injection co-ordinator is calculated in the 20ms time slice. To guarantee data consistency for the speed
synchronous injection functions, the interface messages InjCrv_stInjCharSetVal and
InjCrv_stInjCharPrio are calculated time synchronously, but transmitted engine speed synchronously.
Release of the injections
Pilot injections Five operating ranges are defined for the release of the pilot injections. Please note whether there is a
regeneration request from the exhaust gas treatment system. Based on the engine temperature Eng_tEng
and the intake air temperature IATSCD_tAir the normal operating ranges are determined from the map
InjCrv_stRlsOpRngThres_MAP and the regeneration operating ranges are determined from the map
InjCrv_stRlsOpRngThresRgn_MAP. The message EGT_st.0..30 and the mask InjCrv_stRlsRgnMsk_C are
used to toggle between both operating modes. The current EGT activation states are set in the message
EGT_st.0...30 (see “Regeneration coordinator for exhaust-gas treatment (EGT_CoRgn)” on page 439). The
mask InjCrv_stRlsRgnMsk_C is used to select the regeneration operation in which the programme switches
to the measuring point InjCrv_stPiIRlsOpRng_mp. The switchover takes place via a hysteresis with the
positive and negative offset InjCrv_rOpRngETSHys_C or InjCrv_rOpRngATSHys_C so that there will not be
a constant change in operating range directly at the threshold. The current operating range is expressed in
the measuring point InjCrv_stPiIRlsOpRng_mp.
The operating ranges are applied as an integer between 1 and 5 and read out. Therefore an interpolation of
the map should not be carried out. The calculation of the map is explained in the following figure:
Figure 312 : Calculating the operating ranges
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

IA T S C D _ tA ir

Y 4 1 2 2 4 4
Y 3 -Y 2 r e le v a n t in te r v a l
Y 2 +
2
Y 3 1 2 2 3 4
In jC r v _ r O p R n g A T S H y s _ C
Y 2 1 2 2 3 4

Y 1 1 1 2 2 3

Y 0 1 1 1 1 2

X 0 X 1 X 2 X 3 X 4 E n g _ tE n g

in jc r v _ c o _ 3 .d s f
X 2 + X 3 -X 2
2
In jC r v _ r O p R n g E T S H y s _ C

The respective interval for the current working point is calculated for the x and y-axes (in the example [X2;X3]
[Y2;Y3]). Then the average value is computed from the two co-ordinates received (X2+(X3-X2)/2 or Y2+(Y3-
Y2)/2 ). If the working point lies below this average value, X2 or Y2 is the valid co-ordinate. If it lies above,
X3 or Y3 is the valid co-ordinate. In order to avoid continuous switching of both co-ordinates in the middle,
the switching takes place via a hysteresis using the X offset InjCrv_rOpRngETSHys_C and the Y offset
InjCrv_rOpRngATSHys_C. Both hysteresis values are indicated as a percentage of the distance between
both co-ordinates of an interval.
There is a release map (InjCrv_stPiIRlsOpRng1_MAP ...InjCrv_stPiIRlsOpRng5_MAP) for each operating
range based on the engine operating point. The previously determined value InjCrv_stPiIRlsOpRng_mp is
used to toggle between the 5 maps.

19.3.2002 injcrv_co.fm
- 282 - InjCrv_Co Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Injection co-ordinator DS/ESM

Figure 313 : Pilot injection release structure


E G T _ s t.0 ..3 0

2 .d s f
b it
In jC r v _ s tR ls R g n M s k _ C
a n d

c o
in jc r v
P
IA T S C D _ tA ir

E n g _ tE n g

In jC r v _ s tR ls O p R n g T h r e s _ M A P
In jC r v _ s tP iIR ls O p R n g _ m p

In jC r v _ s tR ls O p R n g T h r e s R g n _ M A P

E n g _ n A v rg P

In jC tl_ q S e tU n B a l

In jC r v _ s tP iIR ls O p R n g 1 _ M A P
P

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
In jC r v _ s tP iIR ls O p R n g 2 _ M A P 1

P
2
In jC r v _ s tP iIR ls S tr u c t_ m p
3

4
In jC r v _ s tP iIR ls O p R n g 3 _ M A P
5
P

In jC r v _ s tP iIR ls O p R n g 4 _ M A P
P

In jC r v _ s tP iIR ls O p R n g 5 _ M A P

The maps supply the release structure InjCrv_stPiIRlsStruct_mp which reflects the number and type of
pilot injections. With three pilot injections, there are the following release variants:
Table 101: Pilot injection release variants
Release structure InjCrv_stPiIRlsStruct_mp PiI3 PiI2 PiI1
1 0 0 0
2 0 0 1
3 0 1 1
4 1 0 1
5 1 0 0

The release structure is applied as an integer between 0 and 5 and read out again based on the operating
point. Therefore an interpolation of the maps should not be carried out. The maps are calculated analogously
to “Calculating the operating ranges” on page 281 by the hysteresis thresholds
InjCrv_rPiIRlsEngSpdHys_C and InjCrv_rPiIRlsQntHys_C.
Post injections The release of post injection 1 is calculated separately by the “Post injection 1 release (InjCrv_PoI1Rls)” on
page 357 function. The release of post injection 2 is calculated by the “Post injection 2 release
(InjCrv_PoI2Rls)” on page 370 function.
Injection characteristic After all the releases have been calculated, the information received for the desired injection characteristic
InjCrv_stInjCharDes_mp is compiled:
Figure 314 : Desired injection characteristic allocation InjCrv_stInjCharDes_mp
in jc r v _ c o _ 5 .d s f

X P iI3 P iI2 P iI1 X M I1 P o I2 P o I1

r e s u lt fr o m P o I1 r e le a s e fu n c tio n

r e s u lt fr o m P o I2 r e le a s e fu n c tio n

M I1 a lw a y s a c tiv e

re s e rv e d

v a lu e fr o m In jC r v _ s tP iIR ls S tr u c t_ m p :
1 2 3 4 5
0 1 1 1 0

0 0 1 0 0

0 0 0 1 1

re s e rv e d
Limiting the injections Certain injection system limitations are to be observed when using multiple injections. Since these limit can
quickly be infringed by correction values, intervention by the exhaust gas treatment system or by an
application, the system must restrict itself.
System restriction are:
• booster capacitor electrical load balance (see “Injection shut-off based on the load balance
(InjVlv_ChrgBalInjLim)” on page 689)
• high pressure pump quantity balance (see “Injection shut-off based on fuel quantity balance
(HPUn_QntBalInjLim)” on page 612)
• system resources (based on system resources, there is a limited number InjCrv_numInjMaxSys of
injections possible for each TDC).

injcrv_co.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_Co - 283 -
DS/ESM Injection co-ordinator Veh-DrvTrn-Eng-InjCtl-InjCrv

The maximum number of injectionsInjCrv_numInjLim_mp is determined from the minimum of the above
mentioned limits. Shut-off occurs according to an applicable priority list.
Priority management If the desired number of injections lies above the limited values, injections are shut-off according to a priority
list. Please note whether there is a regeneration request from the exhaust gas treatment system. In normal
operation, the priority status InjCrv_stInjCharPrio_C is used for shut-off. In the message EGT_st.0...30
the current EGT activation states are set (see “Regeneration coordinator for exhaust-gas treatment
(EGT_CoRgn)” on page 439). The mask InjCrv_stPrioRgnMsk_C can be used to select the regeneration
operation in which to switch over to priority status InjCrv_stInjCharPrioRgn_C.
Based on the priority of individual injections applied, injections are now shut off in such a manner that the
remaining number agrees with the limited number. The limited injection structure is represented in
InjCrv_stInjCharSetVal. If a request for shut-off via the quantity of injections comes from the shut-off co-
ordinator CoEng_stShutOffPath, or if a shut-off condition from the engine test co-ordinator is present
(CoEng_stTst == 1) no injection is released in the injection structure. This guarantees that a quantity of "0"
is output for each injection in further calculations.
In the example in the following figure, EGT and the shut-off co-ordinator are not active and the limited number
InjCrv_numInjLim_mp = 2.
Figure 315 : Priority management

C o E n g _ s tS h u tO ffP a th
&
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

C O E N G _ P A T H _ F L _ Q N T

in jc r v _ c o _ 8 .d s f
C o E n g _ s tT s t = = 1 (IN J V L V _ C O M P R _ T S T ) >= 1

In jC r v _ n u m In jL im _ m p

In jC r v _ s tIn jC h a r D e s _ m p
s ta te In jC r v _ n u m In jD e s _ m p
0 0 1 1 0 1 0 1
- P iI3 P iI2 P iI1 - M I1 P o I2 P o I1 n u m b e r

E G T _ s t.0 ..3 0
b it In jC r v _ s tIn jC h a r S e tV a l
In jC r v _ s tP r io R g n M s k _ C a n d
0 0 0 1 0 1 0 0

In jC r v _ s tIn jC h a r P r io _ C - P iI3 P iI2 P iI1 - M I1 P o I2 P o I1

0 4 3 2 0 1 6 5
- P iI3 P iI2 P iI1 - M I1 P o I2 P o I1
In jC r v _ s tIn jC h a r P r io
lim ite r
In jC r v _ s tIn jC h a r P r io R g n _ C
0 6 5 4 0 1 2 3
- P iI3 P iI2 P iI1 - M I1 P o I2 P o I1

For each injection, 4 bits are available in the priority status word, from which 8 priority stages are formed. A
number greater than or equal to 8 corresponds to the lowest priority stage. If zero is entered for an injection,
it is not taken into consideration. The allocation of injections is analogue to the injection characteristic.
Figure 316 : Priority status structure and sample applicationInjCrv_stInjCharPrio_C or InjCrv_stInjCharPrioRgn_C

a p p lic a tio n 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 = 0 x 0 4 3 2 0 1 6 5
b itp o s itio n 3 1 ..2 8 2 7 ..2 4 2 3 ..2 0 1 9 ..1 6 1 5 ..1 2 1 1 ..8 7 ..4 3 ..0

p r io r ity 0 4 3 2 0 1 6 5

in je c tio n - P iI3 P iI2 P iI1 - M I1 P o I2 P o I1

0 = 0 0 0 0 b = n o p r io r ity , fie ld w ill b e ig n o r e d ( r e s e r v e d fo r u n u s e d in je c tio n s )


in jc r v _ c o _ 7 .d s f

1 = 0 0 0 1 b = h ig h e s t p r io r ity le v e l
: :
: :
8 = 1 0 0 0 b = lo w e s t p r io r ity le v e l

Monitoring
Error paths
Dfp-table 1: Dfp_InjCrv_InjLim_mp.MAX
Defect If the number of required injections exceeds the number of maximum possible injections
detection predetermined by the load balance of the booster capacitor InjVlv_numInjChrgBal_mp, an
error is detected.
Healing When a condition for error detection is not met
Substitute Limiting the number of injections to InjVlv_numInjChrgBal_mp, further substitute functions
function applicable using DSM_InhDfp_InjCrv_InjLim_C
Test condition according to the set interval
test frequency
Defect InjCrv_DebLimDef_C
detection time
Duration of InjCrv_DebLimOk_C
healing time

Dfp-table 2: Dfp_InjCrv_InjLim_mp.MIN
Defect If the number of required injections exceeds the number of maximum possible injections
detection predetermined by the quantity balance of the high pressure pump HPUn_numInjQntBal, an error
is detected.
Healing When a condition for error detection is not met
Substitute Limiting the number of injections to HPUn_numInjQntBal, further substitute functions applicable
function using DSM_InhDfp_InjCrv_InjLim_C
Test condition according to the set interval
test frequency

19.3.2002 injcrv_co.fm
- 284 - InjCrv_Co Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Injection co-ordinator DS/ESM

Defect InjCrv_DebLimDef_C
detection time
Duration of InjCrv_DebLimOk_C
healing time

Dfp-table 3: Dfp_InjCrv_InjLim_mp.SIG
Defect If the number of required injections exceeds the number of maximum possible injections based on
detection the system resources InjCrv_numInjMaxSys, an error is detected.
Healing When a condition for error detection is not met
Substitute Limiting the number of injections to InjCrv_numInjMaxSys, further substitute functions
function applicable using DSM_InhDfp_InjCrv_InjLim_C
Test condition according to the set interval
test frequency
Defect InjCrv_DebLimDef_C
detection time
Duration of InjCrv_DebLimOk_C
healing time

ECU initialization • The output message InjCrv_stInjCharSetVal is initialized with an active main injection.
• The number of injections determined by the system InjCrv_numInjMaxSys_C is supplied system-wide in

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
the message InjCrv_numInjMaxSys.

Output values InjCrv_numInjMaxSys: max. allowed number of injections dependent on system requirements
[-] <UBYTE> --->
InjCrv_stInjCharPrio: priority state for deactivation of injections [-] <ULONG> --->
InjCrv_stInjCharSetVal: injection characteristic set value (engine speed synchronous) [-
] <UBYTE> --->

Input values CoEng_stTst: State of engine test coordinator (= active test mode) [-] <UBYTE> --->
EGT_st: Regeneration request of exhaust gas treatment (engine speed synchronous) [-]
<ULONG> --->
EGT_tiRgn: time since last change of EGT_st (n-sync) [s] <ULONG> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
Eng_tEng: engine temperature [deg C] <SWORD> --->
HPUn_numInjQntBal: max. number of injections based on the quantity balance of the high
pressure pump [-] <UBYTE> --->
IATSCD_tAir: intake air temperature [deg C] <SWORD> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->
InjVlv_numInjChrgBal_mp: max. number of injections based on the charge balance of the
booster capacitor [-] <UBYTE> --->

Measuring points Dfp_InjCrv_InjLim_mp: Measurement point for fault path Dfp_InjCrv_InjLim [-] <UWORD> --->
InjCrv_numInjDes_mp: desired number of injections per cycle [-] <UBYTE> --->
InjCrv_numInjLim_mp: legal number of injections [-] <UBYTE> --->
InjCrv_stInjCharDes_mp: desired injection characteristic [-] <UBYTE> --->
InjCrv_stPiIRlsOpRng_mp: current operation range for release of pilot injections [-]
<UBYTE> --->
InjCrv_stPiIRlsStruct_mp: release structure of pilot injections [-] <UBYTE> --->

Application parameters InjCrv_DebLimDef_C: error debounce time for limitation of number of injections<value> --->
InjCrv_DebLimOk_C: healing debounce time for limitation of number of injections<value> -
-->
InjCrv_numInjMaxSys_C: max. allowed number of injections dependent on system
requirements<value> --->
InjCrv_rOpRngATSHys_C: intake air temperature hysteresis value for to determine the
operation range<value> --->
InjCrv_rOpRngETSHys_C: engine temperature hysteresis value for to determine the operation
range<value> --->
InjCrv_rPiIRlsEngSpdHys_C: engine speed hysteresis threshold for to select the PiI release
structure<value> --->
InjCrv_rPiIRlsQntHys_C: quantity hysteresis threshold for to select the PiI release
structure<value> --->
InjCrv_stInjCharPrio_C: priority state for to switch of injections<value> --->
InjCrv_stInjCharPrioRgn_C: priority state for to switch of injections in regeneration
mode<value> --->
InjCrv_stPiIRlsOpRng1_MAP: release map in operating range 1<map_individual> --->
InjCrv_stPiIRlsOpRng2_MAP: release map in operating range 2<map_individual> --->
InjCrv_stPiIRlsOpRng3_MAP: release map in operating range 3<map_individual> --->
InjCrv_stPiIRlsOpRng4_MAP: release map in operating range 4<map_individual> --->
InjCrv_stPiIRlsOpRng5_MAP: release map in operating range 5<map_individual> --->
InjCrv_stRlsOpRngThres_MAP: operation range thresholds for release of pilot
injections<map_individual> --->
InjCrv_stRlsOpRngThresRgn_MAP: operation range tresholds for release of pilot injections
in regeneration mode<map_individual> --->
InjCrv_stRlsRgnMsk_C: bitmask for activation of release map in regeneration mode<value>
--->
Rail_stRgnMsk_C: Bitmask for activation of rail pressure setpoint regeneration mode<value>
--->

injcrv_co.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_SetTiPse - 285 -
DS/ESM Calculating the minimum time between 2 injections Veh-DrvTrn-Eng-InjCtl-InjCrv

Calculating the minimum time between 2 injections (InjCrv_SetTiPse)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Functional overview The function calculates the minimum time between 2 injections InjCrv_tiPse. Based on the hardware
configuration, the message InjCrv_tiPse :
• is either set to InjCrv_tiPause_C (CY331 or CY332)
• or recalculated every 100ms (CY332 with special wiring and special TPU code)
fixed or measured minimum time between 2 injections
= f(switch for selecting fixed or measured minimum time between 2 injections,
rapid deletion time,
physically determined minimum time between 2 injections,
safety distance between 2 injections)
Figure 317 : Calculation of the minimum time between 2 injections InjCrv_tiPse - overview
In jC r v _ s w tT iP s e V a l_ C

In jC r v _ tiF s tD c y _ m p
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

C a lc u la tio n o f
In jC r v _ tiP a u s e _ C In jC r v _ tiP s e
m in im u m tim e
P
b e tw e e n 2 in je c tio n s

In jC r v _ tiS a fD s t_ C
P

A c c o r d in g to B o s c h s ta n d a r d in jc r v _ s e ttip s e _ 1 0 0 .d s f

Functional description In normal operation, the calculation of the minimum time between 2 injections InjCrv_tiPse is based on the
application value InjCrv_swtTiPseVal_C (see “Calculation of the minimum time between 2 injections
InjCrv_tiPse” on page 285). Two modes must be taken into consideration.
Caution: The set mode is determined during initialization.
Figure 318 : Calculation of the minimum time between 2 injections InjCrv_tiPse

In jC r v _ tiF ltF s tD c y In c P T 1 _ C

in jc r v _ s e ttip s e _ 1 .d s f
P

In jC r v _ tiF ltF s tD c y D e c P T 1 _ C
P

In jC r v _ s w tT iP s e V a l_ C
D T P
In jC r v _ tiF s tD c y _ m p

In jC r v _ tiP a u s e _ C
P
In jC r v _ tiP s e

D T 1

s tP T 1 F lt
In jC r v _ tiS a fD s t_ C
P

InjCrv_swtTiPseVal_C == INJCRV_TIPSE_CONST When the application value InjCrv_swtTiPseVal_C is equal to INJCRV_TIPSE_CONST (0), the message
(0) InjCrv_tiPse is set to the applicable value InjCrv_tiPause_C.
CY331 or CY332 hardware is sufficient for this mode.
InjCrv_swtTiPseVal_C == INJCRV_TIPSE_UPD (1) When the application value InjCrv_swtTiPseVal_C is equal to INJCRV_TIPSE_UPD (1), the message
InjCrv_tiPse is recalculated every 100ms. This message InjCrv_tiPse is produced by adding a safety
distance InjCrv_tiSafDst_C to the PT1 filtered minimum time. The PT1 filter parameter is based on rapid
deletion times InjCrv_tiFstDcy_mp(t) and InjCrv_tiFstDcy_mp(t-100ms) (see “PT1 filter parameter” on
page 285).
Table 102: PT1 filter parameter
Rapid deletion time comparison PT1 filter parameter
InjCrv_tiFstDcy_mp(t-100ms) < InjCrv_tiFstDcy_mp(t) InjCrv_tiFltFstDcyIncPT1_C
InjCrv_tiFstDcy_mp(t-100ms) > InjCrv_tiFstDcy_mp(t) InjCrv_tiFltFstDcyDecPT1_C

For this mode to be possible, a CY332 with special wiring and special TPU code must be used.

ECU initialization The message InjCrv_tiPse is set to the application value InjCrv_tiPause_C. The PT1 filter is initialized to
InjCrv_tiPause_C.

Output values InjCrv_tiPse: constant or measured minimum time between 2 injections [us] <SWORD> --->

Measuring points InjCrv_tiFstDcy_mp: fast decay time [us] <SLONG> --->

Application parameters InjCrv_swtTiPseVal_C: switch between constant and measured minimum time between 2
injections<value> --->
InjCrv_tiFltFstDcyDecPT1_C: time delay for filtering the minimum time between 2 injections
in case of falling fast decay time<value> --->
InjCrv_tiFltFstDcyIncPT1_C: time delay for filtering the minimum time between 2 injections
by rising time<value> --->
InjCrv_tiPause_C: physically determined minimum time between 2 injections<value> --->
InjCrv_tiSafDst_C: constant safety offset to be added to measured fast decay time<value>
--->

19.3.2002 injcrv_settipse.fm
- 286 - InjCrv_SetTiPse Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Calculating the minimum time between 2 injections DS/ESM

Additional information
Note 1: Please note the hardware configuration of the control unit + TPU code (starting with
B_TPU_EDC16C_xxx.1.10.1).

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

injcrv_settipse.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_QntMinLib - 287 -
DS/ESM Minimum injection quantity Veh-DrvTrn-Eng-InjCtl-InjCrv

Minimum injection quantity (InjCrv_QntMinLib)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Functional overview The purpose of the InjCrv_QntMin function is to determine the minimum representable quantities of an
injection. The InjCrv_QntPiI1MinWvCor function is used to determine the minimum representable
quantity of pilot injection 1 with an active pilot injection 2 and an active pressure wave correction.
Figure 319 : Minimum injection quantity - overview

in je c tio n ty p e

r a il p r e s s u r e

d is ta n c e b e tw e e n
in je c tio n s M in im u m q u a n tity o u tp u t q u a n tity

c a lc u la tio n
c o r r e c tio n fa c to r

in jc r v _ q n tm in lib _ 1 0 0 .d s f
in p u t q u a n tity

A c c o r d in g to B o s c h s ta n d a r d
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Functional description
InjCrv_QntMin The InjCrv_QntMin function determines the minimum injection quantity. This quantity is calculated based on
the map InjCrv_qMin_MAP. The map is based on the rail pressure RailCD_pPeak and a time differential
which is corrected by a factor. All calling functions access the map InjCrv_qMin_MAP.
Figure 320 : InjCrv_QntMin function
s ta te n o t u s e d
( a lw a y s th e s a m e m a p w ill b e s e le c te d )

p P e a k P

q O u t
tiD iff

fa c W v C o r In jC r v _ q M in _ M A P in jc r v _ q n tm in lib _ 1 .d s f

InjCrv_QntPiI1MinWvCor The InjCrv_QntPiI1MinWvCor function calculates the minimum quantity of pilot injection 1 based on pilot
injection 2.
If PiI2 is inactive, input quantity 1 is returned.
When PiI2 is active, the minimum quantity for PiI1 is calculated based on the time differential between the
end of PiI2 and the beginning of PiI1, a correction factor and the rail pressure, using the “InjCrv_QntMin” on
page 287 function. The result is displayed in the measuring point InjCrv_qPiI1MinWv_mp. From this
calculated quantity and input quantity 2, the maximum is selected (InjCrv_qPiI1SetLimWv_mp) and
returned.
Figure 321 : InjCrv_QntPiI1MinWvCor function

s tP iI2 ( B it 0 )

IN J C R V _ S T P II1 M IN W V C O R (2 ) s ta te
p P e a k p P e a k
q O u t In jC r v _ q P iI1 M in W v _ m p
tiD iff tiD iff In jC r v _ q P iI1 S e tL im W v _ m p
M X q O u t
fa c W v C o r fa c W v C o r

In jC r v _ Q n tM in
q In 2

q In 1 in jc r v _ q n tm in lib _ 2 .d s f

ECU initialization All values are initialized with zero.

Measuring points InjCrv_qPiI1MinWv_mp: Minimum quantity of PiI1 with wave correction [mm^3/inj] <SWORD> -
-->
InjCrv_qPiI1SetLimWv_mp: Limited minimum quantity of PiI1 with wave correction [mm^3/inj]
<SWORD> --->

Application parameters InjCrv_qMin_MAP: Map for minimum quantity calculation of an injection<map_individual> --->

19.3.2002 injcrv_qntminlib.fm
- 288 - InjCrv_CtlQnt Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Control quantities DS/ESM

Control quantities (InjCrv_CtlQnt)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview The control quantity required by the system is computed in this function:
Lambda control quantity: For the lambda control quantity, all injection quantities which have a known and
reproducible effect on the lambda probe signal are added up. If injections, whose effect on the lambda probe
signal is not known, are active, this is revealed by status bits.
Total injection quantity: For the total injection quantity, all fuel quantities which are introduced to the
combustion chamber are added up.
Figure 322 : Control quantities - overview

C o E n g _ s tS h u tO ffP a th

In jC r v _ q M I1 D e s
In jC r v _ q L m b d C tl
In jC r v _ q P iI1 D e s

In jC r v _ q P iI2 D e s C o n tro l

In jC r v _ q P iI3 D e s q u a n titie s
In jC r v _ q T o t
In jC r v _ q P o I2 D e s

In jC r v _ q P o I1 D e s

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
A c c o r d in g to B o s c h s ta n d a r d
in jc r v _ c tlq n t_ 1 0 0 .d s f

Functional description
Formation of the control quantities The lambda control quantity is formed from the total of the main injection quantity InjCrv_qMI1Des, pilot
injection quantities InjCrv_qPiI1Des, InjCrv_qPiI2Des and InjCrv_qPiI3Des and the accumulated post
injection quantity InjCrv_qPoI2Des. For the total injection quantity InjCrv_qTot, the accumulated post
injection quantity InjCrv_qPoI1Des is also added in. Should the shut-off co-ordinator (see “Shut-off
coordinator (CoEng_Mon)” on page 197) set the energizing time
CoEng_stShutOffPath.COENG_PATH_ET_ZERO (bit 0) for all injections to zero, or if the request to shut
off the injection stages CoEng_stShutOffPath.COENG_PATH_INJ_VALVE_OFF (bit 8) is set, no more fuel
is injected and all control quantities become 0.
Figure 323 : Formation of the control quantities

C o E n g _ s tS h u tO ffP a th .C O E N G _ P A T H _ E T _ Z E R O ( B it 0 )

>= 1

C o E n g _ s tS h u tO ffP a th .C O E N G _ P A T H _ IN J _ V A L V E _ O F F ( B it 8 )

In jC r v _ q M I1 D e s
In jC r v _ q L m b d C tl

In jC r v _ q P iI1 D e s

In jC r v _ q P iI2 D e s

In jC r v _ q P iI3 D e s In jC r v _ q T o t

in jc r v _ c tlq n t_ 1 .d s f
In jC r v _ q P o I2 D e s

In jC r v _ q P o I1 D e s

Monitoring the formation of the lambda control When post injection 1 is active, the status bit InjCrv_stLmbdCtl.0 indicates that the correlation between
quantity injection quantities and the lambda probe signal is now no longer definable. Here the allocations displayed
in table 1 are applicable.
Table 103: Assignment of InjCrv_stLmbdCtl
Bit no. Value Meaning
0 0 Effect of InjCrv_qLmbdCtl on lambda signal unknown
1 Effect of InjCrv_qLmbdCtl on lambda signal known.
1 - vacant
2 - vacant
3 - vacant
4 - vacant
5 - vacant
6 - vacant
7 - vacant

Figure 324 : Lambda control quantity release status


c tlq n t 2 .d s f

In jC r v _ s tIn jC h a r A c tV a l.IN J C R V _ P O I1 ( B it 0 ) In jC r v _ s tL m b d C tl.IN J C R V _ S T L M B D C T L _ P O I1 ( B it 0 )


!
in jc r v

ECU initialization Values InjCrv_qLmbdCtl, InjCrv_stLmbdCtl and InjCrv_qTot are initialized with zero.

Output values InjCrv_qLmbdCtl: lambda control quantity [mm^3/cyc] <SWORD> --->


InjCrv_qTot: total injection quantity [mm^3/cyc] <SWORD> --->
InjCrv_stLmbdCtl: lambda control quantity release status [-] <UBYTE> --->

injcrv_ctlqnt.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_CtlQnt - 289 -
DS/ESM Control quantities Veh-DrvTrn-Eng-InjCtl-InjCrv

Input values CoEng_stShutOffPath: active shut-off paths resulting from active reversible,
irreversible, and afterrun shut-off paths [-] <ULONG> --->
InjCrv_qMI1Des: setpoint quantity for main injection [mm^3/inj] <SWORD> --->
InjCrv_qPiI1Des: desired injection quantity for PiI 1 [mm^3/inj] <SWORD> --->
InjCrv_qPiI2Des: desired injection quantity for PiI2 [mm^3/inj] <SWORD> --->
InjCrv_qPoI1Des: desired PoI1 injection quantity [mm^3/inj] <SWORD> --->
InjCrv_qPoI2Des: post injection 2 setpoint quantity [mm^3/inj] <SWORD> --->
njCrv_qPiI3Des: Pilot injection 3 setpoint quantity
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 injcrv_ctlqnt.fm
- 290 - InjCrv_PiI Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Pilot injection 1 DS/ESM

4.5.3.1 Pilot injection 1 (InjCrv_PiI)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Overview of the component Pilot injection1 (PiI 1) is carried out prior to the main injection.
By shortening the combustion delay the pilot injection only indirectly effects the engine torque supply. For an
overview of the injections and a more accurate description of the function see “Injections of a Common Rail
system” on page 278
Figure 325 : PiI quantity and start of energizing - overview

E s tE T

E G T _ tiR g n

E G T _ s tD e l

E G T _ s t

In jC tl_ s tIn jC h a r S e tV a l

In jC tl_ q S e tU n B a l

E n g _ n A v rg In jC r v _ q P iI1 D e s
Q u a n tity c a lc u la tio n

In jC r v _ p h iP iI1 E T S C o r _ m p In jC r v _ q P iI1 E n v C o r
In jC r v _ P iI1 E n v C o r P h i

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
In jC r v _ tiP iI1 E T S C o r _ m p
In jC r v _ P iI1 E n v C o r T i

In jC r v _ fa c P iI1 A T S Q C o r In jC r v _ P iI1 E n v C o r

In jC r v _ fa c P iI1 E T S Q C o r
In jC r v _ p h iP iI1 E n v C o r
In jC r v _ P iI1 E n v C o r S lo w
In jC r v _ fa c P iI1 A P S Q C o r
In jC r v _ tiP iI1 E n v C o r
In jC r v _ fa c P iI1 E T S S O E C o r

In jC r v _ q P iI1 A d d C o r
In jC r v _ p h iP iI1 D e s
In jC r v _ p h iP iI1 A d d C o r
In jC r v _ P iI1 A d d C o r
In jC r v _ tiP iI1 A d d C o r

s ta r t o f e n e r g iz in g c a lc u la tio n
In jC r v _ p h iP iI1 B a s _ m p
In jC r v _ P iI1 S O E P h iB a s
In jC r v _ tiP iI1 D e s

In jC r v _ tiP iI1 B a s _ m p
In jC r v _ P iI1 S O E T iB a s

In jC r v _ q P iI1 R g n

In jC r v _ p h iP iI1 R g n
In jC r v _ P iI1 R g n
In jC r v _ tiP iI1 R g n

in jc r v _ p ii_ 1 0 0 .d s f
A c c o r d in g to B o s c h s ta n d a r d

Structure of the component The calculation of pilot injection 1 is divided into 3 parts:
• Calculating the injection quantity
• Calculating the start of energizing
• Checking the conditions for releasing the PiI.
Release of pilot injection 1 Depending on various conditions, pilot injection 1 is either released or inhibited. The internal release status
is displayed by bit field InjCrv_stPiI1_mp.
Figure 326 : PiI1 release status

In jC r v _ s tIn jC h a r A c tV a l.IN J C R V _ P II1 ( 4 )


&
in jc r v _ p ii_ 2 .d s f

7 6 5 4 3 2 1 0

In jC r v _ s tP iI1 _ m p

All release conditions are represented downwards from the bit with the highest value. The logical AND
operation for all individual conditions is contained in the bit with the lowest value. If this bit is set, all conditions
are met and an injection can take place. This information is also entered in the current injection characteristic
InjCrv_stInjCharActVal (bit 4). The assignment of the individual bits is described in the table below.
Table 104: Allocation of release status word InjCrv_stPiI1_mp
Initial value Bit no. Description
PiI1
off 0 Indicator, pilot injection active
on 1 not in use
on 2 not in use
on 3 Injection quantity > applicatively adjustable shut-off threshold
on 4 Maximum start of energizing > minimum start of energizing
on 5 MI residual quantity not below minimum
on 6 Energizing time does not fall below minimum
on 7 Request from the injection co-ordinator, InjCrv_stInjCharSetVal.4 = 1 (see
“Injection co-ordinator (InjCrv_Co)” on page 280) and release by the
redundant start EngM_stInjCharSetVal.5 == 1 (see “Engine speed
evaluation after test injection (CrS_ChkStrtSpd)” on page 560)

injcrv_pii.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI - 291 -
DS/ESM Pilot injection 1 Veh-DrvTrn-Eng-InjCtl-InjCrv

Activating the regeneration operation Pilot injection 1 is switched to its regeneration value by a request from the exhaust gas aftertreatment system.
The “InjCrv_PiIRgnActv function” on page 308 evaluates the EGT_st and EGT_tiRgn messages received and
returns a value of InjCrv_PiI1RgnVal_mp. This value is a standard of measure for the degree of activation
of the exhaust gas treatment.
Figure 327 : Activating the regeneration operation

E G T _ s t
s tE G T
In jC r v _ P iI1 R g n V a l_ m p
P iI1 R g n V a l
E G T _ tiR g n tiR g n

In jC r v _ P iI1 R g n A c tv in jc r v _ p ii1 4 .d s f

Quantity calculation for pilot injection 1


Calculating the setpoint quantities The pilot injection 1 fuel injection quantity is calculated based on the engine operating point. The basic value
is calculated from the basic map InjCrv_qPiI1Bas_MAP. The correction quantity InjCrv_qPiI1EnvCor,
based on coolant temperature, intake air temperature and atmospheric pressure (see “Calculating the
correction value for the quantity of pilot injection 1” on page 298), is added to this basic value. A customer
related additive correction InjCrv_qPiI1AddCor can also be included (see “Calculating customer specific
corrections for pilot injection 1 (InjCrv_PiIAddCor)” on page 304).
The corrected quantity InjCrv_qPiI1Set_mp is limited by the maximum quantity based on the engine
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

operating point InjCrv_qPiI1Max_mp.


If there is a request from the exhaust gas aftertreatment system (see “Activating the regeneration operation”
on page 291), the limited quantity is switched to the regeneration value InjCrv_qPiI1Rgn (see
“Regeneration values for pilot injection 1 (InjCrv_PiI1Rgn)” on page 307) by the “InjCrv_PiI1RgnSwtQ
function” on page 308. The delayed status of the exhaust treatment system EGT_stDel and the mask
InjCrv_stPiI1RgnDelMsk_C are used to prevent a calculation of the base value.
The minimum quantity InjCrv_qPiIMin_mp is independent of the exhaust gas aftertreatment system and is
therefore determined next by the “InjCrv_QntMin” on page 287 function. The minimum quantity is identical
for all pilot injections PiI1, PiI2 and PiI3.
The PiI1 fuel quantity is further processed by the “InjCrv_QntPiI1MinWvCor” on page 287 function.
To estimate the energizing time of the next cylinder (see “Release of pilot injection 1 based on the energizing
time” on page 292), the difference between quantities InjCrv_qPiI1SetLim_mp and
InjCrv_qPiI1SetLim0_mp is formed and temporarily stored in InjCrv_qPiI1DiffLstCyl_mp.
It is possible to shut off the pilot injection by applying the factor InjCrv_facPiI1QntMin_C. For this, the
minimum injection quantity of the pilot injection is multiplied by the factor and compared to the calculated
injection quantity of the relative pilot injection. If the calculated quantity is less ,the injection is inhibited by
status info InjCrv_stPiI1_mp.PII_QNTMIN_OK(3).
If the pilot injection is not released (see “Release of pilot injection 1” on page 290), zero is output for its
desired quantity InjCrv_qPiI1Des.
Figure 328 : Quantity calculation for pilot injection 1

R a ilC D _ p P e a k d is a b le P iI1 :
p P e a k In jC r v _ s tP iI1 _ m p .0 = = 0
In jC r v _ tiP iI2 P iI1 _ m p
tiD iff
In jV lv _ fa c F T S W v C o r
fa c W v C o r In jC r v _ q P iI1 S e tL im _ m p
In jC r v _ s tIn jC h a r A c tV a l.IN J C R V _ P II2 ( 5 ) q O u t In jC r v _ q P iI1 D e s
s tP iI2

IN J C R V _ S T P IIM IN 0 (1 ) q In 2
s ta te
R a ilC D _ p P e a k q In 1
p P e a k In jC r v _ q P iIM in _ m p
q O u t In jC r v _ q P iI1 D iffL s tC y l_ m p
IN J T IM E _ U S _ Z E R O (0 ) In jC r v _ Q n tP iI1 M in W v C o r
tiD iff
F A C T _ Z E R O (0 ) fa c W v C o r

In jC r v _ Q n tM in
E G T _ s tD e l
B IT
In jC r v _ s tP iI1 R g n D e lM s k _ C A N D
P

E n g _ n A v rg P

In jC r v _ q P iI1 M a x _ m p
In jC tl_ q S e tU n B a l

In jC r v _ q P iI1 M a x _ M A P In jC r v _ q P iI1 S e tL im 0 _ m p
P

In jC r v _ q P iI1 B a s _ m p M N

In jC r v _ q P iI1 B a s _ M A P
In jC r v _ q P iI1 E n v C o r In jC r v _ q P iI1 S e t_ m p
in jc r v _ p ii_ 6 .d s f

q N o rm a l
In jC r v _ q P iI1 A d d C o r
M X
In jC r v _ q P iI1 R g n q O u t
q R g n
In jC r v _ q P iI1 S e tL im M a x _ m p
In jC r v _ P iI1 R g n V a l_ m p
R g n V a l
In jC r v _ s tP iI1 _ m p .P II_ Q N T M IN _ O K ( 3 )
In jC r v _ P iI1 R g n S w tQ

In jC r v _ fa c P iI1 Q n tM in _ C
P

Checking the quantities A calculation is made from the current quantity InjCtl_qSetUnBal and the setpoint quantity for pilot injection
1 InjCrv_qPiI1SetLim_mp to determine whether the fuel quantity is sufficient for the injection released. For
this, the minimum quantity for the main injection MI1 is computed based on the “InjCrv_QntMin” on page 287
function. If the remaining quantity is less than the required minimum InjCrv_qMI1MinPiI1_mp, the release
bit InjCrv_stPiI1_mp.5 is first deleted, thus inhibiting pilot injection PiI1.

19.3.2002 injcrv_pii.fm
- 292 - InjCrv_PiI Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Pilot injection 1 DS/ESM

Figure 329 : Checking the fuel quantities of pilot injection 1


In jC tl_ q S e tU n B a l

In jC r v _ q P iI1 S e tL im _ m p

IN J C R V _ S T M I1 M IN P II1 (3 ) s ta te
R a ilC D _ p P e a k In jC r v _ s tP iI1 _ m p .P II_ Q U A N T IT Y _ O K ( 5 )
p P e a k
q O u t In jC r v _ q M I1 M in P iI1 _ m p
In jC r v _ tiP iI1 M I1 tiD iff
In jV lv _ fa c F T S W v C o r fa c W v C o r
in jc r v _ p ii_ 1 5 .d s f
In jC r v _ Q n tM in
Release of pilot injection 1 based on the energizing The energizing time of PiI1 is estimated by the InjVCD_estET function (see “Estimating the energizing time
time (InjVCD_EstET)” on page 700).
To accomplish this, the difference InjCrv_qPiI1DiffLstCyl_mp from the previous cylinder is added to the
calculated quantity InjCrv_qPiI1SetLim0_mp . Next, the correction quantity of the wave correction from the
least cylinder is added to the calculation. This quantity is converted to the InjUn_volPiI1CorCycvolume and
added to the InjUn_volPiI1CorLstCyc [%] volume (sum of the volumes from the injector quantity
adjustment and the fuel balancing compensation from the same cylinder in the previous cycle, see “Pilot
injection 1 injection volume” on page 597). This volume (InjCrv_volPiI1Cor_mp) is used to estimate the

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
energizing time.
Besides the energizing time, the function also returns a status which indicates whether the injection can be
carried out.
In order to calculate the PiI2 start of energizing accurately, the energizing time must be estimated without the
influence of a correction. For this reason, the above mentioned calculation process is repeated without the
correction values. The calculated volume can be seen in InjCrv_volPiI1NoCor_mp and the calculated
energizing time in InjCrv_tiPiI1ETNoCor_mp.
Figure 330 : Release of pilot injection 1 based on the energizing time

IN J V C D _ P iI1 _ E S T E T ( 0 )

F lS y s _ r h o F l s ta te
In jC r v _ s tP iI1 _ m p .E T _ S U F F IC IE N T ( 6 )
R a ilC D _ p P e a k In jC r v _ v o P iII1 _ m p In jC r v _ v o P iII1 C o r _ m p s ta te
v o lIn
In jC r v _ tP iII1 E T _ m p
In jC r v _ q P iI1 S e tL im 0 _ m p tiO u t
p P e a k
n o t u s e d
In jU n _ M a s s C n v tiO u tn o C o r
In jC r v _ q P iI1 D iffL s tC y l_ m p

In jV lv _ q P iI1 W v C o r _ m p

In jU n _ v o lP iI1 C o r C y c [E n g M _ n u m T D C - 1 ]

R a ilC D _ p P e a k

E n g M _ n u m T D C
n u m T D C
E n g M _ n u m C y l
n u m C y l

In jV C D _ E s tE T
IN J V C D _ P iI1 _ E S T E T ( 0 )

F lS y s _ r h o F l s ta te
n o t u s e d
R a ilC D _ p P e a k In jC r v _ v o P iII1 n o C o r _ m p s ta te
v o lIn
n o t u s e d
In jC r v _ q P iI1 S e tL im 0 _ m p tiO u t
p P e a k
In jC r v _ tP iI1 E T n o C o r _ m p
R a ilC D _ p P e a k In jU n _ M a s s C n v tiO u tn o C o r

E n g M _ n u m T D C
n u m T D C
E n g M _ n u m C y l
n u m C y l
in jc r v _ p ii_ 8 .d s f
In jV C D _ E s tE T

Pilot injection 1 start of energizing Since the injections PiI1, PiI2 and MI are close together and are subject to time dependency, start of
energizing of these injections can be represented in terms of angle and/or time. The selected operating mode
cannot be altered after programming has been finished.
The 3 possible representations differ in the following points:
Angular system The start of energizing of the pilot injections is represented as an angle. The base value for the start of
energizing angle component InjCrv_phiPiI1Bas_mp is calculated relative to the subsequent injections in a
map (see “Basic value of angular component for the start of energising pilot injection 1
(InjCrv_PiI1SOEPhiBas)” on page 296). The basic value of time component InjCrv_tiPiI1Bas_mp and the
associated corrections remain zero.
Time system The start of energizing of the pilot injections is represented as time. The basic value of the start of energizing
angular component InjCrv_tiPiI1Bas_mp is calculated from a map in relation to the following injection (see
“Basic value of start of energising time component for pilot injection 1 (InjCrv_PiI1SOETiBas)” on page 297).
The basic value of time component InjCrv_phiPiI1Bas_mp and the associated corrections remain zero.

injcrv_pii.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI - 293 -
DS/ESM Pilot injection 1 Veh-DrvTrn-Eng-InjCtl-InjCrv

Angular/time system The start of energizing of the pilot injections is represented as a combination of angular and time
components. The basic value for time component InjCrv_tiPiI1Bas_mp and the basic value for angular
component InjCrv_phiPiI1Bas_mp are calculated from a map in relation to the following injection (see
“Basic value of start of energising time component for pilot injection 1 (InjCrv_PiI1SOETiBas)” on page 297
and “Basic value of angular component for the start of energising pilot injection 1 (InjCrv_PiI1SOEPhiBas)”
on page 296). The resulting PiI1 start of energizing is produced by the combination of the angular and time
components.
Pilot injection 1 start of energizing
Figure 331 : Pilot injection 1 start of energizing
In jC r v _ tiP iI1 R e lT o t_ m p d is a b le P iI1 :
E G T _ s tD e l
In jC r v _ s tP iI1 _ m p .P II_ A C T IV E ( 0 ) = = 0

in jc r v _ p ii_ 1 0 .d s f
B IT
In jC r v _ s tP iI1 R g n D e lM s k _ C A N D
In jC r v _ p h iP iIM a x _ C
P

E n g _ n A v rg In jC r v _ p h iP iI1 A b s T o t_ m p

3 6 0 ° * m in / ( 6 * 1 0 ^ 7 µ s )

In jC r v _ p h iP iI1 C o r _ m p

In jC r v _ p h iP iI1 B a s _ m p p h iO u t In jC r v _ p h iP iI1 A b s _ m p
In jC r v _ p h iP iI1 R e l_ m p
p h iN o r m a l
In jC r v _ p h iP iI1 E n v C o r In jC r v _ p h iP iI1 D e s

In jC r v _ p h iP iI1 A d d C o r
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

In jC r v _ p h iP iI1 R g n
p h iR g n
In jC r v _ tiP iI1 C o r _ m p In jC r v _ s tIn jD s tS e l_ C .0
= = 1 In jC r v _ tiP iI1 R e l_ m p
In jC r v _ tiP iI1 R e lM I1 _ m p
In jC r v _ tiP iI1 B a s _ m p
tiN o r m a l tiO u t In jC r v _ tiP iIM a x _ C
In jC r v _ tiP iI1 E n v C o r P

M N
In jC r v _ tiP iI1 A d d C o r In jC r v _ tiP iI1 D e s

In jC r v _ tiP iI1 R g n
tiR g n
In jC r v _ P iI1 R g n V a l_ m p
R g n V a l
>= 1
In jC r v _ tiP iI1 T o t_ m p
In jC r v _ P iI1 R g n S w tS O E
In jC r v _ tiP iI1 E T _ m p ! In jC r v _ tiP iI1 H y d _ m p

In jC r v _ tiP s e
P

In jC r v _ tiP iI1 E T N o C o r _ m p

In jC r v _ s tP iI1 _ m p
In jC r v _ p h iM I1 D e s .P II_ S O E _ O K (4 )
& !
In jC r v _ tiP iI1 M I1

Start of energizing PiI1 is determined from a basic map relative to the start of energizing the MI (see “Basic
value of angular component for the start of energising pilot injection 1 (InjCrv_PiI1SOEPhiBas)” on page 296
or see “Basic value of start of energising time component for pilot injection 1 (InjCrv_PiI1SOETiBas)” on page
297 ).
Corrections from various environmental conditions InjCrv_phiPiI1EnvCor and InjCrv_tiPiI1EnvCor
(see “Calculating the correction values for pilot injection 1 start of energizing” on page 298) as well as a
customer related correction InjCrv_phiPiI1AddCor and InjCrv_tiPiI1AddCor (see “Calculating customer
specific corrections for pilot injection 1 (InjCrv_PiIAddCor)” on page 304) are added for the angular and time
components.
If the basic value of the time component is to be applied between the end of the pilot injection and the start
of the following injection, (InjCrv_stInjDstSel_C.0 == 1), the energizing time of the injection
InjCrv_tiPiI1ET_mp (see “Release of pilot injection 1 based on the energizing time” on page 292) must be
added to the corrected base value. In this case, a PiI1 start of energizing (InjCrv_tiPiI1Hyd_mp) which
doesn’t have any corrections in the estimation of the energizing time is computed for the calculation of the
PiI2 start of energizing. In the event that one of the injection limits has been infringed, InjCrv_tiPiI1Hyd_mp
indicates the same value as InjCrv_tiPiI1Des.
If there is a request from the exhaust gas treatment system, the corrected basic values
InjCrv_phiPiI1Cor_mp and InjCrv_tiPiI1Cor_mp are switched by the “InjCrv_PiI1RgnSwtSOE function”
on page 308 to regeneration values InjCrv_phiPiI1Rgn and InjCrv_tiPiI1Rgn (see “Regeneration values
for pilot injection 1 (InjCrv_PiI1Rgn)” on page 307). The delayed status of the exhaust treatment system
EGT_stDel and the mask InjCrv_stPiI1RgnDelMsk_C are used to prevent a calculation of the base values.
The minimum time interval InjCrv_tiPiI1Tot_mp (= latest start of energizing) relative to the main injection
results from adding the energizing time InjCrv_tiPiI1ET_mp to a fixed or measured pause time
InjCrv_tiPse (see “Calculating the minimum time between 2 injections (InjCrv_SetTiPse)” on page 285).
If the calculated total energizing start time interval InjCrv_tiPiI1RelTot_mp (time component + time value
of the angular component) is less than InjCrv_tiPiI1Tot_mp, the start of energizing time component is
shifted forward to the minimum interval InjCrv_tiPiI1Tot_mp and the angular component is set to zero.
Thus the resulting start of energizing interval is equal to the minimum time interval. Before the output, the
time component is limited to the maximum value InjCrv_tiPiIMax_C determined by the hardware.
In order to get the absolute start of energizing relative to the current TDC InjCrv_phiPiI1Abs_mp, the start
of energizing angle of the last main injection InjCrv_phiMI1Des is added to the angular component of the
PiI1start of energizing interval.
The earliest start of energizing angle is expressed absolutely and is derived from InjCrv_phiPiIMax_C. If
the resulting total absolute start of energizing angle InjCrv_phiPiI1AbsTot_mp (angle component + time
component angle value) lies before the earliest start of energizing, the start of energizing angle component
is pushed back to this earliest value and the time component is set to zero.

19.3.2002 injcrv_pii.fm
- 294 - InjCrv_PiI Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Pilot injection 1 DS/ESM

The distance between the end of pilot injection 1 and the beginning of the main injection is calculated for the
time component. For this, the estimated energizing time InjCrv_tiPiI1ET_mp is subtracted from the relative
distance and the result is output to InjCrv_tiPiI1MI1.
If the latest start of energizing is before the earliest possible start of energizing, the injection can no longer
be carried out and is inhibited (InjCrv_stPiI1_mp.4 == 0). If PiI1 is inhibited (InjCrv_stPiI1_mp.0 == 0,
see “Release of pilot injection 1” on page 290), zero is output for the start of energizing.
The correlation between specific times and angles is explained in the following diagram.
Figure 332 : Structure of PiI1 start of energizing

T D C

in jc r v _ p ii_ 1 2 .d s f
In jC r v _ tiP iI1 R e l_ m p In jC r v _ p h iP iI1 R e l_ m p In jC r v _ p h iM I1 D e s

P iI1 M I

t, p h i
la te s t S O E ( r e la tiv e to M I)
( In jC r v _ tiP iI1 E T _ m p + In jC r v _ tiP s e )

In jC r v _ tiP iI1 D e s In jC r v _ p h iP iI1 D e s

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
S O E o f P iI1

e a r lie s t S O E ( r e la tiv e to T D C )
( In jC r v _ p h iP iIM a x _ C )

ECU initialization - All output values are initialized with "0".

Output values InjCrv_phiPiI1Des: desired angle component for PiI1 start of energising [deg CrS] <SWORD>
--->
InjCrv_qPiI1Des: desired injection quantity for PiI 1 [mm^3/inj] <SWORD> --->
InjCrv_stInjCharActVal: injection characteristic actual value [-] <UBYTE> --->
InjCrv_tiPiI1Des: desired time component for PiI1 start of energising [us] <SWORD> --->
InjCrv_tiPiI1Hyd_mp: time component of PiI1 start of energising for calculation of PiI2
start of energising [us] <SWORD> --->
InjCrv_tiPiI1MI1: time between end of PiI1 and begin of MI1 [us] <SWORD> --->

Input values EGT_st: Regeneration request of exhaust gas treatment (engine speed synchronous) [-]
<ULONG> --->
EGT_stDel: delayed regeneration request of exhaust gas treatment (engine speed
synchronous) [-] <ULONG> --->
EGT_tiRgn: time since last change of EGT_st (n-sync) [s] <ULONG> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
EngM_stInjCharSetVal: shows the state of the allowed injections [-] <UBYTE> --->
InjCrv_phiMI1Des: desired reference angle for begin of MI1 [deg CrS] <SWORD> --->
InjCrv_phiPiI1AddCor: customer specific correction angle for Pii1 [deg CrS] <SWORD> --->
InjCrv_phiPiI1EnvCor: correction angle for pilot injection 1 [deg CrS] <SWORD> --->
InjCrv_phiPiI1Rgn: regeneration value for PiI1 start of energising angle component [deg
CrS] <SWORD> --->
InjCrv_qPiI1AddCor: customer specific correction quantity PiI1 [mm^3/inj] <SWORD> --->
InjCrv_qPiI1EnvCor: correction quantity for pilot injection 1 [mm^3/inj] <SWORD> --->
InjCrv_qPiI1Rgn: regeneration value for PiI1 injection quantity [mm^3/inj] <SWORD> --->
InjCrv_stInjCharSetVal: injection characteristic set value (engine speed synchronous) [-
] <UBYTE> --->
InjCrv_tiPiI1AddCor: customer specific correction time for PiI1 [us] <SWORD> --->
InjCrv_tiPiI1EnvCor: correction time for PiI1 [us] <SWORD> --->
InjCrv_tiPiI1Rgn: regeneration value for PiI1 start of energising time component [us]
<SWORD> --->
InjCrv_tiPse: constant or measured minimum time between 2 injections [us] <SWORD> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->
InjUn_volPiI1CorCyc: cylinder specific correction volume of FBC and quantity adjustment
for PiI1 [mm^3/inj] <SWORD> --->
InjVlv_facFTSWvCor: pressure wave correction factor depending on fuel temperature [-]
<SWORD> --->
InjVlv_qPiI1WvCor_mp: pressure wave correction quantity of PiI1 [mm^3/inj] <SWORD> --->
RailCD_pPeak: maximum rail pressure of last 10ms [hPa] <SWORD> --->

Measuring points InjCrv_phiPiI1Abs_mp: absolute angle component for PiI1 start of energising [deg CrS]
<SWORD> --->
InjCrv_phiPiI1AbsTot_mp: absolute PiI1 start of energising from angle and time component
[deg CrS] <SWORD> --->
InjCrv_phiPiI1Cor_mp: corrected PiI1 start of energising angle component base value [deg
CrS] <SWORD> --->
InjCrv_phiPiI1Rel_mp: PiI1 start of energising angle component relative to the MI [deg
CrS] <SWORD> --->
InjCrv_PiI1RgnVal_mp: activation value for PiI1 release via the exhaust gas aftertreatment
system [-] <ULONG> --->
InjCrv_qPiI1Bas_mp: injection quantity PiI1 base value [mm^3/inj] <SWORD> --->
InjCrv_qPiI1DiffLstCyl_mp: difference quantity between desired quantity and minimum

injcrv_pii.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI - 295 -
DS/ESM Pilot injection 1 Veh-DrvTrn-Eng-InjCtl-InjCrv

quantity calculated by wave correction [mm^3/inj] <SWORD> --->


InjCrv_qPiI1Max_mp: maxixmum PiI1 injection quantity [mm^3/inj] <SWORD> --->
InjCrv_qPiI1Set_mp: PiI1 injection quantity set value [mm^3/inj] <SWORD> --->
InjCrv_qPiI1SetLim0_mp: limited set injection quantity of PiI1 without Pii2 influence
[mm^3/inj] <SWORD> --->
InjCrv_qPiI1SetLim_mp: limited set injection quantity of PiI1 [mm^3/inj] <SWORD> --->
InjCrv_qPiI1SetLimMax_mp: limited maximum set injection quantity of Pii1 [mm^3/inj]
<SWORD> --->
InjCrv_qPiIMin_mp: minimum injection quantity of an pilot injection, without wave
correction [mm^3/inj] <SWORD> --->
InjCrv_stPiI1_mp: release state of PiI1 [-] <UBYTE> --->
InjCrv_tiPiI1Cor_mp: corrected PiI1 start of energising time component base value [us]
<SWORD> --->
InjCrv_tiPiI1ET_mp: estimated PiI1 energising time [us] <SWORD> --->
InjCrv_tiPiI1ETNoCor_mp: estimated PiI1 energising time without corrections [us] <SWORD>
--->
InjCrv_tiPiI1Rel_mp: PiI1 start of energising time component relative to the MI [us]
<SWORD> --->
InjCrv_tiPiI1RelMI1_mp: time component limited SOE of PiI1 relativ to MI1 [us] <SWORD> -
-->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

InjCrv_tiPiI1RelTot_mp: SOE distance PiI1 out of angle- and timecomponent [us] <SWORD> -
-->
InjCrv_tiPiI1Tot_mp: total energising time of PiI1 [us] <SWORD> --->
InjCrv_volPiI1_mp: limited injection volume PiI1 [mm^3/inj] <SWORD> --->
InjCrv_volPiI1Cor_mp: injection volume with corrections for estimation of energising time
of PiI1 [mm^3/inj] <SWORD> --->
InjCrv_volPiI1NoCor_mp: injection volume without corrections for estimation of energising
time of PiI1 [mm^3/inj] <SWORD> --->

Application parameters InjCrv_facPiI1QntMin_C: factor to switch off PiI1 applicabable if injection quantity is
too low<value> --->
InjCrv_phiPiIMax_C: absolute earliest SOE of any PiI<value> --->
InjCrv_qPiI1Bas_MAP: injection quantity PiI1 base value map<map_individual> --->
InjCrv_qPiI1Max_MAP: PiI1 injection quantity maximum value map<map_individual> --->
InjCrv_stInjDstSel_C: status of interpretation of relative time distances between
inejctions<value> --->
InjCrv_stPiI1RgnDelMsk_C: mask for deactivation of PiI1 base value calculation in
regeneration mode<value> --->
InjCrv_tiPiIMax_C: maximum PiI time component determined by the hardware<value> --->

Additional information Important: The calculation of the quantities and the start of energizing is based on the respective release
status. If no release has been given, zero is output to the corresponding measuring points.

19.3.2002 injcrv_pii.fm
- 296 - InjCrv_PiI1SOEPhiBas Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Basic value of angular component for the start of energising pilot DS/ESM

Basic value of angular component for the start of energising pilot injection 1 (InjCrv_PiI1SOEPhiBas)
CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview The basic value of the angular component for the PiI1 start of energizing is calculated relative to the main
injection start of energizing.
Formation of the injection characteristic is represented in the time system. Therefore, zero is returned as the
basic value of the relative angular component for the PiI1 start of energizing (InjCrv_phiPiI1Bas_mp).

Functional description

Measuring points InjCrv_phiPiI1Bas_mp: angle component SOE PIi1 base value [deg CrS] <SWORD> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

injcrv_pii1soephibas.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI1SOETiBas - 297 -
DS/ESM Basic value of start of energising time component for pilot injection Veh-DrvTrn-Eng-InjCtl-InjCrv

Basic value of start of energising time component for pilot injection 1 (InjCrv_PiI1SOETiBas)
CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Functional overview The basic value of the time component for the start of energizing PiI1 is calculated in relation to the start of
energizing of the main injection.
Figure 333 : Basic value of time component for pilot injection 1 start of energizing - overview

In jC r v _ s tIn jC h a r A c tV a l
T im e c o m p o n e n t
E n g _ n A v rg In jC r v _ tiP iI1 B a s _ m p
b a s ic v a lu e o f
In jC tl_ q S e tU n B a l
p ilo t in je c tio n 1

in jc r v _ p ii1 s o e tib a s _ 1 0 0 .d s f
A c c o r d in g to B o s c h s ta n d a r d

Functional description Depending on the engine operating point (Eng_nAvrg, InjCtl_qSetUnBal) the basic value of the relative
time component for the PiI1 start of energizing is determined. If the second pilot injection PiI2 is disabled
(InjCrv_stPiI2_mp.0 == 0,) (see “Release of pilot injection 1” on page 290) the basic value is calculated
from the map InjCrv_tiPiI1Bas1_MAP. If PiI2 is active, the basic value is calculated from the map
InjCrv_tiPiI1Bas2_MAP. In the event that a PiI3 is implemented and activated, the basic value is calculated
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

from the map InjCrv_tiPiI1Bas3_MAP. The calculated value is the time component of the distance from the
main injection start of energizing.
Figure 334 : Basic value of the relative time component for the PiI1 start of energizing
In jC r v _ s tIn jC h a r A c tV a l.IN J C R V _ P II3 ( 6 ) = = 1

in jc r v _ p ii1 s o e b a s .d s f
in jc r v _ p ii1 s o e tib a s
In jC r v _ s tIn jC h a r A c tV a l.IN J C R V _ P II2 ( 5 ) = = 1

E n g _ n A v rg P

In jC tl_ q S e tU n B a l

In jC r v _ tiP iI1 B a s 1 _ M A P
P

In jC r v _ tiP iI1 B a s _ m p

In jC r v _ tiP iI1 B a s 2 _ M A P
P

In jC r v _ tiP iI1 B a s 3 _ M A P

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


InjCrv_stInjCharActVal: injection characteristic actual value [-] <UBYTE> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

Measuring points InjCrv_tiPiI1Bas_mp: PiI1 start of energising time component base value [us] <SWORD> --->

Application parameters InjCrv_tiPiI1Bas1_MAP: time component SOE PiI1 base value map without PiI2<map_individual>
--->
InjCrv_tiPiI1Bas2_MAP: time component SOE PiI1 base value map with PiI2<map_individual>
--->
InjCrv_tiPiI1Bas3_MAP: time component SOE PiI1 base value map with PiI3<map_individual>
--->

19.3.2002 injcrv_pii1soetibas.fm
- 298 - InjCrv_PiIEnvCor Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Calculating the correction values for pilot injection 1 DS/ESM

Calculating the correction values for pilot injection 1 (InjCrv_PiIEnvCor)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview Calculation of pilot injection 1 is based on the operating point ( = engine speed, injected fuel quantity) and
various environmental conditions. Therefore, corrections in the injection quantity and start of energizing are
necessary.
Figure 335 : Calculating the correction values for pilot injection 1 - overview

E n g _ n A v rg

In jC tl_ q S e tU n B a l In jC r v _ p h iP iI1 E n v C o r

In jC r v _ fa c P iI1 A T S Q C o r

In jC r v _ fa c P iI1 E T S Q C o r
E n v ir o n m e n t In jC r v _ q P iI1 E n v C o r
In jC r v _ fa c P iI1 E T S S O E C o r
c o r r e c tio n s
In jC r v _ P iI1 A P S Q C o r

In jC r v _ p h iP iI1 E T S C o r _ m p In jC r v _ tiP iI1 E n v C o r

In jC r v _ tiP iI1 E T S C o r _ m p

in jc r v _ p iie n v c o r _ 1 0 0 .d s f
A c c o r d in g to B o s c h s ta n d a r d

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Functional description Since operating point and environmental conditions differ considerably in terms of dynamic behaviour, for run
time purposes the correction value calculation is divided into 2 processes.
1. InjCrv_PiIEnvCor: Calculations in the 20ms time slice.
2. InjCrv_PiIEnvCorSlow: Calculations in the 100ms time slice.
The calculation of the 20ms time slice is described below. For calculation of 100ms time slices see
“Calculating the weighting factors for pilot injection 1 (InjCrv_PiIEnvCorSlow)” on page 302.
Calculating the correction value for the quantity of Basic correction values are determined based on the operating point (Eng_nAvrg and InjCtl_qSetUnBal)
pilot injection 1 and on the environmental conditions: intake air temperature, atmospheric pressure and engine temperature.
For each environmental condition a correction quantity is calculated (InjCrv_qPiI1ATSCor_mp,
InjCrv_qPiI1ETSCor_mp and InjCrv_qPiI1APSCor_mp) by multiplying by weighting factors
(InjCrv_facPiI1ATSQCor, InjCrv_facPiI1APSQCor and InjCrv_facPiI1ETSQCor). The sum of the
individual values amounts to the correction quantity InjCrv_qPiI1EnvCor.
Figure 336 : Calculating the correction value for the pilot injection quantity

E n g _ n A v rg P

In jC r v _ q P iI1 A T S C o r _ m p In jC r v _ q P iI1 E n v C o r
In jC tl_ q S e tU n B a l

In jC r v _ q P iI1 A T S C o r _ M A P
In jC r v _ fa c P iI1 A T S Q C o r

In jC r v _ q P iI1 E T S C o r _ m p

In jC r v _ q P iI1 E T S C o r _ M A P
In jC r v _ fa c P iI1 E T S Q C o r

In jC r v _ q P iI1 A P S C o r _ m p

In jC r v _ q P iI1 A P S C o r _ M A P
In jC r v _ fa c P iI1 A P S Q C o r
in jc r v _ p iie n v c o r _ 1 .d s f

Calculating the correction values for pilot injection To correct the start of energizing, basic correction values InjCrv_phiPiI1ETSCor_mp and
1 start of energizing InjCrv_tiPiI1ETSCor_mp are determined based on the engine operation point (see “Basic correction value
for the PiI1 start of energising angular component (InjCrv_PiIEnvCorPhi)” on page 300 and see “Basic
correction value for PiI1 start of energising time component (InjCrv_PiIEnvCorTi)” on page 301). These
values are multiplied by the weighting factor InjCrv_facPiI1ETSSOECor. The resulting values are start of
energizing correction values InjCrv_phiPiI1EnvCor andInjCrv_tiPiI1EnvCor.
Figure 337 : Calculating the values for correcting the pilot injection start of energizing
In jC r v _ tiP iI1 E T S C o r _ m p In jC r v _ tiP iI1 E n v C o r

In jC r v _ p h iP iI1 E T S C o r _ m p In jC r v _ p h iP iI1 E n v C o r

In jC r v _ fa c P iI1 E T S S O E C o r
in jc r v _ p iie n v c o r _ 3 .d s f

ECU initialization All factors are initialized with "1.0", additive correction values with "0".

Output values InjCrv_phiPiI1EnvCor: correction angle for pilot injection 1 [deg CrS] <SWORD> --->
InjCrv_qPiI1EnvCor: correction quantity for pilot injection 1 [mm^3/inj] <SWORD> --->
InjCrv_tiPiI1EnvCor: correction time for PiI1 [us] <SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


InjCrv_facPiI1APSQCor: quantity correction value for pilot injection 1 dependent on
atmospheric pressure [-] <SWORD> --->
InjCrv_facPiI1ATSQCor: quantity correction value for pilot injection 1 dependent on intake

injcrv_piienvcor.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiIEnvCor - 299 -
DS/ESM Calculating the correction values for pilot injection 1 Veh-DrvTrn-Eng-InjCtl-InjCrv

air temperatur [-] <SWORD> --->


InjCrv_facPiI1ETSQCor: quantity correction value for pilot injection 1 dependent on engine
temperature [-] <SWORD> --->
InjCrv_facPiI1ETSSOECor: start of energising correction factor for PiI1 based on engine
temperature [-] <SWORD> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

Measuring points InjCrv_qPiI1APSCor_mp: correction quantity for pilot injection 1 dependent on atmospheric
pressure [mm^3/inj] <SWORD> --->
InjCrv_qPiI1ATSCor_mp: correction quantity for pilot injection 1 dependent on intake air
temperature [mm^3/inj] <SWORD> --->
InjCrv_qPiI1ETSCor_mp: correction quantity for pilot injection 1 dependent on engine
temperature [mm^3/inj] <SWORD> --->

Application parameters InjCrv_qPiI1APSCor_MAP: quantity correction map for pilot injection 1 dependent on
atmospheric pressure<map_individual> --->
InjCrv_qPiI1ATSCor_MAP: quantity correction map for pilot injection 1 dependent on intake
air temperature<map_individual> --->
InjCrv_qPiI1ETSCor_MAP: quantity correction map for pilot injection 1 dependent on engine
temperature<map_individual> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 injcrv_piienvcor.fm
- 300 - InjCrv_PiIEnvCorPhi Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Basic correction value for the PiI1 start of energising angular com- DS/ESM

Basic correction value for the PiI1 start of energising angular component (InjCrv_PiIEnvCorPhi)
CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview The basic correction value of the angular component for the PiI start of energizing is calculated based on the
engine temperature.
Formation of the injection characteristic is represented in the time system. Therefore, zero is issued for the
PiI1 start of energizing angular component basic correction values InjCrv_phiPiI1ETSCor_mp based on the
engine temperature.

Functional description

Measuring points InjCrv_phiPiI1ETSCor_mp: correction angle for PiI1 start of energising angle component
based on the engine temperature [deg CrS] <SWORD> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

injcrv_piienvcorphi.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiIEnvCorTi - 301 -
DS/ESM Basic correction value for PiI1 start of energising time component Veh-DrvTrn-Eng-InjCtl-InjCrv

Basic correction value for PiI1 start of energising time component (InjCrv_PiIEnvCorTi)
CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Functional overview The basic correction value of the time component for the PiI1 start of energizing is calculated based on the
engine temperature.
Figure 338 : Basic correction value for the PiI1 start of energizing time component - overview

E n g _ n A v rg
S ta r t o f e n e r g is in g
In jC r v _ tiP iI1 E T S C o r _ m p
e n v ir o n m e n t
In jC tl_ q S e tU n B a l
c o r r e c tio n

A c c o r d in g to B o s c h s ta n d a r d in jc r v _ p iie n v c o r ti_ 1 0 0 .d s f

Functional description Depending on the engine operating point (Eng_nAvrg, InjCtl_qSetUnBal), the basic correction values
InjCrv_tiPiI1ETSCor_mp of the time component for the PiI1 start of energizing is retrieved from the map
InjCrv_tiPiI1ETSCor_MAP based on the engine temperature.
Figure 339 : Basic correction value for the start of energizing time component
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

P
E n g _ n A v rg
In jC r v _ tiP iI1 E T S C o r _ m p
In jC tl_ q S e tU n B a l

In jC r v _ tiP iI1 E T S C o r _ M A P
in jc r v _ p iie n v c o r ti.d s f

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

Measuring points InjCrv_tiPiI1ETSCor_mp: basic correction value for PiI1 start of egenrgising time
component based on engine temperature [us] <SWORD> --->

Application parameters InjCrv_tiPiI1ETSCor_MAP: correction base value map for time component SOE PiI1 dependent
on engine temperature<map_individual> --->

19.3.2002 injcrv_piienvcorti.fm
- 302 - InjCrv_PiIEnvCorSlow Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Calculating the weighting factors for pilot injection 1 DS/ESM

Calculating the weighting factors for pilot injection 1 (InjCrv_PiIEnvCorSlow)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview Calculation of pilot injection 1 is based on the operating point ( = engine speed, injected fuel quantity) and
various environmental conditions. Therefore, a correction of the calculated injection values is necessary.
Figure 340 : Calculating the weighting factors for pilot injection 1 - overview

In jC r v _ fa c P iI1 A T S Q C o r
IA T S C D _ tA ir
F a c to rs fo r In jC r v _ fa c P iI1 E T S Q C o r
E n g _ tE n g
e n v ir o n m e n t In jC r v _ fa c P iI1 A P S Q C o r
A P S C D _ p V a l
c o r r e c tio n s In jC r v _ fa c P iI1 E T S S O E C o r

A c c o r d in g to B o s c h s ta n d a r d in jc r v _ p iie n v c o r s lo w _ 1 0 0 .d s f

Functional description Since operating point and environmental conditions differ considerably in terms of dynamic behaviour, for run
time purposes the correction value calculation is divided into 2 processes.
1. InjCrv_EnvCor: Calculations in the 20ms time slice.
2. InjCrv_EnvCorSlow: Calculations in the 100ms time slice.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Calculation in the 100ms time slice is described below. For calculation of the 20ms time slice see “Calculating
the correction values for pilot injection 1 (InjCrv_PiIEnvCor)” on page 298
Calculating the weighting factors for pilot injection Based on the environmental conditions: intake air temperature, atmospheric pressure and motor
1 quantity correction temperature, weighting factors InjCrv_facPiI1ATSQCor, InjCrv_facPiI1ETSQCor and
InjCrv_facPiI1APSQCor are calculated for the quantity correction. Each environmental condition has its
own curve (InjCrv_facPiI1ATSQCor_CUR, InjCrv_facPiI1ETSQCor_CUR and
InjCrv_facPiI1APSQCor_CUR). In the event that the second or third pilot injection has been released by the
injection co-ordinator (see “Injection co-ordinator (InjCrv_Co)” on page 280), the software switches to curves
InjCrv_facPiI1ATSQCor2_CUR, InjCrv_facPiI1ETSQCor2_CUR and InjCrv_facPiI1APSQCor2_CUR.
Since the dynamic behaviour of the environmental conditions is sluggish, 100ms time slice calculations
suffice.
Figure 341 : Weighting factor calculation for pilot injection quantity correction
In jC r v _ s tIn jC h a r S e tV a l.IN J C R V _ P II2 ( 5 ) = = 1
In jC r v _ s tIn jC h a r S e tV a l.IN J C R V _ P II3 ( 6 ) = = 1 >= 1

IA T S C D _ tA ir

In jC r v _ fa c P iI1 A T S Q C o r
In jC r v _ fa c P iI1 A T S Q C o r _ C U R
P

In jC r v _ fa c P iI1 A T S Q C o r 2 _ C U R

E n g _ tE n g

In jC r v _ fa c P iI1 E T S Q C o r
In jC r v _ fa c P iI1 E T S Q C o r _ C U R
P
in jc r v _ p iie n v c o r s lo w _ 1 .d s f

In jC r v _ fa c P iI1 E T S Q C o r 2 _ C U R

A P S C D _ p V a l

In jC r v _ fa c P iI1 A P S Q C o r
In jC r v _ fa c P iI1 A P S Q C o r _ C U R
P

In jC r v _ fa c P iI1 A P S Q C o r 2 _ C U R
Weighting factor calculation for start of energizing The weighting factor for the start of energizing angle correction InjCrv_facPiI1ETSSOECor is calculated
correction of pilot injection 1 based on the engine temperature. Pilot injection 1 has its own curve (InjCrv_facPiI1ETSSOECor_CUR).
Since the dynamic behaviour of the engine temperature is sluggish, 100ms time slice calculations suffice.
Figure 342 : Calculating the weighting factor for the pilot injection 1 angle correction
P

E n g _ tE n g In jC r v _ fa c P iI1 E T S S O E C o r

In jC r v _ fa c P iI1 E T S S O E C o r _ C U R in jc r v _ p iie n v c o r s lo w _ 3 .d s f

ECU initialization All factors are initialized with "1.0", additive correction values with "0".

Output values InjCrv_facPiI1APSQCor: quantity correction value for pilot injection 1 dependent on
atmospheric pressure [-] <SWORD> --->
InjCrv_facPiI1ATSQCor: quantity correction value for pilot injection 1 dependent on intake
air temperatur [-] <SWORD> --->
InjCrv_facPiI1ETSQCor: quantity correction value for pilot injection 1 dependent on engine

injcrv_piienvcorslow.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiIEnvCorSlow - 303 -
DS/ESM Calculating the weighting factors for pilot injection 1 Veh-DrvTrn-Eng-InjCtl-InjCrv

temperature [-] <SWORD> --->


InjCrv_facPiI1ETSSOECor: start of energising correction factor for PiI1 based on engine
temperature [-] <SWORD> --->

Input values APSCD_pVal: atmospheric pressure [hPa] <SWORD> --->


Eng_tEng: engine temperature [deg C] <SWORD> --->
IATSCD_tAir: intake air temperature [deg C] <SWORD> --->
InjCrv_stInjCharSetVal: injection characteristic set value (engine speed synchronous) [-
] <UBYTE> --->

Application parameters InjCrv_facPiI1APSQCor2_CUR: quantity correction curve for pilot injection 1 dependent on
atmospheric pressure if PiI2 or PiI3 is active<curve_individual> --->
InjCrv_facPiI1APSQCor_CUR: quantity correction curve for pilot injection 1 dependent on
atmospheric pressure<curve_individual> --->
InjCrv_facPiI1ATSQCor2_CUR: quantity correction curve for pilot injection 1 dependent on
intake air temperature if PiI2 or PiI3 is active<curve_individual> --->
InjCrv_facPiI1ATSQCor_CUR: quantity correction curve for pilot injection 1 dependent on
intake air temperature<curve_individual> --->
InjCrv_facPiI1ETSQCor2_CUR: quantity correction curve for pilot injection 1 dependent on
engine temperature if PiI2 or PiI3 is active<curve_individual> --->
InjCrv_facPiI1ETSQCor_CUR: quantity correction curve for pilot injection 1 dependent on
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

engine temperature<curve_individual> --->


InjCrv_facPiI1ETSSOECor_CUR: start of energising correction curve for PiI1 based on the
engine temperature<curve_individual> --->

19.3.2002 injcrv_piienvcorslow.fm
- 304 - InjCrv_PiIAddCor Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Calculating customer specific corrections for pilot injection 1 DS/ESM

Calculating customer specific corrections for pilot injection 1 (InjCrv_PiIAddCor)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview Calculation of customer specific correction values for the pilot injection
No modification of initialized values.

Functional description The customer specific additive corrections for pilot injection 1 are calculated as follows:
1. Start of energizing correction is taken from map InjCrv_tiPiI1TrnCor_MAP as a function of engine
speed Eng_nAvrg and unbalanced injection quantity InjCtl_qSetUnBal and can be displayed as
InjCrv_tiPiI1TrnCor_mp. It is corrected with a multiplication factor InjCrv_factiPiI1TrnCor_mp
taken from InjCrv_factiPiI1TrnCor_CUR as a function of rail pressure setpoint difference value
Rail_pDeltaSetPoint. The corrected value is displayed as InjCrv_tiPiI1AddCor_mp, subsequently
limited by InjCrv_tiPiI1TrnCorMin_C and InjCrv_tiPiI1TrnCorMax_C and transmitted via the
message InjCrv_tiPiI1AddCor.
2. Quantity correction is applied similar to the function above where the base correction value is taken from
a map InjCrv_qPiI1TrnCor_MAP as a function of engine speed Eng_nAvrg and unbalanced injection
quantity InjCtl_qSetUnBal and can be displayed as InjCrv_qPiI1TrnCor_mp. It is corrected with a
multiplication factor InjCrv_facqPiI1TrnCor_mp taken from InjCrv_facqPiI1TrnCor_CUR as a function
of rail pressure setpoint difference value Rail_pDeltaSetPoint. The corrected value is displayed as
InjCrv_qPiI1AddCor_mp, subsequently limited by InjCrv_qPiI1TrnCorMin_C and
InjCrv_qPiI1TrnCorMax_C and transmitted via the message InjCrv_qPiI1AddCor.
Figure 343 : PiI1 start of energizing correction

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
In jC r v _ tiP iI1 T r n C o r M a x _ C
P

In jC r v _ tiP iI1 T r n C o r M in _ C
P

E n g _ n A v rg P

In jC r v _ tiP iI1 T r n C o r _ m p In jC r v _ tiP iI1 A d d C o r _ m p In jC r v _ tiP iI1 A d d C o r


In jC tl_ q S e tU n B a l

In jC r v _ tiP iI1 T r n C o r _ M A P

in jc r v _ p iia d d c o r _ 1 .d s f
P

R a il_ p D e lta S e tP o in t In jC r v _ fa c tiP iI1 T r n C o r _ m p

In jC r v _ fa c tiP iI1 T r n C o r _ C U R
Eng_nAvrgInjCrv_factiPI1TrnCor_CURInjCrv_factiP I1TrnCo_rmpInjCrv_tiPI1AdCornI jCrv_tiPI1Ad Cor_mpInjCrv_tiPI1TrnCo_rMAPInjCrv_tiPI1TrnCor_mpInjCrv_tiP I1TrnCorMax_CInjCrv_tiPI 1TrnCorMin_CInjCtl_qSetUnBalRi _pDeltaSetPoint

Figure 344 : PiI1 quantity correction


In jC r v _ q P iI1 T r n C o r M a x _ C
P

In jC r v _ q P iI1 T r n C o r M in _ C
P

E n g _ n A v rg P

In jC r v _ q P iI1 T r n C o r _ m p In jC r v _ q P iI1 A d d C o r _ m p In jC r v _ q P iI1 A d d C o r


In jC tl_ q S e tU n B a l

In jC r v _ q P iI1 T r n C o r _ M A P

in jc r v _ p iia d d c o r _ 2 .d s f
P

R a il_ p D e lta S e tP o in t In jC r v _ fa c q P iI1 T r n C o r _ m p

In jC r v _ fa c q P iI1 T r n C o r _ C U R
Eng_nAvrgInjCrv_facqPiI1TrnCor_CURInjCrv_facqPi I1TrnCo_rmpInjCrv_qPiI1AdCornI jCrv_qPiI1Ad Cor_mpInjCrv_qPiI1TrnCo_rMAPInjCrv_qPiI1TrnCor_mpInjCrv_qPi I1TrnCorMax_CInjCrv_qPiI 1TrnCorMin_CInjCtl_qSetUnBlRai _pDeltaSetPoint

ECU initialization Correction values InjCrv_qPiI1AddCor, InjCrv_phiPiI1AddCor and InjCrv_tiPiI1AddCor are initialized
with their default value "0".

Output values InjCrv_qPiI1AddCor: customer specific correction quantity PiI1 [mm^3/inj] <SWORD> --->
InjCrv_tiPiI1AddCor: customer specific correction time for PiI1 [us] <SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->
Rail_pDeltaSetPoint: limited rail pressure setpoint transient correction difference value
[hPa] <SWORD> --->

Measuring points InjCrv_facqPiI1TrnCor_mp: PiI1 correction quantity factor for SoE [-] <SWORD> --->
InjCrv_factiPiI1TrnCor_mp: PiI1 correction time factor for SoE [-] <SWORD> --->
InjCrv_qPiI1AddCor_mp: PiI1 unlimited correction quantity for SoE [mm^3/inj] <SWORD> --->
InjCrv_qPiI1TrnCor_mp: PiI1 unscaled correction quantity for SoE [mm^3/inj] <SWORD> --->
InjCrv_tiPiI1AddCor_mp: Chosen customer specific correction time for pilot injection 1
[us] <SWORD> --->
InjCrv_tiPiI1TrnCor_mp: PiI1 unscaled correction time for SoE [us] <SWORD> --->

Application parameters InjCrv_facqPiI1TrnCor_CUR: transient quantity correction factor curve of


PiI1<curve_individual> --->
InjCrv_factiPiI1TrnCor_CUR: transient time correction factor curve of
PiI1<curve_individual> --->
InjCrv_qPiI1TrnCor_MAP: transient quantity correction map of PiI1<map_individual> --->
InjCrv_qPiI1TrnCorMax_C: largest quantity correction of PiI1<value> --->
InjCrv_qPiI1TrnCorMin_C: smallest quantity correction of PiI1<value> --->
InjCrv_tiPiI1TrnCor_MAP: transient time correction map of PiI1<map_individual> --->
InjCrv_tiPiI1TrnCorMax_C: earliest SOE correction of PiI1<value> --->
InjCrv_tiPiI1TrnCorMin_C: latest SOE correction of PiI1<value> --->

injcrv_piiaddcor.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiIAddCorPhi - 305 -
DS/ESM Customer related basic correction value for PiI start of energising Veh-DrvTrn-Eng-InjCtl-InjCrv

Customer related basic correction value for PiI start of energising angular component (InjCrv_PiIAddCorPhi)
CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Functional overview Calculating the customer related basic correction values of the pilot injection 2 start of energising angular
component.

Functional description No calculations are made.


© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 injcrv_piiaddcorphi.fm
- 306 - InjCrv_PiIAddCorTi Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Customer related basic correction value of PiI start of energising DS/ESM

Customer related basic correction value of PiI start of energising time component (InjCrv_PiIAddCorTi)
CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview Calculating the customer related basic correction values of the pilot injection 1 start of energising time
component.

Functional description No calculations are made.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

injcrv_piiaddcorti.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI1Rgn - 307 -
DS/ESM Regeneration values for pilot injection 1 Veh-DrvTrn-Eng_InjCtl_InjCrv

Regeneration values for pilot injection 1 (InjCrv_PiI1Rgn)


CARTONIC-Sturcture:VehD-rvTrnE-ng_InjCtl_InjCrv

Functional overview For operating a particle filter/DNOX-catalyst it is necessary to switch to other base values for the calculation
of PiI1. These base values are calculated here.

Functional description The output variables InjCrv_qPiI1Rgn, InjCrv_phiPiI1Rgn and InjCrv_tiPiI1Rgn are calculated using
the maps InjCrv_qPiI1Rgn_MAP, InjCrv_tiPiI1Rgn_MAP or are set to “0”.
Figure 345 : Calculation of the regeneration values

E n g _ n A v rg P

In jC r v _ tiP il1 R g n
In jC tl_ q S e tU n B a l

In jC r v _ tiP iI1 R g n _ M A P

E n g _ n A v rg P

In jC r v _ q P il1 R g n

In jC r v _ P iI1 R g n _ 1 .d s f
In jC tl_ q S e tU n B a l

In jC r v _ q P iI1 R g n _ M A P

0 In jC r v _ p h iP il1 R g n
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

I njCrv_phiPil1RgnEng_nAvrgInjCrv_qPiI1Rgn_MAPInjCr_vqPil1RgnI jCr_vtiPI1Rgn_MAPInjCrv_tiPl 1RgnI jCtl_qSetUnBal

ECU initialization Output values InjCrv_qPiI1Rgn, InjCrv_phiPiI1Rgn and InjCrv_tiPiI1Rgn are initialized with “0”.

Output values InjCrv_phiPiI1Rgn: regeneration value for PiI1 start of energising angle component [deg
CrS] <SWORD> --->
InjCrv_qPiI1Rgn: regeneration value for PiI1 injection quantity [mm^3/inj] <SWORD> --->
InjCrv_tiPiI1Rgn: regeneration value for PiI1 start of energising time component [us]
<SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

Application parameters InjCrv_qPiI1Rgn_MAP: Map for injection quantity PiI1 in regeneration mode<map_individual>
--->
InjCrv_tiPiI1Rgn_MAP: base map of PiI1 SOE time-component calculation<map_individual> --
->

19.3.2002 injcrv_piirgn.fm
- 308 - InjCrv_PiIRgnLib Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Function library for the PiI1 regeneration operation DS/ESM

Function library for the PiI1 regeneration operation (InjCrv_PiIRgnLib)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview These functions are provided to guarantee a secure switchover of PiI1 from normal to regeneration mode
and vice versa.
Figure 346 : Function library for the PiI1 regeneration operation - overview

q P iI1 R g n
R e g e n e r a tio n
In jC r v _ q P iI1 S e t_ m p q O u t
ra m p fo r

q u a n tity
E G T _ s t

In jC r v _ d tP iI1 R g n R m p U p _ C
P
R e g e n e r a tio n In jC r v _ P iI1 R g n V a l_ m p
In jC r v _ d tP iI1 R g n R m p D o w n _ C
P
v a lu e
In jC r v _ s tP iIR g n M s k _ C
P

In jC r v _ p h iP iI1 R g n In jC r v _ p h iP iI1 R e l_ m p
R e g e n e r a tio n
In jC r v _ p h iP iI1 C o r _ m p
ra m p fo r
In jC r v _ tiP iI1 R g n In jC r v _ tiP iI1 R e l_ m p

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
S O E
In jC r v _ tiP iI1 C o r _ m p

in jc r v _ p iir g n lib _ 1 0 0 .d s f
A c c o r d in g to B o s c h s ta n d a r d

Functional description
InjCrv_PiIRgnActv function In the message EGT_st.0...30 the current EGT activation states are set (see “Regeneration coordinator for
exhaust-gas treatment (EGT_CoRgn)” on page 439). Regeneration operation for the various activation states
can be selected via the InjCrv_stPiI1RgnMsk_C mask. If at least one of the selected bits in EGT_st is set,
the regeneration operation is activated for PiI1. The activation factor for the regeneration operation is
calculated via a ramp. At EGT_st.EGT_RMP_END (bit 31) == 1) the system jumps directly to the end of the
ramp, thus bringing the ramp itself to the end. If the regeneration operation for PiI1 is not active, a value of
"0" is returned. The ramp slopes can be adjusted by InjCrv_dtiPiI1RgnRmpUp_C and
InjCrv_dtiPiI1RgnRmpDwn_C.
The time since the regeneration operation EGT_tiRgn is not required for the common rail basic function.
Figure 347 : Activating the regeneration operation of PiI1

E G T _ s t.3 1

in jc r v _ p iir g n lib _ 1 .d s f
In jC r v _ d tiP iI1 R g n R m p U p _ C
In jC r v _ d tiP iI1 R g n R m p D w n _ C
P

p a ra m
E G T _ s t.0 ....3 0 R A M P
x y In jC r v _ P iI1 R g n V a l_ m p
B it F U N C T .
In jC r v _ s tP iI1 R g n M s k _ C .0 ....3 0 A n d
P
e n d
T 0 ix
0
0

InjCrv_PiI1RgnSwtQ function This function switches between the basic value of the injection quantity and the regeneration value
InjCrv_qPiI1Rgn. It produces an interpolation between both values. The activation value
InjCrv_PiI1RgnVal_mp indicates the part of the regeneration value in the output value
InjCrv_qPiI1Set_mp as a number between 0 and 1.
Figure 348 : Switching the PiI1 injection quantity to its regeneration value

( R g n V a l) In jC r v _ P iI1 R g n V a l_ m p (q O u t)
in jc r v _ p iir g n lib _ 2 . d s f

(q R g n ) In jC r v _ q P iI1 R g n

( q N o r m a l)

InjCrv_PiI1RgnSwtSOE function This function switches between start of energizing basic values InjCrv_phiPiI1Cor_mp or
InjCrv_tiPiI1Cor_mp and regeneration values InjCrv_phiPiI1Rgn or InjCrv_tiPiI1Rgn. It produces an
interpolation between the respective values. The activation value InjCrv_PiI1RgnVal_mp indicates the part
of the regeneration values in the output values InjCrv_phiPiI1Rel_mp or InjCrv_tiPiI1Rel_mp as a
number between 0 and 1 an.

injcrv_piirgnlib.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiIRgnLib - 309 -
DS/ESM Function library for the PiI1 regeneration operation Veh-DrvTrn-Eng-InjCtl-InjCrv

Figure 349 : Switching the PiI1 start of energizing to its regeneration values

( R g n V a l) In jC r v _ P iI1 R g n V a l_ m p In jC r v _ p h iP iI1 R e l_ m p ( p h iO u t)

( p h iR g n ) In jC r v _ p h iP iI1 R g n

( p h iN o r m a l) In jC r v _ p h iP iI1 C o r _ m p

In jC r v _ tiP iI1 R e l_ m p ( tiO u t)

in jc r v _ p iir g n lib _ 3 .d s f
( tiR g n ) In jC r v _ tiP iI1 R g n

( tiN o r m a l) In jC r v _ tiP iI1 C o r _ m p

Output values InjCrv_phiPiI1Rel_mp: PiI1 start of energising angle component relative to the MI [deg
CrS] <SWORD> --->
InjCrv_PiI1RgnVal_mp: activation value for PiI1 release via the exhaust gas aftertreatment
system [-] <ULONG> --->
InjCrv_qPiI1Set_mp: PiI1 injection quantity set value [mm^3/inj] <SWORD> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

InjCrv_tiPiI1Rel_mp: PiI1 start of energising time component relative to the MI [us]


<SWORD> --->

Input values EGT_st: Regeneration request of exhaust gas treatment (engine speed synchronous) [-]
<ULONG> --->
EGT_tiRgn: time since last change of EGT_st (n-sync) [s] <ULONG> --->
InjCrv_phiPiI1Cor_mp: corrected PiI1 start of energising angle component base value [deg
CrS] <SWORD> --->
InjCrv_phiPiI1Rgn: regeneration value for PiI1 start of energising angle component [deg
CrS] <SWORD> --->
InjCrv_qPiI1Rgn: regeneration value for PiI1 injection quantity [mm^3/inj] <SWORD> --->
InjCrv_tiPiI1Cor_mp: corrected PiI1 start of energising time component base value [us]
<SWORD> --->
InjCrv_tiPiI1Rgn: regeneration value for PiI1 start of energising time component [us]
<SWORD> --->

Application parameters InjCrv_dtiPoI1RgnRmpDwn_C: Negative ramp slope when switching to PoI1 regeneration values
InjCrv_dtiPoI1RgnRmpUp_C: Positive ramp slope when switching to PoI1 regeneration values
InjCrv_stPiI1RgnMsk_C: Mask for activation of regeneration in PiI1<value> --->

19.3.2002 injcrv_piirgnlib.fm
- 310 - InjCrv_PiI2 Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Pilot injection 2 DS/ESM

4.5.3.2 Pilot injection 2 (InjCrv_PiI2)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Overview of the component Pilot injection 2 (PiI2)is used in connection with pilot injection 1 (PiI1) to reduce the occurrence of combustion
noise further. Therefore, PiI2 can only occur in connection with PiI1.
For a breakdown of the injections, see also “Injections of a Common Rail system” on page 278.
Figure 350 : PiI2 quantity and start of energizing - overview

E s tE T

E G T _ tiR g n

E G T _ s tD e l

E G T _ s t

In jC tl_ s tIn jC h a r S e tV a l

In jC tl_ q S e tU n B a l

E n g _ n A v rg
In jC r v _ q P iI2 D e s
Q u a n tity c a lc u la tio n

In jC r v _ p h iP iI2 E T S C o r _ m p In jC r v _ q P iI2 E n v C o r
In jC r v _ P iI2 E n v C o r P h i

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
In jC r v _ tiP iI2 E T S C o r _ m p
In jC r v _ P iI2 E n v C o r T i

In jC r v _ fa c P iI2 A T S Q C o r In jC r v _ P iI2 E n v C o r

In jC r v _ fa c P iI2 E T S Q C o r
In jC r v _ p h iP iI2 E n v C o r
In jC r v _ P iI2 E n v C o r S lo w
In jC r v _ fa c P iI2 A P S Q C o r
In jC r v _ tiP iI2 E n v C o r
In jC r v _ fa c P iI2 E T S S O E C o r

In jC r v _ q P iI2 A d d C o r

In jC r v _ p h iP iI2 A d d C o r In jC r v _ p h iP iI2 D e s
In jC r v _ P iI2 A d d C o r
In jC r v _ tiP iI2 A d d C o r

s ta r t o f e n e r g iz in g c a lc u la tio n
In jC r v _ p h iP iI2 B a s _ m p
In jC r v _ P iI2 S O E P h iB a s

In jC r v _ tiP iI2 D e s
In jC r v _ tiP iI2 B a s _ m p
In jC r v _ P iI2 S O E T iB a s

In jC r v _ q P iI2 R g n

In jC r v _ p h iP iI2 R g n
In jC r v _ P iI2 R g n
In jC r v _ tiP iI2 R g n

in jc r v _ p ii2 _ 1 0 0 .d s f

A c c o r d in g to B o s c h s ta n d a r d

Structure of the component Calculation of the pilot injection is divided into 3 parts:
• Checking the conditions for releasing PiI2.
• Calculating the injection quantity
• Calculating the start of energizing
Release of pilot injection 2 Depending on various conditions, the PiI2 is either released or inhibited. The internal release status is
displayed by bit field InjCrv_stPiI2_mp.
Display of release status:
Figure 351 : PiI2 release status
In jC r v _ s tIn jC h a r A c tV a l.IN J C R V _ P II1 ( 4 )

In jC r v _ s tIn jC h a r A c tV a l.IN J C R V _ P II2 ( 5 )


&

7 6 5 4 3 2 1 0
in jc r v _ p ii2 _ 1 .d s f
In jC r v _ s tP iI2 _ m p

Pilot injection 2 is only released when pilot injection1 is also released


(InjCrv_stInjCharActVal.INJCRV_PII1 == 1). All release conditions are represented downwards from the
bit with the highest value. The logical AND operation for all individual conditions is contained in the bit with
the lowest value. The assignment of the individual bits is described in the table below. If the bit with the lowest
value is set, all conditions are met and an injection can take place. This information is also entered in the
current injection characteristic InjCrv_stInjCharActVal (bit 5):
Table 105: Release status PiI3 (InjCrv_stPiI2_mp)
Initial value Bit no. Description
off 0 Indicator, pilot injection active
on 1 not in use
on 2 not in use
off 3 Injection quantity > applicatively adjustable shut-off threshold
off 4 Maximum start of energizing > minimum start of energizing
off 5 MI residual quantity not below minimum
off 6 Energizing time does not fall below minimum

injcrv_pii2.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI2 - 311 -
DS/ESM Pilot injection 2 Veh-DrvTrn-Eng-InjCtl-InjCrv

Initial value Bit no. Description


off 7 Request from the injection co-ordinator, InjCrv_stInjCharSetVal0,5 == 1 (see
“Injection co-ordinator (InjCrv_Co)” on page 280) and release by the redundant
start EngM_stInjCharSetVal0,5 == 1 (see “Engine speed evaluation after test
injection (CrS_ChkStrtSpd)” on page 560)

Quantity calculation for pilot injection 2 The PiI2 fuel injection quantity is calculated based on the engine operating point. The basic value is
calculated from the basic map InjCrv_qPiI2Bas_MAP. The correction quantity InjCrv_qPiI2EnvCor, based
on engine temperature, intake air temperature and atmospheric pressure (see “Pilot injection 2 correction
value (20ms) (InjCrv_PiI2EnvCor)” on page 317), is added to this basic value. A customer specific additive
correction InjCrv_qPiI2AddCor (see “Customer related corrections for pilot injection 2 (InjCrv_PiI2AddCor)”
on page 323) can also be included.
If there is a request from the exhaust gas aftertreatment system, the calculated injection quantity is switched
to the regeneration value InjCrv_qPiI2Rgn (see “Regeneration values for pilot injection 2 (InjCrv_PiI2Rgn)”
on page 325) by the“InjCrv_PiI2RgnSwtQ function” on page 326. The delayed status of the exhaust
treatment system EGT_stDel and the mask InjCrv_stPiI2RgnDelMsk_C are used to prevent a calculation
of the base value.
The limited setpoint quantity InjCrv_qPiI2SetLim_mp is calculated from the maximum selection of
calculated quantities using the required minimum injection quantity InjCrv_qPiIMin_mp, which is computed
once for all injections in “Quantity calculation for pilot injection 1” on page 291. If the release of PiI2 is not
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

given (InjCrv_stPiI2_mp.PII_ACTIVE (0) == 0) the calculated quantity InjCrv_qPiI2Des is set to 0.


It is possible to shut off the injection by applying the factor InjCrv_facPiI2QntMin_C. For this, the minimum
injection quantity for a pilot injection is multiplied by the factor and compared to the calculated injection
quantity. If the calculated quantity is less ,the injection is inhibited by status info
InjCrv_stPiI2_mp.PII_QNTMIN_OK (3).
Furthermore, the release can also be blocked (InjCrv_stPiI2_mp.PII_QUANTITY_OK (5) = 0) if the
remaining quantity required for the main injection is greater than the total quantity less the pilot injection
quantities.
Figure 352 : Quantity calculation for pilot injection 2
In jC tl_ q S e tU n B a l

In jC r v _ q P iI1 S e tL im _ m p

IN J C R V _ S T M I1 M IN P II1 P II2 (4 ) s ta te
R a ilC D _ p P e a k In jC r v _ s tP iI2 _ m p .P II_ Q U A N T IT Y _ O K ( 5 )
p P e a k In jC r v _ q M I1 M in P iI2 _ m p
q O u t
In jC r v _ tiP iI1 M I1 tiD iff
In jV lv _ fa c F T S W v C o r fa c W v C o r

In jC r v _ Q n tM in
E G T _ s tD e l
B IT
In jC r v _ s tP iI2 R g n D e lM s k _ C A N D
E n g _ n A v rg P

In jC r v _ q P iI2 S e tL im _ m p
In jC r v _ q P iI2 M a x _ m p
In jC tl_ q S e tU n B a l
In jC r v _ s tP iI2 _ m p .P II_ A C T IV E ( 0 ) = = 0
In jC r v _ q P iI2 M a x _ M A P In jC r v _ q P iI2 S e tL im M a x _ m p
P
In jC r v _ q P iI2 B a s _ m p M N M X In jC r v _ q P iI2 D e s
q N o rm a l o u t
q R g n
R g n V a l
In jC r v _ q P iI2 B a s _ M A P
In jC r v _ q P iI2 E n v C o r In jC r v _ q P iI2 S e t_ m p In jC r v _ P iI2 R g n S w tQ
In jC r v _ q P iI2 A d d C o r In jC r v _ s tP iI2 _ m p .P II_ Q N T M IN _ O K ( 3 )
In jC r v _ q P iI2 R g n

E G T _ s t
s tR g n
In jC r v _ P iI2 R g n V a l_ m p
R g n V a l
E G T _ tiR g n
tiR g n
In jC r v _ P iI2 R g n A c tv
In jC r v _ q P iIM in _ m p

In jC r v _ fa c P iI2 Q n tM in _ C in jc r v _ p ii2 _ 3 .d s f

Release of pilot injection 2 based on the energizing The energizing time of PiI2 is estimated by the InjVCD_estET function (see “Estimating the energizing time
time (InjVCD_EstET)” on page 700). If the energizing time is to little, the injection is shut off via
InjCrv_stPiI2_mp.ET_SUFFICIENT (6).
To accomplish this, a conversion to the volume InjCrv_volPiI2_mp is first made using FlSys_rhoFl and
added to the calculated quantity InjCrv_qPiI2SetLim_mp with the volume
InjUn_volPiI2CorCyc[EngM_numTDC - 1] (sum of the volumes from the injector quantity adjustment and the
fuel balancing compensation from the same cylinder in the previous cycle, see “Calculating the dynamic
quantity corrections of pilot injection 2” on page 599 ). This volume (InjCrv_volPiI2Cor_mp) is used to
estimate the energizing time.
Besides the energizing time, the function also returns a status which indicates whether the injection can be
carried out.

19.3.2002 injcrv_pii2.fm
- 312 - InjCrv_PiI2 Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Pilot injection 2 DS/ESM

Figure 353 : Release of pilot injection 2 based on the energizing time

IN J V C D _ P II2 _ E S T E T (1 )
s ta te
In jC r v _ s tP iI2 _ m p .E T _ S U F F IC IE N T ( 6 )
In jC r v _ v o lP iI2 _ m p In jC r v _ v o lP iI2 C o r _ m p s ta te
v o lIn
In jC r v _ tiP iI2 E T _ m p
tiO u t
In jU n _ v o lP iI2 C o r C y c [E n g M _ n u m T D C - 1 ] p P e a k
n o t u s e d
tiO u tN o C o r

R a ilC D _ p P e a k

E n g M _ n u m T D C
n u m T D C

in jc r v _ p ii2 _ 2 .d s f
E n g M _ n u m C y l
n u m C y l

In jV C D _ e s tE T

Pilot injection 2 start of energizing The PiI2 start of energizing is determined from a basic map relative to the PiI1 start of energizing (see “Basic
value of angular component for the start of energising pilot injection 2 (InjCrv_PiI2SOEPhiBas)” on page 315
or see “Basic value of start of energising time component for pilot injection 2 (InjCrv_PiI2SOETiBas)” on page
316).

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Corrections from various environmental conditions InjCrv_phiPiI2EnvCor and InjCrv_tiPiI2EnvCor
(see “Calculating the correction value for quantity correction of pilot injection 2” on page 317) as well as a
customer specific correction InjCrv_phiPiI2AddCor and InjCrv_tiPiI2AddCor (see “Customer related
corrections for pilot injection 2 (InjCrv_PiI2AddCor)” on page 323) are added for the angular and time
components.
If the basic value of the time component is to be applied between the end of the pilot injection and the start
of the following injection, (InjCrv_stInjDstSel_C.0==1), the energizing time of the injection
InjCrv_tiPiI2ET_mp (see “Release of pilot injection 2 based on the energizing time” on page 311) must be
added to the corrected base value. In addition, the calculated chronological start of energizing of pilot
injection 1 (InjCrv_tiPiI1Des, including dynamic corrections) is then switched over to the uncorrected start
of energizing (InjCrv_tiPiI1Hyd_mp) of pilot injection 1.
If there is a request from the exhaust gas treatment system, the corrected basic values
InjCrv_phiPiI2Cor_mp and InjCrv_tiPiI2Cor_mp are switched by the “InjCrv_PiI1RgnSwtSOE function”
on page 308 to regeneration values InjCrv_phiPiI2Rgn and InjCrv_tiPiI2Rgn (see “Regeneration values
for pilot injection 2 (InjCrv_PiI2Rgn)” on page 325). The delayed status of the exhaust gas treatment system
EGT_stDel and the mask InjCrv_stPiI2RgnDelMsk_C are used to prevent a calculation of the base values.
The minimum time interval InjCrv_tiPiI2Tot_mp (= latest start of energizing) relative to the main injection
results from adding the energizing time InjCrv_tiPiI2ET_mp to a fixed or measured pause time
InjCrv_tiPse (see “Calculating the minimum time between 2 injections (InjCrv_SetTiPse)” on page 285).
If the calculated total energizing start time interval InjCrv_tiPiI2RelTot_mp (time component + time value
of the angular component) is less than InjCrv_tiPiI2Tot_mp, the start of energizing time component is
shifted forward to the minimum interval InjCrv_tiPiI2Tot_mp and the angular component is set to zero.
Thus the resulting start of energizing interval is equal to the minimum time interval. Before the time
component is issued, it is limited to the maximum value InjCrv_tiPiIMax_Cdetermined by the hardware.
In order to get the absolute start of energizing relative to the current TDC InjCrv_phiPiI2Abs_mp, the start
of energizing angle of the previously calculated pilot injection InjCrv_phiPiI1Des is added to the angular
component of the PiI2start of energizing interval.
The earliest start of energizing angle is expressed absolutely and is derived from InjCrv_phiPiIMax_C. If
the resulting total absolute start of energizing angle InjCrv_phiPiI2AbsTot_mp (angle component + time
component angle value) lies before the earliest start of energizing, the start of energizing angle component
is pushed back to this earliest value and the time component is set to zero.
The distance between the end of pilot injection 2 and the beginning of pilot injection 1 is calculated for the
time component. For this, the estimated energizing time InjCrv_tiPiI2ET_mp is subtracted from the relative
distance and the result is issued to InjCrv_tiPiI2PiI1_mp.
If the latest start of energizing is before the earliest possible start of energizing, the injection can no longer
be carried out and is inhibited (InjCrv_stPiI2_mp.PII_SOE_OK (4) == 0). If PiI2 is inhibited
(InjCrv_stPiI2_mp.PII_ACTIVE (0)==0, see “Release of pilot injection 2” on page 310), zero is issued for
the start of energizing.
The correlation between specific times and angles is explained in the following diagram.

injcrv_pii2.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI2 - 313 -
DS/ESM Pilot injection 2 Veh-DrvTrn-Eng-InjCtl-InjCrv

Figure 354 : Pilot injection 2 start of energizing

In jC r v _ tiP iI2 R e lT o t_ m p d is a b le P iI2 :


E G T _ s tD e l In jC r v _ s tP iI2 _ m p .P II_ A C T IV E ( 0 ) = = 0
B IT

in jc r v _ p ii2 _ 4 .d s f
In jC r v _ s tP iI2 R g n D e lM s k _ C A N D
In jC r v _ p h iP iIM a x _ C

E n g _ n A v rg In jC r v _ p h iP iI2 A b s T o t_ m p

3 6 0 ° * m in / ( 6 * 1 0 ^ 7 µ s )

In jC r v _ p h iP iI2 C o r _ m p

In jC r v _ p h iP iI2 B a s _ m p p h iO u t In jC r v _ p h iP iI2 A b s _ m p
In jC r v _ p h iP iI2 R e l_ m p
p h iN o r m a l In jC r v _ p h iP iI2 D e s
In jC r v _ p h iP iI2 E n v C o r

In jC r v _ p h iP iI2 A d d C o r

In jC r v _ p h iP iI2 R g n In jC r v _ s tIn jD s tS e l_ C .1
p h iR g n = = 1
In jC r v _ tiP iI2 C o r _ m p In jC r v _ tiP iI2 R e lP iI1 _ m p
In jC r v _ tiP iI2 R e lM I_ m p
In jC r v _ tiP iI2 B a s _ m p In jC r v _ tiP iIM a x _ C
tiO u t
tiN o r m a l M N
In jC r v _ tiP iI2 E n v C o r
In jC r v _ tiP iI2 D e s
In jC r v _ tiP iI2 A d d C o r
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

In jC r v _ tiP iI2 R g n
tiR g n
In jC r v _ s tP iI2
In jC r v _ P iI2 R g n V a l_ m p .P II_ S O E _ O K (4 )
R g n V a l & !
In jC r v _ P iI2 R g n S w tS O E
In jC r v _ tiP iI2 T o t_ m p
In jC r v _ tiP iI2 E T _ m p
In jC r v _ tiP iI2 P iI1 _ m p
In jC r v _ tiP s e

In jC r v _ p h iP iI1 D e s

In jC r v _ tiP iI1 H y d _ m p

The correlation of the individual angles is explained in the following diagram.


Figure 355 : Structure of PiI2 start of energizing
T D C

in jc r v _ p ii_ 1 3 .d s f
S O E o f P iI1

In jC r v _ tiP iI2 R e lP iI1 _ m p In jC r v _ p h iP iI2 R e l_ m p In jC r v _ tiP iI1 D e s In jC r v _ p h iP iI1 D e s

P iI2 P iI1 M I

t, p h i
la te s t S O E ( r e la tiv e to P iI1 )
In jC r v _ tiP iI2 E T _ m p + In jC r v _ tiP s e

In jC r v _ tiP iI2 D e s In jC r v _ p h iP iI2 D e s

S O E o f P iI2

e a r lie s t S O E ( a b s o lu te to T D C )
In jC r v _ p h iP iIM a x _ C

ECU initialization All output values are initialized with zero.

Output values InjCrv_phiPiI2Des: desired angle component for PiI2 start of enrgising [deg CrS] <SWORD>
--->
InjCrv_qPiI2Des: desired injection quantity for PiI2 [mm^3/inj] <SWORD> --->
InjCrv_stInjCharActVal: injection characteristic actual value [-] <UBYTE> --->
InjCrv_tiPiI2Des: desired time component for PiI2 start of energising [us] <SWORD> --->
InjCrv_tiPiI2PiI1_mp: time between end of PiI2 and begin of PiI1 [us] <SWORD> --->

Input values EGT_st: Regeneration request of exhaust gas treatment (engine speed synchronous) [-]
<ULONG> --->
EGT_stDel: delayed regeneration request of exhaust gas treatment (engine speed
synchronous) [-] <ULONG> --->
EGT_tiRgn: time since last change of EGT_st (n-sync) [s] <ULONG> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
EngM_stInjCharSetVal: shows the state of the allowed injections [-] <UBYTE> --->
InjCrv_phiPiI1Des: desired angle component for PiI1 start of energising [deg CrS] <SWORD>
--->
InjCrv_phiPiI2AddCor: customer specific correction angle for PiI2 [deg CrS] <SWORD> --->
InjCrv_phiPiI2EnvCor: correction angle for pilot injection 2 [deg CrS] <SWORD> --->
InjCrv_phiPiI2Rgn: regeneration value for PiI2 start of energising angle component [deg
CrS] <SWORD> --->
InjCrv_qPiI1SetLim0_mp: limited set injection quantity of PiI1 without Pii2 influence
[mm^3/inj] <SWORD> --->
InjCrv_qPiI2AddCor: customer specific correction quantity for PiI2 [mm^3/inj] <SWORD> --->
InjCrv_qPiI2EnvCor: correction quantity for pilot injection 2 [mm^3/inj] <SWORD> --->
InjCrv_qPiI2Rgn: regeneration value for PiI2 injection quantity [mm^3/inj] <SWORD> --->
InjCrv_qPiIMin_mp: minimum injection quantity of an pilot injection, without wave

19.3.2002 injcrv_pii2.fm
- 314 - InjCrv_PiI2 Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Pilot injection 2 DS/ESM

correction [mm^3/inj] <SWORD> --->


InjCrv_tiPiI1Hyd_mp: time component of PiI1 start of energising for calculation of PiI2
start of energising [us] <SWORD> --->
InjCrv_tiPiI1MI1: time between end of PiI1 and begin of MI1 [us] <SWORD> --->
InjCrv_tiPiI2AddCor: customer specific correction time for PiI2 [us] <SWORD> --->
InjCrv_tiPiI2EnvCor: correction time for PiI2 [us] <SWORD> --->
InjCrv_tiPiI2Rgn: regeneration value for PiI2 start of energising time component [us]
<SWORD> --->
InjCrv_tiPse: constant or measured minimum time between 2 injections [us] <SWORD> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->
InjUn_volPiI2CorCyc: cylinder specific correction vlume of FBC and quantity adjustment
for PiI2 [mm^3/inj] <SWORD> --->
InjVlv_facFTSWvCor: pressure wave correction factor depending on fuel temperature [-]
<SWORD> --->
RailCD_pPeak: maximum rail pressure of last 10ms [hPa] <SWORD> --->

Measuring points IInjCrv_stPiI2_mp: Release status for PiI2


InjCrv_phiPiI2Abs_mp: absolute angle component for PiI2 start of energising [deg CrS]
<SWORD> --->
InjCrv_phiPiI2AbsTot_mp: absolute PiI2 start of energising from angle and time component

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
[deg CrS] <SWORD> --->
InjCrv_phiPiI2Bas_mp: PiI2 start of energising angle component base value [deg CrS]
<SWORD> --->
InjCrv_phiPiI2Cor_mp: corrected PiI2 start of energising angle component base value [deg
CrS] <SWORD> --->
InjCrv_phiPiI2Rel_mp: PiI2 start of energising angle component relative to the MI [deg
CrS] <SWORD> --->
InjCrv_qMI1MinPiI2_mp: minimum quantity of MI1 if PiI1 and PiI2 will be released [mm^3/
inj] <SWORD> --->
InjCrv_qPiI2Bas_mp: injection quantity PiI2 base value [mm^3/inj] <SWORD> --->
InjCrv_qPiI2Max_mp: maximum PiI2 injection quantity [mm^3/inj] <SWORD> --->
InjCrv_qPiI2Set_mp: PiI2 injection quantity set value [mm^3/inj] <SWORD> --->
InjCrv_qPiI2SetLim_mp: limited set injection quantity of PiI2 [mm^3/inj] <SWORD> --->
InjCrv_qPiI2SetLimMax_mp: limited maximum set injection quantity of PiI2 [mm^3/inj]
<SWORD> --->
InjCrv_tiPiI2Bas_mp: PiI2 start of energising time component base value [us] <SWORD> --->
InjCrv_tiPiI2Cor_mp: corrected PiI2 start of energising time component base value [us]
<SWORD> --->
InjCrv_tiPiI2ET_mp: estimated energising time of PiI2 [us] <SWORD> --->
InjCrv_tiPiI2RelMI_mp: time component SOE PiI2 relative to MI [us] <SWORD> --->
InjCrv_tiPiI2RelPiI1_mp: PiI2 start of energising ime component relative to PiI1 [us]
<SWORD> --->
InjCrv_tiPiI2RelTot_mp: PiI2 start of energising distance from angle and time component
[us] <SWORD> --->
InjCrv_tiPiI2Tot_mp: total energising time of PiI2 [us] <SWORD> --->
InjCrv_volPiI2_mp: limited injection volume PiI2 [mm^3/inj] <SWORD> --->
InjCrv_volPiI2Cor_mp: injection volume with corrections for estimation of energising time
of PiI2 [mm^3/inj] <SWORD> --->
njCrv_PiI2RgnVal_mp: Activation value for PiI2 regeneration operation

Application parameters InjCrv_facPiI2QntMin_C: factor to switch off PiI2 applicabable if injection quantity is
too low<value> --->
InjCrv_phiPiIMax_C: absolute earliest SOE of any PiI<value> --->
InjCrv_qPiI2Bas_MAP: injection quantity PiI2 base value map<map_individual> --->
InjCrv_qPiI2Max_MAP: PiI2 injection quantity maximum value map<map_individual> --->
InjCrv_stInjDstSel_C: status of interpretation of relative time distances between
inejctions<value> --->
InjCrv_stPiI2RgnDelMsk_C: mask for deactivation of PiI2 base value calculation in
regeneration mode<value> --->
InjCrv_tiPiIMax_C: maximum PiI time component determined by the hardware<value> --->

Additional information The calculation of the quantities and the start of energizing angle is based on the respective release status.
If no release has been given, zero is issued to the corresponding measuring points.

injcrv_pii2.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI2SOEPhiBas - 315 -
DS/ESM Basic value of angular component for the start of energising pilot Veh-DrvTrn-Eng-InjCtl-InjCrv

Basic value of angular component for the start of energising pilot injection 2 (InjCrv_PiI2SOEPhiBas)
CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Functional overview The basic value of the angular component for the PiI2 start of energizing is calculated relative to the main
injection start of energizing.
Formation of the injection characteristic is represented in the time system. Therefore, zero is returned as the
basic value of the relative angular component for the PiI2 start of energizing (InjCrv_phiPiI2Bas_mp).

Functional description

Measuring points InjCrv_phiPiI2Bas_mp: PiI2 start of energising angle component base value [deg CrS]
<SWORD> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 injcrv_pii2soephibas.fm
- 316 - InjCrv_PiI2SOETiBas Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Basic value of start of energising time component for pilot injection DS/ESM

Basic value of start of energising time component for pilot injection 2 (InjCrv_PiI2SOETiBas)
CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview The basic value of the time component for the start of energising PiI2 is calculated relative to the start of
energizing of PiI1.

Functional description Depending on the engine operating point (Eng_nAvrg, InjCtl_qSetUnBal), the basic value of the relative
time component for the PiI2 start of energizing is determined. The calculated value is the time component of
the distance to the PiI1 start of energizing.
Figure 356 : Basic value of the relative time component for the PiI2 start of energizing

E n g _ n A v rg P

In jC r v _ tiP iI2 B a s _ m p
In jC tl_ q S e tU n B a l

In jC r v _ tiP iI2 B a s _ M A P
in jc r v _ p ii2 s o e tib a s .d s f

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

Measuring points InjCrv_tiPiI2Bas_mp: PiI2 start of energising time component base value [us] <SWORD> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Application parameters InjCrv_tiPiI2Bas_MAP: time component SOE PiI2 base value map<map_individual> --->

injcrv_pii2soetibas.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI2EnvCor - 317 -
DS/ESM Pilot injection 2 correction value (20ms) Veh-DrvTrn-Eng-InjCtl-InjCrv

Pilot injection 2 correction value (20ms) (InjCrv_PiI2EnvCor)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Functional overview Calculation of pilot injection 2 is based on the operating point ( = engine speed, injected fuel quantity) and
various environmental conditions. Therefore, corrections in the injection quantity and start of energizing angle
are necessary.
Figure 357 : Calculating the correction value of pilot injection 2 (20ms) - overview

E n g _ n A v rg

In jC tl_ q S e tU n B a l
In jC r v _ q P iI2 E n v C o r
In jC r v _ fa c P iI2 A T S Q C o r
C o r r e c tio n v a lu e
In jC r v _ fa c P iI2 E T S Q C o r
o f In jC r v _ tiP iI2 E n v C o r
In jC r v _ fa c P iI2 A P S Q C o r
p ilo t in je c tio n 2
In jC r v _ p h iP iI2 E T S C o r _ m p
(2 0 m s ) In jC r v _ p h iP iI2 E n v C o r
In jC r v _ tiP iI2 E T S C o r _ m p

In jC r v _ fa c P iI2 E T S S O E C o r
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

in jc r v _ p ii2 e n v c o r _ 1 0 1 .d s f
A c c o r d in g to B o s c h s ta n d a r d

Functional description Since operating point and environmental conditions differ considerably in terms of dynamic behaviour, for run
time purposes the correction value calculation is divided into 2 processes.
1. InjCrv_EnvCor: Calculations in the 20ms time slice.
2. InjCrv_EvnCorSlow: Calculations in the 100ms time slice.
The calculation of the 20ms time slice is described below. For calculation of a 100ms time slice see “Pilot
injection 2 correction value (100ms) (InjCrv_PiI2EnvCorSlow)” on page 321
Calculating the correction value for quantity cor- A basic correction value is determined based on the operating point (Eng_nAvrg and InjCtl_qSetUnBal)
rection of pilot injection 2 and on the environmental conditions: intake air temperature, atmospheric pressure and engine temperature.
For each environmental condition a correction quantity is calculated (InjCrv_qPiI2ATSCor_mp,
InjCrv_qPiI2ETSCor_mp and InjCrv_qPiI2APSCor_mp) by multiplication by the weighting factors
InjCrv_facPiI2ATSQCor, InjCrv_facPiI2APSQCor and InjCrv_facPiI2ETSQCor. The sum of the
individual values amounts to the correction quantity InjCrv_qPiI2EnvCor.
Figure 358 : Calculating the correction value for quantity correction of pilot injection 2

E n g _ n A v rg P

In jC r v _ q P iI2 A T S C o r _ m p In jC r v _ q P iI2 E n v C o r
In jC tl_ q S e tU n B a l

In jC r v _ q P iI2 A T S C o r _ M A P

In jC r v _ fa c P iI2 A T S Q C o r

In jC r v _ q P iI2 E T S C o r _ m p

In jC r v _ q P iI2 E T S C o r _ M A P
In jC r v _ fa c P iI2 E T S Q C o r

P in jc r v _ p ii2 e n v c o r s p lit _ 1 .d s f

In jC r v _ P iI2 A P S C o r _ m p

In jC r v _ q P iI2 A P S C o r _ M A P
In jC r v _ fa c P iI2 A P S Q C o r

Calculating the correction values for the pilot injec- To correct the start of energizing, basic correction values InjCrv_phiPiI2ETSCor_mp and
tion start of energizing InjCrv_tiPiI2ETSCor_mp are determined based on the engine operation point (Xrefs missing). These
values are multiplied by the weighting factor InjCrv_facPiI2ETSSOECor. The resulting values are start of
energizing correction values InjCrv_phiPiI2EnvCor and InjCrv_tiPiI2EnvCor.
Figure 359 : Calculating the correction value for the pilot injection angle correction
In jC r v _ p h iP iI2 E T S C o r _ m p In jC r v _ tiP iI2 E n v C o r

In jC r v _ tiP iI2 E T S C o r _ m p In jC r v _ p h iP iI2 E n v C o r

In jC r v _ fa c P iI2 E T S S O E C o r in jc r v _ p ii2 e n v c o r s p lit _ 2 .d s f

ECU initialization All factors are initialized with "1.0", additive correction values with "0".

Output values InjCrv_phiPiI2EnvCor: correction angle for pilot injection 2 [deg CrS] <SWORD> --->
InjCrv_qPiI2EnvCor: correction quantity for pilot injection 2 [mm^3/inj] <SWORD> --->
InjCrv_tiPiI2EnvCor: correction time for PiI2 [us] <SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


InjCrv_facPiI2APSQCor: quantity correction value for pilot injection 2 dependent on
atmospheric pressure [-] <SWORD> --->
InjCrv_facPiI2ATSQCor: quantity correction value for pilot injection 2 dependent on intake

19.3.2002 injcrv_pii2envcor.fm
- 318 - InjCrv_PiI2EnvCor Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Pilot injection 2 correction value (20ms) DS/ESM

air temperatur [-] <SWORD> --->


InjCrv_facPiI2ETSQCor: quantity correction value for pilot injection 2 dependent on engine
temperature [-] <SWORD> --->
InjCrv_facPiI2ETSSOECor: start of energising correction value for PiI2 based on engine
temperature [-] <SWORD> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

Measuring points InjCrv_qPiI2APSCor_mp: correction quantity for pilot injection 2 dependent on atmospheric
pressure [mm^3/inj] <SWORD> --->
InjCrv_qPiI2ATSCor_mp: correction quantity for pilot injection 2 dependent on intake air
temperature [mm^3/inj] <SWORD> --->
InjCrv_qPiI2ETSCor_mp: correction quantity for pilot injection 2 dependent on engine
temperature [mm^3/inj] <SWORD> --->

Application parameters InjCrv_qPiI2APSCor_MAP: quantity correction map for pilot injection 2 dependent on
atmospheric pressure<map_individual> --->
InjCrv_qPiI2ATSCor_MAP: quantity correction map for pilot injection 2 dependent on intake
air temperature<map_individual> --->
InjCrv_qPiI2ETSCor_MAP: quantity correction map for pilot injection 2 dependent on engine
temperature<map_individual> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

injcrv_pii2envcor.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI2EnvCorPhi - 319 -
DS/ESM Basic correction value for the PiI2 start of energising angular com- Veh-DrvTrn-Eng-InjCtl-InjCrv

Basic correction value for the PiI2 start of energising angular component (InjCrv_PiI2EnvCorPhi)
CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Functional overview The basic correction value of the angular component for the PiI2 start of energizing is calculated based on
the engine temperature.
Formation of the injection characteristic is represented in the time system. Therefore, zero is issued for the
PiI2 start of energizing angular component basic correction value InjCrv_phiPiI2ETSCor_mp based on the
engine temperature.

Functional description

Measuring points InjCrv_phiPiI2ETSCor_mp: basic correction value for PiI2 start of energising angle
component based on the engine temperature [deg CrS] <SWORD> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 injcrv_pii2envcorphi.fm
- 320 - InjCrv_PiI2EnvCorTi Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Basic correction value for PiI2 start of energising time component DS/ESM

Basic correction value for PiI2 start of energising time component (InjCrv_PiI2EnvCorTi)
CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview The basic correction value of the time component for the PiI2 start of energizing is calculated based on the
engine temperature.
Figure 360 : Basic correction value for the PiI2 start of energizing time component - overview

E n g _ n A v rg
B a s e tim e v a lu e
In jC r v _ tiP iI2 E T S C o r _ m p
c a lc u la tio n o f
In jC tl_ q S e tU n B a l
e n v ir o n m e n t c o r r e c tio n

A c c o r d in g to B o s c h s ta n d a r d in jc r v _ p ii2 e n v c o r ti_ 1 0 0 .d s f

Functional description Depending on the engine operating point (Eng_nAvrg, InjCtl_qSetUnBal), the basic correction value
InjCrv_tiPiI2ETSCor_mp of the angular component for the PiI1 start of energizing is retrieved from the map
InjCrv_tiPiI2ETSCor_MAP based on the engine temperature.
Figure 361 : Basic correction value for the start of energizing time component
P
E n g _ n A v rg

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
In jC r v _ tiP iI2 E T S C o r _ m p
In jC tl_ q S e tU n B a l

In jC r v _ tiP iI2 E T S C o r _ M A P
in jc r v _ p ii2 e n v c o r t i. d s f

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

Measuring points InjCrv_tiPiI2ETSCor_mp: basic correction value for PiI2 start of egenrgising time
component based on engine temperature [us] <SWORD> --->

Application parameters InjCrv_tiPiI2ETSCor_MAP: correction base value map for time component SOE PiI2 dependent
on engine temperature<map_individual> --->

injcrv_pii2envcorti.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI2EnvCorSlow - 321 -
DS/ESM Pilot injection 2 correction value (100ms) Veh-DrvTrn-Eng-InjCtl-InjCrv

Pilot injection 2 correction value (100ms) (InjCrv_PiI2EnvCorSlow)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Functional overview Calculation of pilot injection 2 is based on the operating point ( = engine speed, injected fuel quantity) and
various environmental conditions. Therefore, a correction of the calculated injection values is necessary.
Figure 362 : Calculating the correction value of pilot injection 2 (200ms) - overview

In jC r v _ fa c P iI2 A T S Q C o r
IA T S C D _ tA ir C o r r e c tio n v a lu e
In jC r v _ fa c P iI2 E T S Q C o r
E n g _ tE n g o f
In jC r v _ fa c P iI2 A P S Q C o r
p ilo t in je c tio n 2
A P S C D _ p V a l
In jC r v _ fa c P iI2 E T S S O E C o r
(1 0 0 m s )

in jc r v _ p ii2 e n v c o r s lo w _ 1 0 1 .d s f
A c c o r d in g to B o s c h s ta n d a r d

Functional description Since operating point and environmental conditions differ considerably in terms of dynamic behaviour, for run
time purposes the correction value calculation is divided into 2 processes.
1. InjCrv_EnvCor: Calculations in the 20ms time slice.
2. InjCrv_EvnCorSlow: Calculations in the 100ms time slice.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Calculation in the 100ms time slice is described below. For calculation of the 20ms time slice see “Pilot
injection 2 correction value (20ms) (InjCrv_PiI2EnvCor)” on page 317
Calculating the weighting factors for pilot injection Based on the environmental conditions: intake air temperature, atmospheric pressure and motor
2 quantity correction temperature, weighting factors InjCrv_facPiI2ATSQCor, InjCrv_facPiI2ETSQCor and
InjCrv_facPiI2APSQCor are calculated for the quantity correction. Each environmental condition has its
own curve (InjCrv_facPiI2ATSQCor_CUR, InjCrv_facPiI2ETSQCor_CUR and
InjCrv_facPiI2APSQCor_CUR). Since the dynamic behaviour of the environmental conditions is sluggish,
100ms time slice calculations suffice.
Figure 363 : Calculating the weighting factors for pilot injection 2 quantity correction
P

IA T S C D _ tA ir In jC r v _ fa c P iI2 A T S Q C o r

In jC r v _ fa c P iI2 A T S Q C o r _ C U R

E n g _ tE n g In jC r v _ fa c P iI2 E T S Q C o r

In jC r v _ fa c P iI2 E T S Q C o r _ C U R

A P S C D _ p V a l In jC r v _ fa c P iI2 A P S Q C o r

In jC r v _ fa c P iI2 A P S Q C o r _ C U R in jc r v _ p ii2 e n v c o r s lo w s p lit _ 1 .d s f

Calculating the weighting factors for start of ener- To correct the start of energizing, weighting factors InjCrv_facPiI1ETSSOECor and
gizing correction of the pilot injection InjCrv_facPiI2ETSSOECor are calculated based on the engine temperature. Each of the two pilot injections
has its own curve (InjCrv_facPiI1ETSSOECor_CUR and InjCrv_facPiI2ETSSOECor_CUR). Since the
dynamic behaviour of the engine temperature is sluggish, 100ms time slice calculations suffice.
Figure 364 : Calculating the weighting factors for pilot injection angle correction
P

E n g _ tE n g In jC r v _ fa c P iI2 E T S S O E C o r

In jC r v _ fa c P iI2 E T S S O E C o r _ C U R in jc r v _ p iie n v c o r s lo w _ 3 .d s f

ECU initialization All factors are initialized with "1.0", additive correction values with "0".

Output values InjCrv_facPiI2APSQCor: quantity correction value for pilot injection 2 dependent on
atmospheric pressure [-] <SWORD> --->
InjCrv_facPiI2ATSQCor: quantity correction value for pilot injection 2 dependent on intake
air temperatur [-] <SWORD> --->
InjCrv_facPiI2ETSQCor: quantity correction value for pilot injection 2 dependent on engine
temperature [-] <SWORD> --->
InjCrv_facPiI2ETSSOECor: start of energising correction value for PiI2 based on engine
temperature [-] <SWORD> --->

Input values APSCD_pVal: atmospheric pressure [hPa] <SWORD> --->


Eng_tEng: engine temperature [deg C] <SWORD> --->
IATSCD_tAir: intake air temperature [deg C] <SWORD> --->

Application parameters InjCrv_facPiI2APSQCor_CUR: quantity correction curve for pilot injection 2 dependent on
atmospheric pressure<curve_individual> --->
InjCrv_facPiI2ATSQCor_CUR: quantity correction curve for pilot injection 2 dependent on
intake air temperature<curve_individual> --->
InjCrv_facPiI2ETSQCor_CUR: quantity correction curve for pilot injection 2 dependent on

19.3.2002 injcrv_pii2envcorslow.fm
- 322 - InjCrv_PiI2EnvCorSlow Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Pilot injection 2 correction value (100ms) DS/ESM

engine temperature<curve_individual> --->


InjCrv_facPiI2ETSSOECor_CUR: start of energising correction curve for PiI2 based on the
engine temperature<curve_individual> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

injcrv_pii2envcorslow.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI2AddCor - 323 -
DS/ESM Customer related corrections for pilot injection 2 Veh-DrvTrn-Eng-InjCtl-InjCrv

Customer related corrections for pilot injection 2 (InjCrv_PiI2AddCor)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Functional overview
Figure 365 : Calculating customer specific corrections for pilot injection 2 . overview

In jC r v _ q P iI2 A d d C o r

C o r r e c tio n s fo r In jC r v _ p h iP iI2 A d d C o r

p ilo t in je c tio n 2 In jC r v _ tiP iI2 A d d C o r

A c c o r d in g to B o s c h s ta n d a r d in jc r v _ p ii2 a d d c o r _ 1 0 0 .d s f
I njCrv_phiPiI2AdCorInjCrv_qPiI 2Ad CorInjCrv_tiPI2AdCor

Functional description No modification of initialized values.


The customer specific additive corrections for pilot injection 2 are calculated as follows:
1. Start of energizing correction is taken from map InjCrv_tiPiI2TrnCor_MAP as a function of engine
speed Eng_nAvrg and unbalanced injection quantity InjCtl_qSetUnBal and can be displayed as
InjCrv_tiPiI2TrnCor_mp. It is corrected with a multiplication factor InjCrv_factiPiI2TrnCor_mp
taken from InjCrv_factiPiI2TrnCor_CUR as a function of rail pressure setpoint difference value
Rail_pDeltaSetPoint. The corrected value is displayed as InjCrv_tiPiI2AddCor_mp, subsequently
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

limited by InjCrv_tiPiI2TrnCorMin_C and InjCrv_tiPiI2TrnCorMax_C and transmitted via the


message InjCrv_tiPiI2AddCor.
2. Quantity correction is applied similar to the function above where the base correction value is taken from
a map InjCrv_qPiI2TrnCor_MAP as a function of engine speed Eng_nAvrg and unbalanced injection
quantity InjCtl_qSetUnBal and can be displayed as InjCrv_qPiI2TrnCor_mp. It is corrected with a
multiplication factor InjCrv_facqPiI2TrnCor_mp taken from InjCrv_facqPiI2TrnCor_CUR as a function
of rail pressure setpoint difference value Rail_pDeltaSetPoint. The corrected value is displayed as
InjCrv_qPiI2AddCor_mp, subsequently limited by InjCrv_qPiI2TrnCorMin_C and
InjCrv_qPiI2TrnCorMax_C and transmitted via the message InjCrv_qPiI2AddCor.
Figure 366 : PiI2 start of energizing correction
In jC r v _ tiP iI2 T r n C o r M a x _ C
P

In jC r v _ tiP iI2 T r n C o r M in _ C
P

E n g _ n A v rg P

In jC r v _ tiP iI2 T r n C o r _ m p In jC r v _ tiP iI2 A d d C o r _ m p In jC r v _ tiP iI2 A d d C o r


In jC tl_ q S e tU n B a l

In jC r v _ tiP iI2 T r n C o r _ M A P

in jc r v _ p ii2 a d d c o r _ 1 .d s f
P

R a il_ p D e lta S e tP o in t In jC r v _ fa c tiP iI2 T r n C o r _ m p

In jC r v _ fa c tiP iI2 T r n C o r _ C U R
Eng_nAvrgInjCrv_factiPI 2TrnCo_rCURI njCrv_factiPI 2TrnCor_mpInjCrv_tiPI2AdCorInjCrv_tiPI2Ad Cor_mpInjCrv_tiP I2TrnCo_rMAPInjCrv_tiPI2TrnCor_mpInjCrv_tiPI 2TrnCorMax_CInj rv_tiPI 2TrnCorMin_CI njCtl_qSeUtnBalR il _pDeltaSetPoint

Figure 367 : PiI2 quantity correction


In jC r v _ q P iI2 T r n C o r M a x _ C
P

In jC r v _ q P iI2 T r n C o r M in _ C
P

E n g _ n A v rg P

In jC r v _ q P iI2 T r n C o r _ m p In jC r v _ q P iI2 A d d C o r _ m p In jC r v _ q P iI2 A d d C o r


In jC tl_ q S e tU n B a l

In jC r v _ q P iI2 T r n C o r _ M A P

in jc r v _ p ii2 a d d c o r _ 2 .d s f
P

R a il_ p D e lta S e tP o in t In jC r v _ fa c q P iI2 T r n C o r _ m p

In jC r v _ fa c q P iI2 T r n C o r _ C U R
Eng_nAvrgInjCrv_facqPiI 2TrnCo_rCURI njCrv_facqPiI 2TrnCor_mpInjCrv_qPiI2AdCorInjCrv_qPiI2Ad Cor_mpInjCrv_qPi I2TrnCo_rMAPInjCrv_qPiI2TrnCor_mpInjCrv_qPiI 2TrnCorMax_CInj rv_qPiI 2TrnCorMin_CI njCtl_qSetUnBlRa il _pDeltaSetPoint

ECU initialization Correction values InjCrv_qPiI2AddCor, InjCrv_phiPiI2AddCor and InjCrv_tiPiI2AddCor are initialized
with their default value "0".

Output values InjCrv_qPiI2AddCor: customer specific correction quantity for PiI2 [mm^3/inj] <SWORD> --->
InjCrv_tiPiI2AddCor: customer specific correction time for PiI2 [us] <SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->
Rail_pDeltaSetPoint: limited rail pressure setpoint transient correction difference value
[hPa] <SWORD> --->

Measuring points InjCrv_facqPiI2TrnCor_mp: PiI2 correction quantity factor for SoE [-] <SWORD> --->
InjCrv_factiPiI2TrnCor_mp: PiI2 correction time factor for SoE [-] <SWORD> --->
InjCrv_qPiI2AddCor_mp: PiI2 unlimited correction quantity for SoE [mm^3/inj] <SWORD> --->
InjCrv_qPiI2TrnCor_mp: PiI2 unscaled correction quantity for SoE [mm^3/inj] <SWORD> --->
InjCrv_tiPiI2AddCor_mp: PiI2 unlimited correction time for SoE [us] <SWORD> --->
InjCrv_tiPiI2TrnCor_mp: PiI2 unscaled correction time for SoE [us] <SWORD> --->

Application parameters InjCrv_facqPiI2TrnCor_CUR: transient quantity correction factor curve of


PiI2<curve_individual> --->
InjCrv_factiPiI2TrnCor_CUR: transient time correction factor curve of

19.3.2002 injcrv_pii2addcor.fm
- 324 - InjCrv_PiI2AddCor Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Customer related corrections for pilot injection 2 DS/ESM

PiI2<curve_individual> --->
InjCrv_qPiI2TrnCor_MAP: transient quantity correction map of PiI2<map_individual> --->
InjCrv_qPiI2TrnCorMax_C: largest quantity correction of PiI2<value> --->
InjCrv_qPiI2TrnCorMin_C: smallest quantity correction of PiI2<value> --->
InjCrv_tiPiI2TrnCor_MAP: transient time correction map of PiI2<map_individual> --->
InjCrv_tiPiI2TrnCorMax_C: earliest SOE correction of PiI2<value> --->
InjCrv_tiPiI2TrnCorMin_C: latest SOE correction of PiI2<value> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

injcrv_pii2addcor.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI2Rgn - 325 -
DS/ESM Regeneration values for pilot injection 2 Veh-DrvTrn-Eng_InjCtl_InjCrv

Regeneration values for pilot injection 2 (InjCrv_PiI2Rgn)


CARTONIC-Sturcture:VehD-rvTrnE-ng_InjCtl_InjCrv

Functional overview For operating a particle filter/DNOX-catalyst it is necessary to switch to other base values for the calculation
of PoI2. These base values are calculated here.

Functional description The output variables InjCrv_qPiI2Rgn, InjCrv_phiPiI2Rgn and InjCrv_tiPiI2Rgn are calculated using
the maps InjCrv_qPiI2Rgn_MAP, InjCrv_tiPiI2Rgn_MAP or are set to “0”.
Figure 368 : Calculation of the regeneration values

E n g _ n A v rg P

In jC r v _ tiP il2 R g n
In jC tl_ q S e tU n B a l

In jC r v _ tiP iI2 R g n _ M A P

E n g _ n A v rg P

In jC r v _ q P il2 R g n
In jC tl_ q S e tU n B a l

in jc r v _ p ii2 r g n _ 1 .d s f
In jC r v _ q P iI2 R g n _ M A P

0 In jC r v _ p h iP il2 R g n
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

I njCrv_phiPil2RgnEng_nAvrgInjCrv_qPiI2Rgn_MAPInjCr_vqPil2RgnI jCr_vtiPI2Rgn_MAPInjCrv_tiPl 2RgnI jCtl_qSetUnBal

ECU initialization The output variables InjCrv_qPiI2Rgn, InjCrv_phiPiI2Rgn and InjCrv_tiPiI2Rgn are initialized with “0”.

Output values InjCrv_phiPiI2Rgn: regeneration value for PiI2 start of energising angle component [deg
CrS] <SWORD> --->
InjCrv_qPiI2Rgn: regeneration value for PiI2 injection quantity [mm^3/inj] <SWORD> --->
InjCrv_tiPiI2Rgn: regeneration value for PiI2 start of energising time component [us]
<SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

Application parameters InjCrv_qPiI2Rgn_MAP: Map for injection quantity PiI2 in regeneration mode<map_individual>
--->
InjCrv_tiPiI2Rgn_MAP: base map of PiI2 SOE time-component calculation<map_individual> --
->

19.3.2002 injcrv_pii2rgn.fm
- 326 - InjCrv_PiI2RgnLib Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Function library for the PiI2 regeneration operation DS/ESM

Function library for the PiI2 regeneration operation (InjCrv_PiI2RgnLib)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview These functions are provided to guarantee a secure switchover of PiI2 from normal to regeneration mode
and vice versa.
Figure 369 : Function library for the PiI2 regeneration operation - overview

E G T _ s t

In jC r v _ d tiP iI2 R g n R m p U p _ C
R e g e n e r a tio n
In jC r v _ P iI2 R g n V a l_ m p
P

In jC r v _ d tiP iI2 R g n R m p D w n _ C v a lu e
P

R e g e n e r a tio n
In jC r v _ s tP iI2 R g n M s k _ C In jC r v _ q P iI2 S e tL im M a x _ m p
P
ra m p fo r
In jC r v _ q P iI2 R g n
q u a n tity
In jC r v _ q S e t_ m p

In jC r v _ p h iP iI2 R g n In jC r v _ p h iP iI2 R e l_ m p
R e g e n e r a tio n

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
In jC r v _ p h iP iI2 C o r _ m p
ra m p fo r
In jC r v _ tiP iI2 R g n In jC r v _ tiP iI2 R e l_ m p
S O E
In jC r v _ tiP iI2 C o r _ m p

A c c o r d in g to B o s c h s ta n d a r d in jc r v _ p ii2 r g n lib _ 1 0 0 .d s f

Functional description
InjCrv_PiI2RgnActv function In the message EGT_st.0...30 the current EGT activation states are set (see “Regeneration coordinator for
exhaust-gas treatment (EGT_CoRgn)” on page 439). Regeneration operation for the various activation states
can be selected via the InjCrv_stPiI2RgnMsk_C mask. If at least one of the selected bits in EGT_st is set,
the regeneration operation is activated for PiI2. The activation factor for the regeneration operation is
calculated via a ramp. At EGT_st.EGT_RMP_END (bit 31) == 1) the system jumps directly to the end of the
ramp, thus bringing the ramp itself to the end. If the regeneration operation for PiI2 is not active, a value of
"0" is returned. The ramp slopes can be adjusted by InjCrv_dtiPiI2RgnRmpUp_C and
InjCrv_dtiPiI2RgnRmpDwn_C.
The time since the regeneration operation EGT_tiRgn is not required for the common rail basic function.
Figure 370 : Activating the regeneration operation of PiI2

E G T _ s t.3 1

in jc r v _ p ii2 r g n lib _ 1 .d s f
In jC r v _ d tiP iI2 R g n R m p U p _ C
In jC r v _ d tiP iI2 R g n R m p D w n _ C
P

p a ra m
E G T _ s t.0 ....3 0
B it x R A M P y In jC r v _ P iI2 R g n V a l_ m p
In jC r v _ s tP iI2 R g n M s k _ C .0 ....3 0 A n d F U N C T .
e n d
P

T 0 ix
0

InjCrv_PiI2RgnSwtQ function This function switches between the corrected base value of the injection quantity and the regeneration value
InjCrv_qPiI2Rgn. It produces an interpolation between both values. The activation value
InjCrv_PiI2RgnVal_mp indicates the part of the regeneration value in the output value
InjCrv_qPiI2SetLimMax_mp as a number between 0 and 1.
Figure 371 : Switching the PiI2 injection quantity to its regeneration value

( R g n V a l) In jC r v _ P iI2 R g n V a l_ m p In jC r v _ q P iI2 S e tL im M a x _ m p ( q O u t)
in jc r v _ p ii2 r g n lib _ 2 .d s f

(q R g n ) In jC r v _ q P iI2 R g n

(q B a s )

InjCrv_PiI2RgnSwtSOE function This function switches between the corrected base value of the start of energizing InjCrv_phiPiI2Cor_mp
and the regeneration value InjCrv_phiPiI2Rgn. It produces an interpolation between the respective values.
The activation value InjCrv_PiI2RgnVal_mp indicates the part of the regeneration values in the output value
InjCrv_phiPiI2Rel_mp as a number between 0 and 1.

injcrv_pii2rgnlib.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI2RgnLib - 327 -
DS/ESM Function library for the PiI2 regeneration operation Veh-DrvTrn-Eng-InjCtl-InjCrv

Figure 372 : Switching the PiI2 start of energizing to its regeneration values

( R g n V a l) In jC r v _ P iI2 R g n V a l_ m p In jC r v _ p h iP iI2 R e l_ m p ( p h iO u t)

( p h iR g n ) In jC r v _ p h iP iI2 R g n

( p h iB a s )

In jC r v _ tiP iI2 R e l_ m p ( tiO u t)

( tiR g n ) In jC r v _ tiP iI2 R g n

( tiB a s )
in jc r v _ p ii2 r g n lib _ 3 .d s f

Output values InjCrv_phiPiI2Rel_mp: PiI2 start of energising angle component relative to the MI [deg
CrS] <SWORD> --->
InjCrv_PiI2RgnVal_mp: activation value for PiI2 release via the exhaust gas aftertreatment
system [-] <ULONG> --->
InjCrv_qPiI2SetLimMax_mp: limited maximum set injection quantity of PiI2 [mm^3/inj]
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

<SWORD> --->

Input values EGT_st: Regeneration request of exhaust gas treatment (engine speed synchronous) [-]
<ULONG> --->
EGT_tiRgn: time since last change of EGT_st (n-sync) [s] <ULONG> --->
InjCrv_phiPiI2Cor_mp: corrected PiI2 start of energising angle component base value [deg
CrS] <SWORD> --->
InjCrv_phiPiI2Rgn: regeneration value for PiI2 start of energising angle component [deg
CrS] <SWORD> --->
InjCrv_qPiI2Bas_mp: injection quantity PiI2 base value [mm^3/inj] <SWORD> --->
InjCrv_qPiI2Rgn: regeneration value for PiI2 injection quantity [mm^3/inj] <SWORD> --->

Application parameters InjCrv_dtiPiI2RgnRmpDwn_C: negative ramp slope for switching to PiI2 regeneration
value<value> --->
InjCrv_dtiPoI2RgnRmpUp_C: positive ramp slope for switching to PoI2 regeneration
values<value> --->
InjCrv_stPiI2RgnMsk_C: Mask for activation of regeneration in PiI2<value> --->

19.3.2002 injcrv_pii2rgnlib.fm
- 328 - InjCrv_PiI3 Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Pilot injection 3 DS/ESM

4.5.3.3 Pilot injection 3 (InjCrv_PiI3)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Overview of the component Pilot injection 3 (PiI3) replaces pilot injection 2 (PiI2) in the event that a widely spaced injection is required.
Due to the importance of the angular relationship to the engine geometry or the beginning compression
caused by the upward movement of the piston, it is calculated only in terms of an angle. PiI3 can also occur
in connection with pilot injection 1 (PiI1). A combination of PiI3 and PiI2 is not admissible.
PiI3 is not taken into consideration in calculating the pressure wave correction, as it is not expected to have
any influence here because of the significant time interval before the subsequent injection.
For a breakdown of the injections, see also “Injections of a Common Rail system” on page 278.
Figure 373 : PiI3 quantity and start of energizing - overview

E s tE T

E G T _ tiR g n

E G T _ s tD e l

E G T _ s t

In jC tl_ s tIn jC h a r S e tV a l

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
In jC tl_ q S e tU n B a l
In jC r v _ q P iI3 D e s
E n g _ n A v rg Q u a n tity c a lc u la tio n

In jC r v _ fa c P iI3 A T S Q C o r In jC r v _ q P iI3 E n v C o r

In jC r v _ fa c P iI3 E T S Q C o r
In jC r v _ P iI3 E n v C o r S lo w
In jC r v _ fa c P iI3 A P S Q C o r In jC r v _ P iI3 E n v C o r

In jC r v _ fa c P iI3 E T S S O E C o r In jC r v _ p h iP iI3 E n v C o r

In jC r v _ q P iI3 A d d C o r

In jC r v _ P iI3 A d d C o r In jC r v _ p h iP iI3 A d d C o r
In jC r v _ p h iP iI3 D e s
s ta r t o f e n e r g iz in g c a lc u la tio n

In jC r v _ q P iI3 R g n

In jC r v _ P iI3 R g n
In jC r v _ p h iP iI3 R g n

A c c o r d in g to B o s c h s ta n d a r d in jc r v _ p ii3 _ 1 0 0 .d s f

Structure of the component Calculation of the pilot injection is divided into 3 parts:
• Checking the conditions for releasing PiI3.
• Calculating the injection quantity
• Calculating the start of energizing
Release of pilot injection 3 Depending on various conditions, the PiI3 is either released or inhibited. The internal release status is
displayed by bit field InjCrv_stPiI3_mp.
Display of release status:
Figure 374 : PiI3 release status

In jC r v _ s tIn jC h a r A c tV a l.IN J C R V _ P II3 ( 6 )


&
in jc r v _ p ii3 _ 1 .d s f

In jC r v _ s tP iI3 _ m p

7 6 5 4 3 2 1 0

All release conditions are represented downwards from the bit with the highest value. The logical AND
operation for all individual conditions is contained in the bit with the lowest value. The assignment of the
individual bits is described in the table below. If the bit with the lowest value is set, all conditions are met and
an injection can take place. This information is also entered in the current injection characteristic
InjCrv_stInjCharActVal (bit 6):
Table 106: Release status PiI3 (InjCrv_stPiI3_mp)
Initial value Bit no. Description
off 0 Indicator, pilot injection active
on 1 not in use
on 2 not in use
off 3 Injection quantity > applicatively adjustable shut-off threshold
off 4 Maximum start of energizing > minimum start of energizing
off 5 MI residual quantity not below minimum
off 6 Energizing time does not fall below minimum

injcrv_pii3.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI3 - 329 -
DS/ESM Pilot injection 3 Veh-DrvTrn-Eng-InjCtl-InjCrv

Initial value Bit no. Description


off 7 Request from the injection co-ordinator, InjCrv_stInjCharSetVal.6 == 1 (see
“Injection co-ordinator (InjCrv_Co)” on page 280) and release by the redundant
start EngM_stInjCharActVal.6 == 1 (see “Engine speed evaluation after test
injection (CrS_ChkStrtSpd)” on page 560)

Quantity calculation for pilot injection 3 The PiI3 fuel injection quantity is calculated based on the engine operating point. The basic value is
calculated from the basic map InjCrv_qPiI3Bas_MAP. The correction quantities from the water and air
temperatures InjCrv_qPiI3EnvCor (see “Correction values for post injection 3 (InjCrv_PiI3EnvCor)” on
page 332) are added to this basic value. Additionally, a customer specific additive correction
InjCrv_qPiI3AddCor ( see “Customer related corrections for pilot injection 3 (InjCrv_PiI3AddCor)” on page
336) can be included in the calculation.
If there is a request from the exhaust gas aftertreatment system, the calculated injection quantity is switched
to the regeneration value InjCrv_qPiI3Rgn (see “Regeneration values for pilot injection 3 (InjCrv_PiI3Rgn)”
on page 337) by the “InjCrv_PiI3RgnSwtQ function” on page 338. The delayed status of the exhaust gas
treatment system EGT_stDel and the mask InjCrv_stPiI3RgnDelMsk_C are used to prevent a calculation
of the base value.
The limited setpoint quantity InjCrv_qPiI3SetLim_mp is calculated from the maximum selection of
calculated quantities using the required minimum injection quantity InjCrv_qPiIMin_mp, which is computed
once for all injections in “Quantity calculation for pilot injection 1” on page 291. If the release of PiI3 is not
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

given (InjCrv_stPiI3_mp.0 == 0) the calculated quantity InjCrv_qPiI3Des is set to 0.


It is possible to shut off the injection by applying the factor InjCrv_facPiI3QntMin_C. For this, the minimum
injection quantity for a pilot injection is multiplied by the factor and compared to the calculated injection
quantity. If the calculated quantity is less, the injection is inhibited.
Furthermore, the release can also be blocked if the remaining quantity required for the main injection is
greater than the total quantity less the pilot injection quantities.
Figure 375 : Quantity calculation for pilot injection 3
In jC r v _ s tIn jC h a r A c tV a l.IN J C R V _ P II1 ( 4 ) = = 0

IN J C R V _ S T M I1 M IN P II1 P II3 (5 )

IN J C R V _ S T M I1 M IN P II3 (6 ) s ta te
R a ilC D _ p P e a k p P e a k In jC r v _ q M I1 M in P iI3 _ m p
q O u t In jC r v _ s tP iI3 _ m p .P II_ Q U A N T IT Y _ O K ( 5 )
In jC r v _ tiP iI1 M I1 tiD iff
In jV lv _ fa c F T S W v C o r fa c W v C o r

In jC r v _ Q n tM in
In jC tl_ q S e tU n B a l
In jC r v _ q P iI1 S e tL im 0 _ m p
E G T _ s tD e l
B IT
In jC r v _ s tP iI3 R g n D e lM s k _ C A N D

E n g _ n A v rg P

In jC r v _ q P iI3 M a x _ m p In jC r v _ q P iI3 S e tL im _ m p
In jC tl_ q S e tU n B a l

In jC r v _ q P iI3 M a x _ M A P In jC r v _ s tP iI3 _ m p .P II_ A C T IV E ( 0 ) = = 0


In jC r v _ q P iI3 S e tL im M a x _ m p
P
In jC r v _ q P iI3 B a s _ m p
M N M X In jC r v _ q P iI3 D e s
q N o rm a l o u t
q R g n
In jC r v _ q P iI3 B a s _ M A P R g n V a l
In jC r v _ q P iI3 E n v C o r In jC r v _ q P iI3 S e t_ m p
In jC r v _ P iI3 R g n S w tQ
In jC r v _ q P iI3 A d d C o r
In jC r v _ s tP iI3 _ m p .P II_ Q N T M IN _ O K ( 3 )
In jC r v _ q P iI3 R g n

E G T _ s t
s tR g n
In jC r v _ P iI3 R g n V a l_ m p
R g n V a l
E G T _ tiR g n
tiR g n
In jC r v _ P iI3 R g n A c tv
In jC r v _ q P iIM in _ m p
In jC r v _ fa c P iI3 Q n tM in _ C in jc r v _ p ii3 _ 3 .d s f

Release of pilot injection 3 based on the energizing The energizing time of PiI3 is estimated by the InjVCD_estET function (see “Estimating the energizing time
time (InjVCD_EstET)” on page 700). If the energizing time is too little, the injection is shut off via
InjCrv_stPiI3_mp.6.
Since the energizing time maps need a volume as input value, the fuel quantity InjCrv_qPiI3SetLim_mp is
first converted to the volume InjCrv_volPiI3_mp by FlSys_rhoFl.
Figure 376 : Release of pilot injection 3 based on the energizing time

In jV C D _ P iI3 _ E S T E T ( 2 )
s ta te
In jC r v _ s tP iI3 _ m p .6
In jC r v _ v o lP iI3 _ m p s ta te
v o lIn
In jC r v _ tiP iI3 E T _ m p
R a ilC D _ p P e a k tiO u t
p P e a k
E n g M _ n u m T D C
n u m T D C
in jc r v _ p ii3 _ 2 .d s f

E n g M _ n u m C y l
n u m C y l

In jV C D _ e s tE T

19.3.2002 injcrv_pii3.fm
- 330 - InjCrv_PiI3 Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Pilot injection 3 DS/ESM

Pilot injection 3 start of energizing The PiI3 start of energizing is defined absolute to the TDC from a basic map. If PiI1 is not released, the angle
is calculated from the basic map InjCrv_phiPiI3Bas1_MAP. If PiI1 is released, the angle is defined by the
basic map InjCrv_phiPiI3Bas2_MAP.
Corrections from different environmental conditions InjCrv_phiPiI3EnvCor (see “Correction values for post
injection 3 (InjCrv_PiI3EnvCor)” on page 332) and a customer specific correction InjCrv_phiPoI2AddCor
(see “Customer related corrections for pilot injection 3 (InjCrv_PiI3AddCor)” on page 336) are added to the
values from the basic map.
If there is a request from the exhaust gas treatment system, the corrected basic value
InjCrv_phiPiI3Cor_mp is switched to the regeneration value InjCrv_phiPiI3Rgn_mp (see
“Regeneration values for pilot injection 3 (InjCrv_PiI3Rgn)” on page 337) by the “InjCrv_PiI3RgnSwtSOE
function” on page 338. The delayed status of the exhaust gas treatment system EGT_stDel and the mask
InjCrv_stPiI3RgnDelMsk_C are used to prevent a calculation of the base value.
For monitoring the PiI3 maximum energizing time, InjCrv_tiPiI3ET_mp +InjCrv_tiPse(see “Calculating
the minimum time between 2 injections (InjCrv_SetTiPse)” on page 285) is converted to an angle and
subtracted from InjCrv_phiPiI3Set_mp. If the resulting angle is less than the start of energizing of the
following injection, the PiI3 start of energizing will be shifted by InjCrv_phiPiI3Tot_mp in front of the start
of energizing of the following injection. If this is no longer possible because the maximum angle
InjCrv_phiPiIMax_C has been exceeded, "0" will be output as the angle and the release blocked
(InjCrv_stPiI3_mp.4 = 0).

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Figure 377 : Pilot injection 3 start of energizing
E G T _ s tD e l
B IT
In jC r v _ s tP iI3 R g n D e lM s k _ C A N D

In jC r v _ s tIn jC h a r A c tV a l.IN J C R V _ P II1 ( 4 ) = = 1

P
E n g _ n A v rg In jC r v _ p h iP iI3 B a s _ m p

In jC tl_ q S e tU n B a l

In jC r v _ p h iP iI3 B a s 1 _ M A P

in jc r v _ p ii3 _ 5 .d s f
P
In jC r v _ p h iP iI3 C o r _ m p

p h iN o r m a l
In jC r v _ p h iP iI3 B a s 2 _ M A P p h iO u t
p h iR g n
In jC r v _ p h iP iI3 E n v C o r In jC r v _ p h iP iI3 S e t_ m p
R g n V a l
In jC r v _ p h iP iI3 A d d C o r In jC r v _ P iI3 R g n S w tS O E

In jC r v _ s tP iI3 _ m p .4
In jC r v _ p h iP iI3 R g n
& !
In jC r v _ P iI3 R g n V a l_ m p

In jC r v _ tiP iI3 E T _ m p In jC r v _ p h iP iI3 T o t_ m p


In jC r v _ s tP iI3 _ m p .0 = = 0
In jC r v _ tiP s e
In jC r v _ p h iP iI3 S e tL im _ m p

3 6 0 ° * m in / ( 6 * 1 0 ^ 7 m s ) In jC r v _ p h iP iI3 D e s

In jC r v _ p h iM I1 D e s

In jC r v _ p h iP iI1 D e s

In jC r v _ tiP iI1 D e s

3 6 0 ° * m in / ( 6 * 1 0 ^ 7 m s )

In jC r v _ p h iP iIM a x _ C

The correlation of the individual angles is explained in the following diagram.


Figure 378 : Structure of PiI3 start of energizing
T D C
in jc r v _ p ii3 _ 6 .d s f

S O E o f P iI1 = In jC r v _ p h iP iI1 D e s

In jC r v _ tiP iI3 E T _ m p
In jC r v _ p h iM ID e s _ m p

P iI3 P iI1 M I

t, p h i
la te s t S O E ( r e la tiv e to P iI1 )
In jC r v _ tiP iI3 E T _ m p + In jC r v _ tiP s e
S O E o f P iI3 = In jC r v _ p h iP iI3 D e s

e a r lie s t S O E ( a b s o lu te to T D C )
In jC r v _ p h iP iIM a x _ C

ECU initialization All output values are initialized with zero.

Output values InjCrv_phiPiI3Des: desired angle component for PiI3 start of enrgising [deg CrS] <SWORD>

injcrv_pii3.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI3 - 331 -
DS/ESM Pilot injection 3 Veh-DrvTrn-Eng-InjCtl-InjCrv

--->
InjCrv_qPiI3Des: desired injection quantity for PiI3 [mm^3/inj] <SWORD> --->
InjCrv_stInjCharActVal: injection characteristic actual value [-] <UBYTE> --->

Input values EGT_st: Regeneration request of exhaust gas treatment (engine speed synchronous) [-]
<ULONG> --->
EGT_stDel: delayed regeneration request of exhaust gas treatment (engine speed
synchronous) [-] <ULONG> --->
EGT_tiRgn: time since last change of EGT_st (n-sync) [s] <ULONG> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
EngM_numCyl: number of cylinders [-] <UBYTE> --->
EngM_numTDC: Current firing TDC [-] <UBYTE> --->
InjCrv_phiMI1Des: desired reference angle for begin of MI1 [deg CrS] <SWORD> --->
InjCrv_phiPiI1Des: desired angle component for PiI1 start of energising [deg CrS] <SWORD>
--->
InjCrv_phiPiI3AddCor: customer specific correction angle for PiI3 [deg CrS] <SWORD> --->
InjCrv_phiPiI3EnvCor: correction angle for pilot injection 3 [deg CrS] <SWORD> --->
InjCrv_phiPiI3Rgn: regeneration value for PiI3 start of energising angle component [deg
CrS] <SWORD> --->
InjCrv_qPiI1SetLim0_mp: limited set injection quantity of PiI1 without Pii2 influence
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

[mm^3/inj] <SWORD> --->


InjCrv_qPiI3AddCor: customer specific correction quantity for PiI3 [mm^3/inj] <SWORD> --->
InjCrv_qPiI3EnvCor: correction quantity for pilot injection 3 [mm^3/inj] <SWORD> --->
InjCrv_qPiI3Rgn: regeneration value for PiI3 injection quantity [mm^3/inj] <SWORD> --->
InjCrv_qPiIMin_mp: minimum injection quantity of an pilot injection, without wave
correction [mm^3/inj] <SWORD> --->
InjCrv_tiPiI1MI1: time between end of PiI1 and begin of MI1 [us] <SWORD> --->
InjCrv_tiPse: constant or measured minimum time between 2 injections [us] <SWORD> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->
InjVlv_facFTSWvCor: pressure wave correction factor depending on fuel temperature [-]
<SWORD> --->
RailCD_pPeak: maximum rail pressure of last 10ms [hPa] <SWORD> --->

Measuring points IInjCrv_stPiI3_mp: Release status for PiI3


InjCrv_phiPiI3Bas_mp: angle component SOE PIi3 base value [deg CrS] <SWORD> --->
InjCrv_phiPiI3Cor_mp: corrected PiI3 start of energising angle component base value [deg
CrS] <SWORD> --->
InjCrv_phiPiI3Set_mp: set value PiI3 start of energising angle component base value [deg
CrS] <SWORD> --->
InjCrv_phiPiI3SetLim_mp: limited set value PiI3 start of energising angle component base
value [deg CrS] <SWORD> --->
InjCrv_phiPiI3Tot_mp: energising time PiI3 (inclusive min. time between two injections)
converted to angle [deg CrS] <SWORD> --->
InjCrv_PiI3RgnVal_mp: activation value for PiI3 release via the exhaust gas aftertreatment
system [-] <ULONG> --->
InjCrv_qMI1MinPiI3_mp: minimum quantity of MI1 if PiI3 will be released [mm^3/inj] <SWORD>
--->
InjCrv_qPiI3Bas_mp: injection quantity PiI3 base value [mm^3/inj] <SWORD> --->
InjCrv_qPiI3Max_mp: maximum PiI3 injection quantity [mm^3/inj] <SWORD> --->
InjCrv_qPiI3Set_mp: PiI3 injection quantity set value [mm^3/inj] <SWORD> --->
InjCrv_qPiI3SetLim_mp: limited set injection quantity of PiI3 [mm^3/inj] <SWORD> --->
InjCrv_qPiI3SetLimMax_mp: limited maximum set injection quantity of PiI3 [mm^3/inj]
<SWORD> --->
InjCrv_tiPiI3ET_mp: estimated energising time of PiI3 [us] <SWORD> --->

Application parameters InjCrv_facPiI3QntMin_C: factor to switch off PiI3 applicabable if injection quantity is
too low<value> --->
InjCrv_phiPiI3Bas1_MAP: PiI3 start of energising angle component base value map without
PiI1 active<map_individual> --->
InjCrv_phiPiI3Bas2_MAP: PiI3 start of energising angle component base value map with PiI1
active<map_individual> --->
InjCrv_phiPiIMax_C: absolute earliest SOE of any PiI<value> --->
InjCrv_qPiI3Bas_MAP: injection quantity PiI3 base value map<map_individual> --->
InjCrv_qPiI3Max_MAP: PiI3 injection quantity maximum value map<map_individual> --->
InjCrv_stPiI3RgnDelMsk_C: mask for deactivation of PiI3 base value calculation in
regeneration mode<value> --->

Additional information The calculation of the quantities and the start of energizing angle is based on the respective release status.
If no release has been given, zero is output to the corresponding measuring points.

19.3.2002 injcrv_pii3.fm
- 332 - InjCrv_PiI3EnvCor Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Correction values for post injection 3 DS/ESM

Correction values for post injection 3 (InjCrv_PiI3EnvCor)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview The calculation of pilot injection3 (PiI3) is based on the operating point ( = engine speed, injected fuel
quantity) and various environmental conditions. Therefore, the necessary corrections in the injection quantity
and start of energizing angle are computed.
Figure 379 : Calculating the correction values for pilot injection 3 - overview

E n g _ n A v rg

In jC tl_ q S e tU n B a l In jC r v _ q P iI3 E n v C o r
C a lc u la te
In jC r v _ fa c P iI3 A T S Q C o r
e n v ir o n m e n t
In jC r v _ fa c P iI3 E T S Q C o r
c o r r e c tio n s
In jC r v _ fa c P iI3 A P S Q C o r In jC r v _ p h iP iI3 E n v C o r
fo r P iI3
In jC r v _ fa c P iI3 E T S S O E C o r

A c c o r d in g to B o s c h s ta n d a r d in jc r v _ p ii3 e n v c o r _ 1 0 0 .d s f

Functional description Since the operating point and environmental conditions differ considerably in terms of dynamic behaviour,
calculation of the correction value is divided into 2 processes for the purposes of run time.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
1. InjCrv_PiI3EnvCor: Calculations in the 20ms time slice.
2. InjCrv_PiI3EnvCorSlow: Calculations in the 100ms time slice.
The calculation of the 20ms time slice is described below. For calculation of the 100ms time slice (see
“Weighting factors for pilot injection 3 (InjCrv_PiI3EnvCorSlow)” on page 334).
Calculating the correction value for quantity cor- Basic correction values are determined based on the operating point (Eng_nAvrg and InjCtl_qSetUnBal)
rection of pilot injection 3 and on the environmental conditions: intake air temperature, engine temperature and air pressure. For each
environmental condition a correction quantity is calculated (InjCrv_qPiI3ATSCor_mp,
InjCrv_qPiI3ETSCor_mp and InjCrv_qPiI3APSCor_mp) by multiplying by weighting factors
InjCrv_facPiI3ATSQCor, InjCrv_facPiI3ETSQCor and InjCrv_facPiI3APSQCor. The sum of the
individual values amounts to the correction quantity InjCrv_qPiI3EnvCor.
Figure 380 : Calculating the correction value for quantity correction of pilot injection 3
E n g _ n A v rg P

In jC r v _ q P iI3 A T S C o r _ m p In jC r v _ q P iI3 E n v C o r
In jC tl_ q S e tU n B a l

In jC r v _ q P iI3 A T S C o r _ M A P
In jC r v _ fa c P iI3 A T S Q C o r

In jC r v _ q P iI3 E T S C o r _ m p

In jC r v _ q P iI3 E T S C o r _ M A P
In jC r v _ fa c P iI3 E T S Q C o r

in jc r v _ p ii3 e n v c o r _ 1 .d s f
In jC r v _ q P iI3 A P S C o r _ m p

In jC r v _ q P iI3 A P S C o r _ M A P
In jC r v _ fa c P iI3 A P S Q C o r

Calculating the correction value for the pilot injec- For the correction of the start of energizing, the basic correction value is determined based on the engine
tion 3 start of energizing operating point. This value is multiplied by the weighting factor InjCrv_facPiI3ETSSOECor. The resulting
value is the start of energizing correction value InjCrv_phiPiI3EnvCor.
Figure 381 : Calculating the correction value for the pilot injection 3 start of energizing

In jC r v _ fa c P iI3 E T S S O E C o r In jC r v _ p h iP iI3 E n v C o r
in jc r v _ p ii3 e n v c o r _ 2 .d s f

E n g _ n A v rg P

In jC tl_ q S e tU n B a l

In jC r v _ p h iP iI3 E T S C o r _ M A P

ECU initialization Additive correction values are initialized with "0".

Output values InjCrv_phiPiI3EnvCor: correction angle for pilot injection 3 [deg CrS] <SWORD> --->
InjCrv_qPiI3EnvCor: correction quantity for pilot injection 3 [mm^3/inj] <SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


IInjCrv_facPiI3ETSQCor: Quantity correction factor for PiI3 based on the engine temperature
InjCrv_facPiI3APSQCor: quantity correction value for pilot injection 3 dependent on
atmospheric pressure [-] <SWORD> --->
InjCrv_facPiI3ATSQCor: quantity correction value for pilot injection 3 dependent on intake
air temperatur [-] <SWORD> --->
InjCrv_facPiI3ETSSOECor: start of energising correction value for PiI3 based on engine
temperature [-] <SWORD> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

injcrv_pii3envcor.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI3EnvCor - 333 -
DS/ESM Correction values for post injection 3 Veh-DrvTrn-Eng-InjCtl-InjCrv

Measuring points InjCrv_qPiI3APSCor_mp: correction quantity for pilot injection 3 dependent on atmospheric
pressure [mm^3/inj] <SWORD> --->
InjCrv_qPiI3ATSCor_mp: correction quantity for pilot injection 3 dependent on intake air
temperature [mm^3/inj] <SWORD> --->
InjCrv_qPiI3ETSCor_mp: correction quantity for pilot injection 3 dependent on engine
temperature [mm^3/inj] <SWORD> --->

Application parameters InjCrv_phiPiI3ETSCor_MAP: basic correction value for PiI3 start of energising angle
component based on the engine temperature<map_individual> --->
InjCrv_qPiI3APSCor_MAP: quantity correction map for pilot injection 3 dependent on
atmospheric pressure<map_individual> --->
InjCrv_qPiI3ATSCor_MAP: quantity correction map for pilot injection 3 dependent on intake
air temperature<map_individual> --->
InjCrv_qPiI3ETSCor_MAP: quantity correction map for pilot injection 3 dependent on engine
temperature<map_individual> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 injcrv_pii3envcor.fm
- 334 - InjCrv_PiI3EnvCorSlow Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Weighting factors for pilot injection 3 DS/ESM

Weighting factors for pilot injection 3 (InjCrv_PiI3EnvCorSlow)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview The calculation of pilot injection3 (PiI3) is based on the operating point ( = engine speed and injected fuel
quantity) and various environmental conditions. Therefore, the pertinent correction factors are determined
here for the calculated correction values.
Figure 382 : Weighting factors for pilot injection 3 - overview

IA T S C D _ tA ir In jC r v _ fa c P iI3 A T S Q C o r

C a lc u la te c o r r e c tio n In jC r v _ fa c P iI3 E T S Q C o r
E n g _ tE n g
fa c to r s fo r e n v ir o n m e n t In jC r v _ fa c P iI3 A P S Q C o r

c o r r e c tio n s o f P iI3
A P S C D _ p V a l In jC r v _ fa c P iI3 E T S S O E C o r

A c c o r d in g to B o s c h s ta n d a r d in jc r v _ p ii3 e n v c o r s lo w _ 1 0 0 .d s f

Functional description Since the operating point and environmental conditions differ considerably in terms of dynamic behaviour,
calculation of the correction value has been divided into 2 processes for the purposes of run time.

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
1. InjCrv_PiI3EnvCorSlow: Calculations in the 100ms time slice.
2. InjCrv_PiI3EnvCor: Calculations in the 20ms time slice.
Calculation in the 100ms time slice is described below. For calculation of the 20ms time slice (see “Correction
values for post injection 3 (InjCrv_PiI3EnvCor)” on page 332).
Calculating the weighting factors for pilot injection Based on the environmental conditions: intake air temperature, engine temperature and air pressure,
3 quantity correction weighting factors InjCrv_facPiI3ATSQCor, InjCrv_facPiI3ETSQCor and InjCrv_facPiI3APSQCor are
calculated for the quantity correction. Each environmental condition has its own curve
(InjCrv_facPiI3ATSQCor_CUR, InjCrv_facPiI3ETSQCor_CUR and InjCrv_facPiI3APSQCor_CUR). Since
the dynamic behaviour of the environmental conditions is sluggish, 100ms time slice calculations suffice.
Figure 383 : Calculating the weighting factors for pilot injection 3 quantity correction
P

IA T S C D _ tA ir In jC r v _ fa c P iI3 A T S Q C o r

In jC r v _ fa c P iI3 A T S Q C o r _ C U R

E n g _ tE n g In jC r v _ fa c P iI3 E T S Q C o r

In jC r v _ fa c P iI3 E T S Q C o r _ C U R

A P S C D _ p V a l In jC r v _ fa c P iI3 A P S Q C o r

In jC r v _ fa c P iI3 A P S Q C o r _ C U R
in jc r v _ p ii3 e n v c o r s lo w _ 1 .d s f

Calculating the weighting factors for the pilot injec- The weighting factor for the start of energizing angle correction InjCrv_facPiI3ETSSOECor is calculated
tion 3 start of energizing based on the engine temperature. It has its own curve (InjCrv_facPiI3ETSSOECor_CUR) for this purpose.
Since the dynamic behaviour of the environmental condition is sluggish, a 100ms time slice calculation is
sufficient.
Figure 384 : Weighting factor calculation for start of energizing correction of pilot injection 3
in jc r v _ p ii3 e n v c o r s lo w _ 2 .d s f

E n g _ tE n g In jC r v _ fa c P iI3 E T S S O E C o r

In jC r v _ fa c P iI3 E T S S O E C o r _ C U R

ECU initialization All factors are initialized with "1.0".

Output values InjCrv_facPiI3APSQCor: quantity correction value for pilot injection 3 dependent on
atmospheric pressure [-] <SWORD> --->
InjCrv_facPiI3ATSQCor: quantity correction value for pilot injection 3 dependent on intake
air temperatur [-] <SWORD> --->
InjCrv_facPiI3ETSQCor: quantity correction value for pilot injection 3 dependent on engine
temperature [-] <SWORD> --->
InjCrv_facPiI3ETSSOECor: start of energising correction value for PiI3 based on engine
temperature [-] <SWORD> --->

Input values APSCD_pVal: atmospheric pressure [hPa] <SWORD> --->


Eng_tEng: engine temperature [deg C] <SWORD> --->
IATSCD_tAir: intake air temperature [deg C] <SWORD> --->

Application parameters InjCrv_facPiI3APSQCor_CUR: quantity correction curve for pilot injection 3 dependent on
atmospheric pressure<curve_individual> --->
InjCrv_facPiI3ATSQCor_CUR: quantity correction curve for pilot injection 3 dependent on

injcrv_pii3envcorslow.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI3EnvCorSlow - 335 -
DS/ESM Weighting factors for pilot injection 3 Veh-DrvTrn-Eng-InjCtl-InjCrv

intake air temperature<curve_individual> --->


InjCrv_facPiI3ETSQCor_CUR: quantity correction curve for pilot injection 3 dependent on
engine temperature<curve_individual> --->
InjCrv_facPiI3ETSSOECor_CUR: start of energising correction curve for PiI3 based on the
engine temperature<curve_individual> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 injcrv_pii3envcorslow.fm
- 336 - InjCrv_PiI3AddCor Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Customer related corrections for pilot injection 3 DS/ESM

Customer related corrections for pilot injection 3 (InjCrv_PiI3AddCor)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview Calculation of customer specific correction values for pilot injection 3.

Functional description No modification of initialized values.


The customer specific additive corrections for pilot injection 3 are calculated as follows:
1. Start of energizing correction is taken from map InjCrv_phiPiI3TrnCor_MAP as a function of engine
speed Eng_nAvrg and unbalanced injection quantity InjCtl_qSetUnBal and can be displayed as
InjCrv_phiPiI3TrnCor_mp. It is corrected with a multiplication factor InjCrv_facphiPiI3TrnCor_mp
taken from InjCrv_facphiPiI3TrnCor_CUR as a function of rail pressure setpoint difference value
Rail_pDeltaSetPoint. The corrected value is displayed as InjCrv_phiPiI3AddCor_mp, subsequently
limited by InjCrv_phiPiI3TrnCorMin_C and InjCrv_phiPiI3TrnCorMax_C and transmitted via the
message InjCrv_phiPiI3AddCor.
2. Quantity correction is applied similar to the function above where the base correction value is taken from
a map InjCrv_qPiI3TrnCor_MAP as a function of engine speed Eng_nAvrg and unbalanced injection
quantity InjCtl_qSetUnBal and can be displayed as InjCrv_qPiI3TrnCor_mp. It is corrected with a
multiplication factor InjCrv_facqPiI3TrnCor_mp taken from InjCrv_facqPiI3TrnCor_CUR as a function
of rail pressure setpoint difference value Rail_pDeltaSetPoint. The corrected value is displayed as
InjCrv_qPiI3AddCor_mp, subsequently limited by InjCrv_qPiI3TrnCorMin_C and
InjCrv_qPiI3TrnCorMax_C and transmitted via the message InjCrv_qPiI3AddCor.
Figure 385 : PiI3 start of energizing correction

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
In jC r v _ p h iP iI3 T r n C o r M a x _ C
P

In jC r v _ p h iP iI3 T r n C o r M in _ C
P

E n g _ n A v rg P

In jC r v _ p h iP iI3 T r n C o r _ m p In jC r v _ p h iP iI3 A d d C o r _ m p In jC r v _ p h iP iI3 A d d C o r


In jC tl_ q S e tU n B a l

In jC r v _ p h iP iI3 T r n C o r _ M A P

in jc r v _ p ii3 a d d c o r _ 1 .d s f
P

R a il_ p D e lta S e tP o in t In jC r v _ fa c p h iP iI3 T r n C o r _ m p

In jC r v _ fa c p h iP iI3 T r n C o r _ C U R
Eng_nAvrgInjCrv_facphiPI3TrnCor_CURInjCrv_facphiP I3TrnCo_rmpInjCrv_phiPI3AdCornI jCr_vphiPI3Ad Cor_mpInjCr_vphiPI3TrnCor_MAPInjCrv_phiPI3TrnCor_mpInjCrv_phiP I3TrnCorMax_CInjCrv_phiPI 3TrnCorMin_CInjCtl_qSetUnBalRi _pDeltaSetPoint

Figure 386 : PiI3 quantity correction

In jC r v _ q P iI3 T r n C o r M a x _ C
P

In jC r v _ q P iI3 T r n C o r M in _ C
P

E n g _ n A v rg P

In jC r v _ q P iI3 T r n C o r _ m p In jC r v _ q P iI3 A d d C o r _ m p In jC r v _ q P iI3 A d d C o r


In jC tl_ q S e tU n B a l

In jC r v _ q P iI3 T r n C o r _ M A P

in jc r v _ p ii3 a d d c o r _ 2 .d s f
P

R a il_ p D e lta S e tP o in t In jC r v _ fa c q P iI3 T r n C o r _ m p

In jC r v _ fa c q P iI3 T r n C o r _ C U R
Eng_nAvrgInjCrv_facqPiI3TrnCor_CURInjCrv_facqPi I3TrnCo_rmpInjCrv_qPiI3AdCornI jCrv_qPiI3Ad Cor_mpInjCrv_qPiI3TrnCo_rMAPInjCrv_qPiI3TrnCor_mpInjCrv_qPi I3TrnCorMax_CInjCrv_qPiI 3TrnCorMin_CInjCtl_qSetUnBlRai _pDeltaSetPoint

ECU initialization The correction values InjCrv_qPiI3AddCor and InjCrv_phiPiI3AddCor are initialized with their default
value "0".

Output values InjCrv_phiPiI3AddCor: customer specific correction angle for PiI3 [deg CrS] <SWORD> --->
InjCrv_qPiI3AddCor: customer specific correction quantity for PiI3 [mm^3/inj] <SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->
Rail_pDeltaSetPoint: limited rail pressure setpoint transient correction difference value
[hPa] <SWORD> --->

Measuring points InjCrv_facphiPiI3TrnCor_mp: PiI3 correction angle factor for SoE [-] <SWORD> --->
InjCrv_facqPiI3TrnCor_mp: PiI3 correction quantity factor for SoE [-] <SWORD> --->
InjCrv_phiPiI3AddCor_mp: PiI3 unlimited correction angle for SoE [deg CrS] <SWORD> --->
InjCrv_phiPiI3TrnCor_mp: PiI3 unscaled correction angle for SoE [deg CrS] <SWORD> --->
InjCrv_qPiI3AddCor_mp: PiI3 unlimited correction quantity for SoE [mm^3/inj] <SWORD> --->
InjCrv_qPiI3TrnCor_mp: PiI3 unscaled correction quantity for SoE [mm^3/inj] <SWORD> --->

Application parameters InjCrv_facphiPiI3TrnCor_CUR: transient angle correction factor curve of


PiI3<curve_individual> --->
InjCrv_facqPiI3TrnCor_CUR: transient quantity correction factor curve of
PiI3<curve_individual> --->
InjCrv_phiPiI3TrnCor_MAP: transient SoE angle correction map of PiI3<map_individual> --->
InjCrv_phiPiI3TrnCorMax_C: largest SOE correction of PiI3<value> --->
InjCrv_phiPiI3TrnCorMin_C: smallest SOE correction of PiI3<value> --->
InjCrv_qPiI3TrnCor_MAP: transient quantity correction map of PiI3<map_individual> --->
InjCrv_qPiI3TrnCorMax_C: largest quantity correction of PiI3<value> --->
InjCrv_qPiI3TrnCorMin_C: smallest quantity correction of PiI3<value> --->

injcrv_pii3addcor.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI3Rgn - 337 -
DS/ESM Regeneration values for pilot injection 3 Veh-DrvTrn-Eng-InjCtl-InjCrv

Regeneration values for pilot injection 3 (InjCrv_PiI3Rgn)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Functional overview In order to operate a particle filter/DNOX catalyser, it is necessary to switch to other basic values for the
purpose of calculating PiI3. These base values are calculated here.

Functional description The output variables InjCrv_qPiI3Rgn and InjCrv_phiPiI3Rgn are calculated using the maps
InjCrv_qPiI3Rgn_MAP andInjCrv_phiPiI3Rgn_MAP.
Figure 387 :

E n g _ n A v rg P

In jC r v _ p h iP iI3 R g n
In jC tl_ q S e tU n B a l

In jC r v _ p h iP iI3 R g n _ M A P

E n g _ n A v rg P

in jc r v _ p iI3 r g n _ 1 .d s f
In jC r v _ q P iI3 R g n
In jC tl_ q S e tU n B a l

In jC r v _ q P iI3 R g n _ M A P
Eng_nAvrgInjCrv_phiPiI3RgnI jCr_vphiP I3RgnM_APInjCrv_qPiI 3RgnI njCrv_qPiI3Rgn_MAPInjCtl_qSetUnBal
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

ECU initialization Output values InjCrv_qPiI3Rgn and InjCrv_phiPiI3Rgn are initialized with ”0”.

Output values InjCrv_phiPiI3Rgn: regeneration value for PiI3 start of energising angle component [deg
CrS] <SWORD> --->
InjCrv_qPiI3Rgn: regeneration value for PiI3 injection quantity [mm^3/inj] <SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

Application parameters InjCrv_phiPiI3Rgn_MAP: Regeneration basevalue start of energising of PiI3<map_individual>


--->
InjCrv_qPiI3Rgn_MAP: Regeneration basevalue injection quantity PiI3<map_individual> --->

19.3.2002 injcrv_pii3rgn.fm
- 338 - InjCrv_PiI3RgnLib Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Function library for the PiI3 regeneration operation DS/ESM

Function library for the PiI3 regeneration operation (InjCrv_PiI3RgnLib)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview Functions InjCrv_PiI3RgnActv, InjCrv_PiI3RgnSwtQ and InjCrv_PiI3RgnSwtSOE are


provided to guarantee a secure switchover of PiI3 from normal to regeneration mode and vice versa.
Figure 388 : Function library for the PiI3 regeneration operation - overview

In jC r v _ q P iI3 R g n

C a lc u la te r e g e n e r a tio n
In jC r v _ q P iI3 B a s _ m p In jC r v _ q P iI3 S e tL im M a x _ m p
q u a n tity fo r

E G T _ s t P iI3

In jC r v _ s tP iI3 R g n M s k _ C
P
A c tiv a te r e g e n e r a tio n In jC r v _ P iI3 R g n V a l_ m p
In jC r v _ d tP iI3 R g n R m p U p _ C
P fo r P iI3
In jC r v _ d tP iI3 R g n R m p D o w n _ C
P

C a lc u la te r e g e n e r a tio n
In jC r v _ p h iP iI3 R g n In jC r v _ p h iP iI3 S e t_ m p
s ta r t o f e n e r g is in g

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
In jC r v _ p h iP iI3 C o r _ m p fo r P iI3

in jc r v _ p ii3 r g n lib _ 1 0 0 .d s f
A c c o r d in g to B o s c h s ta n d a r d

Functional description
InjCrv_PiI3RgnActv function In the message EGT_st.0...30 the current EGT activation states are set (see “Regeneration coordinator for
exhaust-gas treatment (EGT_CoRgn)” on page 439). Regeneration operation for the various activation states
can be selected via the InjCrv_stPiI3RgnMsk_C mask. If at least one of the selected bits in EGT_st is set,
the regeneration operation is activated for PiI3. The activation factor for the regeneration operation is
calculated via a ramp. At EGT_st.EGT_RMP_END (bit 31) == 1) the system jumps directly to the end of the
ramp, thus bringing the ramp itself to the end. If the regeneration operation for PiI3 is not active, a value of
"0" is returned. The ramp slopes can be adjusted by InjCrv_dtiPiI3RgnRmpUp_C and
InjCrv_dtiPiI3RgnRmpDwn_C.
The time since the regeneration operation EGT_tiRgn is not required for the common rail basic function.
Figure 389 : Activating the regeneration operation of PiI3

E G T _ s t.3 1

in jc r v _ p ii3 r g n lib _ 1 .d s f
In jC r v _ d tiP iI3 R g n R m p U p _ C
In jC r v _ d tiP iI3 R g n R m p D w n _ C
P

p a ra m
E G T _ s t.0 ....3 0
B it x R A M P y In jC r v _ P iI3 R g n V a l_ m p
In jC r v _ s tP iI3 R g n M s k _ C .0 ....3 0 A n d F U N C T .
e n d
P

T 0 ix
0

InjCrv_PiI3RgnSwtQ function This function switches between the corrected base value of the injection quantity and the regeneration value
InjCrv_qPiI3Rgn. It produces an interpolation between both values. The activation value
InjCrv_PiI3RgnVal_mp indicates the part of the regeneration value in the output value
InjCrv_qPiI3SetLimMax_mp as a number between 0 and 1.
Figure 390 : Switching the PiI3 injection quantity to its regeneration value

( R g n V a l) In jC r v _ P iI3 R g n V a l_ m p In jC r v _ q P iI3 S e tL im M a x _ m p ( q O u t)
in jc r v _ p ii3 r g n lib _ 2 .d s f

(q R g n ) In jC r v _ q P iI3 R g n

( q N o r m a l) In jC r v _ q P iI3 B a s _ m p

InjCrv_PiI3RgnSwtSOE function This function switches between the corrected base value of the start of energizing InjCrv_phiPiI3Cor_mp
and the regeneration value InjCrv_phiPiI3Rgn. It produces an interpolation between the respective values.
The activation value InjCrv_PiI3RgnVal_mp indicates the part of the regeneration values in the output value
InjCrv_phiPiI3Set_mp as a number between 0 and 1.
Figure 391 : Switching the PiI3 start of energizing to its regeneration values

( R g n V a l) In jC r v _ P iI3 R g n V a l_ m p In jC r v _ p h iP iI3 S e t_ m p ( p h iO u t)
in jc r v _ p ii3 r g n lib _ 3 .d s f

( p h iR g n ) In jC r v _ p h iP iI3 R g n

( p h iN o r m a l) In jC r v _ p h iP iI3 C o r _ m p

Output values InjCrv_phiPiI3Set_mp: set value PiI3 start of energising angle component base value [deg
CrS] <SWORD> --->
InjCrv_PiI3RgnVal_mp: activation value for PiI3 release via the exhaust gas aftertreatment
system [-] <ULONG> --->
InjCrv_qPiI3SetLimMax_mp: limited maximum set injection quantity of PiI3 [mm^3/inj]
<SWORD> --->

injcrv_pii3rgnlib.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PiI3RgnLib - 339 -
DS/ESM Function library for the PiI3 regeneration operation Veh-DrvTrn-Eng-InjCtl-InjCrv

Input values EGT_st: Regeneration request of exhaust gas treatment (engine speed synchronous) [-]
<ULONG> --->
EGT_tiRgn: time since last change of EGT_st (n-sync) [s] <ULONG> --->
InjCrv_phiPiI3Cor_mp: corrected PiI3 start of energising angle component base value [deg
CrS] <SWORD> --->
InjCrv_phiPiI3Rgn: regeneration value for PiI3 start of energising angle component [deg
CrS] <SWORD> --->
InjCrv_qPiI3Bas_mp: injection quantity PiI3 base value [mm^3/inj] <SWORD> --->
InjCrv_qPiI3Rgn: regeneration value for PiI3 injection quantity [mm^3/inj] <SWORD> --->

Application parameters InjCrv_dtiPiI3RgnRmpDwn_C: negative ramp slope for switching to PiI3 regeneration
value<value> --->
InjCrv_dtiPiI3RgnRmpUp_C: positive ramp slope for switching to PiI3 regeneration
value<value> --->
InjCrv_stPiI3RgnMsk_C: Mask for activation of regeneration in PiI3<value> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 injcrv_pii3rgnlib.fm
- 340 - InjCrv_MI Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Main injection DS/ESM

4.5.3.4 Main injection (InjCrv_MI)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Overview of the component The main injection 1 (MI1) provides the energy for the performance of the engine. It is therefore the main
factor responsible for supplying the engine torque. For an overview of the injections see “Injections of a
Common Rail system” on page 278.
Figure 392 : MI quantity and start of energizing - overview

E s tE T

E G T _ tiR g n

E G T _ s tD e l

E G T _ s t

In jC tl_ s tIn jC h a r S e tV a l

In jC tl_ q S e tU n B a l

E n g _ n A v rg

In jC r v _ q P iI1 D e s
In jC r v _ q M I1 D e s
In jC r v _ q P iI2 D e s Q u a n tity c a lc u la tio n
In jC r v _ q P iI3 D e s

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
In jC r v _ q P o I2 E ff

In jC r v _ fa c M I1 A T S Q C o r

In jC r v _ fa c M I1 E T S Q C o r
In jC r v _ M I1 E n v C o r S lo w In jC r v _ fa c M I1 A P S Q C o r In jC r v _ M I1 E n v C o r

In jC r v _ fa c M IF T S R a ilC o r In jC r v _ p h iM I1 E n v C o r

In jC r v _ p h iM I1 D e s

In jC r v _ p h iM I1 A d d C o r s ta r t o f e n e r g iz in g c a lc u la tio n
In jC r v _ M I1 A d d C o r

In jC r v _ q M I1 R g n

in jc r v _ m i_ 1 0 0 .d s f
In jC r v _ M I1 R g n In jC r v _ p h iM I1 R g n

A c c o r d in g to B o s c h s ta n d a r d
In jC r v _ p h iM I1 E n v C o r R g n
In jC r v _ fa c M I1 A T S Q C o r R g n

In jC r v _ fa c M I1 E T S Q C o r R g n
In jC r v _ M I1 E n v C o r S lo w R g n In jC r v _ M I1 E n v C o r R g n
In jC r v _ fa c M I1 A P S Q C o r R g n

EGT_stEGT_stDelEGT_tiRgnEng_nAvgrInjCrv_facMI1APSQCorInjCrv_facMI1APSQCoRrgnI jCrv_facMI1ATSQCor InjCr_vfacMI1ATSQCorRgnI jCrv_facMI1ETSQCoInrjCrv_facMI1ETSQCorRgn I njCrv_facMIFTSRalCi orInjCrv_MI1AdCorI njCrv_MI1EnvCoIrnjCrv_MI1EnvCoRrgnI jCrv_MI1EnvCorSlow I njCrv_MI1EnvCorSol wRgnI jCrv_MI1RgnI jCrv_phiMI1Ad CorInjCrv_phiMI1Des InjCr_vphiMI1EnvoCrInjCrv_phiMI1EnvCorRgnI jCr_vphiMI1RgInjCrv_qMI1Des InjCr_vqMI1RgInjCrv_qPiI1DesnI jCrv_qPiI2DesInjCrv_qPiI 3DesI njCrv_qPoI2EfInjCtl_qSetUnBlaInjCtl_stInjCharSetVal

Structure of the component Calculation of the MI1 is divided into 2 parts:


• Calculating the injection quantity
• Calculating the start of energizing
Calculating the main injection fuel quantity First the setpoint quantity is calculated for the main injection.
To do this, all torque forming quantities are subtracted from the total fuel quantity InjCtl_qSetUnBal. The
fuel quantities from pilot injection 1 (InjCrv_qPiI1Des), pilot injection 2 (InjCrv_qPiI2Des), pilot injection 3
(InjCrv_qPiI3Des) and post injection 2 (InjCrv_qPoI2Eff) are torque forming. The remaining quantity is
displayed on the measuring point InjCrv_qMI1Nrm_mp. If a request from the exhaust gas treatment system
is present, this normal fuel quantity is changed based on the “IInjCrv_MIRgnSwtQnt function” on page 352.
The setpoint value is output on measuring point InjCrv_qMI1Set_mp.
The MI1 fuel quantity is calculated based on the release of the pilot injections. Here, the current injection
characteristic is checked InjCrv_qMI1Set_mp to see if any pilot injections are active and, if so, how many.
The following combinations are possible:
• no pilot injection active
In this case no PiI occurs. The minimum quantity is calculated by the “InjCrv_QntMin” on page 287
function. If the remaining fuel quantity InjCrv_qMI1Set_mp is less than the minimum, a quantity of zero
is output in InjCrv_qMI1Des and the INJCRV_MI1 (2) bit is reset in the current injection characteristic
InjCrv_stInjCharActVal.
• PiI1 active, PiI2 inactive, PiI3 inactive
In this case PiI1 takes place. The minimum quantity is calculated by the “InjCrv_QntMin” on page 287
function. If the setpoint fuel quantity InjCrv_qMI1Set_mp is less than the minimum quantity, the minimum
quantity is output in InjCrv_qMI1Des.
• PiI1 active, PiI2 inactive and PiI3 active
In this case PiI1 and PiI3 take place. The minimum quantity is calculated by the “InjCrv_QntMin” on page
287 function. If the remaining fuel quantity InjCrv_qMI1Set_mp is less than the minimum, the minimum
fuel quantity is output in InjCrv_qMI1Des.
• PiI1 active, PiI2 active and PiI3 inactive
In this case both PiI1 and PiI2 take place. The minimum quantity is calculated by the “InjCrv_QntMin” on
page 287 function. If the setpoint fuel quantity InjCrv_qMI1Set_mp is less than the minimum quantity, the
minimum quantity is output in InjCrv_qMI1Des.
• PiI1 and PiI2 inactive, PiI3 active
In this case, only PiI3 takes place. The minimum quantity is calculated by the “InjCrv_QntMin” on page
287 function. If the remaining fuel quantity InjCrv_qMI1Set_mp is less than the minimum, the minimum
fuel quantity is output in InjCrv_qMI1Des.
The computed fuel quantity is represented in the measuring point InjCrv_qMI1Min_mp. If the MI1 is not
released (InjCrv_stInjCharSetVal.2 == 0, see “Injection co-ordinator (InjCrv_Co)” on page 280 and
EngM_stInjCharSetVal.2 == 0, see “Engine speed evaluation after test injection (CrS_ChkStrtSpd)” on
page 560) a "0" is issued.

injcrv_mi.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_MI - 341 -
DS/ESM Main injection Veh-DrvTrn-Eng-InjCtl-InjCrv

Figure 393 : Calculating the main injection fuel quantity

In jC r v _ s tIn jC h a r A c tV a l.IN J C R V _ P II3 ( 6 ) = = 0

in jc r v _ m i_ 1 .d s f
In jC r v _ s tIn jC h a r A c tV a l.IN J C R V _ P II1 ( 4 ) = = 0 &

In jC r v _ s tIn jC h a r A c tV a l
7 6 5 4 3 2 1 0
R e s P iI3 P iI2 P iI1 R e s M I1 P o I2 P o I1
0 0 0 = p o s itio n 1
0 0 1 = p o s itio n 4
0 1 1 = p o s itio n 3
1 0 1 = p o s itio n 2
1 0 0 = p o s itio n 1

IN J C R V _ S T M I1 M IN 1 (1 3 ) 1

IN J C R V _ S T M I1 M IN 2 (1 4 ) 2

IN J C R V _ S T M I1 M IN 3 (1 5 ) 3
In jC r v _ s tIn jC h a r A c tV a l.IN J C R V _ M I1 ( 2 )
IN J C R V _ S T M I1 M IN 4 (1 6 ) 4
& !
s ta te
R a ilC D _ p P e a k
p P e a k
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

In jC r v _ q M I1 M in _ m p
In jC r v _ tiP iI1 M I1 q O u t
tiD iff M X In jC r v _ q M I1 D e s
In jV lv _ fa c F T S W v C o r
fa c W v C o r

In jC r v _ Q n tM in

In jC tl_ q S e tU n B a l In jC r v _ q M I1 N r m _ m p
q N o rm a l
In jC r v _ q M I1 S e t_ m p
In jC r v _ q P o I2 E ff q R g n q O u t

In jC r v _ q P iI1 D e s R g n V a l

In jC r v _ q P iI2 D e s In jC r v _ M IR g n S w tQ n t

In jC r v _ q P iI3 D e s

In jC r v _ q M I1 R g n

In jC r v _ M I1 R g n V a l
I njCrv_MI1RgnValInjCrv_MIRgnSwtQntI njCrv_qMI1DesInjCrv_qMI1Min_mpI njCrv_qMI1Nrm_mpInjCrv_qMI1RgnI jCrv_qMI1Se_tmpInjCrv_QntMinI njCrv_qPiI1DesInjCrv_qPiI 2DesInjCrv_qPiI3DesInjCrv_qPoI2EfI njCrv_stInjCharActValInjCrv_tiPI1MI1 InjCtl_qSetUnBalInjVlv_facFTSWvCorRailCD_pPeak

Main injection start of energizing As in quantity calculation, the message InjCrv_stInjCharActVal is checked to determine whether any pilot
injections are active and, if so, how many. Based on the results of this check, the base value
InjCrv_phiMI1Bas_mp for the MI start of energizing is determined by maps InjCrv_phiMI1Bas1_MAP,
InjCrv_phiMI1Bas2_MAP,InjCrv_phiMI1Bas3_MAP, InjCrv_phiMI1Bas4_MAP or
InjCrv_phiMI1Bas5_MAP. The correction angleInjCrv_phiMI1EnvCor (see “Calculating the main injection
correction value (InjCrv_MIEnvCor)” on page 345 ), which is based on various environmental conditions, is
added to this basic value. In addition, a customer related correction value InjCrv_phiMI1AddCor (see
“Calculation of customer specific corrections for the main injection (InjCrv_MIAddCor)” on page 344) can be
added. Before output to InjCrv_phiMI1Des , start of energizing is limited to the minimum angle
InjCrv_phiMI1Min_C and the maximum angle InjCrv_phiMI1Max_mp based on the operating point. If the
MI1 is not released (InjCrv_stInjCharSetVal.2 == 0, see “Injection co-ordinator (InjCrv_Co)” on page 280
and EngM_stInjCharSetVal.2 == 0, see “Engine speed evaluation after test injection (CrS_ChkStrtSpd)” on
page 560) a "0" is issued to InjCrv_phiMI1Des.
A request from the exhaust gas aftertreatment system switches the MI1 start of energizing angle. The
“InjCrv_MIRgnActv function” on page 352 evaluates the messages EGT_st and EGT_tiRgn and returns a
value of InjCrv_MI1RgnVal. This value is a standard of measure for the degree of activation of the exhaust
gas treatment. If there is a request from the exhaust gas aftertreatment system, the limited basic value is
switched to the regeneration value InjCrv_phiMI1Rgn (see “Regeneration values for the main injection
(InjCrv_MIRgn)” on page 348) by the“InjCrv_MIRgnSwtSOE function” on page 352. The delayed status of
the exhaust treatment system EGT_stDel and the mask InjCrv_stMI1RgnDelMsk_C are used to prevent a
calculation of the base value.

19.3.2002 injcrv_mi.fm
- 342 - InjCrv_MI Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Main injection DS/ESM

Figure 394 : Main injection start of energizing


E n g _ n A v rg P

in jc r v _ m i_ 2 .d s f
In jC r v _ p h iM I1 M a x _ m p
In jC tl_ q S e tU n B a l

In jC r v _ s tIn jC h a r A c tV a l
In jC r v _ p h iM I1 M a x _ M A P
7 6 5 4 3 2 1 0
P
R e s P iI3 P iI2 P iI1 R e s M I1 P o I2 P o I1

0 0 0 = p o s itio n 1
0 0 1 = p o s itio n 2 E G T _ s tD e l
B IT
0 1 1 = p o s itio n 3 In jC r v _ s tM I1 R g n D e lM s k _ C
In jC r v _ p h iM I1 B a s 1 _ M A P A N D
1 0 1 = p o s itio n 4
P 1 0 0 = p o s itio n 5

In jC r v _ p h iM I1 M in _ C
1
In jC r v _ p h iM I1 B a s 2 _ M A P
P 2 In jC r v _ p h iM I1 C o r _ m p
3 In jC r v _ p h iM I1 B a s _ m p

4
In jC r v _ p h iM I1 B a s 3 _ M A P 5
P

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
In jC r v _ p h iM I1 L im _ m p

In jC r v _ p h iM I1 B a s 4 _ M A P
P

In jC r v _ p h iM I1 B a s 5 _ M A P
In jC r v _ p h iM I1 E n v C o r
In jC r v _ p h iM I1 A d d C o r
p h iN o r m a l
In jC r v _ p h iM I1 R g n In jC r v _ p h iM I1 D e s
p h iR g n p h iO u t
E G T _ s t R g n V a l
s tR g n In jC r v _ M I1 R g n V a l
E G T _ tiR g n R g n V a l
tiR g n In jC r v _ M IR g n S w tS O E
In jC r v _ M IR g n A c tv
EGT_stEGT_stDelEGT_tiRgnEng_nAvgrInjCrv_MI1RgnValI njCvr_MIRgnActvI njCrv_MIRgnwStSOEI njCrv_phiMI1Ad CorInjCrv_phiMI1Bas_mpInjCrv_phiMI1Bas1_MAPnI jCrv_phiMI1Bas2_MAP nI jCrv_phiMI1Bas3_MAPInjCrv_phiMI1Bas4_MAPInjCrv_phiMI1Bas5_MAPInjCrv_phiMI1Cor_mpInjCrv_phiMI1DesInjCrv_phiMI1EnvCor InjCrv_phiMI1Lim_mpInjCrv_phiMI1Max_MAP I njCrv_phiMI1Max_mpInjCrv_phiMI1i n_CnI jCrv_phiMI1RgInj Crv_stInjCharActValInjCrv_stMI1RgnDelMsk_C InjCtl_qSetUnBal

Estimating the main injection energizing time Here the MI1 energizing time is estimated, as this value is required to calculate the PoI2 start of energizing
(see “Post injection 2 (InjCrv_PoI2)” on page 363). The estimate is performed by the InjVCD_estET function
(see “Estimating the energizing time (InjVCD_EstET)” on page 700).
To accomplish this, the correction quantity of the wave correction InjVlv_qMI1WvCor_mp from the last
cylinder is added to the calculated quantity InjCrv_qMI1Des. This quantity is converted to the
InjCrv_volMI1_mp volume and added to the InjUn_volMI1CorCyc [EngM_numTDC - 1] volume (sum of the
volumes from the injector quantity adjustment and the fuel balancing compensation from the same cylinder
in the previous cycle, see “Main injection 1 injection volume” on page 603 ). This volume
(InjCrv_volMI1Cor_mp) is used to estimate the energizing time.
This calculation is done only to estimate the energizing time.
Figure 395 : Estimating the MI1 energizing time
IN J V C D _ M I1 _ E S T E T

F lS y s _ r h o F l s ta te n o t u s e d fo r M I c a lc u la tio n
R a ilC D _ p P e a k In jC r v _ v o lM I1 _ m p In jC r v _ v o lM I1 C o r _ m p s ta te
v o lIn
In jC r v _ tiM I1 E T _ m p
In jC r v _ q M I1 D e s tiO u t
p P e a k
In jV lv _ q M I1 W v C o r _ m p In jU n _ M a s s C n v n o t u s e d
tiO u tN o C o r

In jU n _ v o lM I1 C o r C y c [E n g M _ n u m T D C - 1 ]

R a ilC D _ p P e a k
in jc r v _ m i_ 3 .d s f

E n g M _ n u m T D C
n u m T D C
E n g M _ n u m C y l
n u m C y l

In jV C D _ e s tE T
EngM_numCylEngM_numTDCFlSys_rhoFl InjCrv_qMI1DesInjCvr_tiMI1ET_mpInjCrv_volMI1_mpInjCrv_olMI1Cor_mp InjUnM_asCnvI jUn_volMI1CorCyc[EngM_numTDCInjVCD_estET I njVlv_qMI1WvCor_mpRail CD_pePak

ECU initialization All output values are initialized with zero.

Output values InjCrv_MI1RgnVal: value for regeneration status MI1 [-] <ULONG> --->
InjCrv_phiMI1Des: desired reference angle for begin of MI1 [deg CrS] <SWORD> --->
InjCrv_qMI1Des: setpoint quantity for main injection [mm^3/inj] <SWORD> --->
InjCrv_stInjCharActVall: Current injection characteristic value
InjCrv_tiMI1ET: estimated ET of MI1 [us] <SWORD> --->

Input values EGT_st: Regeneration request of exhaust gas treatment (engine speed synchronous) [-]
<ULONG> --->
EGT_stDel: delayed regeneration request of exhaust gas treatment (engine speed

injcrv_mi.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_MI - 343 -
DS/ESM Main injection Veh-DrvTrn-Eng-InjCtl-InjCrv

synchronous) [-] <ULONG> --->


EGT_tiRgn: time since last change of EGT_st (n-sync) [s] <ULONG> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
EngM_numCyl: number of cylinders [-] <UBYTE> --->
EngM_numTDC: Current firing TDC [-] <UBYTE> --->
EngM_stInjCharSetVal: shows the state of the allowed injections [-] <UBYTE> --->
InjCrv_phiMI1AddCor: correction angle for MI1 start of energising based on customer
specific functions [deg CrS] <SWORD> --->
InjCrv_phiMI1EnvCor: start of energising correction angle for MI1 [deg CrS] <SWORD> --->
InjCrv_phiMI1Rgn: regeneration value for MI1 start of energising [deg CrS] <SWORD> --->
InjCrv_qMI1Rgn: regeneration value for MI1 quantity [mm^3/inj] <SWORD> --->
InjCrv_qPiI1Des: desired injection quantity for PiI 1 [mm^3/inj] <SWORD> --->
InjCrv_qPiI2Des: desired injection quantity for PiI2 [mm^3/inj] <SWORD> --->
InjCrv_qPiI3Des: desired injection quantity for PiI3 [mm^3/inj] <SWORD> --->
InjCrv_qPoI2Eff: effective injection quantity for post injection 2 [mm^3/inj] <SWORD> --->
InjCrv_stInjCharSetVal: injection characteristic set value (engine speed synchronous) [-
] <UBYTE> --->
InjCrv_tiPiI1MI1: time between end of PiI1 and begin of MI1 [us] <SWORD> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->
InjUn_volMI1CorCyc: cylinder specific correction volume of FBC and quantity adjustment
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

for MI1 [mm^3/inj] <SWORD> --->


InjVlv_facFTSWvCor: pressure wave correction factor depending on fuel temperature [-]
<SWORD> --->
InjVlv_qMI1WvCor_mp: pressure wave correction quantity of MI1 [mm^3/inj] <SWORD> --->
RailCD_pPeak: maximum rail pressure of last 10ms [hPa] <SWORD> --->

Measuring points InjCrv_phiMI1Bas_mp: MI1 start of energising base value [deg CrS] <SWORD> --->
InjCrv_phiMI1Cor_mp: MI1 start of energising corrected base value [deg CrS] <SWORD> --->
InjCrv_phiMI1Lim_mp: MI1 start of energising limited value [deg CrS] <SWORD> --->
InjCrv_phiMI1Max_mp: earliest MI1 start of energising [deg CrS] <SWORD> --->
InjCrv_qMI1Min_mp: min. injection quantity of mian injection 1 [mm^3/inj] <SWORD> --->
InjCrv_qMI1Nrm_mp: normal quantity of MI1 injection [mm^3/inj] <SWORD> --->
InjCrv_qMI1Set_mp: set quantity of MI1 injection [mm^3/inj] <SWORD> --->
InjCrv_volMI1Cor_mp: MI1 injection volume with correction values [mm^3/inj] <SWORD> --->
njCrv_volMI1_mp: MI1 injected fuel volume

Application parameters InjCrv_phiMI1Bas1_MAP: 1st base value map of start of energising MI1<map_individual> --->
InjCrv_phiMI1Bas2_MAP: 2nd base value map of start of energising MI1<map_individual> --->
InjCrv_phiMI1Bas3_MAP: 3rd base value map of start of energising MI1<map_individual> --->
InjCrv_phiMI1Bas4_MAP: 4th base value map of start of energising MI<map_individual> --->
InjCrv_phiMI1Bas5_MAP: 5th base value map of start of energising MI1<map_individual> --->
InjCrv_phiMI1Max_MAP: earliest SOE of MI1<map_individual> --->
InjCrv_phiMI1Min_C: latest SOE of MI1<value> --->
InjCrv_stMI1RgnDelMsk_C: mask for deactivation of MI1 base value calculation in
regeneration mode<value> --->

19.3.2002 injcrv_mi.fm
- 344 - InjCrv_MIAddCor Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Calculation of customer specific corrections for the main injection DS/ESM

Calculation of customer specific corrections for the main injection (InjCrv_MIAddCor)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview Calculation of customer specific correction values for the main injection
No modification of initialized values

Functional description The customer specific additive correction for main injection is calculated as follows:
1. Start of energizing correction is taken from map InjCrv_phiMI1TrnCor_MAP as a function of engine
speed Eng_nAvrg and unbalanced injection quantity InjCtl_qSetUnBal and can be displayed as
InjCrv_phiMI1TrnCor_mp. It is corrected with a multiplication factor InjCrv_facphiMI1TrnCor_mp
taken from InjCrv_facphiMI1TrnCor_CUR as a function of rail pressure setpoint difference value
Rail_pDeltaSetPoint. The corrected value is displayed as InjCrv_phiMI1AddCor_mp, subsequently
limited by InjCrv_phiMI1TrnCorMin_C and InjCrv_phiMI1TrnCorMax_C and transmitted via the
message InjCrv_phiMI1AddCor.
Figure 396 : MI1 start of energizing correction

In jC r v _ p h iM I1 T r n C o r M a x _ C
P

In jC r v _ p h iM I1 T r n C o r M in _ C
P

E n g _ n A v rg P

In jC r v _ p h iM I1 T r n C o r _ m p In jC r v _ p h iM I1 A d d C o r _ m p In jC r v _ p h iM I1 A d d C o r
In jC tl_ q S e tU n B a l

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
in jc r v _ m ia d d c o r _ 1 .d s f
In jC r v _ p h iM I1 T r n C o r _ M A P
P

R a il_ p D e lta S e tP o in t In jC r v _ fa c p h iM I1 T r n C o r _ m p

In jC r v _ fa c p h iM I1 T r n C o r _ C U R
Eng_nAvrgInjCrv_facphiMI1TrnCor_CURI njCrv_facphiMI1TrnCor_mpInjCrv_phiMI1Ad CorInjCrv_phiMI1AdCo_rmpInjCrv_phiMI1TrnCor_MAPInjCrv_phiMI1TrnCor_mpI njCrv_phiMI1TrnCorMax_CInjCr_vphiMI1TrnCorMin_CInjCtl_qSetUnBlRai _pDeltaSetPoint

ECU initialization The correction value InjCrv_phiMI1AddCor is initialized with the default value zero.

Output values InjCrv_phiMI1AddCor: correction angle for MI1 start of energising based on customer
specific functions [deg CrS] <SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->
Rail_pDeltaSetPoint: limited rail pressure setpoint transient correction difference value
[hPa] <SWORD> --->

Measuring points InjCrv_facphiMI1TrnCor_mp: MI correction angle factor for SoE [-] <SWORD> --->
InjCrv_phiMI1AddCor_mp: Customer dependend angelcorrection of the main injection at
regeneration of the particle filter [deg CrS] <SWORD> --->
InjCrv_phiMI1TrnCor_mp: MI unscaled correction angle for SoE [deg CrS] <SWORD> --->

Application parameters InjCrv_facphiMI1TrnCor_CUR: transient angle correction factor curve of


MI<curve_individual> --->
InjCrv_phiMI1TrnCor_MAP: transient SoE angle correction map of MI<map_individual> --->
InjCrv_phiMI1TrnCorMax_C: largest SOE correction of MI<value> --->
InjCrv_phiMI1TrnCorMin_C: smallest SOE correction of MI<value> --->

injcrv_miaddcor.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_MIEnvCor - 345 -
DS/ESM Calculating the main injection correction value Veh-DrvTrn-Eng-InjCtl-InjCrv

Calculating the main injection correction value (InjCrv_MIEnvCor)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Functional overview Calculation of the main injection is based on the operating point ( = engine speed, injection quantity) and
various environmental conditions. Therefore, a correction of the start of energizing angle is necessary.
Figure 397 : Calculating the main injection correction value - overview

E n g _ n A v rg

In jC tl_ q S e tU n B a l

In jC r v _ fa c M IE T S P h iC o r
E n v ir o n m e n t In jC r v _ p h iM I1 E n v C o r
In jC r v _ fa c M IA T S P h iC o r
c o r r e c tio n s
In jC r v _ fa c M IA P S P h iC o r

In jC r v _ fa c M IF T S R a ilC o r

A c c o r d in g to B o s c h s ta n d a r d in jc v r _ m ie n v c o r _ 1 0 0 .d s f

Functional description Since the operating point and environmental conditions differ considerably in terms of dynamic behaviour,
calculation of the correction value has been divided into a 20ms and a 100ms process for run time purposes.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

The calculation of the 20ms time slice is described below. For calculation of 100ms time slices see
“Calculating the weighting factors for the main injection (InjCrv_MIEnvCorSlow)” on page 347.
Calculation of correction values for correcting the Based on the engine operating point, basic correction values for correcting the start of energizing are
main injection start of energizing determined from curves InjCrv_phiMIETSCor_MAP, InjCrv_phiMIATSCor_MAP, InjCrv_phiMIAPSCor_MAP
and InjCrv_phiMIFTSRailCor_MAP. These are multiplied by weighting factors InjCrv_facMIETSPhiCor,
InjCrv_facMIATSPhiCor, InjCrv_facMIAPSPhiCor and InjCrv_facMIFTSRailCor. The values obtained
in this manner are then added to the start of energizing correction value InjCrv_phiMI1EnvCor.
Figure 398 : Calculation of correction values for correcting the main injection start of energizing

E n g _ n A v rg P

In jC r v _ p h iM IE T S C o r _ m p In jC r v _ p h iM I1 E n v C o r
In jC tl_ q S e tU n B a l

In jC r v _ p h iM IE T S C o r _ M A P
In jC r v _ fa c M IE T S P h iC o r

In jC r v _ p h iM IA T S C o r _ m p

In jC r v _ p h iM IA T S C o r _ M A P
In jC r v _ fa c M IA T S P h iC o r

In jC r v _ p h iM IA P S C o r _ m p

In jC r v _ p h iM IA P S C o r _ M A P
In jC r v _ fa c M IA P S P h iC o r

In jC r v _ p h iM IF T S R a ilC o r M a x _ C
P

In jC r v _ p h iM IF T S R a ilC o r M in _ C
P

In jC r v _ p h iM IF T S R a ilC o r _ m p
in jc r v _ m ie n v c o r .d s f

In jC r v _ p h iM IF T S R a ilC o r _ M A P
In jC r v _ fa c M IF T S R a ilC o r

ECU initialization Correction value InjCrv_phiMI1EnvCor is initialized with”0”.

Output values InjCrv_phiMI1EnvCor: start of energising correction angle for MI1 [deg CrS] <SWORD> --->
InjCrv_phiMIAPSCor: correction value for MI1 start of energising based on the atmospheric
pressure [deg CrS] <SWORD> --->
InjCrv_phiMIATSCor: correction value for MI1 start of energising based on the intake air
temperature [deg CrS] <SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


InjCrv_facMIAPSPhiCor: correction factor for MI1 based on the atmospheric pressure [-]
<SWORD> --->
InjCrv_facMIATSPhiCor: correction factor for MI1 based on the intake air temperature [-]
<SWORD> --->
InjCrv_facMIETSPhiCor: weighting factor for correction start of energising (main
injection) by environment condition engine temperature [-] <SWORD> --->
InjCrv_facMIFTSRailCor: correction factor for the MI1, based on rail pressure correction
depending on fuel temperature [-] <SWORD> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

19.3.2002 injcrv_mienvcor.fm
- 346 - InjCrv_MIEnvCor Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Calculating the main injection correction value DS/ESM

Measuring points InjCrv_phiMIETSCor_mp: correction angle for start of energizing (main injection) depending
on engine temperature [deg CrS] <SWORD> --->
InjCrv_phiMIFTSRailCor_mp: correction factor of SOE for the MI1, based on rail pressure
correction depending on fuel temperature [deg CrS] <SWORD> --->

Application parameters InjCrv_phiMIAPSCor_MAP: MI1 start of energising correction map based on the atmospheric
pressure<map_individual> --->
InjCrv_phiMIATSCor_MAP: MI1 start of energising correction map based on the intake air
temperature<map_individual> --->
InjCrv_phiMIETSCor_MAP: MI1 start of energising correction map based on engine
temperature<map_individual> --->
InjCrv_phiMIFTSRailCor_MAP: map for correction factor of SOE for the MI1, based on rail
pressure correction depending on fuel temperature<map_individual> --->
InjCrv_phiMIFTSRailCorMax_C: maximum correction factor of SOE for the MI1, based on rail
pressure correction depending on fuel temperature<value> --->
InjCrv_phiMIFTSRailCorMin_C: minimum correction factor of SOE for the MI1, based on rail
pressure correction depending on fuel temperature<value> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

injcrv_mienvcor.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_MIEnvCorSlow - 347 -
DS/ESM Calculating the weighting factors for the main injection Veh-DrvTrn-Eng-InjCtl-InjCrv

Calculating the weighting factors for the main injection (InjCrv_MIEnvCorSlow)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Functional overview Calculation of the main injection is based on the operating point ( = engine speed, injection quantity) and
various environmental conditions. Therefore, a correction of the calculated injection values is necessary.
Figure 399 : Calculating the weighting factors for the main injection - overview

E n g _ tE n g In jC r v _ fa c M IE T S P h iC o r

IA T S C D _ tA ir In jC r v _ fa c M IA T S P h iC o r
W e ig h tin g
A P S C D _ p V a l In jC r v _ fa c M IA P S P h iC o r
fa c to rs
R a il_ p S e tP o in tF IT e m p C o r In jC r v _ fa c M IF T S P h iC o r

A c c o r d in g to B o s c h s ta n d a r d
in jc r v m ie n v c o r s lo w 1 0 0 .d s f

Functional description Since the operating point and environmental conditions differ considerably in terms of dynamic behaviour,
calculation of the correction value has been divided into a 20ms and a 100ms process for run time purposes.
Calculation in the 100ms time slice is described below. For calculation of the 20ms time slice see “Calculating
the main injection correction value (InjCrv_MIEnvCor)” on page 345
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Calculation of the weighting factors for start of en- Based on the engine temperature, intake air temperature, atmospheric pressure and the rail pressure
ergizing correction of the main injection setpoint correction based on the fuel temperature, the weighting factors InjCrv_facMIETSPhiCor,
InjCrv_facMIATSPhiCor, InjCrv_facMIAPSPhiCor and InjCrv_facMIFTSRailCor are calculated for the
start of energizing angle correction. Since the dynamic behaviour of the input values is sluggish, 100ms time
slice calculations suffice.
Figure 400 : Calculation of the weighting factors for start of energizing correction of the main injection
P

E n g _ tE n g In jC r v _ fa c M IE T S P h iC o r

In jC r v _ fa c M IE T S P h iC o r _ C U R

IA T S C D _ tA ir In jC r v _ fa c M IA T S P h iC o r

In jC r v _ fa c M IA T S P h iC o r _ C U R

A P S C D _ p V a l In jC r v _ fa c M IA P S P h iC o r

in jc r v _ m ie n v c o r s lo w .d s f

In jC r v _ fa c M IA P S P h iC o r _ C U R

R a il_ p S e tP o in tF lT e m p C o r In jC r v _ fa c M IF T S R a ilC o r

In jC r v _ fa c M IF T S R a ilC o r _ C U R

ECU initialization All factors are initialized with "1.0", additive correction values with "0".

Output values InjCrv_facMIAPSPhiCor: correction factor for MI1 based on the atmospheric pressure [-]
<SWORD> --->
InjCrv_facMIATSPhiCor: correction factor for MI1 based on the intake air temperature [-]
<SWORD> --->
InjCrv_facMIETSPhiCor: weighting factor for correction start of energising (main
injection) by environment condition engine temperature [-] <SWORD> --->
InjCrv_facMIFTSRailCor: correction factor for the MI1, based on rail pressure correction
depending on fuel temperature [-] <SWORD> --->

Input values APSCD_pVal: atmospheric pressure [hPa] <SWORD> --->


Eng_tEng: engine temperature [deg C] <SWORD> --->
IATSCD_tAir: intake air temperature [deg C] <SWORD> --->
Rail_pSetPointFlTempCor: rail pressure correction value, dependent on fuel temperature
[hPa] <SWORD> --->

Application parameters InjCrv_facMIAPSPhiCor_CUR: MI1 start of energising correction curve based on the air
pressure<curve_individual> --->
InjCrv_facMIATSPhiCor_CUR: MI1 start of energising correction curve based on the intake
air temperature<curve_individual> --->
InjCrv_facMIETSPhiCor_CUR: MI1 start of energising correction curve based on the engine
temperature<curve_individual> --->
InjCrv_facMIFTSRailCor_CUR: correction factor curve for the MI1, based on rail pressure
correction depending on fuel temperature<curve_individual> --->

19.3.2002 injcrv_mienvcorslow.fm
- 348 - InjCrv_MIRgn Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Regeneration values for the main injection DS/ESM

Regeneration values for the main injection (InjCrv_MIRgn)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview For operating a particle filter/DNOX-catalyst it is necessary to switch to another base values for the purpose
of calculating MI. This base values are calculated here.

Functional description
Calculating the fuel quantity If regeneration is active, the injections take place later than in normal operation. In order to compensate the
resulting torque loss, the map InjCrv_qMI1Rgn_MAP is used to determine a correction quantity which is
added to the setpoint quantity InjCtl_qSetUnBal.
For the calculation of the injection quantity of the main injection InjCrv_qMI1Rgn, all quantities of the pilot
and post injections (InjCrv_qPiI1Des, InjCrv_qPiI2Des, InjCrv_qPiI3Des and InjCrv_qPoI2Eff) which
influence the torque are subtracted from the result of the addition InjCrv_qMI1RawRgn_mp.
Figure 401 : Calculation of start of energizing for regeneration
In jC tl_ q S e tU n B a l In jC r v _ q M I1 R a w R g n _ m p In jC r v _ q M I1 R g n
P

E n g _ n A v rg

In jC r v _ q M I1 R g n _ M A P

in jc r v _ m ir g n _ 1 .d s f
In jC r v _ q P iI1 D e s

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
In jC r v _ q P iI2 D e s

In jC r v _ q P iI3 D e s

In jC r v _ q P o I2 E ff
Eng_nAvrgInjCrv_qMI1RawRg_nmpInjCrv_qMI1Rgn InjCrv_qMI1Rgn_MAPnI jCrv_qPiI 1DesInjCrv_qPiI2DesInjCrv_qPiI 3DesInjCrv_qPoI2EfInjCtl_qSetUnBal

Start of energizing As in quantity calculation, the message InjCrv_stInjCharActVal is checked to determine whether any pilot
injections are active and, if so, how many. Based on the results of this check, the base value
InjCrv_phiMI1BasRgn_mp for the MI start of energizing is determined by maps
InjCrv_phiMI1Bas1Rgn_MAP, InjCrv_phiMI1Bas2Rgn_MAP, InjCrv_phiMI1Bas3Rgn_MAP,
InjCrv_phiMI1Bas4Rgn_MAP or InjCrv_phiMI1Bas5Rgn_MAP. The correction angle
InjCrv_phiMI1EnvCorRgn (see “Correction value for the main injection in the regeneration operation
(InjCrv_MIEnvCorRgn)” on page 350see “Correction value for the main injection in the regeneration
operation (InjCrv_MIEnvCorRgn)” on page 350), which is based on various environmental conditions, is
added to this basic value.
Before output to InjCrv_phiMI1Rgn, start of energizing is limited to the minimum angle
InjCrv_phiMI1MinRgn_C and the maximum angle InjCrv_phiMI1MaxRgn_C.
Figure 402 : Start of energizing
In jC r v _ s tIn jC h a r A c tV a l
7 6 5 4 3 2 1 0
E n g _ n A v rg P
R e s P iI3 P iI2 P iI1 R e s M I1 P o I2 P o I1

0 0 0 = p o s itio n 1
In jC tl_ q S e tU n B a l
0 0 1 = p o s itio n 2
0 1 1 = p o s itio n 3
In jC r v _ p h iM I1 B a s 1 R g n _ M A P 1 0 1 = p o s itio n 4
P 1 0 0 = p o s itio n 5
In jC r v _ p h iM I1 M a x R g n _ C
P

In jC r v _ p h iM I1 M in R g n _ C
1 P

In jC r v _ p h iM I1 B a s 2 R g n _ M A P
P 2 In jC r v _ p h iM I1 C o r R g n _ m p
In jC r v _ p h iM I1 B a s R g n _ m p In jC r v _ p h iM I1 R g n
3

4
In jC r v _ p h iM I1 B a s 3 R g n _ M A P 5
P

In jC r v _ p h iM I1 B a s 4 R g n _ M A P
P
in jc r v _ m ir g n _ 2 .d s f

In jC r v _ p h iM I1 B a s 5 R g n _ M A P

In jC r v _ p h iM I1 E n v C o r R g n
Eng_nAvrgInjCrv_phiMI1Bas1Rgn_MAPInjCrv_phiMI1Bas2Rgn_MAP InjCr_vphiMI1Bas3Rgn_MAPInjCrv_phiMI1Bas4Rgn_MAP InjCrv_phiMI1Bas5Rgn_MAPI njCrv_phiMI1BasRgn_mpInjCrv_phiMI1CorRgn_mpInjCr_vphiMI1EnvCoRrgnIjCrv_phiMI1MaxRgn_CInjCrv_phiMI1MinRgn_CInjCrv_phiMI1RgnI njCr_vstInjChraAtcValI njCtl_qSeUtnBal

ECU initialization The messages InjCrv_qMI1Rgn and InjCrv_phiMI1Rgn are initialized with zero.

Output values InjCrv_phiMI1Rgn: regeneration value for MI1 start of energising [deg CrS] <SWORD> --->
InjCrv_qMI1Rgn: regeneration value for MI1 quantity [mm^3/inj] <SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


InjCrv_phiMI1EnvCorRgn: start of energising correction angle for MI1 in regeneration mode
[deg CrS] <SWORD> --->
InjCrv_qPiI1Des: desired injection quantity for PiI 1 [mm^3/inj] <SWORD> --->
InjCrv_qPiI2Des: desired injection quantity for PiI2 [mm^3/inj] <SWORD> --->
InjCrv_qPiI3Des: desired injection quantity for PiI3 [mm^3/inj] <SWORD> --->
InjCrv_qPoI2Eff: effective injection quantity for post injection 2 [mm^3/inj] <SWORD> --->
InjCrv_stInjCharActVal: injection characteristic actual value [-] <UBYTE> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

Measuring points InjCrv_phiMI1BasRgn_mp: earliest regenerated SOE base value of MI1 [deg CrS] <SWORD> --->
InjCrv_phiMI1CorRgn_mp: MI1 start of energising corrected base value during DPF

injcrv_mirgn.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_MIRgn - 349 -
DS/ESM Regeneration values for the main injection Veh-DrvTrn-Eng-InjCtl-InjCrv

regeneration [deg CrS] <SWORD> --->


InjCrv_qMI1RawRgn_mp: total fuel quantity during DPF regeneration [mm^3/inj] <SWORD> --->

Application parameters InjCrv_phiMI1Bas1Rgn_MAP: 1st base value map of start of energising MI1 during DPF
regeneration<map_individual> --->
InjCrv_phiMI1Bas2Rgn_MAP: 2nd base value map of start of energising MI1 during DPF
regeneration<map_individual> --->
InjCrv_phiMI1Bas3Rgn_MAP: 3rd base value map of start of energising MI1 during DPF
regeneration<map_individual> --->
InjCrv_phiMI1Bas4Rgn_MAP: 4th base value map of start of energising MI1 during DPF
regeneration<map_individual> --->
InjCrv_phiMI1Bas5Rgn_MAP: 5th base value map of start of energising MI1 during DPF
regeneration<map_individual> --->
InjCrv_phiMI1MaxRgn_C: earliest SOE of MI1 in regeneration mode<value> --->
InjCrv_phiMI1MinRgn_C: latest SOE of MI1 in regeneration mode<value> --->
InjCrv_qMI1Rgn_MAP: Additional fuel quantity during DPF regeneration<map_individual> --->
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

19.3.2002 injcrv_mirgn.fm
- 350 - InjCrv_MIEnvCorRgn Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Correction value for the main injection in the regeneration operati- DS/ESM

Correction value for the main injection in the regeneration operation (InjCrv_MIEnvCorRgn)
CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview Calculation of the main injection in the regeneration operation essentially corresponds to the considerations
of the main injection in normal operation. It is based on the operating point (engine speed, injected fuel
quantity) and various environmental conditions. Therefore, a correction of the angle is necessary for the start
of energising. Since the operating point and environmental conditions differ considerably in terms of dynamic
behaviour, calculation of the correction value has been divided into a 20ms and a 100ms process for run time
purposes.
The calculation of the 20ms time slice is described below. For calculation of 100ms time slices see
“Calculating the weighting factors for the main injection in the regeneration operation
(InjCrv_MIEnvCorSlowRgn)” on page 351.

Functional description
Calculating the start of energising correction of the Based on the engine operating point, base correction values are determined from curves
main injection in the regeneration operation InjCrv_phiMIETSCorRgn_MAP, InjCrv_phiMIATSCorRgn_MAP and InjCrv_phiMIAPSCorRgn_MAP. These
are added with the values multiplied by the corresponding weighting factors InjCrv_facMIETSPhiCorRgn,
InjCrv_facMIATSPhiCorRgn and InjCrv_facMIAPSPhiCorRgn. The result produces the correction value of
the main injection start of energising InjCrv_phiMI1EnvCorRgn.
Figure 403 : Calculating the correction values for the start of energising correction of the main injection in the regeneration
operation

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
E n g _ n A v rg P

In jC r v _ p h iM IE T S C o r R g n _ m p In jC r v _ p h iM I1 E n v C o r R g n
In jC tl_ q S e tU n B a l

In jC r v _ p h iM IE T S C o r R g n _ M A P

In jC r v _ fa c M IE T S P h iC o r R g n

In jC r v _ p h iM IA T S C o r R g n _ m p

In jC r v _ p h iM IA T S C o r R g n _ M A P

In jC r v _ fa c M IA T S P h iC o r R g n

In jC r v _ p h iM IA P S C o r R g n _ m p

In jC r v _ p h iM IA P S C o r R g n _ M A P

In jC r v _ fa c M IA P S P h iC o r R g n in jc r v _ m ie n v c o r r g n _ 1 .d s f

ECU initialization The correction value for the start of energising in the regeneration operation InjCrv_phiMI1EnvCorRgn is
initialised with "0".

Output values InjCrv_phiMI1EnvCorRgn: start of energising correction angle for MI1 in regeneration mode
[deg CrS] <SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


InjCrv_facMIAPSPhiCorRgn: correction factor for MI1 based on the atmospheric pressure in
regeneration mode [-] <SWORD> --->
InjCrv_facMIATSPhiCorRgn: correction factor for MI1 based on the intake air temperature
in regeneration mode [-] <SWORD> --->
InjCrv_facMIETSPhiCorRgn: weighting factor for correction start of energising (main
injection) by environment condition engine temperature in regeneration [-] <SWORD> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

Measuring points InjCrv_phiMIAPSCorRgn_mp: correction value for MI1 start of energising based on the
atmospheric pressure in regeneration mode [deg CrS] <SWORD> --->
InjCrv_phiMIATSCorRgn_mp: correction value for MI1 start of energising based on the intake
air temperature in regeneration mode [deg CrS] <SWORD> --->
InjCrv_phiMIETSCorRgn_mp: correction angle for start of energizing (main injection)
depending on engine temperature in regeneration mode [deg CrS] <SWORD> --->

Application parameters InjCrv_phiMIAPSCorRgn_MAP: MI1 start of energising correction map based on the atmospheric
pressure in regeneration mode<map_individual> --->
InjCrv_phiMIATSCorRgn_MAP: MI1 start of energising correction map based on the intake air
temperature in regeneration mode<map_individual> --->
InjCrv_phiMIETSCorRgn_MAP: MI1 start of energising correction map based on engine
temperature in regeneration mode<map_individual> --->

injcrv_mienvcorrgn.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_MIEnvCorSlowRgn - 351 -
DS/ESM Calculating the weighting factors for the main injection in the rege- Veh-DrvTrn-Eng-InjCtl-InjCrv

Calculating the weighting factors for the main injection in the regeneration operation
(InjCrv_MIEnvCorSlowRgn)
CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Functional overview Calculation of the main injection in the regeneration operation essentially corresponds to the considerations
of the main injection in normal operation. It is based on the operating point (engine speed, injected fuel
quantity) and various environmental conditions. Therefore, a correction of the angle is necessary for the start
of energising. Since the operating point and environmental conditions differ considerably in terms of dynamic
behaviour, calculation of the correction value has been divided into a 20ms and a 100ms process for run time
purposes.
Calculation in the 100ms time slice is described below. For calculation of the 20ms time slice see “Correction
value for the main injection in the regeneration operation (InjCrv_MIEnvCorRgn)” on page 350.

Functional description
Calculations for correcting the main injection start Based on the engine temperature, intake air temperature and atmospheric pressure, the weighting factors
of energising InjCrv_facMIETSPhiCorRgn, InjCrv_facMIATSPhiCorRgn und InjCrv_facMIAPSPhiCorRgn are
calculated for the start of energising angle correction. Since the dynamic behaviour of the input values is
sluggish, 100ms time slice calculations suffice.
Figure 404 : Start of energising correction of the main injection in the regeneration operation
P
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

E n g _ tE n g In jC r v _ fa c M IE T S P h iC o r R g n

In jC r v _ fa c M IE T S P h iC o r R g n _ C U R

IA T S C D _ tA ir In jC r v _ fa c M IA T S P h iC o r R g n

In jC r v _ fa c M IA T S P h iC o r R g n _ C U R

A P S C D _ p V a l In jC r v _ fa c M IA P S P h iC o r R g n

In jC r v _ fa c M IA P S P h iC o r R g n _ C U R
in jc r v _ m ie n v c o r s lo w r g n _ 1 .d s f

ECU initialization All correction factors are initialised with "1.0".

Output values InjCrv_facMIAPSPhiCorRgn: correction factor for MI1 based on the atmospheric pressure in
regeneration mode [-] <SWORD> --->
InjCrv_facMIATSPhiCorRgn: correction factor for MI1 based on the intake air temperature
in regeneration mode [-] <SWORD> --->
InjCrv_facMIETSPhiCorRgn: weighting factor for correction start of energising (main
injection) by environment condition engine temperature in regeneration [-] <SWORD> --->

Input values APSCD_pVal: atmospheric pressure [hPa] <SWORD> --->


Eng_tEng: engine temperature [deg C] <SWORD> --->
IATSCD_tAir: intake air temperature [deg C] <SWORD> --->

Application parameters InjCrv_facMIAPSPhiCorRgn_CUR: MI1 start of energising correction curve based on the air
pressure in regeneration mode<curve_individual> --->
InjCrv_facMIATSPhiCorRgn_CUR: MI1 start of energising correction curve based on the intake
air temperature in regeneration mode<curve_individual> --->
InjCrv_facMIETSPhiCorRgn_CUR: MI1 start of energising correction curve based on the engine
temperature in regeneration mode<curve_individual> --->

19.3.2002 injcrv_mienvcorslowrgn.fm
- 352 - InjCrv_MIRgnLib Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Function library for the MI regeneration operation DS/ESM

Function library for the MI regeneration operation (InjCrv_MIRgnLib)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview Functions InjCrv_MIRgnActv, InjCrv_MIRgnSwtQnt and InjCrv_MIRgnSwtSOE are provided to


guarantee a secure switchover of MI1 from normal to regeneration mode and vice versa.
Figure 405 : Function library for the MI regeneration operation - overview

E G T _ s t
In jC r v _ M I1 R g n V a l
E G T _ tiR g n A c tiv a tio n

In jC r v _ p h iM I1 R g n

c u rre n t S O E o f M I1 S w itc h to v a lu e fo r S O E M I1

In jC r v _ q M I1 R g n v a lu e
v a lu e fo r q u a n tity M I1
c u r r e n t q u a n tity o f M I1

A c c o r d in g to B o s c h s ta n d a r d in jc r v _ m ir g n lib _ 1 0 0 .d s f

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
Functional description
InjCrv_MIRgnActv function In the message EGT_st.0...30 the current EGT activation states are set (see “Regeneration coordinator for
exhaust-gas treatment (EGT_CoRgn)” on page 439). The regeneration operation for the various activation
states can be selected via the InjCrv_stMI1RgnMsk_C mask. If at least one of the selected bits in EGT_st is
set, the regeneration operation is activated for MI1. The activation factor for the regeneration operation is
calculated via a ramp. At EGT_st.EGT_RMP_END (bit 31) == 1) the system jumps directly to the end of the
ramp, thus bringing the ramp itself to the end. If the regeneration operation for MI1 is not active, a value of
"0" is returned. Ramp slopes can be set via InjCrv_dtiMI1RgnRmpUp_C or InjCrv_dtiMI1RgnRmpDwn_C.
The time since the regeneration operation EGT_tiRgn is not required for the common rail basic function.
Figure 406 : Activating the regeneration operation of MI1
E G T _ s t.3 1

In jC r v _ d tiM I1 R g n R m p U p _ C

in jc r v _ m ir g n lib _ 1 .d s f
In jC r v _ d tiM I1 R g n R m p D w n _ C
P

p a ra m
E G T _ s t.0 ....3 0
x R A M P y In jC r v _ M I1 R g n V a l
B it F U N C T .
In jC r v _ s tM I1 R g n M s k _ C .0 ....3 0 A n d
P
e n d
T 0 ix

0 0

IInjCrv_MIRgnSwtQnt function The function returns the normal value InjCrv_qMI1Nrm_mp as output value InjCrv_qMI1Set_mp.
Figure 407 : Switching main injection 1 quantity to its regeneration value
( q N o r m a l) In jC r v _ q M I1 N r m _ m p In jC r v _ q M I1 S e t_ m p (q O u t)

(q R g n ) In jC r v _ q M I1 R g n
(n o t u s e d )

( R g n V a l) In jC r v _ M I1 R g n V a l in jc r v _ m ir g n lib _ 3 .d s f
(n o t u s e d )
InjCrv_MIRgnSwtSOE function This function toggles between the start of energizing setpoint and the regeneration value InjCrv_phiMI1Rgn.
It produces an interpolation between the respective values. The activation value InjCrv_MI1RgnVal
indicates the part of the regeneration value InjCrv_phiMI1Rgn in the output value InjCrv_phiMI1Des as a
number between 0 and 1.
Figure 408 : Switching the start of energizing to its regeneration value

( R g n V a l) In jC r v _ M I1 R g n V a l In jC r v _ p h iM I1 D e s ( p h iO u t)
in jc r v _ m ir g n lib _ 2 .d s f

( p h iR g n ) In jC r v _ p h iM I1 R g n

( p h iN o r m a l)

Output values InjCrv_MI1RgnVal: value for regeneration status MI1 [-] <ULONG> --->
InjCrv_phiMI1Des: desired reference angle for begin of MI1 [deg CrS] <SWORD> --->

Input values EGT_st: Regeneration request of exhaust gas treatment (engine speed synchronous) [-]
<ULONG> --->
EGT_tiRgn: time since last change of EGT_st (n-sync) [s] <ULONG> --->
InjCrv_phiMI1Rgn: regeneration value for MI1 start of energising [deg CrS] <SWORD> --->
InjCrv_qMI1Rgn: regeneration value for MI1 quantity [mm^3/inj] <SWORD> --->

Application parameters InjCrv_dtiMI1RgnRmpDwn_C: negative ramp slope for switching to regeneration value
MI1<value> --->
InjCrv_dtiMI1RgnRmpUp_C: positive ramp slope for switching to regeneration value
MI1<value> --->
InjCrv_stMI1RgnMsk_C: Mask for activating the regeneration in MI1<value> --->

injcrv_mirgnlib.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PoI1 - 353 -
DS/ESM Post injection 1 Veh-DrvTrn-Eng-InjCtl-InjCrv

4.5.3.5 Post injection 1 (InjCrv_PoI1)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Overview of the component PoI1 is a late injection (>40oafter TDC). Its purpose is to bring hydrocarbons to the oxidation catalyser for
exothermic reaction. PoI1 is not torque forming.
For a breakdown of the injections, see also “Injection characteristic (InjCrv)” on page 278.

Structure of the component All functions are calculated engine speed synchronously. PoI1 is broken down into the following areas:
• Release
• Calculation of quantity
• Start of energizing
Release of post injection 1 Depending on various conditions, PoI1 is either released or inhibited. PoI1 is released by
• the request from the injection co-ordinator (see “Injection co-ordinator (InjCrv_Co)” on page 280).
• Release by redundant start (see “Engine speed evaluation after test injection (CrS_ChkStrtSpd)” on page
560).
• guarantee of minimum energizing time.
The energizing time of PiI1 is estimated by the InjVCD_estET function (see “Estimating the energizing
time (InjVCD_EstET)” on page 700).
Besides the energizing time, the function also returns the status of the injection, whether it can be carried
out. Since the energizing time maps need a volume as input value, the fuel quantity InjCrv_qPoI1Lim_mp
is converted to volume InjCrv_volPoI1_mp.
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

• Release by monitoring for a collision with the next injection in the same power stage bank.
In the case of a widely spaced PoI1, in systems with 2 power stage banks and an uneven number of
cylinders (e.g. 5-cylinder engines) post injections collide with injections of the next cylinder in the same
power stage bank. The reason is the uneven distribution of cylinders in the power stage banks. This
reduces the distance to the next cylinder in the same power stage bank by half for exactly one cylinder,
as the uneven numbers of cylinders causes there to be two consecutive cylinders in one bank.
Determination can be made by application whether PoI1 is shut off for the affected cylinder or if there
should be a limitation on the earliest injection of the next cylinder in the same bank. The affected physical
cylinder is determined using InjCrv_numTDCPoI1Clsn_C. The switch InjCrv_swtPoI1Clsn_C.0 is used
to determine whether the injection is shut off or shifted to early. If a shut-off is desired,
InjCrv_swtPoI1Clsn_C.1 can be used to establish whether shut-off always occurs, or only in the event
of collision. Furthermore, InjCrv_swtPoI1Clsn_C.2 can be used to determine whether the missing fuel
quantity is to be distributed to the other cylinders in the case of shut-off.
Table 107: Assignment of InjCrv_swtPoI1Clsn_C
Bit position Description
0 1: Collision monitoring active
0: Collision monitoring not active
1 1: PoI1 is always shut off for affected cylinder
0: PoI1 is only shut off in the case of collisions
2 1: Missing fuel quantity is distributed to the remaining cylinders
0: No distribution of missing fuel quantities

Figure 409 : Release of post injection 1


In jC r v _ s tIn jC h a r S e tV a l.IN J C R V _ P O I1 ( 0 )
In jC r v _ s tP o I1 _ m p .P O I_ R L S _ O K _ B P ( 7 )
E n g M _ s tIn jC h a r S e tV a l.IN J C R V _ P O I1 ( 0 ) &

IN J V C D _ P O I1 _ E S T E T (4 )
s ta te
In jC r v _ v o lP o I1 _ m p In jC r v _ s tP o I1 _ m p .P O I_ E T _ O K _ B P ( 6 )
v o lIn s ta te
R a ilC D _ p P e a k In jC r v _ tiP o I1 E T _ m p
p P e a k tiO u t
E n g M _ n u m C y l
n u m C y l

n u m T D C

E n g M _ n u m T D C In jV C D _ e s tE T

In jC r v _ n u m T D C P o I1 C ls n _ C In jC r v _ s tP o I1 _ m p .P O I_ N O _ C L S N _ B P ( 5 )
P
& !
In jC r v _ s w tP o I1 C ls n _ C .C L S N _ S H O F F _ A C T V ( 0 )

&
In jC r v _ s w tP o I1 C ls n _ C .C L S N _ S H O F F _ C O N S T ( 1 )
>= 1

In jC r v _ p h iP o I1 M in _ m p !
&
in jc r v r v _ p o i1 _ 1 .d s f

In jC r v _ p h iP o I1 M a x _ C
P

In jC r v _ p h iP o I1 S e t_ m p M N

EngM_numCylEngM_numTDCEngM_stInjCharSetValInjCrv_numTDCPIo1Clsn_CI njCrv_phiPoI1Max_CInj rv_phiPoI1Min_mp InjCrv_phiPoI1Set_mpInjCrv_stInjCharSetVal InjCrv_stPoI1_mpInjCrv_swtPoI1Cl sn_CInjCrv_tiPoI1ET_mpInjCrv_volPoI1_mpInjVCDe_stETRailCD_pPeak

Display of release status:


Figure 410 : PoI 1 release status

In jC r v _ s tIn jC h a r A c tV a l.IN J C R V _ P O I1 ( 0 )
&
in jc r v _ p o i1 _ 2 .d s f

7 6 5 4 3 2 1 0
In jC r v _ s tP o I1 _ m p
I njCrv_stInjCharActValInjCrv_stPoI1_mp

19.3.2002 injcrv_poi1.fm
- 354 - InjCrv_PoI1 Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Post injection 1 DS/ESM

The internal release status is displayed by bit field InjCrv_stPoI1_mp. All release conditions are represented
from the highest value bit downwards. The AND link for all individual conditions is contained in the bit with
the lowest value. If this bit is set, all conditions are met and an injection can take place.
Hint: The bit field InjCrv_stPoI1_mp is recalculated for each post injection, i.e., in this place, shut-off can be se-
lected by cylinder (shut-off selected on the basis of the cylinder does not go into the message
InjCrv_stInjCharActVal).
The configuration of the individual bits is described in the table below:
Table 108: Release status PoI1 (InjCrv_stPoI1_mp)
Initial value Bit no. Description
off 0 Indicator, post injection active
on 1 not in use
on 2 not in use
on 3 not in use
on 4 not in use
on 5 No collision with the next injection in the same power stage bank.
on 6 Energizing time does not fall below minimum
on 7 Request from the injection co-ordinator, InjCrv_stInjCharSetVal0,0 == 1 (see
“Injection co-ordinator (InjCrv_Co)” on page 280) and release by the redundant start
EngM_stInjCharSetVal0,0 == 1 (see “Engine speed evaluation after test injection

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
(CrS_ChkStrtSpd)” on page 560)

Quantity calculation for post injection 1 The quantity for PoI1 is determined from basic map InjCrv_qPoI1Bas_MAP. The correction quantity
InjCrv_qPoI1EnvCor (see “Correction values for post injection 1 (InjCrv_PoI1EnvCor)” on page 359) from
coolant temperature, atmospheric pressure and catalyser temperature is added to this basic value.
Additionally, a customer specific additive correction InjCrv_qPoI1AddCor (see “Customer related
corrections for post injection 1 (InjCrv_PoI1AddCor)” on page 358) can be included.
The corrected fuel quantity value of post injection will be multiplied by the weighting factor
InjCrv_facPol1Tpre_mp. This factor is delivered by the map InjCrv_facPoI1Tpre_MAP and is a
function of the particle filter inlet temperature PFlt_tPre and the start of energising set value of the post
injection PoI1 InjCrv_phiPoI1Set_mp.
The quantity received is limited by the maximum quantity based on the engine operating point
InjCrv_qPoI1Max_mp. The minimum quantity InjCrv_qPoI1Min_mp is determined by the “Minimum injection
quantity (InjCrv_QntMinLib)” on page 287 function. Next, the fuel quantity InjCrv_qPoI1Clsn distributed in
the case of collision is added up.
If PoI1 is not released (see “Release of post injection 1” on page 353), zero is output for the desired quantity
InjCrv_qPoI1Des.
Figure 411 : Quantity calculation for post injection 1
IN J C R V _ S T P O I1 M IN (1 1 )
P
s ta te
R a ilC D _ p P e a k
p P e a k In jC r v _ q P o I1 M in _ m p
(0 ) q O u t
tiD iff
(0 )
fa c W v C o r

In jC r v _ Q n tM in
In jC tl_ q S e tU n B a l P

In jC r v _ q P o I1 M a x _ m p
E n g _ n A v rg d is a b le P o I1 :
In jC r v _ s tP o I1 _ m p .0 = = 0
In jC r v _ q P o I1 M a x _ M A P

In jC r v _ q P o I1 B a s _ m p In jC r v _ q P o I1 S e t_ m p In jC r v _ q P o I1 L im _ m p
In jC r v _ q P o I1 D e s

In jC r v _ q P o I1 B a s _ M A P
In jC r v _ q P o I1 E n v C o r
in jc r v _ p o i1 _ 3 .d s f

In jC r v _ q P o I1 A d d C o r

P F lt_ tP r e P

In jC r v _ fa c P o I1 T p r e _ m p
In jC r v _ p h iP o I1 S e t_ m p

In jC r v _ fa c P o I1 T p r e _ M A P
In jC r v _ q P o I1 C ls n
Eng_nAvrgInjCrv_facPoI1Tpre_MAPInjCrv_facPoI1Tpre_mpI njCrv_phiPoI1Set_mpInjCrv_QntMinI njCrv_qPoI1AdCorInjCrv_qPoI1Bas_MAPInjCrv_qPoI1Bas_mpInjCrv_qPoI1Cl sn InjCrv_qPoI1DesInjCrv_qPoI1EnvCorInjCrv_qPoI1Lim_p InjCrv_qPoI1Max_MAPnI jCrv_qPoI1Max_mpInjCrv_qPoI1Min_mpInjCrv_qPoI1Set_mpI njCrv_stPoI1_mpInjCtl_qSetUnBalPFlt_PreRailCD_pPeak

Breakdown of PoI1 quantity in the case of collision If a collision between PoI1 and the next injection in the same bank is detected, InjCrv_swtPoI1Clsn_C.2 ==
(only systems with uneven number of cylinders) 1 can be used to distribute the fuel quantity of this injection to the other cylinders by shutting it off. The fuel
injection quantity for the affected cylinder InjCrv_qPoI1Lim_mp is thus distributed among the remaining
number of cylinders (EngM_numCyl -1). Calculation only takes place for the colliding cylinder, i.e., for all the
other cylinders the fuel quantity InjCrv_qPoI1Clsn remains constant.
If distribution does not take place (InjCrv_swtPoI1Clsn_C.2 == 0), or if no collision is detected for the
respective cylinder (InjCrv_stPoI1_mp.5 == 1), a quantity of "0" is output in InjCrv_qPoI1Clsn_mp.

injcrv_poi1.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PoI1 - 355 -
DS/ESM Post injection 1 Veh-DrvTrn-Eng-InjCtl-InjCrv

Figure 412 : Calculating the correction quantity selected by cylinder for post injection 1

In jC r v _ s w tP o I1 C ls n _ C .C L S N _ S P L IT _ Q N T ( 2 ) = = 0

in jc r v _ p o i1 _ 5 .d s f
E n g M _ n u m T D C

In jC r v _ n u m T D C P o I1 C ls n _ C
P

In jC r v _ s tP o I1 _ m p .P O I1 _ N O _ C L S N (5 )
!
In jC r v _ q P o I1 L im _ m p

E n g M _ n u m C y l - 1
In jC r v _ q P o I1 C ls n
In jC r v _ q P o I1 C ls n

EngM_numCylEngM_numTDCInjCrv_numTDCPIo1Clsn_CI njCrv_qPoI1ClsnIjCrv_qPoI1Lim_mpInjCrv_stPoI1_mpI njCrv_swtPoI1Clsn_C

Start of energizing of post injection 1 The PoI1 start of energizing is determined from the mapInjCrv_phiPoI1Bas_MAP. Next, correction value
InjCrv_phiPoI1EnvCor (see “Correction values for post injection 1 (InjCrv_PoI1EnvCor)” on page 359) is
added in. A customer specific correction can also be added to the start of energizing (see “Customer related
corrections for post injection 1 (InjCrv_PoI1AddCor)” on page 358).
A minimum selection using InjCrv_phiPoI1Max_C can ensure that the injection does not take place before
the earliest start of energizing. The latest injection start is calculated by converting the energizing time
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

InjCrv_tiPoI1_mp plus a minimum time between two injections InjCrv_tiPause_C. This value is
converted to an angle and added to the start of energizing of the earliest injection of the next cylinder on the
same bank (InjCrv_phiNxtCyl_mp).
InjCrv_phiNxtCyl_mp is, in turn, composed of the negative TDC angle of the next cylinder of the same bank
(InjCrv_phiNxtTDCoB_mp) to which the positive angle of the earliest last injection is added.
InjCrv_phiNxtTDCoB_mp is calculated from the current cylinder EngM_numTDC. Finally, in order to take into
account fast, dynamic changes in the angles InjCrv_phiDynOfs_mp is added. The resulting angle
InjCrv_phiPoI1Min_mp represents the latest start of energizing (= smallest angle) for PoI1.
If PoI1 is not released (see “Release of post injection 1” on page 353), zero is output as the desired angle
InjCrv_phiPoI1Des.
Figure 413 : Start of energizing of post injection 1
In jC r v _ tiP o I1 E T _ m p

In jC r v _ tiP s e

in c r v _ p o i1 _ 4 .d s f
E n g _ n A v rg

3 6 0 ° * m in / ( 6 * 1 0 ^ 7 µ s ) In jC r v _ p h iP o I1 D u r _ m p

In jC r v _ p h iP iI1 D e s

In jC r v _ tiP iI1 D e s

E n g _ n A v rg

3 6 0 ° * m in / ( 6 * 1 0 ^ 7 u s )

In jC r v _ tiP iI2 D e s

In jC r v _ p h iP iI2 D e s
In jC r v _ p h iP iI3 D e s M X
In jC r v _ p h iM I1 D e s

In jC r v _ p h iN x tT D C o B _ m p In jC r v _ p h iN x tC y l_ m p In jC r v _ p h iP o I1 M a x _ C
P

In jC r v _ p h iD y n O fs _ m p In jC r v _ p h iP o I1 M in _ m p
E n g _ n A v rg d is a b le P o I1 :
In jC r v _ s tP o I1 _ m p .0 = = 0

In jC r v _ p h iD y n O fs _ C U R
P

In jC r v _ p h iP o I1 B a s _ m p In jC r v _ p h iP o I1 S e t_ m p In jC r v _ p h iP o I1 L im _ m p
In jC r v _ p h iP o I1 D e s
In jC tl_ q S e tU n B a l

In jC r v _ p h iP o I1 B a s _ M A P
In jC r v _ p h iP o I1 E n v C o r

In jC r v _ p h iP o I1 A d d C o r
Eng_nAvrgInjCrv_phiDynOfs_CURnI jCrv_phiDynOfs_mpInjCrv_phiMI1Des InjCr_vphiNxtCyl_mpInjCrv_phiNxtTDCoBm_pInjCrv_phiPI 1DesInjCrv_phiPI2DesInjCr_vphiPI3DesInjCrv_phiPoI1Ad oCrInjCrv_phiPoI1Bas_MAPnI jCrv_phiPo1BI as_mp InjCrv_phiPoI1DesInjCrv_phiPoI1Dur_mp InjCrv_phiPoI1EnvCorInjCrv_phPi o1I iLm_p nI jCrv_phPi o1I Max_CInjCvr_phPi oI1Min_mpInjCrv_phPi oI1Set_mpnI jCrv_stPoI1_mp InCj rv_tiP1I DesInjCrv_tiPI2DesInjCrv_tiPo1I ET_mpInCj rv_tiPseI njtCl_qSetUnaBl

ECU initialization All output values are initialized with zero.

Output values InjCrv_phiPoI1Des: desired reference angle for begin of PoI1 [deg CrS] <SWORD> --->
InjCrv_qPoI1Des: desired PoI1 injection quantity [mm^3/inj] <SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


EngM_numCyl: number of cylinders [-] <UBYTE> --->
EngM_numTDC: Current firing TDC [-] <UBYTE> --->
EngM_stInjCharSetVal: shows the state of the allowed injections [-] <UBYTE> --->
InjCrv_phiMI1Des: desired reference angle for begin of MI1 [deg CrS] <SWORD> --->
InjCrv_phiPiI1Des: desired angle component for PiI1 start of energising [deg CrS] <SWORD>
--->
InjCrv_phiPiI2Des: desired angle component for PiI2 start of enrgising [deg CrS] <SWORD>

19.3.2002 injcrv_poi1.fm
- 356 - InjCrv_PoI1 Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Post injection 1 DS/ESM

--->
InjCrv_phiPiI3Des: desired angle component for PiI3 start of enrgising [deg CrS] <SWORD>
--->
InjCrv_phiPoI1AddCor: customer specific correction angle for PoI1 [deg CrS] <SWORD> --->
InjCrv_phiPoI1EnvCor: correction angle for PoI1 based on environmental conditions [deg
CrS] <SWORD> --->
InjCrv_qPoI1AddCor: customer specific correction quantity for PoI1 [mm^3/inj] <SWORD> --->
InjCrv_qPoI1EnvCor: correction quantity for PoI1 based on environmental conditions [mm^3/
inj] <SWORD> --->
InjCrv_stInjCharSetVal: injection characteristic set value (engine speed synchronous) [-
] <UBYTE> --->
InjCrv_tiPiI1Des: desired time component for PiI1 start of energising [us] <SWORD> --->
InjCrv_tiPiI2Des: desired time component for PiI2 start of energising [us] <SWORD> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->
PFlt_tPre: Exhaust gas temperature value pre particulate filter [deg C] <SWORD> --->
RailCD_pPeak: maximum rail pressure of last 10ms [hPa] <SWORD> --->

Measuring points InjCrv_facPoI1Tpre_mp: weighting factor [-] <SWORD> --->


InjCrv_phiDynOfs_mp: offset angle for fast dynamic events [deg CrS] <SWORD> --->
InjCrv_phiNxtCyl_mp: angle between act. TDC and earliest start of energising of next

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
cylinder on same bank [deg CrS] <SWORD> --->
InjCrv_phiNxtTDCoB_mp: angle between act. TDC and TDC of next cylinder on same block [deg
CrS] <SWORD> --->
InjCrv_phiPoI1Bas_mp: start of energising base value for PoI1 [deg CrS] <SWORD> --->
InjCrv_phiPoI1Dur_mp: total time PoI1 in degrees angle [deg CrS] <SWORD> --->
InjCrv_phiPoI1Lim_mp: limited start of energising for PoI1 [deg CrS] <SWORD> --->
InjCrv_phiPoI1Min_mp: minimum start of energising PoI1 [deg CrS] <SWORD> --->
InjCrv_phiPoI1Set_mp: start of energising set value for PoI1 [deg CrS] <SWORD> --->
InjCrv_qPoI1Bas_mp: injection quantity base value for PoI1 [mm^3/inj] <SWORD> --->
InjCrv_qPoI1Clsn_mp: PoI1 fuel quantity share selected by cylinder in the case of a collision
InjCrv_qPoI1Lim_mp: limited injection quantity for PoI1 [mm^3/inj] <SWORD> --->
InjCrv_qPoI1Max_mp: injection curve maximum value for PoI1 [mm^3/inj] <SWORD> --->
InjCrv_qPoI1Min_mp: injection quantity minimum value for PoI1 [mm^3/inj] <SWORD> --->
InjCrv_qPoI1Set_mp: injection quantity set value for PoI1 [mm^3/inj] <SWORD> --->
InjCrv_stPoI1_mp: release status of PoI1 [-] <UBYTE> --->
InjCrv_tiPoI1ET_mp: estimated ET of PoI1 [us] <SWORD> --->
InjCrv_volPoI1_mp: limited injection volume PoI1 [mm^3/inj] <SWORD> --->

Application parameters InjCrv_facPoI1Tpre_MAP: map for weighting factor<map_individual> --->


InjCrv_numTDCPoI1Clsn_C: number of coliding cylinder<value> --->
InjCrv_phiDynOfs_CUR: offset angle for fast dynamic events<curve_individual> --->
InjCrv_phiPoI1Bas_MAP: basevalue start of energising of PoI1<map_individual> --->
InjCrv_phiPoI1Max_C: maximum start of energising of PoI1<value> --->
InjCrv_qPoI1Bas_MAP: basevalue injection quantity PoI1<map_individual> --->
InjCrv_qPoI1Max_MAP: maximum value injection quantity for PoI1<map_individual> --->
InjCrv_swtPoI1Clsn_C: switch to select treatment of PoI1 in case of PoI1<value> --->
InjCrv_tiPause_C: physically determined minimum time between 2 injections<value> --->

injcrv_poi1.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PoI1Rls - 357 -
DS/ESM Post injection 1 release Veh-DrvTrn-Eng-InjCtl-InjCrv

Post injection 1 release (InjCrv_PoI1Rls)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Functional overview Post injection 1 is switched either on or off by the engine operating point or by a request from the exhaust
gas treatment system.
Figure 414 : Post injection 1 release - overview

E n g _ n A v rg

In jC tl_ q S e tU n B a l

In jC r v _ P O p P o I1 E n v C o r R e le a s e o f

In jC r v _ P O p P o I1 A d d C o r P o I1

in jc r v _ p o i1 r ls _ 1 0 0 .d s f
E G T _ s t

A c c o r d in g to B o s c h s ta n d a r d

Functional description The base value for the engine operating point InjCrv_POpPoI1Bas_mp is calculated from the map
InjCrv_POpPoI1Bas_MAP to which correction values InjCrv_POpPoI1EnvCor and InjCrv_POpPoI1AddCor
are added. If the calculated operating point InjCrv_POpPoI1_mp lies below the threshold
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

InjCrv_POpPoI1Low_C, release of the injection is inhibited (InjCrv_stInjCharDes.0 == 0). The


restriction is removed only when the InjCrv_POpPoI1High_C threshold is exceeded.
In addition, PoI1 can be requested by the exhaust gas system. In the message EGT_st.0...30 the current EGT
activation states are set (see “Regeneration coordinator for exhaust-gas treatment (EGT_CoRgn)” on page
439). Regeneration operation for the various activation states can be selected via the
InjCrv_stPoI1RgnMsk_C mask. If at least one of the selected bits in EGT_st is set, PoI1 is released
(InjCrv_stInjCharDes.INJCRV_POI1 (bit 0) == 1).
Either of the above described conditions is sufficient to set off the release.
Figure 415 : Release of post injection 1
E n g _ n A v rg P

in jc r v r v _ p o i1 r ls _ 1 .d s f
In jC r v _ P O p P o I1 B a s _ m p
In jC tl_ q S e tU n B a l

In jC r v _ P O p P o I1 B a s _ M A P In jC r v _ P O p P o I1 H ig h _ C
P

In jC r v _ P O p P o I1 E n v C o r In jC r v _ P O p P o I1 L o w _ C
P

In jC r v _ P O p P o I1 A d d C o r In jC r v _ P O p P o I1 _ m p
In jC r v _ s tIn jC h a r D e s _ m p .0
>= 1

E G T _ s t
B it
In jC r v _ s tP o I1 R g n M s k _ C A n d
P

Input values EGT_st: Regeneration request of exhaust gas treatment (engine speed synchronous) [-]
<ULONG> --->
Eng_nAvrg: average engine speed [rpm] <SWORD> --->
InjCrv_POpPoI1AddCor: customer specific correction value for PoI1 release [-] <SWORD> --->
InjCrv_POpPoI1EnvCor: release correction value for PoI1 [-] <SWORD> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

Measuring points InjCrv_POpPoI1_mp: basevalue PoI1 release after correction [-] <SWORD> --->
InjCrv_POpPoI1Bas_mp: basevalue PoI1 release [-] <SWORD> --->

Application parameters InjCrv_POpPoI1Bas_MAP: basevalue PoI1 release<map_individual> --->


InjCrv_POpPoI1High_C: upper hysteresis treshold of base value PoI1 release<value> --->
InjCrv_POpPoI1Low_C: lower hysreresis treshold of base value PoI1 release<value> --->
InjCrv_stPoI1RgnMsk_C: Bitmask for activation of regeneration mode PoI1<value> --->

19.3.2002 injcrv_poi1rls.fm
- 358 - InjCrv_PoI1AddCor Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Customer related corrections for post injection 1 DS/ESM

Customer related corrections for post injection 1 (InjCrv_PoI1AddCor)


CARTORNIC-Structure:Ve-hDrvTrnE-ng-InjCtl-InjCrv

Functional overview Calculation of customer related correction values for post injection 1 (PoI1).

Functional description No modification of initialised values.

ECU initialization The correction values InjCrv_qPoI1AddCor, InjCrv_phiPoI1AddCor and InjCrv_POpPoI1AddCor are
initialised with their default value "0".

Output values InjCrv_phiPoI1AddCor: customer specific correction angle for PoI1 [deg CrS] <SWORD> --->
InjCrv_POpPoI1AddCor: customer specific correction value for PoI1 release [-] <SWORD> --->
InjCrv_qPoI1AddCor: customer specific correction quantity for PoI1 [mm^3/inj] <SWORD> --->

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

injcrv_poi1addcor.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PoI1EnvCor - 359 -
DS/ESM Correction values for post injection 1 Veh-DrvTrn-Eng-InjCtl-InjCrv

Correction values for post injection 1 (InjCrv_PoI1EnvCor)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Functional overview The calculation of post injection1 (PoI1) is based on the operating point ( = engine speed, injected fuel
quantity) and various environmental conditions. Therefore, corrections in the injection quantity and start of
energizing angle are computed here.
Figure 416 : Calculating the correction values for post injection 1 - overview

E n g _ n A v rg

In jC tl_ q S e tU n B a l

In jC r v _ fa c P o I1 E T S Q C o r
C a lc u la tio n o f In jC r v _ q P o I1 E n v C o r
In jC r v _ fa c P o I1 A T S Q C o r
e n v ir o n m e n ta l
In jC r v _ fa c P o I1 A P S Q C o r
c o r r e c tio n s In jC r v _ p h iP o I1 E n v C o r
In jC r v _ fa c P o I1 E T S P h iC o r
o f P o I1
In jC r v _ fa c P o I1 A T S P h iC o r

In jC r v _ fa c P o I1 A P S P h iC o r

A c c o r d in g to B o s c h s ta n d a r d in jc r v _ p o i1 e n v c o r _ 1 0 0 .d s f
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Eng_nAvrgInjCrv_facPoI1APShiCorInjCrv_facPoI1APSQCorInjCrv_facPoI1ATSPhiCorInjCrv_facPoI1ATSQCorInjCrv_facPoI1ETSPhiCorI njCrv_facPoI1ETQSCorInjCrv_phiPoI1EnvCorInjCr_vqPoI1EnvCorInjCtl_qSetUnBal

Functional description Since the operating point and environmental conditions differ considerably in terms of dynamic behaviour,
calculation of the correction value has been divided into a 20ms and a 100ms process for run time purposes.
The calculation of the 20ms time slice is described below. For calculation of 100ms time slices see “Weighting
factors for post injection 1 (InjCrv_PoI1EnvCorSlow)” on page 361.
Correction value calculation for quantity correction Based on the operating point (Eng_nAvrg and InjCtl_qSetUnBal), one basic correction value is determined
of post injection 1 for each of the environmental conditions: engine temperature and atmospheric pressure. By multiplying it
with the weighting factors InjCrv_facPoI1APSQCor, InjCrv_facPoI1ATSQCor and
InjCrv_facPoI1ETSQCor, a correction quantity is calculated for each environmental condition
(InjCrv_qPoI1ETSCor_mp; InjCrv_qPoI1ATSCor_mp and InjCrv_qPoI1APSCor_mp). The sum of the
individual values amounts to the correction quantity InjCrv_qPoI1EnvCor.
Figure 417 : Correction value calculation for quantity correction of post injection 1

E n g _ n A v rg P

In jC r v _ q P o I1 E T S C o r _ m p In jC r v _ q P o I1 E n v C o r
In jC tl_ q S e tU n B a l

In jC r v _ q P o I1 E T S C o r _ M A P
In jC r v _ fa c P o I1 E T S Q C o r

in jc r v _ p o i1 e n v c o r _ 1 .d s f
P

In jC r v _ q P o I1 A P S C o r _ m p

In jC r v _ q P o I1 A P S C o r _ M A P
In jC r v _ fa c P o I1 A P S Q C o r

In jC r v _ q P o I1 A T S C o r _ m p

In jC r v _ q P o I1 A T S C o r _ M A P
In jC r v _ fa c P o I1 A T S Q C o r
Eng_nAvrgInjCrv_facPoI1APSQCorInjCrv_facPoI1ATSQCoInrjCrv_facPoI1ETSQCorInjCrv_qPoI1APSCo_rMAPInjCrv_qPoI1APSCor_mpInjCrv_qPoI1ATSCro_MAPnI jCrv_qPoI1ATSCro_mp InjCrv_qPoI1ETSCor_MAPInjCrv_qPoI1ETSCo_rmpInjCrv_qPoI1EnvCorI jnCtl_qSetUnBla

Calculation of correction values for correcting the Based on the operating point (Eng_nAvrg and InjCtl_qSetUnBal), one basic correction value is determined
start of energizing of post injection 1 for each of the environmental conditions: engine temperature and atmospheric pressure. By multiplying it
with the weighting factors InjCrv_facPoI1APSPhiCor, InjCrv_facPoI1ATSPhiCor and
InjCrv_facPoI1ETSPhiCor, a correction start of energizing is calculated for each environmental condition
(InjCrv_phiPoI1ETSCor_mp; InjCrv_phiPoI1ATSCor_mp and InjCrv_phiPoI1APSPhiCor_mp). The
sum of the individual values amounts to the correction quantity InjCrv_phiPoI1EnvCor.

19.3.2002 injcrv_poi1envcor.fm
- 360 - InjCrv_PoI1EnvCor Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Correction values for post injection 1 DS/ESM

Figure 418 : Calculation of correction values for correcting the start of energizing of post injection 1
E n g _ n A v rg P

In jC r v _ p h iP o I1 E T S C o r _ m p In jC r v _ p h iP o I1 E n v C o r
In jC tl_ q S e tU n B a l

In jC r v _ p h iP o I1 E T S C o r _ M A P
In jC r v _ fa c P o I1 E T S P h iC o r

in jc r v _ p o i1 e n v c o r _ 2 .d s f
P

In jC r v _ p h iP o I1 A P S C o r _ m p

In jC r v _ p h iP o I1 A P S C o r _ M A P
In jC r v _ fa c P o I1 A P S P h iC o r

In jC r v _ p h iP o I1 A T S C o r _ m p

In jC r v _ p h iP o I1 A T S C o r _ M A P

© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
In jC r v _ fa c P o I1 A T S P h iC o r
Eng_nAvrgInjCrv_facPoI1APShPiCorInjCrv_facPoI1ATSPhiCorInjCrv_facPoI1ETSPhiCorInjCrv_phiPoI1APSCro_MAP InjCrv_phiPoI1APSCor_mpInjCrv_phiPoI1ATCSo_rMAPInjCrv_phiPoI1ATSCor_mpInjCrv_phiPoI1ETSCor_MAPnI jCrv_phiPoI1ETSCor_mpInjCrv_phiPoI1EnvCoInrjCtl_qSeUtnaBl

ECU initialization All factors are initialized with "1.0", additive correction values with "0".

Output values InjCrv_phiPoI1EnvCor: correction angle for PoI1 based on environmental conditions [deg
CrS] <SWORD> --->
InjCrv_qPoI1EnvCor: correction quantity for PoI1 based on environmental conditions [mm^3/
inj] <SWORD> --->

Input values Eng_nAvrg: average engine speed [rpm] <SWORD> --->


InjCrv_facPoI1APSPhiCor: Correction factor for PoI1 based on the atmospheric pressure [-
] <SWORD> --->
InjCrv_facPoI1APSQCor: quantity correction value for PoI1 based on the atmospheric
pressure [-] <SWORD> --->
InjCrv_facPoI1ATSPhiCor: Correction factor for PoI1 based on the intake air temperature
[-] <SWORD> --->
InjCrv_facPoI1ATSQCor: Quantity correction value for PoI1 dependent on intake air
temperatur [-] <SWORD> --->
InjCrv_facPoI1ETSPhiCor: engine temperature dependent angle correction value for PoI1 [-
] <SWORD> --->
InjCrv_facPoI1ETSQCor: quantity correction value for PoI1 based on engine temperature [-
] <SWORD> --->
InjCtl_qSetUnBal: current injection quantity [mm^3/cyc] <SWORD> --->

Measuring points InjCrv_phiPoI1APSCor_mp: Customer specific angle correction for PoI1 dependent on
atmospheric pressure [deg CrS] <SWORD> --->
InjCrv_phiPoI1ATSCor_mp: Customer specific angle correction for PoI1 dependent on intaken
air temperature [deg CrS] <SWORD> --->
InjCrv_phiPoI1ETSCor_mp: correction angle for PoI1 based on the engine temperature [deg
CrS] <SWORD> --->
InjCrv_qPoI1APSCor_mp: correction quantity for PoI1 based on the atmospheric pressure
[mm^3/inj] <SWORD> --->
InjCrv_qPoI1ATSCor_mp: Correction quantity for PoI2 dependent on intaken air temperature
[mm^3/inj] <SWORD> --->
InjCrv_qPoI1ETSCor_mp: correction quantity for PoI1 based on engine temperature [mm^3/
inj] <SWORD> --->

Application parameters InjCrv_phiPoI1APSCor_MAP: Customer specific angle correction map for PoI1 dependent on
atmospheric pressure<map_individual> --->
InjCrv_phiPoI1ATSCor_MAP: Customer specific angle correction map for PoI1 dependent on
intaken air temperature<map_individual> --->
InjCrv_phiPoI1ETSCor_MAP: engine temperature dependent angle correction map for
PoI1<map_individual> --->
InjCrv_qPoI1APSCor_MAP: quantity correction map for PoI1 based on the atmospheric
pressure<map_individual> --->
InjCrv_qPoI1ATSCor_MAP: Correction quantity for PoI2 dependent on intaken air
temperature<map_individual> --->
InjCrv_qPoI1ETSCor_MAP: quantity correction map for PoI1 based on the engine
temperature<map_individual> --->

injcrv_poi1envcor.fm 19.3.2002
P_363 F80 JTD30 Y281 S01 363-V80 InjCrv_PoI1EnvCorSlow - 361 -
DS/ESM Weighting factors for post injection 1 Veh-DrvTrn-Eng-InjCtl-InjCrv

Weighting factors for post injection 1 (InjCrv_PoI1EnvCorSlow)


CARTONIC-Sturcture:VehD-rvTrnE-ng-InjCtl-InjCrv

Functional overview The calculation of post injection 1 (PoI1) is based on the operating point ( = engine speed and injected fuel
quantity) and various environmental conditions. Therefore, corrections of the calculated injection values are
calculated here.
Figure 419 : Calculating the weighting factors for post injection 1 - overview

In jC r v _ fa c P o I1 E T S Q C o r

In jC r v _ fa c P o I1 A P S Q C o r
E n g _ tE n g
C a lc u la tio n o f c o r r e c tio n
In jC r v _ fa c P o I1 E T S P h iC o r
fa c to rs fo r
IA T S C D _ tA ir In jC r v _ P O p P o I1 E n v C o r
e n v ir o n m e n ta l
In jC r v _ fa c P o I1 A T S Q C o r
A P S C D _ p V a l c o r r e c tio n s o f
In jC r v _ fa c P o I1 A T S P h iC o r
P o I1
In jC r v _ fa c P o I1 A P S P h iC o r
© Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

A c c o r d in g to B o s c h s ta n d a r d
in jc r v _ p o i1 e n v c o r s lo w _ 1 0 0 .d s f
APSDC_pValEng_tEngIATSCDt_AirInjCrv_facPoI1APShiCorInjCrv_facPoI1APSQCoInrjCrv_facPoI1ATSPhiCorInjCrv_facPoI1ATSQCorInjCrv_facPoI1ETShPiCorI njCrv_facPoI1ETSQCoInrjCr_vPOpPoI1EnvCor

Functional description Since the operating point and environmental conditions differ considerably in terms of dynamic behaviour,
calculation of the correction value has been divided into a 20ms and a 100ms process for run time purposes.
Calculation in the 100ms time slice is described below. For calculation of the 20ms time slice see “Correction
values for post injection 1 (InjCrv_PoI1EnvCor)” on page 359
Weighting factor calculation for post injection 1 Based on environmental conditions, atmospheric pressure, intaken air temperature and engine temperature,
quantity correction weighting factors InjCrv_facPoI1APSQCor, InjCrv_facPoI1ATSQCor and InjCrv_facPoI1ETSQCor are
calculated for the quantity correction. Each environmental condition has its own curve
(InjCrv_facPoI1APSQCor_CUR, InjCrv_facPoI1ATSQCor_CUR and InjCrv_facPoI1ETSQCor_CUR).
Figure 420 : Weighting factor calculation for post injection 1 quantity correction
P

E n g _ tE n g In jC r v _ fa c P o I1 E T S Q C o r

In jC r v _ fa c P o I1 E T S Q C o r _ C U R

IA T S C D _ tA ir In jC r v _ fa c P o I1 A T S Q C o r in jc r v _ p o i1 e n v c o r s lo w _ 1 .d s f

In jC r v _ fa c P o I1 A T S Q C o r _ C U R

A P S C D _ p V a l In jC r v _ fa c P o I1 A P S Q C o r

In jC r v _ fa c P o I1 A P S Q C o r _ C U R
APSDC_pValEng_tEngIATSCDt_AirInjCrv_facPoI1APSQCoInrjCrv_facPoI1APSQCor_CURInjCrv_facPoI1ATSQCorInjCr_vfacPoI1ATSQCor_CURnI jCrv_facPoI1ETSQCorInjCrv_facPoI1ETSQCor_CUR

Weighting factor calculation for start of energizing Based on environmental conditions, atmospheric pressure, intaken air temperature and engine temperature,
correction of post injection 1 weighting factors InjCrv_facPoI1APSPhiCor, InjCrv_facPoI1ATSPhiCor and
InjCrv_facPoI1ETSPhiCor are calculated for the quantity correction. Each environmental condition has its
own curve (InjCrv_facPoI1APSPhiCor_CUR, InjCrv_facPoI1ATSPhiCor_CUR and
InjCrv_facPoI1ETSPhiCor_CUR).
Figure 421 : Weighting factor calculation for start of energizing correction of post injection 1
P

E n g _ tE n g In jC r v _ fa c P o I1 E T S P h iC o r

In jC r v _ fa c P o I1 E T S P h iC o r _ C U R

IA T S C D _ tA ir In jC r v _ fa c P o I1 A T S P h iC o r
in jc r v _ p o i1 e n v c o r s lo w _ 2 .d s f

In jC r v _ fa c P o I1 A T S P h iC o r _ C U R

A P S C D _ p V a l In jC r v _ fa c P o I1 A P S P h iC o r

In jC r v _ fa c P o I1 A P S P h iC o r _ C U R
APSDC_pValEng_tEngIATSCDt_AirInjCrv_facPoI1APShiCorInjCrv_facPoI1APS hiCor_CURInjCrv_facPoI1ATSPhiCorInjCrv_facPoI1ATShPiCor_CURI njCrv_facPoI1ETSPhiCoInrjCrv_facPoI1ETSPhiCor_CUR

Calculation of the correction value for release of Based on the operating point, PoI1 is switched on or off. The basic value is corrected, based on the engine
post injection 1 temperature (InjCrv_POpPoI1ETSCor_CUR).

19.3.2002 injcrv_poi1envcorslow.fm
- 362 - InjCrv_PoI1EnvCorSlow Y281 S01 363-V80 P_363 F80 JTD30
Veh-DrvTrn-Eng-InjCtl-InjCrv Weighting factors for post injection 1 DS/ESM

Figure 422 : Calculation of the correction value for release of post injection 1

in jc r v _ p o i1 e n v c o r _ 3 .d s f
P

E n g _ tE n g In jC r v _ P O p P o I1 E n v C o r

In jC r v _ P O p P o I1 E T S C o r _ C U R
Eng_tEngIjCrv_POpPoI1EnvCornI jCr_vPOpPoI1ETSCor_CUR

ECU initialization All factors are initialized with "1.0", additive correction values with "0".

Output values InjCrv_facPoI1APSPhiCor: Correction factor for PoI1 based on the atmospheric pressure [-
] <SWORD> --->
InjCrv_facPoI1APSQCor: quantity correction value for PoI1 based on the atmospheric
pressure [-] <SWORD> --->
InjCrv_facPoI1ATSPhiCor: Correction factor for PoI1 based on the intake air temperature
[-] <SWORD> --->
InjCrv_facPoI1ATSQCor: Quantity correction value for PoI1 dependent on

You might also like