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

网友投稿 572 2022-11-18

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

远距离串口服务器( 适配器)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 表示同步成功)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Notion 类笔记软件的使用误区和反思
下一篇:Jmeter固定定时器的使用详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~