一站式电子元器件采购平台

华强商城公众号

一站式电子元器件采购平台

元器件移动商城,随时随地采购

华强商城M站

元器件移动商城,随时随地采购

半导体行业观察第一站!

芯八哥公众号

半导体行业观察第一站!

专注电子产业链,坚持深度原创

华强微电子公众号

专注电子产业链,
坚持深度原创

电子元器件原材料采购信息平台

华强电子网公众号

电子元器件原材料采购
信息平台

如何使用微处理器的UART来实现1线总线主控

来源:analog 发布时间:2023-12-12

摘要: Maxim的应用程序说明解释了如何使用微处理器的UART来实现1线总线主控。查找电气接口图,UART配置,以及UART和1-Wire信号之间的时序关系。

本应用说明解释了如何使用微处理器的UART来实现1线 总线主控。它包括对所需的电接口、UART配置以及UART和1-Wire信号之间的时序关系的解释。此外,它引用了UART 1-Wire Master软件实用程序,该实用程序生成标准和超速速度计时,以帮助开发。在设置UART字节定时时提供的灵活性允许直接实现1线时隙以及复位和存在检测脉冲。

介绍

Maxim创新的1-Wire 协议允许通过单导体和接地基准进行电力传输和数字通信。1-Wire设备为识别,记忆,计时,测量和控制提供了经济的解决方案,并且能够在长距离(>100米)运行。有多种方法可以实现1线主机端驱动程序,例如使用Maxim的桥接设备之一,对微控制器的GPIO进行位敲接,或者使用通用异步接收发送器(UART)等外设来生成所需的时序。本应用笔记讨论了UART实现,并描述了如何使用UART 1-Wire Master软件实用程序来帮助开发过程。应用程序自动为实现每个定时参数所需的广泛波特率配置外设数据。

典型的16kbps数据速率对于预期的任务来说绰绰有余,因为大多数1-Wire设备提供的数据量相对较少。通常使用8位或16位微控制器的通用输入/输出(GPIO)引脚以“位敲击”的方式作为总线主控是很方便的。

然而,在许多32位系统中,处理器时钟频率通常超过100MHz。使用GPIO引脚作为1-Wire总线主机,每个1-Wire位消耗大量时钟周期。其边缘可能无法精确控制以满足必要的定时要求。在32位便携式系统中,当生成1-Wire读取和写入时隙时,会消耗宝贵的电池电量。如果有可用的UART外设,主处理器的位计时和字节帧操作的负担就可以减轻。

本应用说明包括对所需的电接口、UART配置以及UART和1-Wire信号之间的时序关系的解释。假定对无线通信有一个大致的了解。典型的时序和逻辑级别将在下面的讨论中使用。具体的时序和电压规格和公差请参阅1线器件数据表。

概念的概述

如果在波特率、每个字符的数据位、奇偶校验和停止位数量方面进行适当配置,具有各种波特率的UART提供实现1线主控所需的输出时序。改变UART传输字节值会产生1线复位脉冲,以及用于构建低级命令的读写插槽。微处理器简单地将一字节字符码放入UART传输寄存器中以启动1线时序模式。相反,微处理器读取单字节字符代码,对应于从1线从机读取的1位或0位。所有1线位传输都需要总线主机(即UART外设)通过驱动1线总线低电平来启动定时周期。一个字节必须同时被UART发送和接收,以产生1线定时。因此,外设必须支持全双工操作。接收到的字节提供了有用的信息,这些信息可以识别成功传输的数据字节、短连接、数据损坏,或者是否连接了1-Wire从设备。每个传输的字节对应于单个1-Wire读位、写位或复位。

UART到1线电接口


1线器件在1.8V至5.5V的母线电压范围内工作在开路漏环境中。精确的逻辑电平和最小上拉电压取决于器件。因此,请参阅设备数据手册以了解兼容的工作电压。如果主机的TX引脚上的输出电压在从机的工作电压范围内,图1显示了一种可能的配置。来自TX引脚的上拉电压(V(PUP))提供上拉电阻(R(PUP))顶部的电压,而RX引脚的高阻抗输入保持开漏配置。这允许从设备在读取位或复位存在脉冲期间将1线IO线拉低,而TX信号为高。选择R(PUP)值对于正确操作非常重要,因为图1中的配置没有提供强上拉。必须考虑需要额外电流的命令(即复制刮擦板)被传送到从设备的电流量。电阻器必须足够小,以提供所需的电流,同时防止电压降违反从机的最小工作电压或主机和从机的V(IL)电平。对于这种配置,480欧姆电阻通常是1-Wire数据线上拉的一个很好的起点。对于主机的TX引脚上的电压不直接兼容的系统,使用独立的上拉电压连接(图2和图3)。


图1所示。1线总线接口电路。

由于大多数UART传输数据引脚不是开漏的,因此通常需要外部开漏缓冲电路。该电路可以由分立元件(图2)或集成解决方案(如Fairchild NC7WZ07(图3))构成。4.7k欧姆上拉电阻是两个电路中ROM级命令的良好起点,但必须调整大小以允许高电流操作,例如将数据复制到EEPROM。验证逻辑级别不违反主机和从机的EC表参数是很重要的。


图2。分立开漏缓冲器。


图3。集成开式泄放缓冲器。

1线/UART位定时


图5到图9中的时序图描述了1-Wire时隙和相应的UART字节帧之间的关系。UART作为总线主控,因此在TX输出引脚的高到低转换上开始所有通信。当电接口将缓冲的TX信号连接到RX输入引脚时,UART接收每发送一个字节。

