远距离串口服务器( 适配器)UART 转 1-Wire 应用

2022-07-04 14:08:35 浏览数 (1)

远距离串口服务器( 适配器)UART 转 1-Wire 应用

PS304 有 4 个通道的 1Wire 接口,每个接口上可同时连接多个 1Wire 芯片(或设备)。具有 64 位 ID 搜索功能;具有远距离线路的自适应功能。

河北稳控科技远距离串口服务器( 适配器)示意图河北稳控科技远距离串口服务器( 适配器)示意图

ID 搜索与线缆适应检测

向模块发送[WIRE1][FIND],模块返回搜索线路上挂载的所有 1Wire 芯片 ID 并输出,每个 ID占用 8 字节。举例:搜索通道 1 上所有 1Wire 芯片,模块返回信息如下:S2SREC 28 AA 32 B9 21 20 03 94 2D 85 00 10 20 00 00 7A共返回 16 个字节数据,每个 ID8 字节,故通道 1 上有两个 1Wire 芯片

芯片 1ID: 28 AA 32 B9 21 20 03 94

芯片 2ID: 2D 85 00 10 20 00 00 7A

在搜索过程中,模块会检测线缆参数,自动完成线缆适应校正。当对 1Wire 芯片操作发生错误时,或者改变线路长度,或者更换线缆时,应重新进行上述搜索操作,以获得实时的芯片数量和芯片 ID 以及模块对线缆性能的自适应。注:一般而言,线缆越长时搜索过程消耗的时间越长。

DS18B20 温度传感器

DS18B20 是 1Wire 接口的温度传感器,可实现 12 位精度的温度转换和输出功能。 使用方法简要说明如下。

(1)开始一次温度转换

向芯片发送 0xCC 0x44, S2S 协议为: [WIRE1][START][WT2H]CC 44

(2)读取温度

向芯片发送 0xCC 0xBE,然后读取 2 个字节。S2S 协议为: [WIRE][START][WT2H]CC BE[RD2N]

模块返回: S2SREC C8 010x01C8 转换为 10 进制为 456,根据 DS18B20 数据手册说明,这个数*0.0625=28.5℃。

(3)读取温度(使用芯片唯一 ID)

[WIRE][START][WT10H]55 28 AA 32 B9 21 20 03 94 BE[RD2N](下划线部分为已知的芯片 ID)

模块返回: S2SREC C8 01

0x01C8 转换为 10 进制为 456,根据 DS18B20 数据手册说明,这个数*0.0625=28.5℃。

DS2431 存储芯片

DS2431 是一款 1024 位 1-Wire EEPROM 芯片,由 四个存储器页组成,每页 256 位。 数据先被写入一个 8 字节暂存器中,经校验无误后复制到 EEPROM 存储器。其特点在于,四个存储器页相互独立,可以单独设置写保护或 EPROM 仿真模式。对 2431 芯片的读写访问必须以 8 字节为单位并且起始地址必须为 8 的倍数。

(1)读取 EEPROM

向芯片发送 0xCC 0xF0 两字节起始地址,然后读取 8 字节数据。

例:读取 EEPROM 的地址 0~8, [WIRE][START][WT4H]CC F0 00 00[RD8N]

模块返回: S2SREC 31 32 33 34 35 36 37 38

(2)写 EEPROM

2431 的写操作分为写暂存器和暂存器同步到 EEPROM 两个大的步骤。写暂存器:向芯片发送 0xCC 0x0F 两字节起始地址 8 字节数据。[WIRE][START][WT4H]CC 0F 00 00[WT8H]31 32 33 34 35 36 37 38[RD2N]

模块返回: S2SREC 52 D7(0x52D7 是对本次数据发送的 CRC 校验数据)

读取暂存器:向芯片发送 0xCC 0xAA,读 13 字节(3 个寄存器 8 字节暂存器数据 2 字节 CRC)

[WIRE][START][WT2H]CC AA[RD3N][DELAY1][RD10N]

模块返回: S2SREC 00 00 07 31 32 33 34 35 36 37 38 66 B2

暂存器同步到 EEPROM:向芯片发送 0xCC 0x55 两字节起始地址 0x07

模块返回: S2SREC AA(0xAA 表示同步成功)

0 人点赞