Omron D6F-PH User manual

MEMS Differential pressure Sensor
MEMS Differential pressure Sensor
User’s Manual
A288-E1-01
D6F-PH

1D6F-PH MEMS Differential pressure Sensor User’s Manual (A288)
Contents
1. Outline ........................................................................................................................................2
2. Structure .....................................................................................................................................2
3. Dimensions.................................................................................................................................2
4. Principle of Pressure detection ..................................................................................................3
5. Features of Product....................................................................................................................3
6. Usage .........................................................................................................................................5
6-1. Recommended tube connection method of D6F-PH......................................................... 5
6-2. Electrical connection method of D6F-PH........................................................................... 6
7Specification of Communication.................................................................................................7
7-1. Outline of I2C Interface...................................................................................................... 7
7-2. Interface Configuration Registers ...................................................................................... 7
7-2-1. Access Address Registers (00h – 01h).......................................................................... 9
7-2-2. Serial Control Register (02h).......................................................................................... 9
7-2-3. Write Buffer Registers (03h – 06h)............................................................................... 10
7-2-4. Read Buffer Registers (07h – 0Ah).............................................................................. 10
7-2-5. Initialize (0Bh)............................................................................................................... 11
7-2-6. Power Sequence Register (0Dh) ................................................................................. 11
7-2-7. Example of I2C Access Commands............................................................................. 12
7-3. Description of Registers................................................................................................... 13
7-3-1. Sensor Control (D040h) ............................................................................................... 13
7-3-2. Flags (D046h)............................................................................................................... 14
7-3-3. CRC Calculation Control ( D049h ).............................................................................. 15
7-3-4. Data Registers (D051h-D068h).................................................................................... 17
8. Explanation of output data .......................................................................................................18
8-1. Data alignment................................................................................................................. 18
8-2. Register content............................................................................................................... 18
8-3. Example of Sensing data................................................................................................. 19
8-4. Sensor Operation flow chart ............................................................................................ 20
9. I2C Instruction for Sensor Operation .......................................................................................21
10. Sample Source Code ...............................................................................................................24
10-1. D6F_PH_Sample.h ...................................................................................................... 24
10-2. D6F_PH_Sample.c....................................................................................................... 25
11. WARRANTY AND LIMITED LIABILITY....................................................................................32

D6F-PH MEMS Differential pressure Sensor User’s Manual (A288) 2
1. Outline
This User's Manual note is intended to demonstrate how to use and interface with Omron’s
MEMS differential pressure sensor(D6F-PH). It should be noted that this document is intended
to supplement the datasheet, which should be referenced when using the sensor.
2. Structure
Fig.1 shows the internal cross-section view of the MEMS differential pressure sensor
(D6F-PH). Air will flow from one inlet and out the other passing over the MEMS flow chip
surface. The MEMS chip is able to measure the airflow as air passes over the chip.
Fig.1 the internal cross-section view of MEMS differential pressure sensor (D6F-PH)
3. Dimensions
Fig.2 Outline dimensions of D6F-PH
基板
フローセンサチップ 基板
フローセンサチップ
Flow Sensor chip
Substrate
Inlet

3D6F-PH MEMS Differential pressure Sensor User’s Manual (A288)
4. Principle of Pressure detection
By using a thermal mass flow sensor, Omron’s MEMS differential pressure sensor can detect
fine changes in differential pressure.
Fig. 3 Principle of differential pressure sensor (a) and relationship between flow rate
and differential pressure (b)
5. Features of Product
By using a thermal mass flow method, Omron’s MEMS differential pressure sensor is more
sensitive compared with that of a conventional differential pressure sensor in the low-pressure
range.
Fig. 4 Comparison with conventional method and thermal mass flow method
Orange
:
thermal mass flow method
Blue:conventional method
chip
vVout ∝
2
main
vp ∝∆
Thermal mass flow method
The output of Omron’s sensor is
proportional to the square root of
the gas flow rate through the
sensor chip surface.
Conventional method
The output of
a conventional
sensor is proportional to the
square of the gas flow velocity
through the main channel.

