LabView作为嵌入式应用的图形化界面开发平台得到了广泛应用。DS3900串口通信模块是一款通用接口板,借助该接口板,用户可使用PC串口与具有I2C接口的器件通信。DS3900的指令集允许应用软件与I2C器件直接通信。
本应用笔记是面向DS3900的LabView界面的用户指南。首先,用户需要安装LabView。为用户提供了标准VI,以加载并运行程序。可以下载与本应用笔记相关的LabView代码(ZIP,321K)。
使用LabView软件
加载VI后,用户必须运行该程序并按照以下步骤操作。(见图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总线。如果用户在手动控制的通信过程中不知怎样操作,并且总线处于未知状态,那么这个功能非常有用。SCL和SDA High/Low (高/低)按钮允许用户将这些引脚强制为期望的状态。 总结 本应用笔记结合提供的LabView VI,阐述了与DS3900通信时LabView起到的巨大作用。一旦理解了这些基本概念,用户就可以修改VI或者复制特定模块,以满足特定的应用需求。
用户利用MANUAL控制选项(图4),来决定字节数和所需的操作。下面给出了标准单字节写操作和双字节读操作的例子。