[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

EFIinfo.doc



This is a multi-part message in MIME format.

------=_NextPart_000_0000_01BFE14A.8721EC00
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable


This is a general statement about the gmecms, and is subject to =
modification by application.
Grumpy

Each application has a unique memcal. Each memcal has a four letter (and =
4 digit) broadcast code which is also unique for the application (most =
often, there are exceptions).=20

Air Fuel Ratio
The air-fuel ratio is maintained at 14.7:1 during closed-loop operation. =
This ratio is too rich for maximum economy and too lean for maximum =
power. During warm-up and power enrichment, a rich air-fuel ratio is =
used [less than 14.7:1]. During lean cruise operation, a lean air-fuel =
ratio is used=20

Barometric Pressure
Barometric pressure is sometimes calculated from the manifold sensor =
voltage. It is corrected for the pressure drop through the throttle body =
at low engine speed and throttle openings to give barometric pressure. =
Manifold pressure is scaled to reflect variations in barometric =
pressure.  Some applications read the MAP between the key on to crank =
posistion.

Battery Voltage
Battery voltage is monitored by the ECM. Variations in battery voltage =
can cause fluctuations in fuel delivery ei. injector opening delay and =
fuel pressure. The ECM compensates injector delivery parameters for =
voltage fluctuations. It also disables certain outputs if battery =
voltage falls outside operating limits.=20

Coolant Temperature
Coolant temperature is calculated from the coolant sensor voltage. The =
sensor is a negative temperature coefficient thermistor (resistance =
decreases as temperature increases), and two pull up resistors are used =
to increase the resolution of the sensor over the operating range -40 to =
152 deg C. Coolant temperature is used extensively in ECM calculations =
and lookups.

Engine Crank
The engine crank time counter is incremented each 100 msec from the time =
the first ref pulse is received until the time at which the engine is =
determined to be running.

Engine Speed
The ECM determines engine speed from calculated from the elapsed time =
between distributor reference pulses and the number of engine cylinders, =
which is contained on the memcal for each application.

IAC Motor Position
The IAC motor is a stepper motor, one end of which is fitted with a =
pintle. The pintle is stepped into and away from an orifice, which =
bypasses air around the throttle blade. The Idle Air Control motor =
position is measured in steps, where 0 steps is fully extended and =
corresponds to no bypass, and 255 steps is fully retracted and =
corresponds to full bypass. When the engine is idling, the IAC motor =
position will vary to maintain a desired idle speed. In closed loop idle =
the IAC motor position is varied based on difference between actual rpm =
and desired rpm to maintain the desired idle speed.

Idle Delta RPM
The absolute difference between the current idle speed and previous idle =
speed is calculated and averaged over the last 20 readings. The result =
is an averaged indication of the variation in idle rpm, which gives an =
indication of idle quality.

Idle Speed
Idle speed is obtained from engine speed. It is filtered or damped to =
remove cycle to cycle fluctuations, which occur at low engine speeds.

Injector Time
The injector time is the time in milliseconds which the injector is =
turned on. This time is proportional to the amount of fuel injected. The =
injector time is modified to take account of battery voltage (the =
injector takes longer to open with reduced voltage, also fuel pump =
pressure is less) and injector turn-on time.

Injector Voltage
The injector voltage is monitored by the PCM. This allows for more =
accurate pulse width compensation for voltage fluctuations at the =
injector than battery voltage alone.=20
Manifold Absolute Pressure
Manifold Absolute Pressure is determined directly from the MAP sensor =
voltage. It is scaled over the limits of 10 - 104 . MAP is proportional =
to engine load. It is used extensively as an estimate of engine load and =
as an independent variable for table lookups. It is also used together =
with rpm and volumetric efficiency to calculate the air consumption of =
the engine.=20

Long Term Fuel Trim (BL)
An array of block learn cells, or adaptive learn cells, is stored in =
non-volatile memory. Each cell corresponds to an rpm and map range, and =
the array covers the engine operating range. They compensate for =
individual engine operating characteristics which are present over long =
periods of time (they arc also called Block Learn Multiplier cells). =
When the engine is operating in closed loop, the fuel term is calculated =
and then multiplied by the block learn cell corresponding to the rpm and =
map conditions present. The block learn cells are constantly updated in =
closed loop mode. For learning to be enabled the engine must have =
operated in the relevant rpm and map region for a number of seconds. =
Note also that block learn values are interpolated, so that neighbouring =
cells may also influence the block learn value. When the cells are =
cleared by disconnecting the battery it may therefore take some time =
before the cells attain steady values.
The effect of these cells is thus to compensate for rich or lean regions =
caused by manufacturing tolerances, wear or malfunction. Because they =
reflect the engine operating conditions over the operating range, they =
are a useful source of diagnostic data.
The block learn multiplier ranges from 0:255. Values less than 128 =
indicate a negative term , and values greater than 128 indicate a =
positive term. When the engine is operating in open loop a value of 128 =
is used for the block learn cell.

Long Term Fuel Trim Cell
An array of block learn cells, or adaptive learn cells, is stored in =
non-volatile memory. Each cell corresponds to an rpm and map range, and =
the array covers the engine operating range. The cell number indicates =
the cell currently being used as follows:
	rpm	1200   1600	    2400	      3200
	3OkPa	0	5	          10	           15         	Idle DRAC OFF     20  =20
	4OkPa	1	6	           11	          16	Idle DRAC ON      21
	5OkPa	2	7	           12	          17	Idle PN AC OFF    22
	6OkPa	3	8	           13	          18	Idle PN ACON      23
          70kPa	4        9          14         19 =20

Manifold Air Temperature
Manifold temperature is calculated from the manifold sensor voltage. The =
sensor is a negative temperature coefficient thermistor (resistance =
decreases as temperature increases). Manifold temperature is used =
together with coolant temperature to calculate inlet air temperature.=20

02 Cross Counts
The 02 sensor has a very small linear range, and is used as rich lean =
switch. The number of times the 02 sensor switches from rich to lean and =
vice versa is used as an indication of a properly functioning sensor.

02 Sensor Voltage
The 02 sensor voltage is proportional to the exhaust gas oxygen content. =
The voltage varies from 0 - 1100 mV. A value less than 450 mV indicates =
a lean condition, a value greater than this indicates a rich condition. =
The 02 sensor reacts very quickly, but must be hot to operate properly. =
Some models have a heated 02 sensor, which enable them to reach =
operating temperature sooner. The 02 sensor has a very small linear =
range, hence can only indicate a rich or lean condition - it can't give =
a good indication of magnitude. The 02 sensor is used to provide =
feedback on engine operating conditions when operating in closed loop, =
where the air/fuel ratio is maintained at stoichiometric. This ratio is =
a compromise it is too rich for maximum economy and too lean for maximum =
power. The engine typically operates in closed loop except at high load =
regions.

Reference Voltage
Reference voltage is the voltage supplied to the ECM resistive input =
sensors (clt, mat,tps,map etc). It should be very close to 5.0 volts.=20

Road Speed
Road speed is calculated from the elapsed time between speed sender =
pulses and a calibrated constant which incorporates variables such as =
axle ratio and tire size. It is scaled to give road speed from 0:255 =
mph. This variable is used for example in idle logic to determine if the =
vehicle is moving. A separate road speed variable is calculated for =
automatic transmission vehicles for torque converter clutch and shift =
logic.

Short Term Fuel Trim (Int)
When the engine is operating in closed loop, the air/fuel ratio is =
maintained at stoichiometric and the 02 sensor voltage provides feedback =
on engine operation. The 02 voltage indicates either a rich or a lean =
signal, and the ECM, which integrates or sums this signal, multiplies it =
with the fuel sum. The ECM increments the integrator if the 02 signal =
indicates a lean condition, and decrements the integrator if the 02 =
signal indicates a rich condition. The longer the ECM receives, say, a =
lean signal, the larger the integrator term becomes, and the larger the =
resultant fuel term becomes after it is multiplied. The longer the ECM =
receives a rich signal, the smaller the fuel term becomes after it is =
multiplied. The short term fuel trim is proportional to the sum or =
integral of the error, so it is also called the integrator. The stft =
ranges from 0:255. Values less than 128 indicate a negative term, values =
greater than 128 indicate a positive term. When the engine is operating =
in open loop the integrator is set to 128.
In practice, in closed loop the 02 voltage varies continuously between =
rich and lean - the system oscillates around the stoichiometric point.=20

Spark Advance
The spark advance indicates the crankshaft degrees before Top Dead =
Center at which the ECM outputs a spark signal to the ignition module. =
Primary spark advance is calculated according to engine rpm and load. It =
is modified for coolant temperature, barometric pressure and knock =
amongst other variables.

Spark Retard
Spark retard is subtracted from the spark advance reading. Spark retard =
is calculated according to the amount of engine knock sensed by the ECM =
if a knock sensor is present.=20

TPS Sensor Voltage
Throttle position is calculated from the tps sensor voltage, and scaled =
to 0 - 100% tps. The ECM calculates percentage throttle from the lowest =
and highest tps sensor voltages seen by it, and scales percent tps =
between these values. =20


------=_NextPart_000_0000_01BFE14A.8721EC00
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns=3D"http://www.w3.org/TR/REC-html40";>

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<meta name=3DProgId content=3DWord.Document>
<meta name=3DGenerator content=3D"Microsoft Word 9">
<meta name=3DOriginator content=3D"Microsoft Word 9">
<link rel=3DFile-List href=3D"cid:filelist.xml@01BFE14A.87098200";>
<title>This section contains a description of variables common to both =
ECMand
PCM calibrations</title>
<!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Revision>9</o:Revision>
  <o:TotalTime>76</o:TotalTime>
  <o:Created>2000-06-28T22:34:00Z</o:Created>
  <o:LastSaved>2000-06-29T01:43:00Z</o:LastSaved>
  <o:Pages>1</o:Pages>
  <o:Words>1460</o:Words>
  <o:Characters>8324</o:Characters>
  <o:Company> </o:Company>
  <o:Lines>69</o:Lines>
  <o:Paragraphs>16</o:Paragraphs>
  <o:CharactersWithSpaces>10222</o:CharactersWithSpaces>
  <o:Version>9.2720</o:Version>
 </o:DocumentProperties>
 <o:OfficeDocumentSettings>
  <o:DoNotRelyOnCSS/>
 </o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>Normal</w:View>
  <w:EnvelopeVis/>
  =
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEve=
ry>
  =
<w:DisplayVerticalDrawingGridEvery>0</w:DisplayVerticalDrawingGridEvery>
  <w:UseMarginsForDrawingGridOrigin/>
  <w:Compatibility>
   <w:FootnoteLayoutLikeWW8/>
   <w:ShapeLayoutLikeWW8/>
   <w:AlignTablesRowByRow/>
   <w:ForgetLastTabAlignment/>
   <w:DoNotUseHTMLParagraphAutoSpacing/>
   <w:LayoutRawTableWidth/>
   <w:LayoutTableRowsApart/>
  </w:Compatibility>
  <w:DoNotOptimizeForBrowser/>
 </w:WordDocument>
</xml><![endif]-->
<style>
<!--
 /* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
p.p52, li.p52, div.p52
	{mso-style-name:p52;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:.5in;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p9, li.p9, div.p9
	{mso-style-name:p9;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:justify;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:.5in;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p10, li.p10, div.p10
	{mso-style-name:p10;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:11.0pt;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:61.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p11, li.p11, div.p11
	{mso-style-name:p11;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:10.0pt;
	margin-bottom:.0001pt;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:62.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.c12, li.c12, div.c12
	{mso-style-name:c12;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p13, li.p13, div.p13
	{mso-style-name:p13;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.1in;
	margin-bottom:.0001pt;
	text-indent:.1in;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:62.0pt 1.25in;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p16, li.p16, div.p16
	{mso-style-name:p16;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:10.0pt;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:62.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p7, li.p7, div.p7
	{mso-style-name:p7;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:.5in;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t14, li.t14, div.t14
	{mso-style-name:t14;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:21.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p8, li.p8, div.p8
	{mso-style-name:p8;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:9.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p20, li.p20, div.p20
	{mso-style-name:p20;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.1in;
	margin-bottom:.0001pt;
	text-indent:-.5in;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:31.0pt 62.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p21, li.p21, div.p21
	{mso-style-name:p21;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.2in;
	margin-bottom:.0001pt;
	text-indent:-.4in;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p23, li.p23, div.p23
	{mso-style-name:p23;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p22, li.p22, div.p22
	{mso-style-name:p22;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	text-indent:-.5in;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p27, li.p27, div.p27
	{mso-style-name:p27;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:372.0pt;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:444.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t26, li.t26, div.t26
	{mso-style-name:t26;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:14.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p30, li.p30, div.p30
	{mso-style-name:p30;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.6in;
	margin-bottom:.0001pt;
	text-indent:-1.6in;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:115.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p31, li.p31, div.p31
	{mso-style-name:p31;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.7in;
	margin-bottom:.0001pt;
	text-indent:-.1in;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:115.0pt 124.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t29, li.t29, div.t29
	{mso-style-name:t29;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p6, li.p6, div.p6
	{mso-style-name:p6;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:371.0pt;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:443.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t36, li.t36, div.t36
	{mso-style-name:t36;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.c35, li.c35, div.c35
	{mso-style-name:c35;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p40, li.p40, div.p40
	{mso-style-name:p40;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:372.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:444.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p41, li.p41, div.p41
	{mso-style-name:p41;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.3in;
	margin-bottom:.0001pt;
	text-align:justify;
	text-indent:-.9in;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:31.0pt 1.25in;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p42, li.p42, div.p42
	{mso-style-name:p42;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:43.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	line-height:14.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p45, li.p45, div.p45
	{mso-style-name:p45;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.6in;
	margin-bottom:.0001pt;
	text-indent:-1.6in;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t47, li.t47, div.t47
	{mso-style-name:t47;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:29.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t48, li.t48, div.t48
	{mso-style-name:t48;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:29.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t49, li.t49, div.t49
	{mso-style-name:t49;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:29.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p50, li.p50, div.p50
	{mso-style-name:p50;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.7in;
	margin-bottom:.0001pt;
	text-indent:-.3in;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:25.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t51, li.t51, div.t51
	{mso-style-name:t51;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:29.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t55, li.t55, div.t55
	{mso-style-name:t55;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:22.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p62, li.p62, div.p62
	{mso-style-name:p62;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:justify;
	line-height:29.0pt;
	mso-pagination:none;
	tab-stops:115.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p65, li.p65, div.p65
	{mso-style-name:p65;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:1.4in;
	margin-bottom:.0001pt;
	text-align:justify;
	text-indent:-.8in;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:115.0pt 172.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t68, li.t68, div.t68
	{mso-style-name:t68;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:22.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p69, li.p69, div.p69
	{mso-style-name:p69;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:1.4in;
	margin-bottom:.0001pt;
	text-indent:-.8in;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:115.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t70, li.t70, div.t70
	{mso-style-name:t70;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:29.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p4, li.p4, div.p4
	{mso-style-name:p4;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:.5in;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p5, li.p5, div.p5
	{mso-style-name:p5;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:.5in;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t1, li.t1, div.t1
	{mso-style-name:t1;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p12, li.p12, div.p12
	{mso-style-name:p12;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:2.0pt;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:74.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p14, li.p14, div.p14
	{mso-style-name:p14;
	margin:0in;
	margin-bottom:.0001pt;
	text-indent:-.1in;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:62.0pt 74.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.c17, li.c17, div.c17
	{mso-style-name:c17;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.c22, li.c22, div.c22
	{mso-style-name:c22;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p26, li.p26, div.p26
	{mso-style-name:p26;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	text-indent:-.1in;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:31.0pt 39.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p28, li.p28, div.p28
	{mso-style-name:p28;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.6in;
	margin-bottom:.0001pt;
	text-indent:-.4in;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:9.0pt 31.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t31, li.t31, div.t31
	{mso-style-name:t31;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:29.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t32, li.t32, div.t32
	{mso-style-name:t32;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:14.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p36, li.p36, div.p36
	{mso-style-name:p36;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:justify;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:.5in;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t41, li.t41, div.t41
	{mso-style-name:t41;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:29.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t57, li.t57, div.t57
	{mso-style-name:t57;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:14.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p63, li.p63, div.p63
	{mso-style-name:p63;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:370.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.c65, li.c65, div.c65
	{mso-style-name:c65;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p67, li.p67, div.p67
	{mso-style-name:p67;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:1.4in;
	margin-bottom:.0001pt;
	text-align:justify;
	text-indent:-1.6in;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:171.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p68, li.p68, div.p68
	{mso-style-name:p68;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:99.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	line-height:14.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p70, li.p70, div.p70
	{mso-style-name:p70;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:14.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t80, li.t80, div.t80
	{mso-style-name:t80;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:29.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p18, li.p18, div.p18
	{mso-style-name:p18;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.1in;
	margin-bottom:.0001pt;
	text-indent:-.9in;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:62.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t19, li.t19, div.t19
	{mso-style-name:t19;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:29.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p29, li.p29, div.p29
	{mso-style-name:p29;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p34, li.p34, div.p34
	{mso-style-name:p34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.6in;
	margin-bottom:.0001pt;
	text-align:justify;
	text-indent:-.4in;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:9.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p35, li.p35, div.p35
	{mso-style-name:p35;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:1.0in;
	margin-bottom:.0001pt;
	text-align:justify;
	text-indent:.4in;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:31.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p2, li.p2, div.p2
	{mso-style-name:p2;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:.5in;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p3, li.p3, div.p3
	{mso-style-name:p3;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:430.0pt;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:502.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.c18, li.c18, div.c18
	{mso-style-name:c18;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p24, li.p24, div.p24
	{mso-style-name:p24;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:.5in;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.c28, li.c28, div.c28
	{mso-style-name:c28;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t37, li.t37, div.t37
	{mso-style-name:t37;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:29.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p39, li.p39, div.p39
	{mso-style-name:p39;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:41.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:31.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p43, li.p43, div.p43
	{mso-style-name:p43;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.6in;
	margin-bottom:.0001pt;
	text-indent:-1.6in;
	line-height:21.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t11, li.t11, div.t11
	{mso-style-name:t11;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:29.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t13, li.t13, div.t13
	{mso-style-name:t13;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:29.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t16, li.t16, div.t16
	{mso-style-name:t16;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p19, li.p19, div.p19
	{mso-style-name:p19;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.6in;
	margin-bottom:.0001pt;
	text-indent:-.4in;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.c43, li.c43, div.c43
	{mso-style-name:c43;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p47, li.p47, div.p47
	{mso-style-name:p47;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	text-align:justify;
	text-indent:-.1in;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p48, li.p48, div.p48
	{mso-style-name:p48;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:372.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:444.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.c53, li.c53, div.c53
	{mso-style-name:c53;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.c8, li.c8, div.c8
	{mso-style-name:c8;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t12, li.t12, div.t12
	{mso-style-name:t12;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:29.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p15, li.p15, div.p15
	{mso-style-name:p15;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.1in;
	margin-bottom:.0001pt;
	text-indent:.4in;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:62.0pt 1.25in;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t8, li.t8, div.t8
	{mso-style-name:t8;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:29.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.c34, li.c34, div.c34
	{mso-style-name:c34;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p17, li.p17, div.p17
	{mso-style-name:p17;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.25in;
	margin-bottom:.0001pt;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:1.25in;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.c19, li.c19, div.c19
	{mso-style-name:c19;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.c25, li.c25, div.c25
	{mso-style-name:c25;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.c32, li.c32, div.c32
	{mso-style-name:c32;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t2, li.t2, div.t2
	{mso-style-name:t2;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:14.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.c23, li.c23, div.c23
	{mso-style-name:c23;
	margin:0in;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p1, li.p1, div.p1
	{mso-style-name:p1;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:.5in;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t3, li.t3, div.t3
	{mso-style-name:t3;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:29.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t4, li.t4, div.t4
	{mso-style-name:t4;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t5, li.t5, div.t5
	{mso-style-name:t5;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:14.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t7, li.t7, div.t7
	{mso-style-name:t7;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:29.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.t10, li.t10, div.t10
	{mso-style-name:t10;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p33, li.p33, div.p33
	{mso-style-name:p33;
	margin:0in;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p32, li.p32, div.p32
	{mso-style-name:p32;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:41.0pt;
	margin-bottom:.0001pt;
	line-height:14.0pt;
	mso-pagination:none;
	tab-stops:31.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
p.p60, li.p60, div.p60
	{mso-style-name:p60;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:369.0pt;
	margin-bottom:.0001pt;
	line-height:12.0pt;
	mso-pagination:none;
	tab-stops:441.0pt;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	layout-grid-mode:line;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:1.0in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
-->
</style>
</head>

<body lang=3DEN-US style=3D'tab-interval:.5in'>

<div class=3DSection1>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>This is a general statement about the gmecms, and is subject to
modification by application.<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Grumpy<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Each application has a unique memcal. Each memcal has a four =
letter
(and 4 digit) broadcast code which is also unique for the application =
(most
often, there are exceptions). <o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Air Fuel Ratio<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>The air-fuel ratio is maintained at 14.7:1 during closed-loop
operation. This ratio is too rich for maximum economy and too lean for =
maximum
power. During warm-up and power enrichment, a rich air-fuel ratio is =
used [less
than 14.7:1]. During <b><span style=3D'font-weight:bold'>lean</span></b> =
cruise
operation, a lean air-fuel ratio is used <o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Barometric Pressure<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Barometric pressure is sometimes calculated from the manifold =
sensor
voltage. It is corrected for the pres=ADsure drop through the throttle =
body at
low engine speed and throttle openings to give barometric pressure. =
Manifold
pressure is scaled to reflect variations in barometric pressure.<span
style=3D"mso-spacerun: yes">&nbsp; </span>Some applications read the MAP =
between
the key on to crank posistion.<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Battery Voltage<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Battery voltage is monitored by the ECM. Variations in battery =
voltage
can cause fluctuations in fuel delivery ei. injector opening delay and =
fuel
pressure. The ECM compensates injector delivery parameters for voltage
fluctuations. It also disables certain outputs if battery voltage falls =
outside
operating limits. <o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Coolant Temperature<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Coolant temperature is calculated from the coolant sensor =
voltage. The
sensor is a negative temperature coefficient thermistor (resistance =
decreases
as temperature increases), and two pull up resistors are used to =
increase the
resolution of the sensor over the operating range -40 to 152 deg C. =
Coolant
temperature is used extensively in ECM calculations and =
lookups.<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Engine Crank<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>The engine crank time counter is incremented each 100 msec from =
the
time the first ref pulse is received until the time at which the engine =
is
determined to be running.<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Engine Speed<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>The ECM determines engine speed from calculated from the elapsed =
time
between distributor reference pulses and the number of engine cylinders, =
which
is contained on the memcal for each =
application.<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>IAC Motor Position<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>The IAC motor is a stepper motor, one end of which is fitted =
with a
pintle. The pintle is stepped into and away from an orifice, which =
bypasses air
around the throttle blade. The Idle Air Control motor position is =
measured in
steps, where 0 steps is fully extended and corresponds to no by=ADpass, =
and 255
steps is fully retracted and corresponds to full bypass. When the engine =
is
idling, the IAC motor position will vary to maintain a desired idle =
speed. In
closed loop idle the IAC motor position is varied based on difference =
between
actual rpm and desired rpm to maintain the desired idle =
speed.<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Idle Delta RPM<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>The absolute difference between the current idle speed and =
previous
idle speed is calculated and averaged over the last 20 readings. The =
result is
an averaged indication of the variation in idle rpm, which gives an =
indication
of idle quality.<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Idle Speed<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Idle speed is obtained from engine speed. It is filtered or =
damped to
remove cycle to cycle fluc=ADtuations, which occur at low engine =
speeds.<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Injector Time<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>The injector time is the time in milliseconds which the injector =
is
turned on. This time is propor=ADtional to the amount of fuel injected. =
The
injector time is modified to take account of battery voltage (the =
injector
takes longer to open with reduced voltage, also fuel pump pressure is =
less) and
injector turn-on time.<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Injector Voltage<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>The injector voltage is monitored by the PCM. This allows for =
more
accurate pulse width com=ADpensation for voltage fluctuations at the =
injector
than battery voltage alone. <o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Manifold Absolute Pressure<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Manifold Absolute Pressure is determined directly from the MAP =
sensor
voltage. It is scaled over the limits of 10 - 104 . MAP is proportional =
to
engine load. It is used extensively as an esti=ADmate of engine load and =
as an
independent variable for table lookups. It is also used together with =
rpm and
volumetric efficiency to calculate the air consumption of the engine. =
<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Long Term Fuel Trim (BL)<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>An array of block learn cells, or adaptive learn cells, is =
stored in
non-volatile memory. Each cell corresponds to an rpm and map range, and =
the
array covers the engine operating range. They compensate for individual =
engine
operating characteristics which are present over long periods of time =
(they arc
also called Block Learn Multiplier cells). When the engine is operating =
in
closed </span></font><b style=3D'mso-bidi-font-weight:normal'><font =
size=3D1><span
style=3D'font-size:8.0pt;mso-bidi-font-size:10.0pt;font-weight:bold'>loop=
, </span></font></b><font
size=3D2><span style=3D'font-size:11.0pt;mso-bidi-font-size:10.0pt'>the =
fuel term
is calculated and then multiplied by the block learn cell corresponding =
to the
rpm and map conditions present. The block learn cells are constantly =
updated in
closed loop mode. For learning to be enabled the engine must have =
operated in
the relevant rpm and map region for a number of seconds. Note also that =
block
learn values are interpolated, so that neigh=ADbouring cells may also =
influence
the block learn value. When the cells are cleared by disconnecting the =
battery
it may therefore take some time before the cells attain steady =
values.<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>The effect of these cells is thus to compensate for rich or lean
regions caused by manufacturing tolerances, wear or malfunction. Because =
they
reflect the engine operating conditions over the operating range, they =
are a
useful source of diagnostic data.<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>The block learn multiplier ranges from 0:255. Values less than =
128
indicate a negative term , and values greater than 128 indicate a =
positive
term. When the engine is operating in open loop a value of 128 is used =
for the
block learn cell.<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Long Term Fuel Trim Cell<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>An array of block learn cells, or adaptive learn cells, is =
stored in
non-volatile memory. Each cell corresponds to an rpm and map range, and =
the
array covers the engine operating range. The cell number indicates the =
cell
currently being used as follows:<o:p></o:p></span></font></p>

<p class=3Dt3 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly;tab-stops:
31.0pt 87.0pt 117.0pt decimal 156.0pt 185.0pt left 231.0pt'><font =
size=3D2
face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:10.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>rpm<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>1200<span
style=3D"mso-spacerun: yes">&nbsp;&nbsp; </span>1600<span =
style=3D'mso-tab-count:
1'>&nbsp;&nbsp; </span><span style=3D"mso-spacerun: =
yes">&nbsp;&nbsp;&nbsp;
</span>2400<span style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span><span
style=3D"mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>3200<o:p></o:p></span></font></p>

<p class=3Dt3 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly;tab-stops:
31.0pt 87.0pt 117.0pt decimal 156.0pt 185.0pt left 231.0pt'><font =
size=3D2
face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:10.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>3OkPa<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>0<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>5<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span><span
style=3D"mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>10<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span><span
style=3D"mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>15<span style=3D"mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>Idle
DRAC OFF<span style=3D"mso-spacerun: yes">&nbsp;&nbsp; </span><span
style=3D"mso-spacerun: yes">&nbsp;&nbsp;</span>20<span =
style=3D"mso-spacerun:
yes">&nbsp;&nbsp; </span><o:p></o:p></span></font></p>

<p class=3Dt3 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly;tab-stops:
31.0pt 87.0pt 117.0pt decimal 156.0pt 185.0pt left 231.0pt'><font =
size=3D2
face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:10.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>4OkPa<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>1<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>6<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span><span
style=3D"mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>11<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span><span
style=3D"mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>16<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>Idle
DRAC ON<span style=3D"mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>21<o:p></o:p></span></font></p>

<p class=3Dt3 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly;tab-stops:
31.0pt 87.0pt 117.0pt decimal 156.0pt 185.0pt left 231.0pt'><font =
size=3D2
face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:10.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>5OkPa<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>2<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>7<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span><span
style=3D"mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>12<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span><span
style=3D"mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>17<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>Idle
PN AC OFF<span style=3D"mso-spacerun: yes">&nbsp;&nbsp;&nbsp; =
</span>22<o:p></o:p></span></font></p>

<p class=3Dt3 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly;tab-stops:
31.0pt 87.0pt 117.0pt decimal 156.0pt 185.0pt left 231.0pt'><font =
size=3D2
face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:10.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>6OkPa<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>3<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>8<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span><span
style=3D"mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>13<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span><span
style=3D"mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>18<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>Idle
PN ACON<span style=3D"mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>23<o:p></o:p></span></font></p>

<p class=3Dt3 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly;tab-stops:
31.0pt 87.0pt 117.0pt decimal 156.0pt 185.0pt left 231.0pt'><font =
size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'><span =
style=3D'mso-bidi-font-size:
10.0pt'><span style=3D"mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>70kPa<span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; </span>4<span
style=3D"mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>9<span style=3D"mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>14<span
style=3D"mso-spacerun: =
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>19<span style=3D"mso-spacerun: yes">&nbsp; =
</span></span></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Manifold Air Temperature<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Manifold temperature is calculated from the manifold sensor =
voltage.
The sensor is a negative temperature coefficient thermistor (resistance
decreases as temperature increases). Manifold temperature is used =
together with
coolant temperature to calculate inlet air temperature. =
<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>02 Cross Counts<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>The 02 sensor has a very small linear range, and is used as rich =
lean
switch. The number of times the 02 sensor switches from rich to lean and =
vice
versa is used as an indication of a properly functioning =
sensor.<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>02 Sensor Voltage<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>The 02 sensor voltage is proportional to the exhaust gas oxygen
content. The voltage varies from 0 - 1100 mV. A value less than 450 mV
indicates a lean condition, a value greater than this indi=ADcates a =
rich
condition. The 02 sensor reacts very quickly, but must be hot to operate
properly. Some models have a heated 02 sensor, which enable them to =
reach
operating temperature sooner. The 02 sensor has a very small linear =
range,
hence can only indicate a rich or lean condi=ADtion - it can't give a =
good
indication of magnitude. The 02 sensor is used to provide feedback on =
engine
operating conditions when operating in closed loop, where the air/fuel =
ratio is
maintained at stoichiometric. This ratio is a compromise it is too rich =
for
maximum economy and too lean for maximum power. The engine typically =
operates
in closed loop except at high load regions.<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Reference Voltage<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Reference voltage is the voltage supplied to the ECM resistive =
input
sensors (clt, mat,tps,map etc). It should be very close to <i =
style=3D'mso-bidi-font-style:
normal'><span style=3D'font-style:italic'>5.0 </span></i>volts. =
<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Road Speed<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Road speed is calculated from the elapsed time between speed =
sender
pulses and a calibrated constant which incorporates variables such as =
axle
ratio and tire size. It is scaled to give road speed from <i =
style=3D'mso-bidi-font-style:
normal'><span style=3D'font-style:italic'>0:255 m</span></i>ph. This =
variable is
used for example in idle logic to determine if the vehicle is moving. A
separate road speed variable is calculated for automatic transmission =
vehicles
for torque converter clutch and shift =
logic.<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Short Term Fuel Trim (Int)<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>When the engine is operating in closed loop, the air/fuel ratio =
is
maintained at stoichiometric and the 02 sensor voltage provides feedback =
on
engine operation. The 02 voltage indicates either a rich or a lean =
signal, and
the ECM, which integrates or sums this signal, multiplies it with the =
fuel sum.
The ECM increments the integrator if the 02 signal indicates a lean =
condition,
and decrements the integrator if the 02 signal indicates a rich =
condition. The
longer the ECM re=ADceives, say, a lean signal, the larger the =
integrator term
becomes, and the larger the resultant fuel term becomes after it is =
multiplied.
The longer the ECM receives a rich signal, the smaller the fuel term =
becomes
after it is multiplied. The short term fuel trim is proportional to the =
sum or
integral of the error, so it is also called the integrator. The stft =
ranges
from <i style=3D'mso-bidi-font-style:normal'><span =
style=3D'font-style:italic'>0:255.
</span></i>Values less than 128 indicate a negative term, values greater =
than
128 indicate a positive term. When the engine is operating in open loop =
the
integrator is set to 128.<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>In practice, in closed loop the 02 voltage varies continuously =
between
rich and lean - the system oscillates around the stoichiometric point. =
<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Spark Advance<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>The spark advance indicates the crankshaft degrees before Top =
Dead
Center at which the ECM outputs a spark signal to the ignition module. =
Primary
spark advance is calculated according to engine rpm and load. It is =
modified
for coolant temperature, barometric pressure and knock amongst other =
variables.<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Spark Retard<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Spark retard is subtracted from the spark advance reading. Spark =
retard
is calculated according to the amount of engine knock sensed by the ECM =
if a
knock sensor is present. <o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>TPS Sensor Voltage<o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'>Throttle position is calculated from the tps sensor voltage, and =
scaled
to 0 - 100% tps. The ECM calculates percentage throttle from the lowest =
and
highest tps sensor voltages seen by it, and scales percent tps between =
these
values.<span style=3D"mso-spacerun: yes">&nbsp; =
</span><o:p></o:p></span></font></p>

<p class=3Dp1 =
style=3D'line-height:14.0pt;mso-line-height-rule:exactly'><font
size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:11.0pt;mso-bidi-font-size:
10.0pt'><![if =
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

</div>

</body>

</html>

------=_NextPart_000_0000_01BFE14A.8721EC00--

----- End of forwarded message from owner-gmecm@diy-efi.org