ECM-564x-112: Difference between revisions

From NewEagleWiki
Jump to navigation Jump to search
 
(80 intermediate revisions by 10 users not shown)
Line 1: Line 1:
[[File:ECM-OH.jpg|right]]
==ECM-564x-112==
[[File:ECM-OH.jpg|300px|right]]


The ECM-OH is a nice addition to the MotoHawk engine control line-up.  It is a 24V engine controller for on-road applications.
The ECM-564x is a nice addition to the MotoHawk engine control lineup.  It is a 24V engine controller for on-road applications.


The module is capable of full authority digital engine control (FADEC) consisting of fuel, spark, and air delivery to the engine. Additional inputs and outputs are available to control other system functions, as defined by software.  This unit provides 112 connector pins with inputs, outputs, and communications interfaces that support a wide variety of applications.
The module is capable of full authority digital engine control (FADEC) consisting of fuel, spark and air delivery to the engine. Additional inputs and outputs are available to control other system functions, as defined by software.  This unit provides 112 connector pins with inputs, outputs and communications interfaces that support a wide variety of applications.


The ECM-OH is part of the MotoTron Control Solutions ControlCore® family of embedded control systems. The ControlCore operating system,
The ECM-564x is part of the MotoTron Control Solutions ControlCore family of embedded control systems. The ControlCore operating system, MotoHawk code generation product and MotoHawk’s suite of development tools enable rapid development of complex control systems.
MotoHawk® code generation product, and MotoHawk’s suite of development tools enable rapid development of complex control systems.


Each controller is available in ‘F’ (Flash) or ‘C’ (Calibratible) versions. Flash modules are typically used for production purposes. Calibratible modules are typically for prototyping/development only; they can be calibrated in real time using MotoTune® or ToolKit.
Each controller is available in ‘F’ (flash, the MPC5642) or ‘C’ (calibratable, the MPC5644) versions. Flash modules are typically used for production purposes. Calibratable modules are typically for prototyping/development only; they can be calibrated in real time using MotoTune or ToolKit.


===Power Requirements===
===Power Requirements===
The ECM-5642-112 controller require a voltage source of 8 to 32Vdc (12Vdc or 24Vdc nominal).
The ECM-564x controller requires a voltage source of 8-32VDC (12VDC or 24VDC nominal).


===Compiler Information===
===Compiler Information===
Line 17: Line 17:


The MPC5XXX micro uses either the GCC eabi SPE 4.6, or GHS 4.2.1 and 4.2.4.
The MPC5XXX micro uses either the GCC eabi SPE 4.6, or GHS 4.2.1 and 4.2.4.
When using the auxiliary micro, it is recommended to use either Standard or Professional versions of the compiler.
Click '''[[MotoHawk-Compilers#FreeScale_CodeWarrior_Compiler|here]]''' for more information on the compiler version.


===Control Features===
===Control Features===
*2 engine speed inputs: camshaft and crankshaft speed (software configurable for variable reluctance (VR) magnetic pickup sensor or Hall effect proximity sensor inputs)
*2 Engine speed inputs: camshaft and crankshaft speed (software configurable for variable reluctance (VR) magnetic pickup sensor or Hall effect proximity sensor inputs)
*Up to 6 frequency inputs (some share analog resources)
*Up to 6 frequency inputs (some share analog resources)
*Up to 33 analog inputs
*Up to 33 analog inputs
*3 switch inputs
*3 Switch inputs
*2 HEGO sensor inputs
*2 HEGO sensor inputs
*2 LSU sensor inputs (also known as UEGO sensors)
*2 LSU sensor inputs (also known as UEGO sensors)
*2 knock sensor inputs
*2 Knock sensor inputs
*3 transducer power outputs providing +5V (350mA & 100mA) and +12V (100mA)
*3 Transducer power outputs providing +5V (350mA and 100mA) and +12V (100mA)
*2 H-bridge driver outputs providing 10A and 5A drive capability and current sense feedback
*2 H-bridge driver outputs providing 10A and 5A drive capability and current sense feedback
*6 Injector drivers providing software configurable peak and hold current levels (up to 7A/2A)
*6 Injector drivers providing software configurable peak and hold current levels (up to 7A/2A)
*6 ignition coil drivers
*6 Ignition coil drivers
*MPRD (Master Power Relay Driver) low side output
*MPRD (Master Power Relay Driver) low-side output
*TACH low side output
*TACH low-side output
*16 low side output drivers (1 with current sense feedback)
*16 low-side output drivers (1 with current sense feedback)
*3 CAN (Controller Area Network) communications ports
*3 CAN (Controller Area Network) communications ports
*4K-byte serial EEPROM for tunable parameter storage
*4K-byte serial EEPROM for tunable parameter storage
Line 38: Line 42:


====Analog Inputs (AN1-AN34)====
====Analog Inputs (AN1-AN34)====
Analog Inputs (AN1 – AN34)
There are 34 analog inputs on the ECM-OH. The analog inputs have either a pull-up resistor as shown in Figure 2-12, or a pull-down resistor as shown in Figure 2-13. Five analog inputs have a software pull-up or pull-down selection via calibration. AN21 and AN30 share a common control line for the 1k or 11k selection, designed for EGT sensor diagnostics. All the analog inputs have a single-pole filter with a 1 ms time constant, except for Analog Input 5, which is reserved for a MAP (Manifold Absolute Pressure) sensor and has a 0.24 ms time constant.
There are 34 analog inputs on the ECM-OH. The analog inputs have either a pull-up resistor as shown in Figure 2-12, or a pull-down resistor as shown in Figure 2-13. Five analog inputs have a software pull-up or pull-down selection via calibration. AN21 & AN30 share a common control line for the 1k or 11k selection, designed for EGT sensor diagnostics. All the analog inputs have a single-pole filter with a 1 ms time constant, except for Analog Input 5, which is reserved for a MAP (Manifold Absolute Pressure) sensor and has a 0.24 ms time constant.