D6F-PH MEMS Differential pressure Sensor User’s Manual (A288) 4
Table1. Specifications of D6F-PH□□□□
(Note)Span accuracy and zero point accuracy are the independence errors, and are not satisfied
at the same time.
Item
Description
Min
Typ
Max
Unit
Note
Range of Differential
-50
-
50
Pa
D6F-PH0505AD3
Pressure
0
-
250
Pa
D6F-PH0025AD1
-500
-
500
Pa
D6F-PH5050AD3
Resolution
-
12
-
bit
Zero point accuracy
(Note)
-0.2
-
+0.2
Pa
Span accuracy
(
Note
)
-3
-
+3
%R.D.
Span shift by Temperature
-0.5
-
+0.5
%R.D.
With respect to a change of
10 degC
Response Time
-
33
50
msec
12bit Resolution
Ambient Operating Temp
-20
-
80
degC
without freezing and
condensation
Ambient Storage Temp
-40
-
80
degC
without freezing and
condensation
Ambient Operating Humidity
35
-
85
%RH
without freezing and
condensation
Ambient Storage Humidity
35
-
85
%RH
without freezing and
condensation
Supply Voltage
2.3
3.3
3.6
VDC
Current Consumption
-
-
6
mA
Vcc=3.3V
、
25degC
Frequency of SCL
-
-
400
kHz
FAST Mode

5D6F-PH MEMS Differential pressure Sensor User’s Manual (A288)
6. Usage
6-1. Recommended tube connection method of D6F-PH
When connecting the D6F-PH sensor in a bypass configuration, the sensor is able to
detect fine pressure changes. This is achieved by providing an orifice in the main channel,
which generates a small pressure change before and after the orifice. The D6F-PH will be
connected to the bypass flow path from the pressure port which is provided before and after
the orifice.
Fig. 5 Recommended tube connection method of D6F-PH
Here, the inner diameter of the bypass tube which is connected to the D6F-PH is 4[mm]
and its length is 800[mm] or less.
Orifice
Main Channel
Pressure Port
Flow direction
of main channel
Bypass flow path
length is 800[mm] or less
High Pressure side
Lower Pressure side

D6F-PH MEMS Differential pressure Sensor User’s Manual (A288) 6
6-2. Electrical connection method of D6F-PH
For the I2C output, the D6F-PH will require a pull-up resistor to each clock line(SCL) and
data line (SDA). A pull-up resistor of 2.2[kΩ] (recommended value) should be implemented
between the Vcc as shown in Fig.6. In addition, please adjust the pull-up resistor’s value
depending on the transfer rate of SCL and the I2C wire length.
Fig. 6 Electrical connection method of D6F-PH
* Precautions when connecting the flow sensor
An error may occur during communications due to the effect of the noise of the customer’s environment.
In such a case, check the following points, and correct the communications error.
(1) Checking the communications speed
This product supports an SCL frequency of up to 400 kHz, however, if there is a likelihood of
occurrence of a communications error, we recommend using the SCL frequency at 100 kHz.
(2) Checking the wiring cable
If the length of the cable used to connect the customer-controlled microcontroller and an OMRON
flow sensor is long, the effect of noise may be more prominent. In such a case, OMRON
recommends using a shielded cable.
(3) Checking the pull-up resistor’s value
A pull-up resistor is necessary for I2C communications of this product. Although the recommended
resistor value is 2.2[kΩ], please select the optimum resistor value according to the length of the cable
used to connect the customer-controlled microcontroller and the OMRON flow sensor. A
communications error is judged unless an ACK is returned from the sensor side. The ACK response
time is equal to one clock cycle of SCL. If an ACK response is not returned after this time has
elapsed, it results in a communications error. In such a case, turn off the device.
Sensor

