M220 Technical Specification
29T-068432TK-05

Release 2.9.0 (r2020-1)

13-Apr-2020


Table of Contents

1. Technical specification
1.1. Overview
1.2. Function reference
2. Connector pinout
2.1. Pocket A
3. Internal signals
4. Operational details
4.1. ECU power
4.2. ECU power — control
4.3. ECU power — sensor supplies
4.4. Analogue inputs
4.5. Analogue inputs — relationship between VREF, sensor supplies and inputs
4.6. Analogue inputs — variable reluctance (VR)/Hall effect inputs
4.7. Digital inputs
4.8. Digital outputs
4.9. Digital output — state monitoring
4.10. Digital output — high/low-side driver protection and diagnostics
4.11. Digital output — high-side output diagnostics
4.12. H-bridge outputs
4.13. H-bridge outputs — H-bridge ready signal
4.14. Communication — CAN
4.15. Memory — configuration
4.16. Memory — non-volatile storage and lifetime
4.17. Memory — calibration capabilities
4.18. System modes
4.19. Flash codes
4.20. Floating point capabilities
4.21. Customization — build options
5. Dimensions
A. Contact information

List of Figures

4.1. Switching arrangement for main power supply
4.2. VREF arrangement
4.3. High-side switching arrangement for digital outputs
4.4. Low-side switching arrangement for digital outputs
4.5. H-bridge arrangement
4.6. Flash code sequence
5.1. Outline of physical dimensions

List of Tables

1.1. Specification
1.2. Function reference
2.1. Part numbers of the mating connector
2.2. Part numbers for the 6.3 mm pin
2.3. Part numbers for the 2.8 mm pin
2.4. Part numbers for the 0.64 mm pin
2.5. Part numbers of the pin crimp tools
2.6. Connector pinout — Pocket A
3.1. Internal signals
4.1. PSU 1 monitor voltages
4.2. VR input voltage range
4.3. Low-side digital output leakage current
4.4. High-side digital output current monitor
4.5. Memory configurations supported
4.6. System mode selection
4.7. Flash code example
4.8. Flash codes
4.9. Floating point conditions

Chapter 1. Technical specification

This document is the technical specification for OpenECU part 01T-068432-05m03. Within this document, that part is referred to as the M220-000 ECU.

Note

For a list of issues and possible work arounds for this ECU, found after publication of this document, please refer to the hardware errata for this ECU (named 29T-068432 M220 Technical Spec Errata).

Specific option control may exist for this part. In that case, parts of this document will be overridden by an option control specific technical specification. Please refer to the option control technical specification for more information.

1.1. Overview

This technical specification relates to the following ECU variant:

  • M220D-000 — for development and testing, including full interactive calibration tool integration.

Table 1.1. Specification

SpecificationVariant
M220D-000
Status Available [a]
Processor MPC5534
Rate 80MHz
Code space up to 768KiB [b]
RAM space up to 832KiB [b]
Calibration space up to 256KiB [b]
Calibratable Y
Reprogrammable Y
Power control relays -
Actuator supplies -
Sensor supplies 1
Inputs 20
Outputs 13
CAN buses 2
LIN buses -
RS232 links -
Connectors 1x46
Weight 520g
Vibration 6g random RMS
Shock capability - [c]
Enclosure IP69K [d]
EMC - [c]
Partial operating voltage 6 to 36V
Full operating voltage 7 to 32V [e]
Standby current (typical) 0.25mA at 12V [f]
Operating current (typical) 100mA at 12V [g]
Operating temperature range -40 to +105°C
Storage temperature range (installation) -40 to +105°C
Storage temperature range (shipping) -40 to +85°C

[a] Target ECU available for general use.

[b] See list of possible memory configurations in section 'Memory - configuration'.

[c] Please contact Pi for details.

[d] Designed for chassis mounted applications.

[e] Designed for 12V or 24V vehicles.

[f] 1.75mA at 24V.

[g] 75mA at 24V. When running idle task with I/O disconnected.


1.2. Function reference

Various input and output functionality is supported where some pins may be capable of more than one function. Some functions require a combination of pins but not all pin combinations are possible.

Table 1.2. Function reference

I/O typeExternalInternalPins
Power
ECU supply 1- A2
ECU ground 1- A31
Sensor supply 1- A25
Module control, status
Ignition sense 1- A26
Module control
FEPS
1- A27
Module status
Flash code
1- A27
Communication
CAN buses 2- A23+A24, A28+A43
Inputs — time based
Analogue 1227 A3, A5, A7, A10, A12, A13, A14, A15, A18, A19, A20, A21
Digital 84 A4, A6, A11, A22, A26, A38, A39, A42
Frequency 8- A4, A6, A8+A9, A11, A22, A38, A39, A42
PWM 7- A6, A8+A9, A11, A22, A38, A39, A42
Quadrature 7- A6, A8+A9, A11, A22, A38, A39, A42
Outputs — time based
Digital 1210 A16, A17, A29, A32, A33, A34, A35, A36, A37, A44, A45, A46
H-bridge 1- A30+A1
PWM 12- A16, A17, A29, A32, A33, A34, A35, A36, A37, A44, A45, A46
Inputs — angle based
Crank-shaft
primary
1- A8+A9
Cam-shaft 3- A4, A6, A11
Analogue 1252 A3, A5, A7, A10, A12, A13, A14, A15, A18, A19, A20, A21
Analogue
injector duration
12- A3, A5, A7, A10, A12, A13, A14, A15, A18, A19, A20, A21
Outputs — angle based
Injector
saturating
4- A17, A29, A32, A44
Ignition 4- A35, A36, A37, A46

Chapter 2. Connector pinout

The M220-000 variants have one ECU connector (pocket) named A, which has a pinout as given in the following table. Currents listed are RMS unless otherwise stated.

