Skip to content
Documentation · CMM III

CMM III

The current measurement module CMM_III can be used to measure, evaluate and check current consumption of a dynamic DC load, typically an automotive electronic control unit. It can measure currents from 1µA to 100ADC (190A range) with automatic range selection within a few microseconds. The current range from 1µA to 190A is split into 7 Ranges, i.e., seven decades.

Purpose of this document

Purpose of this document is to describe how to integrate the module in a test system and how to access it from the software point of view. Limits of application are shown in the technical data section.

This document is addressed to system integrators and the users, who are applying the module.

Definitions and abbreviations

AbbreviationDefinition
CMMCurrent Measurement Module
CANController Area Network (network for output data)
LVDSLow Voltage Differential Signaling (used as signal level for SPI)
SPISerial Peripheral Interface (clock synchronous data output)
DUTDevice Under Test (Device, whose current should be monitored)

References

DocumentDateDescription
Datasheet SN65HVD230Feb 2011
Datasheet DS90LV049April 2013

Document Overview

This document contains 3 sections.

  • The first section includes an introduction to this manual.
  • The second section includes description of the hardware.
  • The third section includes accessing the module from the software point of view.
Chapter 1

Hardware

The following figure shows a block diagram of CMM_III and its external connections:

Block diagram: test system with system power supply (5...24V) and data acquisition (CAN, LVDS-SPI), CMM_III with measurement control and range resistors R0 to R6, RS232 service/configuration interface, isolation barrier <150V, DUT supply and DUT
Figure 1: CMM_III HW Overview

General setup:

  • CMM_III needs 5…24V power supply on PWR/GND_Ext
  • The CMM_III Current Path is integrated in series to the DUT, whose current should be monitored.

The measurement values can be read out by the following:

  • Digital output via a 32-bit SPI word at LVDS voltage level.
  • CAN (High-Speed-CAN with 250…1000 Kbit/s)
  • RS232 as ASCII-String via the service interface

Additional features are:

  • The RS232 service interface may be also used to configure the module.
  • Permanent parameter storage of the configuration in Flash memory
  • Calculation of mean, min and max values.
  • Current path is electrically isolated from electronics supply and digital IO (up to 150V)
  • Detection of reverse current
  • Front panel LEDs for power good indication (as of hardware revision 2.0)

1.1Connector Pinning

1.1.1System connector

InterfaceSignalPinRecommended wireRemarks
Module PowerPWR_ExtC130,14 … 0,5mm²
Module PowerGND_ExtA13, A14, A16, A17, A18, A19, A200,14 … 0,5mm²Connect at least 1 pin
On/OffOn/OffA150,14 … 0,5mm²
CANCAN_LB140,14 … 0,5mm² Twisted pairWire with ~ 120 Ohm impedance
CANCAN_HC140,14 … 0,5mm² Twisted pairWire with ~ 120 Ohm impedance
LVDS-SPICLK_In+B150,14 … 0,5mm² Twisted pairWire with ~ 100 Ohm impedance
LVDS-SPICLK_In-C150,14 … 0,5mm² Twisted pairWire with ~ 100 Ohm impedance
LVDS-SPIEn_In+B160,14 … 0,5mm² Twisted pairWire with ~ 100 Ohm impedance
LVDS-SPIEn_In-C160,14 … 0,5mm² Twisted pairWire with ~ 100 Ohm impedance
LVDS-SPIRx+B170,14 … 0,5mm² Twisted pairWire with ~ 100 Ohm impedance
LVDS-SPIRx-C170,14 … 0,5mm² Twisted pairWire with ~ 100 Ohm impedance
LVDS-SPITx+B180,14 … 0,5mm² Twisted pairWire with ~ 100 Ohm impedance
LVDS-SPITx-C180,14 … 0,5mm² Twisted pairWire with ~ 100 Ohm impedance
LVDS-SPIEn_In+B190,14 … 0,5mm² Twisted pairWire with ~ 100 Ohm impedance
LVDS-SPIEn_In-C190,14 … 0,5mm² Twisted pairWire with ~ 100 Ohm impedance
LVDS-SPICLK_Out+B200,14 … 0,5mm² Twisted pairWire with ~ 100 Ohm impedance
LVDS-SPICLK_Out-C200,14 … 0,5mm² Twisted pairWire with ~ 100 Ohm impedance
Current PathCurr_In4x High current pin A1-A12, B1-B12, C1-C121…4 x 10mm²Depending on applied currents use 1 to 4 wires with appropriate diameter for both input and output, respectively. For currents above 60A use all 4 pins both for input and output.
Current PathCurr_Out4x High current pin A21-A32, B21-B32, C21-C321…4 x 10mm²Depending on applied currents use 1 to 4 wires with appropriate diameter for both input and output, respectively. For currents above 60A use all 4 pins both for input and output.

1.1.2RS232 service connector

InterfaceSignalPinRecommended wireRemarks
RS232CMM_Tx2Standard 9pol. 1:1 cableSend data to PC
RS232CMM_Rx3Standard 9pol. 1:1 cableReceive data from PC
RS232GND5Standard 9pol. 1:1 cableGND connected to GND_Ext

Note, that the RS232 is a service connection. Normal operation uses the system connector with CAN or LVDS-SPI interface.

1.1.3Mating system connector

The following components may be used for the mating connector on the test system. 1 connector with 8 high current pins is needed. Different versions for crimping or soldering from two manufacturers can be found in the following table.

ItemQuantityOrder NumberManufacturerRemarks
DIN41612 Type M 24+8109 03 224 6804Harting
DIN41612 Type M 24+81354 116ERNI
High current pin809 03 000 6115HartingCrimp version
High current pin809 03 000 6103HartingSolder version
High current pin8594 182ERNICrimp version
High current pin8594 176ERNISolder version

1.2Dimensions

CMM_III is designed on a 160mm x 100mm Euro card, including front cover with a width of 25,4mm (5HP) and a standard DIN41612 connector. With these dimensions it fits to standard 19” / 3HU carriers and racks.

