u 订购型号
P2310 | 数字压力变送器 |
| 量程 | 测量范围:0MPa~1.6MPa┅5MPa |
[0~X]bar | X:实际测量量程 |
压力类型 | G—表压,A—绝压 |
输出信号 | IC: | I2C 输出 |
V1: | 0.5-4.5V电压输出 |
V2: | 0-5V电压输出 |
V3: | 1-5V电压输出 |
V4: | 0-10V电压输出 |
电气接口 | ELx | EL-线缆(x-线缆长度)EP-排线 |
E1 | M12-4pin |
压力接口 | 19 | 19mm芯体尺寸 |
15 | 15.8mm芯体尺寸 |
外壳类型 | A | 定制外壳图纸代号 |
X | 定制类型 |
| N | 测量负压 |
P2310 -[0~10]bar-G – IC -EP -19 -A 完整的规格型号 |
例如:P2310 -10bar-G – IC -EP -19-A:压力传感器,量程0~10bar G,0.5-4.5 输出,19mm芯体外形,图纸A注:
1.压力输出换算参考表A
2.产品通讯协议请参考《IIC通讯协议指令说明》文档
3.线束类型及长度参考图纸
u 附录2: I2C通讯协议
P2310型I2C数字压力传感器使用 I2C 总线协议与外部进行通信。所有的数据的通信都从 MSB 开始,默认的 7bit I2C 设备地址为 0x78。P2310作为I2C 的从设备,主设备可使用以下几种格式的命令与之通信。
1. 发写命令
写命令中的0xF0表示默认的7bits I2C设备地址为0x78,最后1bit 为0表示主设备写操作。

图 1 写命令
2. 等待
发送完写命令后需要等待一段时间再发送读命令,因为内部完成整个测量需要一段时间。等待的时长取决于OTP(Address: 0x14)的[13:11]压力过采样率和OTP(Address: 0x14)的[15:14]温度过采样率的设置。对照附录的表1和表2,等待的时长=tP+tT。等待时长不需要计算,可以通过不断读I2C状态字的方式判断出是否采集已经完成。
3. I2C接口时序

