速率陀螺电压信号采集与串口通讯技术总结.docx

上传人:b****1 文档编号:2444517 上传时间:2022-10-29 格式:DOCX 页数:24 大小:276.35KB
下载 相关 举报
速率陀螺电压信号采集与串口通讯技术总结.docx_第1页
第1页 / 共24页
速率陀螺电压信号采集与串口通讯技术总结.docx_第2页
第2页 / 共24页
速率陀螺电压信号采集与串口通讯技术总结.docx_第3页
第3页 / 共24页
速率陀螺电压信号采集与串口通讯技术总结.docx_第4页
第4页 / 共24页
速率陀螺电压信号采集与串口通讯技术总结.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

速率陀螺电压信号采集与串口通讯技术总结.docx

《速率陀螺电压信号采集与串口通讯技术总结.docx》由会员分享,可在线阅读,更多相关《速率陀螺电压信号采集与串口通讯技术总结.docx(24页珍藏版)》请在冰豆网上搜索。

速率陀螺电压信号采集与串口通讯技术总结.docx

速率陀螺电压信号采集与串口通讯技术总结

速率陀螺电压信号采集与上位机串口通讯技术总结

1概述

随着科学技术的发展,计算机已经广泛的应用于生活中的方方面面。

利用计算机解决问题的前提是,要把现实中各种模拟信号转换为数字信号。

很多时候需要利用AD转换器对模拟信号进行采集。

同时,对于现在的工程项目一般不可能在一台设备中完成,往往需要多台设备协同工作,所以设备间的通讯也必不可少。

通讯方式有很多种,其中最为常见就是通过串口来实现设备间的通讯。

本次实验主要对一个单轴速率陀螺的电压输出信号进行采集,然后通过串口把采到的数据发送到上位机,利用上位机来监视陀螺信号。

其功能相当于一台数字示波器。

实验的主要工作包括:

1)陀螺信号的采集;2)采集卡与上位机的串口通讯;3)上位机监视界面的编写。

2实验软硬件平台

1)装有LABVIEW、MicrosoftVisualC++6.0、CCStudiov3.3等软件的计算机一台;

2)NI采集卡套件、TMS320F2812开发板套件、示波器、稳压电源等。

3)USB转232串口的转接线及相关连接线材、DB9连接器等。

3实验过程分析与实现

(1)总过程

实验需要对一路电压信号进行采集,该信号为MEMS单轴速率陀螺输出电压信号其基本性能如下表所列。

(1)MEMS单轴速率陀螺输出电压信号特性

陀螺特性

电源

±9V

分辨率

0.005°/s

测量量程

-500°/s~500°/s

输出量程

±9V

动态性能

200Hz

标度因数

18mV/°/s

其中标度因数为:

最大电压输出/最大测量角速度=

由于使用的速率传感器在其内部已经进行过信号的滤波与放大,陀螺输出的电压信号已经是干扰较小的电压信号,只需缩放陀螺输出电压到AD转换器能够识别的电压就能够对其进行采集了。

假设实验对的陀螺性能需求如下表所示:

(2)实验假设陀螺性能参数

性能参数

数值

电源

±9V

分辨率

0.56°/s

测量量程

-500°/s~500°/s

输出范围

±9V

动态性能

200Hz

标度因数

18mV/°/s

实验设定陀螺的最小输出值为:

标度因数×实验假设陀螺分辨率=

对AD转换器的需求:

1)AD转换器的LSB小于等于10.08mV,才能保证采样精度需求;

2)需要AD转换器采样率是陀螺动态性能的两倍以上,即采样频率≥2×陀螺动态性能,所以至少达到400Hz。

实验设计了两套方案来实现数据采集于串口发送的功能,其一是利用TI公司的DSP2812提供的ADC模块对陀螺电压信号进行采集,然后再利用其SCI串口通讯模块把数据发送到上位机进行监视;其二是利用NI公司的高速采集卡配合LABVIEW来完成数据采集于串口发送的功能。

实验中,因为需要传输的距离小于两米;传输速度与采样速率相当即可,即每秒至少传400个数据,假设传输每个数据需要6个字节,那么传输速率至少为24000bps,传输速率不是很快;所以选择最容易实现的RS232串口,波特率定位38400bps来实现与上位机进行通讯,并设置串口发送格式为一位起始位,一位停止位,八位数据位,无奇偶校验位。

