基于MCS51的低成本LabVIEW实验教学系统
0 引言 虚拟仪器是在以计算机为核心的平台上,由用户设计,具有虚拟面板,由软件实现测试功能的计算机仪器系统,是计算机与测试仪器相结合的产物。虚拟仪器最常用的编程语言为LabVIEW,利用它可以轻松组建一个测试系统而无需进行繁琐的代码编写。因此虚拟仪器大大突破了传统仪器在灵活性,以及数据处理、显示、存储等方面的不足,其主要优势在于:用户能够根据需求灵活的进行功能修改和扩展;人机界面为视窗界面,形象直观;网络连接简单易行,便于组建测控网络。 目前虚拟仪器在通信、汽车、测控等行业得到了广泛的应用。 本文利用廉价的MCS51单片机设计了包含常用传感器、数据采集模块与USB 通信接口的LabVIEW 实验教学系统,并编制了常用的实验案例程序.
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 和RS 232串行端口之间的转换。PL2303拥有2个独立的大型缓冲进行两种总线的连接。大型数据缓冲器用于USB的批量数据传输,而串行通信可使用自动握手模式,因而可以达到远大于标准UART 控制器的波特率。PL2303 支持USB电源管理和远程唤醒协议,当主机挂起时消耗极小的电能;芯片亦可以安装在电缆线中,用户只需将其连入主机USB 或USB HUB 上,就可以实现与单片机RS232串口的通信。单片机与TLC2543和PL2303的具体接口电路如图3所示。
2 实验程序设计 传统的开发USB 应用系统的步骤是:先用Win-dows DDK(设备驱动程序开发包)或第三方开发工具(如DriverStudio)开发USB驱动程序,然后用Visual C++编写DLL(动态连接库),最后再调用DLL来开发应用程序。显然,这对Windows编程不熟悉的人来说有一定的难度。VISA(Virtual Instrument Software Architecture)是NI公司开发的一种用来与各种仪器总线进行通信的高级应用编程接口。VISA是一个综合软件包,不受平台、总线和环境的限制,可用来对USB、GPIP、串口、VXI、PXI和以太网系统进行配置、编程和调试。LabVIEW通过调用VISA函数来实现USB设备的控制和通信。在这里主要使用了VISA Open,VISA Write,VISA Read,VI-SA Close这4个VISA 函数。与USB 设备的通信过程分为4个步骤: (1)由VISA Open 函数打开VISA resource name 端口指定的USB设备; (2)通过VISA Write函数向USB设备发送控制命令启动设备工作,USB设备接收到控制命令后开始采集数据并将采集到的数据按要求发送到数据缓冲区; (3)通过VISA Read函数将数据读出; 3 结语 虚拟仪器实验教学系统是虚拟仪器课程教学中不可或缺的设备,利用廉价的MCS51 单片机设计了包含常用传感器、数据采集模块与USB通信接口的LabVIEW实验教学系统。
|