7D6F-PH MEMS Differential pressure Sensor User’s Manual (A288)
7 Specification of Communication
7-1. Outline of I2C Interface
Table2. Basic specification of I2C communication
D6F-PH0025AD1
D6F-PH0505AD3
D6F-PH5050AD3
D6F-PH0025AD1-1
D6F-PH0505AD3-1
D6F-PH5050AD3-1
D6F-PH0025AD1-2
D6F-PH0505AD3-2
D6F-PH5050AD3-2
D6F-PH0025AD1-3
D6F-PH0505AD3-3
D6F-PH5050AD3-3
Communication
method
I2C
Slave
Address
HEX
0x6C
0x6D
0x6E
0x6F
BIN (7bit)
110_1100
110_1101
110_1110
110_1111
Communications
frequency
Max. 400k Hz
Signal
SCL
Serial Clock
SDA
Data Signal
Table 3. I2C slave address is expressed as below. (Example of 0x6C)
Bit
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
R/W
Value
1
1
0
1
1
0
0
1/0
During Write: Set LSB of slave address to “0” to form D8h (1101_1000b).
During Read: Set LSB of slave address to “1” to form D9h (1101_1001b).
7-2. Interface Configuration Registers
The memory and registers access are controlled by writing to the interface configuration
registers.
Table4. Internal Register Map
Address
Register name
Descriptions
D040h
SENS_CTRL
Sensor Control
Register
D046h
FLAGS
Flag Register
D049h
INT_CTRL
CRC Calculation
Control
D051h
COMP_DATA1_H
Compensated Flow
rate Register
D052h
COMP_DATA1_L
D061h
TMP_H
Internal Temperature
Register
D062h
TMP_L
D065h
REF_FLOW1_H
Sensor Reference
Flow Register
D066h
REF_FLOW1_L
D067h
THRESH_FLOW1_H
Sensor Threshold
Flow Register
D068h
THRESH_FLOW1_L
Digital
Processing
Signal
Conditioning
A/D converter
I2C
Configuration
Register

D6F-PH MEMS Differential pressure Sensor User’s Manual (A288) 8
Various internal registers
In case access to internal registers are needed, the target register’s address needs to be set
to the Interface Configuration Register (address:00h and 01h).
Fig. 7 Configuration overview
Table5. Interface Configuration Register Map
Configuration
Address
Function Note
00h
Access Address 1 (Upper byte)
Upper byte of first Access Address
01h
Access Address 2 (Lower byte)
Lower byte of first Access Address
02h
Serial Control
Write / Read Access Control
03h
Write Buffer 0
Data to be written at Address
04h
Write Buffer 1
Data to be written at Address + 1
05h
Write Buffer 2
Data to be written at Address + 2
06h
Write Buffer 3
Data to be written at Address + 3
07h
Read Buffer 0
Data read from Address
08h
Read Buffer 1
Data read from Address + 1
09h
Read Buffer 2
Data read from Address + 2
0Ah
Read Buffer 3
Data read from Address + 3
0Bh
Initialize
0Dh
Power Sequence
Hardware reset control
Upper byte:bit[15:8] of 16bit data, Lower byte:bit[7:0] of 16bit data
I2C Configuration resister
HOST
Access address
Control
R/W Data
No. of bytes (Max. 4)
ROM /
Resister

9D6F-PH MEMS Differential pressure Sensor User’s Manual (A288)
7-2-1. Access Address Registers (00h – 01h)
The access address registers are used to access internal register blocks including sensor
register map, ADC register map, and internal memory. It specifies the data transfer start address
with auto increment for multiple byte data transfer.
Table6. Access Address Register
Address
MSB
D7
D6
D5
D4
D3
D2
D1
LSB
D0
00h
A15
A14
A13
A12
A11
A10
A9
A8
01h
A7
A6
A5
A4
A3
A2
A1
A0
7-2-2. Serial Control Register (02h)
Table7. Serial Control Register (02h)
The serial control register contains various bits to modify the behavior of the serial access.
Address
MSB
D7
D6
D5
D4
D3
D2
D1
LSB
D0
02h
D_byte_
cnt[3]
D_byte_
cnt[2]
D_byte_
cnt[1]
D_byte_
cnt[0]
Req
R_WZ
Acc_ctl2
[1]
Acc_ctl2
[0]
•Acc_ctl2 [1:0] – Access Control bits
0 0 = 16bits address (A15-A0) access ( internal ROM and registers)
0 1 = 8bits address (A7-A0) access and used to access MCU internal 256 byte dual
port RAM.
1 0 = reserved
1 1 = reserved
•R_WZ – Read or Write access select bit
0 = Write Access
1 = Read Access
•Req- Request bit
0 = the previous request is done
1 = new request. After the serial bus bridge controller finishes a request, it will clear
Req to 0. For write requests the bridge controller moves the data in write data
buffers to the location pointed by access address. For read requests the bridge
controller stores the read data into data buffer.
•D_byte_cnt3 [3:0]
Transfer data byte count. It only supports 1, 2, 3, 4 data byte transfer.