The Analog inputs are 12-Bit ADC
The analog inputs are 12-bit ADC.


====Crank and CAM inputs====
====Crank and CAM Inputs====
The Cam and Crank (CNK) inputs are used to detect engine speed and angular position relative to TDC. The ECM-OH has CAM and Crank sensor inputs that can be connected to either a cariable reluctance magnetic pick-up sensor (VR-MPU), or to a Hall-effect proximity switch. Each type of input ha dedicated connector pins. See the ECM-OH datasheet for additional detail.
The CAM and Crank (CNK) inputs are used to detect engine speed and angular position relative to TDC. The ECM-OH has CAM and Crank sensor inputs that can be connected to either a variable reluctance magnetic pick-up sensor (VR-MPU), or to a Hall-effect proximity switch. Each type of input has dedicated connector pins. See the SECM-112 datasheet for additional detail.


====Digital Inputs====
====Digital Inputs====
The ECM-OH has 8 discrete inputs. Some may be used as switch inputs, others support frequency measurements.
The SECM-112 has eight discrete inputs. Some may be used as switch inputs, while others support frequency measurements.


====Lambda Sensor Unit (UEGO) Inputs====
====Lambda Sensor Unit (UEGO) Inputs====
The ECM-OH control has two LSUs (Lambda Sensor Units) also known as UEGO (Universal Exhaust Gas Oxygen) inputs, which interface with Bosh LSU 4.9 wide range oxygen sensors (Lambda sensors). The LSU inputs allow the ECM-OH to continuously regulate the engine air-to-fuel ratio, thus controlling the percentage of exhaust pollutants during the combustion process.
The SECM-112 control has two LSUs (Lambda Sensor Units) also known as UEGO (Universal Exhaust Gas Oxygen) inputs, which interface with Bosch LSU 4.9 wide range oxygen sensors (Lambda sensors). The LSU inputs allow the ECM-OH to continuously regulate the engine air-to-fuel ratio, thus controlling the percentage of exhaust pollutants during the combustion process.


====Low-Side Outputs (LSO)====
====Low-Side Outputs (LSO)====
The ECM-OH control has 16 low-side outputs (LSOx & SPK8) that can be used as Boolean outputs for driving relays, or some as PWM outputs. LSO1 and LSO2 are also designed to drive the heater coil on a LSU sensor. Some low-side outputs are provided with freewheeling diodes (internal to the ECM-OH through DRVP or BATT) to suppress the back EMF caused by inductive loads. See the ECM-OH datasheet for low-side output capabilities and characteristics.
The SECM-112 control has 16 low-side outputs (LSOx and SPK8) that can be used as Boolean outputs for driving relays, or some as PWM outputs. LSO1 and LSO2 are also designed to drive the heater coil on an LSU sensor. Some low-side outputs are provided with freewheeling diodes (internal to the ECM-OH through DRVP or BATT) to suppress the back EMF caused by inductive loads. See the ECM-OH datasheet for low-side output capabilities and characteristics.


====Injector Ouputs====
====Injector Outputs====
The ECM-OH control has 6 injector outputs, each capable of driving either low or high impedance injectors. Each injector output can be used as a Boolean output, a PWM output, or as a synchronous or periodic peak and hold injector output.
The SECM-112 control has six injector outputs, each capable of driving either low or high impedance injectors. Each injector output can be used as a Boolean output, a PWM output, or as a synchronous or periodic peak and hold injector output.


====Spark Outputs====
====Spark Outputs====
The ECM-OH has 6 IGBT ignition coil drivers each capable of delivering up to 10A of peak dwell current.
The SECM-112 has six IGBT ignition coil drivers each capable of delivering up to 10A of peak dwell current.


====H-bridge Outputs====
====H-Bridge Outputs====
The ECM-OH control has two H-bridge outputs that can be used to drive electric motors, e.g., butterfly throttle valves. H-bridge output 1 is capable of driving up to 10A peak (5A average) in either direction, while H-bridge 2 can drive up to 5A peak (2.5A average). The H-Bridge outputs are provided with freewheeling diodes (internal to the ECM-OH through DRVP) to suppress the back EMF caused by inductive loads.
The SECM-112 control has two H-bridge outputs that can be used to drive electric motors, e.g., butterfly throttle valves. H-bridge output 1 is capable of driving up to 10A peak (5A average) in either direction, while H-bridge 2 can drive up to 5A peak (2.5A average). The H-Bridge outputs are provided with freewheeling diodes (internal to the ECM-OH through DRVP) to suppress the back EMF caused by inductive loads.
 
===Shared Resources between the Main and Auxillary S12 cores===
'''The following are shared between the main and s12G cores:'''


