使用LabView控制DS3900串程通信模块

描述

本 应用 笔记 讨论 了 DS3900 串行 通信 模 块 和 LabView(用于 开发 嵌入式 应用 的 图形 化 编 程 平台)。本文 可 作为 基于 LabView 的 DS3900 接口 用户 指南。

介绍

LabView 作为 用于 开发 嵌入式 应用 程序 的 图形 化 编 程 平台 很 广受欢迎。DS3900串行通信模块是一块通用接口板,使用PC的串行端口与配备I²C接口的设备进行通信。DS3900的指令集允许应用软件直接与I²C器件通信。

本 应用 笔记 是 基于 LabView 的 DS3900 接口 用户 指南。要使用此应用程序,用户需要安装LabView。提供标准VI供用户加载和运行程序。本 应用 说明 的 LabView 代码 可 下载 (ZIP, 321K)。

使用 LabView 软件

加载VI后,用户必须运行程序并执行以下步骤。(请参阅图 1

LabVIEW

图1.LabView屏幕,用户从中配置系统进行操作。

用户首先选择用于DS3900编程的串行端口。LabView自动搜索可用的串行端口资源,并将其显示在下拉列表中。选择DS3900连接的串口。

注意:DS3900通信的默认波特率为57600。此应用程序已经过测试,在此波特率下正常运行。建议用户在使用应用程序时不要更改此速率。

如果串口设置正确,LED 开/关功能应该可以工作。如果终端应用有一个LED连接到DS3900的脉冲输出(引脚P3),则当按下LED开/关按钮时,该LED应打开和关闭。

接下来,通过单击“查找I2C地址”按钮,找到I²C总线上所有器件的从地址。使用设置I2C地址字段输入VI将与之通信的从地址。

顶部的选项卡确定用户要使用的特定功能。有多种选项可供选择:

1BYTE:写入或读取寄存器,一次 1 个字节。

2BYTE:写入或读取两个连续的内存地址。这假设每次完成读取或写入时,设备的内部地址计数器都会自动递增。

手动:用户决定I²C应如何操作的控制。下面的“手动控制”部分给出了一些示例。

单字节读写

LabVIEW

图2.执行单字节操作时,用户可以在四个地址中选择与I²C器件通信。

用户可以选择四个不同的地址进行通信(图 2)。任何读取数据都将复制到相应的写入数据部分,以便于操作单个位。

双字节读取和写入

LabVIEW

图3.2BYTE 选项卡允许用户从两个寄存器读取数据。

对于某些设备,一个寄存器可能包含内存中的两个连续字节。此2BYTE选项卡(图3)允许用户读取两个连续寄存器的值,前提是器件中的存储器地址指针自动递增到下一个寄存器。读取的值会自动复制到“将数据写入”条目部分。

手动控制

LabVIEW

图4.手动控制选项卡允许用户定义字节数和预期的读取或写入操作。

通过手动控制(图4),用户决定字节数和所需的特定操作。下面提供了执行标准 1 字节写入和 2 字节读取的示例。

1 字节写入

 

START SEND WRITE (DEVICE
ADDRESS FOR WRITE)
SEND BYTE (MEMORY
ADDRESS)
SEND BYTE (DATA TO
BE WRITTEN)
STOP

 

2 字节读取

 

START SEND WRITE
(DEVICE
ADDRESS
FOR WRITE)
SEND BYTE
(MEMORY
ADDRESS)
SEND
START
(REPEATED
START)
SEND READ
(DEVICE
ADDRESS
FOR READ)
READ WITH
ACK (READ
1ST BYTE)
READ WITH
NACK (READ
2ND BYTE)
STOP

 

重要提示

:读取数据时,最后一个读取的字节应该是“使用 NACK 读取”。这允许用户根据需要读取任意数量的字节。需要“使用 NACK 读取”来通知设备不再发送数据。

用户还可以复位I²C总线。如果用户在手动通信期间迷路并使总线处于未知状态,这将非常有用。SCLSDA 高/低按钮允许用户强制这些引脚达到所需状态。

结论

本 应用 笔记 所 包含 的 LabView VI 显示 了 LabView 在 与 DS3900 通信 方面 的 用 用 大 用。一旦理解了这些初始概念,用户就可以修改VI或复制某些模块以适应特定的应用需求。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分