_高速大数据采集系统设计x
实用标准文案
实用标准文案
文档
文档
基于FPGA和SoC单片机的
高速数据采集系统设计
一.选题背景及意义
随着信息技术的飞速发展,各种数据的实时采集和处理在现代工业控制和科 学研究中已成为必不可少的部分。
高速数据采集系统在自动测试、 生产控制、通 信、信号处理等领域占有极其重要的地位。
随着SoC单片机的快速发展,现在已 经可以将采集多路模拟信号的 A/D转换子系统和CPU核集成在一片芯片上,使整 个数据采集系统几乎可以单芯片实现,从而使数据采集系统体积小,性价比高。
FPGA为实现高速数据采集提供了一种理想的实现途径。利用FPGA高速性能和本 身集成的几万个逻辑门和嵌入式存储器块,把数据采集系统中的数据缓存和控制 电路全部集成在一片FPGA芯片中,大大减小了系统体积,提高了灵活性。 FPGA
还具有系统编程功能以及功能强大的 EDA软件支持,使得系统具有升级容易、开 发周期短等优点。
.设计要求
.设计要求
设计一高速数据采集系统,系统框图如图 1-1所示。输入模拟信号为频率
200KHz Vpp=0.5V的正弦信号。采样频率设定为25MHz通过按键启动一次数据 采集,每次连续采集128点数据,单片机读取128点数据后在LCD模块上回放显
示信号波形
LCD哼決键雄C8O51F36C单片机匚
LCD哼決
键雄
C8O51F36C
单片机
匚 a
高速
僖号-
ADC
■
调理
咬拟 信号
图1-1高速数据采集原理框图
整体方案设计
高速数据采集系统采用如图3-1的设计方案。高速数据采集系统由单片机最小系 统、FPGA最小系统和模拟量输入通道三部分组成。输入正弦信号经过调理电路 后送高速A/D转换器,高速A/D转换器以25MHz的频率采样模拟信号,输出的数 字量依次存入FPGA内部的FIFO存储器中,并将128字节数据在LCD模块回放显 示。
I | | i i
rFPG丸於小招统200kHz Vpp-0r5V it弦佰号图3-1高速数据采集系统设计方案
r
FPG丸於小招统
200kHz Vpp-0r5V it弦佰号
图3-1高速数据采集系统设计方案
1.模拟量输入通道的设计
模拟量输入通道由高速A/D转换器和信号调理电路组成。信号调理电路将模拟信 号放大、滤波、直流电平位移,以满足 A/D转换器对模拟输入信号的要求。
2.高速A/D转换电路设计
FPGA模块设计
本设计的数据缓冲电路采用 FIFO存储器。FIFO数据缓冲电路原理如图5-1
FIFO进捺缓沖电埒高速A/D转换器单片机总小系统
FIFO进捺缓沖电埒
高速A/D转换器
单片机总小系统
L
图5-1 FIFO数据缓冲电路原理
FIFO的写端口的数据线与ADS931的数据线直接相连,FIFO的写时钟和ADS931 采用同一时钟信号CLK0 FIFO的读端口与单片机并行总线相连,数据输出端口 加了三态缓冲器。地址译码器的片选信号 CS1和读信号RD相或非后作为FIFO
的读时钟电路和三态缓冲的使能信号。
FIFO数据顶层原理图如图5-2。
图5-2 FIFO数据顶层原理图
F360单片机模块设计
主程序完成C8051F360单片机初始化、检测有无按键输入等功能。在此系统中我
们加入了一个频率测试显示功能。主程序流程图如图 6-2。
LCD显不初蛤翠宜浪示计算坝半
LCD显不初蛤翠宜
浪示计算坝半
图6-2 主程序流程图
主程序源代码如下:
void mai n()
{
uchar xdata *addr1;
uint i;
float f,ts;
uchar fuzhi;
int up,dow n,m, n;
up=0;dow n=0;m=0;n=0;ts=0.04;
InitDevice(); //F360 初始化
InsitiLcd(); //LCD 模块初始化
DispHa n(ha nzi10,0x80,0x10);
DispHa n(ha nzi11,0x92,0x08);
DispHa n(ha nzi12,0x8a,0x08);
DispHa n(ha nzi13,0x98,0x08);
DispHa n(ha nzi14,0x9c,0x08);
addr仁LEDENCS;
*addr仁0x01;
START=0;
EOC=1;
while(1)
{
if (keysig n == 1)
{
keysig n = 0;
if(keycode==0x00) //k0 键
{
START=1;
while(EOC==0); // 等待数据采集完
START=0;
addr 仁 CS1;
while(EOC==1) // 等待读出第一个有效数据
{
WaveData[0]=*addr1;
}
for(i=1;i<128;i++)
{
WaveData[i]=*addr1;
if(i>3)
{
if(WaveData[i]>=WaveData[i-2]) up=1;
if((WaveData[i]<=WaveData[i-2])&&(up==1)) {up=0;m=i-1;} }
}
if(m>64)
{
for(i=m-5;i>=1;i--)
{
if(WaveData[i]>=WaveData[i-2]) dow n=1;
if((WaveData[i]v=WaveData[i-2])&&( dow n==1)) {dow n=0;n=i-1;}
}
}
else
{
for(i=m+5;i<=128;i++)
{ if(WaveData[i]>=WaveData[i+2]) dow n=1;
if((WaveData[i]<=WaveData[i+2])&&( dow n==1)) {dow n=0;n=i+1;}
}
}
if(m>=n) f=1/(4*(m-n)*ts);
else f=1/(4*( n-m)*ts);
fuzhi=WaveData[m]-WaveData[ n];
In sitiLcd();
ShowWave();
}
if(keycode==0x01) //k1 键
{
In sitiLcd();
DispHa n(han zi15,0x90,0x06);
xiaoshu(f,0x93);
DispHa n(han zi17,0x96,0x03);
// DispHa n(han zi16,0x8a,0x06);
}
}
}
}
系统调试与结果
将各个模块连接后,进行调试。首先在 LCD上显示如图7-1的界面。
图7-1 LCD初始界面
在信号调理电路的模拟输入端输入频率 200KHz Vpp=0.5V的正弦信号,
按K0
键,LCD显示正弦波如图7-2。
7-2 按K0后的波形显示
按K1,LCD显示频率如图7-3。
7-3 LCD 频率显示
与输入频率相比有误差,不过在可以接受的范围内。
相关热词搜索: 高速 采集系统 数据 设计 高速大数据采集系统设计x最新推荐New Ranking
党建联建协议书设计
2一个豆荚里的五粒豆教学设计第二课时(4篇)一个豆荚里的五粒豆教学设计第二课时
3白鹭教学设计及设计意图(3篇)白鹭教学设计及设计意图
4小学高部快乐写作教学设计(6篇)小学高部快乐写作教学设计
5军神教学设计一等奖部编版(4篇)军神教学设计一等奖部编版
6七年级上生物教学总结(8篇)七年级上生物教学总结
7评设计高工工作总结(4篇)评设计高工工作总结
8幼儿园小班主题活动:秋天来了教学设计下面是小编为大家整理的幼儿园小班主题活动:秋天来了教学设计,供大家参考。新修订幼儿园阶段原创精品...
9幼儿园:小班主题活动——秋天来到田野里教学设计下面是小编为大家整理的幼儿园:小班主题活动——秋天来到田野里教学设计,供大家参考。新修订幼儿园阶...
10小学教师教学业绩总结下面是小编为大家整理的小学教师教学业绩总结,供大家参考。小学教师教学业绩总结小学教师教学业绩总结...