基于USB接口通讯的多传感器数据采集系统图文.docx
- 文档编号:9438837
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:9
- 大小:607.38KB
基于USB接口通讯的多传感器数据采集系统图文.docx
《基于USB接口通讯的多传感器数据采集系统图文.docx》由会员分享,可在线阅读,更多相关《基于USB接口通讯的多传感器数据采集系统图文.docx(9页珍藏版)》请在冰豆网上搜索。
基于USB接口通讯的多传感器数据采集系统图文
2008年第11期
仪表技术与传感器
InstrumentTechniqueandSensor2008No11
基金项目:
中国电子科技集团公司技术创新基金项目
:
11-:
2008-基于USB接口通讯的多传感器数据采集系统
宋成艳1
袁国庆2
李凤玲1
傅巍1
李凯
1
(1.中国电子科技集团公司第四十九研究所,黑龙江哈尔滨150001;2.哈尔滨飞机工业集团,黑龙江哈尔滨150001摘要:
基于USB接口通讯的多传感器数据采集系统以EZUSB控制器为核心,由EZUSB经控制电路实现对模数转换的控制,从而将被测系统中各传感器检测到的参数通过USB接口输入到计算机并显示出来。
系统硬件主要采用以AN2131QC为核心的USB接口电路和以模数转换器AD7938为核心的USB设备功能单元电路。
系统软件采用KeilC51语言编写芯片固件程序、采用VC++语言编写USB设备驱动程序和Win32应用程序。
关键词:
USB;传感器;数据采集
中图分类号:
TP368文献标识码:
A文章编号:
1002-1841(200811-0101-03
DataAcquisitionSystemofSensorsBasedonUSBCommunication
SONGChengyan1,YUANGuoqing2,LIFengling1,FUWei1,LIKai1(The49InstituteofChinaElectronScienceandTechnologyCorporation,
HarbinAircraftIndustryCorporation,Harbin150001,China
Abstract:
ThedataacquisitionsystemofsensorsbasedonUSBcommunicationtookanEZUSBcontrollerasthecore.AndtheEZUSBcontrolledA/Dconversionbyitscontrolcircuit.Thustheparametersdetectedbysensorswereimportedtothecomputeranddisplayed.ThecoreofUSBinterfacecircuitwasAN2131QC,andthecoreofUSBfunctioningcircuitunitwasAD7938.ThefirmwareprogramofthesystemwaswrittenbyKeilC51languageandtheUSBdriverandWin32applicationbyVC++.Keywords:
USB;sensor;dataacquisition0引言
随着工业生产的发展,日益复杂和庞大的系统需要测控的点和参数越来越多,导致数据采集系统日益复杂而庞大。
目前,建立在单片微型计算机和微电子技术基础上的存储测试技术已广泛地应用于兵器测试、环境控制、石油测井、生物、医学、航空、航天等领域,其核心是将微测试系统直接放入被测体内,直接测试被测体在工作过程中的各种主要参数,将数据存储起来,将存储的数据通过计算机接口读出。
然而,数据采集通常采用ISA总线、PCI总线、422、485等接口形式的A/D采集卡,这种板卡不仅安装麻烦,且易受计算机插槽数量和地址、中断资源的限制。
为了解决日益增加的PC外设与有限的主板插槽和端口之间的矛盾,Intel、DEC、Microsoft等公司联合提出一种新的串行总线接口规范USB串行通信标准[1]。
于是提出了一种基于USB接口通讯的多传感器数据采集系统的完整解决方案。
1系统总体设计及功能
在微处理器和USB控制器的设计有2种方式可供选用:
一种普通的单片机加上专用的USB通信芯片组成;另一方式是采用具有USB通信功能的单片机。
前一种方式,USB通信芯片只处理与USB相关的通信工作,而且必须由外部微处理器对其控制才能正常工作,这些芯片必须提供一个串行或并行的数据总线与微处理器进行连接。
此外,还需要一个中断引脚,当数据收到或发送完,这个中断引脚会向单片机发出中断请求信号。
这种方式硬件电路比较复杂,维护不方便,因此采用具有USB通信功能的单片机。
系统的原理框图如图1所示,它主要由6部分组成:
具有USB通信功能的微处理器、A/D转换电路、电源转换及管理、存储器电路、各种传感器的输出信号、计算机。
系统硬件电路主要芯片为AN2131QC和AD7938。
系统软件分为3个模块:
采用KeilC51语言编写AN2131QC的芯片固件程序、采用VC++语言编写USB设备驱动程序及采用VC++语言编写Win32应用程序。
图1系统原理框图
系统可实现如下功能:
使用内部USB接口提供的+5V电源,并具有供电指示灯;采用全速块传输;具有模数转换指示功能,实时显示所采集到的波形,并可进行保存和回放;系统的采样频率可调(由AN2131QC控制,输入信号幅度范围为0~+5V;可读取该采集卡的USB设备描述符和配置描述符。
2系统硬件设计
基于USB接口通讯的多传感器数据采集系统的硬件分为
102
InstrumentTechniqueandSensor
Nov2008
两大部分:
以AN2131QC为核心的USB接口电路和以模数转换器AD7938为核心的USB设备功能单元电路,部分详细电路图如图2所示。
AN2131QC是基于USB1.1的外设通信控制芯片,主要特点:
四时钟周期的8051内核;2个快速存储器到存储器的数据传送指针;扩展的中断,包含有多个USFB数据传输中断;8k内部RAM,用于存放程序和数据,支持外部存储器;灵活的固件程序升级;32个输入输出管道,其中同步传输支持1024B长度数据传输;多种固件程序引导方式,方便的固件程序升级办法。
AD7938包含了采样/保持及A/D转换,8通道模拟输入,12位转换精度,能够满足多传感器多输出的特点;数据的总吞吐率高达15Mbps,平均每通道采样率高达600kbps;低噪声、宽带的差分跟踪保持电路,处理的输入信号频率能达50MHz;快速的系统响应时间,转换时间524ns,跟踪保持采样时间125ns
.
图2系统硬件设计的部分详细电路图
3系统软件设计31芯片固件程序设计
USB控制芯片AN2131QC的固件程序控制整个硬件系统的运行,并负责处理PC机发来的各种USB设备请求,以完成它们之间的数据传输。
系统固件程序采用KeilC51语言编写,在AN2131QC内置的8051内核中运行,实现对该芯片功能的控制。
代码可以固化在ROM内,也可通过USB总线从主机下载到内部RAM,这样更易于修改、调试和更新。
芯片上电后自动完成列举过程,完成列举后便可作为一个缺省USB设备与计算机通讯,此时即可进行固件下载。
下载完后,8051内核脱离RESET状态开始执行代码。
可以通过固件对USB设备进行重列举。
固件主程序实现流程图如图3所示。
该程序首先初始化所有的内部状态变量,然后调用TD_Init(函数对固件的全局状态变量进行初始化(主要包括PA,PB和PC的初始化以及其它用到的寄存器的初始化,并打开中断。
之后,固件程序开始列举USB设备(调用UsbDisconnect(函数,直至在端点0上接收到SETUP令牌包时为止。
一旦接收到SETUP令牌,其将重复执行下面的任务分配过程:
(1调用函数TD_Poll(,以完成用户指定的任务;(2判断是否有USB设备请求(SETUP令牌。
如果有,则调用ParseControl_Transfer(函数进行相应的处理。
如果没有,则继续向下执行。
(SBTDSuspend(,交由用户处理。
在TD_Suspend(返回真值后,它将调用EZUSB_Susp(函数,以使8051处于空闲状态。
这时,只有USB总线活动或芯片WAKEUP#管脚活动,才可能将8051重新激活;
(48051被激活后,固件程序将首先调用EZUSB_Resume(函数,使8051从空闲状态中恢复出来,然后再调用TD_Resume(函数处理用户指令[2]。
图3固件主程序流程图
32USB驱动程序设计
在Windows体系下,Win32应用程序、USB设备驱动程序和USB外部设备的层次结构如图4。
在此层次结构中,USB总线
驱动程序由操作系统提供,管理USB总线的各种命令,直接对USB控制器硬件操作。
USB设备驱动程序通过USB总线驱动程序与USB设备通讯,所有USB命令、读写操作通过总线驱动程序转发给USB设备,因此USB设备驱动程序不具体对硬件编程,但必须定义与外部设备的通讯接口和通讯的数据格式,也必须定义与应用程序的接口。
在具体应用中,通过编制上层应用程序和设备驱动程序(它们运行在上位机中来实现对USB设备的控制和数据的传输[3]。
图4USB设备、驱动程序、应用程序的层次结构
33Win32应用程序设计
Win32应用程序主要负责读取系统硬件所采集的数据,并实时显示波形。
表1列出了系统界面包含的主要控件及其实现的功能。
按下启动!
按钮,首先调用UsbOpenDriver(打开指定的USB设备;然后向AN2131QC的块端点OUT7发送数据0xlA,以器模数转换方波信号;之后复管道8
第11期宋成艳等:
基于USB接口通讯的多传感器数据采集系统103
(IN2,准备接收数据,最后调用_beginthread(函数启动接收数据线程。
该线程循环向管道8发出IOCTL_EZUSB_BULK_READ请求读取系统硬件所上传的数据,如果返回的数据长度为512,则说明读取数据成功,这时激活画图区域,画出图形。
按下停止!
按钮,首先设置全局变量g_KeepGoing为False,以结束接收数据线程;然后撤消管道8;最后向块端点OUT6发送数据OxlB,以关闭定时器0,停止方波输出[4]。
表1Win32应用程序中主要控件的功能
控件名称功能
设备描述符按钮读取USB描述符按钮
启动按钮启动AD转换
保存按钮保存按钮
清除列表按钮清除列表按钮的内容
退出按钮结束Win32应用程序
列表框显示各种数据信息
配置描述符按钮读取USB配置符按钮
停止按钮停止AD转换
回放按钮显示以前所保存的波形
关于按钮显示关于信息
画图区域显示所采集的波形4结束语
基于USB接口通讯的多传感器数据采集系统,通过USB接口将被测系统中各传感器检测到的参数输入到计算机,并显示出来。
设计了系统的软件,并制作了系统的硬件电路。
由于采用USB接口,使数据采集卡可以即插即用,弥补了传统采集卡插拔困难的不足。
参考文献:
[1]马敬东,陈明方.基于USB串口通信数据采集技术的实施.仪表技术与传感器,2007(2:
85-88.
[2]朱正为,郭玉英.利用USB接口实现数据采集.西南科技大学学报,2006(2:
62-65.
[3]邓飞.USB设备驱动程序设计.湖南科技学院学报,2006(11:
217-219.
[4]焦斌亮,韩志学.基于EZ-USBFX2实现的高速数据采集系统.仪表技术与传感器,2005(7:
67-70.
作者简介:
宋成艳(1982,助理工程师,硕士研究生,研究方向是传感技术与智能控制。
Emai:
lsongchengyan2000@163.com
(上接第100页
输入电压恒定不变,则输出电流也恒定不变,此时的电压一电流变换器就是恒流源电路。
原理方框图如图5所示。
该系统采用的恒流电路如图6所示,图中三极管U
1
作为调整管,调节
电位器R4可以获得不同量值的输出电流,电阻R
2
为恒流源的
开路保护电阻,以保证恒流源输出开路时不会损坏运算放大器和调整管。
33A/D转换电路的选择与设计
热敏电阻通过一恒流源得到的电压信号为模拟量信号,必须将其转换成数字量才能被单片机采集、分析、计算,A/D芯片正是能完成模/数转换功能的芯片。
ADC芯片的种类很多,根据转换原理主要可分为逐次逼近式和双积分式。
逐次逼近式ADC具有转换速度快的特点,但其价格较高。
双积分式ADC转换精度高,对于成周期变化的干扰信号积分结果为零,因而具有抗干扰的性能,而且还具有价格便宜、与单片机接口方便等优点,但其缺点是转换速度不快。
由于是对温度进行测量,对于A/D转换的精度要求较高,而对转换速度要求不是十分苛刻,因而选用了ICL7135双积分式ADC作A/D转换器。
4结束语
振弦式传感器是目前我国土石坝内部观测的首选仪器,它在大坝监测、桥梁监测和岩石工程中占有重要地位。
文中介绍了一种基于单片机AT89C52制作的等精度且有温度补偿装置的测频系统设计方法。
此测频系统在重庆隧道监控系统中得以应用,实验证明精度较高且稳定。
参考文献:
[1]朱伯申,张炬.数字式传感器.北京:
北京理工大学出版社,1996:
150-153.
[2]高友.振弦式传感器测量过程中干扰问题的解决.仪表技术与传感器,2007(2.
[3]郑凌蔚,宁康红,吴晨曦.一种振弦式传感器温度补偿新方法及其实现.杭州电子科技大学学报,2006(6.
作者简介:
潘妍(1983硕士,主要研究方向为智能监控技术。
Emai:
lpanyan_88820@163.com
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 USB 接口 通讯 传感器 数据 采集 系统 图文
![提示](https://static.bdocx.com/images/bang_tan.gif)