CMM III module with front panel, dimensions 130mm (3HU) front panel height, 100mm board height, 160mm board length, 25,4mm (5HP) front panel width
Figure 2: CMM_III Dimensions

1.3Technical data

1.3.1Current Path

Depending on the applied currents, the measurement current path must be wired with a low resistance to maintain low voltage drops. I.e., use short wires and as much high-current-pins as possible – both for current input and current output.

Every High-Current pin may carry up to 40A DC maximum. But more used high current pins with wires of high diameter both yield lower voltage drops and temperature at CMM_III, because of heat conduction. Lower temperature also means lower drift.

ItemMinTypMaxUnitsRemarks
DC Current0100Aoperation under the following conditions: 25°C ambient temperature without airflow; 50° Ambient Temperature with airflow ~2m/s
Worst case DC Current160A25° Ambient Temperature with airflow >6m/s on power devices and connector
DC Current per High-current pin40A50° Ambient Temperature
Measurement Range190AMax. 3 seconds
Single Pulse Current300AMax. 100ms
CMM_III Voltage @ OFF HW-Rev 1.236VModule disconnects current path when PWR_Ext is below 4,8V, or ON/Off is at low level. For HW-Rev 1.1 max. Voltage is 30V!
Leakage current @ OFF020µA@ 36V
Voltage difference between GND_Ext and Current Path-150150VLimit is restricted by distance of wiring on the PCB. Electronic components are specified at least 250V
Reverse Current detection threshold501000mADepending on Temperature and components
Reverse Current continuous030A
Reverse Current single pulse200AMax. 1 second.

1.3.2Current Sampling

ItemMinTypMaxUnitsRemarks
Sample Rate (fS)41,667kHzExternal sample rate
Internal Sample Rate (fS_INT)375kHz9 internal samples form an external sample
Range Changed Ignored Samples Count (Dead Time) (Configurable by command RCISC)66255SamplesSince firmware 2.2.0. Default after boot: 6 samples (Note: The range may change (rise) during this time if the dropout voltage rises too high. This will reset the dead time timer!)

1.3.3Module Supply

Apply a power source on PWR_Ext/GND_Ext. It is recommended not to use the DUT power supply to make sure that measurement device power is separate from DUT power. Typical applications use 5V, 12V or 24V power supplies. Several other components may be supplied by the same power source.

Nonetheless, because of CMM_III wide input voltage range, it is possible to use DUT-Power for powering CMM_III.

Note, that current path is disconnected, when no power is applied.

ItemMinTypMaxUnitsRemarks
Supply Voltage4,926VPWR_Ext to GND_Ext
Supply DC Current @ 5V190210250mA
Supply DC Current @ 12V8092120mA
Supply DC Current @ 24V405170mA
Supply Inrush Current1,21,5AInrush current for approx. 5ms @ dU/dt = 1V/ms

1.3.4DC Accuracy

Accuracy of the module is verified at DC currents. Every module passes a calibration procedure at IRS. The module may be re-calibrated.

ItemMinTypMaxUnitsRemarks
Accuracy uncalibrated0,52% of RangeMax in % of respective Range
Accuracy calibrated0,21% of RangeMax in % of respective Range
Resolution Range_0100nALimited by output data step size.
Resolution Range_1404nA
Resolution Range_24,04µA
Resolution Range_340,3µA
Resolution Range_4403µA
Resolution Range_54,03mA
Resolution Range_646,8mA

1.3.5DC Voltage Drop

Voltage drop is the voltage between current input and output, measured on the module connector. The drop on the female power connector pins and the wiring must be added.

ItemMinTypMaxUnitsRemarks
Drop @ 100µA7080mVRange_0
Drop @ 1mA7080mVRange_1
Drop @ 10mA7080mVRange_2
Drop @ 100mA7080mVRange_3
Drop @ 1A90100mVRange_4
Drop @ 10A100120mVRange_5
Drop @ 40A4560mVRange_6
Drop @ 100A120150mVRange_6
Drop @ 160A200230mVRange_6

1.3.6On/Off Interface

The digital input On/Off is used to switch the current path of the CMM_III on or off.

The current path is connected, when a high level is applied.

The current path is open, when a low level is applied.

ItemMinTypMaxUnitsRemarks
On/Off Control – Low = OFF-0,71,0V
On/Off Control – High = ON3.025V
On/Off Control Input Resistance15kOhm0…3,3V
On/Off Control Input Resistance515kOhm3,3…25V

1.3.7CAN Interface

The integrated CAN interface is a common High-Speed CAN interface.

ItemMinTypMaxUnitsRemarks
Voltage at CAN_H or CAN_L-0,55,5VAgainst GND_Ext
Input range, transient pulse CAN_H and CAN_L-2525V
Dominant output level1,223V
Recessive output level-120012mV
Data rate1000kbit/s

For further details, see datasheet SN65HVD230 and CAN.

1.3.8LVDS-SPI Interface

ItemMinTypMaxUnitsRemarks
Voltage Range-0,22,7VLVDS-SPI inputs
Termination100OhmLVDS-SPI inputs
Differential input voltage range100350600mVLVDS-SPI inputs
Common mode input voltage range0.31.22.2VLVDS-SPI inputs
Differential output voltage range247350600mVLVDS output
Common mode output voltage range1.1251.251.375VLVDS output
LVDS Interface Baudrate (typical no feedback)50012501500kBit/sWithout Clock feedback
LVDS Interface Baudrate (maximum with feedback)15000MBit/sWith Clock feedback to system

For further details, see datasheet DS90LV049 and LVDS-SPI.

1.4System Integration

The following section handles the hardware issues about the interfaces for accessing measurement data. For integration of the current path and the power supply, see the remarks in the technical data.

1.4.1CAN

The High-speed CAN interface may be used to read measurement data.

Any High-Speed CAN interface from any vendor may be applied as counterpart for data acquisition. Make sure that termination of the entire bus is implemented properly with two times 120 Ohm at the respective far end of the bus. No other termination resistors are included.

