基于USB的数据采集系统的设计与实现--总结
基于USB总线的数据采集系统软件设计

1 基 于 US 的数 据 采 集 系统 B
基 于 US B总线 的数 据采 集 系统一 般 由主机 、 B US 控 制器 、 AD转换 及存 储 模块 构 成 , 基本 结 构 如 图 1 所
US B控 制器 ( y esE — B F ( Y7 6 0 3 ) ; C p s Z US X2 C C 8 1 ) 等
软 件 部 分 主 要 包 括 US B控 制 器 固件 程 序 、 B设 备 US 驱 动程 序 、 户 应用 程序 等 。 用
2 数 据 采 集 软件 系 统 设计
汪 红 童 小念
( 中南民族 大学 计算机 科 学学 院 武汉
407) 3 0 4
【 摘 要】在 现代 工 业控制 和科 学研 究过 程 中, 常需要 对数据 信 号进 行采 集 并加 以分 析 , 经 随着 总 线技 术 的发展 , US 以其 特有 的高速 、 B 方便 、 灵活 等优 势迅 速成 为 主要 的信 号传 输 总线 。在 对基 于 US 总线 的数 据采 集 系统 的 B 总体 结构进 行 综述 的基 础上 , 系统 的固件 程序 、 于 WD 的 US 对 基 M B驱 动程 序及 用 户 态应 用程 序 等软 件部 分设 计进行 了较 详 细的讨论 , 为上述 软件 部分 设计 对基 于 US 总线 系统设 计 非常关键 。 认 B
用。 ‘
换 之后 成为 数字 信 号 , 暂时保 存 在存储 器 中 , 被 然后 在 US B控制 器 的作 用下 , 过 总线 传输 到 主机 进 行后 期 通
基于USB2.0的数据采集系统的研究与设计

