OVERVIEW
This is a document to support the M1 PDM CAN communications template available for the MoTeC PDM units.
This document relates to the use of GP version built using the 1.4 version of firmware.
In this document the naming convention is that an input channel or function uses capitalisation in the channel name, and outputs use all lowercase.
PDM CAN COMMUNICATIONS LIMITATIONS
Due to the 8bit nature of the CAN Bus communications between the M1 and PDM, some compromises have to be made in the availability and resolution of the data transmitted. This is explained further in the following examples.
The maximum value that can be expressed using an 8bit number in the manner that it is used in the PDM communications is 255; this produces limitations in the expression of larger numbers. The data will also always be whole numbers, with no decimal points being used in the PDM.
TEMPLATE LAYOUT – STANDARD CHANNELS
These are the standard channels that are transmitted to the PDM in the GP Packages. These channels are hard coded into the CAN transmit templates and cannot be changed.
The order that the CAN Channels are listed in this template is the same order as they are received by the PDM, and for ease of support it is recommended that they are left in this order. Changing any of the Data Size, CAN Address, Offset, Byte Order, Bit Mask, Divisor or Timeout Value settings will result in the communications template no longer working.
SELECTABLE OUTPUT RESOURCE CHANNELS
In the current M1 packages, there was a change made to how Output Resources where used, one of these being that the previously hard-coded CAN messages for the 11A CAN Message space have been removed, and are now able to be allocated via the use of the Output Resource allocation drop down list. This means that the CAN Input programming in the PDM needs to be modified if upgrading from V1.3, or the resource Allocation redone to match the existing template. This can lead to CAN errors being reported in the PDM as it will be expecting channels to be present in the message stream that are not available.
To resolve this issue, the relationships between the Resources allocated in the M1 and the CAN Inputs needs to be followed.
| M1 Resource Name | System 106 only | PDM CAN Message | Offset | Data size | Mask |
| PDM Byte 0 Mask 01 | PDM Output 7 | 0x11A | Byte 0 | 8 bit | 01 |
| PDM Byte 0 Mask 02 | PDM Output 6 | 0x11A | Byte 0 | 8 bit | 02 |
| PDM Byte 0 Mask 04 | PDM Output 5 | 0x11A | Byte 0 | 8 bit | 04 |
| PDM Byte 0 Mask 08 | PDM Output 4 | 0x11A | Byte 0 | 8 bit | 08 |
| PDM Byte 0 Mask 10 | PDM Output 3 | 0x11A | Byte 0 | 8 bit | 10 |
| PDM Byte 0 Mask 20 | PDM Output 2 | 0x11A | Byte 0 | 8 bit | 20 |
| PDM Byte 0 Mask 40 | PDM Output 1 | 0x11A | Byte 0 | 8 bit | 40 |
| PDM Byte 0 Mask 80 | PDM Output 0 | 0x11A | Byte 0 | 8 bit | 80 |
| PDM Byte 1 Mask 01 | PDM Output 15 | 0x11A | Byte 1 | 8 bit | 01 |
| PDM Byte 1 Mask 02 | PDM Output 14 | 0x11A | Byte 1 | 8 bit | 02 |
| PDM Byte 1 Mask 04 | PDM Output 13 | 0x11A | Byte 1 | 8 bit | 04 |
| PDM Byte 1 Mask 08 | PDM Output 12 | 0x11A | Byte 1 | 8 bit | 08 |
| PDM Byte 1 Mask 10 | PDM Output 11 | 0x11A | Byte 1 | 8 bit | 10 |
| PDM Byte 1 Mask 20 | PDM Output 10 | 0x11A | Byte 1 | 8 bit | 20 |
| PDM Byte 1 Mask 40 | PDM Output 9 | 0x11A | Byte 1 | 8 bit | 40 |
| PDM Byte 1 Mask 80 | PDM Output 8 | 0x11A | Byte 1 | 8 bit | 80 |
| PDM Byte 2 Mask 01 | PDM Output 23 | 0x11A | Byte 2 | 8 bit | 01 |
| PDM Byte 2 Mask 02 | PDM Output 22 | 0x11A | Byte 2 | 8 bit | 02 |
| PDM Byte 2 Mask 04 | PDM Output 21 | 0x11A | Byte 2 | 8 bit | 04 |
| PDM Byte 2 Mask 08 | PDM Output 20 | 0x11A | Byte 2 | 8 bit | 08 |
| PDM Byte 2 Mask 10 | PDM Output 19 | 0x11A | Byte 2 | 8 bit | 10 |
| PDM Byte 2 Mask 20 | PDM Output 18 | 0x11A | Byte 2 | 8 bit | 20 |
| PDM Byte 2 Mask 40 | PDM Output 17 | 0x11A | Byte 2 | 8 bit | 40 |
| PDM Byte 2 Mask 80 | PDM Output 16 | 0x11A | Byte 2 | 8 bit | 80 |
When you enter these values into the CAN Input Properties in PDM Manager, this is how it looks.
CHANNEL VALUES AND RESOLUTION
The CAN data values that are transmitted on the 0x11A address range are sent as a compound message, and are read as being either on or off by the PDM, if the value that the PDM is displaying in the monitor program is greater than 0 then the value is being transmitted by the M1 as being enabled on the M1, if it is 0 then the function on the M1 is in a disabled state. These values will be reported by the PDM in the Monitor window as values based on their location in the CAN message, and do not have any effect on the actual operation of the function on the PDM.
As per the CAN Input Properties for the two resources shown above, the reported values for the two CAN channels matches that of their Mask Value. If the resource is not enabled in the M1, then the value reported is 0.
M1 CONFIGURATION
To get these functions to operate properly in the M1 and to generate the correct CAN messaging for the PDM, the functions must be setup in the M1 in the same manner as if they were directly controlling the output, this means that they must have a resource allocated to the relevant output for that function, i.e. Coolant Fan 1 in the M1 has to have the Coolant Fan 1 Output Resource populated with a relevant output, such as PDM Byte 0 Mask 01 for this to work.
PDM CAN COMMUNICATIONS REQUIREMENTS
The user needs to ensure that the CAN Inputs in the Global Setup are set to the default settings in the base configuration that is installed on the PDM when shipped from MoTeC. These are shown in the two screen captures shown below.
If the Message 0, 1 and 2 address configuration is different from this then the standard template will not work. If the user clicks on the Restore Defaults button the settings are reset back to these settings, but the addresses are disabled.
These need to be restored back to being Standard messages by selecting the option of Standard from the dropdown list.
CONFIGURING PDM OUTPUTS TO USE CAN CHANNELS
The CAN channels into the PDM can be used in different ways, either directly controlling the output, or by being filtered through a PDM function.
Both ways for controlling the output can be used, but typically if you have an output from the ECU that has settings that control how that outputs functions, for example thermo fans, then setting up the PDM output to be directly switched by the CAN channel is the better way to control that output.
If the output does not have controls within the ECU function that allow for setting hysteresis values or other controls, then the use of a function can make it easier to control the output in the most effective manner. This can also be used where the ECU output may have hysteresis values, but other controls are also wanted on the output.
Direct Control
This is a simple direct control of the fuel pump, where the PDM output goes active when the CAN channel from the M1 goes active, all the control functionality is performed in the M1 and the PDM is essentially acting as a switch.
Using Functions to control outputs
This is a function setup to drive a transmission cooler pump; the transmission pump function in the M1 has a temperature hysteresis function, and is used in this example, which is why the CAN.Transmission.Temperature condition is a simple condition switch. The use of CAN.Vehicle.Speed as another condition that needs to be true for the PDM output to switch to active, in this function it is set that the pump will not turn on until the CAN.Transmission.Temperature condition is active, and the CAN.Vehicle.Speed has been greater than 30 for 5 seconds.
The output properties are setup in the same manner as a directly controlled output, this time using the function output as the control channel rather than the CAN channel.
CAN BUS BITRATE
The CAN Bus bitrate must be set to match the bitrate used on all other devices on the CAN Bus. This is done through the Tools | Options | Communications drop down menu.
Comments
0 comments
Please sign in to leave a comment.