Wires must be twisted pair with an impedance of 120 Ohm.

Every CMM on the bus should run at the same baud rate and use different CAN IDs. CAN ID and baud rate may be configured via the RS232 service interface and are stored permanently in Flash memory.

For integration as a single module in a test system setup, please add a CAN counterpart with a termination resistor of 120 Ohm. CMM_III includes 120 Ohm -termination which can be enabled or disabled by a jumper switch (see figure 3).

If several CMM_III are connected in parallel to one CAN interface, the termination resistor of every single CMM_III has to be disabled. A single termination must be included at the far end of the CAN bus.

See the following figure for disabling of the termination resistor with the jumper switch J3, which is marked in red:

CMM III board with jumper J3 for CAN termination marked by a red circle, arrows Disable (left) and Enable Termination (right)
Figure 3: CAN Termination Resistor

See also CAN Backplane, when using backplane and CAN interface.

1.4.2LVDS-SPI

Implementation Options

LVDS-SPI is integrated to read data from CMM at a higher data rate, than available via CAN. But LVDS SPI may not be used in a harsh test system environment.

For a single module, the following setup may be used. Note, that every signal in the diagram is actually a differential pair. With this setup data rates of approximately 1,5Mbit/s can be achieved. With this speed a sample rate of up to 20kS/s can be achieved for a single module.

Data acquisition connected to CMM_III: Clock to Clk_In, Enable to En_In, Data from Tx
Figure 4: LVDS-SPI for a single module at data rates up to 1,5Mbit/s

When higher data rates than 1,5Mbit/s are applied, the enable and clock line must be fed back to the data acquisition system. With this setup, Data, clock-feedback and enable-feedback may be evaluated synchronously. Otherwise, the delay through the CMM may cause corrupt data.

Data acquisition connected to CMM_III: Clock and Enable in, Data from Tx, Enable_Feedback from En_Out and Clock_Feedback from Clk_Out
Figure 5: LVDS-SPI for a single module at data rates up to 15Mbit/s

The LVDS-SPI interface is designed in a way to concatenate several CMM’s in a daisy chain type, as illustrated in the following figure.

Three CMM_III in a daisy chain: Clk_Out, En_Out and Tx of each module connected to Clk_In, En_In and Rx of the next, Data and optional Enable_Feedback and Clock_Feedback back to the data acquisition
Figure 6: LVDS-SPI “Daisy chain” for several modules

The maximum number of CMMs depends on data rate, sampling rate and performance of the data acquisition system. Typical setups are as follows:

Typical setup 1:

  • 1…10 CMMs
  • sampling rate of 2,5kS/s.
  • clock rate of 1,25Mbit/s
  • feedback of clock and enable not necessary

Typical setup 2:

  • 1…10 CMMs
  • Sampling rate of 20kS/s
  • clock rate of 10Mbit/s
  • Feedback of clock and enable necessary.

Please note, that in any case, the wires for clock, enable, Rx and Tx must be at least properly twisted with a maximum length of approx. 1m. When higher distances must be covered, please use the backplane, described in Backplane for easy connection, including shielded CAT5…CAT7 cables. In harsh environments, always use the backplane.

Data Acquisition with IRS MesSy

The standard device for data acquisition is the IRS MesSy. MesSy is a generic re-usable multifunction measurement device, especially designed for lifetime test of automotive control units.

All software components are integrated ready to use a single CMM or several CMMs in daisy-chain. Evaluation of minimum, maximum and average is included. Streaming of CMM data is available.

For further information see

https://www.irs.systems/id/irs-messy/

https://www.irs.systems/de/id/irs-messy/ (German)

The following table shows the connections of MesSy and CMM:

MesSy signalMesSy Pin @ X1CMM_II SignalCMM_III PinwireRemarks
LVDS_Out_3+B16Rx+B17Twisted pairFirst CMM in chain
LVDS_Out_3-C16Rx-C17Twisted pairFirst CMM in chain
LVDS_Out_2+B15En_In+B16Twisted pairFirst CMM in chain
LVDS_Out_2-C15En_In-C16Twisted pairFirst CMM in chain
LVDS_Out_1+B14Clk_In+B15Twisted pairFirst CMM in chain
LVDS_Out_1-C14Clk_In-C15Twisted pairFirst CMM in chain
LVDS_In_1+C12Tx+B18Twisted pairTx from the CMM, which is the last in chain
LVDS_In_1-B12Tx-C18Twisted pairTx from the CMM, which is the last in chain
Trigger 1…16A7-A12, B7-B11, C7-C11On/OffB15Single wireUse any of the 16 Trigger lines from MesSy

Following example shows the connection of the communication lines, power and On/Off-control of two CMMs:

Wiring diagram: IRS MesSy X1 connected to CMMII_DUT1 and CMMII_DUT2 via VG_24+8 connectors, LVDS lines, power +24V/0V and On/Off control
Figure 7: MesSy connections

Data Acquisition with NI Compact RIO

For data acquisition IRS provides interface modules for the Compact-RIO platform from National Instruments. The software may be integrated into the user’s application. For data acquisition with Compact-RIO please contact IRS.

Custom Data Acquisition

Any module with an SPI-interface may be used for data acquisition, like microcontroller devices. The level of each signal must meet the LVDS standard to maintain proper communication over long wires in harsh environments.

See LVDS-SPI data output for timing and data format of the communication.

1.4.3Backplane for easy connection

To access the interfaces with an easy wiring, the use of the additional backplane is recommended. Especially when using LVDS-SPI, standard cables may be applied, which reduce the efforts for wiring and provide proper shielding.

Three backplanes are available:

  • LVDS-SPI / 5HP width (25,4mm)
  • CAN / 5HP width (25,4mm)
  • LVDS+CAN / 8HP width (40,64mm)

LVDS-SPI Backplane

LVDS-SPI backplane may be used, when no CAN interface is necessary and many CMMs must be integrated on small room. The backplane enables easy connection of the LVDS-SPI interface with standard CAT5…CAT7 cables, while providing proper shielding