多路模 拟信 号经过程控放大器 后送入 A/ 转换器 D
种基本模 式可知 , E 在 OC模式下 , B Y信号 、RD和 把 US
存器 , F F 当 I O存储器半满后 , 经由 US B接 口芯片上传至
主机I 4 31 - 。在这个采集系统的设计中, B接 口芯片选用 US
C p es y rs 公司的 E - S X Z U B F 2系列芯片 C C 8 1t。 Y7 6 0 5 31
技术将在雷达 、通信 、水声遥感 、语音处理 、智能仪器 、
模数转换器 输入 后 , 其转换的数据存 入高速先入先 出缓
收 稿 日期 : 0 —0 一 1 2 9 6 I 0
图 1 数据采集 系统框 图
( 动 技 与 用》09 第2卷 ‘ 化 术 应 20 年 8 第1期 自 I
¥- 机 应 用 i算
Co mpu erApp iat通过测 试表 明, 芝所开发的数据采集 系统能够满足系统频谱分析的要求。 夺 关键词: . ; US 0 数据采集 系统 ; 逻辑控 制
中图 分类 号 : P 7 . T 2 42 艾献 标 识码 : B 文章 编号 :0 3 2 1 09 l… 0 7 0 4 10 —74 ( 0 )l 0 4 00 2
采集系统 , 有着重要 的理论 与实践意义【 H _I 卜29 1 。 I
2 系统硬 件 设计 基 本思 想
本系统设计 了一种基于 US 2 0总线的多通道 、带 B . 程控放 大、可变采样率 的数据 采集卡 , 主要分 为三大部
分 : D模数转换电路 ,U B . 数据传输 电路 、C L A/ S 20 PD 逻辑信号控制 电路。基 本实现流程 是多路模 拟信号通 过
基于USB的数据采集系统的设计和实现

因 为 ’0>?@A 要 把 外部 采 集 过来 的 数 据写 入 到 *’+,$# 的 缓冲 中 ! 所 以 外 部 主 机 对 *’+,$# 的读 写 操 作 是 通 过 外 部 接 口 模块 ’-./0 的" ’0 >?@A 必须 满 足 ’-./0 *1*2 中 ! ’-./0 *1*2 接 口写 时 序 的特 点 才 可 以 把数 据 写 入 到 *1*2 写 时 序如 图 # 所果 是 $$" 则 选 择 *1*26 #$"$ 则 选 择 *1*2( ! 以 此 类 推 " 如 图 ! 所 示 选 择 的 是 向 *1*2 6 写 入 数 据 !F*1* 2G’HJ K 是 写 信 号 线 ! 在 F*1*2 G’I H 采 集 完数 据 后 如 果 拉 低就 是 开 始 向 *1*26 写入 数 据 了 !F*1 " *2GL6M6 是 , 位 的数 据 线 " 值 得 指 出的 是 ! 以 上信 号 线 都是 由 主机 8 即 外 部 摄 像头 ;发 出 的 " E)硬 件 连 线 ’0>? @A 与 *’+,$# 的 硬件 连 接图 如 下 %
F*1*2 G’H2 I 是输 出 使 能 端 ! 如 果 要 从 *’+,$# 中 的 *1*2 中 读 出 数 据 时 必 须 先 拉 低! 然 后 读 信 号 线才 会 有 效 ! 在 此只 是 向 *1*2 写 数 据 ! 因 此 只 要 一 直拉 高 即 可以 实 现 写操 作 " F*1*2G’IH 是 *1*2 选 择信 号 线 ! 由 三 <)*’+,$# 的 软 件配 置 8 "; &’( 模 块 配置 & (&H= 配置 ’
基于USB2.0的数据采集传输系统和其应用研究

重庆大学硕士学位论文速数据采集设备,从而扩展了其业界领先的高性能USB数据采集设备USB-9000系列产品,实现了高达800kS/s的采样率。
如图1.1所示是NI公司其中一款即插即用UsB数据采集产品的外观图。
这些新设备不但为现有USB兼容的数据采集设备提供最高速率的数据采集功能,同时也以功能强大的测量服务软件简化了系统设置和程序设计的工作。
新推出的USB2.0高速设备包含免费的交互式数据记录软件,以供分析之用。
可以实现数据记录,并将输出结果导入诸如MicrosoftExcel的电子数据表程序。
凭借总线驱动、即插即用的连接功能,该系列新款设备使得NIUSB.9000高品质的USB数据采集设备系列如虎添翼。
但是NI公司的USB数据采集卡系列产品的价格都在200美元以上。
图1.1NI公司的USB数据采集卡Fi91.1USBdataacqu'mitionequipmentofNIcorporation近年来国内有很多公司,如北京中泰研创科技有限公司,成都中科动态仪器有限公司等都相继推出了uSB数据采集卡,而这些产品多是基于USBI.1协议规范,其数据传输速度远低于基于USB2.0协议规范的数据采集卡,因此也制约了这些产品的采集速度。
目前国内对USB接口开发应用的广度和深度还远远不如传统的串行口、并行口以及各种总线插卡,其应用主要是局限于开发一些标准的微机外围设备,如U盘、鼠标、键盘等。
这主要是由于作为一个新技术和新标准,USB规范较为复杂,应用开发人员还不是很了解,相应的技术支持和参考设计资料比较少,要把USB接口作为微机的一个通用I/O接口使用具有一定的软硬件开发难度。
目前,国内外有一些厂商为USB设备的研发提供软硬件支持,这在很大程度上降低了开发难度,减少了2USB协议简介个集线器(不包括根集线器)。
复合设备(既是集线器又是功能设备)占据两层。
在第七层中将只可能出现USB功能设备。
图2.8USB总线结构Fig2.8USBbustopology2。
一种基于USB的数据采集系统设计

数据存储模块具有两组数据总线 , 一组用于同
A D转换 接 口电路 连接 , 收从 A D转换模 块 中写 / 接 / 入 的数 据 , 总线宽 度 为 l 6位 ; 一 组 总线 用 于 同单 另
wh c a t r t n l a d a e sr cu e a d c re p n i g s f a e T i s se a e n p t no o e a ih h s i a i a r w r t t r n o r s o d n ot r . h s y t m h s b e u t p r - s o h u w i t n whc a rd c d a w n e u f c . i , ih h sp o u e o d r lef t o f e Ke r s US d t c u st n; t r c y wo d : B; a a a q ii o i e a e i n f
制下, 通过时序控制 电路启动或停止采样 , 并通过时 序控制电路将数据存储 到数 据存 储模块。A D转 / 换 采 用 MA I 公 司 的 l XM 4位 刻 字 校 准 A C 芯 片 D M X 2 1其采样 速度 可达到 2 2M p , A 10 , . ss采样值输 出采用二进制补码格式 。M X 2 1 A 10 工作过程 中需
输接 口电路用 于将采样后 的数据传输 到 U B接 口 S 模块 。
数据缓存 , 以满足被检测信号能实时无 间歇 的采集
传输 。U B总线接 口所具有 的高速数据传输速率是 S 这类 数据 采集 系统 的理 想选 择 。
利用USB接口实现数据采集

目 , 前 数据采集通常采用 I S A总线 、C 总线 、 24 5 PI 4 、 等接口形式的 A D采集卡 , 2 8 / 这种板卡不仅安装麻 烦, 且易 受计 算机插 槽 数量 和地 址 、 中断资 源 的限制 。为 了解决 日益增 加 的 P C外设 与 有 限 的主板 插 槽 和端 口之间的矛盾, t 、 E 、 i o f等公司联 合提出一种新 的串行总线接 口规范——u B串行 通信标准。 I e D C Mc st nl ro s U B接 口具有即插 即用、 S 一种接 口适合多种设备 、 速度高、 成本低等优点, 在数码相机、 便携式存储设备与仪
b e p r r a c n o d e fc e t s u e n d t c u s in o u i in l a d S n l e o f m n ea d g o f t e wh n i i s d i aa a q i t fa do s a s n O o . io g
Mi y n 2 0 0 Scu n C i ) a ag 6 1 1 , i a , hn n h a
Absr c :Daa a q st n s se i e in d a d r aie y USB I e a e ta t t c uiii y tm sd sg e n e lz d b o ntr c .Att e c r ft e s se i f h o eo y tm s h a n EZ— B c nto lr a d A/D r n fr i o told b i o to ic t EZ— US o rle n ta so m s c n r l y t c n r lc rui. e s USB o to lr g t c n r l es a e me s g e h a a b fe sf l,t n t e a q ie aa i a e y t e h s o utra d is wa e s a e wh n t e d t u ri u l he h c u r d d t s tk n b h o tc mp e n t v —
基于USB的通用A/D采集系统的设计与实现

