PCM112-14

From MotoHawk
Jump to navigationJump to search

Module

112 Pin ECM-OH


Overview

The PCM112-14 is another module in the Woodward 112 pin module family. It is well suited for application which are presently utilizing the PCM09 module.

At the heart of the PCM112 control is a powerful 32-bit Freescale MPC5644A microprocessor and an auxiliary 16-bit Freescale MC9S12G microcontroller that both run Woodward’s ControlCore operating system.

Power Requirements

The PCM112-14 module is designed for a nominal voltage of 12 Vdc. The power dissipation within the control is typically less than 30W. Standby current draw is 1 mA (nominal).


Labeling

Both forms of labeling shown here are the equivalent hardware:

Friendly Name Manufacturer Part Number
PCM112-14-310 VPEDVU-12A650-AB
PCM112-17-311 VPEDVU-12A650-CA

The later version is denoting a reduction of the gain in the VR CNK input, thus reducing its sensitivity to noise.


MotoHawk Requirements

MotoHawk 2014aSP0 or higher is required for PCM112-14.

This means Matlab 2012a or higher is required, as MotoHawk supports Matlab 2 years backward.



Compilers

Main Micro: Green Hills 4.2.4, Green Hills 2015.1.6 or GCC PowerPC eabi SPE 4.6

Auxiliary: Freescale CodeWarrior version 4.6 or 5.2


Targets

The PCM112-14 has different Targets for the MAIN and the S12G auxillary processor as shown below:

Main Processor

1751-6685: Target ECM-5644A-112-064-1400

Auxiliary Processor

Target ECM-S12G-112-063-1400 PROD Only



BUY NOW
8923-2341 includes the PCM112-14 (1751-6685) module plus mounting kit.

Datasheets

PCM112 Digital Control Hardware Manual
PCM112 I/O Behaviors


Related Part Numbers

Part Number Description Available Online
8923-3187 Connector Kit Buy Online!
8996-2158
8996-2159
Crimp Tools Buy Online!
Also
8996-1059
8996-2161
Removal Tools Buy Online!
Also
1635-1800 Boot Key Buy Online!
5404-1334 Pig Tail - 12' Buy Online!
TDB Development Harness
TDB Programming Harness
8923-1404 Breakout Box
5404-1490 Desktop Simulator Harness


NOTE: Connector kit 8923-1413 is now obsolete and is replaced by 8923-3187

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 frequency inputs
  • 23 analog inputs
  • 1 emergency stop input
  • 5 switch inputs
  • 2 HEGO sensor inputs
  • 2 LSU sensor inputs (also known as UEGO sensors)
  • 2 knock sensor inputs
  • 3 transducer power outputs, 2 providing +5 V (100 mA) and 1 providing +5 V (50 mA)
  • 8 saturated injector drivers
  • 4 ignition coil drivers
  • 2 H-bridge driver outputs providing 10 A drive capability and current-sense feedback
  • MPRD (Master Power Relay Driver) low-side output
  • TACH low-side output
  • 15 low-side output drivers
  • 3 analog gauge drivers
  • 3 CAN communications ports
  • 1 RS-485 communication port



Internal Temperature Monitor

The PCM112-14 has an internal temperature monitor that can be accessed via the Get Module Data block. So, for example, you could implement a Simulink model that logged the maximum observed MicroTemp to NVM.

GetModuleData JunctionTemp.PNG

Shared Resources between the Main and Auxiliary cores

The following are shared between the main and auxiliary cores:

Analog inputs:

Resource Note
AN7 to AN11
AN14, AN15, AN18
VCAL
KEYSW

Digital inputs:

Resource Note
TACH Tachometer
ESTOP Emergency Stop
N/A reset from main core*

Comms:

Resource Note
CAN1 CAN Bus 1

Outputs:

Resource Note
DRVR_ENABLE (enables LSO2-14, PSM1/2, SPARKA-D, INJ1-8, TACH)
PWRHOLD (keeps ECU power on)

Calibration Memory

The PCM112-14 has 64k of Calibration memory available.

If you are porting an application from another ECU (ex. the 128-pin) the PCM112-14 may have less calibration memory available. 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. However, the PCM112-14 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 on-line calibration. The PCM112-14 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 memory layout, the calibration data is read directly from Flash and is not shadowed into RAM.

The PCM112-14 also has 16k 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. Some calibration values may be able to be moved to NV storage (ex. Calibration NV).

Recommendations to reduce calibration memory in the application:

1. Review and Optimize Datatypes. The first thing to look at in reducing calibration memory is 64 bit vs 32 bit. Double is the Simulink default, but is often larger than required. Convert calibratons to 32-bit (single) or smaller datatypes.

2. Review and Optimize Tables. The next big item is table optimizations. It is likely that 32-bit floating point is not needed for every table and can be reduced. Reducing the dimenstions of tables would also reduce the memory usage.


Recovering the PCM112-14

Occasionally, errors in programming may require that the module be recovered with a boot key or boot sequence. The following section describes recovery procedure for the PCM112-14. For more information, see Boot Key Recovery.

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

