Skip to main content
Skip table of contents

Configuration

Software and Firmware

PDM Link software can be downloaded at linkecu.com/software-support/. Keep checking for updates to ensure you're using the latest release.

  • Firmware comes bundled with the PDMLink application - it can be accessed in the default location

To update firmware on the PDM, ensure you have downloaded the latest PDM Link software and installed this on your PC, the software contains the latest firmware.

The Software and Firmware versions can be found by selecting Menu>Help>About.

  • Connect the PDM to a PC using the supplied USB-C cable

  • Select Menu>PDM>Firmware

  • Click the 3 dot icon, and navigate to:

    • C:\Program Files (x86)\PDMLink\Resources\Firmware\razorpdm-firmware.img

  • Select the latest version and select Open. This will populate the Upgrade Firmware menu with all versions in the folder

  • Highlight the latest version and select START

Basic Configuration

Selecting View>PDM Configuration will produce the configuration tree on the left-hand side of the page.

The Basic Configuration tab contains the following settings:

  • PDM Name. If more than one PDM is being used this is where the user identifies them for later configuration.

  • PDM Output Enable. This setting is a temporary override that disables all high and low power outputs, while still allowing them to be configured in software.

PDM Setup

This provides a top level overview of the current PDM setup, pin configuration and, status.

Each PDM can be given friendly name

Each pin can be set to one of the various modes supported by that pin type.

Once the pin modes have been defined they will be available in the respective menus, Outputs Pins or Input Pins, for setup.

  • Once a pin has been configured all usages of the pin can be seen in the Connections box

General PDM Configuration

PDM Name

Set a friendly name for the PDM

Global Enable

Global control of output behavior when battery is connected

  • Power Enabled - All outputs will operate as configured when powered on via USB or Ignition Switch

  • Power Disabled - All outputs will be forced to the “Off” state

  • Ignition Switch - All outputs will operate as configured only when the ignition switch is turned on.

The Ignition Switch setting is only present on PDMs with Hardware Version 1.11 or greater

Safety Override

The Safety Override function gives the user the ability to turn off output(s) when a parameter reaches a certain value, no matter what other function is assigned to the same pin.

⭐ Safety also needs to be enabled in the Output/ADIO settings menu for each output you wish to override.

⭐ The output Test Mode will override this function if both have been enabled/turned on.

High Power Output Pins

High Power Output Pin Configuration

Functions

Shows the list of connected function(s). Multiple functions controlling one pin is not normally recommended.

Mode

Sets pin mode

  • High side - only the high side driver is enabled when Active. When Inactive, the pin is a high impedance.

  • Low side - only the low side driver is enabled when Active. When Inactive, the pin is a high impedance.

  • Full bridge - Pair Output 1 and Output 2 (or Output 3 and Output 4) for Full bridge operation.

  • Half bridge - with PWM enabled, works as a push-pull half-bridge driver.

Status

Shows the current status of the pin, and may be used to control subsequent GP Logic, Math or GP Function blocks.

Test Mode

Setting to a test mode (Active or PWM) will turn the output status to active and override any function using this pin.

  • Active - the output status is switched active (100% duty cycle).

  • PWM - the output is switched with a frequency of 100Hz and a 50% duty cycle.

Protection

Mode

Sets fuse mode  

  • Latch Off - persistent cutoff on overcurrent. Requires a setting change or a power cycle to recover.

  • Latch Off Fast - same as Latch Off but instantly shuts down the output when current exceeds 60A.

  • Retry - re-enables the output every 'Retry Time' seconds.

  • Retry Fast - same as Retry but instantly shuts down the output when current exceeds 60A

Inrush Limit + Trip Time + Duration

When the pin switches active, the 'Inrush Limit' will be used for the 'Duration' period. The output will go into a fault state if it exceeds the 'Inrush Limit' for longer than the 'Trip Time'.

When configured as a half/full bridge, 'Duration' is disabled. The Inrush Limit will be continuously monitored.

Overcurrent Limit + Trip Time

Normal fuse trip current in Amps. If a current value higher than 'Overcurrent Limit' is detected for longer than the 'Trip Time' period, the pin will enter a Fault state.

If configured as a high/low side driver, the 'Overcurrent Limit' will only be used after the 'Inrush Duration' has finished.

Retry Limit + Delay

Retry Counter. With 'Retry' Protection Mode enabled, and under fault conditions, the pin will attempt to switch Active, up to 'Retry Limit' times. After 'Retry Limit' attempts, the pin will remain Inactive until a setting is changed or the next power cycle.

Over-Temp Limit

If the PDM reaches an internal temperature greater than the 'Over-Temp Limit', this pin will go into the Fault state.

