medlab MP01000 User manual

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
1Version 0.99
Multiparameter OEM Board
for Patient Monitors
MP01000
Technical Manual
Copyright © Medlab 2013
Version 0.99
medlab

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
2
Version 0.99
Medlab medizinische Diagnosegeräte GmbH
Helmholtzstrasse 1a
76297 Stutensee
Germany
Tel. +49(0)7244 741100
www.medlab.eu

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
3Version 0.99
Table of Content
Introduction 4
Glossary 4
Physical Units of Data 4
Overview 5
Mechanical Dimensions 6
Board Connectors 7
Technical Data (Specifications) 10
General 10
Electrocardiogram 10
Pulse Oximeter 11
Non Invasive Blood Pressure 11
Body Temperature 11
Technical Information ECG 12
Serial Transmission 14
UART Interface 15
CAN Interface 15
Overview Data Blocks 16
Protocol Description 18
Packet Description 20
Command Blocks 28
Board Setup 33
PCTest Program 34
Regulatory Considerations 35
History 36

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
4
Version 0.99
Introduction
This document describes the hardware and the firmware interface of Medlab's multipa-
rameter patient monitoring board, the MP01000.
The module can be used to construct a patient monitor to be used from neonate to
adult, while concentrating on housing, design and user interface. The MP01000 handles
the complete interface to the patient, in a safe and certifiable way.
The MP01000 is not a final medical product and carries no CE mark. The module will
not hinder you to confirm with the current relevant standards, but also the part of the sy-
stem added by the user has to be designed in a way, so that the complete product can
be CE marked, FDA registered, or safety tested in a test lab.
Glossary
ECG Electrocardiogram
Lead Connection to the patient and one ECG electrode
Channel Waveform showing the differential voltage between two or more
electrodes
BPM Beats per minute (1/min). Unit used to display pulse rates
RPM Respirations per minute (1/min). Unit used to display respiration rate
SpO2 Saturation pulsatile O2 - the arterial oxygen saturation in %, measured by
apulse oximeter
NIBP Non invasive blood pressure, measured by a cuff around the upper arm
YSI400 The family of standardized temperature probes used for body temperature
measurement
UART Universal Asynchronous Receiver Transmitter - Interface type
CAN Controller Area Network - Interface type
Physical Units of Transmitted Data
Transmission speeds for the waves are indicated in Hz (sec-1).
Scaling of ECGs is done in the units "cm/mV" for the Y-axis and in "mm/sec" for the X-
axis.
Standard values for the trace speed are 12.5 mm/sec, 25 mm/sec and 50 mm/sec. The
amount of points needed to reach these speeds depend on the resolution of the user
screen. For example, if one uses an LCD screen with a resolution of 4 dots/mm, a data
rate of 100 Hz is needed to show the waveform with 25 mm/sec.
ECG amplitudes are typically indicated in „cm/mV“. Since this is directly depending on
the resolution of the screen the user is working on, the transmitted samples cannot be
scaled like this, but instead fall into the range of 0-0xFF. It is within the responsibility
of the user to scale the transmitted samples in a way so the waves displayed on his
individual screen fit to the usual scales used in medicine, 0.5, 1, 2, and 4 cm/mV.
The amplification of the module in the different amplification stages is:
Stage 1 Stage 2 Stage 3 Stage 4
1mV = 32 1mV = 64 1mV = 128 1mV = 256

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
5Version 0.99
Respiration rate is transmitted in „rpm“ (respirations per minute).
Pulse rate is transmitted in „bpm“ (beats per minute).
Pressures for NIBP are transmitted in mmHg (1mmHg = 133,322 Pascal).
Temperatures are transmitted in 10∙°C, e.g. 388 equals 38.8 °C.
Overview
The MP01000 contains a five lead ECG, a pulse oximeter, a part for measuring a
patient's arterial blood pressure, none-invasively, and a two channel thermometer.
The module can work with a five lead ECG cable to show 7 channels of ECG, with a
four lead cable showing 6 channels, and with a three lead cable to show one channel of
ECG. An advanced pulse detection algorithm is integrated.
The module measures the respiration rate of the patient using the impedance change
between the electrodes.
When using a five lead cable, the module can output the following channels synchro-
nously: I, II, III, aVR, aVL, aVF, C.
When using a four lead cable, the module can output the following channels synchro-
nously: I, II, III, aVR, aVL, aVF.
When using a three lead cable, the module can output the following channels: I or II or
III.
The non-invasive blood pressure measurement is done using a standard cuff, normally
fitted on the left upper arm of the patient. There are six different cuff sizes available.
SpO2is measured using an optical transducer that is attached to the patient's finger.
Medlab offers a complete family of transducers, reusable - and single use types, for
adults and neonates.
Temperature is measured using standard YSI400 family temperature probes.
The MP01000 contains all patient-side electronics needed for a complete and small
medical multi-parameter monitor.
The module communicates with a host over a bidirectional serial interface, either of
UART or CAN type. The MP01000 receives commands from the host and streams the
measured patient data back to the host microcontroller. Both sides of the protocol are
block oriented and secured by a CRC checksum present in the data blocks.
Since the module generates a relatively large amount of data, a powerful 32 bit host
microcontroller is required. For example, ARM Cortex M3 or Cortex M4 controllers are
very well suited to receive and decode the data stream and also eventually control a
user interface on a colour LCD or similar.

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
6
Version 0.99
Mechanical Dimensions
All connectors 2.54mm spacing,
ECG connector 5.12mm spacing
106,7
105,2
105,2
95
39,4
49,5
100
5
16,5
5
5
56
76,2
94
50,8
All units in mm.
The test kit version of the board comes with connectors X2-X6 populated, with 90° an-
gled male connectors. The boards for serial production alone are delivered without any
connectors populated, in order to enable the user to use the type of connector he needs
for his application.
(DXF data of the board is available upon request)

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
7Version 0.99
Module Connectors
CAN
X1
UART
X2
POWER
X3
TEMP
X4
SpO2
X5
ECG
X6
1
1
1
1
1
1
JP2
X1 CAN connector
1 CAN H CAN bus high line
2 CAN L CAN bus low line
3 GND System ground
note: closing JP2 adds a termination resistor to the CAN bus
X2 UART connector
1 GND System ground
2 GND System ground
3 TxD CMOS level Serial data output
4 TxD RS232 level Serial data output
5 RxD CMOS level Serial data input
6 RxD RS232 level Serial data input
7 not connected
8 ISP Insystem programming, used for firmware update
9 GND System ground
10 GND System ground
11 R-TRIG R-wave hardware trigger
12 R-TRIG R-wave hardware trigger
13 not connected
14 not connected
15 not connected
16 not connected

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
8
Version 0.99
X3 Power Connector
1 VCC, 7-15VDC Power supply of the board
2 Power Down Connect to GND to power down the complete board
3 GND System ground
X4 Temperature transducer Connector
1 CH1 YSI400 probe 1
2 IGND Patient ground
3 CH2 YSI400 probe 2
4 IGND Patient ground
5 IGND Patient ground
6 ISet Enables EEPROM programming when shorted to IGND
Probe1 is connected to IGND and CH1 pin, probe 2 to IGND and CH2 pin. ISet is left open du-
ring normal operation.
X5 SPO2 Probe Connector
1 PH1 Photodiode positive input probe pin (DSUB pin 5)
2 PH2 Photodiode negative input probe pin (DSUB pin 9)
3 RSEN RSEN pin of probe (DSUB pin 1)
4 IGND Shield of probe cable, Patient ground (DSUB pin 6 and 7)
5 LED1 LED1 pin of probe (DSUB pin 3)
6 LED2 LED2 pin of probe (DSUB pin 2)
7 PDAT PDAT pin of probe (DSUB pin 4)
The SpO2probe has a male Dsub 9 connector. The pin numbering for connecting the probe to
the board can be found in the table above. The internal connecting cable between probe and
SpO2connector should be kept as short as possible.
Depending on the RF immunity level your final product needs to fulfil (3V/m or 20V/m), it might
be necessary to include further EMC filtering measures close to the SpO2connector input of
your medical device. Please contact Medlab for details.
X6 ECG cable Connector
1 C-IN Chest electrode
2 SHIELD Patient ground
3 LL-IN Left Leg electrode
4 RA-IN Right Arm electrode
5 LA-IN Left Arm electrode
6 SHIELD Patient ground
7 RL-IN Right leg electrode

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
9Version 0.99
Shield
Four Lead Patient Cable
I and II and III
and aVL and aVR and aVF
Shield
I or II or III
Shield
Three Lead Patient Cable
Shield
Right Arm
Left Arm
Left Leg
Five Lead Patient Cable
I and II and III
and aVL and aVR and aVF and C
Right Arm
Right Leg
Left Arm
Left Leg
Right Arm
Shield
Left Arm
Right Leg
Shield
Chest
Left Leg
Patient Cable Connection
ECG cable
The module can be connected to the patient using a three lead, four lead or five lead
ECG cable. Depending on cable, one to seven channels of ECG can be measured.
SpO2Transducer
The module can work with all Medlab PEARL SpO2probes. There are reusable - as
well as disposable types. Please see the separate catalog available for the probes. The
module cannot work with other manufacturers’ SpO2probes. The probes have a male
DSUB 9 connector, that needs to be connected to the board using an adapter between
connector X5 and the probe plug. For prototypes, these adapters are available from
Medlab. For series production, as each device requires another length, you should pro-
duce your own adapter cables. Also flexible PCBs are a good solution for this adapter.
NIBP Cuffs
While it is not mandatory to use Medlab cuffs for NIBP measurement, best accuracy is
reached when using them, as the module's algorithm is developed for the mechanical
dimensions of the bladders in the NIBscan cuffs. Also, clinical validation has been done
with these cuffs.
Temperature probes
All probes that are compatible with the YSI 400 family resistance specifications can
be used. However, the manufacturer of the probe should be selected with care, as the
accuracy of the clinical thermometer directly depends on the accuracy of the temperatu-
re/resistance curve of the probe.

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
10
Version 0.99
Technical Data (Specifications)
General
Mechanical size: 110 mm x 100 mm
4layer PCB, thickness 1.6 mm
Maximum height: 33mm without ECG respiration option, 40 mm with
respiration option
Attachment: four M3 screws in the corners of the PCB
Weight: 175 g
Operating voltage: 7- 15 V DC
Power consumption: 980 mW while NIBP not measuring (with respiration)
940 mW while NIBP not measuring (without respiration)
max. 2000 mW during NIBP pump up
max. 1200 mW during NIBP measurement (pump off)
Temperature: Storage -30 °C to 90 °C
Operation -20 °C to 50 °C
Humidity: Storage 0 .. 95 %, non condensing
Operation 5 .. 95 %, non condensing
ECG
Input ECG: Defibrillation protected
Patient isolation: 4000 Volts RMS
Leakage current: Better than class CF requirements (<10 µA)
Amplification: Four stages, user selectable
Data transmission: Four data output rates, user selectable
Mains filter: 50Hz, 60 Hz or no notch filter
Other filters: EMG filter (can be turned on or off)
Amplifier frequency range: 0.05 to 70 Hz
Age modes: Adult - and neonatal mode
ECG modes: Diagnostic- and monitoring mode
Lower edge frequency: 0.67 Hz (monitoring) or 0.05 Hz (diagnostic)
Upper edge frequency: 40 Hz (monitoring) or 70 Hz (diagnostic)
QRS detection: 30.. 247 bpm +- 1%, ± 1 Digit, 12 beat average
Respiration detection: 5 .. 99 rpm ±3%, ± 1 Digit, 8 samples average
(option)
Pacemaker: Pacemaker detector ±2mV to ±700mV, 0.5-2ms pulse
width, (can also be turned off)
Output: Separate, adjustable pulse trigger output, (0...5 V level)
Trigger output also fully isolated from patient side

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
11 Version 0.99
SpO2
Measuring range SpO2: 0 %..100 % of SpO2
Accuracy SpO2: 90 %..100 % :1 % , ± 1 digit
80%..89 % :2 % , ± 1 digit
70%..79 % :3 % , ± 1 digit
70%..100 % :2 % , ± 1 digit
below 70 % :not specified
Averaging SpO2: user selectable in three stages
Measuring range pulse: 30 .. 249 bpm of pulse rate
Accuracy pulse rate: ± 1%, ± 1 Digit
Averaging pulse rate: follows SpO2averaging
NIBP
Meas. range for adults: SYS 25 - 280 mmHg
DIA 10 - 220 mmHg
MAP 15 - 260 mmHg
Meas. range for neonates: SYS 20- 155 mmHg
DIA 5- 110 mmHg
MAP 10- 130 mmHg
Accuracy, abs. pressure: ±2 mmHg
Accuracy algorithm: <± 5 mmHg for mean value
<8 mmHg standard deviation
Pulse rate range: 30- 230 bpm
Leakage rate: <3 mmHg / minute
Overpressure limits: 290 mmHg adult mode
150 mmHg neonatal mode
Temperature
Channels: 2temperature channels, 1 reference channel
(38.8 °C)
Probes: Compatible with all YSI series 400 probes
Accuracy: ±0.1 °C for an ambient Temperature of 10 °C to 40 °C
Measurement range: 25.0 .. 50.0 °C
Warm up time: less than 30 seconds

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
12
Version 0.99
Technical description for TRF EN 60601-2-27:
When preparing a test report form (TRF) for proof of compliance of the users medical product to
EN 60601-2-27, the following remarks / technical data will be helpful or needed:
Input Impedance: >10 MOhm
Common mode rejection ratio: >90 dB at 50 Hz or 60 Hz
Input Dynamic Range: ±5mV AC, ±300 mV DC
Defibrillator Discharge Recovery: <10 sec per IEC 601-2-27
<10 sec per AAMI EC13-1992
Leads-off sensing current: Applied currents less than 150 nA
The following information references particular sections of EN 60601-2-27:
Respiration (optional), section 201.7.9.2.9.101 b) 1)
Applied currents less than 80 µA @ 90kHz square
Tall T-wave rejection, section 201.7.9.2.9.101 b) 2)
T-wave of 1.1 mV amplitude will not affect heart rate determination.
Heart rate averaging, section 201.7.9.2.9.101 b) 3)
The pulse rate is averaged over the last 12 detected pulses.
QRS Detection, section 201.12.1.101.15 (various sections)
If the MP01000 is set to adult mode, the heart rate meter will not respond to ECG signals having a
QRS amplitude of 0,15 mV or less, or R-waves of a duration of 10 ms or less, with an amplitude of
1 mV.
The detection range of QRS amplitudes is 0,5 mV to 5 mV, for durations of the QRS complex
ranging from 70 ms to 120 ms, up to a signal rate of 300 BPM.
If the MP01000 is set to neonatal mode, the detection range of QRS amplitudes is 0,5 mV to 5 mV,
for durations of the QRS wave ranging from 40 ms to 120 ms, up to a signal rate of 350 BPM.
Response to irregular rhythm, section 201.7.9.2.9.101 b) 4)
A1) Ventricular bigeminy: the MP01000 counts both large and small QRS complexes to display a
rate of 80 bpm.
A2) Slow alternating ventricular bigeminy: the MP01000 counts both large and small QRS
complexes to display a rate of 60 bpm.
A3) Rapid alternating ventricular bigeminy: the MP01000 counts all QRS complexes to display a
rate of 120 bpm.
A4) Bi-directional systoles: the MP01000 counts all QRS complexes to display a rate of 90 bpm.
Heart rate meter response time, section 201.7.9.2.9.101 b) 5)
a) Change from 80 to 120 BPM: 4 sec
b) Change from 80 to 40 BPM: 7 sec
Time to alarm for tachycardia, section 201.7.9.2.9.101 b) 6)
Waveform B1: Amplitude Time to alarm
0,5 mV 1sec
1mV 1sec
2mV 1sec
Waveform B2 Amplitude Time to alarm
1mV 1sec
2mV 1sec
4mV 1sec

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
13 Version 0.99
Pacemaker pulse display capability, section 201.12.1.101.12
The MP01000 is capable of displaying the ECG signal in the presence of
pacemaker pulses with amplitudes of ±2 mV to ±700 mV and durations of
0.5 ms to 2.0 ms. An indication for the pacemaker pulse is provided.
Pacemaker pulse rejection, section 201.12.1.101.13
Without over- and undershoot (rectangular pulse):
a) For single (ventricular-only) pacemaker pulses alone, with 0.1 and 2.0 ms pulse-widths and ±2
mV and ± 700 mV pulse-amplitudes, the MP01000 correctly displays the heart rate as zero bpm
(Asystole).
b) For single (ventricular-only) pacemaker pulses with normally paced QRS-T, with 0.1 and 2.0 ms
pulse-widths and ±2 mV and ± 700 mV pulse-amplitudes, the MP01000 correctly displays the heart
rate of the QRS-T rhythm (60 bpm for the specified test waveform).
c) For single (ventricular-only) pacemaker pulses with ineffectively paced QRS pattern, with 0.1 and
2.0 ms pulse-widths and ±2 mV and ± 700 mV pulse-amplitudes, the MP01000 correctly displays
the heart rate of the underlying QRS-T rhythm (30 bpm for the specified waveform).
d) For atrial/ventricular pacemaker pulses alone, with 0.1 and 2.0 ms pulse-widths and ±2 mV and
± 700 mV pulse-amplitudes, the MP01000 correctly displays a heart rate of zero bpm (Asystole).
e) For atrial/ventricular pacemaker pulses with normally paced QRS-T, with 0.1 and 2.0 ms pulse-
widths and ±2 mV and ± 700 mV pulse-amplitudes, the MP01000 correctly displays the heart rate
of the QRS-T rhythm (60 bpm for the specified test waveform).
f) For atrial/ventricular pacemaker pulses with ineffectively paced QRS pattern, with 0.1 and 2.0 ms
pulse-widths and ±2 mV and ± 700 mV pulse-amplitudes, the MP01000 correctly displays the heart
rate of the underlying QRS-T rhythm (30 bpm for the specified test waveform).
With over and undershoot:
a) For single (ventricular-only) pacemaker pulses alone, with 0.1 and 2.0 ms pulse-widths and
±2 mV and ± 700 mV pulse-amplitudes, the MP01000 correctly displays a heart rate of zero bpm
(Asystole).
b) For single (ventricular-only) pacemaker pulses with normally paced QRS-T, with 0.1 and 2.0 ms
pulse-widths and ±2 mV and ± 700 mV pulse-amplitudes, the MP01000 correctly displays the heart
rate of the QRS-T rhythm (60 bpm for the specified waveform).
c) For single (ventricular-only) pacemaker pulses with ineffectively paced QRS pattern, with 0.1 and
2.0 ms pulse-widths and ±2 mV and ± 700 mV pulse-amplitudes, the MP01000 correctly displays
the heart rate of the underlying QRS-T rhythm (30 bpm for the specified waveform).
d) For atrial/ventricular pacemaker pulses alone, with 0.1 and 2.0 ms pulse-widths and ±2 mV and
± 700 mV pulse-amplitudes, the MP01000 correctly displays a heart rate of zero bpm (Asystole).
e) For atrial/ventricular pacemaker pulses with normally paced QRS-T, with 0.1 and 2.0 ms pulse-
widths and ±2 mV and ± 700 mV pulse-amplitudes, the MP01000 correctly displays the heart rate
of the QRS-T rhythm (60 bpm for the specified test waveform).
f) For atrial/ventricular pacemaker pulses with ineffectively paced QRS pattern, with 0.1 and 2.0 ms
pulse-widths and ±2 mV and ± 700 mV pulse-amplitudes, the MP01000 correctly displays the heart
rate of the underlying QRS-T rhythm (30 bpm for the specified test waveform).

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
14
Version 0.99
Serial Transmission
The host connection to the board is a serial communication interface. By default, transmission is
over an asynchronuous, UART style interface, operating at 115200 baud, 8 data bits, no parity
bit and one stop bit. Both CMOS and RS232 (+/- 5 Volt level) voltage levels are available on
the connector. The RS232 voltage levels are helpful during evaluation of the board, which can
be done using an ordinary PC and a special software. The connection in the customer's final
system will typically be done through 0V/5V levels, which saves electronic components on the
host side of the data stream.
Optionally, the board can also communicate with the host over a CAN interface, at 250k, 500k
and 1000k bit transmission rate.
The MP01000 sends data and receives commands. For both CAN and UART mode, the proto-
col is block oriented.
In UART mode, the block begins with a start sequence, consisting of a start character, a one
byte data length counter, and a 16 bit block identifier. This header is followed by a payload block
of zero to 8 bytes length. The payload data is followed by a one byte CRC checksum and an
end character.
Transmission can be started and stopped with "TXDON" and "TXDOFF" command sent by the
host.
In UART mode, the module starts sending data automatically after power up and selftests are
finished.
In CAN mode, the content of the payload block is identical to the data blocks in UART mode, but
the role of the block identifier mentioned above is actually taken over by the 11 bit CAN identi-
fier. Since the multiparameter board generates a lot of data, priority of the CAN identifiers have
to be relatively high (this means low values for identifiers), and consequently, only 11 bit iden-
tifiers are supported. Of course, other devices on the CAN bus can use 29 bit identifiers trans-
parently. CRC bytes, start of block and end of block, as well as data length code, are handled
automatically by the CAN bus controller of the host.
Transmission can be started and stopped with "TXDON" and "TXDOFF" command sent by the
host.
In CAN mode, the module does not start to send automatically after power up. Instead, it waits
for the first "TXDON" command, please see description on page ###.
CAN mode is more complicated compared to UART mode, so if your application does not
require CAN for technical reasons, we recommend to work using UART mode. The CRC
checksum of each block also enables a very reliable and secure data transmission in UART
mode.
The neutral line of all waveforms is located at 128 (0x80), since the module transmits unsigned
data.
If blocks contain numbers of more than 8 bits length, the lower byte is always transmitted first in
the block (little endian).
To set the board to either CAN or UART mode, and to set the CAN speed and the block iden-
tifiers, please refer to the chapter "Board setup" of this manual. After delivery, the board de-
faults to UART mode, base address ECG 0x0100, base address data blocks 0x0200, and base
address for command blocks 0x0300.

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
15 Version 0.99
UART mode block
Header Data Block (Payload data) End
STX (0x02) Bytecount Identifier low Identifier hi h Data (1-8 Byte) CRC8 ETX(0x03)
STX: Start of block character (0x02)
Bytecount: Number of bytes in the data block, plus 0xA0. E. . 0xA5 is 5 bytes
Identifier: Each type of data block uses another block identifier. Must be <2048, same as Object identifier for CAN
Data: The data to be transmitted, variable len th. Command acknowled e or error blocks have a data len th of 0
CRC8 checksum of the 4 byte header and the data block. Polynom: x^8+x^5+x^4+x^0
ETX: End of block character (0x03)
CAN mode block
Data Block (Payload data)
DLC Object Identifier Data (1-8 Byte)
DLC: Data len th code, number of bytes in the data block. Host reads this from his CAN controller
Object Identifier: CAN bus address, also sets priority of data block. Host reads this from his CAN controller
Data: CAN bus data block. Host reads this from his CAN controller
UART Interface
The host UART has to be initialized for a baud rate of 115200 baud, 8 data bits, no parity bit and
one stop bit.
The host has to wait for the STX character, verify that the next byte is a value between 0xA0
(0 byte block length) and 0xA8 (8 bytes block length) and then receive the full data block. After
this, the host has to generate the one byte CRC checksum from the STX character to the last
data block byte, and compare the result with the received CRC byte. If they have the same
value, the block is valid. The host can then decode the received block according to the detailed
descriptions of the data block content on the following pages. The polynom used for the CRC
generation is x^8 + x^5 + x^4 + x^0. Since the bases addressed in UART mode do not have any
special meanings for priorities, as the object identifiers in CAN mode have, it does not make a
lot of sense to set them to custom values. It is, however, possible. Transmission of data can be
completely turned off by the TXDOFF command, and reenabled by the TXDON command. The
board board defaults to TXDON after power up.
CAN Interface
The host CAN controller has to be initialized to 250k, 500k or 1000k bit speed, and the object
identifiers described on the next pages have to be added to the acceptance filter of the host's
CAN controller.
The host then has to issue a "TXDON" command, and will then start to receive data blocks.
The host has to wait for his CAN controller to signal a successful reception of a CAN block.
The host can then decode the received block, according to the detailed descriptions of the data
block content on the following pages. The board defaults to TXDOFF after power up.
Object Identifiers (CAN) - Identifier low/high (UART)
Because the object identifiers in CAN mode are directly responsible for the priority of the
message on the bus, the basic address of the identifiers can be set by the user in three groups,
ECG block base address, host block base address and command block base address. This has
been split into three groups, the ECG blocks should have the highest priority (lowest identifier),
because the amount of data sent is largest for the ECG wave blocks. The second user
adjustable address is the base address for all data blocks to the host, except the ECG blocks,
and the third address is the base address used for commands sent to the board by the host.

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
16
Version 0.99
Overview Data Blocks with Object Identifiers
Header Data Block End
STX (0x02) Bytecount Address low Address high Data ( -8 Byte) CRC8 ETX(0x03)
STX: Start of block character (0x02)
Bytecount: Number of bytes in the data block, plus 0xA0. E.g. 0xA5 is 5 bytes
Address: Each type of data block uses another address (or block identifier)
Data: The data to be transmitted, variable length. Command acknowledge or error blocks have a data length of 0
CRC8 checksum of the header and the data block. Polynom: x^8+x^5+x^4+x^0
ETX: End of block character (0x03)
ECGBaseaddress can be set by the user, default is 0x100
Baseaddress can be set by the user, default is 0x0200
COMBaseaddress can be set by the user, default is 0x0300 "low" and "high" are higher and lower bytes of a 6 Bit value
ECG Blocks
ECGWAVE Board->Host ECGBaseaddress+0x00 Wavesample Wavesample 2 Wavesample 3 Wavesample 4 Wavesample 5 Wavesample 6 Wavesample 7 Wavesample 8 Variable length
ECGNUM Board->Host ECGBaseaddress+0x0 Pulse [ /min] Resp. rate [ /min] 2 bytes
ECGSTAT Board->Host ECGBaseaddress+0x02 Electrodes Channels Status Status 2 4 bytes
ECGCOMMAND Host->Board COMBaseaddress+0x00 'E' (0x45) Command Command 2 3 bytes
S O2 Blocks
SPO2WAVE Board->Host Baseaddress+0x00 Plethysmogram byte
SPO2NUM Board->Host Baseaddress+0x0 SpO2 [%] Pulse [ /min] 2 bytes
SPO2STAT Board->Host Baseaddress+0x02 Info Quality Perfusion Index 3 bytes
SPO2COMMAND Host->Board COMBaseaddress+0x0 'S' (0x53) Command Command 2 3 bytes

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
17 Version 0.99
NIBP Blocks
NIBPCUFFPR. Board->Host Baseaddress+0x 0 Cuff Pressure low
[mmHg]
Cuff pressure high
[mmHg] 2 bytes
NIBPNUM Board->Host Baseaddress+0x Systolic pressure
low [mmHg]
Systolic pressure
high [mmHg]
MAP pressure low
[mmHg]
MAP pressure
high [mmHg]
Diastolic pressure
low [mmHg]
Diastolic pressure
high [mmHg] Pulse [ /min] 7 bytes
NIBPSTAT Board->Host Baseaddress+0x 2 State Adult/Neo Cycle Error 4 byte
NIBPTIMER Board->Host Baseaddress+0x 3 Time since last
meas. low [s]
Time since last
meas. high [s]
Time to next cycle
low [s]
Time to next cycle
high [s] 4 bytes
NIBPCOMMAND Host->Board COMBaseaddress+0x02 'N' (0x4E) Command Command 2 3 bytes
Tem erature Blocks
TEMPNUM Board->Host Baseaddress+0x20 Temperature
low [°C]
Temperature
high [°C]
Temperature 2
low [°C]
Temperature 2
high [°C]
Temperature ref.
low [°C]
Temperature ref.
high [°C] 6 bytes
TEMPSTAT Board->Host Baseaddress+0x2 Temperature
status ch.
Temperature
status ch. 2
Temperature
status ch. Ref 3 bytes
TEMPCOMMAND Host->Board COMBaseaddress+0x03 'T' (0x54) Command Command 2 3 bytes
General Blocks
MULTISTAT Board->Host Baseaddress+0x30 Internal Internal 2 Internal 3 Internal 4
Host overrun error
counter
Command error
counter 6 bytes
MULTIVERSION Board->Host Baseaddress+0x3 Multiparameter
firmware version
ECG module
firmware version
NIPB module
firmware version
SpO2 module
firmware version 4 bytes
MULTISERNUM Board->Host Baseaddress+0x32 Serial number 32
Bit, lowest byte
Serial number 32
Bit
Serial number 32
Bit
Serial number 32
Bit, highest byte 4 bytes
MULTICOMMAND Host->Board COMBaseaddress+0x04 'M' (0x4D) Command Command 2 3 bytes
TXDON Host->Board COMBaseaddress+0x05 'M' (0x4D) 'T' (0x54) ' ' (0x3 ) 3 bytes
TXDOFF Host->Board COMBaseaddress+0x05 'M' (0x4D) 'T' (0x54) '0' (0x30) 3 bytes
Command Acknowledge Blocks
COMMANDACK Board->Host Baseaddress+0x40 0 bytes
COMERRFRAME Board->Host Baseaddress+0x4 0 bytes
COMERRTIMOUT Board->Host Baseaddress+0x42 0 bytes
COMERRCRC Board->Host Baseaddress+0x43 0 bytes
COMERRUNKNOW
Board->Host Baseaddress+0x44 0 bytes
(default state for UART interface)
(default state for CAN interface)

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
18
Version 0.99
Serial Transmission Protocol
After the host has received the blocks, either over UART - or CAN interface, the data block de-
scriptions on the next pages can be used for decoding.
ECG Blocks
The board transmits up to 7 ECG waveforms, and an impedance respiration waveform.
The transmitted channels that are available with a five lead cable are:
1) I, Einthoven Lead
2) II, Einthoven Lead
3) III, Einthoven Lead
4) aVR, Goldberger Lead
5) aVL, Goldberger Lead
6) aVF, Goldberger Lead
7) C1, one Wilson lead that should be placed on the chest of the patient
8) Respiration curve
The module works with a three lead-, a four lead- or a five lead cable. Only parts of the maxi-
mum number of channels can be measured if not all five electrodes are connected (see page 7).
The board contains a lead-off detection that gives information about each single non-connected
electrode.
It is not possible for the module to automatically detect which ECG cable is connected, since the
situation is the same whether, for example, a three lead cable or a five lead cable with two non-
attached leads is used.
It is recommended for the user to use a connection system with coded cables (shorted, unused
pins in the connector for example), to make the host system aware of which cable style currently
is connected to the ECG part and to ignore lead-off messages that do not exist for the respecti-
ve cabling system. The simplest solution is to have the end-user select which cable is connec-
ted in a menu entry in the host's user interface.
Channels that are requested by the host but cannot be measured, because of no electrode con-
tact or the respective lead missing in the cable, are transmitted as "0x80", neutral line.
The module features an adult and a neonatal mode.
In adult mode, pulse rates up to 300 bpm are detected. Pulse rates of more than 247 are output
as 247 bpm. QRS complexes of 70 ms width and less are not counted as pulses.
In neonatal mode, pulse rates up to 350 bpm are detected and rates of more than 247 are out-
put as 247 bpm. QRS complexes of 50 ms down to approximately 20 ms width are counted as
pulses. (40 ms niedrigster getesteter Wert)
These differences in adult- and neonatal pulse detection are a requirement of the newest ECG
monitoring standard.
The default settings after power up are:
100 wave blocks per second, I,II,III activated, 1cm/mV amplification, monitoring bandwidth,
50 Hz filter active. The host can adjust this to its needs by sending commands to the module.

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
19 Version 0.99
ECG Blocks
ECGWAVE BLOCK (1 to 8 bytes long) Identifier: ECGBaseaddress+0 00 (default: 0x100)
Wavesample
1
Wavesample
2
Wavesample
3
Wavesample
4
Wavesample
5
Wavesample
6
Wavesample
7
Wavesample
8
Wavesample
1B te 1
Wavesample
2B te 2
..... B te n
ECGWAVE blocks are sent 50, 100, 150 or 300 times per second, depending on the last ECG speed command
Power on default is 100 blocks per second
ECGNUM BLOCK (2 bytes long) Identifier: ECGBaseaddress+0 01 (default: 0x101)
Pulse [1/min] Resp. rate
[1/min]
Pulse [1/min] B te 1
Resp. rate
[1/min] B te 2
ECGNUM blocks are sent once after each detected pulse, and can also be used to generate a pulse "beep" on the host
ECGSTAT BLOCK (4 bytes long) Identifier: ECGBaseaddress+0 02 (default: 0x102)
Electrodes Channels Status 1 Status 2
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Electrodes B te 1 0 resp. wave
transmitted XChest lead
connected
Right arm
connected
Left arm
connected
Right leg
connected
Left leg
connected
Channels B te 2 0 C1
transmitted
aVF
transmitted
aVL
transmitted
aVR
transmitted
Einthoven III
transmitted
Einthoven II
transmitted
Einthoven I
transmitted
Status 1 B te 3 0 N1 N0 EMG filter on A1 A0 S1 S0
Status 2 B te 4 0 Neonatal
mode XXST3 ST2 ST1 ST0
ECGSTAT blocks are transmitted once per second
Notch filter ECG stat
N1..N0 ST3..ST0
00 Notch filter off 0000 Normal operation
01 50 Hz filter on 0001 Normal operation, pacemaker detected
10 60 Hz filter on 0100 Initializing
11 reserved 0101 Searching for electrodes
1000 Simulated output
1010 Selftest error
.... Rest unused, but reserved
Amp Speed
A1..A0 S1..S0
00 Amplification stage 1 (lowest) 00 50 wave blocks per second
01 Amplification stage 2 01 100 wave blocks per second
10 Amplification stage 3 10 150 wave blocks per second
11 Amplification stage 4 (highest) 11 300 wave blocks per second
8 bit pulse rate value, in bpm, e.g. 1/min
8 bit respiration rate value, in rpm, e.g. 1/min
8 bit sample value curve 1, in straight binar , neutral line at 0x80
8 bit sample value curve 2, in straight binar , neutral line at 0x80
note: the amount of curves transmitted depend on the last curve selection command