刘 雪 兰 王 宜怀 郑 洪静
( 苏州大学计算机科 学与技术学院, 江苏 苏州 250 ) 106
摘 要
以 数 据 采 集 系统 为 例 , 出 了一 个基 于 Fe s ae M6 H 8系 列舍 U B模 块 的 MCU 的 系统 设 计 方 法 , 应 用 角度 提 re c l 8 C0 S 从
鉴于 M6 H 0 8 C 8系列 MCU将在我 国推广应用 ,探讨该 系
列 MC 的外 围接 1 U : 3电路 设 计 与 编程 方 法 具 有 积 极 的 意 义 。叉
_eH08B C 8 C O J8
T 0 53( 0片) L24 第
电系 -_ 浦 统 -
由于 U B的传输速度快 , S 信号稳定 , 本文 利用含有 U B模块 的 S J 8没计一个高位多路数据采集系统 ,着重讨论 M6 H 0 B 8 C 8系
维普资讯
《 工业控制计算 机} 0 6年 1 20 9卷第 6期
基于 U B的通用 A D采集系统的设计与实现 S /
De eo me to t l cig Sy t m s d o US o v lp n fDaa Col t se Ba e n e n B c mmu iain nc t o
T053第 2 L 2 4 ( 片)
^l 0 N
CS DT T ^ A 0U ・ :
图 1给出了基于模拟 S I P 的一种数据采集系统的硬件电路 设计。 中T C2 4 其 L 5 3芯 片是美 国德州仪器公司于近几年推出的
cr ut b u L 5 3 wi B n / r g a i p e e t d A d te t o fc mmu ia in b t e B n i iy a o tT C2 4 t J 8 a d A D p o r m s rs ne . n h n a me h d o o c r h nc t ewe n J 8 a d o P y U B i ds u s d C b S s ic s e . K y r sM6 HC 8 MC S I / o v r n , t olc ig S s e U B e wo d : 8 0 U, P , D c n et g Daa C l t y t m, S A i e n
基于USB3.0高速数据采集系统的研究与设计