This feature is used to perform staged thermal shutdown on a pin-by-pin basis, typically activated only for low-priority output pins.

Safety

Set whether or not this output can be turned off by the Safety Override.

  • Disabled - this output will ignore the Safety Override.

  • Enabled - this output will turn off when the Safety Override expression evaluates as true.

ADIO Pins

ADIO Input Mode Configuration

ADIO Output Mode Configuration

Functions

Shows the list of connected function(s). Multiple functions controlling one pin is not normally recommended

Mode

Sets pin mode

  • Input Analog - Continuously reads the analog voltage (0-5V). A digital state value is also maintained using the thresholds set below.

  • Input PWM - Digital input mode with PWM support (frequency and duty cycle measurement) ADIO 5-8 only.

  • Output Logic - When Active, the high side driver is enabled. When Inactive, the pin is a high impedance.

  • Output PWM - When Active, the high side driver pulses according to the frequency and duty cycle set by the connected function. When Inactive, the pin is a high impedance. ADIO 1-4 only

Status

The status output shows the current status of the pin, and may be used to control subsequent GP Logic, Math or GP Function blocks.

Test Mode

Setting to a test mode (Active or PWM) will turn the output status to active and override any function using this pin.

  • Active - the output status is switched active (100% duty cycle).

  • PWM - the output is switched with a frequency of 100Hz and a 50% duty cycle. Note: only ADIOs with PWM functionality will be able to use this test mode.

 

Protection - Active only in Output Mode

Mode

Sets fuse mode

  • Latch Off - persistent cutoff on overcurrent. Requires a setting change or a power cycle to recover

  • Retry - retries every 'Retry Time' seconds

Trip Time

Fuse trip timing in seconds.

When the pin switches to active, if a current value higher than 8A is detected for longer than the 'Trip Time' period, the pin will enter a Fault state

Retry Limit

Retry counter. With 'Retry' Fuse Mode enabled, and under fault conditions, the pin will attempt to switch Active, up to 'Retry Limit' times. After 'Retry Limit' attempts, the pin will remain Inactive until a setting is changed or the next power cycle

Delay

Retry delay. With 'Retry' Fuse Mode enabled, and under fault conditions, the pin will wait for 'Delay' seconds before trying to switch active again.

Over-Temp Limit

If the PDM reaches an internal temperature greater than the 'Over-Temp Limit', this pin will go into the Inactive state.

This feature is used to perform staged thermal shutdown on a pin-by-pin basis, typically activated only for low-priority output pins.

Safety

Set whether or not this output can be turned off by the Safety Override.

  • Disabled - this output will ignore the Safety Override.

  • Enabled - this output will turn off when the Safety Override expression evaluates as true.

Input Setup - Active only in Input Mode

Pullup

Enables an internal 4.7k pullup resistor, to sensor 5V.

High Threshold + Duration

When the pin voltage exceeds Threshold High (V) for at least Duration (s), the pin state is set to Active.

⭐When an ADIO is set as an output, the input voltage is fixed at 0V.

Low Threshold + Duration

When the pin voltage is less than Threshold Low (V) for at least Duration (s), the pin state is set to Inactive.

⭐When an ADIO is set as an output, the input voltage is fixed at 0V.

Control Function Setup

This is where the configured pins are connected to each other. 

This is where the pins can be turned on and off manually. You can use this to:

  • Test outputs, and set pins to come on and stay on when the ignition is turned on.

Simply select output pin and state. Frequency and Duty Cycle can also be adjusted. 

Manual Control Configuration

Output Pin

Choose which pin to turn on. This will overwrite all settings made previously.

State

Set to active to turn on, Inactive to turn off.

Frequency

Set desired frequency

Duty Cycle

Set desired duty cycle
⭐ If set to 100% the output will remain constantly on

GP Logic

GP Logic blocks allow a pin to be controlled directly by the combination of up to 4 input parameters, according to an Expression and the resulting Status value. The expression has a 40-character limit.

  • If no pin is selected (Output Pin is set to None), then the Status of the GP Logic block may be used in other GP Logic, GP Function or Math Blocks to create more complex functions.

The standard "Math Block Expression Syntax" as found in the Link G4x, is used to connect the parameters. For example:

  • a results in logic parameter A being returned in the Status output

  • a&b results in the combination of logic parameters A AND B being returned in the Status output

  • a|b results in the combination of logic parameters A OR B being returned in the Status output

  • a&!b results in the combination of logic parameters A AND (NOT B) being returned in the Status output

  • (a&b)|(c&d) results in the combination of logic parameters (A AND B) OR (C AND D) being returned in the Status output

GP Logic Configuration

Output Pin

Choose which pin to control. If not set, the GP Logic block may be used via its Status output.

Status

Shows the Status of the Expression

Expression