LVDS-SPI backplane: photo and drawing with On/Off input, optional PE for shield, 5…24V power input, LVDS interface to test system or previous CMM (K4), jumpers to set at last CMM in the chain, LVDS interface to next CMM (K1), shield pad to connect to housing

Following figure illustrates the options, how to pass data back to the data acquisition system. First option is used for clock rates up to 1,5Mbit/s, second option needs the clock and enable feedback for higher data rates.

Two chains of three CMM_III on backplanes connected via K4 Prev and K1 Next: first with jumper closed at the last backplane, second with jumper opened and Data and Feedback cable back to the data acquisition
Figure 8: LVDS-SPI backplane options

CAN Backplane

CAN Backplane may be used, when no LVDS-SPI interface is necessary and many CMMs must be integrated on small room.

CAN backplane with D-Sub connector (7: CAN_H, 2: CAN_L, 5: GND), 5…24V power input and On/Off input
Figure 9: CAN backplane options

LVDS+CAN Backplane

LVDS-SPI and CAN may be both accessed, with the drawback that more room must be reserved for the connectors.

LVDS+CAN backplane with D-Sub connector, two RJ45 connectors and power/On/Off terminal
Figure 10: LVDS-SPI + CAN backplane
Chapter 2

Functional Description

The following section describes the functionality of the internal measurement and every interface.

2.1Current measurement

2.1.1Measurement procedure

The current is measured internally at a sampling rate of 375kS/s, where 9 samples are averaged to 1 “external” sample. Thus, an “external” sampling rate of 41,667kS/s is achieved.

The current range is selected automatically, when CMM is switched on. Range selection does not influence the output voltage. Except large current changes of several amperes will result in short time voltage drops of few 100 mV. See Dynamic behavior for dynamic behavior.

For every interface (RS232, CAN, LVDS-SPI) an independent averaging is implemented, which starts averaging with every readout. Following figure illustrates the averaging.

Averaging: samples at 375kS/s, averaging 9 samples to 41,667kS/s external sampling rate, return average of N samples from readout to readout (i.e. send CAN message)
Figure 11: Measurement procedure

I.e. if CAN sends its message every millisecond, around 42 external samples are averaged, which are already an average of 9 internal samples each.

Averaging from readout to readout does not influence the averaging on other interfaces. I.e., averaging is independent for

  • RS232
  • CAN
  • LVDS-SPI

An overflow of the averaging may not occur even after a year of readout interval.

2.1.2Reverse current detection

Reverse currents can’t be measured, but a flag is signaled, when a current of several 100mA is applied in reverse direction. The output data on CAN or LVDS-SPI is an invalid number, exceeding the measurement range (0xEEEEEEEE in hexadecimal representation).

2.1.3Dynamic behavior

Switching between the ranges occurs very fast from low current range to high current ranges within less than 1µs (500ns typical) after the current range has been exceeded.

The following figure shows the typical behavior at a current step from some µA to more than 60 amps.

  • yellow trace: current through the module
  • Red trace: voltage drop over the module

Oscilloscope capture of a current step to about 65 A: current through the module (yellow) and voltage drop over the module (red)

The ring at the voltage drop results from the inductive component of the applied load.

The following figure shows the zoom of positive and negative edge of the current step.

Oscilloscope captures with zoom on the positive (left) and negative (right) edge of the current step

Conclusion: The voltage drop while switching occurs is well below 1V for a duration of some microseconds maximum.

2.2ON/Off control

CMM_III may be switched on or off by a hardware input or by software. The following parameters can be adjusted by configuration:

  • Active level (high or low) of the hardware input
  • Priority of hardware or software on/off-control

Configuration may be changed by the command ONMOD=x via RS232 or CAN using ISO-TP protocol, while x one of the following numbers 0…7:

IDNameHW inputSW settingDescription
0ONOFF_Mode_ExtHighActiveYESNOCMM is ON, when high level is applied at HW input, SW setting ignored
1ONOFF_Mode_ExtLowActiveYESNOCMM is ON, when low level is applied at HW input, SW setting ignored
2ONOFF_Mode_IntNOYESCMM is only controlled by SW
3ONOFF_Mode_ExtHighActiveAndIntYESYESCMM is ON @ high level is at HW input AND SW setting is ON.
4ONOFF_Mode_ExtLowActiveAndIntYESYESCMM is ON @ low level is at HW input AND SW setting is ON.
5ONOFF_Mode_ExtHighActiveOrIntYESYESCMM is ON @ high level is at HW input OR SW setting is ON.
6ONOFF_Mode_ExtLowActiveOrIntYESYESCMM is ON @ low level is at HW input OR SW setting is ON.
7ONOFF_Mode_AlwaysOnNONOCMM is always ON.

2.3CAN data output

CAN data is sent cyclically on a specified CAN ID. This CAN ID is adjustable by RS232 configuration.

ValueMinTypicalMaxUnitRemarks
CAN Type-High Speed--CAN Transceivers are always active. No sleep mode is applied.
CAN Termination117120123OhmTermination Resistor is R40 and may be removed if desired
CAN Baud rate5010002000kBit/sDefault baud rate is 1MBit/s
CAN ID0x1C2HexIdentifier may be adjusted by RS232 or CAN configuration
Extended IDNo11-Bit or 29-Bit Identifier may be adjusted by RS232 configuration
CAN transmit interval1530000msTransmit interval may be adjusted by RS232 configuration
CAN data length54 Bytes for Current and 1 Byte for Range
CAN data resolution100nAOne bit of the returned current represents 100nA of real measured current

Content of the transmitted CAN message is as follows:

ByteContentValue
Byte 0Current Bit 0..70x00000000 … approx. 0x7270 E000
Byte 1Current Bit 15..80x00000000 … approx. 0x7270 E000
Byte 2Current Bit 23..160x00000000 … approx. 0x7270 E000
Byte 3Current Bit 31..240x00000000 … approx. 0x7270 E000
Byte 4Range0 … 6

