uPDM4 Datasheet


uPDM4 uPDM4

The Micro PDM4 is a smart 4 channel power distribution module designed to replace mechanical relays and fuses in aftermarket automotive electrical circuits. Each of the 4 outputs can supply up to 15 amps continuous load current. Each output can be triggered by switch inputs or CAN messages. Outputs feature PWM soft start capabilities.

In applications where installers may need to add a small number of power circuits but don’t require the size, cost or complexity of a full scale PDM. The Micro PDM4 is perfect for coupling with new engine harness builds or when adding a wide range of auxiliary circuits to a vehicle.

The uPDM4 is constructed from AEC-Q100 Automotive Grade components, ensuring its reliability in harsh environments.

Overview

  • 4x Outputs, 15A Nominal, 24A Max
  • 5x Analogue/Digital Inputs
  • CAN 2.0B / FD Communications
  • Over current Protection
  • Over temperature Protection
  • Short Circuit Protection
  • Automotive Grade Device

Applications

  • Resistive, Inductive and Capacitive Loads
  • EFI relay
  • ECU, DBW, Coil, Injector supplies
  • Fuel pumps
  • Water pumps
  • Thermo fans
  • Vehicle lighting

Wiring Pinout

uPDM4 Pinout uPDM4 Pinout

InfoMating Connector: Deutsch DT06-12SA
PinNameDescription
1OUT115A High side load output 1. PWM up to 200Hz. Soft start capable. (1)
2OUT215A High side load output 2. PWM up to 200Hz. Soft start capable. (1)
3OUT315A High side load output 3. PWM up to 200Hz. Soft start capable. (2)
4OUT415A High side load output 4. PWM up to 200Hz. Soft start capable. (2)
5IN5Analog/Switch/Frequency input 5. 0-20V. Configurable 4K7 pull up to 5V0. (3)
6CANHCAN High.
7CANLCAN Low.
8GNDChassis ground.
9IN4Analog/Switch/Frequency Input 4. 0-20V. Configurable 4K7 pull up to 5V0. (4)
10IN3Analog/Switch/Frequency Input 3. 0-20V. Configurable 4K7 pull up to 5V0. (4)
11IN2Analog/Switch/Frequency Input 2. 0-20V. Configurable 4K7 pull up to 5V0. (4)
12IN1Analog/Switch/Frequency Input 1. 0-20V. Configurable 4K7 pull up to 5V0. (4)
M6 StudBATTBattery positive supply.
  1. Rev 1 Hardware (Serial# < 2000) Only: Pins OUT1 & OUT2 share a common frequency register. The lowest of the two requested frequencies will drive the two outputs. Duty cycles remain independent to all channels.
  2. All Hardware Versions: Pins OUT3 & OUT4 share a common frequency register. The lowest of the two requested frequencies will drive the two outputs. Duty cycles remain independent to all channels.
  3. Rev 1 Hardware (Serial# < 2000) Only: No configurable pullup on IN5, fixed 10K pull down to GND.
  4. Rev 1 Hardware (Serial# < 2000) Only: No configurable pullup on IN1-4, fixed 10K pull up to GND. No voltage measurement, digital inputs only.

Default Configuration

By default, General Purpose Logic 1-4 are configured to drive OUT1-4 respectively.

IN1-5 drive Switch 1-5 respectively.

General Purpose Logic 1-4 are fed by Switch 1-4 respectively.

General Purpose Logic 5 is fed by Switch 1 OR Switch 5.

General Purpose Logic 2-4 require either Switch 1 or Switch 5 to be in some form of active state to enable.

This configuration makes OUT1 always switchable and acts like a master enable for the remaining OUTn pins.

All outputs are switchable if IN5 is high. This acts like a master ignition switch input.

This functionality has been chosen because some ECU’s which may be driving the INn pins default to a low state when they are switched off. This can result in the output channels being enabled in error. OUT1 being always switchable makes it useful for EFI main relay duties.

All outputs can be controlled by CAN at any time, regardless of their driving function’s.

PinConfigFuse CurrentRetriesRetry Delay
OUT1GP Logic 1: IN1 Active12.0 Amps25.0 Seconds
OUT2GP Logic 2: IN2 Active AND (IN1 Active OR IN5 Active)12.0 Amps25.0 Seconds
OUT3GP Logic 3: IN3 Active AND (IN1 Active OR IN5 Active)12.0 Amps25.0 Seconds
OUT4GP Logic 4: IN4 Active AND (IN1 Active OR IN5 Active)12.0 Amps25.0 Seconds
IN1Active Low
IN2Active Low
IN3Active Low
IN4Active Low
IN5Active High

uPDM4 Default Logic uPDM4 Default Logic


CAN

The μPDM4 is equipped with a single high speed Controller Area Network (CAN) transceiver able to communicate CAN2.0A/B & CAN Flexible Data rate (FD) messages at up to 4 Mbit/s. By default, the device accepts standard 11 bit frames at up to 1 Mbit/s (FD disabled).

Bus Wiring & Termination

InfoThe μPDM4 is NOT fitted with a CAN termination resistor.

If the device is at either end of the bus, an external 120R termination resister should be installed.

ImportantCAN High and CAN Low wiring should be a twisted pair.

CAN Bus Layout CAN Bus Layout

ImportantMaximum recommended stub lengths from the main bus to each node is 300mm.

Automatic Bus Speed Detection

On powerup the device will scan the CAN bus and attempt to establish communication. If this is unsuccessful, it will cycle through a range of preset speeds until a connection is achieved. It will then store the successful speed and use it as it’s first attempt at next power up.

The cycled speed presets are: 1 Mbit/s, 500 Kbit/s, 250 Kbit/s, 125 Kbit/s.

This functionality can be disabled by the user if required.

Message Addressing

By default, the μPDM4’s CAN base address is 416 (0x1A0).

Tx frames are transmitted at a base address offset of 0 through 15 (416-431 by default).

Rx frames are accepted from base address offset 16 through 31 (432-447 by default).

The base address can be changed by the user, but it must be a multiple of 32 (0x20).

Caution

When more than one μPDM4 are on the same bus, their base address’s must be set independently and in multiples of at 32 (0x20).

Disconnect other devices which may be trying to use the same ID’s while you configure each device.


CAN Protocol Frames

Default Base ID: 416 (0x1A0)

Default Bitrate: Auto detect (Up to 1Mbit/s, FD Disabled, 11 bit Standard ID’s)

Tx Byte Order: MSB First (Unless specified otherwise)

Frame ID = Device Base ID + Frame Base ID Offset. For example: By default, Rx Frame 5 will be accepted on ID 437 (0x1B5).

Tx Data Stream

These frames are continually transmitted to the CAN bus. They contain lots of data about the device’s operational status.

Tx Frame 0: Device ID

Base ID Offset: 0 (0x00) | DLC: 8 | Rate: 1 Hz

DataByteLength (Bits)SignedMultiplierOffsetUnitsDecimalsUsage
Manufacturer ID08No10None0Always = 222
Device Type ID18No10None0UPDM4 = 150
Firmware Major28No10None0
Firmware Minor38No10None0
Firmware Revision48No10None0
Firmware Build516No10None0
Device Status78No10Status*0

* See Status Enumerations

Tx Frame 1: Time & Device Critical Stats

Base ID Offset: 1 (0x01) | DLC: 8 | Rate: 1 Hz

DataByteLength (Bits)SignedMultiplierOffsetUnitsDecimalsUsage
Uptime Days08No10Days012 = 12 Days
Uptime Hours18No10Hours012 = 12 Hours
Uptime Minutes28No10Minutes012 = 12 Minutes
Uptime Seconds38No10Seconds012 = 12 Seconds
CPU Temperature48No1-50°C0123 = 73 °C
CPU Load58No10%012 = 12 %
Internal 5V0 Supply616No0.0010Volts31234 = 1.234 Volts

Tx Frame 2: Output Status & Load

Base ID Offset: 2 (0x02) | DLC: 8 | Rate: 10 Hz

DataByteLength (Bits)SignedMultiplierOffsetUnitsDecimalsUsage
Output 1 Status08No10Status*0
Output 2 Status18No10Status*0
Output 3 Status28No10Status*0
Output 4 Status38No10Status*0
Output 1 Load48No10%012 = 12%
Output 1 Load58No10%0
Output 1 Load68No10%0
Output 1 Load78No10%0

* See Status Enumerations

Tx Frame 3: Input Status

Base ID Offset: 3 (0x03) | DLC: 8 | Rate: 10 Hz

DataByteLength (Bits)SignedMultiplierOffsetUnitsDecimalsUsage
Input 1 Status08No10Status*0
Input 2 Status18No10Status*0
Input 3 Status28No10Status*0
Input 4 Status38No10Status*0
Input 5 Status48No10Status*0
Input 5 Volts516No0.0010Volts312345 = 12.345 Volts
Input Level Flags78No10Bitfield**0See Input Level Bitfield

* See Status Enumerations

** See Bitfield Enumerations

Tx Frame 4: Input Frequency

Base ID Offset: 4 (0x04) | DLC: 8 | Rate: 10 Hz

DataByteLength (Bits)SignedMultiplierOffsetUnitsDecimalsUsage
Input 1 Frequency016No0.10Hz11234 = 123.4 Hz
Input 2 Frequency116No0.10Hz1
Input 3 Frequency216No0.10Hz1
Input 4 Frequency316No0.10Hz1

Tx Frame 5: Device Totals Data

Base ID Offset: 4 (0x05) | DLC: 8 | Rate: 20 Hz

DataByteLength (Bits)SignedMultiplierOffsetUnitsDecimalsUsage
Battery Voltage016No0.0010Volts312345 = 12.345 Volts
Total Current216No0.010Amps21234 = 12.34 Amps
Total Power416No0.10Watts11234 = 123.4 Watts
Total Load616No0.010%11234 = 12.34 %

Tx Frame 6: Output Current Draw

Base ID Offset: 6 (0x06) | DLC: 8 | Rate: 20 Hz

DataByteLength (Bits)SignedMultiplierOffsetUnitsDecimalsUsage
Output 1 Current016No0.010Amps21234 = 12.34 Amps
Output 2 Current216No0.010Amps2
Output 3 Current416No0.010Amps2
Output 4 Current616No0.010Amps2

Tx Frame 7: Output Voltage

Base ID Offset: 7 (0x07) | DLC: 8 | Rate: 20 Hz

DataByteLength (Bits)SignedMultiplierOffsetUnitsDecimalsUsage
Output 1 Volts016No0.0010Volts312345 = 12.345 Volts
Output 2 Volts216No0.0010Volts3
Output 3 Volts416No0.0010Volts3
Output 4 Volts616No0.0010Volts3

Tx Frames 8-12: RESERVED


Rx Control Frames

Sending data to the device with these frames allows other devices to control the μPDM4’s behavior.

Rx Frame 0: Control Frame 1

Base ID Offset: 16 (0x10) | DLC: 8 | Timeout: 1.0 Seconds

DataByteLength (Bits)SignedMultiplierOffsetUnitsDecimalsUsage
Output 1 Duty Override08No11 or 100% DC00 = No Change
Output 2 Duty Override18No11 or 100% DC01 = Off (0 %DC)
Output 3 Duty Override28No11 or 100% DC02 = On (100 %DC)
Output 4 Duty Override38No11 or 100% DC0100 - 200 = 0 - 100 %DC
Output 1 & 2 Frequency Override48No10Hz00 = No Change
Output 1 & 2 Frequency Override58No10Hz01 - 200 = 1 - 200 Hz
Output 3 & 4 Frequency Override68No10Hz0
Output 3 & 4 Frequency Override78No10Hz0

Rx Frame 1: Control Frame 2

Base ID Offset: 17 (0x11) | DLC: 8 | Timeout: 3.0 Seconds

DataByteLength (Bits)SignedMultiplierOffsetUnitsDecimalsUsage
Output 1 Fuse Current Override08No0.10Amps10 = No Change
Output 2 Fuse Current Override18No0.10Amps1123 = 12.3 Amps
Output 3 Fuse Current Override28No0.10Amps1
Output 4 Fuse Current Override38No0.10Amps1
Output 1 Retries Override48No11None00 = No Change
Output 2 Retries Override58No11None01 - 254 = 0 - 253 Retires
Output 2 Retries Override68No11None0255 = Always Retry
Output 4 Retries Override78No11None0

Rx Frame 2: Control Frame 3 (Emtron Friendly)

Base ID Offset: 18 (0x12) | DLC: 8 | Timeout: 3.0 Seconds

DataByteLength (Bits)SignedMultiplierOffsetUnitsDecimalsUsage
Output 1 Enable Override016 (LSB First)No10None00 = No Change
Output 1 Enable Override216 (LSB First)No10None01 = On (100% DC)
Output 1 Enable Override416 (LSB First)No10None0
Output 1 Enable Override616 (LSB First)No10None0

Rx Frames 3-12: RESERVED


Device Config Frames

These frames allow the reading & writing of internal configuration data. They are mostly for use by configuration & tuning interfaces such as MectriCal & MectriCAN though any device capable of sending a single CAN frame can use them.

See Simplified CAN Programming for usage of the Special Command Frame

Rx Frame 13: Special Command

Base ID Offset: 29 (0x1D) | DLC: 8

DataByteLength (Bits)SignedMultiplierOffsetUnitsDecimalsUsage
Command ID08No10None0See Commands Table
Data 01************
Data 12************
Data 23************
Data 34************
Data 45************
Checksum (where applicable)616 (LSB First)No10None0Sum (Bytes 0:5) + 1

The device will respond via Tx Frame 13.

Tx Frame 13: Special Command Response

Base ID Offset: 13 (0x0D) | DLC: 8 | Rate: Once

DataByteLength (Bits)SignedMultiplierOffsetUnitsDecimalsUsage
Command ID08No10None0See Commands Table
Data 01************
Data 12************
Data 23************
Data 34************
Data 45************
Checksum (where applicable)616 (LSB First)No10None0Sum (Bytes 0:5) + 1

Rx Frame 14: Configuration Read Request

Base ID Offset: 40 (0x1E) | DLC: 3

DataByteLength (Bits)SignedMultiplierOffsetUnitsDecimalsUsage
Config Variable Type08No10None0
Config Variable ID116 (LSB First)No10None0

The device will respond via Tx Frame 14.

Tx Frame 14: Configuration Read Response

Base ID Offset: 14 (0x0E) | DLC: 8 | Rate: Once

DataByteLength (Bits)SignedMultiplierOffsetUnitsDecimalsUsage
Read Item Type08No10None0255 = Invalid Request
Read Item ID116 (LSB First)No10ID0> 65500 = Error
Data 038**********LSB First
Data 148**********
Data 258**********
Data 368**********
Data 478**********

Rx Frame 15: Configuration Write Command

Base ID Offset: 31 (0x1F) | DLC: 8

DataByteLength (Bits)SignedMultiplierOffsetUnitsDecimalsUsage
Config Variable Type08No10None0
Config Variable ID116 (LSB First)No10None0
Config New Value332(LSB First)**********
Store All Changes78No10None00 = No, 1 = Store All

The device will respond via Tx Frame 15.

Tx Frame 15: Configuration Write Response

Base ID Offset: 15 (0x0F) | DLC: 8 | Rate: Once

DataByteLength (Bits)SignedMultiplierOffsetUnitsDecimalsUsage
Config Variable Type08No10None0255 = Wrong Variable Type
Config Variable ID116 (LSB First)No10ID0> 65500 = Error
Config New Value332(LSB First)**********New value of the variable
Store All Changes78No10None00 = No, 1 = Store Complete

Simplified CAN Programming

In the absence of a MectriCAN interface, basic config changes can be made by any device capable of sending a CAN message. The following protocol is provided to simplify this process.

Configuration changes are written using Rx Frame 13 (ID + 29) and responses will be transmitted on Tx Frame 13 (ID + 13). For simplicity the requirement for a checksum has been omitted for these commands. Frames must be 8 bytes long or they will be ignored. Unused bytes can contain 0’s.

Command ID is placed in Byte 0. Data is placed in Bytes 1-7 as required. If the configuration sent differs from the current data in memory, the response frame will contain a value of 1 in Byte 1. This means the new configuration has been changed and stored in permanent memory. If the same frame is sent again without new configuration changes, response Byte 1 will be 0.

Commands

IDCommand
10Output Current Limits
11Output Retries
12Output Retry Delays
13Output Soft Start Initial Duty Cycles
14Output Soft Start Times
15Output Max Duty Cycles
16Output Frequencies
20Input Pin Config
21Switch Active Levels
30Logic Conditions
31CAN Config

Response Frame

The response frame will contain the following data:

Byte 0: Command ID (255 = Error).

Byte 1: 0 = No change to current config (data sent matches data stored), 1 = Change made and stored in memory.

Byte 2-7: Not used, will contain all 0’s.

IDDLCByte 0Byte 1Byte 2Byte 3Byte 4Byte 5Byte 6Byte 7
BASE + 138Command IDO or 1000000

Output Current Limits

Sets the current limit for the outputs.

Command ID: 10

Data Units: Amps

Data Multiplier: 0.1

Data Usage: (123 = 1.23 Amps)

IDDLCByte 0Byte 1Byte 2Byte 3Byte 4Byte 5Byte 6Byte 7
BASE + 29810Output 1 Max CurrentOutput 2 Max CurrentOutput 3 Max CurrentOutput 4 Max Current000

Output Retries

Sets the maximum number of times each output will be retried after a fault is detected.

Command ID: 11

Data Units: None

Data Multiplier: 1

Data Usage: 0-254 = 0-254 Retries, 255 = Always Retry.

IDDLCByte 0Byte 1Byte 2Byte 3Byte 4Byte 5Byte 6Byte 7
BASE + 29811Output 1 Max RetriesOutput 2 Max RetriesOutput 3 Max RetriesOutput 4 Max Retries000

Output Retry Delay

Sets the amount of time that the output must remain off after a fault is cleared before it will be retried.

Command ID: 12

Data Units: Seconds

Data Multiplier: 0.1

Data Usage: 123 = 12.3 Seconds

IDDLCByte 0Byte 1Byte 2Byte 3Byte 4Byte 5Byte 6Byte 7
BASE + 29812Output 1 Retry DelayOutput 2 Retry DelayOutput 3 Retry DelayOutput 4 Retry Delay000

Output Soft Start Initial Duty Cycle

Sets the initial duty cycle used when an output’s Soft Start Time > 0.

Command ID: 13

Data Units: %DC

Data Multiplier: 1

Data Usage: 12 = 12 %DC

IDDLCByte 0Byte 1Byte 2Byte 3Byte 4Byte 5Byte 6Byte 7
BASE + 29813Output 1 Start DutyOutput 2 Start DutyOutput 3 Start DutyOutput 4 Start Duty000

Output Soft Start Time

Sets the amount of time taken to ramp from the output’s Initial Duty Cycle value to the output’s Maximum Duty value.

Command ID: 14

Data Units: Seconds

Data Multiplier: 0.1

Data Usage: 123 = 12.3 Seconds

IDDLCByte 0Byte 1Byte 2Byte 3Byte 4Byte 5Byte 6Byte 7
BASE + 29814Output 1 Start TimeOutput 2 Start TimeOutput 3 Start TimeOutput 4 Start Time000

Output Max Duty Cycle

Sets the maximum duty cycle for the output. Be careful when using values less then 100% as external flywheel diodes may be required. See DC Motors.

Command ID: 15

Data Units: %DC

Data Multiplier: 1

Data Usage: 12 = 12 %DC

IDDLCByte 0Byte 1Byte 2Byte 3Byte 4Byte 5Byte 6Byte 7
BASE + 29815Output 1 Max DutyOutput 2 Max DutyOutput 3 Max DutyOutput 4 Max Duty000

Output Frequency

Sets the frequency used by the outputs during Soft Start or similar PWM mode.

Command ID: 16

Data Units: Hz

Data Multiplier: 1

Data Usage: 123 = 123 Hz (200 Hz Max)

IDDLCByte 0Byte 1Byte 2Byte 3Byte 4Byte 5Byte 6Byte 7
BASE + 29816Output 1 FrequencyOutput 2 FrequencyOutput 3 FrequencyOutput 4 Frequency000

Input Pin Config

Sets the active level and edge of the input pin.

Command ID: 20

Data Units: Bitfield

Data Multiplier: 1

Data Usage:

  • Bit 0 = Active Level (0 = Low, 1 = High)
  • Bit 1:5 = Not Used
  • Bit 6:7 = Active Edge (0 = Low, 1 = High, 2 = Both)
IDDLCByte 0Byte 1Byte 2Byte 3Byte 4Byte 5Byte 6Byte 7
BASE + 29820Input 1 ConfigInput 2 ConfigInput 3 ConfigInput 4 Config000

Input Switch Active Level

Sets the active level of the Input Switch functions. By default, these values represent Input Pin levels for the switches to be considered ON. Byte 6 contains a bitfield that sets the Switches toggle/latch functionality.

Command ID: 21

Data Units: None

Data Multiplier: 1

Data Usage:

  • Switch Active Level: 0 = Low, 1 = High.
  • Switch Toggle Flags: Bit 0:5 = Switch 1-5 Toggle/Latch (0 = Off, 1 = On).
IDDLCByte 0Byte 1Byte 2Byte 3Byte 4Byte 5Byte 6Byte 7
BASE + 29821Switch 1 Active LevelSwitch 2 Active LevelSwitch 3 Active LevelSwitch 4 Active LevelSwitch 5 Active LevelSwitch Toggle Flags0

Logic Conditions

Sets the requirements for the output switch logic. This is an extremely simplified implementation of the internal logic.

Command ID: 30

Data Units: None

Data Multiplier: 1

Data Usage:

  • 0 = Output# will turn on if: Switch# = ON.
  • 1 = Output# will turn on if: Switch# = ON AND Switch5 = ON.
  • 2 = Output# will turn on if: Switch# = ON AND Switch1 = ON.
  • 3 = Output# will turn on if: Switch# = ON AND (Switch5 = ON OR Switch1 = ON). This is the default configuration.
IDDLCByte 0Byte 1Byte 2Byte 3Byte 4Byte 5Byte 6Byte 7
BASE + 29830Logic 1 ModeLogic 2 ModeLogic 3 ModeLogic 4 Mode000

CAN Configuration

Sets the CAN Base Address, Bitrate, and Auto Speed Detection.

Changes will take effect after a full power cycle.

Command ID: 31

Data Units: None

Data Multiplier: 1

Data Usage:

  • Base Address (Bytes 1:4): 32-bit unsigned integer, LSB First, internally masked to multiples of 32.
  • Bitrate Mode (Byte 5): 1 = 125 Kbit/s, 2 = 250 Kbit/s, 3 = 500 Kbit/s, 4 = 1 Mbit/s.
  • Auto Speed Detection (Byte 6): 0 = Off, 1 = On.
IDDLCByte 0Byte 1Byte 2Byte 3Byte 4Byte 5Byte 6Byte 7
BASE + 29831Base Address [0]Base Address [1]Base Address [2]Base Address [3]Bitrate ModeAuto Speed Detection0

Data Enumerations

Device Status

ValueStatusDescription
1OKThe output channel is on and OK.
5Over CurrentThe device’s total maximum current draw fault has been triggered.
6Over VoltageThe device’s supply voltage has exceeded 18.0 Volts.
7OverloadThe device’s total maximum load fault has been triggered.
8Short Circuit or Over TempAll output channel’s driver IC’s have detected either a short circuit or over heated.
10Retry LimitThe device’s retry limit has been reached. All outputs are Off.

Output Status

ValueStatusDescription
0OffThe output channel is switched off.
1OnThe output channel is on and OK.
2RESERVED-
3Soft StartSoft start is currently active on the output channel.
4Override ActiveThe output is being commanded by a configuration override variable.
5Over CurrentThe output channel’s maximum current draw fault has been triggered.
6Over VoltageThe output channel’s voltage has exceeded 18.0 Volts.
7OverloadThe output channel’s maximum load fault has been triggered.
8Short Circuit or Over TempThe output channel’s driver IC has detected either a short circuit or over heated.
9Open CircuitThe output channel is on but there is no current draw.
10Retry LimitThe output channel’s retry limit has been reached. The output is Off.

Input Status

ValueStatusDescription
0Off / InactiveThe input channel’s voltage level IS NOT equal to its active level.
1On / ActiveThe input channel’s voltage level IS equal to its active level.
2PWM Signal LostThe input channel has transitioned from a PWM input to a static signal.
3PWM Signal ActiveThe input channel is measuring an incoming waveform.

Input Level Bitfield

BitInputDescription
0IN10 = Low, 1 = High
1IN20 = Low, 1 = High
2IN30 = Low, 1 = High
3IN40 = Low, 1 = High
4IN50 = Low, 1 = High

Inputs Pins

Input pins (INn) can be used as switch inputs or waveform inputs. Inputs 1-5 have Schmitt trigger circuits and will transition from a low to a high state with a small amount of hysteresis. The inputs are compatible with VR sensor AC waves as long as the voltage levels are high enough to trigger the input thresholds.

Each input can measure the frequency, duty cycle, and pulse width of an input waveform up to 500Hz. These values can be used by any function and/or directed straight to control an output pin(s).

Voltage Measurement

Inputs can measure input voltage of 0-20V. This can be used by any logic function.

On Rev 1 hardware (Serial# < 2000), voltage measurement is only available on IN5.

Digital Thresholds

High Input Threshold: ~2.7 Volts.

Low Input Threshold: ~2.0 Volts.

uPDM4 Input Schmitt Trigger Thresholds uPDM4 Input Schmitt Trigger Thresholds

Input Schmitt Trigger with a +- 3.0V AC waveform input (Yellow). Note the Green trace represents the output of the Schmitt trigger circuit which is inverse to the actual waveform input. The result is inverted by software to represent the true input level.

Input Pullups

All input pins have configurable 4K7 pullups to 5V. When enabled, unloaded input pin voltage will sit at approximately 3.6V.

Configruable pullups are not available on Rev 1 hardware (Serial# < 2000).

Output Pins

Output Pins (OUTn) can supply external loads with a controlled and protected source voltage. Each output is protected against overload, short circuit, over voltage, and over temperature. Fuse current’s can be configured along with retry delays and limits.

Each output driver is rated to capable of 15A continuous load, more in short burst and inrush conditions.

PWM

Each output can be PWM’d at up to 200Hz, allowing current/speed control of load devices such as globes, pumps, and fans.

Warning

Care must be taken when PWM controlling highly inductive loads and external flywheel diodes must be fitted. See the section on DC Motors for details.

Rev 2 Hardware: Frequencies are shared between OUT3 & OUT4.

Rev 1 Hardware: Frequencies are shared between OUT1 & OUT2 as well as between OUT3 & OUT4.

In the case of shared frequency outputs, the OUTn channel requesting the lowest frequency will gain control. Care should be taken to choose appropriate channels for certain tasks.

For example:

  • OUT1 = Left indicator lamps @ 1Hz.
  • OUT2 = Right Indicator lamps @ 1Hz.
  • OUT3 = Fuel pump @ 100 Hz.
  • OUT4 = Thermo Fan @ 100 Hz.

If you were to try to run OUT3 at 100Hz and OUT4 at 200 Hz, both channels will operate at 100Hz.

Device Current Limit

The device maximum current limitation is 65A.

If the current draw exceeds this value for more than 5 seconds, the device total current limit fault will be triggered, and all outputs will turn off.

Short Circuit Protection

In the event of a short circuit between a OUTn channel and GND, a very high current will flow through the device. This current will exceed the output’s hardware over current threshold and the OUTn channel will be switched off.

Over Temp Protection

Any output channel (OUTn) supplying an excessive current load will cause the output driver to heat up. In the event of excessive IC temperature, OUTn will switch OFF. The output will remain off for the duration of the configured Retry Delay time. If the channel’s configured Retry Limit has not been reached, the output will switch back on.

Reverse Battery Protection

Battery voltage is distributed to the µPDM4’s internal circuitry through an array of high current P-Channel MOSFETs. These will block the flow of reverse current to the device itself as well as any load it is supplying.

Over Load Protection

Each output channel (OUTn) calculates a Load value represented in percent. Load is a function of accumulated current draw over time compared to the output’s configured Fuse Current. If the Load figure reaches 100% for more that the output’s configured Fault Delay time, OUTn will switch OFF. The output will remain off for the duration of the configured Retry Delay time. If the channel’s configured Retry Limit has not been reached, the output will switch back on.

Over Current Protection

Each output channel (OUTn) measures a live current draw value represented in amps. If the current draw exceeds the configured Fuse Current by more than 2.0A for more longer than the output’s configured Fault Delay time, OUTn will switch OFF. The output will remain off for the duration of the configured Retry Delay time. If the channel’s configured Retry Limit has not been reached, the output will switch back on.

Soft Start

Outputs can be enabled to utilize a Soft Start function. When the configured OUTn Soft Start Time is non 0, the output will ramp up from its Start Duty value to its final duty cycle over the specified time period. This helps to reduce the inrush current of high draw loads and reduce effects like headlights dimming when fans turn on.

DC Motors (Fans, Pumps, etc.)

When driving high current inductive loads such as thermo fans and pumps it’s recommended to install a large external flywheel diode across the motor terminals. This is particularly important if the motor is to be speed controlled by PWM.

Flywheel Diode Flywheel Diode

Required external flywheel diode for DC motor PWM operation.

When the output switches off, the motor will induce a large negative voltage that the driver IC must try and dissipate. During PWM operation, this happens up to 200 times per second, causing excessive heat to build up in the IC. A diode rated for at least 3A and 50V should suffice. The test below was done with a 1N5404.

Inductive load dump Inductive load dump

100Hz, 50% Duty PWM, no diode fitted. Output channel voltage is subjected to a large negative voltage when the IC switches off.

Inductive load dump with diode Inductive load dump with diode

100Hz, 50% Duty, Diode Installed. The negative voltage spike is largely absorbed.


Device Ratings

ParameterValue
Processor48 MHz, 32 Bit, Cortex M0
CAN1x 2.0A/2.0B/FD
Inputs5x Analogue/Digital
Outputs4x High Side
Minimum operating voltage6.0 V
Minimum operating voltage (cranking)6.0 V
Maximum operating voltage27 V (Software limited to 18 V)
Maximum current draw in OFF state (all outputs OFF, CPU & CAN active)21 mA
Input LOW threshold~2.0 V
Input HIGH threshold~3.0 V
Output typical ON-state resistance (TJ = 25 °C)2.5 mΩ
Output maximum ON-state resistance (TJ = 150 °C)5 mΩ
Output IC nominal rated load current (TA = 85 °C)24 A
Output IC minimum overload detection current65 A
Device total current limit65 A
Minimum operating temperature-40 °C
Maximum operating temperature105 °C
Minimum component automotive qualificationAEC-Q100 Grade 2

Dimensions

uPDM4 Dimensions uPDM4 Dimensions