An Expression Math Block Expression Syntax. The value of parameters below may be referenced via the variables a, b, c and d

Parameter A

Evaluates the selected parameter, operator and value, resulting in a True/False value stored in variable a

Parameter B

Evaluates the selected parameter, operator and value, resulting in a True/False value stored in variable b

Parameter C

Evaluates the selected parameter, operator and value, resulting in a True/False value stored in variable c

Parameter D

Evaluates the selected parameter, operator and value, resulting in a True/False value stored in variable d

GP Logic Editor

Any GP Logic Expression can be edited directly using the expression box or by using this text-based editor.

The editor can be opened by clicking the button to the left of the Expression input listed above.

 

Expression

A Logic Block Expression Syntax. The value of parameters below may be referenced via the variables a, b, c and d. Uses the same logical syntax as a Math Block.

+

Add a new operator after the selected location

-

Remove the selected operator from the expression

GP Functions

GP Function blocks allow a pin to be controlled directly by a GP Logic, CAN Stream, CAN Keypad, or Math block via its Condition Parameters.

GP Function Configuration

Output Pin

Choose which pin to control

Condition Parameters

Select a status variable, an operator and a value. The resulting status controls the Output pin

  • The second Value field is used for the "Between" and "Outside" operators

Holdoff

Sets a delay time. Waits this many seconds before changing the output State to Active.

Pulse

The condition must evaluate to False for at least the Pulse time before the Inactive state is set on the Output

Freq Param

When not None, sets the output PWM frequency cycle to the value set by the selected parameter. In this case, the Freq Value setting is not used.

Freq Value

When Freq Param is None, sets a fixed frequency PWM output.

Duty Param

When not None, sets the output PWM frequency cycle to the value set by the selected parameter. In this case, the Duty Value setting is not used.

Duty Value

When Duty Param is None, sets a fixed Duty Cycle PWM output.

Set to 100% to make the Output pin follow the Condition Status.

 

Timers

Timers are used to generate low-speed output pulses or generate timing count values which may be used by GP Logic, GP Function or Math blocks to perform complex timed functions.

Timer Configuration

Output Pin

Choose which pin to control. If not set, the timer may be used via its Status output.

Status

Timer status:

  • Inactive when timer is not triggered.

  • Remains Inactive after trigger until the holdoff period has expired, then becomes Active.

  • In Latch mode, remains Active indefinitely.

  • In Pulse mode, pulses for the Pulse duration, while the trigger condition is met.

Mode

Sets the timer mode:

  • Latch Mode - Upon trigger, start Counting. After 'Holdoff' time, State becomes Active.

  • Pulse Mode - same as Latch mode but Cycles with Holdoff/Pulse timing.

  • After activation, the next trigger resets the Count and State to Inactive.

Time

Time in seconds since trigger. Rolls over to 0 every Holdoff + Pulse timing period.

Trigger

When the logical expression (Parameter, Operator, Value) results in an Active status result, the timer is triggered.

⭐Edge operators function upon a parameter change.

Holdoff

Time to wait before going to the Triggered/Active state.

Pulse

Time to wait before going to the Inactive state after a successful trigger.

Count

The count of pulses generated by the timer.

Counter Reset 

Select a parameter, operator and value that, when evaluated as true, reset the Timer Count

Math Blocks

Math blocks are the most powerful Arbitrary Math and Logic Block available. The math block runs a language processor that can evaluate many C language operators and functions. The expression has a 40 character limit.

  • Math AND Logic expressions may be combined.

  • Many special functions are available. See the Math Block Expression Syntax guide below.

Math Block Configuration

Expression

A Math Block Expression Syntax. The value of parameters below may be referenced via the variables a, b, c and d

Status

Indicates the result of the Expression. For math expressions, the Status is a number. For logical expressions, the Status is reduced to the values 0, or 1.

Error

When the Error is not 0, the Expression has resulted in an error or cannot be computed. This happens most often when the expression is invalid.

Parameter A

the selected parameter value is stored in variable a

Parameter B

the selected parameter value is stored in variable b

Parameter C

the selected parameter value is stored in variable c

Parameter D

the selected parameter value is stored in variable d

Math Expression Viewer

Math and Logic Expressions can be viewed in a graphic form by clicking to the left of the expression input.

Each block represents a component of the expression and allows a visual overview of any expression

Math and Logic Expression viewer

Math Block Expression Syntax

All Math and Logic blocks support the following functions set.

  • Parameters a, b, c and d reflect the current value of any ECU runtime value.

  • The equation is calculated at a rate of 1kHz.

  • The equation may contain any combination of math functions, up to 20 characters.

  • Parameters are sampled at the time of calculation.

