ECM-564x-112

From NewEagleWiki
Jump to navigation Jump to search

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 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, 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.

Power Requirements

The ECM-5642-112 controller require a voltage source of 8 to 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.

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 & 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)

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 & 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 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.

Digital Inputs

The ECM-OH has 8 discrete inputs. Some may be used as switch inputs, others support frequency measurements.

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.

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.

Injector Ouputs

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.

Spark Outputs

The ECM-OH has 6 IGBT ignition coil drivers each capable of delivering up to 10A of peak dwell current.

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.

Shared Resources between the Main and Auxillary S12 cores

The following are shared between the main and 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

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. 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.

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.

Flexible Encoder

The ECM-OH will work with the flex encoder.

MotoHawk Compatibility

The ECM-OH is compatible with MotoHawk 2012b or later only. No older MotoHawk.

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

Recovering the ECM-OH

Occasionally, errors in programming may require that the module be recovered with a boot key or boot sequence See Boot Key Recovery for more detail on how to recover the module.
The Hardboot Settings for SECM112 are CAN-1:
Main: 250k, City ID 0x0B
Aux: 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 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.

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 Auxillary 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.

Notes:

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. 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.

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.

Availability

Calibratible versions are available now. Flash or production will be available in 2Q2013.

FAQ

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."

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 peices 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