D6F-PH MEMS Differential pressure Sensor User’s Manual (A288) 10
7-2-3. Write Buffer Registers (03h – 06h)
There are four write data buffer registers at address: 03h – 06h. To perform a write, the host
can either use a single command or perform separate writes to the following addresses.
The host can write to sensor register map in single byte transfer:
The host can burst write data start from address = 00h with following data byte,
A[15:8]、A[7:0]、18h、data[0].
Or the host can do four serial bus writes and write one data byte into serial bus register with
the following steps.
・Write A[15:8] to address = 00h of interface configuration registers.
・Write A[7:0] to address = 01h of interface configuration registers.
・Write data[0] to address = 03h of interface configuration registers.
・Write 18h to address = 18h of interface configuration registers.(1byte, new request, write)
[Note] Read Serial Control register(02h). If Req = 0 (02h[3]), controller is finished with write.
7-2-4. Read Buffer Registers (07h – 0Ah)
There are four read data buffer registers at address: 07h – 0Ah. To perform a read, the host
can either use a single streaming command or perform separate commands to the following
addresses. After the read request is done by the internal serial bus bridge controller, the Req
bit is cleared to 0 and read data is stored in rd_buf1 – rd_buf4 (address = 07h – 0Ah).
For single byte read request the host can burst write A[15:8], A[7:0], 1Ch at start address =
00h. The host needs to read the command register until the Req bit is cleared to 0, then read
“read data buffer” for read data at address = 07h.
The host can perform a single byte read by individually programming the following registers.
・Write A[15:8] to address = 00h of interface configuration registers.
・Write A[7:0] to address = 01h of interface configuration registers.
・Write 1Ch to address = 02h of interface configuration registers.(1byte, new request, read)
[Note] Read address = 02h. If Req = 0 (02h[3]), controller is finished with read data[0] from
address = 07h.

11 D6F-PH MEMS Differential pressure Sensor User’s Manual (A288)
7-2-5. Initialize (0Bh)
Initialization process after the device is turned on. Initialization must be performed to load the
trimming data of NVM.
・Write 00h in the initialization register (0Bh)
For details, refer to Section 7-2-7. Example of I2C Access Commands.
7-2-6. Power Sequence Register (0Dh)
Table 8. Power Sequence Register (0Dh)
Address
MSB
D7
D6
D5
D4
D3
D2
D1
LSB
D0
0Dh
Hard_Rese
t
ADC_state
ADC_state
ADC_state
Pwr_seq_s
tate5
Pwr_seq_st
ate5
Pwr_seq_st
ate5
Pwr_seq_st
ate5
Table 9. Details of Power Sequence Register
Bit
Name
R/W
Description
[3:0]
Pwr_seq_state5
R
Indicates the state of the power sequence.
h0(0000b): Idle
h2(0010b): Active
h9(1001b): Execute
[6:4]
ADC_state
R
State in which ADC is controlled
[7]
Hard_Reset
R/W
1-> Hardware reset is performed (Automatically
cleared after execution)
0-> Hardware reset is not performed
The state is h0 after the initialization process, or when the power supply is reset.
The state is h2 when 06h is written in D040.
The state is h9 during the operation.
When a hardware reset is performed, the hardware reset bit is automatically cleared to “0” after
the execution of reset, the internal register returns to the default value, and the internal trimming
value is reloaded from the non-volatile memory. This hardware reset function is similar to the
power reset function.
Notes
· When using hardware reset, set bits 0 to 6 to “0”.

D6F-PH MEMS Differential pressure Sensor User’s Manual (A288) 12
7-2-7. Example of I2C Access Commands
I2C Command Examples
・I2C command:I2C write
START Slave Address ACK Access Address ACK Reg Address H ACK Reg Address L
ACK
S D8h (6Ch (7b)+ 0) A 00h A D0h A 40h A
・I2C command:I2C read
Serial Ctrl ACK Write Data ACK STOP
18h A 06h A P
START Slave Address ACK Access Address
ACK
S D8h (6Ch (7b)+ 0) A 07h A
Re-Start Slave Address ACK Read Data H ACK Read Data L ACK STOP
RS D9h (6Ch (7b)+ 1) A xxh A xxh NA P
Start address of serial
configuration registers.
Address to be set to 00h/01h
of serial configuration registers.
Data to be set to 02h/03h
of serial configuration registers.
Start address of serial configuration
registers (Read Buffer 0)
This data will be stored in serial
configuration register “07h” & “08h”
.(Read Buffer 0 / Read Buffer 1)