In the tables below:

  • param/param1/param2 may be set to any of parameters a, b, c or d.

  • param/param1/param2 may be set to any number value.

Logic Operators

Function

Syntax

Example

Description

! (not)

!param

!1 = 0

!100.1 = 0

!0 = 1

!a results in 0 if a is not zero, and 1 if a is zero.

& (and)

param1&param2

5&9 = 1

5&0 = 0

a&b results in 0 if either a or b is zero, otherwise 1.

 

| (or)

param1|param2

5|9 = 1

5|0 = 1

a|b results in 1 if either a or b is 1, otherwise 0.

^ (xor)

param1^param2

5^9 = 0

5^0 = 1

0^1 = 1

0^0 = 0

a^b results in 1 if one of a or b is non zero, otherwise 0 if a and b are both 0 or both non zero.

= (equal)

== (equal)

param1=param2 or

param1==param2

 

a=b results in 1 if a and b are equal

a==b is equivalent to a=b

!= (not equal)

param1!=param2

 

a!=b results in 1 if a and b are NOT equal

> (greater than)

param1>param2

5>9 = 0

5>0 = 1

a>b results in 1 if a is greater than b, otherwise 0.

 

< (less than)

param1<param2

5<9 = 1

5<0 = 0

a<b results in 1 if a is less than b, otherwise 0.

>= (greater than or equal)

param1>=param1

5>=5 = 1

5>=0 = 1

5>=6 = 0

a>=b results in 1 if a is greater than or equal b, otherwise 0.

 

<= (less than or equal)

param1<=param2

5<=5 = 1

5<=0 = 0

5<=6 = 1

a<=b results in 1 if a is less than or equal to b, otherwise 0.

Math Operators

Function

Syntax

Example

Description

  • (multiply)

param1*param2

5*9 = 45

a*b results in the multiplication of parameters a and b.

/ (divide)

param1/param2

5/9 = 0.556

a/b results in parameter a divided by parameter b.

 

% (modulus)

param1%param2

4%5 = 4

5%5 = 0

6%5 = 1

a%b results in the modulus of parameters a and b. Modulus computes the remainder of a divided by b.

  • Modulus is used to make a value count up, wrap around and start again.

if parameter a is counting up continuously, 0,1,2,3,4,5,6,7,8,9 ...

then a%4 results in 0,1,2,3,0,1,2,3,0,1,2,3 ...

the example (int(t)%4)+1 results in  1,2,3,4,1,2,3,4,1,2,3,4... on a count of 1 per second

 

+ (add)

param1+param2

5+9 = 14

a+b results in the addition of parameters a and b.

  • (subtract)

param1-param2

5-9 = -4

a-b results in the subtraction of parameters a and b.

() (braces)

param1*(param2+param3)

10*(287+1000) = 12870

10*287+1000 = 3870

Controls the order of precedence in calculations.

Special Functions

Function

Syntax

Example

Description

if

if(param, then, else)

if(a>4, b, b*5)

= b if a>4

=b*5 otherwise

returns the "then" value if the "param" value is true, otherwise results in the "else" value.

Any number of if() statements can be added to an expression.

peak

pk(param, timeout)

pk(a, 1.0)

Holds the peak value of parameter a. if the value of parameter a.

does not change within the timeout (in seconds) the peak is set to the current value of a. If the timeout is 0, the peak is held indefinitely.

  • Only one 'pk' function may be used per equation.

delta

dt(param, time)

dt(a, 1.0)

Holds the delta value of parameter a, taken over the time specified (in seconds).

  • Only one 'dt' function may be used per Math Channel.

average

av(param, time)

av(a, 1.0)

Holds the average value of parameter a, taken for 20 evenly spaced samples over the time specified (in seconds).

  • Only one 'av' function may be used per Math Channel.

time

t

 

Holds the value of time in seconds since PDM startup.

Counter

cnt(param)

cnt(a)

Tree running time counter. Starts counting up, once per 10 milliseconds, as long as parameter a is not 0. When parameter a is 0, the counter is reset to 0.

  • Only one 'cnt' function may be used per Math Channel.

edge

ed(param1, param2)

ed(a, b)

Edge counter. Counts rising edges on parameter a, as it passes from less than 1 to greater than or equal to 1. When parameter b is 0, the counter is reset to 0.

  • Only one 'ed' function may be used per Math Channel.

Numeric Functions

Function

Syntax

Example

Description

integer

int(param)

int(1.1) = 1

int(t) = time in seconds (without decimal)

removes the decimal places from parameter, resulting in an integer.

bool

bool(param)

bool(2.5) = 1

bool(0) = 0

Forces any number or result value that is not 0, to 1. otherwise returns 0.

min

min(param1, param2)

min(a, b)

results in the value of a or b, whichever is smallest.

