基于MCS51的低成本LabVIEW实验教学系统

在此利用廉价的MCS51单片机设计了包含常用传感器、数据采集模块与USB通信接口的LabVIEW实验教学系统 。该系统使用USB接口与上位机通信并提供电源,而上位机编程直接调用VISA驱动USB接口,大大降低了数据采集程序设计的难度 。该系统可以满足大学虚拟仪器实验教学的需要,性价比高,具有良好的推广前景 。
【基于MCS51的低成本LabVIEW实验教学系统】0 引言
NI 公司于20 世纪70年代提出了虚拟仪器的概念 。虚拟仪器是在以计算机为核心的平台上,由用户设计,具有虚拟面板,由软件实现测试功能的计算机仪器系统,是计算机与测试仪器相结合的产物 。虚拟仪器最常用的编程语言为LabVIEW,是NI公司的基于图形化编程语言的虚拟仪器开发工具,利用它可以轻松组建一个测试系统而无需进行繁琐的代码编写 。因此虚拟仪器大大突破了传统仪器在灵活性,以及数据处理、显示、存储等方面的不足,其主要优势在于:用户能够根据需求灵活的进行功能修改和扩展;人机界面为视窗界面,形象直观;网络连接简单易行,便于组建测控网络 。
目前虚拟仪器在通信、汽车、测控等行业得到了广泛的应用 。相应的各大高校也在NI公司的支持下,陆续开设了虚拟仪器课程,组建了相关的实验室,如西安交大利用虚拟仪器讲授信号处理;天津大学开设的智能检测仪器课程 。
目前国内高校教授虚拟仪器课程使用的信号采集板多为NI 公司的数据采集板卡,如USB600X,USB92XX,PCI62XX系列 。这类板卡虽然性能优良,配套软件齐备,但是作为高校教学也存在不足之处 。首先NI公司只卖板卡不卖技术,这样在教学中教师和学生只能使用板卡,而不能掌握虚拟仪器硬件系统的具体结构和技术细节;其次这类板卡一般价格较贵,普遍在2000元以上,相对高校而言开课成本太高,这一点对于欠发达地区的一般学校尤为突出 。
本文利用廉价的MCS51单片机设计了包含常用传感器、数据采集模块与USB 通信接口的LabVIEW实验教学系统,并编制了常用的实验案例程序,满足了本科生虚拟仪器实验教学的需要,且成本相对于NI的产品大大降低,针对高校市场具有良好的推广前景 。
1 系统结构
整个系统由前端传感器、单片机数据采集以及USB通信接口几部分组成,如图1所示 。
 
1.1 前端传感系统
虚拟仪器实验系统的前端传感器将待测的物理量转换成电量(电流或电压),作为后面采集处理系统的输入信号,是整个测试系统与外界的接口与桥梁 。本实验系统集成了温度、光强与电阻传感器,并预留了扩展接口以外接其他传感器 。其中温度传感器为数字温敏器件DS18B20,能够在-55~125℃的范围内提供9~12 b分辨率的温度数据,具有0.5℃的精度,适合于一般场合的应用,其优点在于能够直接提供数字温度值,可以与后端MCU直接接口,省去了调理电路 。而电阻测量采用串联分压法,即将待测电阻Rx与已知电阻串联后外加固定电压Vref,将Rx上的分压V作为待测信号,后端采集与处理系统只需测得V就可以根据比例关系求出Rx.光强传感器则使用光敏电阻,具体电路如图2所示 。
 
1.2 数据采集与通信
数据采集使用12 位ADC器件TLC2543,该器件具有11位模拟输入端,可通过控制字灵活选择不同输入端口,适合于多传感器输入应用 。器件控制字输入和转换数据输出都为串行模式,可以与51单片机以尽可能少的连线接口 。51单片机与上位机使用USB接口通信 。USB接口基于单一的总线接口来满足多种应用领域的需求,其具有的即插即用、支持热插拔、易于扩展等特性极大地方便了用户,已逐渐成为现代数据传输的主流 。由于51单片机自身不拥有USB 接口,所以需要外接USB 控制器 。
本系统使用PL2303 来实现USB 和RS232串行端口之间的转换 。PL2303拥有2个独立的大型缓冲进行两种总线的连接 。大型数据缓冲器用于USB的批量数据传输,而串行通信可使用自动握手模式,因而可以达到远大于标准UART控制器的波特率 。PL2303 支持USB电源管理和远程唤醒协议,当主机挂起时消耗极小的电能;芯片亦可以安装在电缆线中,用户只需将其连入主机USB 或USBHUB 上,就可以实现与单片机RS232串口的通信 。单片机与TLC2543和PL2303的具体接口电路如图3所示 。
 
2 实验程序设计
传统的开发USB 应用系统的步骤是:先用Win-dowsDDK(设备驱动程序开发包)或第三方开发工具(如DriverStudio)开发USB驱动程序,然后用VisualC++编写DLL(动态连接库),最后再调用DLL来开发应用程序 。显然,这对Windows编程不熟悉的人来说有一定的难度 。VISA(VirtualInstrument SoftwareArchitecture)是NI公司开发的一种用来与各种仪器总线进行通信的高级应用编程接口 。VISA是一个综合软件包,不受平台、总线和环境的限制,可用来对USB、GPIP、串口、VXI、PXI和以太网系统进行配置、编程和调试 。LabVIEW通过调用VISA函数来实现USB设备的控制和通信 。在这里主要使用了VISAOpen,VISA Write,VISA Read,VI-SA Close这4个VISA 函数 。与USB 设备的通信过程分为4个步骤:
(1)由VISA Open 函数打开VISA resource name 端口指定的USB设备;
(2)通过VISAWrite函数向USB设备发送控制命令启动设备工作,USB设备接收到控制命令后开始采集数据并将采集到的数据按要求发送到数据缓冲区;
(3)通过VISA Read函数将数据读出;
(4)通过VISA Close 函数关闭设备 。PC 主机与USB 设备进行通信的LabVIEW程序框图如图4所示,而51单片机的程序结构如图5所示 。
3 结语
虚拟仪器实验教学系统是虚拟仪器课程教学中不可或缺的设备,本文针对NI等主流数据采集板卡存在的价格昂贵且技术屏蔽问题,利用廉价的MCS51单片机设计了包含常用传感器、数据采集模块与USB通信接口的LabVIEW实验教学系统 。

    推荐阅读