历史上的今天
返回首页

历史上的今天

今天是:2024年11月20日(星期三)

正在发生

2019年11月20日 | 基于LabVIEW与单片机串口的数据采集系统

2019-11-20 来源:eepw

1LabVIEW部分设计

1.1VISA简介

LabVIEW提供了功能强大的VISA库。VISA(Virtual Instrument Software Architecture)——虚拟仪器软件规范,是用于仪器编程的标准I/O函数库及其相关规范的总称。VISA库驻留于计算机系统中,完成计算机与仪器之间的连接,用以实现对仪器的程序控制,其实质是用于虚拟仪器系统的标准的API。VISA本身不具备编程能力,它是一个高层API,通过调用底层驱动程序来实现对仪器的编程,其层次如图1所示。VISA是采用VPP标准的I/O接口软件,其软件结构包含三部分,如图2所示。

与其他现存的I/O接口软件相比,VISA的I/O控制功能具有如下几个特点:适用于各种仪器类型(如VXI仪器、GPIB仪器、RS-232串行仪器、消息基器件、寄存器器件、存储器器件等仪器);适用于各种硬件接口类型;适用于单、多处理器结构或分布式网络结构;适用于多种网络机制。


VISA的I/O软件库的源程序是唯一的,其与操作系统及编程语言无关,只是提供了标准形式的API文件作为系统的输出。


1.2VISA库中的串口通讯函数

本文用到的主要的串口通讯函数调用路径为:FunctionsInstrument I/OVISAVISA AdvancedInterface SpecificSerial中。

(1)VISA Configure Serial Port节点(图3所示)

 

该节点主要用于串口的初始化。主要参数意义如下:

VISA resource name:VISA资源名称,本文指串口号。baud rate:波特率,默认为9600。
data bits:一帧信息中的位数,LabVIEW中允许5~8位数据,默认值为8位。
stop bits:一帧信息中的停止位的位数,可为1位、1位半或2位。
Parity:奇偶校验设置。可为无校验、奇校验或偶校验。
flow control:该参数数据类型为簇,用于串行通讯中的握手方式。

(2)VISA Read节点(图4所示)

 

该节点为串口读子VI,为本文中的主要节点,将串口中的数据读出,然后利用LabVIEW的强大数据处理功能对其进行分析处理。主要参数意义如下:


VISA resource name:同上。

byte count:用于设置所要读的字符数。由于LabVIEW的串行通讯子VI只允许对字符串的读写,因此本文中在进行数据处理时,必须要实现字符串与数字之间的正确转换。此外,若要读入当前串口中的所有字符,则要执行“VISA Bytes at Serial Port”子VI,用以确定将要读入的确切的字节数,然后将其输出作为VISA Read节点的输入即可。

(3)VISA Close节点(图5所示)

 

该节点用于将打开的VISA资源关闭。只有一个主要参数:

VISA resource name:意义同上。

本文所用LabVIEW串口通讯程序的波特率为9600,无奇偶校验,8位数据位,1位停止位,禁止软、硬件握手。


2单片机部分设计

2.1硬件部分

MCS-51单片机内部有一个功能很强的全双工串行口,该串行口有4种工作方式,波特率可用软件设置,由片内的定时器/计数器产生,接收、发送均可触发中断系统,使用十分方便。有2个物理上独立的接收、发送缓冲器SBUF,对外也有两条独立的收、发信号线RXD(P3.0)和TXD(P3.1)。


本文采用RS232串行接口标准,在电气特性上,RS232采用负逻辑,要求高低两信号间有较大的幅度,标准为:逻辑“1”在-5V~-15V之间,逻辑“0”在+5V~+15V之间,通常采用-10V左右为逻辑1,+10V左右为逻辑0。由于MCS-51系统的信号输入输出为TTL电平,逻辑1为 3.8V左右,逻辑0为0.4V左右,因此,必须外接电路实现TTL电平到RS232电平的转换。本文采用MAX232E实现此转换。 


采用TLC0831芯片进行数据的采集。TLC0831芯片为8位逐次逼近电压型A/D转换器,支持单信道输入串口输出,极性设置固定,不需寻址。其主要特点为:8位分辨率;5V的电源提供0~5V的可调基准电压;输入输出可与TTL和MOS兼容。


若要提高信号的采样频率,只需选择转换速度较快的A/D芯片即可。硬件部分原理图如图6。


2.2软件部分

下面给出单片机软件部分的主要程序。波特率设置为9600,用定时器1产生波特率,串口工作在方式1,无奇偶校验。定时器0设定采样的时间间隔。TLC0831为A/D转换器数据采样子程序,SEND为单片机发送子程序。


3结论

本文利用单片机进行前端数据采集,通过串口实现与LabVIEW的数据通讯,利用LabVIEW的强大信号分析处理功能,开发了一套投资少、操作简便的数据采集与信息分析系统(其虚拟面板如图7所示)。实验证明,该系统运行良好。


参考文献:

[1] LabVIEW User Manual[M]. USA: National Instruments Corporation, 1998.
[2] 杨乐平,等.LabVIEW程序设计与应用[M].电子工业出版社,2001.
[3] 刘君华,等.虚拟仪器图形化编程语言LabVIEW教程[M].西安电子科技大学出版社,2001.
[4] 张毅刚,等.MCS51单片机应用设计[M].哈尔滨工业大学出版社,1997.

推荐阅读

史海拾趣

