查看: 287|回复: 2

[原创] 在RT10xx MCU上通过LPUART实现1-Wire单总线协议

[复制链接]

该用户从未签到

22

主题

50

帖子

0

高级会员

Rank: 4

积分
650
最后登录
2024-4-13
发表于 2023-12-21 22:27:01 | 显示全部楼层 |阅读模式
在RT10xx MCU上通过LPUART实现1-Wire单总线协议

    1-Wire单总线是美国 DALLAS 公司推出的外围串行扩展总线技术。它采用单根信号线,既传输时钟,又传输数据,而且数据传输是双向的。1-Wire单总线协议通过一条线实现四种基本操作:复位、写1位、写0位和读位操作。
     为了实现1-Wire协议,传统方式是采用一个GPIO脚配合软件延时的方式实现相关协议,1-Wire总线协议需要微秒级时间分辨率。但在运行RTOS嵌入实时操作系统环境下,软件模拟1-Wire可能存在延时不准确的问题。另一种方式是使用标准串口实现1-Wire协议的bit数据的读、写时隙,由串口内部的移位寄存器硬件去实现发送、接收过程。
     标准串口1 btye数据包括1 bit起始位(低电平)、8个数据位、1停止位(高电平)。可以通过串口1 byte模拟出1-Wire的1 bit时隙。
1-Wire协议写信令,写操作需要60-120us,从设备在15-60us进行采样。如果将串口的波特率设置成波特率为115200 bps,即每1 bit的宽度为8.6 μs,串口1 btye有9位数据组合成t=8.6*9=78us,满足读写脉冲至少60 μs的协议要求。如果串口发送0x00数据,就是1-Wire写0信令,如果串口发送0xFF数据,就是1-Wire写1信令。串口发送0xFF,如果串口收到还是0xFF,那么就是读到1,反之就是读到0。

    1-Wire协议复位信令,由于复位的时序要求比较长,115200的波特率无法满足,复位时需要先将波特率设置成9600bps,复位完成后改成115200bps。串口Tx发送复位字节0xF0,低电平时长为1000000/9600* 5 = 520us。如果串口Rx收到0xF0说明设备没有应答,其他说明设备应答成功。
在RT1050 MCUXpresso SDK的例程$(SDK)\boards\evkbimxrt1050\driver_examples\lpuart\polling基础上快速实现1-Wire测试代码。

    上述介绍了如何在 NXP RT1052MCU上通过LPUART串口实现1-Wire单总线协议。使用LPUART硬件配合软件,满足 1-Wire通信协议和系统的实时性,可以运行在Bare metal或者RTOS实时操作系统环境。


相关的文档和测试源代码可以从下面百度网盘下载:

在RT10xx MCU上通过LPUART实现1-Wire单总线协议.pdf (746.76 KB, 下载次数: 7)
回复

使用道具 举报

  • TA的每日心情
    开心
    2024-3-20 09:36
  • 签到天数: 451 天

    [LV.9]以坛为家II

    3

    主题

    1147

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2338
    最后登录
    2024-3-20
    发表于 2023-12-22 10:04:04 | 显示全部楼层
    这个还真是一个好的思路!
    感觉还是SPI外设来实现要方便很多
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-1-21 12:18
  • 签到天数: 1081 天

    [LV.10]以坛为家III

    16

    主题

    1903

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5046
    最后登录
    2024-4-27
    发表于 2023-12-22 12:42:44 | 显示全部楼层
    不错,感谢分享
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-27 17:03 , Processed in 0.118195 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表