在上位机监控软件的编写上,因为MFC功能强大,其程序运行效率高,且对于以后学习发展更为有利,所以选择MFC来编写上位机监控软件,实现串口数据接收与绘制动态电压曲线图的功能。

3.1基于DSP2812数据采集与串口发送

(2)DSP解决方案

TMS320F2812数字信号处理器自身带有12位的A/D转换器,其性能如下表所示:

表(3)DSP2812ADC基本性能参数表

性能参数

数值

最高采样速率

25MSPS

模拟输入量程

0V~3V

位宽

12

LSB

0.7mv

与表

(2)相对照,发现DSP2812的AD转换模块模拟输入量程0V~3V小于实验陀螺输出电压范围-9V~9V,所以在接入DSP2812的AD转换模块前需要加入调理电路把陀螺电压调理为0~3V。

实验为了达到采样不失真且能够在上位机实时显示,采样率必须大于400Hz(陀螺动态性能的两倍)且串口传输速度需要比采样速度稍快同时DSP2812还提供了SCI模块,可以通过编程设置串口数据发送的参数,使发送速率大于实验最低要求24000bps。

下图为DSP程序设计总图。

图(3)DSP软件编程总图

主要利用定时器定时来触发开启AD转换器,然后当AD采集完数据后,在AD中断函数中开启FIFO中断程序对数据进行发送。

下面就如何利用DSP2812的ADC模块与SCI模块实现实验目的进行详细技术分析。

3.1.1基于DSP2812的AD采样

DSP2812功能简介

TI公司的TMS320F2812PGFA数字信号处理器自身就带有12位的A/D转换器,其前端为2个8选1的多路切换器和2路同时采样/保持器,构成16个模拟输入通道。

通道的自由切换由硬件自动控制,并将16个模拟通道的转换结果顺序存入16个结果寄存器中。

该模块内部实际上只有一个A/D转换器。

其中,模拟部分主要包括前端模拟多路复用器MUX、采样/保持电路S/H-A及S/H-B、转换核心电路、电压调节器和其它的模拟支持电路;数字部分包括可编程的转换序列发生器、结果寄存器、与模拟电路的接口、与装置外围总线的接口以及与其它片上模块的接口。

DSP2812采样实现方案

在实验中,由于只采集一路电压信号,设置采样率为500Hz(大于400Hz)。

所以没有使用过采样技术来校正采样值,而是直接使用一路模拟输入通道进行采样。

使用DSP进行AD采样的思路如下图。

图(4)AD采样流程图

这里用事件管理器来启动AD转换器,当AD转换完成后触发AD中断函数,在AD中断函数中对转换结果进行保存然后再次启动定时器以进行下一次采样。

事件管理器定时启动AD转换器最大的特点在于当定时器的周期与设置周期匹配后就自动启动AD转换器,不需要占用CPU资源。

即AD转换器开始运行,而主程序也继续向下运行,互不干扰同时进行。

只有当AD转换完成后产生中断,CPU才会暂停当前工作而来处理AD中断程序。

定时器的时间加上AD的转换时间约等于采样周期。

而本次实验的采样周期2ms,远远大于AD转换时间(约等于0.4μs),所以可以忽略AD转换时间。

中断函数是由AD转换完成后,自动把AD中断标志位置位,再通过中断管理器使CPU进入中断函数。

AD寄存器关键设置

1)时钟设置

DSP2812一般通过对一频率为30MHz的晶振倍频或者分频来确定自身系统时钟。

DSP2812的工作最高频率为150MHz,为了能够充分发挥DSP的性能,一般把30MHz倍频到150MHz。

实验中由于采样频率不高,所以设置AD转换器工作时钟为2.5MHz。

2)AD工作模式设置

在设计方案中,AD转换器是由定时器进行周期匹配启动的,所以必须设置AD转换器的事件触发使能,并设置定时器周期为2ms。

然后需要把转换完成的数据存入数组以及启动FIFO中断,所以必须开启ADC所在的PIE组中占据的CUP中断INT1,同时设置AD转换完毕后中断使能,以便进入AD中断函数。

最后因为实验只需要采集一路数据,所以采用了最简单的单序列顺序工作模式,只对一路通道进行采样。

3.1.2基于DSP2812的串口发送

DSP2812的SCI功能简介

DSP2812提供了两个完全相同的异步串行通信接口——SCI。

每个SCI模块都有各有一个接受器和发送器,它们分别有一个接收缓存和发送缓存,所以可以工作于半双工方式和全双工方式。