Current is returned as 32 Bit unsigned long value in steps of 100nA split into the first 4 bytes of the CAN message.

When CMM_III is in off state, the returned value is 0xFFFFFFFF, which represents 429.4967295 A, which is no valid measurement value.

When CMM_III is in on state, but reverse current is applied, the returned value is 0xEEEEEEEE, which represents 400.8636142 A, which is no valid measurement value.

2.4LVDS-SPI data output

The measurement value can be read via an SPI-interface on LVDS level. SPI yields high data rates, while LVDS level yields low noise radiation and higher noise immunity, due to differential signaling.

The protocol for reading data of a single current measurement module is as follows:

Timing diagram Enable, Clock and Tx with data bits D31 to D0: average current since last readout in steps of 100nA
Figure 12: LVDS-SPI for single module

When several modules are connected in daisy chain, the data from the previous module is forwarded to the output as following figure illustrates:

Timing diagram Enable, Clock, Rx and Tx: the module first sends its measured current, then forwards the current of the previous modules received on Rx
Figure 13: LVDS-SPI “Daisy chain” for several modules

When En_In is asserted, the module sends out its current value during the next 32 clock cycles with MSB first. After 32 clock cycles the received data word is forwarded. En_In must be valid for 32 clock cycles, multiplied by number of CMMs in the chain. The current is returned as 32 Bit unsigned long value in steps of 100nA.

2.5RS232 data output

The measurement value is sent over RS232 in the interval of 100ms. The interval is adjustable via RS232 configuration. Connect the PC’s COM-Port to the RS232 at the front cover with a simple 1:1 Sub-D-Cable (no Null modem). Use a standard terminal program with the following settings:

  • 9600 Baud
  • No parity
  • 1 Stop bit
  • No Handshake

You will see the module’s output as following picture illustrates:

Terminal output with lines R=0<HT> I = 10.1 uA<HT> Min=9.2 uA<HT> Max=10.6 uA<CR><LF>
Figure 14: RS232 data output
  • R = Range
  • I = average current in µA since last readout
  • Min = minimum current in µA since last readout
  • Max = maximum current in µA since last readout

Every Line is terminated by “Carriage Return / Line feed” to separate between new data.

2.6RS232 configuration

Configuration of the module using RS232 gives access to the CAN transmission configuration and the send interval for RS232-interface data output. Connect the PC’s COM-Port to the RS232 at the front cover with a simple 1:1 Sub-D-Cable (no Null modem).

Use a standard terminal software with the settings:

  • 9600 Baud
  • No parity
  • 1 Stop bit
  • No Handshake

You will see the module’s output as shown in RS232 data output.

By sending the commands of the following table the settings may be queried. Every Command must be finished with a carriage return / line feed (\r\n). I.e. every command string needs to have the following format similar to the following example: SINTV?\r\n

  • \r is ASCII character 0x0D
  • \n is ASCII character 0x0A
CommandDescriptionResponse (Example)DefaultRemarks
SINTV?Queries the actual serial transmission interval in millisecondsSINTV = 1000 ms100 ms
CINTV?Queries the actual CAN transmission interval in millisecondsCINTV = 10 ms1 ms
CANBD?Queries the actual CAN baud rate in kBit/sCANBD = 10001000
CANID?Queries the actual CAN IDCANID=450450CAN ID for cyclic messages (decimal)
XTEND?Queries Extended-ID-Flag of the actual CAN IDXTEND=000 => 11-bit ID / 1 => 29-bit ID
SWVER?Queries software versionSWVER = VERSIONSoftware version – ASCII string
TEMPR?Reads out current module temperature in °CTEMPR = 23
GLVAL?Queries the latest values min, max and averageR= 0\tI = 50.0 uA\tMin = 48.5 uA\tMax=51.5 uASame as shown in RS232 data output
ONMOD?Queries the On/Off control configurationONMOD = 00See ON/Off control for description of ONMOD. Range: 0…7
CMMON?Queries the state of the internal ON/Off stateCMMON = 00This is only the SW setting. The state of the hardware input is not regarded for this command. Volatile value. 0 => Off / 1 => On
TPLID?Queries local CAN-ID for ISO-TPTPLID = 451451CMM listens on Local ID (decimal)
TPRID?Queries remote CAN-ID for ISO-TPTPRID = 20472047System listens on Remote ID (decimal)
TPLXT?Queries Extended-ID-Flag of local CAN ID for ISO-TPTPLXT = 000 => 11-bit ID / 1 => 29-bit ID
TPRXT?Queries Extended-ID-Flag of remote CAN ID for ISO-TPTPRXT = 000 => 11-bit ID / 1 => 29-bit ID
SERNB?Queries serial number stringSERNB = 23BG12345<none>Firmware >= 1.2.7
CDATE?Queries last calibration dateCDATE = 2023-08-01<none>Firmware >= 1.2.7. Format: YYYY-MM-DD
UTEXT?Queries user defined stringUTEXT = TEXT<none>Firmware >= 1.3.0
MMASC?Queries min. and max. current averaging samples countMMASC = 101Firmware >= 1.3.0. Volatile value. 1 Sample = 24µs
RCISC?Queries count of samples to ignore after range changedRCISC = 106Firmware >= 2.2.0. Volatile value. 1 Sample = 24µs
MINRG?Queries minimum range limitMINRG = 30Firmware >= 2.2.0. Volatile value

By sending the commands of the following table the settings may be set. Every Command must be finished with a carriage return / line feed (\n\r). I.e., every command string needs to have the following format like the following example: SINTV=100\n\r