max

max(param1, param2)

max(a, b)

results in the value of a or b, whichever is largest.

compare

cmp(param1, param2)

cmp(a, b)

results in:  -1 if a < b, 1 if a > b, 0 if a = b

round

round(param, decimals)

round(1.01258, 2) = 1.01

results in the value of the parameter, rounded to the number of decimals specified.

Absolute value

abs(param)

abs(-25.6) = 25.6

abs(25.6) = 25.6

abs(a) results in a positive number no matter if a is positive or negative.

ceiling

ceil(param)

ceil(-25.6) = -25

ceil(25.6) = 26

ceil(a) results in the smallest integer that is greater than or equal to a (i.e : rounds up to the nearest integer).

floor

floor(param)

floor(-25.6) = -26

floor(25.6) = 25

floor(a) results in the smallest integer that is smaller than or equal to a (i.e : rounds down to the nearest integer).

exponential

exp(param)

exp(6) = 403.428

exp(a) results in the value of e (Euler's number), to the power of a.

logarithm, natural

ln(param)

ln(2) = 0.693

ln(a) results in the natural log of a.

logarithm, base 10

log(param)

log(2) = 0.301

log(a) results in the log base 10 of a.

power

pow(param1, param2)

pow(6, 2) = 36

pow(a, 2) results in a to the power of 2.

square root

sqrt(param)

sqrt(25) = 5

sqrt(a) results in the square root of a.

cosine

cos(param)

cos(pi) = -1

cos(a) results in the trigonometric cosine of a.

sine

sin(param)

sin(pi) = 0

sin(a) results in the trigonometric sine of a.

tangent

tan(param)

tan(pi) = 0

tan(a) results in the trigonometric tangent of a.

power

pow(a, b)

pow(a, 2)

pow(a, 2) results in the value of parameter a being raised to the power of 2. If a=4, the result would be 16.

constant, e

e

e = 2.71828

Euler's number, a special constant

constant, pi

pi

pi = 3.14159

Pi, a special constant.

PID Controllers

PID Controllers provide powerful position and rate control over DC motors, Linear motors, and Solenoids  - applications may include Throttle body and e-Wastegate controllers.

PID Block Configuration

The output pin setting selects the output pin that is to be used.

Inputs

Feedback

PID Feedback input signal. Connect to an input pin, for example, ADIO1 State > Voltage, or a control parameter such as Math Block 1 > Result. Any PDM control parameter may be used.

FB Value

Monitor the feedback signal value - normalized from 0-100%

Error Value

Monitors PID target error value - from 0-100%

Setpoint

PID Setpoint input signal. Connect to an input pin, for example, ADIO1 State > Voltage, or a control parameter such as Math Block 1 > Result. Any PDM control parameter may be used.

SP Value

Monitors Setpoint signal error value- normalized from 0-100%

Input Conditioning

FB Fault High

Signals a fault if the feedback input value exceeds 'FB Fault High'

FB Fault Low

Signals a fault if the feedback input value exceeds 'FB Fault Low'

FB Cal High

PID feedback (0-100%) is the ratio of 'FB value' as it falls between 'FP Cal High' (100%) and 'FP Cal Low' (0%)

FB Cal Low

PID feedback (0-100%) is the ratio of 'FB value' as it falls between 'FP Cal High' (100%) and 'FP Cal Low' (0%)

SP Max Rate

Maximal rate of change allowed on the setpoint input. If the setpoint input rises or falls at a greater rate than specified, then the rate of change is limited by the PID controller. This translates to the level of smoothing noted on the output PWM signal.

SP Filter

The degree of filtering applied on the setpoint input.

PID Setup

P, I, D

Proportional, Derivative and Integral gain coefficients.

Feedforward

Feed-forward gain value

Deadband

Setpoint deadband. No PID response will be actioned while the change in setpoint is inside the deadband.

PWM Setup

Frequency

Frequency of PID PWM output signal (Fixed)

Duty Max

The maximum duty cycle of PID PWM output signal from 0-100%

Duty Min

The minimum duty cycle of PID PWM output signal from 0-100%

CAN Setup

The Razor PDM can communicate directly with any current Link ECU and with up to 3 other Razor PDMs. Third party ECUs can be configured to communicate with a Razor PDM using the CAN Streams outlined below.

ECU Setup

When connecting to a Link ECU, set up the ECU CAN as per the PCLink helpfile. G4X ECU Tuning Functions > CAN > Link Razor PDM 

Ensure the latest version of PCLink is being used (V6.23 or later) and ensure the latest firmware has been installed.

  • Select User Defined and in one of the channels select Link Razor PDM.

  • Choose an ID that is not being used and a transmit rate.

  • CAN Bus ID is in Decimal format.

There will be 5 IDs used. The one chosen and the four consecutive numbers following that ID.

ID = ECU transmit, ID + 1 = PDM1 IO Status, ID + 2 = PDM1 Keypad Counts, ID + 3 = PDM2 IO Status, ID + 4 = PDM2 Keypad Counts. This allows for up to 2 PDMs connected to the same Link ECU.

12 new runtimes (6 per PDM) have been added for currents, fault flags and status flags received by the ECU from the PDM. 

CAN Aux 1 -16 are used to control the outputs on the PDM.

To setup a Link ECU to transmit the CAN Aux runtimes and receive basic PDM data:

  1. Open the CAN Setup window (PCLink > ECU Controls > CAN Setup).

  2. Select the CAN module to be used

  3. Set the Mode to 'User Defined'.

  4. Configure the Bit Rate to the same Bit Rate as the PDM (Often 1 Mbit/s).

  5. Select a spare CAN channel

  6. Select 'Link Razor PDM' from the Mode drop-down menu.

  7. Set the CAN ID to an appropriate spare Id, the selected ID doesn't matter as long as the PDM is set to match and the next 4 CAN Ids are free (e.g. if Id 500 is used 501 to 504 must also be free and unused).

  8. Set the Transmit Rate to 20Hz, this controls the rate at which the CAN Aux information is transmitted by the ECU, faster or slower rates can be used if desired.

  1. Click Apply and then OK.

  2. Make sure a Store (F4) is performed.

To setup a Link ECU to use one or more of the Razor PDM's ADIO channels or Keypad Functions as an ECU CAN input:

  1. In PCLink connect to the ECU and open CAN -> PDM 1 in the ECU settings menu (or PDM 2, PDM 3 or PDM 4 depending on which PDM the input is coming from).

  2. Select the appropriate ADIO or Keypad Function's setting and set it to an unused CAN Freq, CAN An or CAN DI input.

  3. If all of the above CAN setups have been done correctly the selected CAN input should now show the status or value of the ADIO or Keypad function.

Note: Only ADIO 5-8 can be used as Frequency inputs.

Note: For CAN Keypad Functions a value of 1 or more is considered active when a CAN DI is selected.

PDM Setup

CAN Setup Configuration

Termination

Turns the PDM's terminating resistor On/Off.

Bus Data Rate

Sets the data rate of the PDM CAN bus. The data rate needs to be the same on all devices connected to the same bus.

CAN Channel Setup

This is the starting point when setting up CAN on the Razor PDM. Currently, these channels can be used to receive or transmit, depending on the Mode, CAN streams that are detailed below. 

Label

Whatever you wish to call each CAN Channel. By default they are set as CAN Channel 1 - 10.

Mode

Sets the CAN Channel Mode:

  • None - this channel will do nothing

  • CAN Function - a receive mode that gets Status, Frequency and Duty Cycle values that can be used to control PDM Outputs

  • IO Status - a fixed transmit stream that sends Status, Frequency, Duty Cycle, Current and Voltage values of the PDM IO pins

  • Keypad 1 - used to control a CAN keypad

  • Keypad 2 - used to control a second CAN keypad

  • Keypad Counts - a fixed transmit stream that sends the 'Counts' of every configured keypad button

  • Rx Keypad Count - receive a fixed ‘Keypad Counts’ stream from another PDM

  • Rx PDM1 IO Status - receive a fixed ‘IO Status’ stream from another PDM

  • Rx PDM2 IO Status - receive a fixed ‘IO Status’ stream from another PDM

  • Rx PDM3 IO Status - receive a fixed ‘IO Status’ stream from another PDM

CAN ID

The CAN ID the channel will send every message on

Transmit Rate

How often the PDM will transmit the chosen message(s). This option is not required for receive steams.
Note: this is different to the Bus Data Rate.

CAN Function Setup

Setting a channel to the CAN Function mode allows the PDM to receive Status, Frequency and Duty cycle settings for an Output. The structure of the CAN stream is detailed below.
To use all of the CAN Functions, just set one CAN Channel to the CAN Function Mode. Any Output can be used with any CAN Function.

The easiest way to use CAN Functions is with a Link ECU but any device capable of transmitting over CAN can be used 

CAN Function Configuration

Output Pin

The Output pin directly controlled by this CAN Function. If an Output is selected in this list, its Status, Frequency and Duty Cycle will change according to the received values. Alternatively, you can feed the received CAN values (Status, Freq, Duty) into other functions such as Math Blocks or PID control.

Status

Status value received from the incoming CAN message. Inactive=0, Active=1, Off=2, Fault=3

Frequency

Frequency value received from the incoming CAN message.

Duty Cycle

Duty Cycle value received from the incoming CAN message.

Compound ID

The Compound ID in the first byte, used to choose which frame in the CAN stream to use. For example, the Link ECU PDM CAN stream will send CAN Aux 1 information with a compound ID of 0.

Fault State

State the CAN Function will change to if a CAN message has not been received for 2 seconds (and at least one has been received since power up).

Fault Frequency

Frequency the CAN Function will change to if a CAN message has not been received for 2 seconds (and at least one has been received since power up). 

Fault Duty Cycle

Duty Cycle the CAN Function will go to if a CAN message has not been received for 2 seconds (and at least one has been received since power up).

To setup the Link Razor PDM to receive the CAN Aux information:

  1. Open PDMLink and connect to the PDM (F3 or PDM dropdown menu -> Connect).

  2. Open CAN Setup -> Basic CAN Configuration

  3. Configure the Bit Rate to match the ECU (Often 1 Mbit/s).

  4. Open CAN Setup -> CAN Channels.

  5. Select a spare CAN channel.

  6. Select 'CAN Function' from the Mode drop-down menu.

  7. Set the CAN ID to match the 'Link Razor PDM' Id in the ECU CAN Setup.

  8. Set the Transmit Rate to None, this Mode only receive's data from the ECU and doesn't transmit any data.

  9. Make sure a Store (F4) is performed.

  10. Further setup is required in PDMLink to assign CAN Aux's from the ECU to CAN Function's in the Razor PDM before they can be used to control outputs. See GP Functions.

To setup the Link Razor PDM to transmit Pin Status and Current flow information to a Link ECU:

  1. Open PDMLink and connect to the PDM (F3 or PDM dropdown menu -> Connect).

  2. Open CAN Setup -> Basic CAN Configuration

  3. Configure the Bit Rate to match the ECU (Often 1 Mbit/s).

  4. Open CAN Setup -> CAN Channels.

  5. Select a spare CAN channel.

  6. Select 'IO Status Stream' from the Mode drop-down menu.

  7. Set the CAN ID the ECU's 'Link Razor PDM' Id +1 if this PDM 1 in the ECU, +3 if this is PDM 2 in the ECU, +5 if this is PDM 3 in the ECU or +7 if this is PDM 4 in the ECU (e.g. if the ECU's 'Generic PDM' Id is 500 use Id 501 for PDM 1, Id 503 for PDM 2, Id 505 for PDM 3 or Id 507 for PDM 4).

  8. Set the Transmit Rate to 20Hz, faster or slower rates can be used if desired.

  9. Make sure a Store (F4) is performed.

  10. Current and pin status information should now show up in the ECU, these runtime values and statuses are explained more in the ECU Helpfile.

