2024年4月27日发(作者:扬雅艳)
第
26
卷第
1
期
2011
年
3
月
西南科技大学学报
JournalofSouthwestUniversityofScienceandTechnology
Vol.26No.1
Mar.2011
基于
FPGA+USB2.0
多通道数据采集系统设计
程海狮黄玉清
四川绵阳
621010)(
西南科技大学信息工程学院
摘要
:
针对传统数据采集系统中主控制器升级慢和传输芯片速率低等弊端
,
利用
FPGA
内嵌
FIR
滤波器抗干扰
、
现
场可编程性
、
容易升级与更新以及
USB
接口通用性好
、
传输速率快的优点
,
设计了基于
FPGA+USB2.0
多通道数据
能够完成
4
路最大采样频率
150kHz、
精度为
12
位的数据采集和传输
,
实现了高精度数据采集
。
采集系统
,
关键词
:FPGAUSBFIR
数据采集
文章编号
:1671-8755(2011)01-0056-05
中图分类号
:TP391
文献标志码
:A
DesignofMulti-channelDataAcquisitionSystem
BasedonFPGAandUSB2.0
qingCHENGHai-shi,HUANGYu-
(SchoolofInformationEngineering,SouthwestUniversityofScienceandTechnology,
Mianyang621010,Sichuan,China)
Abstract:Inthetraditionaldataacquisitionsystemdesign,primarycontrollerishardtoupdateandthe
transmissionspeedoftransmissionchipislow.Thispeperhasdesignedamulti-channeldataacquisition
systembasedonFPGAandUSB2.0.Thesystemachievesacquiring4-routedataacquisitionwiththe
maximalfrequencyof150KHzandtheprecisionof12bits.Thesystemhasdesginedmulti-channelFIR
filter.Thisapproachcanachievereal-timefilterandeliminatetheinterference.Thesystemismodularde-
sign,highstability,canbewidelyusedformulti-channeldataacquisition.
Keywords:FPGA;USB;FIR;Dataacquisition
计算机的广泛应用使得数据采集系统在多个领
域有着十分重要的应用
。
传统的数据采集系统
,
通
控制
A/D
以及常采用单片机或
DSP
作为主控制器
,
存储器和其他外围电路的工作
。
用
DSP
作为主控
制器
,
实现方式灵活
,
但是由于其结构限制不能进行
并行运算
,
使得对多通道
A/D
采样增加了难度
,
延
长了开发周期
,
处理速度也大大降低了
,
成本也相对
较高
;
用单片机作为主控制器操作简单
,
成本低
,
但
是满足不了实时性要求
。
近年来
FPGA
的使用越来
FPGA
具有高逻辑密度
、
越广泛
,
可编程以及能够可
并行计算等优点
,
是多通道数据采集系统的理想控
制器
。
数据从主控制器到存储及处理部分的传输多
CAN
总线
、PCI
总线
、
使用的是
RS-422/RS-485、
收稿日期
:2010-03-29
作者简介
:
程海狮
(1984—),
男
,
硕士研究生
,
研究方向
:
嵌入式图像处理
,
电路设计
。E-mail:whizchs@126.com。
IEEE1394
接口等
。RS-422/RS-485、CAN
总线其
传输速率不超过
1Mb/s,
很难满足日益增长的数据
IEEE1394
接口
,
在速率上采集传输要求
;PCI
总线
、
IEEE1394
还支持异步
、
较前者有很大提高
,
等时传
输
、
点对点连接
、
热插拔
、
线缆提供等
,
但与
USB
比
USB
具有支持热插拔
、
较
,
携带方便
、
标准统一
、
可以
连接多个设备等优点
。
笔者利用
FPGA
和
USB
设
计了
FPGA+USB2.0
多通道数据采集系统
。
1
系统设计原理
基于
FPGA+USB
多通道数据采集系统的硬件
模块框图如图
1
所示
。
硬件电路包括滤波电路
、
放
A/D
采样电路
、FPGA
及配置电大电路
、
前端跟随
、
第
1
期程海狮
,
等
:
基于
FPGA+USB2.0
多通道数据采集系统设计
57
USB
电路
、
路
、
时钟电路
、
串口电路组成
。
其芯片为
AD8231,THS6062ID,AD7323,XC3S1500,
CY7C68013A,MAX232。
其工作流程为上位机通过
串口发数据
(
配置信息
)
到
FPGA
得到采样率的大
小
、
放大倍数等信息
,
输入信号通过放大
、
滤波
、
采
FPGA
经样
、
量化
、
编码
,
以串行的方式传至
FPGA,
组包
,
传至
USB
以
USB2.0
的标准高速传至过组帧
、
上位机
,
上位机接收数据
,
拆包获取有效数据信息
,
显示出波形
。
批量
、
中断以及等时传输
。CY7C68013A
包括带
16
kB
的片内
RAM、16
位并行地址总线
、8
高速
CPU、
I2C
总线
、4kBFIFO
的可配置位数据总线
、
双串口
、
的存储器以及通用可编程接口
(GPIF)、
智能串行接
口引擎
(SIE)
和
USB2.0
收发器
。CY7C68013A
与
外设有两种接口方式
:
可编程接口
GPIFMaster
和
SlaveFIFO。
可编程
GPIF
的主机方式
(Master
Mode)
可以由软件设置读写控制波形
,
灵活性很大
,
几乎可以对任何
8/16
位接口的控制器
、
存储器和总
线进行数据的主动读写
,
使用非常灵活
。SlaveFIFO
方式是从机方式
(SlaveMode),
外部控制器可像对
普通
FIFO
一样对
CY7C68013A
的多重缓冲
FIFO
进行读写
。CY7C68013A
的
SlaveFIFO
工作方式可
设为同步或异步
;
工作时钟为内部产生或外部输入
可选
;
其它控制信号也可灵活地设置为高有效或低
有效
,
或是作为读写选通信号
。
3
2
2.1
软件系统设计
系统典型电路设计
数据采集电路
基于
FPGA+USB2.0
多通道数据采集系统软
件设计结构简图如图
2
所示
。
每个通道采用双
FIFO
的模式
,USB
状态机循环检测
,
当一个
FIFO
满
了
,
读数据开始
,
这样来回循环读取和写入
,
使得系
统很稳定地运行
。
数据采集电路实现的是将传感器输出的模拟信
A/D
采样等步骤转化放大
、
前端跟随
、
号经过滤波
、
成数字信号的过程
。
在输入模拟信号不失真的前提
下
,
信号的滤波
、
放大选用高速
、
低噪声的运放组成
三阶滤波器
,
使得输入信号更加平滑
,
毛刺干扰受到
抑制
。
放大器选用
ADI
公司的
AD8231,
具有低零
点漂移
(
最大的零点漂移为
50nV/℃),
数字可编程
14~16
引脚
A0~A3
为可放大倍数的仪表放大器
,
2、4、8、
编程放大倍数引脚
,
可编程的放大倍数有
1、
16、32、64
和
128。
模数转换器芯片选用
ADI
公司的
AD7323,
它
是一款
12
位
4
通道的模数转换器
,
最大采样速率可
达到
500kS/s,
可以对双极性信号进行转换
,
转换范
围是可编程的
。16-leadTSSOP
封装
,
正常工作时
的功耗为
17mW,
小封装
,
低功耗
,
无需添加散热
片
,
减少
AD
部分占用空间
,
节约了成本
,
提高了系
统的性能及稳定
。
2.2USB
接口电路
USB
接口芯片采用
CYPRESS
公司的
CY7C68013A,
由它完成数据采集后与
PC
机之间的
高速数据传输
,
它支持
12Mb/s
的全速以及
480
Mb/s
高速传输
,
可使用
4
种
USB
传输方式
:
控制
、
3.1
采集数据
数据采集部分含有
4
个采集模块
(0~3)、
数据
编码和同步串行发送器
。
其主要功能为根据配置标
志寄存器
Tn,
向通道发送
CNVST
信号
,
读入
AD
数
据以及将通道数据编码发送到
USB。
单个通道硬件环境设置
:
先转换后读取模式
,
58
西南科技大学学报第
26
卷
CNVST
下降沿触发
,
取
AD
数据模块
SDCLK
频率是
5MHz,
串行发送模块数据速率是
8.3Mb/s,
程序流
程图如图
3
所示
。
10-3
通道
,11-4
通道
);xxxx
位对应于采
2
通道
,
样率
(16
种不同的采样率
)。
控制命令帧格式
FF00FF
命令
,FF
为控制命令的帧头
,00
为停止
,
发
送
FF00
就意味着停止一切当前采集传输过程
。
4.2.2
数据帧格式
数据的帧格式为帧同步头
+
通道号
+
数据的格
式
,
帧同步头为
8
位
,
在本设计中为
FF,
通道号为
2
00、01、10、11
代表着
4
个通道
,
位
,
整个帧长为
512
bit。
帧同步的选择采用遥测常用军标
GJB21.2A
的
8
位选用的是
1011100B,
这种码具有快速准帧同步
,
尖锐的自相关特性
。
确识别能力
,
4.3USB
程序
USB
芯片
CYS68031A
工作方式是可编址从
FIFO
模式
(IndexedSlaveFIFO),
采用的是同步读写
图
3(a)
是
AD
数据模块流程
。AD
在输入
CNVST
信号出现下降沿约
35ns
后
,
输出转换标志
BUSY(AD
忙
)
高电平
,BUSY
信号恢复转换结束后
,
BUSY
信号高电平持续时间约
1.68
μ
s。
程低电平
,
序控制器检测到
BUSY
恢复电平后
,
等待约
2
μ
s,
待
AD
数据稳定后
,AD
被选中首先拉低
CS
片选
AD,
同时在该时后连续输出
18
个时钟脉冲到
SDCLK,
钟脉冲的下降沿读入
SDOUT
值
。
图
3(b)
是采集模块
(Sampling)
控制状态机流
向对应的通道发送
程
。
程序根据
Tn
标志位
,
CNVST
脉冲
,
并在脉冲的下降沿开始计时
,
设置
AD
转换结束且数据稳定时间为
4
μ
s。
计时
4
μ
s
后
,
判
断
BUSY
信号状态并启动读
AD
数据模块读入数
据
。
数据读入到模块的缓冲寄存器后
,
根据模块对
接着将各通道数据放入应通道编号进行编码
,
FIFO。
在
FIFO
非空的情况下
,
控制器会启动数据
串行发送至主控
FPGA。
发送模块读取
FIFO
数据
,
数据编码方式前面做了介绍
,
即通信协议中的数据
而数据编码的过程
,
也是在数据被读入的时格式
,
候
,
在相应采集模块内加入该通道的通道号和层号
。
4.2
4.2.1
组帧
控制命令帧格式
4.4
多通道
FIR
滤波器
本系统中直接调用
Xilinx
公司的多通道
FIRIP
方式
,
如图
5
所示为该芯片同步写操作的时序
。
程
IFCLK
的序
SLWR
平时保持高电平
,
在其电平期间
,
上升沿选中
FD
上的数据
。
在该模式下
,
选中
EP8
FLAGB
作为
FIFO
满标志
,
时
,
低电平表示满
。
程序
设置
IFCLK
时钟频率为
25MHz。
USB
控制器的流程如图
6
所示
。
配置
USB
芯
FIFOADDR[1:0],
片
,
主要配置其控制引脚
SLOE、
SLOE
是
USB
芯片数据输出使能
,FI-
高电平使能
,
FOADDR[1:0]
选择芯片内部缓冲块
,
程序设置
FI-
FOADDR[1:0]=2'b10,
选择缓冲区
EP6。
控制命令如图
4
所示
。AA
位对应
FPGA
的工
作状态
,
采样
(11B)、
配置
(10B)、
自检
(01B)、
复位
(00B);BB
位对应于通道号编码
(00-1
通道
,01-
核
。
对于多通道数据采集系统而言
,
多个通道数据
第
1
期程海狮
,
等
:
基于
FPGA+USB2.0
多通道数据采集系统设计
59
同时进入滤波器
,
关键点是让各个通道的数据有条
不紊进入各自的通道的滤波器进行滤波
。
本文的滤
波器的设计指标如下
:
①采集通道数
N=4,
②
FIR
工作频率为
50MHz,
③输入数据宽度
12
位
,
④采样
频率
4kHz,
⑤滤波器阶数
N1=198
FIR
系数通过
MATLAB
中
FDAtool
进行设计
,
其某一通道
FIR
滤波器系数的幅频响应和冲击响应
如图
7
所示
。
读数据控制器中一定要将这一通道或者这几通道的
数据补零
,
这样才能正常工作
。
由于滤波器就是一个数据流的过程
,
多通道平
均分配时钟资源
,
这一点很重要
。
滤波器工作频率
50MHz,4
通道数据
:4kB*4=16
采样率为
4kB,
kB,16kB
的数据分配
50MB
的时钟资源
,
即每隔
3215
个时钟输入一个数据
,
按照顺序排列输入到
FIR
滤波器
。
5
测试结果
直流信号的原始数据
、
加干扰信号数据及滤波
后数据如图
10,
交流信号的原始数据
、
加干扰信号
由直流信号滤波后效果数据及滤波后数据如图
11,
图对比可知
,
未加干扰数据的幅值在
4570.5~
4571.5
之间波动
,
加干扰后数据在
4570~4572
之
间波动
,
滤波后的数据在
4570.6~4571.2
之间波
4
通道
FIR
滤波器
IPCore
生成好后
,
就要按照
使其其时序将各个控制信号输入输出给此
IPCore,
正常工作
,
时序图如图
8
所示
。
动
,
很明显达到了滤波效果
,
从波形上看
,
波形的平
滑程度得到了改善
。
由交流信号滤波后效果图对比
交流信号加上干扰后最大值接近
10,
滤波后可知
,
为了实现
4
通道
FIR
滤波器的时序
,
设计框图
如图
9
所示
。
上面设计的特点很明显
:4
路数据进入
FIFO,
按照顺序输入给
FIR
滤波器
,
无论前面数据采集部
分
(AD
部分
)
的采样率如何变化
,
进入
FIR
滤波器
的数据的频率保持
4kHz
不变
。
需要注意的是这里
必须是
4
通道的数据
,
由于其他原因造成的采集部
分某一通道或者某几通道没有数据
,
这时候在
FIR
的结果达到了未加干扰前的效果
,
滤波效果较好
。
这里说的未加干扰的数据
,
是没有在外部再加干扰
源的数据
,
当然此时器件的白噪声干扰是不可避免
60
西南科技大学学报第
26
卷
的
。
经过
MATLAB
分析
,
精度和线性度都达到了设
计要求
。
AD7631
等
。
参考文献
[1]
刘光远
,
张涛
,
郑伟波
.
基于
FPGA
的数据采集系统
IEEE1394
接口设计
[J].
仪表技术与传感器
,2009,
(12):46-48.
[2]
杨文利
,
杨耕
,
赵明国
.
一种基于
USB
接口的移动机
.
微计算机信息
,2007,(5-
器人运动控制系统
[J]
2):223-225.
[3]
[4]
[5]
王学梅
.
基于
FPGA
的有限冲激相应数字滤波器的研
D].
长沙
:
中南大学
,2004.
究及实现
[
J].
童红
,
肖铁军
.
基于
FPGA
的
FIR
滤波器的设计
[
2010,26(3-2):142-144.
微计算机信息
,
冼友伦
.
基于
FPGA
的数字滤波器设计与高速数据传
D].
西安
:
西安电子科技大学
,
2009.
输
[
6
结论
基于
FPGA+USB2.0
多通道数据采集系统通
用性较好
,
使用
USB2.0
标准接口
,
提高了数据的传
还具有良好的可扩展性
,
功耗低
,
四通道可输速率
,
同时采集
,
满足一般环境下的多通道采集
。FPGA
内嵌多通道
FIR
核
,
有较好的滤波效果
,
有可调的放
大倍数以及采样率
,
具有人性化的设计
。
数据存在
PC
机
,
有利于进一步分析和处理
。FPGA
的现场可
编程性使得系统的升级和更新变得容易
。
本设计中
在数据精度上有使用的是
12
位
4
通道的
AD
芯片
,
所欠缺
,
可以选用高于
12
位芯片
,
如
18
位的
檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨
100.
(
上接第
46
页
)
[5]
[6]
朱兵见
,
张维炎
.
软土地区基坑支护施工与监测实例
J].
铁道建筑
,2008,(9):71-74.
分析
[
应宏伟
,
王奎华
,
等
.
杭州解百商业城半逆作法深基坑
J].
岩土工程学报
,2001,23(1):79
支护设计与监测
[
-83.
[7]
李刚
,
朱向荣
,
王金昌
.
软土基坑工程中环形内撑式支
J].
建筑技术
,2003,34(2):99-
护结构的应用技术
[
[10]
[9]
[8]
曲艺
,
段红波
.
某高层建筑基坑支护设计
、
施工与监测
[J].
海岸工程
,2005,24(2):73-77.
WHITTLAJ,HASHASHMA,WHITMANRV.Anal-
ysisofdeepexcavationinboston[J].Journalof
GeotechnicalEngineering,1993,119(1):69-90.
JGJ120-99
建筑基坑支护技术规程
[S].
北京
:
中国
1999.
建筑工业出版社
,
2024年4月27日发(作者:扬雅艳)
第
26
卷第
1
期
2011
年
3
月
西南科技大学学报
JournalofSouthwestUniversityofScienceandTechnology
Vol.26No.1
Mar.2011
基于
FPGA+USB2.0
多通道数据采集系统设计
程海狮黄玉清
四川绵阳
621010)(
西南科技大学信息工程学院
摘要
:
针对传统数据采集系统中主控制器升级慢和传输芯片速率低等弊端
,
利用
FPGA
内嵌
FIR
滤波器抗干扰
、
现
场可编程性
、
容易升级与更新以及
USB
接口通用性好
、
传输速率快的优点
,
设计了基于
FPGA+USB2.0
多通道数据
能够完成
4
路最大采样频率
150kHz、
精度为
12
位的数据采集和传输
,
实现了高精度数据采集
。
采集系统
,
关键词
:FPGAUSBFIR
数据采集
文章编号
:1671-8755(2011)01-0056-05
中图分类号
:TP391
文献标志码
:A
DesignofMulti-channelDataAcquisitionSystem
BasedonFPGAandUSB2.0
qingCHENGHai-shi,HUANGYu-
(SchoolofInformationEngineering,SouthwestUniversityofScienceandTechnology,
Mianyang621010,Sichuan,China)
Abstract:Inthetraditionaldataacquisitionsystemdesign,primarycontrollerishardtoupdateandthe
transmissionspeedoftransmissionchipislow.Thispeperhasdesignedamulti-channeldataacquisition
systembasedonFPGAandUSB2.0.Thesystemachievesacquiring4-routedataacquisitionwiththe
maximalfrequencyof150KHzandtheprecisionof12bits.Thesystemhasdesginedmulti-channelFIR
filter.Thisapproachcanachievereal-timefilterandeliminatetheinterference.Thesystemismodularde-
sign,highstability,canbewidelyusedformulti-channeldataacquisition.
Keywords:FPGA;USB;FIR;Dataacquisition
计算机的广泛应用使得数据采集系统在多个领
域有着十分重要的应用
。
传统的数据采集系统
,
通
控制
A/D
以及常采用单片机或
DSP
作为主控制器
,
存储器和其他外围电路的工作
。
用
DSP
作为主控
制器
,
实现方式灵活
,
但是由于其结构限制不能进行
并行运算
,
使得对多通道
A/D
采样增加了难度
,
延
长了开发周期
,
处理速度也大大降低了
,
成本也相对
较高
;
用单片机作为主控制器操作简单
,
成本低
,
但
是满足不了实时性要求
。
近年来
FPGA
的使用越来
FPGA
具有高逻辑密度
、
越广泛
,
可编程以及能够可
并行计算等优点
,
是多通道数据采集系统的理想控
制器
。
数据从主控制器到存储及处理部分的传输多
CAN
总线
、PCI
总线
、
使用的是
RS-422/RS-485、
收稿日期
:2010-03-29
作者简介
:
程海狮
(1984—),
男
,
硕士研究生
,
研究方向
:
嵌入式图像处理
,
电路设计
。E-mail:whizchs@126.com。
IEEE1394
接口等
。RS-422/RS-485、CAN
总线其
传输速率不超过
1Mb/s,
很难满足日益增长的数据
IEEE1394
接口
,
在速率上采集传输要求
;PCI
总线
、
IEEE1394
还支持异步
、
较前者有很大提高
,
等时传
输
、
点对点连接
、
热插拔
、
线缆提供等
,
但与
USB
比
USB
具有支持热插拔
、
较
,
携带方便
、
标准统一
、
可以
连接多个设备等优点
。
笔者利用
FPGA
和
USB
设
计了
FPGA+USB2.0
多通道数据采集系统
。
1
系统设计原理
基于
FPGA+USB
多通道数据采集系统的硬件
模块框图如图
1
所示
。
硬件电路包括滤波电路
、
放
A/D
采样电路
、FPGA
及配置电大电路
、
前端跟随
、
第
1
期程海狮
,
等
:
基于
FPGA+USB2.0
多通道数据采集系统设计
57
USB
电路
、
路
、
时钟电路
、
串口电路组成
。
其芯片为
AD8231,THS6062ID,AD7323,XC3S1500,
CY7C68013A,MAX232。
其工作流程为上位机通过
串口发数据
(
配置信息
)
到
FPGA
得到采样率的大
小
、
放大倍数等信息
,
输入信号通过放大
、
滤波
、
采
FPGA
经样
、
量化
、
编码
,
以串行的方式传至
FPGA,
组包
,
传至
USB
以
USB2.0
的标准高速传至过组帧
、
上位机
,
上位机接收数据
,
拆包获取有效数据信息
,
显示出波形
。
批量
、
中断以及等时传输
。CY7C68013A
包括带
16
kB
的片内
RAM、16
位并行地址总线
、8
高速
CPU、
I2C
总线
、4kBFIFO
的可配置位数据总线
、
双串口
、
的存储器以及通用可编程接口
(GPIF)、
智能串行接
口引擎
(SIE)
和
USB2.0
收发器
。CY7C68013A
与
外设有两种接口方式
:
可编程接口
GPIFMaster
和
SlaveFIFO。
可编程
GPIF
的主机方式
(Master
Mode)
可以由软件设置读写控制波形
,
灵活性很大
,
几乎可以对任何
8/16
位接口的控制器
、
存储器和总
线进行数据的主动读写
,
使用非常灵活
。SlaveFIFO
方式是从机方式
(SlaveMode),
外部控制器可像对
普通
FIFO
一样对
CY7C68013A
的多重缓冲
FIFO
进行读写
。CY7C68013A
的
SlaveFIFO
工作方式可
设为同步或异步
;
工作时钟为内部产生或外部输入
可选
;
其它控制信号也可灵活地设置为高有效或低
有效
,
或是作为读写选通信号
。
3
2
2.1
软件系统设计
系统典型电路设计
数据采集电路
基于
FPGA+USB2.0
多通道数据采集系统软
件设计结构简图如图
2
所示
。
每个通道采用双
FIFO
的模式
,USB
状态机循环检测
,
当一个
FIFO
满
了
,
读数据开始
,
这样来回循环读取和写入
,
使得系
统很稳定地运行
。
数据采集电路实现的是将传感器输出的模拟信
A/D
采样等步骤转化放大
、
前端跟随
、
号经过滤波
、
成数字信号的过程
。
在输入模拟信号不失真的前提
下
,
信号的滤波
、
放大选用高速
、
低噪声的运放组成
三阶滤波器
,
使得输入信号更加平滑
,
毛刺干扰受到
抑制
。
放大器选用
ADI
公司的
AD8231,
具有低零
点漂移
(
最大的零点漂移为
50nV/℃),
数字可编程
14~16
引脚
A0~A3
为可放大倍数的仪表放大器
,
2、4、8、
编程放大倍数引脚
,
可编程的放大倍数有
1、
16、32、64
和
128。
模数转换器芯片选用
ADI
公司的
AD7323,
它
是一款
12
位
4
通道的模数转换器
,
最大采样速率可
达到
500kS/s,
可以对双极性信号进行转换
,
转换范
围是可编程的
。16-leadTSSOP
封装
,
正常工作时
的功耗为
17mW,
小封装
,
低功耗
,
无需添加散热
片
,
减少
AD
部分占用空间
,
节约了成本
,
提高了系
统的性能及稳定
。
2.2USB
接口电路
USB
接口芯片采用
CYPRESS
公司的
CY7C68013A,
由它完成数据采集后与
PC
机之间的
高速数据传输
,
它支持
12Mb/s
的全速以及
480
Mb/s
高速传输
,
可使用
4
种
USB
传输方式
:
控制
、
3.1
采集数据
数据采集部分含有
4
个采集模块
(0~3)、
数据
编码和同步串行发送器
。
其主要功能为根据配置标
志寄存器
Tn,
向通道发送
CNVST
信号
,
读入
AD
数
据以及将通道数据编码发送到
USB。
单个通道硬件环境设置
:
先转换后读取模式
,
58
西南科技大学学报第
26
卷
CNVST
下降沿触发
,
取
AD
数据模块
SDCLK
频率是
5MHz,
串行发送模块数据速率是
8.3Mb/s,
程序流
程图如图
3
所示
。
10-3
通道
,11-4
通道
);xxxx
位对应于采
2
通道
,
样率
(16
种不同的采样率
)。
控制命令帧格式
FF00FF
命令
,FF
为控制命令的帧头
,00
为停止
,
发
送
FF00
就意味着停止一切当前采集传输过程
。
4.2.2
数据帧格式
数据的帧格式为帧同步头
+
通道号
+
数据的格
式
,
帧同步头为
8
位
,
在本设计中为
FF,
通道号为
2
00、01、10、11
代表着
4
个通道
,
位
,
整个帧长为
512
bit。
帧同步的选择采用遥测常用军标
GJB21.2A
的
8
位选用的是
1011100B,
这种码具有快速准帧同步
,
尖锐的自相关特性
。
确识别能力
,
4.3USB
程序
USB
芯片
CYS68031A
工作方式是可编址从
FIFO
模式
(IndexedSlaveFIFO),
采用的是同步读写
图
3(a)
是
AD
数据模块流程
。AD
在输入
CNVST
信号出现下降沿约
35ns
后
,
输出转换标志
BUSY(AD
忙
)
高电平
,BUSY
信号恢复转换结束后
,
BUSY
信号高电平持续时间约
1.68
μ
s。
程低电平
,
序控制器检测到
BUSY
恢复电平后
,
等待约
2
μ
s,
待
AD
数据稳定后
,AD
被选中首先拉低
CS
片选
AD,
同时在该时后连续输出
18
个时钟脉冲到
SDCLK,
钟脉冲的下降沿读入
SDOUT
值
。
图
3(b)
是采集模块
(Sampling)
控制状态机流
向对应的通道发送
程
。
程序根据
Tn
标志位
,
CNVST
脉冲
,
并在脉冲的下降沿开始计时
,
设置
AD
转换结束且数据稳定时间为
4
μ
s。
计时
4
μ
s
后
,
判
断
BUSY
信号状态并启动读
AD
数据模块读入数
据
。
数据读入到模块的缓冲寄存器后
,
根据模块对
接着将各通道数据放入应通道编号进行编码
,
FIFO。
在
FIFO
非空的情况下
,
控制器会启动数据
串行发送至主控
FPGA。
发送模块读取
FIFO
数据
,
数据编码方式前面做了介绍
,
即通信协议中的数据
而数据编码的过程
,
也是在数据被读入的时格式
,
候
,
在相应采集模块内加入该通道的通道号和层号
。
4.2
4.2.1
组帧
控制命令帧格式
4.4
多通道
FIR
滤波器
本系统中直接调用
Xilinx
公司的多通道
FIRIP
方式
,
如图
5
所示为该芯片同步写操作的时序
。
程
IFCLK
的序
SLWR
平时保持高电平
,
在其电平期间
,
上升沿选中
FD
上的数据
。
在该模式下
,
选中
EP8
FLAGB
作为
FIFO
满标志
,
时
,
低电平表示满
。
程序
设置
IFCLK
时钟频率为
25MHz。
USB
控制器的流程如图
6
所示
。
配置
USB
芯
FIFOADDR[1:0],
片
,
主要配置其控制引脚
SLOE、
SLOE
是
USB
芯片数据输出使能
,FI-
高电平使能
,
FOADDR[1:0]
选择芯片内部缓冲块
,
程序设置
FI-
FOADDR[1:0]=2'b10,
选择缓冲区
EP6。
控制命令如图
4
所示
。AA
位对应
FPGA
的工
作状态
,
采样
(11B)、
配置
(10B)、
自检
(01B)、
复位
(00B);BB
位对应于通道号编码
(00-1
通道
,01-
核
。
对于多通道数据采集系统而言
,
多个通道数据
第
1
期程海狮
,
等
:
基于
FPGA+USB2.0
多通道数据采集系统设计
59
同时进入滤波器
,
关键点是让各个通道的数据有条
不紊进入各自的通道的滤波器进行滤波
。
本文的滤
波器的设计指标如下
:
①采集通道数
N=4,
②
FIR
工作频率为
50MHz,
③输入数据宽度
12
位
,
④采样
频率
4kHz,
⑤滤波器阶数
N1=198
FIR
系数通过
MATLAB
中
FDAtool
进行设计
,
其某一通道
FIR
滤波器系数的幅频响应和冲击响应
如图
7
所示
。
读数据控制器中一定要将这一通道或者这几通道的
数据补零
,
这样才能正常工作
。
由于滤波器就是一个数据流的过程
,
多通道平
均分配时钟资源
,
这一点很重要
。
滤波器工作频率
50MHz,4
通道数据
:4kB*4=16
采样率为
4kB,
kB,16kB
的数据分配
50MB
的时钟资源
,
即每隔
3215
个时钟输入一个数据
,
按照顺序排列输入到
FIR
滤波器
。
5
测试结果
直流信号的原始数据
、
加干扰信号数据及滤波
后数据如图
10,
交流信号的原始数据
、
加干扰信号
由直流信号滤波后效果数据及滤波后数据如图
11,
图对比可知
,
未加干扰数据的幅值在
4570.5~
4571.5
之间波动
,
加干扰后数据在
4570~4572
之
间波动
,
滤波后的数据在
4570.6~4571.2
之间波
4
通道
FIR
滤波器
IPCore
生成好后
,
就要按照
使其其时序将各个控制信号输入输出给此
IPCore,
正常工作
,
时序图如图
8
所示
。
动
,
很明显达到了滤波效果
,
从波形上看
,
波形的平
滑程度得到了改善
。
由交流信号滤波后效果图对比
交流信号加上干扰后最大值接近
10,
滤波后可知
,
为了实现
4
通道
FIR
滤波器的时序
,
设计框图
如图
9
所示
。
上面设计的特点很明显
:4
路数据进入
FIFO,
按照顺序输入给
FIR
滤波器
,
无论前面数据采集部
分
(AD
部分
)
的采样率如何变化
,
进入
FIR
滤波器
的数据的频率保持
4kHz
不变
。
需要注意的是这里
必须是
4
通道的数据
,
由于其他原因造成的采集部
分某一通道或者某几通道没有数据
,
这时候在
FIR
的结果达到了未加干扰前的效果
,
滤波效果较好
。
这里说的未加干扰的数据
,
是没有在外部再加干扰
源的数据
,
当然此时器件的白噪声干扰是不可避免
60
西南科技大学学报第
26
卷
的
。
经过
MATLAB
分析
,
精度和线性度都达到了设
计要求
。
AD7631
等
。
参考文献
[1]
刘光远
,
张涛
,
郑伟波
.
基于
FPGA
的数据采集系统
IEEE1394
接口设计
[J].
仪表技术与传感器
,2009,
(12):46-48.
[2]
杨文利
,
杨耕
,
赵明国
.
一种基于
USB
接口的移动机
.
微计算机信息
,2007,(5-
器人运动控制系统
[J]
2):223-225.
[3]
[4]
[5]
王学梅
.
基于
FPGA
的有限冲激相应数字滤波器的研
D].
长沙
:
中南大学
,2004.
究及实现
[
J].
童红
,
肖铁军
.
基于
FPGA
的
FIR
滤波器的设计
[
2010,26(3-2):142-144.
微计算机信息
,
冼友伦
.
基于
FPGA
的数字滤波器设计与高速数据传
D].
西安
:
西安电子科技大学
,
2009.
输
[
6
结论
基于
FPGA+USB2.0
多通道数据采集系统通
用性较好
,
使用
USB2.0
标准接口
,
提高了数据的传
还具有良好的可扩展性
,
功耗低
,
四通道可输速率
,
同时采集
,
满足一般环境下的多通道采集
。FPGA
内嵌多通道
FIR
核
,
有较好的滤波效果
,
有可调的放
大倍数以及采样率
,
具有人性化的设计
。
数据存在
PC
机
,
有利于进一步分析和处理
。FPGA
的现场可
编程性使得系统的升级和更新变得容易
。
本设计中
在数据精度上有使用的是
12
位
4
通道的
AD
芯片
,
所欠缺
,
可以选用高于
12
位芯片
,
如
18
位的
檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨檨
100.
(
上接第
46
页
)
[5]
[6]
朱兵见
,
张维炎
.
软土地区基坑支护施工与监测实例
J].
铁道建筑
,2008,(9):71-74.
分析
[
应宏伟
,
王奎华
,
等
.
杭州解百商业城半逆作法深基坑
J].
岩土工程学报
,2001,23(1):79
支护设计与监测
[
-83.
[7]
李刚
,
朱向荣
,
王金昌
.
软土基坑工程中环形内撑式支
J].
建筑技术
,2003,34(2):99-
护结构的应用技术
[
[10]
[9]
[8]
曲艺
,
段红波
.
某高层建筑基坑支护设计
、
施工与监测
[J].
海岸工程
,2005,24(2):73-77.
WHITTLAJ,HASHASHMA,WHITMANRV.Anal-
ysisofdeepexcavationinboston[J].Journalof
GeotechnicalEngineering,1993,119(1):69-90.
JGJ120-99
建筑基坑支护技术规程
[S].
北京
:
中国
1999.
建筑工业出版社
,