The following abbreviations are used in the pinout tables below:

CCommunication
IInput
MMonitor
OOutput
PPower
CTCurrent trip
GNDGround
PSUPower supply
PWRPower

2.1. Pocket A

Connector packs can be ordered from Pi. Individual connector components can be ordered from Pi or from various manufacturers.

Table 2.1. Part numbers of the mating connector

Supplier Part number Part
TE 1326110-1 Cable mount connector (right handed)
1326341-1 Cable mount connector (left handed)
1326113-1 Cover

Table 2.2. Part numbers for the 6.3 mm pin

Supplier Part number Colour Part
Yazaki 7116-4142-02 Tin Female crimp contact
7158-3081-50 Red Seal (for wire 1.40 mm - 2.10 mm)
7158-3082-90 Blue Seal (for wire 2.18 mm - 3.00 mm)
7158-3083 Black
7158-3080-60 Green Plug for unused position
Pins A2, A16, A31 and A45

Table 2.3. Part numbers for the 2.8 mm pin

Supplier Part number Colour Part
TE 1326032-4 Tin Female crimp contact
Yazaki 7158-3111-60 Green Seal (for wire 1.19 mm - 1.90 mm)
7158-3112-70 Yellow Seal (for wire 1.88 mm - 2.10 mm)
7158-3113-40 White Seal (for wire 2.18 mm - 3.00 mm)
7158-3114-90 Blue Plug for unused position
Pins A17, A30+A1 and A46

Table 2.4. Part numbers for the 0.64 mm pin

Supplier Part number Colour Part
TE 0638551-1 Tin Female crimp contact
Deutsch 0413-204-2005 Red Plug for unused position
Pins A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A32, A33, A34, A35, A36, A37, A38, A39, A40+A41, A42, A43 and A44

Table 2.5. Part numbers of the pin crimp tools

Supplier Tool assembly part number Die assembly part number Part
TE 91338-1 91338-2 Crimp tool for the 0.64 mm female terminal, PRO-CRIMPER III Hand Tool
Diamond Die and Mold Company 088BR - Crimp tool for the 2.8 mm female terminal
088BR-1 Crimp tool for the 6.3 mm female terminal

Table 2.6. Connector pinout — Pocket A

Main connector — Pocket A
PinPFunctionI/OMLoadingFilterRangeNotes
A1 Digital O Y H-bridge 5A Outputs A1 and A30 are only supported in H-bridge mode. Independent configuration as a low-side or high-side output is not possible. Related to internal channels H-bridge Ready and Monitor (v).
A2 VPWR P Y 40A Related to internal channel AIN VPWR.
A3 Analogue I 1k to VPSU1 530Hz 0V to 5V 12-bit unsigned conversion.
A4 Analogue (VRS single-ended) I 68K series 23.4kHz TBD VRS input. Related to internal channels DOT Hall input bias and DOT Hall-VRS Select.
Digital (VRS single ended) 0 to +157V Cam-shaft position sensor. Related to internal channels DOT Hall input bias and DOT Hall-VRS Select.
A5 Analogue I 1k to VPSU1 530Hz 0V to 5V 12-bit unsigned conversion.
A6 Analogue (VRS single-ended) I 68K series 23.4kHz TBD Single-ended VRS input. Pin not available as PWM input in the default build configuration. Related to internal channels DOT Hall input bias and DOT Hall-VRS Select.
Digital (VRS single ended) 0 to +157V Cam-shaft position sensor. Related to internal channels DOT Hall input bias and DOT Hall-VRS Select.
A7 Analogue I 51k to VGND 530Hz 0V to 5V 12-bit unsigned conversion.
A8 Analogue (VRS diff., +ve) I 68K series 1.2kHz ±157V Crank-shaft position sensor, see also: A9. Related to internal channels DOT Hall input bias and DOT Hall-VRS Select.
A9 Analogue (VRS diff., -ve) I 68K series 1.2kHz ±157V Differential VRS input, see also: A8. Related to internal channels DOT Hall input bias and DOT Hall-VRS Select.
A10 Analogue I 1k to VPSU1 530Hz 0V to 5V 12-bit unsigned conversion.
A11 Digital (Hall effect) I 4k7 to VPWR 9.58kHz 0V to VPWR Cam-shaft position sensor.
Digital
A12 Analogue I 51k to VGND 530Hz 0V to 5V 12-bit unsigned conversion.
A13 Analogue I 51k to VGND 530Hz 0V to 5V 12-bit unsigned conversion.
A14 Analogue I 51k to VGND 530Hz 0V to 5V 12-bit unsigned conversion.
A15 Analogue I 1k to VPSU1 530Hz 0V to 5V 12-bit unsigned conversion.
A16 Digital O Y High side n/a 15A Related to internal channels Monitor (c), Monitor (ct) and Monitor (v).
A17 Digital (injector) O Y Low side 2A Related to internal channels Monitor (c) and Monitor (v).
Digital n/a
A18 Analogue I 1k to VPSU1 530Hz 0V to 5V 12-bit unsigned conversion.
A19 Analogue I 1k to VPSU1 530Hz 0V to 5V 12-bit unsigned conversion.
A20 Analogue I 1k to VPSU1 530Hz 0V to 5V 12-bit unsigned conversion.
A21 Analogue I 1k to VPSU1 530Hz 0V to 5V 12-bit unsigned conversion.
A22 Digital I 4k7 to VPWR 100Hz 0V to VPWR
A23 CAN+ (high) C 124R CAN bus 1 high (+ve), see also: A24. Related to internal channel DOT disable-CAN.
A24 CAN- (low) C 124R CAN bus 1 low (-ve), see also: A23. Related to internal channel DOT disable-CAN.
A25 Sensor supply P Y 5V, 250mA Sensor supply 1. Can be turned on and off by the application for diagnostics purposes. Related to internal channels DOT enable-EXT-PSU1 and Monitor (v).
A26 Digital I 4k7 to VGND 100Hz 0V to VPWR Key position (ignition sense) input. Reads 0 when the external voltage at the pin is >= 4.73V and 1 when the external voltage at the pin is <= 3.44V. Related to internal channel DOT hold-PSU.
A27 FEPS I See notes 323Hz ±18V Module flash programming control. 82K series input resistor followed by a bias voltage network with 10K to 5V and 11K to ground. Mutually exclusive use with Flash code output function. You can not connect both at the same time.
Flash code O Low side 10mA ECU status information. Mutually exclusive use with FEPS input function. You can not connect both at the same time.
A28 CAN+ (high) C No termination resistor CAN bus 0 high (+ve), see also: A43. Related to internal channel DOT disable-CAN.
A29 Digital (injector) O Y Low side 2A Related to internal channels Monitor (c) and Monitor (v).
Digital
A30 Digital O Y H-bridge 5A Outputs A1 and A30 are only supported in H-bridge mode. Independent configuration as a low-side or high-side output is not possible. Related to internal channels H-bridge Ready and Monitor (v).
A31 VGND P 40A
A32 Digital (injector) O Y Low side 2A Related to internal channels Monitor (c) and Monitor (v).
Digital
A33 Digital O Y Low side 2A Related to internal channels Monitor (c) and Monitor (v).
A34 Digital O Y Low side 250mA Related to internal channel Monitor (v).
A35 Digital O Y Low side 250mA Coil/spark (smart) driver. Related to internal channel Monitor (v).
Related to internal channel Monitor (v).
A36 Digital O Y Low side 100mA Coil/spark (smart) driver. Related to internal channel Monitor (v).
Related to internal channel Monitor (v).
A37 Digital O Y Low side 100mA Coil/spark (smart) driver. Related to internal channel Monitor (v).
Related to internal channel Monitor (v).
A38 Digital I 4k7 to VPWR 100Hz 0V to VPWR
A39 Digital I 4k7 to VPWR 100Hz 0V to VPWR
A40 Sensor ground P A40 and A41 connected together internally.
A41 Sensor ground P A40 and A41 connected together internally.
A42 Digital I 4k7 to VPWR 100Hz 0V to VPWR
A43 CAN- (low) C No termination resistor CAN bus 0 low (-ve), see also: A28. Related to internal channel DOT disable-CAN.
A44 Digital (injector) O Y Low side 2A Related to internal channel Monitor (v).
Digital
A45 Digital O Y Low side 15A Related to internal channels Monitor (ct), Monitor (d) and Monitor (v).
A46 Digital O Y Low side 2A Coil/spark (smart) driver. Related to internal channel Monitor (v).
Related to internal channel Monitor (v).