To setup the Link Razor PDM to transmit CAN Keypad states and values to a Link ECU:

  1. Open PDMLink and connect to the PDM (F3 or PDM dropdown menu -> Connect).

  2. Open CAN Setup -> Basic CAN Configuration

  3. Configure the Bit Rate to match the ECU (Often 1 Mbit/s).

  4. Open CAN Setup -> CAN Channels.

  5. Select a spare CAN channel.

  6. Select 'Keypad Counts' from the Mode drop-down menu.

  7. Set the CAN ID the ECU's 'Link Razor PDM' Id +2 if this PDM 1 in the ECU, +4 if this is PDM 2 in the ECU, +6 if this is PDM 3 in the ECU or +8 if this is PDM 4 in the ECU (e.g. if the ECU's 'Generic PDM' Id is 500 use Id 502 for PDM 1, Id 504 for PDM 2, Id 506 for PDM 3 or Id 508 for PDM 4).

  8. Set the Transmit Rate to 20Hz, faster or slower rates can be used if desired.

  9. Make sure a Store (F4) is performed.

  10. The PDM's keypad data can now be used via CAN DIs or CAN Analog inputs as selected in the PDM's Keypad function settings.

 

Keypad Setup

Keypad Settings

Up to two CAN Keypads can be used on a Razor PDM. The list of supported models are detailed below.