Default Bootloader MotoServer Settings (Recover/Bootstrap Mode):

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

The PCM112-14 has two microprocessor cores, the Main Core and the Auxillary S12G. Both processors are connected on CAN1, so it is important that both processors configure their CAN-1 port with the same baud rate, and different MotoTune IDs.

Recovering the Main Processor
The main processor can be recovered with a boot key on the ESTOP pin. The boot key provides a 555Hz, 0-Vbatt, 50% duty cycle square wave on the STOP pin (pin E) of the 10-pin hub.

Recovering the S12G Auxillary Core (requires battery toggle)
The S12G cannot be recovered with a boot key. A boot sequence on the analog inputs of the S12G is required to recover it.
AN7: Pull to +5V
AN8: Pull to +5V
AN9: Pull to +5V
AN10: Pull to +5V
AN11: Pull to +5V
AN14: Pull to +5V
AN15: Pull to +5V
AN18: Pull to GND

Applying the boot signal or sequence

The boot key signal or boot sequence is only searched within the first 2-3 seconds of the ECU waking up. To ensure that the signal/sequence is recognized, the following procedure is recommended:
1) Apply the boot signal or sequence.
2) Main Core recovery: Turn Power ON, but key off; S12G Core recovery: battery off.
3) Initiate MotoTune programming on the MotoServer port (City ID 0x0B 250k baud for Main Core, 0x081 250kbaud for S12G Core).
4) When 'Searching for ECU' appears in MotoTune, turn the key on (Main Core recovery) or battery on (S12G Core recovery). It may take several tries.

Avoiding Baud Rate Collision During and After Recovery Process:

The hardware units will come from the factory in a configuration that will connect to the main bootloader at 250 kbps on PCM-1 (City-ID 11), and S12G Core bootloader that will connect at 250 kbps on SECM-1 (City-ID 129). However, it is not possible to program the S12G until the main processor has a valid application. The default from the factory baud rate on CAN-1 also matches that of the bootloaders’ recovery mode baud rate, and there may be baud rate collision between the Main Core Application and the S12G Bootloader (or between the S12G Application and the Main Core Bootloader) if the application will utilize a different baud rate.

The Main Core recovery process automatically avoids baud rate collision by holding the S12G Core in reset, so there will be no collision between the Main Core Bootloader and the S12G Core application. Because the module comes from the factory without any application, the Main Core initiates the recovery process until the first time an application has been successfully programed.

However, if you are recovering the S12G Core, you must manually prevent baud rate collision by first programming the Main Core with an application that sets CAN-1 at 250kbps. Note that if after recovery the S12G application configures CAN-1 at other than 250kbs, it will collide with the Main Core application’s 250K CAN-1 setting. Because of this, it is recommended to enable MotoTune on CAN2 in the Main Core application to allow the Main Core to be re-programmed via CAN-2 (another option is to perform recover procedure on the Main Core after the S12G Core has been recovered).

Frequently Asked Questions

I have a brand new PCM112-14, but why is the LSO output not functioning as I would expect?

The ECM-5644A-112-064-1400 hardware comes from the manufacturer without an application programmed for either the Main or the S12G processors. End users of ECM-5644A-112-064-1400 will need to install an application in the S12G processor or else the default state of the DRVR_ENABLE will be such that the following IO will not function: LSO2-14, PSM1/2, SPARKA-D, INJ1-8, TACH.

What is the proper way to configure the GAUGE outputs?

The GAUGE1..3 outputs are constant current source outputs implemented as low side transistor circuits. The connected load should draw power from key switch power (C-CC1).

The PWM control GAUGE1 is used to set the current setpoint for the GAUGE1 output. A 1kHz PWM is able to generate a voltage that is directly proportional to the duty cycle applied multiplied by 5V (i.e. 50% will deliver 2.5V, 40% 2V and so on).

Voltage translates into the commanded current to be sunk by the output, where 1V is equivalent to approximately 47.6mA.

There is a GAUAGE1_I analog available that reports the current in the load. The ADC report is linear, but there appears to be an offset in the reading. The application may need to characterize the behavior for a given load before the output is used.

What is the maximum pulse length that can be delivered for PCM112-14 when using 'Unsynchronized PSP OneShot Trigger'?

The 'Unsynchronized PSP OneShot Trigger' total duration input port is specified with uint32 data type, but the hardware has a maximum achievable duration of 839 ms.

What is the operating temperature for PCM112-14?

The operating temperature range is -15 to +85 degrees centigrade. The specified storage temperature range is -40 to +125 degrees centigrade.

Is it possible to drive the half-bridges as PWM outputs?

The H-Bridges are not currently configured to support half-bridge control. The circuits should be capable of half-bridge control so this type of feature may be added in the future.

What are the capabilities of the DGFREQ1 and DGFREQ2 inputs for frequency measurement?

The DFREQ inputs will support PWM dutycycle measurement. They have 39k/100pF RC input network and a 10nF RF capacitor. This will pass frequencies well above 10kHz