Chapter 3. Internal signals

Table 3.1. Internal signals

SignalI/OSignal typeRangeNotes
Analogue
AIN 3.3V I Analogue 0V to 5V Internal 3.3V supply monitor. 12-bit unsigned conversion.
AIN VRH I Analogue 0V to 5V 5V reference for analogue input conversions. 12-bit unsigned conversion.
AIN VRH-VRL 25% I Analogue 0V to 5V 1.25V reference for analogue input conversions. 12-bit unsigned conversion.
AIN VRH-VRL 50% I Analogue 0V to 5V 2.5V reference for analogue input conversions. Will read as 2.48V due to 20mV offset in processor implementation. 12-bit unsigned conversion.
AIN VRH-VRL 75% I Analogue 0V to 5V 3.75V reference for analogue input conversions. 12-bit unsigned conversion.
AIN VRL I Analogue 0V to 5V 0V reference for analogue input conversions. 12-bit unsigned conversion.
Current monitor
Monitor (c) (pin A16) I Analogue 0A to 15.625A Digital output current monitor. 12-bit unsigned conversion. For currents below 0.5A the relationship is non-linear (see the 'Digital output' sections for more information).
Monitor (c) (pin A17) I Analogue -5A to 5A Digital output current monitor (not populated as standard). 12-bit unsigned conversion. To convert voltage (V) to current (I) use the equation, I=(V-2.5)/0.185.
Monitor (c) (pin A29) I Analogue -5A to 5A Digital output current monitor (not populated as standard). 12-bit unsigned conversion. To convert voltage (V) to current (I) use the equation, I=(V-2.5)/0.185.
Monitor (c) (pin A32) I Analogue -5A to 5A Digital output current monitor (not populated as standard). 12-bit unsigned conversion. To convert voltage (V) to current (I) use the equation, I=(V-2.5)/0.185.
Monitor (c) (pin A33) I Analogue -5A to 5A Digital output current monitor (not populated as standard). 12-bit unsigned conversion. To convert voltage (V) to current (I) use the equation, I=(V-2.5)/0.185.
Current trip monitor
Monitor (ct) (pin A16) I Digital 0 or 1 Digital output current trip.
Monitor (ct) (pin A45) I Digital 0 or 1 Digital input indicating current trip.
Digital
DOT disable-CAN (pin A23 and A24) O Digital 0 or 1 Set to 0 to enable the CAN-2 transceiver, set to 1 to disable.
DOT disable-CAN (pin A28 and A43) O Digital 0 or 1 Set to 0 to enable the CAN-1 transceiver, set to 1 to disable.
DOT enable-EXT-PSU1 (pin A25) O Digital 0 or 1 Sensor supply switch. Set to one to turn on the power supply and to zero to turn it off.
DOT Hall input bias (pin A4) O Digital 0 or 1 For VRS-style input this has no effect. For Hall effect, set to 1 for slightly higher input voltage threshold.
DOT Hall input bias (pin A6) O Digital 0 or 1 For VRS-style input this has no effect. For Hall effect, set to 1 for slightly higher input voltage threshold.
DOT Hall input bias (pin A8 and A9) O Digital 0 or 1 For VRS-style input this has no effect. For Hall effect, set to 1 for slightly higher input voltage threshold.
DOT Hall-VRS Select (pin A4) O Digital 0 or 1 Set to 1 for Hall effect, 0 for VRS-style input.
DOT Hall-VRS Select (pin A6) O Digital 0 or 1 Set to 1 for Hall effect, 0 for VRS-style input.
DOT Hall-VRS Select (pin A8 and A9) O Digital 0 or 1 Set to 1 for Hall effect, 0 for VRS-style input.
DOT hold-PSU (pin A26) O Digital 0 or 1 Control power supply to ECU in conjunction with the key position (ignition sense) input. Set the output to 1 to enable power hold and 0 to disable it.
H-bridge Ready (pin A30 and A1) I Digital 0 or 1 H-bridge ready signal. 0 indicates H-bridge is in No Drive mode OR a fault when mode is NOT No Drive. 1 indicates H-bridge ready for use. See H-bridge outputs section.
Digital monitor
Monitor (d) (pin A45) I Digital 0 or 1 Digital output state monitor.
Memory check
Monitor (counter eTPU background task) I Digital data 0 to 65535 Cyclic counter providing number of times the eTPU background task runs. Its rate of increase can be used to determine the rate of the background task.
Monitor (fc SDM-checksum) I Digital data 0 to 65535 Saturating counter providing number of times the eTPU module's data memory failed a checksum test.
Voltage monitor
AIN VPWR (pin A2) I Analogue 0V to 40V Switched power supply voltage monitor. 12-bit unsigned conversion. To convert measured voltage (Vm) to actual voltage (Va) use the equation, Va=Vm*8.
Monitor (v) (pin A1) I Analogue -3.488V to 36.916V Digital output voltage monitor. 12-bit unsigned conversion. To convert measured voltage (Vm) to actual voltage (Va) use the equation, Va=(Vm-0.43169)*8.080808.
Monitor (v) (pin A16) I Analogue -3.488V to 36.916V Digital output voltage monitor. 12-bit unsigned conversion. To convert measured voltage (Vm) to actual voltage (Va) use the equation, Va=(Vm-0.43169)*8.080808.
Monitor (v) (pin A17) I Analogue -3.488V to 36.916V Digital output voltage monitor. 12-bit unsigned conversion. To convert measured voltage (Vm) to actual voltage (Va) use the equation, Va=(Vm-0.43169)*8.080808.
Monitor (v) (pin A25) I Analogue 0V to 5V Sensor supply voltage monitor. 12-bit unsigned conversion.
Monitor (v) (pin A29) I Analogue -3.488V to 36.916V Digital output voltage monitor. 12-bit unsigned conversion. To convert measured voltage (Vm) to actual voltage (Va) use the equation, Va=(Vm-0.43169)*8.080808.
Monitor (v) (pin A30) I Analogue -3.488V to 36.916V Digital output voltage monitor. 12-bit unsigned conversion. To convert measured voltage (Vm) to actual voltage (Va) use the equation, Va=(Vm-0.43169)*8.080808.
Monitor (v) (pin A32) I Analogue -3.488V to 36.916V Digital output voltage monitor. 12-bit unsigned conversion. To convert measured voltage (Vm) to actual voltage (Va) use the equation, Va=(Vm-0.43169)*8.080808.
Monitor (v) (pin A33) I Analogue -3.488V to 36.916V Digital output voltage monitor. 12-bit unsigned conversion. To convert measured voltage (Vm) to actual voltage (Va) use the equation, Va=(Vm-0.43169)*8.080808.
Monitor (v) (pin A34) I Analogue -3.488V to 36.916V Digital output voltage monitor. 12-bit unsigned conversion. To convert measured voltage (Vm) to actual voltage (Va) use the equation, Va=(Vm-0.43169)*8.080808.
Monitor (v) (pin A35) I Analogue -3.488V to 36.916V Digital output voltage monitor. 12-bit unsigned conversion. To convert measured voltage (Vm) to actual voltage (Va) use the equation, Va=(Vm-0.43169)*8.080808.
Monitor (v) (pin A36) I Analogue -3.488V to 36.916V Digital output voltage monitor. 12-bit unsigned conversion. To convert measured voltage (Vm) to actual voltage (Va) use the equation, Va=(Vm-0.43169)*8.080808.
Monitor (v) (pin A37) I Analogue -3.488V to 36.916V Digital output voltage monitor. 12-bit unsigned conversion. To convert measured voltage (Vm) to actual voltage (Va) use the equation, Va=(Vm-0.43169)*8.080808.
Monitor (v) (pin A44) I Analogue -3.488V to 36.916V Digital output voltage monitor. 12-bit unsigned conversion. To convert measured voltage (Vm) to actual voltage (Va) use the equation, Va=(Vm-0.43169)*8.080808.
Monitor (v) (pin A45) I Analogue -3.488V to 36.916V Digital output voltage monitor. 12-bit unsigned conversion. To convert measured voltage (Vm) to actual voltage (Va) use the equation, Va=(Vm-0.43169)*8.080808.
Monitor (v) (pin A46) I Analogue -3.488V to 36.916V Digital output voltage monitor. 12-bit unsigned conversion. To convert measured voltage (Vm) to actual voltage (Va) use the equation, Va=(Vm-0.43169)*8.080808.