CommandDescriptionResponse (Example)Valid parameter range
SINTV=nsets the actual serial transmission interval in millisecondsSINTV = 1000 msn = 100 … 12000
CINTV=nSets the actual CAN transmission interval in millisecondsCINTV = 10 msn = 1 …12000
CANBD=nSets the actual CAN baud rate in kBit/sCANBD = 1000n = 100, 125, 200, 250, 400, 500, 800, 1000
CANID=nSets the actual CAN IDCANID = 450n = 0 … 2047 (11-bit ID); n = 0 ... 536870911 (29-bit ID)
XTEND=bSets the Extended-ID-Flag of the actual CAN IDXTEND = 0b = 0 / 1; 0 => 11-bit ID / 1 => 29-bit ID
ONMOD=nSets the On/Off control configurationONMOD = 0See ON/Off control for description of ONMOD values n; n = 0 … 7
CMMON=bSets the internal ON/Off stateCMMON = 0b = 0 / 1; 0 => Off / 1 => On
TPLID=nSets local CAN-ID for ISO-TPTPLID = 451n = 0 … 2047 (11-bit ID); n = 0 ... 536870911 (29-bit ID)
TPRID=nSets remote CAN-ID for ISO-TPTPRID = 2047n = 0 … 2047 (11-bit ID); n = 0 ... 536870911 (29-bit ID)
TPLXT=bSets Xtd-Flag of local CAN ID for ISO-TPTPLXT = 0b = 0 / 1; 0 => 11-bit ID / 1 => 29-bit ID
TPRXT=bSets Xtd-Flag of remote CAN ID for ISO-TPTPRXT = 0b = 0 / 1; 0 => 11-bit ID / 1 => 29-bit ID
UTEXT=sSets user defined stringUTEXT = TEXT
MMASC=nSets min. and max. current averaging samples countMMASC = 10n = 1…65535
RCISC=nSet count of samples to ignore after range changedRCISC = 10n = 6…255
MINRG=nSet minimum range limitMINRG = 3n = 0…6

Furthermore, the following additional commands using RS232 are defined. The commands also must be finished with \r\n.

CommandDescriptionResponse
DEFLT!all configuration parameters will be set to their default valuesDEFAULT SETTINGS RESTORED
INITC!initializes CAN interfaceCAN INIT
RESET!Resets the CMM internal microcontroller<none>. Restart with output of SW_Version.
BOOTL!Sets the CMM internal microcontroller to boot mode and resets the controller

2.7CAN configuration

Configuration of CMM may be performed using the CAN interface. For this configuration ISO-TP protocol is applied, according to ISO 15765-2. Normal addressing mode is used.

Configuration is performed by sending commands to CMM. Every command is acknowledged by a response.

2.7.1ISO TP Header

Single frame commands

Most commands and responses fit into a single CAN message. I.e. single frames according to ISO-15765-2 may be used. The respective CAN message carries the following data:

CAN IDData_1Data_2Data_3Data_4Data_5Data_6Data_7Data_8
Command HeaderCommand HeaderCommand HeaderCommand Header
TPLID (command), TPRID (response)SF_N_PCI = Length 0x04…0x07CommandActionError-CodeReservedCommand dependent dataCommand dependent dataCommand dependent data

Multiple frame commands

If more than one message is necessary for a command, first frames, flow-control and consecutive frames are used in the following order from top to bottom:

CAN IDData_1Data_2Data_3Data_4Data_5Data_6Data_7Data_8
TPLID Command First FrameFF_N_PCI ID+(Length MSB): 0x10FF_N_PCI (Length LSB): LengthCommand Header: CommandCommand Header: ActionCommand Header: Error-CodeCommand Header: ReservedCommand dependent dataCommand dependent data
TPRID Response Flow controlFC_N_PCI: 0x30BS Block size = 0ST_min Separation time = 0
TPLID Command Consecutive frameCF_N_PCI: 0x20Command dependent dataCommand dependent dataCommand dependent dataCommand dependent dataCommand dependent dataCommand dependent dataCommand dependent data
TPLID Command Consecutive frameCF_N_PCI: 0x21Command dependent dataCommand dependent dataCommand dependent dataCommand dependent dataCommand dependent dataCommand dependent dataCommand dependent data
:::::::::

If the multiple frame message is a response, exchange the CAN-IDs TPRID and TPLID.

Data Byte 1/2 xx_N_PCI

Data byte 1 contains frame type and data length information according to ISO 15765-2.

For single frames the values 0x04…0x07 are valid, which represent the number of following data bytes. 4 bytes minimum for Command, Action, Error-code, and Reserved - 7 bytes maximum including 3 command depending data bytes.

For first frames 0x10 in byte 1 is added to the command length, which can be found in byte 2.

For consecutive frames 0x20 is added to a message counter in byte 1.

2.7.2Command Header

Data Byte 2/3 Command

Byte 2 for single frames, byte 3 for multiple frames

IDCommandDescriptionMin. Firmware
0x00NOOPRNo operation
0x01RESETResets the CMM internal microcontroller
0x02SWVERreads out software version
0x03DEFLTall configuration parameters will be set to their default values
0x04ONMODQueries or sets the On/Off control configuration
0x05CMMONQueries or sets the state of the internal ON/Off state
0x06GLVALQueries the latest values min, max and average
0x07TEMPRReads out current module temperature in °C
0x08SINTVQueries or sets the actual serial transmission interval in milliseconds
0x09CANBDQueries or sets the actual CAN baud rate in kBit/s
0x0ACIDINQueries or sets both CAN identifier and interval (combines commands CANBD and CANID of serial configuration)
0x0BTPLIDQueries or sets both CAN identifier and Extended-flag of Identifier (combines commands TPLID and TPLXT of serial configuration)
0x0CTPRIDQueries or sets both CAN identifier and Extended-flag of Identifier (combines commands TPLID and TPLXT of serial configuration)
0x0DINITCinitializes CAN interface
0x0ESERNBQueries the serial number1.2.7
0x0FCDATEQueries the calibration date1.2.7
0x20UTEXT (User Text)The user can permanently store a string of 64 Bytes in the CMMs storage1.3.0
0x21MMASC (Min. Max. Averaging Samples Count)Queries or sets the count of samples used for averaging min. and max. current values for noise reduction (volatile value)1.3.0
0x22RCISC (Range changed ignore samples count)Queries or sets count of samples to ignore after range changed (volatile value)2.2.0
0x23MINRG (Minimum range)Queries or sets minimum range limit (volatile value)2.2.0