图 2 I2C接口时序
START Condition
SDA 由空闲高状态转换为低状态,这时 SCL 保持高。如果传输过程中重复发送 Start Condition,传输将会重新开始而没有中间的停止位。
Address Bits
在第一个字节传输过程中,前 7-bits 提供设备的指定地址,默认为 0x78。这个地址的设备将会应答本次通信。
Read/Write Direction Bit
在第一个字节传输过程中,最后一比特指出通信的方向。0 表示主设备写操作,1 表示主设备读操作。如果主设备请求读从设备,则主设备将在后来的字节控制 SDA 线输出数据。
Data Byte
所有其它的字节,除了地址和读/写位,在 SDA 上传输被认为是通信的数据字节。
Acknowledge or Not Acknowledge Bit
应答位用来告诉发送者字节已经接收到。设备接收到数据需要应答每个字节,包括地址字节。在这个时刻,发送数据的总线设备停止驱动 SDA 线并且 SDA 线被拉高。不应答一个字节,接收设备不需要做任何事。应答一个字节,接收设备需要把 SDA 拉低。
一个接收从设备不需要应答,如果从设备不是寻址的设备或者设备不能处理接收的字节。主设备不应答,如果主设备在接收中并且想结束通信。如果遇到不应答。设备传输数据需要产生一个停止位。
Stop Condition
SDA 从低状态转换到高状态,而且 SCL 保持高。结束 I2C 通信。
4. 读数
要保证写指令和读指令的时间间隔大于测量的时长才能够读出校准数据,读数格式如图2所示,读命令中的0xF1表示默认的7bits I2C设备地址为0x78, 最后1bit为1表示主设备读操作。读到的校准数据共6个字节,依次为1字节状态字,3字节电桥校准值,2字节温度校准值。
图3 I2C读出5字节校准后的电桥和温度值
I2C 接口的任何响应都由 status 字节开始,紧接着是数据,返回的数据内容基于前一条指令。如果重复 I2C 读指令,则将多次读到相同的数据。如果下一条命令不是 I2C 读指令,则前一次数据无效。
5. 输出换算
表- 24bit AD输出百分比
百分比输出(%) | 数字量(十进制) | 数字量(十六进制) |
0 | 0 | 0x000000 |
10 | 1677722 | 0x19999A |
15 | 2516582 | 0x266666 |
85 | 14260633 | 0xD99999 |
90 | 15099494 | 0xE66666 |
100 | 16777215 | 0xFFFFFF |
(1)读到校准数据后,需要将以百分比形式表示的无符号数进行简单的换算。
为方便理解我们假设读到的校准数据为:0x04 0x9B 0xB0 0xC5 0x56 0xAA。
0x04为状态字,Bit5为1表明最近一次I2C忙,需要等待一段时间。如果Bit5为0表明设备非忙,可以读取数据。状态字各比特的详细描述请参见附表。
0x9B 0xB0 0xC5 三个字节为电桥校准值。
0x56 0xAA 两个字节为温度校准值。
(2)电桥校准值换算:
将0x9B 0xB0 0xC5转换为十进制数为10203333,由于读取到的校准数据是以百分比形式表示的,这个百分比在数值上等于换算得到的十进制数与24bits无符号数的最大值(16777214)之比,所以在换算百分比时可进行如下计算:
10203333/16777216*100%=60.8166%
产品输出:15%~85%
本次计算假设校准时使用的量程为20Kpa~120Kpa
所以输出压力值=[(60.8166%-15%)/70%] *(120-20)+20=85.45229 Kpa
(3)温度校准值换算:
将0x56 0xAA 转换为十进制数为22186,由于读取到的校准数据是以百分比形式表示的,这个百分比在数值上等于我们换算得到的十进制数与16bits无符号数的最大值(65535)之比,所以在换算百分比时可进行如下计算:
22186/65536*100%=33.85%
温度的校准范围规定为-40℃~150℃
所以校准值=(150—(-40))*33.85%—40=24.32℃
附表
表1 压力过采样率和测量时间对照表
OSR_Pressure[13:11](二进制) | 对应的过采样率 | 测量时间tP(ms) |
000 | 32768 | 203 |
001 | 16384 | 105 |
010 | 8192 | 56 |
011 | 4096 | 31 |
100 | 2048 | 19 |
101 | 1024 | 13 |
110 | 512 | 10 |
表2 温度过采样率和测量时间对照表
OSR_Temperature[15:14](二进制) | 对应的过采样率 | 测量时间tT(ms) |
00 | 2048 | 19 |
01 | 4096 | 31 |
10 | 8192 | 56 |
11 | 16384 | 105 |
表3 Status字节比特位描述
比特位 | 意 义 | 描 述 |
Bit7 | 保留 | 固定为0 |
Bit6 | 上电指示 (Power indication) | 1设备上电(VDDB on);0设备掉电 |
Bit5 | 忙闲指示(Busy indication) | 1设备忙,表明最近一次I2C命令所要求读取的数据还未有效。如果设备忙,新的命令将不被处理。0表明最近一次I2C命令所要求读取的数据已经准备好被读取 |
Bit4 | 保留 | 固定为0 |
Bit[3] | 工作状态 (Mode Status) | 0 NOR mode 1 CMD mode |
Bit2 | 存储器数据完整性指示 (Memory integrity/error flag) | 0表示OTP存储器数据完整性测试 (CRC)通过, 1表示完整性测试失败。对数据完整性的测试只在上电过程中(POR)计算一次,所以被写入的新CRC值只能在接下来的POR之后使用。 |
Bit1 | 保留 | 固定为0 |
Bit0 | 保留 | 固定为0
|