Chapter 4. Operational details

4.1. ECU power

The power supply pin (VPWR A2) and the ground pin (VGND A31) are both rated to 40A.

The ECU VGND (pin A31) and sensor ground (pins A40+A41) are directly connected together via a ground plane in the ECU PCB. The ECU case is capacitively coupled to VGND.

The ECU is designed for 12V or 24V vehicles, with various modes of operation based on the voltage (see Table 1.1, “Specification”). The ECU is protected against reverse supply connection. All inputs and outputs are protected against short-to-VPWR or short-to-VGND over normal operating range.

4.2. ECU power — control

The ECU power arrangement is shown in Figure 4.1, “Switching arrangement for main power supply”.

Figure 4.1. Switching arrangement for main power supply

Switching arrangement for main power supply

The ECU is powered up when the power supply pins (VPWR A2) and key position (ignition sense) input (pin A26) are asserted. The key position input (pin A26) can be read as a digital input.

This arrangement allows for the ECU application software to hold the ECU on after the external key position input is opened, allowing, for example, non-volatile memory processing to occur. For the ECU to hold power the internal DOT hold-PSU channel needs to be asserted. Setting this internal channel high will hold power when the key position input is opened, setting it low will allow the ECU to power off when the key position input is opened.

Note

When using the power hold functionality, it is best to set the internal DOT hold-PSU channel high as soon as the external key position input (pin A26) is closed and only set low once all required shutdown tasks have completed.

