一种基于 MCS51 的低成本LabVIEW实验教学系统
0 引言
NI 公司于20 世纪70 年代提出了虚拟仪器的概念。虚拟仪器是在以计算机为核心的平台上,由用户设计,具有虚拟面板,由软件实现测试功能的计算机仪器系统,是计算机与测试仪器相结合的产物。虚拟仪器最常用的编程语言为LabVIEW,是NI公司的基于图形化编程语言的虚拟仪器开发工具,利用它可以轻松组建一个测试系统而无需进行繁琐的代码编写。因此虚拟仪器大大突破了传统仪器在灵活性,以及数据处理、显示、存储等方面的不足,其主要优势在于:用户能够根据需求灵活的进行功能修改和扩展;人机界面为视窗界面,形象直观;网络连接简单易行,便于组建测控网络。
目前虚拟仪器在通信、汽车、测控等行业得到了广泛的应用。相应的各大高校也在NI公司的支持下,陆续开设了虚拟仪器课程,组建了相关的实验室,如西安交大利用虚拟仪器讲授信号处理;天津大学开设的智能检测仪器课程。
目前国内高校教授虚拟仪器课程使用的信号采集板多为NI 公司的数据采集板卡,如USB600X,USB92XX,PCI62XX 系列。这类板卡虽然性能优良,配套软件齐备,但是作为高校教学也存在不足之处。首先NI公司只卖板卡不卖技术,这样在教学中教师和学生只能使用板卡,而不能掌握虚拟仪器硬件系统的具体结构和技术细节;其次这类板卡一般价格较贵,普遍在2 000元以上,相对高校而言开课成本太高,这一点对于欠发达地区的一般学校尤为突出。
本文利用廉价的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 和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 端口
- 低功耗嵌入式实现的方方面面(04-30)
- 以太网供电芯片:合规与超规(07-25)
- 无线充电技术介绍(06-01)
- 基于MSP430单片机的电源监控管理系统(04-20)
- 智能型的铅酸蓄电池管理系统(04-29)
- 基于56F803型DSP的大功率超声波电源的研究(06-23)