历史上的今天
返回首页

历史上的今天

今天是:2025年03月20日(星期四)

正在发生

2018年03月20日 | 基于MCS51单片机的低成本LabVIEW实验教学系统设计

2018-03-20 来源:eefocus

    NI 公司于20 世纪70 年代提出了虚拟仪器的概念。虚拟仪器是在以计算机为核心的平台上,由用户设计,具有虚拟面板,由软件实现测试功能的计算机仪器系统,是计算机与测试仪器相结合的产物。虚拟仪器最常用的编程语言为LabVIEW,是NI公司的基于图形化编程语言的虚拟仪器开发工具,利用它可以轻松组建一个测试系统而无需进行繁琐的代码编写。因此虚拟仪器大大突破了传统仪器在灵活性,以及数据处理、显示、存储等方面的不足,其主要优势在于:用户能够根据需求灵活的进行功能修改和扩展;人机界面为视窗界面,形象直观;网络连接简单易行,便于组建测控网络。

 

    目前虚拟仪器在通信、汽车、测控等行业得到了广泛的应用。相应的各大高校也在NI公司的支持下,陆续开设了虚拟仪器课程,组建了相关的实验室,如西安交大利用虚拟仪器讲授信号处理;天津大学开设的智能检测仪器课程。

    目前国内高校教授虚拟仪器课程使用的信号采集板多为NI 公司的数据采集板卡,如USB600X,USB92XX,PCI62XX 系列。这类板卡虽然性能优良,配套软件齐备,但是作为高校教学也存在不足之处。首先NI公司只卖板卡不卖技术,这样在教学中教师和学生只能使用板卡,而不能掌握虚拟仪器硬件系统的具体结构和技术细节;其次这类板卡一般价格较贵,普遍在2 000元以上,相对高校而言开课成本太高,这一点对于欠发达地区的一般学校尤为突出。

    本文利用廉价的MCS51单片机设计了包含常用传感器、数据采集模块与USB 通信接口的LabVIEW 实验教学系统,并编制了常用的实验案例程序,满足了本科生虚拟仪器实验教学的需要,且成本相对于NI的产品大大降低,针对高校市场具有良好的推广前景。

    1 系统结构

    整个系统由前端传感器、单片机数据采集以及USB通信接口几部分组成,如图1所示。

     

8

     

    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函数将数据读出;

    (4)通过VISA Close 函数关闭设备。PC 主机与USB 设备进行通信的LabVIEW 程序框图如图4所示,而51单片机的程序结构如图5所示。

    3 结语

    虚拟仪器实验教学系统是虚拟仪器课程教学中不可或缺的设备,本文针对NI等主流数据采集板卡存在的价格昂贵且技术屏蔽问题,利用廉价的MCS51 单片机设计了包含常用传感器、数据采集模块与USB通信接口的LabVIEW实验教学系统。


推荐阅读

史海拾趣

Dialog公司的发展小趣事

到了1981年,Dialog公司从洛克希德导弹航空公司中独立出来,成为了一个子公司,并开始独立经营。在独立发展的初期,Dialog公司继续专注于通信技术的研发,并逐渐将业务范围拓展到了个人便携式应用、低功耗短程无线应用以及LED固态照明、显示和汽车应用等领域。

Devar Inc公司的发展小趣事

Devar Inc公司自创立之初,就致力于在增强现实(AR)领域取得突破。经过多年的研发,公司成功推出了世界上首个用于AR的生成式AI神经网络。这项技术允许用户通过简单的文本提示创建3D对象和其他AR资产,极大地简化了AR内容的创作过程。Devar的AR平台结合了神经网络和云解决方案,让用户能够轻松创建并分享AR内容,开启了AR创作的新时代。

Hsuan Mao Technology Co公司的发展小趣事

Devar Inc公司自创立之初,就致力于在增强现实(AR)领域取得突破。经过多年的研发,公司成功推出了世界上首个用于AR的生成式AI神经网络。这项技术允许用户通过简单的文本提示创建3D对象和其他AR资产,极大地简化了AR内容的创作过程。Devar的AR平台结合了神经网络和云解决方案,让用户能够轻松创建并分享AR内容,开启了AR创作的新时代。

APLUS Products公司的发展小趣事

APLUS Products公司起源于XXXX年,当时电子行业正处于飞速发展的黄金时期。公司创始人凭借对电子技术的深厚理解和市场需求的敏锐洞察,决定专注于研发和生产高质量的电子产品。初期,公司面临着资金短缺、技术难题和市场竞争等多重挑战。然而,通过不断的技术创新和产品优化,APLUS逐渐在市场中崭露头角。

G-Two Inc公司的发展小趣事

背景:光伏行业技术迭代迅速,对封装材料的要求也越来越高。

发展:福斯特始终将技术创新作为企业发展的核心驱动力,不断加大研发投入,推出了一系列具有自主知识产权的新产品。例如,公司成功研发出多层共挤型POE胶膜,有效提高了光伏组件的抗PID性能和发电效率。

成果:福斯特的技术创新不仅提升了自身产品的竞争力,也推动了整个光伏行业的技术进步和产业升级。

ETC2公司的发展小趣事

随着环保意识的日益增强,ETC2公司也积极响应国家环保政策,致力于推动ETC技术的绿色环保应用。他们研发了低能耗、低排放的ETC设备,并推广使用电子发票等环保支付方式。这些举措不仅减少了能源消耗和环境污染,也为ETC2公司树立了绿色环保的企业形象。

问答坊 | AI 解惑

20W的数字功放

只有八个引脚的数字功放,可以达到20W的功率,可惜是单声道的,发上来与大家一同学习…

查看全部问答>

xilinx 和altera两者目前应用情况?

XILINX 给我感觉价格高,应用通信等高端应用。 ALTERA 价格便宜,应用工业和消费电子。…

查看全部问答>

Software-Defined Radio with LabVIEW FPGA

Software-Defined Radio with LabVIEW FPGA…

查看全部问答>

LED晶圆技术发展趋势及LED晶圆制程

replyreload += \',\' + 759475;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答>

超级终端乱码

[root@(none) /]# ls 1;34mQtopia0m     1;34mdev0m        1;34mhome0m       1;32mlinuxrc0m    1;36mram disk0m    1;32mtestshell0m   ...…

查看全部问答>

c8051F350 定时中断死机?

void Timer0_Init(void){     TH0 = 0x0B;           // Init Timer0 High register   TL0 = 0xDC ;           / ...…

查看全部问答>

对比方案赛+型号或名称相似芯片在webench设计中的对比

本帖最后由 地瓜patch 于 2014-7-29 19:32 编辑 一直一来,对于那些名称类似的芯片一直是以可以相互替换的视角来应用的。 比如TL061CPSR和TL064CNSR两颗芯片。 这两颗芯片在webench中的滤波器设计中能看到他们的身影。 至于两颗芯片的区别有多 ...…

查看全部问答>

CCS单步调试与run的板子运行状况不一样

用单步运行下面的程序,使LED闪烁。直接run却不行,请问大神们怎么解决这个问题? for(;;)    {               GpioDataRegs.GPASET.bit.GPIO6   =1;       &nb ...…

查看全部问答>

关于TTI抽奖活动抽中奖品何时能收到问题?

请问我在TTI 这个抽奖活动 https://www.eeworld.com.cn/huodon ... hibitions_20160218/ 中2月26日抽中了一个三星32G存储卡,那么何时能收到这个奖品呢?到时奖品是按照我论坛中登记的会员地址信息邮寄么?当时抽中了以后,就没有其他任何提示了, ...…

查看全部问答>