4.3. ECU power — sensor supplies

The ECU provides one external sensor power supply (pin A25). The sensor supply can be switched off to allow the application software to perform intrusive diagnostics on sensors.

The power supply is monitored by an analogue input which can be used to check for short circuits and measure the exact output voltage for use with ratio-metric sensors.

Table 4.1. PSU 1 monitor voltages

Voltage [a] Meaning
- Output short to battery [b]
4.85V - 5.00VNormal operation
0.00V - 4.85VOutput over current or short to ground

[a] These voltages are based on absolute A/D counts (referenced to the ECU's internal 5V supply).

[b] A build option can be applied to allow the ECU to detect when the power supply is shorted to battery. Please contact Pi for further details.


4.4. Analogue inputs

The analogue inputs (pins A3, A5, A7, A10, A12, A13, A14, A15, A18, A19, A20 and A21) sample voltage with varying resolution and range. See the pin information for more details.

Note

Applying voltages greater than 5V to any analogue input with an internal 1K pull-up to 5V VREF can induce measurement shifts in all analogue inputs with an internal 1K pull-up to 5V VREF. The affected inputs are A3, A5, A10, A15, A18, A19, A20 and A21.

Note

If any of the pins A1, A16, A17, A29, A30, A32, A33, A34, A35, A36, A37, A44, A45 and A46 are not being used as digital outputs then it is possible for them to be used as an analogue input with a series input resistance of 300K followed by a bias network of 430K to 5V and 47K to VGND, and a 630Hz filter. Providing the output transistor is switched off, the pin can be driven by an external source and the pin's voltage monitor will reflect the actual voltage on the pin.

4.5. Analogue inputs — relationship between VREF, sensor supplies and inputs

The ECU power arrangement is shown in Figure 4.2, “VREF arrangement”. The figure shows the relationship between the internal 5V VREF and ground, the external sensor supply and ground, and the analogue inputs.

Figure 4.2. VREF arrangement

VREF arrangement

The internal low precision 5V reference supplies the reference pin on the ADC. The 5V reference is divided down to 4.95V to provide the external sensor supply. The exact voltage being produced can be read on a direct (unscaled) ADC channel. The sensor ground is a nominal 0V, but may be slightly above this due to voltage drop across the protection device.

The exact voltage on the analogue input pin can be read on a direct (unscaled) ADC channel. Standard 0-5V inputs are passed directly to the ADC with no scaling.

Some analogue input pins are internally pulled up to the sensor power supply (pin A25). If the sensor supply is not enabled, floating inputs will fluctuate when read by the ADC. The sensor supply must be enabled for resistance measurements made on any of these channels.

4.6. Analogue inputs — variable reluctance (VR)/Hall effect inputs

The analogue input pins A4, A6, A8 and A9 have conditioning circuitry for interfacing to Variable Reluctance (VR) sensors. The VR signal is amplified, processed to determine an adaptive threshold used in noise reduction, and then processed to determine zero crossings representing the center of teeth. The input chip is also capable of processing in Hall effect mode however.

Each of these inputs has a corresponding "Hall-VRS Select" internal digital output signal to select VR mode or Hall effect mode. Set to 1 for Hall effect, 0 for VRS-style input.

A second "Hall input bias" internal digital output signal is available for each of these inputs. For VRS-style input this has no effect and can be ignored. For Hall-effect, set to 1 for a slightly higher input voltage threshold.

Note

Reading a Hall effect sensor may require a pull up resistor. An external pull up can be used or an internal one can be added as a custom option by contacting Pi Innovo.

In VR mode, once the VR input signal voltage rises above an adaptive threshold, the zero crossing comparator is armed. Arming the comparator this way provides robust noise immunity to the input VR signal, preventing false triggers from occurring due to a broken tooth or an off-center tooth wheel.

The peak threshold level is set to a third of the peak of the previous cycle of the input VR signal. As the sensor signal peak voltage rises or falls, the adaptive peak threshold voltage also increases by the same ratio. If the input signal voltage remains lower than the adaptive peak threshold for more than 85ms, an internal watchdog timer drops the threshold level to a default minimum threshold. This ensures pulse recognition recovers even in the presence of intermittent sensor connection.

Once armed, the zero crossing detection logic generates a digital (rising) edge when the positive input signal falls below the negative input signal. For single-ended inputs (pins A4 and A6) this occurs when the input signals falls below ground. This zero crossing point corresponds to the center of the gear-tooth (provided the sensor is wired the right way round) and is the most reliable marker for position/angle-sensing applications.

The VR input circuitry introduces a phase offset as an artifact of signal filtering. The phase shift causes the digital tooth edge representing the tooth center to occur some time after the actual tooth center. The time between the digital tooth edge and the actual tooth center increases as the frequency of the input signal increases.

Note

The VRS input pins A4, A6, A8 and A9 low pass filters are specified in Chapter 2, Connector pinout above. Contact Pi Innovo to specify a customized input filter if the standard filter is not appropriate for your application.

Pins A8+A9 are a differential input pair. In order to use these as a single ended input, pin A9 should be connected to sensor ground (pins A40+A41).

The conditioning circuitry for pins A4, A6, A8 and A9 invert the logical sense of the inputs. In VRS mode, a logic 0 is reported from when the interface is armed until the zero-crossing point, and a logic 1 is reported from the zero-crossing point until the interface is next armed. In Hall effect mode, a logic 1 is reported if the signal is less than the threshold voltage and a logic 0 is reported if it is greater than the threshold voltage. For the differential input on pins A8+A9, the signal here means the positive input signal on pin A8 minus the negative input signal on pin A9.

The peak-to-peak voltage range for each VR input varies with temperature:

Table 4.2. VR input voltage range

Operating temperatureInput voltage range
-40°C to +85°C±100mV to ±200V peak sine wave voltage
-40°C to 105°C±100mV to ±157V peak sine wave voltage

These voltage limits are with full power loading of the outputs. The voltage limits will be higher with lighter load conditions.

Note

The default build option does not support measuring the single-ended VRS input A6 as a PWM input. Contact Pi for details.

Note

Pins A4 and A6 are available to use as secondary cam inputs only in modified units. Please request technical support if this modification is of interest.

4.7. Digital inputs

The digital inputs (pins A22, A38, A39 and A42, A11 and A26) sense the binary state based on the pin voltage and a threshold.

Not inverted

For pins A22, A38, A39 and A42, the signal is not inverted: low if <= 2.32V and high if >= 4.75V (worst case).

Inverted

For pins A11 and A26, the signal is inverted. For pin A26 the sense is low if the signal is >= 4.73V and high if <= 3.44V (worst case). For pin A11, the sense is low if the signal is >= 4.6V, and high if <= 2.6V.

Note

All external signals are low pass filtered to prevent signals of excessive frequency from tying up the target processor. See the pin information for more details.

There is a potential issue when using earlier M220 revisions with later versions of OpenECU developer software. M220 revision 3 ECUs do not have circuitry to read pins A38, A39 and A42 as PWM inputs. Later versions of OpenECU developer software allow the application to read these pins as PWM inputs, regardless of ECU revision. To avoid high frequency EMI from tying up the target processor on M220 revision 3 ECUs, do not read these pins as PWM inputs. This is not an issue with more recent revisions of M220 ECUs (e.g., revision 4 or 5).

4.8. Digital outputs

The digital outputs (pins A16, A17, A29, A32, A33, A34, A35, A36, A37, A44, A45 and A46) reflect a mixture of high-side and low-side drivers. Pin A16 is configured as a high-side — the ECU switches this output pin to VPWR and the actuator is connected to the output pin and ground.

On some variants of the M220-000, the digital outputs for pins A17, A29, A32 and A33 have current feedback channels populated. The current feedback channels can be read as analogue inputs, see Table 3.1, “Internal signals” for details.

Warning

The digital outputs are not guaranteed to work properly when the ECU supply (battery) is outside 7V - 32V. It is recommended to monitor the ECU supply voltage on A2 and set the digital outputs to a safe state in your application software. The safe state depends on your application. In most applications, the safe state is to disable the outputs to protect the circuitry and to prevent unwanted output activation.

Note

The current feedback channels are not populated on the standard M220-000 ECU, but they can be populated with a build option.

Note

The underlying timer for the M220 I/O has a rate of 4MHz.

Note

Because the platform does not sample the current feedback signal synchronised to the 'on' stage of the PWM output, the application cannot easily derive an average current reading.

Figure 4.3. High-side switching arrangement for digital outputs

High-side switching arrangement for digital outputs

Pins A17, A29, A32, A33, A34, A35, A36, A37, A44, A45 and A46 are configured as low-side — the ECU switches the output pin to ground, the load is connected to the output pin and the battery.

Figure 4.4. Low-side switching arrangement for digital outputs

Low-side switching arrangement for digital outputs

The low-side digital outputs contain internal monitoring circuitry that provides diagnostic information. However, as a consequence a small leakage current will flow through the actuator when the low-side output driver is turned off. Refer to Table 4.3, “Low-side digital output leakage current” for typical leakage currents at specified operating voltages.

Table 4.3. Low-side digital output leakage current

Supply Voltage (V)Typical Leakage Current (mA)
120.400
240.800

4.9. Digital output — state monitoring

The actual state of an output pin can be monitored using a corresponding internal analogue monitor channel. The analogue monitor channel measures the actual voltage at the pin after scaling.

When the pin is used as a PWM, there are two possible uses for such a feedback:

  • Before starting a PWM, by reading the voltage on the pin and checking for open or short circuits.

  • By reading the average voltage on a PWM output and comparing it with the demanded PWM width and the battery voltage reading, you can perform a consistency check that the PWM output is performing as expected. This method can be applied if the PWM frequency is higher than the filter cut off frequency (630Hz).

When the pin is used as a plain digital output, feedback is used as follows:

  • Read the voltage on the pin and check for open or short circuits.

4.10. Digital output — high/low-side driver protection and diagnostics

The digital outputs apart from A16 and A45 are self protecting; in case of a fault the outputs will automatically switch off, and once they recover, switch on again.

Output A45 has an over-current trip state monitor. In normal operation the internal over-current trip channel will be one. If the output channel experiences an over-current, the output channel will be forced off by the ECU and the over-current trip channel will be set to zero.

Note

The overcurrent trip circuit takes a short time to reach a steady state after power-up. If a strong load is driven by output A45 within 18.4 ms of the application starting, the circuit may trip at a lower-than-expected current. Avoid driving strong loads within this brief interval.

The over-current trip latch can be cleared and the tripped outputs enabled by the pss_OvercurTripReset Simulink block or by calling the pss_overcur_trip_reset() C-API function.

Note

To help component heat dissipation and to help prevent component stress, the platform software ensures there is at least 50ms between each request to clear the over current trip latches.

4.11. Digital output — high-side output diagnostics

The high-side output (pin A16) has a number of internal monitor signals (voltage, current and current trip). In normal operation the internal over-current trip channel will be one. If the output channel experiences an over-current, the output channel will be forced off by the ECU and the over-current trip channel will be set to zero.

The over-current trip latch can be cleared and the tripped outputs enabled by the pss_OvercurTripReset Simulink block or by calling the pss_overcur_trip_reset() C-API function.

The relationship between the high-side output's (pin A16) current monitor and the ADC voltage is non-linear below 0.5A. Refer to Table 4.4, “High-side digital output current monitor” for correlation between current and voltage.

Table 4.4. High-side digital output current monitor

Current(A)Voltage(V)Current(A)Voltage(V)
00.11210.32
0.20.11820.64
0.40.144134.16
0.6 [a] 0.192 13.5 [b] 4.32
0.80.256  

[a] The minimum guaranteed detectable current.

[b] The maximum guaranteed detectable current.


Note

High side output A16 has an over current protection threshold of 20Amps nominal. The current monitor associated with A16 has a dynamic range of 0 to 15A. Load currents above 15Amps will be reported as 15A by the A16 current monitor.

4.12. H-bridge outputs

The H-bridge outputs (pins A30+A1) are controlled through the pdx_HBridge_Output Simulink block or the pdx_hbridge_output() C-API function.

Figure 4.5. H-bridge arrangement

H-bridge arrangement

The H-Bridge can be driven in four modes:

No Drive

In no-drive mode, the H-bridge is turned off leaving the pins to float.

Brake

In brake mode, both pins of the H-bridge are driven to VPWR.

Forward

In forward mode, pin A30 is driven to VPWR and pin A1 pulsed, resulting in a current flow the opposite from the reverse mode.

Reverse

In reverse mode, pin A1 is driven to VPWR and pin A30 is pulsed, resulting in a current flow the opposite from the forward mode.

Warning

To avoid unexpected behavior, H-bridges should be set to NO DRIVE mode before flashing the ECU. This can be done by commanding the actuators to NO DRIVE any time the engine is not turning.

Warning

The digital outputs are not guaranteed to work properly when the ECU supply (battery) is outside 7V - 32V. It is recommended to monitor the ECU supply voltage on A2 and set the digital outputs to a safe state in your application software. The safe state depends on your application. In most applications, the safe state is to disable the outputs to protect the circuitry and to prevent unwanted output activation.

The frequency and the duty cycle of operation are controlled by the application. There are monitor inputs to check the output pin state.

4.13. H-bridge outputs — H-bridge ready signal

The H-bridge outputs include an H-bridge Ready signal which can be used to determine faults that are internal to the H-bridge IC.

The H-bridge Ready signal is interpreted as follows:

0 (logic low)

In no-drive mode, H-bridge Ready is always 0.

If the mode is not no-drive, then H-bridge Ready will be 0 if the H-bridge IC encounters an over-temperature fault or an over-current fault.

An over-current fault will occur if the current exceeds 11A on the high-side of the H-bridge, or 8A on the low-side of the H-bridge.

An over-temperature fault will occur if the temperature of the H-bridge exceeds 175 degC.

1 (logic high)

When H-bridge Ready is 1, this indicates that the H-bridge is NOT in no-drive mode, AND an over-current or over-temperature fault does not exist.

4.14. Communication — CAN

The CAN busses (pins A23+A24 and A28+A43) are implemented using high-speed CAN transceivers. CAN bus 1 (pins A23+A24) has terminating resistors fitted, CAN bus 0 (pins A28+A43) doesn't.

4.15. Memory — configuration

The ECU supports different memory configurations for application, calibration and RAM sizes, some of which require external calibration RAM (see Section 4.17, “Memory — calibration capabilities”).

Table 4.5. Memory configurations supported



Configuration

App size
(KiB)

Cal size
(KiB)

RAM size
(KiB)

External RAM
required?
Run-time
calibration
supported?
A [a] 51225664NN
51225664YY
B512256832YY
C640128192YY
D76864768YY

[a] If an OpenECU target that supports memory configuration is loaded with an application in which no such configuration has been specified, then configuration A will be used as the default.


4.16. Memory — non-volatile storage and lifetime

The ECU supports non-volatile memory storage in Flash. Battery backed RAM is not supported.

The processor's Flash memory is split into small and large memory blocks. The application and calibration are stored in large blocks, whilst DTC information, freeze frames and so on are stored in small blocks.

The largest Flash block can take up to approximately 7.5 seconds to erase. This occurs in an environment where the Flash has been erased and programmed many times at its temperature extreme. The typical erase time is smaller, especially at ambient temperatures. Reprogramming an ECU (where many large blocks would be erased), or storing DTC information across power cycles, can therefore take some time. Users and applications should take this into consideration.

The minimum number of erase cycles is approximately 1,000 for large Flash blocks and 100,000 for small Flash blocks. This occurs in an environment where the Flash has been erased and programmed many times at its temperature extreme. The typical number of erase cycles is larger, especially at ambient temperatures.

The minimum data retention is approximately 5 years for blocks which have been erased less than 100,000 times, and approximately 20 years for blocks which have been erased less than 1,000 times.

The information about the Flash has been taken from Freescale's MPC5534 Microcontroller Data Sheet document, revision 4 (dated Mar 2008).

4.17. Memory — calibration capabilities

The ECU supports both offline calibration (where all of the ECU's calibration memory is reprogrammed whilst the application is stopped) and online calibration (where individual calibrations can be modified whilst the application runs). These calibration capabilities are supported through two ECU types:

  • Developer ECUs — Supports offline and online calibration Uses an external RAM device to map calibrations, normally stored in non-volatile memory, to RAM to support modifications of calibration whilst the application runs. This provides all of the processor's RAM for the application and platform library, whilst adding additional RAM to support calibration.

  • Fleet ECUs — Does not provide external RAM or the ability to calibrate whilst the application runs (offline calibration is still supported). These units are lower-cost and intended for fleet trials or production.

4.18. System modes

The ECU can run in one of two system modes: reprogramming mode and application mode. In reprogramming mode, the ECU can be reprogrammed with application software from a calibration tool. In application mode, the ECU runs the programmed application software. The ECU selects which mode to enter when it is powered up by measuring the external FEPS A27 pin.

Table 4.6. System mode selection

FEPS (A27) VoltageSystem mode
> +16V Enter reprogramming mode. If valid application software has previously been programmed, then use the CCP settings from that application, otherwise use the default CCP settings.
< -16V Enter reprogramming mode. Use the default CCP settings. [a]
Otherwise Enter application mode if valid application software has previously been programmed, otherwise enter reprogramming mode.

[a] In early revisions of the hardware, using this negative may damage the ECU, please consult the errata associated to your revision before using this functionality.


Note

When reprogramming an M220 over CAN ensure that the unit is operating safely within the specified operating limits. Care should be taken to not reprogram at the specified extremes of temperature or voltage.

4.19. Flash codes

The ECU also uses the FEPS input (pin A27) as an output to flash an optional LED. The LED is connected between VPWR (pin A2) and FEPS (pin A27). Note that the pin use as FEPS input or as lamp output is mutually exclusive.

Note

Pin A27 can supply up to 10mA, it is not capable of lighting a bulb.

The flash sequence represents a set of codes. Each code is a three digit number, where each digit is flashed a number of times equal to its value. An example would be the flash sequence for code 113. The flash sequence is broken down into a series of marks, or on and off pulses as follows:

Figure 4.6. Flash code sequence

Flash code sequence

Each of the marks lasts for a specific duration:

Table 4.7. Flash code example

MarkDuration and meaning
Start of log mark3s — marks the start of the flash code list
Digit mark1s — marks the start of a digit
dnns — n digits, where the output is turned OFF for 0.5 second, then ON for 0.5 seconds, n times
End code mark3s — marks the end of a code (i.e., end of 3 digits)

After the end code mark, the ECU will either flash the next code, or return to the start of the list and flash the first code. The ECU always has at least one code to flash.

Each code represents information about the ECU state. If there is no flash sequence, or a malformed flash sequence, then the ECU is malfunctioning. Otherwise, the flash sequence will represent one of the following codes:

Table 4.8. Flash codes

CodeMeaning
111In application mode — no other condition has been detected.
112In reprogramming mode with the FEPS pin negative.
113In reprogramming mode with the FEPS pin high.
114In reprogramming mode via a FEPS-less reprogramming request.
115In reprogramming mode because no valid application software exists.
116In reprogramming mode due to FEPS pin electrical failure.
117In reprogramming mode due to repeated reset during application mode.
118In reprogramming mode due to failed application checksum tests.
128In reprogramming mode due to failed memory check tests.
119In reprogramming mode due to a FEPS-less ISO reprogramming request.
121In reprogramming mode due to an unknown failure.
123In reprogramming mode due to a watchdog reset.
222In reprogramming mode due to the application not having a valid license.

4.20. Floating point capabilities

The ECU closely adheres to the IEEE-754 for floating point numbers.

When using Simulink, floating point Simulink models are supported — all calculations are performed using single-precision (even if the model uses double-precision, the ECU performs calculations using single-precision).

When using the C-API, floating point applications are supported — all calculations are performed using single or double precision, as determined by the application code (although double precision will incur some software overhead — see the compiler reference manual for further details).

The rounding mode is set to round-to-nearest. In some conditions, the ECU will not adhere to the IEEE-754 standard:

Table 4.9. Floating point conditions

ConditionResult
Underflow The result of a calculation underflow is ±0. The sign is based on the signs of the operands.
Overflow The result of a calculation overflow is ±max where max is approximately 3.4 × 1038. The sign is based on the signs of the operands.
Divide by zero

The ECU does not generate ±Inf, NaN or a denormalised number as the result of a calculation.

4.21. Customization — build options

To support a variety of sensors and actuators, the ECU is pre-populated with a default selection of components with varying voltage range, pull strengths, filtering and other characteristics. In some cases, the default component selection will not meet the requirements of all customers. Within design constraints, Pi can modify the ECU components to adjust these characteristics as build options. Contact Pi for further information.

Chapter 5. Dimensions

The ECU has the following dimensions:

Figure 5.1. Outline of physical dimensions

Outline of physical dimensions

Appendix A. Contact information

If you have questions, or are experiencing issues with OpenECU please see the FAQ website:

If you still have questions after searching through the FAQ, or want to discuss sales or proposals, you can contact main office:

Tel
+1 734 656 0140
Fax
+1 734 656 0141

during normal working hours (Mon to Fri, 0930 to 1700 EST).