13 D6F-PH MEMS Differential pressure Sensor User’s Manual (A288)
7-3. Description of Registers
The internal memory and registers of the sensor module can be accessed via the interface
configuration registers.
7-3-1. Sensor Control (D040h)
Table10. SENS_CTRL
Address MSB
D7
D6
D5
D4
D3
D2
D1
LSB
D0
D040h MS DV_PWR[
1]
DV_PWR[
0]
Write
Access
None None None None None Host &
MCU
Host &
MCU
Host &
MCU
Default
0
0
0
0
0
0
0
0
•DV_PWR[1:0] – Main Device power mode setting
0 0 = Standby – All blocks are powered down.
1 0 = MCU on – Used when only MCU is required. Basic analog and memories are
powered on and MCU clock is running.
Note :This register should not be changed during a measurement.
•MS – MCU start – Begin execution of measurement or MCU mode based on the state of
DV_PWR.
•0 = Stop
Sequences are stopped and MCU clock is turned off.
•1 = Start
The MCU clock is started and the MCU mode is executed.

D6F-PH MEMS Differential pressure Sensor User’s Manual (A288) 14
7-3-2. Flags (D046h)
Table11. FLAGS
Address MSB
D7
D6
D5
D4
D3
D2
D1
LSB
D0
D046h
OS1
HV1
SV
Write
Access
None None None None Host &
MCU
None Host &
MCU
Host &
MCU
Default
0
0
0
0
0
•SV – Supply Voltage (VDD) Flag
•0 = Supply voltage is within specification.
•1 = Supply voltage is outside of specification.
•HV1 – Heater Voltage Flag
•0 = Heater voltage is within specification.
•1 = Heater voltage is outside of specification.
•OS1 – Open Sensor Flag
•0 = Sensor is connected.
•1 = Sensor is not connected.
•HV2 and OS2 are reserved bits. In case of write access, you should set to “0”.
*If you want to read flag register, it is recommended to read twice in order to avoid conflict with the
MCU update.

15 D6F-PH MEMS Differential pressure Sensor User’s Manual (A288)
7-3-3. CRC Calculation Control ( D049h )
Table 12. INT_CTRL
ADDR MSB
D7
D6
D5
D4
D3
D2
D1
LSB
D0
D049h
CRC_EN
Write
Access
NONE NONE NONE NONE NONE NONE Host&
MCU
NONE
Default
0
0
0
0
0
0
1
0
•CRC_EN – CRC check calculation enable (See below for more information about the
CRC)
•0 = CRC check calculation disable
•1 = CRC check calculation enable
Description of the CRC calculation
・CRC Overview
The CRC is used as an error detection method in a data communication. Our flow sensor
use the CRC8 polynomial x^8 + x^5 + x^4 + 1. The following is an example of I2C access 2
byte read using CRC function.
Fig 9. Example of 2byte read with CRC
Fig.8 Example of 2byte read with CRC

D6F-PH MEMS Differential pressure Sensor User’s Manual (A288) 16
・Bit unit CRC-8 calculation method
1. The data bit sequence will be aligned in a line.
2. The polynomial bit string will be aligned under the line of the data bit sequence.
3. If the data bit above the leftmost the polynomial bit sequence is 0, the polynomial bit
sequence is shifted one bit to the right. If the data bit above the leftmost polynomial bit
sequence is 1, the data bit and the polynomial bit are calculated by XOR. Then the
polynomial bit sequence are shifted one bit to the right.
4. 1-3steps are repeated until the polynomial bit sequence reaches the right end of the data bit
sequence.
The following example shows how to calculate the CRC byte based on XOR calculation.
Fig.9 XOR operation example of CRC-8
1st Byte of data
hex
04h
02h
bin
100110001
00000010
00000100
225h
11100001
2nd Byte of data
Polynomial (x^8+ x^5+ x^4+ 1)
131h
CRC-byte checksum
Data bit sequence
000001000000001000000000
100110001
000110001100
100110001
0101111010
100110001
00100101100
100110001
0000111010000
100110001
011100001
1st Byte of data
2nd Byte of data
P l i l bit
Polynomial bit sequence