Keypad Settings Configuration

 

Keypad Model

The model of the CAN Keypad. Changing the model will allow different numbers of buttons to be used e.g. a 5 button keypad will let you choose the function on buttons 1 - 5

Button

Choose which Keypad Function is used to control each button on the keypad.

Keypad Function

A Keypad Function determines how a button on the CAN keypad behaves.

There are 16 functions in total which can be used entirely on one keypad, or shared across two. Each function can have its label changed to describe its use.

 

Keypad Function Configuration

Max Count

This button counts up once per press and rolls over to 0 at Max Count.

  • For momentary switch mode, set Max Count to 0

  • For toggle switch mode, set Max Count to 1

  • For increment/decrement/count switch mode, set Max Count to greater than 1

Count

Count holds the number of presses

Status

Status is Active only when the button is pressed.

Rollover

Select if the count should rollover once reaching ‘Max Count’ while incrementing or 0 while decrementing

LED Parameter

Parameter that determines which LED state to use for visual feedback.

LED Colour

Sets the button colour/state that is shown when the LED Parameter is equal to a number from 0 to 7.

Reset Expression

Select a parameter, operator and value that, when evaluated as true, reset the Keypad Function Count

Set Expression

Select a parameter, operator and value that, when evaluated as true, increment or decrement the Keypad Function Count. Allows two buttons to increment/decrement a single count.