Data Byte 3/4 Action

Byte 3 for single frames, byte 4 for multiple frames

IDActionValid for DirectionDescription
0x00GetCommand to CMMRead data from CMM
0x01SetCommand to CMMWrite data to CMM
0x02ExecuteCommand to CMMExecute without data read or write.
0x03ReturnResponse from CMM

Data Byte 4/5 Error-code

Byte 4 for single frames, byte 5 for multiple frames

This data byte is only valid for responses from CMM. In commands to CMM this byte should always be 0x00 = No error.

IDErrorDescription
0x00NoErrorCommand has been successful, no error
0x01HeaderLengthHeader Bytes 1..4 were not complete
0x02DataLengthNumber of data bytes didn’t fit to command
0x03UnknownCmdUnknown command
0x04ActionAction not supported for this command
0x05VOORValue out of range (an invalid parameter has been passed)

Data Byte 5/6 Reserved

Byte 5 for single frames, byte 6 for multiple frames. This byte is reserved for future use.

2.7.3Command overview

Following commands are available:

CommandLengthCommand Header: CommandCommand Header: ActionCommand Header: Error-codeCommand Header: ReservedCommand dependent data
NOOPR40x000x02 (Exe)0x000x00
RESET40x010x02 (Exe)0x000x00
SWVER40x020x00 (Get)0x000x00
DEFLT40x030x02 (Exe)0x000x00
ONMOD40x040x00 (Get)0x000x00
ONMOD50x040x01 (Set)0x000x00On-Mode = 0…7
CMMON40x050x00 (Get)0x000x00
CMMON50x050x01 (Set)0x000x000 / 1
GLVAL40x060x00 (Get)0x000x00
TEMPR40x070x00 (Get)0x000x00
SINTV40x080x00 (Get)0x000x00
SINTV80x080x01 (Set)0x000x00Serial Interval [ms]: Bit 7…0, Bit 15..8, Bit 23…16, Bit 31…24
CANBD40x090x00 (Get)0x000x00
CANBD80x090x01 (Set)0x000x00CAN Baud rate kBit/s: Bit 7…0, Bit 15..8
INITC40x0D0x02 (Exe)0x000x00

Please note, that only command header and command dependent data is shown. ISO 15765 header must be added, and messages must be split into several messages, if necessary.

CommandLengthCommand Header: CommandCommand Header: ActionCommand Header: Error-codeCommand Header: ReservedCommand dependent data
CIDIN40x0A0x00 (Get)0x000x00
CIDIN120x0A0x01 (Set)0x000x00Byte_1 … 4: CAN ID (Bit 7…0, Bit 15..8, Bit 23…16, Bit 30…24), Xtended = 0 / 1 (Bit 31); Byte 5…8: CAN Interval [ms] (0.. .. .. 31)
TPLID40x0B0x00 (Get)0x000x00
TPLID80x0B0x01 (Set)0x000x00CAN ID (Bit 7…0, 15..8, 23…16, 30…24), Extended ID (Bit 31)
TPRID40x0C0x00 (Get)0x000x00
TPRID80x0C0x01 (Set)0x000x00CAN ID (Bit 7…0, 15..8, 23…16, 30…24), Extended ID (Bit 31)
SERNB40x0E0x00 (Get)0x000x00
CDATE40x0F0x00 (Get)0x000x00
UTEXT40x200x00 (Get)0x000x00
UTEXT680x200x01 (Set)0x000x00Byte 0…63: User defined string (0-terminated)
MMASC40x210x00 (Get)0x000x00
MMASC60x210x01 (Set)0x000x00Min. and max. current averaging samples count (uint16): Bit 7…0, Bit 15..8
RCISC40x220x00 (Get)0x000x00
RCISC50x220x01 (Set)0x000x00Count of samples to ignore after range changed (uint8)
MINRG40x230x00 (Get)0x000x00
MINRG50x230x01 (Set)0x000x00Minimum range limit (uint8)

2.7.4Response overview

Every command is acknowledged by a response.

Most commands are executed first and send a response after execution. Exceptions from this rule are as follows:

  • RESET:
    • The response is sent immediately.
    • Reset is performed afterwards.
  • TPLID, TPRID:
    • The response is sent with the previous CAN ID.
    • Respective CAN ID for ISO-TP is changed after the response has been sent.
  • CANBD:
    • Baud rate is changed after response has been sent.
    • Please note, that bus errors may occur after baud rate has changed. CMM should be restarted afterwards.

Negative Responses

Negative responses are returned when a failure occurred. I.e., the command was invalid and has been rejected.

Response to commandLengthResponse Header: CommandResponse Header: ActionResponse Header: Error-codeResponse Header: Reserved
XXXXX40xXX0x03 (Ret)0xYY (see Data Byte 4/5 Error-code)0x00

Positive Responses

Positive responses to the respective commands are as follows. Please note, that only command header and command dependent data is shown. ISO-TP header must be added, and messages have to be split into several messages, if necessary.