17 D6F-PH MEMS Differential pressure Sensor User’s Manual (A288)
7-3-4. Data Registers (D051h-D068h)
Table13. 16bit Data Register Map
Address Registers Name MSB
D7
D6
D5
D4
D3
D2
D1
LSB
D0
Description
D051h
COMP_DATA1_H
DATA<15:8>
Compensated Flow rate
Register
D052h
COMP_DATA1_L
DATA<7:0>
D061h
TMP_H
DATA<15:8>
Internal Temperature
Register
D062h
TMP_L
DATA<7:0>
For additional information, please refer to Section 8: Explanation of output data.

D6F-PH MEMS Differential pressure Sensor User’s Manual (A288) 18
8. Explanation of output data
The measured data is sent to the dedicated registers. These registers contain, respectively,
upper byte and lower byte of the sensing signals of the sensor.
For example, the compensated flow data is given by the concatenation COMP_DATA1_H &
COMP_DATA1_L in unsigned 16bit number. And the raw flow data is given by the
concatenation UCFM1_H & UCFM1_L and it is expressed as a 2’s complement of signed
16bit number.
8-1. Data alignment
Sensing data is represented as 16bit numbers. The data is split and sent in two consecutive
bytes to Flow Registers in “Big Endian” format.
“Big Endian” means that the upper byte of the number is stored in a register at the lowest
address, and the lower byte at the highest address.
8-2. Register content
・COMP_DATA1_H & COMP_DATA1_L [D051h – D052h] : Compensated Data (unsigned)
These registers contain compensated flow rate data.
○If pressure range is ±50[Pa] or ±500[Pa]
Dp[Pa] = (Pv - 1024)/60000*RANGE – RANGE/2 (RANGE = 100 or 1000)
Where、Pv is Register content stored in the Compensated Flow Data registers [D051h
– D052h].
○If pressure range is 0-250[Pa]
Dp[Pa] = (Pv - 1024)/60000*RANGE ( RANGE = 250 )
Where、Pv is Register content stored in the Compensated Flow Data registers [D051h
– D052h].
・TMP_H & TMP_L [D061h – D062h] : Temperature data (signed)
The values stored in these registers represent the temperature data measured by the
internal temperature of the ASIC.
The following formula can be applied to convert register data into temperature value.
Tv [
℃
] = (Rv – 10214) / 37.39
Where, Tv is Converted temperature value in the degC format, and Rv is Register
content stored in the Temperature Data register.
Note: Temperature data is for reference ONLY. Its accuracy is not specified in the
device specifications.

19 D6F-PH MEMS Differential pressure Sensor User’s Manual (A288)
8-3. Example of Sensing data
The below tables provide a few basic examples of the data that is read in Flow Sensor
Registers when the device is subject to given flow and temperature. The values listed in the
tables are given under the hypothesis of perfect device calibration (i.e. no offset, no gain error,
etc).
Table14. Temperature Data registers content vs. Temperature value
Address of Registers
Value of Registers
Converted
Temperature values
TMP_H
TMP_L
D061h
D062h
HEX
DEC
2Bh
8Dh
2B8Dh
11149
25.0 degC
2Eh
FFh
2EFFh
12031
48.6 degC
26h
BBh
26BBh
9915
-8.0 degC
Table of contents
Other Omron Accessories manuals

Omron
Omron ZG2 Series User manual

Omron
Omron F3W-D User manual

Omron
Omron E3U-GS User manual

Omron
Omron FQ-AC Series User manual

Omron
Omron Sti F3SJ-AM P Series Operating and maintenance instructions

Omron
Omron ZFX-C20 User manual

Omron
Omron F3C-AA42 User manual

Omron
Omron ZS-HLDS5T User manual

Omron
Omron F3SS User manual

Omron
Omron E3X-DA-S User manual