sf_car Configurations
Engine
Floating Scope
Inputs
Mux
Open Documentation
Scope1
Scope2
Vehicle
shift_logic
transmission
impeller torque
throttle
engine RPM
output torque
transmission speed
vehicle speed
brake
gear
Double-click to open the Signal Editor and select an input maneuver
Copyright 1997-2024 The MathWorks, Inc.
sf_car
sfun
rtw
[229,43,64,60]
[94,310,34,36]
[9,140,129,66]
[549,238,9,40]
[54,56,34,34]
[329,95,34,36]
[614,241,34,34]
[624,58,139,80]
[219,126,84,84]
[409,58,139,80]
[-1,207,147,70]
[278,299,195,21]
Engine Ti
throttle
Integrator
Sum
engine torque
engine + impeller inertia
Ne [3,0,29,16]
[3,29,29,18]
[293,26,34,34]
[163,23,34,35]
[83,28,34,35]
[228,20,44,46]
[363,35,29,16]
Inputs Coasting
Gradual_Acceleration
Hard_braking
Passing_Maneuver
Vehicle brake torque
transmission output torque
Sign
Sum
Sum1
final drive ratio1
final drive ratio2
linear speed
mph
road load
signed load
vehicle inertia
wheel speed
vehicle speed
transmission output speed
Vehicle [26,215,24,24]
[26,35,24,24]
[581,130,34,34]
[171,33,29,48]
[631,156,29,97]
[96,28,39,38]
[566,39,39,36]
[356,153,64,58]
[436,153,64,58]
[536,166,69,32]
[686,114,29,126]
[221,39,39,36]
[291,45,24,24]
[751,100,24,24]
[751,45,24,24]
[324,317,63,27]
shift_logic gear_state
selection_state during: [down_th,up_th] = calc_th(gear,throttle);
first
second
third
fourth
UP
UP
UP
DOWN
DOWN
DOWN
steady_state
downshifting
upshifting
[down_th,up_th] = calc_th(gear,throttle)
[speed > up_th]
[speed < down_th]
after(TWAIT,tick) [speed <= down_th] {send(gear_state.DOWN)}
[speed > down_th]
after(TWAIT,tick) [speed >= up_th] {send(gear_state.UP)}
[speed < up_th] [2,2,581,81]
[2,90,581,289]
[40,19,89,44]
[178,19,89,44]
[323,19,91,44]
[464,19,89,44]
[245,130,98,43]
[42,226,90,41]
[469,226,78,41]
[184,313,226,52]
calc_th gear
throttle
f
Look-Up
interp_down
interp_up
down_th
up_th [14,122,34,18]
[14,57,34,18]
[-1,-1,24,24]
[84,111,69,40]
[319,156,54,55]
[319,52,54,53]
[429,177,34,18]
[429,72,34,18]
Look-Up function out = fcn(gear)
%#codegen
table = [1 2 3 4];
switch(gear)
case gearType.fourth;
out=table(4);
case gearType.third;
out=table(3);
case gearType.second;
out=table(2);
otherwise; % gearType.first
out=table(1);
end
end [-2,-2,196,19]
[30,13,76,19]
[30,28,148,19]
[30,43,100,19]
[62,58,172,19]
[94,73,108,19]
[62,88,164,19]
[94,103,108,19]
[62,118,172,19]
[94,133,108,19]
[62,148,220,19]
[94,163,108,19]
[30,178,28,19]
[-2,193,4,19]
[-2,208,28,19]
[-2,223,4,19]
interp_down LUT: interp_down
downth
downtab
interp_up LUT: interp_up
upth
uptab
transmission Ne
gear
Nout
Torque Converter
transmission ratio
Ti
Tout
turbine torque [0,8,34,18]
[0,78,34,18]
[0,113,34,18]
[115,0,59,59]
[275,31,64,62]
[385,8,34,18]
[385,38,34,18]
Torque Converter Ne
Nin
K factor
Torque ratio
impeller
quotient
speed ratio
turbine
Ti
Tt
TORQUE CONVERTER [0,69,29,18]
[0,39,29,18]
[160,36,54,54]
[310,90,59,56]
[305,27,64,42]
[240,10,49,71]
[70,32,54,62]
[415,35,49,46]
[485,0,29,16]
[485,50,29,16]
[166,168,137,22]
transmission ratio Tin
gear
Nout
Look-Up Table
Product
Product1
Tout
Nin [-1,0,34,18]
[-1,45,34,18]
[309,135,34,18]
[74,34,44,40]
[209,-1,34,35]
[219,119,34,35]
[309,10,34,18]
[-1,130,34,18]
Look-Up Table function out = fcn(gear)
%#codegen
table = [2.393 1.450 1.000 0.677];
switch(gear)
case gearType.fourth
out=table(4);
case gearType.third
out=table(3);
case gearType.second
out=table(2);
otherwise % gearType.first
out=table(1);
end
end [-2,-2,196,19]
[30,13,76,19]
[30,28,276,19]
[30,43,100,19]
[62,58,164,19]
[94,73,108,19]
[62,88,156,19]
[94,103,108,19]
[62,118,164,19]
[94,133,108,19]
[62,148,212,19]
[94,163,108,19]
[30,178,28,19]
[-2,193,4,19]
[-2,208,28,19]
[-2,223,4,19]