更为方便的是,SCI模块的接收器和发送器都分别有一个深度为16,位宽为8的FIFO队列,所以SCI还可以工作于FIFO模式。

在FIFO模式下,可设置中断级数。

以发送为例,可以设置只有当FIFO队列中没有数据时才产生中断,无需每发送一个字符就产生一次中断,提高了CUP中断效率。

DSP2812串口发送实现方案

本次实验中,需要把AD转换后的数字信号通过RS232串口发送给上位机,需要对发送数据进行以下几点处理,以保证数据正确而快速地发送。

1)为了保证数据的正确性,在有效数据位前加上两字节的帧头;

2)经DSP2812采样的数值都被放大21840倍,所以根据输入电压值范围为0~3V,输出数值为0~65520。

所以对于每个AD采集后的数据都需要用两个字节来表示,高字节表示数值对256取商,低字节表示数值对256取余;

3)为了提高CPU中断效率,采用FIFO工作模式。

每个有效数据需要占四个字节,而DSP2812的FIFO深度为16级,实验中选择每次采样3个数据后,产生一次发送中断,把这12个字节一起发出去;

4)本次实验的AD采样周期为2ms,为了在上位机实时观察,需要串口的发送速度基本与采样速率相当,所以设置串口波特率为38400bps。

计算得到每个数据的发送时间为,满足实时性的要求。

图(5)FIFO发送流程

实验中,FIFO中断是在AD中断函数中开启的,当AD采集进3个数据,计数器等于4,就开启SCI的FIFO中断程序,把待发送的数据写入FIFO队列中,出中断后FIFO就开始自动发送数据,AD中断程序中又重新开启定时器,等待新的中断。

前面已经说过,这实验中,由于FIFO发送数据的时间小于AD采样周期,所以可以确保采集到的数据能够实时地、完整地送出。

SCI寄存器关键设置

实验主要通过了SCI中断实现,所以必须开启SCI的工作时钟与SCI中断使能;

要使SCI模块工作于FIFO模式,所以必须开启FIFO使能,然后选择需要的波特率和数据格式。

3.2基于LABVIEW的AD转换与串口发送

实验先利用了NI公司配套的Pxie-6363采集卡实现AD采样,其性能如下表所示:

表(4)Pxie-6363采集卡性能参数表

性能参数

数值

最高采样速率

2MSPS

模拟输入量程

-10V~10V

位宽

16

LSB

0.305mv

与实验假设陀螺性能参数表对照,易发现该采集卡的性能都符合实验要求,只需要把采样率设置为400Hz以上即可对陀螺信号进行比较好的采样。

其次再配合LABVIEW软件提供的串口通讯模块,就能快速实现电压信号采集与串口数据发送。

图(6)LABVIEW解决方案

图(7)LABVIEW软件编程总图

实验中,首先开启AD转换模块,对陀螺信号进行采集,把采集到的数据压入队列中。

然后把队列中的数据放入串口缓存进行发送。

下面就如何利用LABVIEW实现AD信号采集与串口发送数据进行详细论述。

3.2.1基于LABVIEW的AD转换

实验中,选择一路通道,设置采样率为500Hz,运行程序就能启动NI采集卡对陀螺电压信号进行采集。

图(8)LABVIEW采样流程

上图就是利用LABVIEW实现速率陀螺电压信号采集的编程流程,因为LABVIEW是图形化编程语言,在实现AD转换功能时,只需要设定好AD转换的几个重要参数:

通道号、采样率,就能够实现AD转换。

实验中对速率陀螺数据采集后的数据类型直接就是有符号的浮点数,且没有进行过编码和缩放,可以直接利用。

但是由于后面需要把这个浮点数通过串口发出去,而LABVIEW的串口不支持浮点数发送,所以需要对采集进来的数编码后再放到发送队列中。

3.2.2基于LABVIEW的串口发送

LABVIEW串口通讯简介

LABVIEW为串口通讯提供了单独模块,需要配置好串口参数,连接上串口发送函数与串口关闭函数就能够实现串口通讯。

其中串口参数配置包括串口通讯必须的波特率、数据位、奇偶效验位、停止位和流控制等。

只是在LABVIEW只支持字符串发送,所以在接收时需要进行ASCⅡ解码。

LABVIEW串口发送实现方案

图(9)LABVIEW串口发送

实验中,使用232串口把

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1