===Shared Resources Between the Main and Auxiliary S12 Cores===
The following are shared between the main and auxiliary S12G cores:
*Analog inputs: AN01-05, AN16, AN17, AN18, AN24, AN31, VCAL, KEYSW
*Analog inputs: AN01-05, AN16, AN17, AN18, AN24, AN31, VCAL, KEYSW
*Digital inputs: VR1/DG1 (after mux), DG3, DG4, DG5, DG8, Wake-up (on XIRQ) from main core, reset from main core, main core status
*Digital inputs: VR1/DG1 (after mux), DG3, DG4, DG5, DG8, Wake-up (on XIRQ) from main core, reset from main core, main core status
*Comms: CAN1
*Comms: CAN1
*Outputs: H1 enable, H2 enable, MC33810 enable, NCV enable, VR1/DG1 mux disable, VR2/DG2 mux disable, MPRD disable, main core reset, reset main core status, main core interrupt, CAM VR mode select, CAM VR *threshold PWM, AN20 PU select, AN24 PU select, AN31 PU select, DG3 PU select
*Outputs: H1 enable, H2 enable, MC33810 enable, NCV enable, VR1/DG1 mux disable, VR2/DG2 mux disable, MPRD disable, main core reset, reset main core status, main core interrupt, CAM VR mode select, CAM VR threshold PWM, AN20 PU select, AN24 PU select, AN31 PU select, DG3 PU select
*The CAM VR mode select, CAM VR threshold PWM, AN20 PU select, AN24 PU select, AN31 PU select, DG3 PU select can be configured by the main core via SPI.
*The CAM VR mode select, CAM VR threshold PWM, AN20 PU select, AN24 PU select, AN31 PU select, DG3 PU select can be configured by the main core via SPI.
===Communications===
===Communications===
The ECM-OH has three 2.0B CAN ports for distributed I/O, distributed control, and Human Machine Interface (HMI) purposes.<br>
====CAN====
The ECM-OH has three 2.0B CAN ports for distributed I/O, distributed control and Human Machine Interface (HMI) purposes.


For programming the SECM112, it may help to think of it as two modules connected on CAN-1 - the main and the aux S12G. Since the cores are internally connected on CAN-1, the baud rate must be the same for both on CAN-1, and they must have different City-ID’s. The module ships pre-programmed with an application that sets the Baud rate for both cores to 500k, with City ID of main 0xB and the City ID of the aux 0x81.
'''Important:''' Both cores (main and auxiliary) are internally connected within the ECU on CAN-1. If the baud rate of one of the cores is changed on CAN-1, then the baud rate of the other core must be programmed also to match on CAN-1. Each core must also have a unique City ID for MotoTune defined in the CAN Definition Block.
The hardboot (settings used to program the module by boot key or boot harness) if it needs to be recovered are: Main: 250k b/s City ID 0xB Aux: 250k b/s City ID 0x81
 
To change the baud rate on CAN-1, first program the main core. Cycle power to put auxiliary in hardboot, the program the auxiliary as above.
The SECM112 supports XCP, ISO15765 and SAE J1939 protocols for transmitting data over the CAN lines.
 
*Transceiver type:
:Internal ECM termination
:CAN 2.0B
:121Ω (on all three ports)
:Isolation voltage: None
:Baud rates supported: 125, 250, 500 and 1000kbps
:Protocols supported: XCP, ISO15765, SAE J1939
 
For programming the SECM-112, it may help to think of it as two modules connected on CAN-1: The main and the aux S12G. Since the cores are internally connected on CAN-1, the baud rate must be the same for both on CAN-1, and they must have different City IDs. The module ships pre-programmed with an application that sets the baud rate for both cores to 500K, with the City ID of the main as 0xB and the City ID of the aux as 0x81.
 
The hardboot settings (used to program the module by boot key or boot harness) if it needs to be recovered are:
:'''Main:
::250k b/s
::City ID 0xB
:'''Aux:
::250k b/s  
::City ID 0x81
 
To change the baud rate on CAN-1, first program the main core. Cycle power to put auxiliary in hardboot, then program the auxiliary as above.


===Watchdog Function===
===Watchdog Function===
The ECM-OH will have an ETC monitoring microprocessor and the main power supply will have a HW watchdog that needs to be tickled by the main core processor.
The SECM-112 will have an ETC monitoring microprocessor and the main power supply will have a hardware watchdog that needs to be periodically queried by the main core processor.


===Flexible Encoder===
===Flexible Encoder===
The ECM-OH will work with the flex encoder.  
The SECM-112 will work with the flex encoder.  


===MotoHawk Compatibility===
===MotoHawk Compatibility===
The ECM-OH is compatible with MotoHawk 2012b or later only. No older MotoHawk.
The SECM-112 is compatible with MotoHawk 2012b or later only. It does not work with older versions of MotoHawk.
 
===Targets===
The SECM-112 has different targets for the MAIN Prod and Dev modules as shown below.
*1751-6601: Target ECM-5644A-112-048-1204 DEV
*1751-6688: Target ECM-5644A-112-048-1206 DEV with 8-cylinder support
*1751-6605: Target ECM-5642A-112-049-1200 PROD
*1751-6690: Target ECM-5642A-112-049-1201 PROD with 8-cylinder support


