Data Protocol SPO4025c

Version 2004-11-23

Parameters serial interface: 57600 Baud, 8n1.
This is a packet oriented, secure protocol, comparable to Kermit.

Control characters:

0xFF MarkChar Begin of packet
0xFE QuoteChar Quote character
0xFD AckChar Acknowledge character
0xFC NAKChar Not acknowledge character
0xFB EventChar End of Record (event character)

These characters are forbidden inside the data section of a packet. In order to transmit such character, it is preceded with a quote character, followed by a data byte with 0 leading bit.

Packet composition:

1 MarkChar
 
1 Sequence number cyclic 0,1..126,127,0,1..126,127,0...
1 Packet type #18 for plethysmogram packets, #36 für extended packets
1 Packet size in bytes, number of data bytes
n Data bytes 34 for short packet, 50 für long packet
1 Check byte
The check sum sChecksum is calculated as sumof the  unquoted data bytes. The check byte is then:
cChecksum=0x7F & (sChecksum ^ (sChecksum >> 7) ^ (sChecksum >> 14));
1 Event char as event character (EOR)

ACK- und NAK-Pakete can be used later for error correction mechanisms.
The SPO4025c curerntly does not evaluate those response messages.

Data in packet:

Short packet "Plethysmogram" (every 20 msec):

Offset  Typ Bedeutung
0 short Sample number (300 Hz counter, cyclic),
counts in steps of 6
(300 Hz sampling rate / 50 Hz packet rate)
2 short IR ADC photo diode value
4 short IR ADC photo diode tolerance
6 short IR ADC LED current measured value
8 short Rot ADC photo diode value
10 short Rot ADC photo diode tolerance
12 short Rot ADC LED current measured value
14 short Orange ADC photo diode value
16 short Orange ADC photo diode tolerance
18 short Orange ADC LED current measured value
20 short ADC resistor sensor encoding
22 short ADC ambient light level
24 short ADC reference voltage LED current regulator
26 short ADC processor temperature
28 char LED IR current setting
29 char LED Rot current setting
30 char LED Orange current setting
31 char Preamplifier gain factor setting
32 char RTOS signature
33 char Flags

16-Bit quantities are transmitted with the lower byte first.

Long packet "Oximetry results"

At low/normal heart beat rates extended packets are sent normally a short time after each heart beat, i.e. about once per second. Without finger or with low perfusion the (error) messages are repeated every 3 seconds.

like short packet +

34 char Info byte
35 char Dummy (alignment byte)
36 short Probability for oximetric model 0..100
38 short Perfusion / 0.01 %
40 short Pulse / 0.1 bpm
42 short Pulse rise time / msec
44 short RMS Jitter / msec
46 short SPO2 / 0.1 %
48 short HBCO / 0.1


We have available a more detailed description with example data. It comes with source codes, that demonstrates schematically how to process the protocol. This descript is available on request.


Copyright http://www.cadt.de