LabView作为嵌入式应用的图形化界面开发平台得到了广泛应用。DS3900串口通信模块是一款通用接口板,借助该接口板,用户可使用PC串口与具有I2C接口的器件通信。DS3900的指令集允许应用软件与I2C器件直接通信。
本应用笔记是面向DS3900的LabView界面的用户指南。首先,用户需要安装LabView。为用户提供了标准VIwww.cechina.cn,以加载并运行程序。可以下载与本应用笔记相关的LabView代码(ZIP,321K)。
使用LabView软件
加载VI后CONTROL ENGINEERING China版权所有,用户必须运行该程序并按照以下步骤操作。(见图1)
用户首先要选择DS3900所连接的串口。LabView自动搜索所有的可用串口资源,并在下拉列表中显
示这些串口。选择DS3900所连接的串口。
注意:与DS3900通信的缺省波特率为57600。本应用已在该波特率下进行了测试,可正常工作。建议用户在使用本应用时不要改变这个波特率。
正确设置串口后,即可正常使用LED开/关功能。如果终端应用将LED连接到DS3900的脉冲输出端口(P3引脚),则按下LED
下一步,通过点击FIND I2C ADDRESS按钮控制工程网版权所有,找到连接到I2C总线上的所有器件地址。在Set I2C Address输入框内键入将要与VI通信的从器件地址。
通过窗口顶端的标签选择用户要使用的功能。提供多种功能选项:
1BYTE:读或写一个寄存器,每次1个字节。
2BYTE:读或写两个连续存储器地址。我们假定以下情况:在每次读或写操作完成后,设备的内部地址计数器自动递增。
Manual (手动):用户通过它可以控制I2C总线如何操作。下面的手动控制一节给出了一些例子。
单字节读/写操作
用户可以选择四个不同地址以进行通信(图2)。任何READ DATA结果都会被复制到相应的WRITE DATA输入框内,以便于处理各数据位。
双字节读/写操作
对于某些特定设备,一个寄存器可能包括存储器中的两个连续字节。如果设备的存储器地址指针可自动递增以指向下一个寄存器,则2BYTE标签(图3)允许用户读取两个连续寄存器。读出的数据会被自动复制到WRITE DATA TO输入框内。
手动控制
重要提示:当读数据时,最后一个读取的字节应该采用“Read with NACK”。这允许用户根据需要读取多个字节。需要“Read with NACK”以告知设备不要再发送更多数据。 用户可以复位I2C总线。如果用户在手动控制的通信过程中不知怎样操作控制工程网版权所有,并且总线处于未知状态CONTROL ENGINEERING China版权所有,那么这个功能非常有用。SCL和SDA High/Low (高/低)按钮允许用户将这些引脚强制为期望的状态。 总结 本应用笔记结合提供的LabView VIwww.cechina.cn,阐述了与DS3900通信时LabView起到的巨大作用。一旦理解了这些基本概念,用户就可以修改VI或者复制特定模块,以满足特定的应用需求。
用户利用MANUAL控制选项(图4),来决定字节数和所需的操作。下面给出了标准单字节写操作和双字节读操作的例子。