===Boot Matrix===
===Boot Matrix===
Line 129: Line 159:
|AN26 || || L || ||
|AN26 || || L || ||
|}
|}
===Recovering the ECM-OH===
===The Reaction Module Blockset and the SECM-112===
Occasionally, errors in programming may require that the module be recovered with a boot key or boot sequence
The standard PSP blocks (Injector Sequence, Dual PSP, Multiple PSP) are supported on the SECM-112, but configuration of the reaction module is required for injection on the SECM-112.
 
Peak-hold timing is configured by the reaction module, and the peak-hold input port on the sequence blocks is ignored.


===MC33810 Spark Blockset and the SECM-112===
Many of the Woodward MCS ECMs have EST outputs which provide 0-5V TTL level outputs for smart coils. The SECM-112 spark outputs are IGBT coil drivers for driving a coil directly. These outputs use the MC33810 driver, which is configured through the MC33810 Configuration Blocks, located in MotoHawk Module Configuration Blocks.


See [http://www.neweagle.net/support/wiki/index.php?title=MotoHawk_Hardware#Boot_Key_Recovery Boot Key Recovery] for more detail on how to recover the module.<br>
===Calibration Memory===
The Hardboot Settings for SECM112 are CAN-1:<br>
The SECM-112 has 64k of CAL flash available for calibration data. There is a second 64k of calibration flash that can be used to shadow this data so that, in the event of a power loss during calibration, a copy of the calibration data is stored (from the last write). This redundant calibration is enabled with a special blockset.
Main: 250k, City ID 0x0B<br>
Aux: 250k, City ID 0x81<br>
These are the MotoServer Port settings needed when recovering the module.


The SECM-112 has 64k of calibration flash memory, regardless of whether redundant calibration is enabled or not. The second 64k cannot be used to store additional calibrations.


'''Important: Remove the ECU from all control connections before attempting to recover the module.'''
This was a design decision based on the total memory of the DEV module. For the DEV module, calibration data is shadowed from flash into RAM at startup to allow online calibration. The ECM-564x-112 has limited RAM, as compared to some of the other ECUs with external RAM. If additional calibration flash was allocated, the same amount of RAM would need to be reserved and would not be available to the application.
For the flash module, the calibration data is read directly from flash and is not shadowed into RAM.


The ECM-OH is different in that it has two microprocessor cores, the Main Core and the Auxillary S12G. The processors are connected on CAN1, so it is important that the baud rate of both processors on CAN1 be the same. The processors must also communicate with MotoTune on different city-id's.
The SECM-112 also has 32k of NV memory storage in serial EEPROM. The NV data (for both DEV or PROD) is shadowed in RAM at startup and is stored in the serial EEPROM at shutdown through execution of the store NV block.
 
===The Main Power Relay Block and the S12G Auxiliary Processor===
A common question is whether the MotoHawk MPRD block should be placed in the application for the S12G auxiliary processor or not. And, if so, does it need to be modified. The MPRD block is optional and does not need to be placed in the application.
 
Also, the MPRD block is intended as a starting point and is intended to be modified to suit specific application shutdown requirements (right click the block and select Look Under Mask).
 
An application may choose to have the MPRD block, or some shutdown logic, in the model for the S12G in order for the S12G to go to sleep to reduce current draw or to get the Key Off timer. The S12 will go to sleep when the shutdown power block is executed. When woken up by the main core, it will continue executed from where it left off. If using the standard MPRD block with the auxiliary S12G, it is necessary to remove the MPRD discrete output from the block.
 
===Recovering the SECM-112===
Occasionally, errors in programming may require that the module be recovered with a boot key or boot sequence. See '''[[MotoHawk_Hardware#Boot_Key_Recovery|Boot Key Recovery]]''' for more details on how to recover the module.
 
The hardboot settings for ECM-564x-112 on CAN-1 are:
:'''Main:
::Baud rate: 250K
::City ID: 0x0B
:'''Aux:
::Baud rate: 250K
::City ID: 0x81
 
These are the MotoServer port settings needed when recovering the module.
 
'''Important:''' Remove the ECU from all control connections before attempting to recover the module.
 
 
The SECM-112 is different in that it has two microprocessor cores: The main core and the auxiliary S12G. The processors are connected on CAN1, so it is important that the baud rate of both processors on CAN1 be the same. The processors must also communicate with MotoTune on different City IDs.


'''Recovering the Main Processor'''
'''Recovering the Main Processor'''


The main processor can be recovered with a boot key on pin DG8. The boot key provides a 555Hz, 0-Vbatt, 50% duty cycle square wave on the STOP pin (pin E) of the 10-pin hub. This signal can then be wired to DG8.
The main processor can be recovered with a boot key on pin DG8. The boot key provides a 555Hz, 0-Vbatt, 50% duty cycle square wave on the STOP pin (pin E) of the 10-pin hub. This signal can then be wired to DG8. Alternatively, the main processor can be recovered with the following sequence on the analog inputs:
Alternatively, the main processor can be recovered with the following sequence on the analog inputs:
AN3: Pull to +5V AN4: Pull to +5V AN16: Pull to GND AN17: Pull to GND AN18: Pull to +5V.


'''Recovering the S12G Auxillary processor.'''
:AN3: Pull to +5V
:AN4: Pull to +5V
:AN16: Pull to GND
:AN17: Pull to GND
:AN18: Pull to +5V.
 
'''Recovering the S12G Auxiliary Processor'''


The S12G cannot be recovered with a boot key. A boot sequence on the analog inputs of the S12G is required to recover it.
The S12G cannot be recovered with a boot key. A boot sequence on the analog inputs of the S12G is required to recover it.
AN3: Pull to +5V AN4: Pull to +5V AN16: Pull to +5V AN17: Pull to GND.


'''Notes:'''
:AN3: Pull to +5V
:AN4: Pull to +5V
:AN16: Pull to +5V
:AN17: Pull to GND.


If you are recovering the S12G core of the ECM-OH, you must first program an application into the Main Core that sets CAN1 to be 250kbps. Battery must be toggled before powering up the S12G in Boot mode.
'''Note:''' If you are recovering the S12G core of the SECM-112, you must first program an application into the main core that sets CAN1 to be 250kbps. Battery must be toggled before powering up the S12G in boot mode. Use the following MotoServer port configurations when connecting with the ECU. These are the default hardboot settings.
Use the following MotoServer Port Configurations when connecting with the ECU. These are the default hardboot settings. ECM-OH main: 250kbps on CAN-1, City ID 0xB (11) S12G: 250kbps on CAN-1, City ID 0x81 (129)
 
The Pre-PV and PV units will ship with a sample application that will connect at 500k on PCM-1 (City-ID 11) or PCM-2 (City-ID 12. Recovering either microprocessor will force it back to it's default hardboot baud rate of 250kbps. So, you must reprogram the other microprocessor with an application to change it to 250kbps.
ECM-OH
:Main:
::250kbps on CAN-1
::City ID 0xB (11)
:S12G:
::250kbps on CAN-1
::City ID 0x81 (129)
 
The Pre-PV and PV units will ship with a sample application that will connect at 500K on PCM-1 (City-ID 11) or PCM-2 (City-ID 12). Recovering either microprocessor will force it back to its default hardboot baud rate of 250kbps. So, you must reprogram the other microprocessor with an application to change it to 250kbps.
 
==Downloads==
===<div style="font-size:21px; width:75%; font-weight:bold; text-align:left; padding-top:7px; padding-bottom:7px; background:#800020; color:white;">Datasheets</div>===
'''SECM-112'''
:'''[http://Neweagle.net/support/wiki/ProductDocumentation/Controllers/ECM-564X-112/ECM-564X-112-1101_DataSheet.pdf Datasheet]'''


===Datasheet Errata===
===Datasheet Errata===
The Datasheet says there are 8 injectors, 6 of which are peak-hold. This plan was the initial production intent, but it has changed. All production releases will only have 6 peak-hold injectors.  
The datasheet says there are 8 injectors, 6 of which are peak-hold. This plan was the initial production intent, but it has changed. All production releases will have only 6 peak-hold injectors.
 
The module ingress protection is rated for IP67 and IP69K.
 
== Frequently Asked Questions (FAQ) ==
===Why do I get a CamEncoder build warning?===
'''WARNING: CamEncoder has interface Hardware that has not been defined.'''
 
There are new blocks in the MotoHawk Module Configuration library to set the VR or DG interface. The settings in the Encoder Definition block are ignored. You must use these blocks in the model.
 
===What causes the build to fail with a ReactPHWOTChan error?===
'''ERROR: A ReactPHWOTChan definition for INJ1 was not found in the application.'''
 
If the application is using the Injector blocks, the module's Reaction Channel must be defined and configured using the Reaction Channel Blockset.  This blockset is used to configure the peak-hold current levels (see above).
 
===I see values with 100% in the build log. Is this expected?===
There are several memory areas displayed in the build statistics that are internally reserved pieces of data. These are displayed at 100% in the build statistics and cannot be changed by the application.
 
FLASH_RCHW: 4 bytes 100% of 4
 
FLASH_ENTRY: 4 bytes 100% of 4
FLASH_CRCDEFNPTR: 4 bytes 100% of 4
 
RAM_BOOTMAILBOX: 16 bytes 100% of 16
 
===Can I ground the unit housing?===
The SECM112 housing is intended to be mounted through non-conductive vibration isolators with '''''no''''' connection to engine/chassis ground.  The case is acting as an EMI shield and is RC coupled to the PCB ground plane.  Grounding the case will not impact the functionality of the unit but may affect the EMC performance and ESD protection.
 
==Availability==
Calibratable (ECM-5644-112) and production (ECM-5642-112) versions are available.
 
==Webstore==
'''[https://store.neweagle.net/shop/products/controllers/motohawk-controllers/ecm-engine-control-modules/5644-112-ecm-oh-calibratable-engine-control-module/ ECM-5644-112-1204-C-M]'''


===Availability===
'''[https://store.neweagle.net/shop/products/controllers/motohawk-controllers/ecm-engine-control-modules/5642-112-ecm-oh-production-flash-engine-control-module/ ECM-5642-112-1304-F-M]'''
Calibratible versions are available now. Flash or production will be available in 2Q2013.


===FAQ===
'''[https://store.neweagle.net/product-category/products/controllers/motohawk-controllers/ecm-engine-control-modules/ All Engine Control Modules]'''
====Why Do I get this Build Warning? "WARNING: CamEncoder has interface Hardware that has not been defined." ====
There are new blocks in the MotoHawk Module Configuration library to set the Vr or Dg interface. The settings in the Encoder Definition block are ignored. You must use these blocks in the model.


====What causes the build to fail with this error? "ERROR: A ReactPHWOTChan definition for INJ1 was not found in the application."====
==Other Modules==
If the application is using the Injector blocks, the module's Reaction Channel must be defined and configured using the Reaction Channel Blockset.  This blockset is used to configure the peak/hold current levels (see above).
'''[[Controllers]]'''


====I see values with 100% in the build log. Is this expected?====
[[Category:Controllers]]
There are several memory areas displayed in the build statistics that are internally reserved peices of data. These are displayed at 100% in the build statistics and cannot be changed by the application.<br>
FLASH_RCHW: 4 bytes 100% of 4 <br>
FLASH_ENTRY: 4 bytes 100% of 4 <br>
FLASH_CRCDEFNPTR: 4 bytes 100% of 4 <br>
RAM_BOOTMAILBOX: 16 bytes 100% of 16 <br>

Latest revision as of 19:37, 22 March 2023

ECM-564x-112

The ECM-564x is a nice addition to the MotoHawk engine control lineup. It is a 24V engine controller for on-road applications.

The module is capable of full authority digital engine control (FADEC) consisting of fuel, spark and air delivery to the engine. Additional inputs and outputs are available to control other system functions, as defined by software. This unit provides 112 connector pins with inputs, outputs and communications interfaces that support a wide variety of applications.

The ECM-564x is part of the MotoTron Control Solutions ControlCore family of embedded control systems. The ControlCore operating system, MotoHawk code generation product and MotoHawk’s suite of development tools enable rapid development of complex control systems.

Each controller is available in ‘F’ (flash, the MPC5642) or ‘C’ (calibratable, the MPC5644) versions. Flash modules are typically used for production purposes. Calibratable modules are typically for prototyping/development only; they can be calibrated in real time using MotoTune or ToolKit.

Power Requirements

The ECM-564x controller requires a voltage source of 8-32VDC (12VDC or 24VDC nominal).

Compiler Information

S12 micro (the safety processor) requires Freescale Codewarrior 4.6.

The MPC5XXX micro uses either the GCC eabi SPE 4.6, or GHS 4.2.1 and 4.2.4.

When using the auxiliary micro, it is recommended to use either Standard or Professional versions of the compiler.

Click here for more information on the compiler version.

Control Features

  • 2 Engine speed inputs: camshaft and crankshaft speed (software configurable for variable reluctance (VR) magnetic pickup sensor or Hall effect proximity sensor inputs)
  • Up to 6 frequency inputs (some share analog resources)
  • Up to 33 analog inputs
  • 3 Switch inputs
  • 2 HEGO sensor inputs
  • 2 LSU sensor inputs (also known as UEGO sensors)
  • 2 Knock sensor inputs
  • 3 Transducer power outputs providing +5V (350mA and 100mA) and +12V (100mA)
  • 2 H-bridge driver outputs providing 10A and 5A drive capability and current sense feedback
  • 6 Injector drivers providing software configurable peak and hold current levels (up to 7A/2A)
  • 6 Ignition coil drivers
  • MPRD (Master Power Relay Driver) low-side output
  • TACH low-side output
  • 16 low-side output drivers (1 with current sense feedback)
  • 3 CAN (Controller Area Network) communications ports
  • 4K-byte serial EEPROM for tunable parameter storage
  • Auxiliary micro with 128k of flash, 8k of RAM, 4k of EEPROM

Analog Inputs (AN1-AN34)

There are 34 analog inputs on the ECM-OH. The analog inputs have either a pull-up resistor as shown in Figure 2-12, or a pull-down resistor as shown in Figure 2-13. Five analog inputs have a software pull-up or pull-down selection via calibration. AN21 and AN30 share a common control line for the 1k or 11k selection, designed for EGT sensor diagnostics. All the analog inputs have a single-pole filter with a 1 ms time constant, except for Analog Input 5, which is reserved for a MAP (Manifold Absolute Pressure) sensor and has a 0.24 ms time constant.

The analog inputs are 12-bit ADC.

Crank and CAM Inputs

The CAM and Crank (CNK) inputs are used to detect engine speed and angular position relative to TDC. The ECM-OH has CAM and Crank sensor inputs that can be connected to either a variable reluctance magnetic pick-up sensor (VR-MPU), or to a Hall-effect proximity switch. Each type of input has dedicated connector pins. See the SECM-112 datasheet for additional detail.

Digital Inputs

The SECM-112 has eight discrete inputs. Some may be used as switch inputs, while others support frequency measurements.

Lambda Sensor Unit (UEGO) Inputs

The SECM-112 control has two LSUs (Lambda Sensor Units) also known as UEGO (Universal Exhaust Gas Oxygen) inputs, which interface with Bosch LSU 4.9 wide range oxygen sensors (Lambda sensors). The LSU inputs allow the ECM-OH to continuously regulate the engine air-to-fuel ratio, thus controlling the percentage of exhaust pollutants during the combustion process.

Low-Side Outputs (LSO)

The SECM-112 control has 16 low-side outputs (LSOx and SPK8) that can be used as Boolean outputs for driving relays, or some as PWM outputs. LSO1 and LSO2 are also designed to drive the heater coil on an LSU sensor. Some low-side outputs are provided with freewheeling diodes (internal to the ECM-OH through DRVP or BATT) to suppress the back EMF caused by inductive loads. See the ECM-OH datasheet for low-side output capabilities and characteristics.

Injector Outputs

The SECM-112 control has six injector outputs, each capable of driving either low or high impedance injectors. Each injector output can be used as a Boolean output, a PWM output, or as a synchronous or periodic peak and hold injector output.

Spark Outputs

The SECM-112 has six IGBT ignition coil drivers each capable of delivering up to 10A of peak dwell current.

H-Bridge Outputs

The SECM-112 control has two H-bridge outputs that can be used to drive electric motors, e.g., butterfly throttle valves. H-bridge output 1 is capable of driving up to 10A peak (5A average) in either direction, while H-bridge 2 can drive up to 5A peak (2.5A average). The H-Bridge outputs are provided with freewheeling diodes (internal to the ECM-OH through DRVP) to suppress the back EMF caused by inductive loads.

Shared Resources Between the Main and Auxiliary S12 Cores

The following are shared between the main and auxiliary S12G cores:

  • Analog inputs: AN01-05, AN16, AN17, AN18, AN24, AN31, VCAL, KEYSW
  • Digital inputs: VR1/DG1 (after mux), DG3, DG4, DG5, DG8, Wake-up (on XIRQ) from main core, reset from main core, main core status
  • Comms: CAN1
  • Outputs: H1 enable, H2 enable, MC33810 enable, NCV enable, VR1/DG1 mux disable, VR2/DG2 mux disable, MPRD disable, main core reset, reset main core status, main core interrupt, CAM VR mode select, CAM VR threshold PWM, AN20 PU select, AN24 PU select, AN31 PU select, DG3 PU select
  • The CAM VR mode select, CAM VR threshold PWM, AN20 PU select, AN24 PU select, AN31 PU select, DG3 PU select can be configured by the main core via SPI.

Communications

CAN

The ECM-OH has three 2.0B CAN ports for distributed I/O, distributed control and Human Machine Interface (HMI) purposes.

Important: Both cores (main and auxiliary) are internally connected within the ECU on CAN-1. If the baud rate of one of the cores is changed on CAN-1, then the baud rate of the other core must be programmed also to match on CAN-1. Each core must also have a unique City ID for MotoTune defined in the CAN Definition Block.

The SECM112 supports XCP, ISO15765 and SAE J1939 protocols for transmitting data over the CAN lines.

  • Transceiver type:
Internal ECM termination
CAN 2.0B
121Ω (on all three ports)
Isolation voltage: None
Baud rates supported: 125, 250, 500 and 1000kbps
Protocols supported: XCP, ISO15765, SAE J1939

For programming the SECM-112, it may help to think of it as two modules connected on CAN-1: The main and the aux S12G. Since the cores are internally connected on CAN-1, the baud rate must be the same for both on CAN-1, and they must have different City IDs. The module ships pre-programmed with an application that sets the baud rate for both cores to 500K, with the City ID of the main as 0xB and the City ID of the aux as 0x81.

The hardboot settings (used to program the module by boot key or boot harness) if it needs to be recovered are:

Main:
250k b/s
City ID 0xB
Aux:
250k b/s
City ID 0x81

To change the baud rate on CAN-1, first program the main core. Cycle power to put auxiliary in hardboot, then program the auxiliary as above.

Watchdog Function

The SECM-112 will have an ETC monitoring microprocessor and the main power supply will have a hardware watchdog that needs to be periodically queried by the main core processor.

Flexible Encoder

The SECM-112 will work with the flex encoder.

MotoHawk Compatibility

The SECM-112 is compatible with MotoHawk 2012b or later only. It does not work with older versions of MotoHawk.

Targets

The SECM-112 has different targets for the MAIN Prod and Dev modules as shown below.

  • 1751-6601: Target ECM-5644A-112-048-1204 DEV
  • 1751-6688: Target ECM-5644A-112-048-1206 DEV with 8-cylinder support
  • 1751-6605: Target ECM-5642A-112-049-1200 PROD
  • 1751-6690: Target ECM-5642A-112-049-1201 PROD with 8-cylinder support

Boot Matrix

OH main (Pre-DV) OH S12 (Pre-DV) OH main (DV) OH S12 (DV)
AN1M H
AN2M H
AN3M H H H
AN4M L H H
AN5M H
AN6M
AN7M
AN8M
AN9M
AN10M
AN11M
AN12M
AN16 H
AN17 L L
AN18 L H
AN22 H
AN25 H
AN26 L

The Reaction Module Blockset and the SECM-112

The standard PSP blocks (Injector Sequence, Dual PSP, Multiple PSP) are supported on the SECM-112, but configuration of the reaction module is required for injection on the SECM-112.

Peak-hold timing is configured by the reaction module, and the peak-hold input port on the sequence blocks is ignored.

MC33810 Spark Blockset and the SECM-112

Many of the Woodward MCS ECMs have EST outputs which provide 0-5V TTL level outputs for smart coils. The SECM-112 spark outputs are IGBT coil drivers for driving a coil directly. These outputs use the MC33810 driver, which is configured through the MC33810 Configuration Blocks, located in MotoHawk Module Configuration Blocks.

Calibration Memory

The SECM-112 has 64k of CAL flash available for calibration data. There is a second 64k of calibration flash that can be used to shadow this data so that, in the event of a power loss during calibration, a copy of the calibration data is stored (from the last write). This redundant calibration is enabled with a special blockset.

The SECM-112 has 64k of calibration flash memory, regardless of whether redundant calibration is enabled or not. The second 64k cannot be used to store additional calibrations.

This was a design decision based on the total memory of the DEV module. For the DEV module, calibration data is shadowed from flash into RAM at startup to allow online calibration. The ECM-564x-112 has limited RAM, as compared to some of the other ECUs with external RAM. If additional calibration flash was allocated, the same amount of RAM would need to be reserved and would not be available to the application. For the flash module, the calibration data is read directly from flash and is not shadowed into RAM.

The SECM-112 also has 32k of NV memory storage in serial EEPROM. The NV data (for both DEV or PROD) is shadowed in RAM at startup and is stored in the serial EEPROM at shutdown through execution of the store NV block.

The Main Power Relay Block and the S12G Auxiliary Processor

A common question is whether the MotoHawk MPRD block should be placed in the application for the S12G auxiliary processor or not. And, if so, does it need to be modified. The MPRD block is optional and does not need to be placed in the application.

Also, the MPRD block is intended as a starting point and is intended to be modified to suit specific application shutdown requirements (right click the block and select Look Under Mask).

An application may choose to have the MPRD block, or some shutdown logic, in the model for the S12G in order for the S12G to go to sleep to reduce current draw or to get the Key Off timer. The S12 will go to sleep when the shutdown power block is executed. When woken up by the main core, it will continue executed from where it left off. If using the standard MPRD block with the auxiliary S12G, it is necessary to remove the MPRD discrete output from the block.

Recovering the SECM-112

Occasionally, errors in programming may require that the module be recovered with a boot key or boot sequence. See Boot Key Recovery for more details on how to recover the module.

The hardboot settings for ECM-564x-112 on CAN-1 are:

Main:
Baud rate: 250K
City ID: 0x0B
Aux:
Baud rate: 250K
City ID: 0x81

These are the MotoServer port settings needed when recovering the module.

Important: Remove the ECU from all control connections before attempting to recover the module.


The SECM-112 is different in that it has two microprocessor cores: The main core and the auxiliary S12G. The processors are connected on CAN1, so it is important that the baud rate of both processors on CAN1 be the same. The processors must also communicate with MotoTune on different City IDs.

Recovering the Main Processor

The main processor can be recovered with a boot key on pin DG8. The boot key provides a 555Hz, 0-Vbatt, 50% duty cycle square wave on the STOP pin (pin E) of the 10-pin hub. This signal can then be wired to DG8. Alternatively, the main processor can be recovered with the following sequence on the analog inputs:

AN3: Pull to +5V
AN4: Pull to +5V
AN16: Pull to GND
AN17: Pull to GND
AN18: Pull to +5V.

Recovering the S12G Auxiliary Processor

The S12G cannot be recovered with a boot key. A boot sequence on the analog inputs of the S12G is required to recover it.

AN3: Pull to +5V
AN4: Pull to +5V
AN16: Pull to +5V
AN17: Pull to GND.

Note: If you are recovering the S12G core of the SECM-112, you must first program an application into the main core that sets CAN1 to be 250kbps. Battery must be toggled before powering up the S12G in boot mode. Use the following MotoServer port configurations when connecting with the ECU. These are the default hardboot settings.

ECM-OH

Main:
250kbps on CAN-1
City ID 0xB (11)
S12G:
250kbps on CAN-1
City ID 0x81 (129)

The Pre-PV and PV units will ship with a sample application that will connect at 500K on PCM-1 (City-ID 11) or PCM-2 (City-ID 12). Recovering either microprocessor will force it back to its default hardboot baud rate of 250kbps. So, you must reprogram the other microprocessor with an application to change it to 250kbps.

Downloads

Datasheets

SECM-112

Datasheet

Datasheet Errata

The datasheet says there are 8 injectors, 6 of which are peak-hold. This plan was the initial production intent, but it has changed. All production releases will have only 6 peak-hold injectors.

The module ingress protection is rated for IP67 and IP69K.

Frequently Asked Questions (FAQ)

Why do I get a CamEncoder build warning?

WARNING: CamEncoder has interface Hardware that has not been defined.

There are new blocks in the MotoHawk Module Configuration library to set the VR or DG interface. The settings in the Encoder Definition block are ignored. You must use these blocks in the model.

What causes the build to fail with a ReactPHWOTChan error?

ERROR: A ReactPHWOTChan definition for INJ1 was not found in the application.

If the application is using the Injector blocks, the module's Reaction Channel must be defined and configured using the Reaction Channel Blockset. This blockset is used to configure the peak-hold current levels (see above).

I see values with 100% in the build log. Is this expected?

There are several memory areas displayed in the build statistics that are internally reserved pieces of data. These are displayed at 100% in the build statistics and cannot be changed by the application.

FLASH_RCHW: 4 bytes 100% of 4

FLASH_ENTRY: 4 bytes 100% of 4

FLASH_CRCDEFNPTR: 4 bytes 100% of 4

RAM_BOOTMAILBOX: 16 bytes 100% of 16

Can I ground the unit housing?

The SECM112 housing is intended to be mounted through non-conductive vibration isolators with no connection to engine/chassis ground. The case is acting as an EMI shield and is RC coupled to the PCB ground plane. Grounding the case will not impact the functionality of the unit but may affect the EMC performance and ESD protection.

Availability

Calibratable (ECM-5644-112) and production (ECM-5642-112) versions are available.

Webstore

ECM-5644-112-1204-C-M

ECM-5642-112-1304-F-M

All Engine Control Modules

Other Modules

Controllers