引言
LPC213X系列是NXP公司开发的基于ARM7TDMI-S核[1],拥有ARM体系结构v4版本的嵌入式单片机,因其优异的性能而广泛应用于自动控制、通信等领域,并逐步成为各种仪器仪表的首选控制芯片之一。虚拟仪器(labview)是美国NI公司推出的图形化编程软件,包含了丰富的处理函数和各种算法。目前大部分虚拟仪器要求配以不同总线标准的NI数据采集卡与之配套使用;而由单片机控制的仪表仪器大多自成系统,不能和虚拟仪器配接,这样的系统,其数据分析功能和图形化处理能力有限。如果能将性能优越的LPC213X系列与LabView图形化软件技术结合应用在以嵌入式单片机为控制核心的虚拟仪器仪表系统中,则不仅能发挥嵌入式单片机实时性强等优点,而且更能突显出虚拟仪器界面直观、图形化数据处理能力强等特点[2]。基于这样的一种设计思想,下文提出了该技术的实现方案、方法和测试结果。
1、方案设计
图1为本采集模块的硬件方框图。由它采集电压信号通过串口[3]传输数据给计算机,在计算机中使用LabView7.1编写的程序实时读取数据,并对数据进行相关的分析处理,使用波形记录子VI显示其输入信号的对应关系波形图。
1.1 硬件原理图
图2中IN1和IN2为两路电压模拟输入信号,由程序控制LPC2131[4][5]片内A/D实时对两路信号进行采集。3.3V电源电压经R1,R2精密电阻分压得2.475V提供给LPC2131作A/D满度转换参考电压Vref。采用工作电压3V的RS-232电平转换芯片[6]SP3232E和DB9接插口作为与上位机的通信接口,为了保证它们之间的正常通信及减少数据传送误差,时钟频率选定11.0592MHz。
图2 基于LPC2131的数据采集模块
1.2 软件协议
计算机发送数据采集命令给采集模块,采集模块接收到命令后立即启动片内A/D转换的BURST模式对输入的信号循环采集,采集完的数据经过数字滤波后发送至UART0,由UART0设定的中断通信方式按FIFO的模式将采集到的数据发送回计算机显示。串口的发送和接收的数据格式为:8位数据位,1位停止位,奇校验;传输波特率设定为:115200bps。计算机对应采集到的数据显示格式为:
1.3 模块软件框图
LPC2131片内自带一10位的8路A/D转换器[6],有单路启动和逐个循环采集两种模式,本模块采用逐个循环采集模式,由A/D转换寄存器AD0DR读到的值Value,其对应的实际采集电压为 。本程序分别采集两路电压输入信号并进行数字滤波,计算其实际电压值,然后等待上位机的发送命令,一旦接收到上位机的命令,即用中断方式通信,发送采集数据给计算机。其程序框图如下:
图3 模块软件框图
1.4 虚拟仪器的软件框图
在计算机中以LabView7.1为软件开发平台[7],接收和处理采集模块的数据。由以下两部分组成:
(1)通信模块(如图4):负责选择通信端口和端口参数设置,以及发送命令。
(2)波形记录模块(如图5):负责把两路采集到电压信号进行函数关联,显示其对应关系波形图。
图4中的“ ”小图标封装了串口通信 “ ”子VI以及与串口相关的子VI的自编程模块,实现与串口相关通信端口、波特率、数据位数、停止位、校验位等参数的设置及初始化任务。“ ”图标则封装读串口数据“ ”等子VI的自编程模块实现对串口进行读数据。“ ”图标负责对串口采集到的数据在前面版中显示数据。
图5的功能是使用LabView7.1的SubPanel功能,通过它,主程序可以调用readfiledraw1.vi子VI。readfiledraw1.vi子VI是自行编写的功能模块,它可以对串口采集的数据进行存储、分析、处理并对两路输入信号进行相关的绑定即建立其对应关系,通过波形记录图[8]显示其结果。
2 、测试结果
图6是采用上述模块采集的IN4007整流二极管的正向伏安特性曲线。从图中可得加在二极管的正向电压变化从0~1V变化,该图中清晰地显示该二极管的导通电压为0.6V左右,0.6~0.75之间有一小段非线性,0.75V~1.0V之间基本为线性变化与硅材料制作的二极管的参数基本是一致的。
3、结论
由测试结果表明,本文设计的串口通信的方案是有效、可行的。它成功地把嵌入式单片机和虚拟仪器有机地结合应用,该方法简单方便,可移植应用于以嵌入式单片机为控制核心的仪器仪表与虚拟仪器之间的数据交换和检测等方面,有较高的实用价值。随着各种不同领域的需求,嵌入式单片机技术与虚拟仪器技术的结合应用必定成为一种趋势,该方案提出的实现方法也可以扩展到LPC2200等其它系列嵌入式单片机和虚拟仪器技术的结合应用场合。
相关文章