Set Mode

Determines whether the Set Expression increments or decrements the count.

CAN Stream Structure

The tables below describe how the data in CAN streams on the PDM are transmitted and received on the Link Razor PDM. This information is useful when interacting with a device that does not have built in Link Razor PDM functionality.

The structure used is based on the CAN Channel Mode. All data is sent/received with the most significant byte first.

CAN Function

Byte 0 (Unsigned)

Byte 1 (Unsigned)

Byte 2 & 3 (Unsigned)

Byte 4 & 5 (Unsigned x100)

Byte 6 & 7

Compound ID

Status

Frequency (Hz)

Duty Cycle (%)

Unused

IO Status

Frame Number

Byte 0 (Unsigned)

Byte 1 (Unsigned)

Byte 2 (Unsigned)

Byte 3 (Unsigned)

Byte 4 & 5 (x100)

Byte 6 & 7 (Signed x100)

Frame 1

0

HP Output 1 Status

HP Output 1 Frequency (Hz)

HP Output 1 Duty Cycle (%) (Signed)

HP Output 1 Current (A)

Frame 2

1

HP Output 2 Status

HP Output 2 Frequency (Hz)

HP Output 2 Duty Cycle (%) (Signed)

HP Output 2 Current (A)

Frame 3

2

HP Output 3 Status

HP Output 3 Frequency (Hz)

HP Output 3 Duty Cycle (%) (Signed)

HP Output 3 Current (A)

Frame 4

3

HP Output 4 Status

HP Output 4 Frequency (Hz)

HP Output 4 Duty Cycle (%) (Signed)

HP Output 4 Current (A)

Frame 5

4

ADIO 1 Status

ADIO 1 Frequency (Hz)

ADIO 1 Duty Cycle (%) (Unsigned)

ADIO 1 Voltage (V)

Frame 6

5

ADIO 2 Status

ADIO 2 Frequency (Hz)

ADIO 2 Duty Cycle (%) (Unsigned)

ADIO 2 Voltage (V)

Frame 7

6

ADIO 3 Status

ADIO 3 Frequency (Hz)

ADIO 3 Duty Cycle (%) (Unsigned)

ADIO 3 Voltage (V)

Frame 8

7

ADIO 4 Status

ADIO 4 Frequency (Hz)

ADIO 4 Duty Cycle (%) (Unsigned)

ADIO 4 Voltage (V)

Frame 9

8

ADIO 5 Status

ADIO 5 Frequency (Hz)

ADIO 5 Duty Cycle (%) (Unsigned)

ADIO 5 Voltage (V)

Frame 10

9

ADIO 6 Status

ADIO 6 Frequency (Hz)

ADIO 6 Duty Cycle (%) (Unsigned)

ADIO 6 Voltage (V)

Frame 11

10

ADIO 7 Status

ADIO 7 Frequency (Hz)

ADIO 7 Duty Cycle (%) (Unsigned)

ADIO 7 Voltage (V)

Frame 12

11

ADIO 8 Status

ADIO 8 Frequency (Hz)

ADIO 8 Duty Cycle (%) (Unsigned)

ADIO 8 Voltage (V)

Frame 13

50

PDM Temperature (+50)

PDM Voltage (x10)

Unused

Unused

Unused

Keypad Counts

Frame Number

Byte 0 (Unsigned)

Byte 1 (Unsigned)

Byte 2 (Unsigned)

Byte 3 (Unsigned)

Byte 4 (Unsigned)

Byte 5 (Unsigned)

Byte 6 (Unsigned)

Byte 7

Frame 1

0

Keypad Function 1 Count

Keypad Function 2 Count

Keypad Function 3 Count

Keypad Function 4 Count

Keypad Function 5 Count

Unused

 

Frame 2

1

Keypad Function 6 Count

Keypad Function 7 Count

Keypad Function 8 Count

Keypad Function 9 Count

Keypad Function 10 Count

Unused

 

Frame 3

2

Keypad Function 11 Count

Keypad Function 12 Count

Keypad Function 13 Count

Keypad Function 14 Count

Keypad Function 15 Count

Keypad Function 16 Count

 

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.