GSG公司的发展小趣事
智能压力测量电路采用先进的传感器技术和数字信号处理算法,能够实现更高的测量精度。
大毅科技公司的发展小趣事

为了进一步提升产品质量和竞争力,大毅科技积极申请并获得了多项国际品质认证,如ISO9001、ISO14001、TS16949等。这些认证不仅证明了大毅科技在品质管理方面的卓越能力,还为公司打开了通往国际市场的大门。随着认证的不断增多,大毅科技的产品开始出口到全球各地,与索尼、雅马哈等知名企业建立了长期合作关系。

Gemmy Electronics Co Ltd公司的发展小趣事
对于声波或超声波驱赶式捕鼠器,需检查发声元件和发射模块是否工作正常。
Honeywell公司的发展小趣事

背景:霍尼韦尔公司的历史可以追溯到1885年,由发明家艾伯特·布兹在美国明尼阿波利斯创立布兹电子温度调节器公司。

发展:布兹成功研发出了一种名为“风门挡板”的装置,该装置能够自动调节室内温度,这是当时的一大技术突破。随着业务的不断发展,布兹电子温度调节器公司被统一温度控制公司收购,并在1893年更名为电子供热调节器公司。

关键事件:1898年,电子供热调节器公司被W.R. Sweatt收购,并于1916年更名为明尼阿波利斯热调节器公司。这一系列的更名和收购奠定了霍尼韦尔在恒温器领域的基础。

HEC Inc公司的发展小趣事

背景:随着科技的进步,霍尼韦尔开始将目光投向更广阔的领域,其中航空航天成为重要的发展方向。

发展:霍尼韦尔在航空航天领域取得了多项技术突破,其仪器仪表和控制系统在多个重要项目中发挥了关键作用。其中,最著名的莫过于1969年阿波罗11号登月任务中,霍尼韦尔的仪器仪表为宇航员提供了稳定的控制和导航支持。

关键事件:阿波罗11号任务的成功不仅展示了霍尼韦尔在航空航天领域的实力,也进一步提升了公司的国际声誉和市场地位。

AIRPAX公司的发展小趣事

进入21世纪,AIRPAX开始积极拓展全球市场。通过与各国企业的合作与交流,AIRPAX的产品逐渐进入欧洲、亚洲等地区,服务于更多国家的客户。同时,AIRPAX还积极寻求与其他行业领先企业的战略合作,共同推动电气保护技术的发展。这些合作不仅提升了AIRPAX的品牌影响力,也为其带来了更多的商业机会。

问答坊 | AI 解惑

2009全国电子设计大赛之国防科大学生获奖感言

本帖最后由 paulhyde 于 2014-9-15 09:01 编辑 在今年的全国大学生电子设计竞赛中,来自国防科技大学的同学,李清江,肖志斌、银庆宏所在的小组幸运地夺得了本科组的索尼杯大奖。 获此殊荣,他们非常高兴。现在回想起过去一年多时间里的点点滴滴 ...…

查看全部问答>

自动喷头水温调节器

我想问问有没有这个产品的。我家是太阳能电池热水器,每次洗澡调水要调一会。况且随着水压大小变化而水温也一会热一会冷。很是烦恼。有没有谁能设计一个产品。能够看见出水温是多少,还有,我想调成多少都可以。。。。…

查看全部问答>

PADS中灌铜的问题

在PADS中如何进行在引脚中灌铜而不形成热焊盘?如下图: 希望有知道的能帮忙解决下,谢谢!…

查看全部问答>

JTAG连不上CPU?

我新焊了一块PCB电路板,现在出现以下情况: cpu供电时正常的,Reset信号也拉高了。JTAG接口电路焊接没有问题,但JTAG总是连不上CPU。不过外部晶振没有工作,但芯片内部有时钟源,好像可以在没有外部时钟的情况下运行,但为什么JTAG连不上CPU呢? ...…

查看全部问答>

紧急求助 vhdl仿真时的问题

在用vhdl整体设计的时候,把几个实体连在一起,其中有两个模块input,output, 但在用波形仿真的时候有这样的警告 WARNING:Simulator:29 - at 0 ns: Warning: No entity is bound for inst    router_tb/UUT/X_1 of Component input WAR ...…

查看全部问答>

大哥们, 帮帮忙, 小弟定当感谢

怎样把flash的剩余空间作成存储区, 即怎样用nor flash 进行分区?…

查看全部问答>

关于windows内核的pspcidtable的问题

pspcidtable内核变量指向_HANDLE_TABLE结构,2000下面指向3层表,XP和2003下面先一张表,如果线程和进程对象数过多,就会存在2层表,我修改了表中相应的对象的指针,但是不能实现进程隐藏。 例如system进程的对象指针是81234567 我把我想修改的ex ...…

查看全部问答>

F103C6T6A调试求助

STM32F103C6T6A,JTAG连接后点DEBUG后,提示cann\'t halt the core,无法下载程序和调试。 VDD\\VDDA\\VBAT\\VSS\\VSSA均已经连好,测量正确,BOOT0和BOOT1四个位置组合均测试过无数次,芯片换过一次,现象依旧!同样的程序,在STM32F103VBT6 ...…

查看全部问答>

嵌入式C编程与Atmel AVR

嵌入式C编程与Atmel AVR…

查看全部问答>

关于Sitara视频学习进度的问题

昨晚看完全部视频,第三讲至第五讲的的进度就在50%。早上花时间重新看了一遍,发现进度还是50%,就解释。…

查看全部问答>