主 函数是整个程序 的起 始 . 到连接模块的作用 . 多 起 将 个模块连接起来 . 模块 之间多通过共享数据完成通信 。 在驱动程序开发方面 . 我们选用 了 N Mea 司提 u g公 供 的 Di r td0 为开发工具 .简化 了驱 动程序 的 r e u i 作 v S 开发工作 、缩短 开发周 期以及降低开发驱动程序 的难
在用户 应 用 程序 的 开发 方 面 .我们 选用 了 M— i coo i a S do60作 为 开 发 工 具 .通 过 相 关 的 rsfV s l t i . l u u
AI P 函数 与相关 的驱动程序传递数据 . 进行实时采集。
Re e rh a d De in o g e d Da a Ac ust n S se s a c n sg fHih Sp e t q iio y t m i B s do a e n USB3 0 .
U B与 P S C之 间 的 传 输 存 储 .完 成 与 P C的 U B通 信 S
U B .数 据 采集 系统 的理 想 选 择 .它 的 超 高 速 内核 和 S3 0 与 U B . 容 的设 计 能 满 足 客 户 的需 求 虽 然 我 仃 受 S2 0兼 】
实 验 条 件 的 限 制 采 用 了 低 速 的单 片 机 C8 5 F 2 . 0 1 0 0 没
L U R ifn , D N ipn , H n j g , ME io a , L U X n I u—a g I G We- i g U We -i n I a— n X I i
\
\ \\
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于USB的数据采集系统的设计与实现
USB总线拓扑结构
一个USB体系由USB主机、USB集线器和USB功能设备组成。
在一个USB系统中只可能有一个USB主机,相对计算机主机系统而言,USB主机也被称为USB主机控制器。
USB主机控制器是硬件、软件的综合体。
USB主机控制器同时包含一个根集线器,根集线器是一个USB系统的最初连接点,用以提供向下的更多的连接点。
USB的通信协议
USB的协议层描述了USB主机与USB外设交互的语法和协议,从中定义了字段、包、事务和传送的结构。
协议同时还规范了数据链路的建立、正常或异常传送处理的动态过程。
信息包
包(Packet)是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的。
USB包由五部分组成,即同步字段(sYNC)、包标识符字段(PID)、数据字段、循环冗余校验字段(CRC)和包结尾字段(EOP)。
常用的几种包格式
1.起始(SOF)封包
起始封包属于令牌封包的一种,但具有独自的PID类型名:SOF。
这个封包常用于等时传输,并不应用于低速设备。
2.令牌(Token)封包
令牌封包由于USB的数据交换是由PC主机端所激活的,所以在每一个数据交换中必须以SYNC、PID、ADDR、ENDP与CRCS这5个数据域组合而成的令牌封包为起始。
3.数据(Data)封包
数据封包含有4个域:SYNC、PID、DATA与CRC16。
DAI…A数据域的位值是根据USB设备的传输速度及传输类型而定,且须以8字节为基本单位。
也就是,若传输的数据不足8字节,或传输到最后所剩余的也不足8字节,仍须传输8字节的数据域。
4.握手(Handshake)封包
握手封包仅包含SYNC和一个PID数据域。
事务处理
事务处理是USB总线上数据传输的基本单位,主机和USB设备间的一次通信可能需要使用多个事务处理。
事务处理由三个阶段组成:令牌阶段、数据阶段和握手阶段,其中,数据阶段和握手阶段是可选的。
根据所含令牌包的种类,USB 中的事务处理可分为七种类型:IN事务、OUT事务、SETUP事务、PING事务、SOF事务、SPLIT事务和PRE事。
USB传输方式
当USB插入USB总线时,USB控制器会自动为该USB设备分配一个数字来标示这个设备。
另外,在设备的每个端点都有一个数字来表明这个端点。
USB设备驱动向USB控制器驱动请求的每次传输被称为一个事务(Transaction),事务有四种类型,分别是BulkTransaetion、ControlTransaetion、InterruptTransaction
和IsoehronousTransaetion。
每次事务都会分解成若干个数据包在USB总线上传输。
每次传输必须历经两个或三个部分,第一部分是USB控制器向USB设备发出命令,第二部分是USB控制器和USB设备之间传递读写请求,其方向主要看第一部分的命令是读还是写,第二部分有时候可以没有。
第三部分是握手信号。
基于USB的数据采集系统的整体设计
基于USB总线数据采集系统包括两部分:系统的硬件设计和软件设计。
硬件部分完成数据采集功能,并将采集的数据通过USB接口传送给PC机。
软件部分包括采集设备固件程序、设备的驱动程序和用户应用程序。
整体设计思路为:用户应用程序通过设备的驱动程序与采集设备固件程序进行通信,进行采样参数配置并控制采样的启动和停止,采集设备固件程序根据配置对刀D芯片进行参数配置,启动采样并且将刀D芯片采集到的数据传递给用户应用程序,界面应用程序对采集到的数据进行实时显示。
基于USB数据采集系统的关键性能指标
和其他的采集系统一样,对于基于USB的数据采集系统,也同样关心系统的一些性能指标,主要包括:
1.接口方式:USB数据采集系统采用USB总线接口,应该同时兼容1.1和
2.0,但1.1以下需要对采样率进行限制。
2.输入通道:同时支持的通道数。
3.测量的信号:工业采集中的采集信号多种多样,有电压、电流、气压等。
4.输入频带:对测量信号的频带要求。
5.采样率:是数据采集系统的重要参数,直接表明系统的采集性能。
6.采样分辨率:采样数据的精度,也是数据采集系统的重要指标之一。
基于USB数据采集系统的硬件构成
基于USB的采集系统硬件主要由三部分构成:USB接口模块、A/D控制模
块和完成。
A/D转换模块。
而USB接口模块和A/D控制模块通常有一块控制器芯片和其他接口的数据采集系统相比,系统不需要电源模块,而采用USB供电方式。
基于USB数据采集系统的软件构成
基于USB的采集系统软件分为三个部分:采集设备固件程序、设备驱动程序和用户应用程序。
基于USB的数据采集系统硬件设计
USB接口芯片选择
随着USB的应用日益广泛,各个开发商也相继推出了各自的符合USB相应协议的USB控制器芯片,尽管各种芯片都是严格遵循USB的相关协议,但不同的厂商推出的产品还是有着一定的性能和用途差异,目前市场上主要有三类:专门为USB设计的芯片、内嵌通用微控制器的USB控制芯片、需要外接微控制器的USB控制芯片。
基于USB的数据采集系统软件设计
基于USB的数据采集系统软件部分总共分为三块:采集设备固件程序、采集设备驱动程序和用户应用程序。
采集设备固件程序
采集设备固件程序是指运行在STM32F103C微控制器上的应用程序。
其主要功能是驱动硬件,完成和PC机的数据交互,驱动采样芯片,完成采样过程和采样数据上传。
USB通信模块
USB通信模块用于完成和PC之间的USB数据通信[25〕,其具体功能描述和对外接口定义如下:
(l)完成一个用户自定义USB类,使得操作系统能够发现这个设备,并与之建立连接,通过接口voidUSBModuleInit(void)对外提供。
(2)通过控制端点0接收PC端发送的命令数据,并保存到全局缓冲区。
(3)通过同步传输端点l向PC机上传采集数据,在voidUSBMoul走Sendnata(vo 记)中将采样数据全局缓冲区中的数据装入USB发送缓冲区。
采集设备驱动程序
当Windows操作系统探测到有新的设备接入时,就会依据设备的配置描述符的调用相应的设备驱动程序。
Windows本身提供了一些常见的标准USB外围设备的驱动程序,在进行USB设备开发的工作中,有两种选择,一种是将你的USB 设备配置成一些标准的USB设备,例如HID类或者MassStorage类,另外一种是开发自己的USB设备驱动,后一种选择灵活性更大[28],在本文系统中选用的就是开发自己的USB采集设备驱动。
用户应用程序
对于基于USB的数据采集系统,用户应用程序是必须的。
一般用户应用程序必须的功能是采样控制、采样数据读取以及数据显示,其他功能(例如数据存储、数据分析)可以根据应用系统的需要进行定制[34]。
本文将实现一个基本功能集的用户应用程序。
C一在USB通信、图像处理和数据处理方面具有得天独厚的优势,所以选择了VC++6.0作为应用程序的开发平台。