Response to CommandLengthResponse Header: CommandResponse Header: ActionResponse Header: Error-codeResponse Header: ReservedCommand dependent data
NOOPR40x000x03 (Ret)0x000x00
RESET40x010x03 (Ret)0x000x00
SWVER180x020x03 (Ret)0x000x00Byte 0…15: SW Version ASCII string
DEFLT40x030x03 (Ret)0x000x00
ONMOD50x040x03 (Ret)0x000x00OnMode = 0…7
CMMON50x050x03 (Ret)0x000x000 / 1
TEMPR40x070x03 (Ret)0x000x00Temperature [°C]: Bit 0…7, 8…15
SINTV80x080x03 (Ret)0x000x00Serial Interval [ms]: Bit 7…0, 15..8, 23…16, 31…24
CANBD80x090x03 (Ret)0x000x00CAN Baud rate kBit/s: Bit 7…0, 15..8
INITC40x0D0x03 (Ret)0x000x00
GLVAL230x060x03 (Ret)0x000x00see following table
TPLID80x0B0x03 (Ret)0x000x00Byte 0…3: CAN ID (Bit 7…0, 15..8, 23…16, 30…24), Xtended = 0 / 1 (Bit 31)
TPRID80x0C0x03 (Ret)0x000x00Byte 0…3: CAN ID (Bit 7…0, 15..8, 23…16, 30…24), Xtended = 0 / 1 (Bit 31)
SERNB200x0E0x03 (Ret)0x000x00Byte 0…15: Serial number string (padded)
CDATE80x0F0x03 (Ret)0x000x00Byte 0…3: Year (uint16): Bit 7…0, Bit 15…8; Month (uint8): Bit 7…0; Day (uint8): Bit 7…0
UTEXT680x200x03 (Ret)0x000x00Byte 0…63: User defined string (0-terminated)
MMASC60x210x03 (Ret)0x000x00Min. and max. current averaging samples count (uint16): Bit 7…0, Bit 15…8
RCISC50x220x03 (Ret)0x000x00Count of samples to ignore after range changed (uint8)
MINRG50x230x03 (Ret)0x000x00Minimum range limit (uint8)

Command dependent data of the GLVAL response:

ByteContentBitsValue
Byte_1CMMON0/1
Byte_2Negative0/1
Byte_3Range0…6
Byte_4…7Average [100nA steps]Bit 7…0, 15..8, 23…16, 31…24
Byte 8…11Min [100nA steps]0.. .. .. 31
Byte 12…15Max [100nA steps]0.. .. .. 31
16…19Nr Samples0.. .. .. 31

2.7.5Example CAN traces

The following CAN traces should help to understand the tables above. The command and responses are marked in the respective colors: Command / Response. Please note, that flow control frames are integrated in the respective command or response, but they are sent by the respective counterpart.

CMMON: switch ON

TimeCAN IDDataMarked as
2014.12.11 - 13:52:21.7240x1C30x05 0x05 0x01 0x00 0x00 0x01 0x00 0x00Command
2014.12.11 - 13:52:21.7240x7FF0x04 0x05 0x03 0x00 0x00 0x00 0x00 0x00Response

CMMON: switch OFF

TimeCAN IDDataMarked as
2014.12.11 - 13:52:29.9240x1C30x05 0x05 0x01 0x00 0x00 0x00 0x00 0x00Command
2014.12.11 - 13:52:29.9240x7FF0x04 0x05 0x03 0x00 0x00 0x00 0x00 0x00Response

SWVER (Read SW Version)

TimeCAN IDDataMarked as
2014.12.11 - 13:53:59.1180x1C30x05 0x02 0x00 0x00 0x00 0x00 0x00 0x00Command
2014.12.11 - 13:53:59.1180x7FF0x10 0x12 0x02 0x03 0x00 0x00 0x43 0x4DResponse
2014.12.11 - 13:53:59.1220x1C30x30 0x00 0x00 0x00 0x00 0x00 0x00 0x00Response
2014.12.11 - 13:53:59.1220x7FF0x21 0x4D 0x5F 0x49 0x49 0x49 0x5F 0x56Response
2014.12.11 - 13:53:59.1220x7FF0x22 0x5F 0x31 0x5F 0x32 0x00 0x00 0x00Response

SINTV (set serial interval)

TimeCAN IDDataMarked as
2014.12.11 - 13:56:46.4360x1C30x10 0x08 0x08 0x01 0x00 0x00 0x80 0x00Command
2014.12.11 - 13:56:46.4370x7FF0x30 0x00 0x01 0x00 0x00 0x00 0x00 0x00Command
2014.12.11 - 13:56:46.4400x1C30x21 0x00 0x00 0x00 0x00 0x00 0x00 0x00Command
2014.12.11 - 13:56:46.4420x7FF0x04 0x08 0x03 0x00 0x00 0x00 0x00 0x00Response
Chapter 3

Calibration Recommendation

IRS recommends a recalibration within 2 years.

The calibration should be performed at multiple calibration points for all 7 ranges. IRS recommends measuring at least the following currents:

RangeCalibration points
100 µA20 µA, 40 µA, 60 µA, 80 µA, 100 µA
1 mA0.2 mA, 0.4 mA, 0.6 mA, 0.8 mA, 1 mA
10 mA2 mA, 4 mA, 6 mA, 8 mA, 10 mA
100 mA20 mA, 40 mA, 60 mA, 80 mA, 100 mA
1 A0.2 A, 0.4 A, 0.6 A, 0.8 A, 1 A
10 A2 A, 4 A, 6 A, 8 A, 10 A
100 A20 A, 40 A, 60 A, 80 A, 100 A

CMM values should be captured with the RS232 or ISO-TP function GLVAL. This function returns the value averaged since last read.

Before capturing a valid value, enable the calibration current, perform a dummy read and wait 100 ms.

The fluctuations of the power source used should not exceed 0.1% of the nominal value.

Chapter 4

Firmware Version History

4.1Version 2.2.0

  • At least 6 samples will be ignored after range changed no matter if up or down
  • Added command to temporary change the count of ignored samples after range changed (RCISC)
    • Each range switch will cause a peak in min/max value (and a small error in the average value).
    • This command can be used to minimize that behavior
  • Added command to temporary change the minimum range (MINRG)
    • Each range switch will cause a peak in min/max value (and a small error in the average value).
    • This command can be used to minimize that behavior by reducing count of range switches

4.2Version 2.1.3

  • Some samples will be ignored after range changed (Up: 4 Samples; Down: 6 Samples)
  • Update to support an alternative operational amplifier (original one was out of stock)
  • Update to support a controller type with less memory

4.3Version 1.3.0

  • Added command for averaging min./max. value (MMASC)
  • Added command to save user defined text (UTEXT)

4.4Version 1.2.7

  • Added command to query the serial number (SERNB)
  • Added command to query the calibration date (CDATE)

Documents and downloads

Further documents and files for your IRS product are available on myIRS.

Go to downloads