NiosII和USB接口的高速数据采集卡设计
llll 'l一 _ l _|ll__ 。 ll 0≥ 熬
N i os l l和 U S B接口的高速数据采集卡设计
■ 四川I大学 杜 改 丽 封 治 华 王 勇
介绍一种基于USB2.0接 口和 FPGA的高精度实时采样的高速数据采集卡的设计;详细介绍系统硬件设
摘 要 计、固件设计、基于Windows驱动程序模型(WDM)的设备驱动程序设计以及用户软件的设计。通过试
验证明,其具有很好的可靠性和稳定性,具有很强的实用价值。
关键词 USB2.0 NiosII 固件 高速数据采集 CY7C68...
llll 'l一 _ l _|ll__ 。 ll 0≥ 熬
N i os l l和 U S B接口的高速数据采集卡设计
■ 四川I大学 杜 改 丽 封 治 华 王 勇
介绍一种基于USB2.0接 口和 FPGA的高精度实时采样的高速数据采集卡的设计;详细介绍系统硬件设
摘 要 计、固件设计、基于Windows驱动程序模型(WDM)的设备驱动程序设计以及用户软件的设计。通过试
验
,其具有很好的可靠性和稳定性,具有很强的实用价值。
关键词 USB2.0 NiosII 固件 高速数据采集 CY7C68013
引 言
随着现代工业生产和科学研究对数据采集的要求 日
益提高,在瞬态信号测量、图像信号处理等一些高速、高精
度的测量中,都迫切需要进行高速数据采集(如雷达信号
、超音波信号分析);而进行数字处理的先决条件是将
所研究的对象数字化,因此数据采集与处理技术日益得到
重视。在图像信号处理、瞬态信号检测、工业过程检测和
监控等领域,更是要求高速度、高精度、高实时性的数据采
集与处理技术。现在的高速数据采集处理卡一般采用高
性能数字信号处理器(DSP)和高速总线技术的框架结构。
DSP用于完成计算量巨大的实时处理算法,高速总线技术
则完成处理结果或者采样数据的快速传输。DSP主要采
用 TI和 ADI公司的产品,高速总线可以采用 ISA、PCI、
USB等总线技术 。其中PCI卡或 ISA卡安装麻烦,价格
昂贵,受计算机插槽数量、地址、中断资源的限制,可扩展
性差,在一些电磁干扰性强的测试现场,无法专门对其做
电磁屏蔽,易导致采集的数据失真。通用串行总线 USB
是为解决传统总线不足而推广的一种新型的通信
。
该总线接口具有安装方便、高带宽、易于扩展等优点 ,已逐
渐成为现代数据发展趋势。基于 USB的高速数据采集卡
充分利用 USB总线的上述优点,有效地克服了传统高速
数据采集卡的缺陷。
1 系统硬件设计
本系统主要是基于 USB2.0的 Slave FIFO模式,在
FPGA控制下完成双通道、不同速率的数据 的采集和发
送 ,全兼容 USB2.0总线接口标准 ,其数据的采样率可高
达 65 Msps;适用于较高速动态信号的实时记录采集,其
硬件系统总体结构框图如图 1所示。
该系统主要由信号调理模块、A/D转换模块、触发模
块、基于 FPGA的主控模块、USB收发控制模块、片外存
储器及其他辅助电路组成。调理电路与 A/D转换器,将
传感器采集 的模拟信 号进行相关 的信号调理 后送入
AD9244芯片转换为数字信号。处理后的数据送往 FPGA
主控模块,根据相关的控制信息,选择通过直接传输给上
位机,或者先存储在外部 SDRAM,然后经过相关的数字
处理后再传输给上位机。
2 系统模块介绍
2.1 USB2.0专用微处理器 CY7068013A
CY7C68013A是 Cypress Semiconductor公司生产的
一 款集成 USB2.0的微处理器。它有 3种封装形式——
56SSOP、1O0TQFP和 128TQFP,其结构框图如图2所示 。
CY7C68013集 成了 USB2.0收发器、SIE、增强 的
8051微控制器和可编程的外围接 口部件。其 SIE可在全
速(12 Mb/s)和高速(480 Mb/s)两种模式下运行 ,同样可
以使用内部 RAM 来进行程序和数据的存储。GPIF和
Master/Slave端 口 FIFO 为 ATA、UT0HA、EPP、PCM—
CIA和 DSP等提供了简单和无需附加逻辑的连接接 口。
其编程可以根据设计的需要进行,不需要 CPU的干预,只
信号 一 D转换模块L.- FPGA I PC -调理 l’
(Cycloneti l 模块
触
EP2C8Q208C8)
Y,c 。 一 传输模式选择模块
数据处理模式
信号 采样频率产生模块
控制模块 调理 1 加转换模块}.. 模块
图 1 硬 件系统总体 结构框 图
99 牵 扭上 入 j:鑫O刍踊 A^v nPt mm n(广.告专用、
维普资讯 http://www.cqvip.com
集成
全速
高速
收发
图 2 CY7C68013微处理器 结构框 图
需通 过 CPU 的 一 些 标 志 和 中 断 即 可 进 行 通 信。
CY7C68O13共 有 7个 输 入 输 出 端 口:EP0、EP1OUT、
EP1IN、EP2、EP4、EP6、EP8,其 中 EP2、EP4、EP6、EP8可
以分别被配置为批量/中断/同步传输模式,传输方向均可
配置为 I/O,端 口 EP2、EP6的缓冲区大小可编程为 512
或 1 024字节,深度 可编程为 2/3/4倍大小;端 口 EP4、
EP8的缓冲区大小固定为 512字节,深度为 2倍,采用不
同的配置方式 ,可实现 特定 带宽和速率要求 的数据传输 。
2.2 主控电路 FPGA芯片
EP2C8Q208
EP2C8Q208主控电路如图 3所示。
FPGA芯片也是一种 特殊 的 ASIC芯
片,属于可编程逻 辑器件,它是在 PAL、
GAL等逻辑器件 的基础上发展起来 的。
同以往的 PAL、GAI 等相比,FPGA规模
比较大,适合于时序、组 合等逻辑电路应
用 。本文选 用 Altera公 司 的 FPGA 芯片
EP2C8Q208,完成数 据采集 卡 的时序 和地
址译 码电路 设计 。由于 EP2C8Q208有 36
个 M4K RAM,在 FPGA内部设计一个 l6
位宽度、4 KB深度的 FIFO,使用 FIFO提
高数据采集卡对多通道信号的采集存储能力。FIFO有半
满、全满、空标志位,当检测到半满标志位时,FIFO同时读
写;全满时只读不写;空时只写不读。A/D采样控制信号
通过 FPGA控制;PC机对采集后的数据作进一步处理,
以提高精度,其中2选 1模块,由主控制模块来控制,选择
是直接将采集数据送给 PC机处理,还是在 内部进行 DSP
处理后再送给 PC机 。
图 3 EP2C8Q208主控 电路
由于 Nios是一 个位 于 FPGA 中的处理 器软 核 ,定 制
其外设就显得比较容易,在 SOPC Builder(集成到 Quartus
II工具中的为建立 SOPC系统设计,提供标准化的图形设
计环境。其由CPU、存储器接 口、标准外围设备和用户 自
定义的外围设备组成)环境下,其定制逻辑的结构框图如
图 4所示 。
自定制的 Avalon外设按照对总线操作的方式 可分
—+ FIFO I- —一cY s。
MUX2/1 f
F O SOghU~ - .一SD
f l f I
— I 主控单元
paper@mesnet.corn.cn(投稿专用) Micr。c。ntr。1iers&Embedded Systems 2 3
维普资讯 http://www.cqvip.com
为:Avalon Slave外设和 Avalon Streaming Slave(流模式)
外设 。在 SOPC Builder图形 设计 界 面 下 添加 需 要 的 内
核。通过 自动分配系统基地址和系统中断向量,手动分配
CPU复位地址为外设 Flash、CPU溢出地址为片上 RAM
和 CPU调试断点地址为 JTAG调试地址,就可 由系统报
告得知系统是否定制成功,如图 5所示。
dB,增益为 1),可以将单端输入变成差分输出。A/D转换
的触发则由信号放大芯片 AD811采集信号和 D/A转换
芯片信号进行比较,当有效时,发出 ADn—TRIG信号,其
中 D/A转换芯片的输入标准信号(数字输入端)由FPGA
来提供。当ADn_TRIG有效时,FPGA向AD9244发出控
制命令 (DIN、FORMAT、MODE、SCLK、SYNC、FSYNC
图 5 Nios内核定制结构 图
2.3 ADC芯片及外围电路设计
ADC外围电路框图如图6所示。
模拟
输入 信号放大
AD8l1
档速变换
AGQ200A4H
信号补偿及
差分变换输出
AD8138
USB68013 DDS9859
比较电平
触发AfD
L] 65l1
D/A变换
AD53O4ARM
二二=I=二
FPGA
EP2C8
A,D变换输出L一 盖 AD9244 l
图 6 ADC外围电路框 图
信号调理部分选用高精度、低噪声、低输入偏置电流、
宽带运算场效应放大器 AD8¨ 进行信号的放大。模拟信
号处理是影响系统性能的重要因素之一,设计时必须考
虑两个方面:一是要保证信号质量 ,提高信噪比,尽量减
少畸变;二是将信号变换成适合 A/D处理的幅度并提供
足够的驱动能力。这里选用 ADI公司的宽带运放 AD8¨
为放大器。AD811是一种电流反馈型的放大器 ,它具有
10 MHz的低失真和单位增益带宽很宽的特点,使 AD8¨
成为理想的高分辨率 ADC缓冲器。之后针对信号进行档
速变换。档速变换选用 ADG系列产品。本设计选用 的
是一款四路独立选择的单片 CMOS开关芯片,其设计基
于增强的 lc2mos进程、可以提供低功耗、高转换速度和低
阻抗性,当信号满足 A/D变换的要求后,根据采集要求将
其由单 端 输 入 变 换 为 差 分 的双 端 输 出,芯 片选 用
AD8138。AD8138具有较宽的模拟带宽(320 MHz,一3
信号),启动 A/D转换。
A/D转换器 的精密 时钟 由 DDS电路
AD9859YSV提供。
3 软件设计及实现
系统软件设计包括 3部分:固件程序、
USB设备驱动程序和应用程序。整个软件
实现的功能包括系统初始化、采样控制、数
据传输和波形显示。
3.1 固件程序设计
固件程序辅助硬件实现设备双 向交换
数据 ,以完成 USB通信 ,其主要功能是 :接收
并处理 USB驱动程序的请求及应用程序的控制指令,控
制 A/D转换器的采样 。当首次插入 USB时,FX2通过
USB电缆会 自动枚举且下载固件和 USB描述符表;接下
来,FX2再次枚举,这次主要通过下载的信息来定义设备。
这两个步骤叫作重枚举。固件程序流程如图 7所示。初
始化包含各个初值的设 置
和关键点的电平检测。
在 Cypress公 司 的网站
‘、http:f f .Cypress.corn)
上,可 下载 CY7C68O13芯 片
的开发工具包。该开发包
提供了一些开发固件程序
所需的资源 :Keil uVision2
集成开发 环境 (限制 版)、
Cypress C51固件框架程序
以及一些 例子程 序。Keil
C51是一种专为 8O51单片 机设计的高效率 C语 言编 图7 主程序流程
译器,符合 ANSI标准,生成的程序代码运行速度极高,所
需要的存储空间极小 ,完全可与汇编语言相媲美。同时,
c51具有丰富的库函数,多达 100多种功能瓯数。因此,
采用 C语言作为开发语言,以 Keil uVision2作为
开
发平台,完成源代码的编写、仿真、调试,将在相当程度上
降低固件开发难度 ,提高开发效率。
3.2 USB设备驱动设计
USB设备驱动程序的设计是基于wDM( r1dOws-
4 《聋‘; 蕞入矗:禾 刍阚 ⋯A ⋯ n4t⋯ n r广.县击田、
维普资讯 http://www.cqvip.com
所示。表 1给出了状态字的定义。
表 1 状态字定义
状态字 有来电信号 摘机信号 说 明
O O O 有来电 、挂机状态
l l O 无来 电、挂机状态
2 O l 有来电、摘机状态
3 l l 无来 电、摘机状态
爱蕾臻鬣 甏臻穗琵 々 一强溪镳强甏毪 |嚣 | l 彝蕊l罄慧曩秀 譬
5 结 论
信息电话 USB接 口设计,是来电显示电话与计算机
的接口和相关的数据采集系统 ,是运用接 El技术、计算机
软件技术实现来电号码等相关信息在计算机上的显示或
存储,并可以根据基本信息进行来电号码的分类统计。这
些数据对相关部门服务质量和效率的提高将起到重要的
作用,同时还可以为相关决策部门及时提供参考信息。
本装置完成数据采集和数据传送,而且通过软件接 El
完成对相关数据 的分离 。详细地研 究了来 电显示技术 ,单
片机程序编制和使用 VC++编写 DI I 。本装置不但可以
嵌入到电话内,还可以作为单一的模块来使用,所以该系
统有广泛的实用价值。_E
参考文献
[1]常波.朱全银.来电显示电话机 USB接 口数据采集与处理
[J].陕西理工学院学报,2007,23(3):l1—14.
[2]王辛之 ,钟 爱琴 ,王雷 ,等.AT89系列单 片机 原理 与接 口技
术[M].北京:北京航空航天大学出版社,2004.
[3]尹勇 ,王洪成.单片机开发环境 FVision2使用指南及 USB固
件编程与调试[M].北京 :北京航空航天大学 出版社,2004.
[4]陈启美,丁传锁.计算机 USB接口技术[M].南京:南京大学
出版社 ,2003.
[5]马伟.计算机 USB系统原理及其主/从机设计[M].北京:北
京航空航天大学 出版社 ,2004.
[6]Gary Legg.Usb Goes Wireless[OL].http://www.teehon—
line.com/community/tech—topic/B1uetooth/37308,2004.
[7]Bellcore Caller ID specification[0L].http://www.epanora—
ma.net,1991.
[8]如何用单片机实现 FSK来 电显示解码[0L].http://www.
softexam.cn/tech/catasecond.asp?catalogf=4~catalogs=15.
1皋垒银t 教颦b’圭受珂}莞舞氟兔挂| 擞苯碍}免与I蕊憩 筵 雏
鍪 强|I |餮疆蘸 蠹 警 ||鬟誊镊|一 ≮收藕 镣 霉鸹 篱j
D Driver Model,驱动程序模型)的。WDM采用分层
驱动程序模型,分为较高级的 USB设备驱动程序和较低
级的 USB函数层。其中USB函数层由两部分组成:较高
级的通用串行总线模块(US—BD)和较低级的主控制器驱
动程序模块(HCD)。
本设 计用 WinDK3.0开 发 了 Win2000下 的驱 动 程
序,实现了控制传输、中断传输和批传输的标准接口函数。
在应用程序开发中,可用 VC++编制应用程序。把 USB
设备当成文件来操作,用 Create—File得到 USB句柄.用
DeviceloControl来进行控制传输,用 ReadFile、WriteFile
进行批量传输。
3.3 应用程序设计
应用程序流程如图 8所示。用户应用程序是数据采集
图 8 应 用程序流程
系统的核心,其主要功能为:开启或关闭 USB设备、检测
USB设备、设置 USB数据传输管道、设置 A/D状态和数据
采集端 口、实时从 USB接口采集数据 、显示并分析数据 。
4 结 论
用 FPGA作为采集处理部分 .可 以提高 系统 处理的速
度,大大增强系统的灵活性和适应性。FPGA技术和 USB的
组合,使得数据处理能力得到了极大的提高,且有利于系统
升级。USB芯片采用了Cpyress公司的高性能 USB2.0芯片
CY7C68013,可以完全胜任大数据量的传送。该实例还可应
用于实时数据采集、音频及压缩视频数据传输等领域。●E
参考文献
[1]任爱锋 ,初 秀琴 ,常存 .等.基 于 FPGA的嵌 入式 系统 设计
[M].西安:西安电子科技大学出版社,2004:68—70.
E2]钱峰.EZUSB FX2单片机原理、编程及应用[M].北京:北京
航空航天大学 出版社 ,2006:54—156.
[3]李淑博,田书林.基于 USB接I:1的高速数据采集系统设计
[J].自动化信息.2006(11);36—38.
[4]戴小俊,丁铁夫.郑喜风.基于 USB和 DSP的数据采集系统
的设计[J].电子技术应用.2007(1):84—86.
[5]王宏 ,许丙南 ,杨铁牛 ,等.基 于 EZ—USB FX的多路同步数
采固件设计[J].微计算机信息,2006(12):126—128.
9R 互 j喜 :奈0 刍厢 a v npt nm nf广告专用、
维普资讯 http://www.cqvip.com
本文档为【NiosII和USB接口的高速数据采集卡设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。