每个图包括一个UART配置、发送字节值和预期的接收字节值。列出的UART配置产生符合常规模式1-Wire时序的波形。注意,与读写时间槽相比,UART为重置和存在脉冲检测配置了不同的波特率。也可以使用其他配置,尽管评估标准可能与时序图中的评估标准不同。发送字节值对应于1-Wire总线主角色,接收字节值或范围表示总线上的预期活动。接收值必须进行评估,以确定1线从设备在执行读操作时返回的位值。读取0和读取1的评估标准包含在图中。


图4。时序图图例。


图5。复位脉冲和存在检测。

多个波特率可用于产生1线复位和检测存在脉冲。图5显示了波特率为9600的UART配置,以创建固定速度1-Wire Reset。每个UART比特的时隙是用波特率的倒数(1/波特率)计算的。由于UART的起始位总是低的,因此可以与8个数据位结合使用来制定适当的时序。UART数据首先作为最低有效位传输。发送一个字节F0h使数据位0到3为逻辑0,数据位4到7为逻辑1,从而产生复位低时间(T(RSTL))为520.83us。接收值取决于一个或多个1线从设备的存在、每个从设备当前脉冲的内部定时、上升时间和UART在每个位窗口内的采样时间。如果没有设备存在,接收值等于发送值。当设备存在时,接收值会发生变化。以最小内部定时运行的单个从设备可能以E0h响应,而具有最大内部定时的从设备可能返回90h值。重要的是用示波器或逻辑分析仪确认时序,以确保达到所需的时序。确认所有计时非常重要,因为UART外设对于每个波特率具有不同的错误率。

可能需要在传输的UART字节之间添加延迟,以允许所需的恢复时间(T(REC))。如果需要这些延迟,不要在主机的UART缓冲区中堆叠要连续传输的命令。UART 1-Wire Master实用程序通过计算所选波特率的每个定时参数的TX、RX和延迟值来简化任务。本文档末尾提供了该软件实用程序的链接。这个实用程序为许多波特率的标准和超速计时提供了UART配置。使用实用程序中的帮助菜单获取详细描述。


图6。读取0时隙。


图7。阅读1个时间段。

如前所述,主机总是在1线系统中发起通信。主机将1线IO拉低一段读低时间(T(RL))以从从机读取一个比特。如果从机发送的是0位读采样时间(T(MSR)),则从机在超过主读采样时间(T(MSR))后保持IO低电平,而在发送1位读采样时间时什么也不做,允许IO在主机释放T(RL)结束后浮动。图6和7中生成的读取时隙使用的波特率为115,200。从1-Wire read 0接收到的RX字节的范围从0xFE到0x00,这取决于从设备的内部时间基数和IO上升时间。从1- wire read 1接收到的RX字节总是0xFF(对于115,200波特),因为1- wire slave允许数据线在总线主释放它时立即返回到1状态。发送和接收字节可以随着波特率的增加而变化。UART 1-Wire Master实用程序为所选波特率计算适当的TX、RX和延迟值。


图8。写0时隙。


图9。写1个时隙。

图8和图9显示了如何以115,200的波特率向从设备传输1或0。然而,有许多波特率可以产生适当的定时。同样,UART 1-Wire Master实用程序可以计算适当的值。在查看数字时,似乎没有必要评估1-Wire写入的RX字节,因为IO线完全由主机驱动,从设备不响应任何数据。然而,评估RX值并确保它与TX值匹配确认没有数据损坏。一些1线系统有从设备,可以在正常操作期间添加到系统中。如果在写入过程中添加附加设备,则会在总线上产生一些不需要的转换。检查RX值可以捕获这个问题。


1线Bit-to-Bit定时


1-Wire总线的一个关键优势是位对位时序的灵活性。位之间的延迟可以短到T(REC)最小值,也可以长到总线主机认为必要的长度。在1-Wire位或字节之间没有最大延迟时间。因此,处理器可以在空闲时为UART服务,将位时隙帧化为字节值。与1-Wire设备的通信可以被指定为低优先级任务。处理器不需要浪费处理周期或功率,也不需要忽略高优先级、时间紧迫的任务。


图10。位对位定时灵活性。

UART 1线主实用程序


UART 1-Wire Master实用程序可以快速确定在各种波特率下生成1-Wire时序所需的TX、RX和延迟。该实用程序允许与多产或FTDI制造的USB到UART桥接设备进行通信,允许与1-Wire从设备进行实时通信。如果硬件不可用,可以选择仿真选项。图11中的configuration选项卡提供了输入EC表计时参数的字段。这些值用于计算UART数据。1-Wire选项卡确认在硬件未连接时使用真正的从设备或模拟输出进行正确操作。数据日志显示每个已执行命令的相关信息。从帮助菜单中选择用户指南来使用此工具。


图11。配置选项卡。


图12。机的选项卡。

结论

由于其可编程性,UART在现代处理器中仍然是一个有价值的外设。设置UART字节定时的灵活性允许直接实现1线读/写时隙以及重置和存在脉冲的检测。

UART 1-Wire Master软件实用程序可以为所有定时参数生成常规和超速速度的定时,从而允许快速开发。该工具支持广泛的波特率,确保与大多数(如果不是全部)UART外设兼容。软件实用程序可以从DS1990R下载。

商标

1-Wire是Maxim Integrated Products公司的注册商标。
FTDI是Future Technology Devices International的注册商标。
多产是多产技术公司的注册商标。



声明:本文观点仅代表作者本人,不代表华强商城的观点和立场。如有侵权或者其他问题,请联系本站修改或删除。

社群二维码

关注“华强商城“微信公众号

调查问卷

请问您是:

您希望看到什么内容: