基于LabVIEW与凌阳SPCE061A实现串口数据采集

发布者:JoyfulSunflower最新更新时间:2012-01-31 来源: 微计算机信息关键字:LabVIEW  虚拟仪器  SPCE061A  串口  数据采集 手机看文章 扫描二维码
随时随地手机看文章

引言

LabVIEW是一个划时代的图形化编程系统,应用于数据采集与控制、信号分析等方面,它为不熟悉文本语言编程的专业科技工作者在测控领域建立计算机仪器系统——虚拟仪器,提供了一个便捷、轻松的图形化设计环境。由于其灵活、简单易用、开发效率高等特点,正逐渐成为科技工作者进行仪器应用与开发的得力工具。数据采集是开发过程中一个重要的环节,NI公司提供了各种不同类型的基于LabVIEW的数据采集卡,但是其价格昂贵,对于小型企业、实验教学等方面仍存在着不可避免的资金问题。而市面上销售的第三方开发的数据采集卡,由于不具备对LabVIEW的直接支持,需要用户开发其驱动程序,使用也不方便。如果采用以凌阳16位单片机SPCE061A作为前端数据采集,通过串口进行与LabVIEW的数据通讯,就可实现低成本、灵活方便、接口简单的数据采集系统。这对于许多信号频率不是太高的场合,此方案无疑非常便利。本文所介绍的就是这样一种利用LabVIEW 对SPCE061A的数据进行分析处理,并通过串口实现二者之间的数据交换、经济实用的数据采集及分析系统。

本系统主要包含两部分的设计:LabVIEW部分设计和SPCE061A数据采集与串口通讯部分设计。

1 LabVIEW部分设计

1.1 VISA简介

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

(a)VISA内部机制

(b)虚拟仪器的软件体系结构


图1

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

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

1.2 VISA库中的串口函数

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

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

图2  VISA Configure Serial Port.vi图标及其端口

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

VISA resource name:设置串口号。

 baud rate:设置波特率,默认值为9600。

data bits:设置数据位。该位应在5~8之间,默认值为8。

parity:奇偶校验位,默认值为无校验、偶校验等。

stop bits:设置停止位,可以为1、1.5、2。

flow control:用于设置握手信号类型。

2) VISA Read节点(如图3所示)

图3 VISA Read.vi 图标及其端口

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

VISA resource name:设置串口号。

byte count:设置读取字节数。

read buffer:从串口读取的字符。

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

2  SPCE061A数据采集与串口通讯部分设计

2.1硬件部分

SPCE061A内置8通道10位模-数转换器,其中7个通道用于将模拟量信号 (例如电压信号) 转换为数字量信号, 可以直接通过引线(IOA[0~6])输入。另外一个通道只用于语音输入,即通过内置自动增益控制放大器的麦克风通道(MIC_IN)输入。实际上可以把模数转换器(ADC,Analog to Digital Converter)看作是一个实现模/数信号转换的编码器。在ADC内,由数模转换器DAC0和逐次逼近寄存器SAR组成逐次逼近式模-数转换器。另外,SPCE061A内置UART模块,UART模块提供了一个全双工标准接口,用于完成SPCE061A与外设之间的串行通讯。借助于IOB口的特殊功能和UART IRQ中断,可以同时完成UART接口的接收和发送数据的过程。UART模块的接收管脚Rx和Tx分别与IOB7和IOB10共用。

本电路采用RS-232串行接口标准,在电气特性上,RS-232采用负逻辑,要求高低两信号间有较大的幅度,标准为:逻辑“1”在 -5V~-15V之间,逻辑“0”在+5V~+15V之间,通常采用-1V左右为逻辑1,+10V左右为逻辑0。本电路采用符合RS-232标准的驱动芯片MAX232EPE实现此转换。由于SPCE061A的信号输入输出为TTL电平,逻辑1为3.3V左右,逻辑0为0.4V左右,而MAX232EPE 要求+5V供电,因此,在 MAX232EPE和SPCE061A之间加了电平匹配电路。

整个电路接口简单,可靠性高。硬件部分原理图如图5所示

图5  硬件原理图

2.2软件部分

LabVIEW软件与串口实现数据通讯的程序图,如图6所示,由于SPCE061A发送给Labview的是字符串数据,所以先把该字符串转换为字符数组,然后通过一个数组索引指定数组的第一个字符显示并形成波形。

图6. LabVIEW串口通讯程序图

单片机SPCE061A利用通用串行接口UART实现串口通讯部分程序:

//************************主程序*****************************************//

L_ResendData:

L_Check_TxRDY:

R2 = [P_UART_Command2];

R2 &= 0x0040;                //检测输出是否READY

JZ L_Check_RxRDY;           //发送8位十六进制数cc

R1 = [recFlag];

CMP R1,0x0000;               //是否接收过数据

JZ L_Check_RxRDY;

[P_UART_Data] = R4;          //发送数据

R1 = 0x0000; [recFlag] = R1;

L_Check_RxRDY:

R2 = [P_UART_Command2];    //检测是否有数据接收

R2 &= 0x0080;

JZ L_Check_RxRDY;

R4 = [P_UART_Data];         //接收数据

R1 = 0x0001;

[recFlag] = R1;               //设置接收标识符

goto L_ResendData;

3.应用实例

如图7所示,利用该数据采集系统进行一温度数据的采集,在图5的硬件原理图中,将铂热电阻PT100测得的温度电压值(该测温电路由电压跟随和电压放大电路组成)送入到SPCE061A的IOA4端口,通过该路AD转换通道,将电压值经过数据处理后转换为16进制数据值,并将处理后的温度数据通过串口发送给LabVIEW,经过分析对比PT100铂电阻准确的温度曲线与所测得的温度曲线可以得出在该温度采集系统的软件编程过程中应该对AD转换后的数据乘以一个多大的温度系数以及在分段温度系数的情况下得出温度系数转折点,使处理后的所得的温度数值尽可能的接近真实温度值。

4 结论

LabVIEW作为一个具有良好开放性的虚拟仪器开发平台,为面向仪器的编程提供了强有力的支持,在LabVIEW环境下能够开发出各种功能强大、开放性好的虚拟仪器软件,构造出实用的计算机辅助测试、分析与控制系统。本文利用SPCE061A进行前端数据采集,通过串口实现与LabVIEW的数据通讯,利用LabVIEW的强大信号分析处理功能,开发了一套投资少、操作简便的数据采集与信号分析系统。实验证明,该系统运行良好。

参考文献

[1]LabVIEW User Manual.USA: National Instruments Corporation.1998

[2]杨乐平等.LabVIEW程序设计与应用.电子工业出版社,2001

[3]刘君华等.虚拟仪器图形化编程语言LabVIEW教程.西安电子科技大学出版社,2001

[4] 李晶皎. 嵌入式语音技术及凌阳16位单片机应用. 北京航天航空大学出版. 2003

关键字:LabVIEW  虚拟仪器  SPCE061A  串口  数据采集 引用地址:基于LabVIEW与凌阳SPCE061A实现串口数据采集

上一篇:解析单片机上应用的一款Boot Loader
下一篇:语音/文字短信无线发射机设计

推荐阅读最新更新时间:2024-03-16 12:51

基于SPCE061A的智能建筑消防监控系统设计
0 引 言   随着计算机技术和网络技术应用以及智能建筑的普及,利用网络构建智能建筑的智能型消防监控系统已经成为迫切需要。监控网络通过公用业务电话网,对城市火灾自动报警系统进行远程数据采集和处理的管理,具有高可靠性、分散控制、集中监视和管理的功能。而这一系统运行的核心基础是分布在智能建筑内部各个部位的消防数据采集系统。通过此系统可对某一区域的消防报警消息进行采集并及时将报警信息通过PC机发送到消防网络,因而是消防报警系统走向监控网络化的桥梁。本系统以SPCE061A微处理器为核心,采用模块化和智能式的分布系统技术设计消防报警监控系统。 1 SPCE061A微处理器简介   SPCE061A微处理器是凌阳科技公司所生产的16位
[安防电子]
基于<font color='red'>SPCE061A</font>的智能建筑消防监控系统设计
基于FPGA和EPP的图像传感器高速数据采集系统
引言 USB、串口、并口是PC机和外设进行通讯的常用接口,但对于数据量大的图像来说,若利用串行RS-232协议进行数据采集,速度不能达到图像数据采集所需的要求;而用USB进行数据采集,虽能满足所需速度,但要求外设必须支持USB协议,而USB协议与常用工程软件的接口还不普及,给使用带来困难。有些用户为了利用标准并行口(SPP)进行数据采集,但SPP协议的150kb/s传输率对于图像数据采集,同样显得太低。因此,为了采集数据量大的图像数据,本文采用了具有较高传输速率的增强型并行口协议(EPP)和FPGA,实现对OV7620CMOS图像传感器进行高速数据采集,它最高速率可以达到2Mb/s。 硬件电路方案 图1为基于FPGA和EPP
[嵌入式]
IIC读写AT24C02代码2——串口命令控制多页读写
通过串口输入 R 、W 进行控制程序读写IIC设备。波特率9600bps,晶振115200HZ。 main.c /*----------------------------------------------- IIC编程 1 编写:Louis 邮箱:kaly.liu@163.com 日期:2015.06.01 修改:通过串口命令R/W,控制EEPROM的读R写W。并从串口提示。 改进:增加对页读写功能 晶振:11.0592MHZ NOTE:*通过实测发现,AT24C02可以连续写入16BYTE字节,而且地址要连续的两个页。就是0~15,16~31,。。。 -------------------------
[单片机]
虚拟仪器简介
虚拟仪器(Virtual Instruments简称VI)技术发展非常迅速,所有测量测试仪器的主要功能可由①数据采集②数据测试和分析③结果输出显示等三大部分组成,其中数据分析和结果输出完全可由基于计算机的软件系统来完成,因此只要另外提供一定的数据采集硬件,就可构成基于计算机组成的测量测试仪器。基于计算机的数字化测量测试仪器就称之为虚拟仪器(VI)。注意:这里所指的虚拟仪器和EDA仿真软件中的虚拟仪器概念完全不同,它可以完全替代传统台式测量测试仪器。而EDA仿真软件中的虚拟仪器是纯软件的、仿真的。 虚拟仪器可使用相同的硬件系统,通过不同的软件就可以实现功能完全不同的各种测量测试仪器,即软件系统是虚拟仪器的核心,软件可以定义为各种仪器,
[测试测量]
PC机串口调试助手与单片机通信字符问题
在利用PC机的串口调试助手与单片机通信时,单片机与PC机是以ASCII码的形式通信的,比如发送1,其实发送的是字符1,如果在接收区以十六进制显示的话,是31(1的ASCII码)。具体如下: 1. 十六进制发送与十六进制显示都为选中,发送与接收的都是字符的形式; 2.如果以十六进制发送或者十六进制显示的话,就是以十六进制的ASCII码的形式发送或显示。 如果在串口调试助手中发送十六进制数字,以单片机的数码管显示的话,把十六进制ASCII码,换算成十进制ASCII码,然后显示在数码管上。以下是程序示例:(单片机开发板为普中科技的HC6800-EM3 v3.0) /************************* * 目标:以16
[单片机]
基于LabVIEW和MCS-51单片机实现数据采集与信息分析系统的设计
1、LabVIEW部分设计 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控制功能具有如下几个特
[测试测量]
基于<font color='red'>LabVIEW</font>和MCS-51单片机实现<font color='red'>数据采集</font>与信息分析系统的设计
Labview实现脉波调制( PAM )
根据定义为脉冲振幅调制 生成一个正弦信号,得到其幅值输入给一个方波信号的幅值 这个等价于一个方波信号和一个正弦信号相乘 得到的PAM信号通过观察其频率可以发现比原来的余弦信号多了很多个峰 使用低通滤波器只保留最低的那个峰则可以恢复波形 实现效果 运行效果图 脉冲调制信号的频域 由于正弦信号的信息在方波信号中,观察其频谱可得,除了最低频的是正弦信号原本的频率,其余为方波信号在此频率上是增加,因此只有最低频是正弦信号的频率,使用低通滤波器则可以得到正弦信号的信息,从而恢复波形。 后端实现
[测试测量]
<font color='red'>Labview</font>实现脉波调制( PAM )
在NIOS-II系统中A/D数据采集接口的设计
  在FPGA系统中,实现对外部A/D数据采集电路的控制接口逻辑,由于其逻辑功能不是很复杂,因此可采用自定义的方式。采用这种方法进行设计有两种途径。①从软件上去实现。这种方案将NIOS处理器作为一个主控制器,通过编写程序来控制数据转换电路。由于NIOS处理器的工作频率相对于外部设备来说要高出许多,故此种方法会造成CPU资源极大的浪费;②用FPGA 的逻辑资源来实现A/D采集电路的控制逻辑。FPGA有着丰富的逻辑资源和接口资源,在其中实现并行的数据采集很少会受到硬件资源的限制,在功能上,设计的接口控制逻辑相当于一个主控制器,它是针对具体的外部电路而实现的,容易满足要求、又能节约资源,提高系统性能。因此,采用硬件逻辑去实现控制将是一种
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved