摘要: 本应用说明描述了如何使用LabVIEW通过PC串口使用DS3900 PC COM端口到2线适配器连接到Dallas/Maxim 2线设备。
LabVIEW 是一种用于生产和实验室环境的图形编程工具,用于收集数据和提供控制信号,以监测和控制其监测的环境。DS3900是一个RS-232到2线接口,旨在提供PC的串行端口和任何2线设备之间的硬件/固件接口。
本应用程序简要介绍了如何使用LabVIEW,通过PC串口来控制2线接口。以DS1086为例,给出了一个接口。摘要还介绍了如何配置LabVIEW图形用户界面(GUI)以与DS3900串行端口适配器通信。给出了如何在DS1086低emi EconOscillator 中操纵寄存器设置的示例。提供了显示如何与DS1086通信的详细流程图。
DS3900串行端口转2线适配器不是用于销售的产品,除非在达拉斯半导体提供的支持2线设备(如DS1086)的开发套件中。虽然是为DS1086编写的,但本应用笔记可用于开发与任何Dallas或Maxim 2线设备的基于labview的接口。
LabVIEW是一种图形化编程工具,用于与实验室硬件和实验室设备进行交互。图形化的LabVIEW程序取代了传统的代码,通过使用称为虚拟仪器(VIs)的预制模块减少了开发时间。LabVIEW具有与PC上的串口通信的串行VIs。这些串行VIs可用于与使用DS3900的2线设备通信,DS3900接受来自串行端口的数据和命令,并将信息转换为2线协议。
本应用笔记提供了一个示例,展示了如何使用LabVIEW与2线设备进行通信。LabVIEW示例VI可以从Dallas Semiconductor FTP站点下载。为了运行LabVIEW示例VI,需要安装LabVIEW软件包。
使用LabVIEW示例VI所需的唯一硬件是DS3900。虽然,如果客户应用板有2线通信的方法,则不需要DS3900,但LabVIEW示例可能需要修改。
DS3900提供了一种使用PC的串行端口进行2线通信的方法。DS3900采用MAX3223 RS232收发器将串行端口信号电平从±12V转换为微处理器的电压电平。然后,微处理器能够通过使用其通用异步接收发送器(UART)与PC通信。DS3900的功能图如图1所示。有关更多信息,请参阅DS3900数据表。
图1所示。功能图。
LabVIEW示例VI (communicate_2wire.vi)使用DS3900 2-wirecommands通过串口进行通信。当写入设备时,需要发送以下命令:start、control、registeraddress、data和stop。从设备返回时,需要发送以下命令:start、control、register address、start(重复)、control、data和stop。所有命令均为十六进制形式。请参阅DS10862-Wire示例一节。
DS1086是一种可编程频率合成器,具有2线接口。表1和表2显示了DS1086在2线通信期间发送和接收字节的示例。在本例中,VI将写入和读取F0h以在DS1086中注册02h。虽然DS1086在本应用中使用,但任何2线设备都可以与LabVIEW示例VI一起使用。
每个2线命令由两个字节组成。每个命令的第一个字节决定了要执行的操作的类型。除了开始和停止命令外,第二个字节会有所不同。第二个控制字节由设备标识符、设备地址和R/W位组成。当R/W位设置为0时,数据写入设备。从设备中读取时,第一个控制命令的R/W位应该设置为0,第二个控制命令的R/W位应该设置为1。第二个寄存器地址字节是正在写入或读取的寄存器,要发送或接收的数据在第二个数据字节中。每条命令发送到设备后,都会收到一个或多个字节的确认。
命令 | 1(st)发送字节 | 2(nd)发送字节数 | 1(st)接收字节 | 笔记 |
开始 | 0 xa0 | 0 x00 | 0 xb0 消 | 2线开始 |
控制 | 0最后 | 0 xb0 | 0 xb1 消 | 设备标识符= 1011, 设备地址= 000, R/ w = 0 |
注册 地址 | 0最后 | 0 x02 | 0 xb1 消 | 发送寄存器地址(0x02) |
数据 | 0最后 | 0 xf0 | 0 xb1 消 | 发送数据到写(0xF0) |
停止 | 0 xa3 | 0 x00 | 0 xb3 消 | 2线停止 |
命令 | 1(st)发送字节 | 2(nd)发送字节数 | 1(st)接收字节 | 2(nd)接收字节 | 笔记 |
开始 | 0 xa0 | 0 x00 | 0 xb0 消 | 2线开始 | |
控制 | 0最后 | 0 xb0 | 0 xb1 消 | 设备标识符= 1011, 设备地址= 000, R/ w = 0 | |
注册 地址 | 0最后 | 0 x02 | 0 xb1 消 | 发送寄存器地址(0x02) | |
重复 开始 | 0 xa0 | 0 x00 | 0 xb0 消 | 2线开始 | |
控制 | 0最后 | 0 xb0 | 0 xb1 消 | 设备标识符= 1011, 设备地址= 000, R/ w = 1 | |
数据 | 0 xa2 | 0 x00 | 0 xf1 消 | 0 xb2 消 | 发送数据到写(0xF0) |
停止 | 0 xa3 | 0 x00 | 0 xb3 消 | 2线停止 |
使用以下硬件组件通过串口、DS3900和DS1086与LabVIEW VI: PC进行DS1086通信。图2显示了如何将DS1086连接到DS3900。
图2。典型工作电路。
LabVIEW程序(communicate_2wire.vi)允许用户输入串口设置并读取或写入2线设备。
communicate_2wire。vi执行以下操作(参见图3):
提示用户进行串口设置
配置串口
确定是根据用户输入对寄存器进行读取还是写入
写或读用户输入的寄存器
返回确认字节
在读取过程中返回寄存器中的值
图3。Communicate_2wire。vi流程图。
使用LabVIEW程序:
从Maxim的FTP站点下载2wire.zip
解压缩文件并双击communicate_2wire.vi
输入串口设置并单击Continue(参见图4)
输入寄存器(参见图5)
如果正在写入,请输入数据
点击RUN
当完成运行程序并关闭应用程序时,单击STOP
图4。进入“串口设置”前面板。
图5。Communicate_2wire。vi前面板。
VI的内部结构遵循如下所示的顺序(也在图3中更详细地显示)。首先,VI读取用户提供的串行端口设置,并在前面板上显示所选设置。图6显示了配置串口设置的LabVIEW VI图部分。
图6。输入“串口信息”。
点击RUN按钮后,程序通过串口将前面板上输入的数据发送到DS3900,最后发送到2线制设备。如果用户选择写入数据,则写入循环完成(参见图7)。
图7。连续写。
在图7和图8中,启动命令已经完成。接下来,将控制命令发送到ds3900,并返回确认字节。确认字节总是在发送命令字节之后读取。data命令执行完毕后,发送stop命令。
如果用户选择读取数据,则读取循环将完成(参见图8)。
图8。连续阅读。
在写入或读取完成后,程序等待用户写入或读取另一个寄存器或停止程序。如果点击STOP按钮,程序将停止,即使它没有完成写入2线设备。
本应用说明展示了如何使用LabVIEW VI与2线设备进行通信。使用LabVIEW 2线程序有许多优点。LabVIEW程序在两个方面有助于减少开发时间:不需要编写软件,除了DS3900之外不需要额外的硬件。通过将LabVIEW与GPIBequipment连接,LabVIEW还可以用于自动化设备测试。
DS1086在本应用笔记中作为如何从单字节寄存器读取和写入的示例显示,但任何2线设备都可以与LabVIEW VI一起使用。
LabVIEW VI可以在一个zip文件(2wire.zip)中找到。zip文件中有两个VIs: communicate_2wire。获取COM端口设置s2.vi。获取COM端口设置2。vi是通信的vi。vi引用。
请注意本软件“按原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于适销性、适合特定用途和不侵权的保证。在任何情况下,达拉斯半导体公司都不承担任何索赔、损害赔偿或其他责任,无论是合同诉讼、侵权行为,还是其他,由软件或软件的使用或其他交易引起的,或与之相关的。
社群二维码
关注“华强商城“微信公众号
Copyright 2010-2023 hqbuy.com,Inc.All right reserved. 服务热线:400-830-6691 粤ICP备05106676号 经营许可证:粤B2-20210308