首页 接线图文章正文

使用 UART 实现 1-Wire 总线主控

接线图 2023年10月03日 17:08 294 admin
    1-Wire 器件为识别、存储、计时、测量和控制提供了经济的解决方案。1-Wire 数据接口被减少到绝对最小值,即一条数据线加上一个接地参考。由于大多数 1-Wire 器件提供相对少量的数据,因此 16kbps 的典型数据速率对于预期任务来说绰绰有余。以“位联动”方式使用 8 位或 16 位微控制器的通用输入/输出 (GPIO) 引脚充当总线主控通常很方便。
    然而,在 32 位系统中,处理器时钟频率通常超过 100MHz,并且使用 GPIO 引脚作为 1-Wire 总线主控器会消耗每个 1-Wire 位大量的时钟周期。在 32 位便携式系统中,在对 1-Wire 读和写时隙进行计时时会消耗宝贵的电池电量。一些系统通过在其芯片组中包含DS1WM可合成 1-Wire 总线主控* 硬件块来减轻主处理器的位定时和字节成帧操作的负担。如果DS1WM或其他硬件 1-Wire 主端口不可用,如果通用异步接收器发送器 (UART) 通道可用,则可以轻松完成与 1-Wire 器件的通信。
    本应用笔记包括所需电气接口、UART 配置以及 UART 和 1-Wire 信号之间的时序关系的说明。假定您对 1-Wire 通信有一般性的了解。下面的讨论中使用了典型的时序和逻辑电平,读者应参考特定的 1-Wire 器件数据手册,了解具体的时序和电压规格及容差。
    概念概述
    正确配置波特率、每个字符的数据位、奇偶校验和停止位数量后,每秒 115,200 位的 UART 可以提供实现 1-Wire 主设备所需的输入和输出时序。UART 产生 1-Wire 复位脉冲以及读和写时隙。微处理器只需将一字节字符代码放入 UART 发送寄存器以发送 1-Wire 1 或 0 位,然后 UART 即可完成工作。相反,微处理器读取与从 1-Wire 从机读取的 1 或 0 位相对应的单字节字符代码。所有 1-Wire 位传输都需要总线主控器 UART 通过将 1-Wire 总线驱动为低电平来开始周期。因此,每个 1-Wire 位周期包括 UART 的一个字节发送和一个字节接收。读取时,接收到的数据是有意义的,但是写入时,接收字节被丢弃。根据 UART 的读写先进先出 (FIFO) 缓冲区深度,UART 还可以将 1-Wire 位构建为字节值,进一步减少处理器开销。
    UART 至 1-Wire 电气接口
    1-Wire 器件在开漏环境中工作,总线电压范围为 2.0V 至 5.5V。精确的逻辑电平和最小上拉电压取决于器件,但寄生电源器件通常需要 2.8V 的最小上拉电压,以便在数据线处于低电平期间对用于供电的内部存储电容器进行充电。4.7kΩ 电阻器通常用作 1-Wire 数据线上的上拉电阻。该电阻器被动地提供逻辑高信号,而总线主设备和所有从设备驱动逻辑低信号。器件通常包含一个弱内部下拉,如图 1 中的 Ipd 所示。
  使用 UART 实现 1-Wire 总线主控  第1张    由于大多数 UART 发送数据(TXD)引脚不是开漏引脚,因此通常需要外部开漏缓冲电路。该电路可以由分立元件构成,如图 2 所示,也可以使用如图 3 所示的Fairchild  NC7WZ07等集成解决方案。在这两个电路中,4.7kΩ 上拉电阻在 1-Wire 总线上提供逻辑高电平。
   使用 UART 实现 1-Wire 总线主控  第2张

使用 UART 实现 1-Wire 总线主控  第3张

    使用 UART 实现 1-Wire 总线 Master_
    集成开漏缓冲器。
版权与免责声明

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

标签: 微控制器 电池 电源 电容器

发表评论

接线图网Copyright Your WebSite.Some Rights Reserved. 备案号:桂ICP备2022002688号-2 接线图网版权所有 联系作者QQ:360888349