Medlab medizinische Diagnosegeräte GmbH MP01000 User Manual
20
Version 0.99
SpO2Blocks
The board transmits the SpO2waveform (plethysmogram), a data block, and an Spo2status
block.
The module works with all Medlab PEARL SpO2probes, reusable - and disposable probe types,
please see catalog of probes for available types.
After a probe is connected and a finger is detected, the board sends 50 or 100 waveform blocks
per second, containing the plethysmographic waveform of the pulse oximeter. Transmission
speed of the plethysmogram can be adjusted by sending an "S0" or "S1" command.
The arterial oxygen saturation and the pulse rate are transmitted once per detected pulse,
directly after detection took place. The reception of this block can therefore be used to generate
a "pulse beep" on the host. Also the status block is transmitted once per detected pulse, directly
after the data block.
The perfusion index in the status block gives an indication for the perfusion at the measurement
site. The table on the next page explains the meaning of the different stages of perfusion. This
is important, because the plethysmogram is automatically scaled. Therefore, the height of the
plethsymogram is not a direct indication for the perfusion at measurement site.
If no finger is in the probe or no probe is connected, the waveform transmitted is a flat line. The
value package and the status package are in this case transmitted once per second. Oxygen
saturation and pulse rate are set to zero, and the info byte contains either the "No sensor" or
"No signal" info.
Table of contents