思索网:WWW.4SO.NET
网站首页
设为首页
加入收藏
社区论坛
联系我们
网站地图
发现个人价值
提高企业内涵
一切源于思索
首页
企业之家
公关文秘
免费论文
网上办公指南
操作系统
多媒体应用
现代教学
下载中心
专题报道
推荐文章
评论
English Article
IT资讯
网页设计
网站运营
编程开发
平面设计
网络安全
工具下载
站内搜索
最新文章
热门文章
论坛
栏目列表
工科论文
管理学论文
公共管理论文
经济学论文
法律论文
政治学论文
会计审计论文
艺术论文
其它类论文
证券金融论文
论文指导
财政税收论文
工商管理论文
财务管理论文
计算机论文
医学论文
哲学论文
教育论文
电子商务
首页
>
免费论文
>
计算机论文
> 基于VerilogHDL设计的自动数据采集系统
基于VerilogHDL设计的自动数据采集系统
日期:
2006-06-10 04:25:22
来源:
请您记住思索网的网址:
http://www.4so.net
[加入收藏夹]
摘要:
介绍了一种采用硬件控制的自动数据采集系统的设计方法,包括数字系统自顶向下的设计思路、VerilogHDL对系统硬件的描述和状态机的设计以及MAX+PLUSII开发软件的仿真。设计结果表明:该采集系统具有很高的实用价值,极大地提高了系统的信号处理能力。
关键词:
可
编程
逻辑器件VerilogHDLFIFOFSM
随着数字时代的到来,数字技术的应用已经渗透到了人类生活的各个方面。数字系统的发展在很大程度上得益于器件和集成技术的发展,著名的摩尔定律(Moore'sLaw)的预言也在集成电路的发展过程中被印证了,数字系统的设计理念和设计方法在这过程中发生了深刻的变化。从电子CAD、电子CAE到电子设计自动化(EDA),随着设计复杂程度的不断增加,设计的自动化程度越来越高。目前,EDA技术作为电子设计的通用平台,逐渐向支持系统级的设计发展;数字系统的设计也从图形设计方案向硬件描述语言设计方案发展。可
编程
器件在数字系统设计领域得到广泛应用,不仅缩短了系统开发周期,而且利用器件的现场可
编程
特性,可根据应用的要求对器件进行动态配置或
编程
,简单易行地完成功能的添加和修改。
在现代工业的发展中,实时测控系统得到广泛应用,这就对高速数字信号处理系统提出了更高的要求。因为要涉及大量的设计,为了提高运算速度,应用了大量DSP器件。数字采集系统是整个系统的核心部分之一,传统方法是应用MCU或DSP通过软件控制数据采集的模/数转换,这样必将频繁中断系统的运行从而减弱系统的数据运算,数据采集的速度也将受到限制。因此,DSP+CPLD的方案被认为是数字信号处理系统的最优方案之一,由硬件控制模/数转换和数据存储,从而最大限度地提高系统的信号采集和处理能力。
1系统总体方案
数据采集系统是基于DSP的信号处理系统中的一部分。框图如图1所示。该数字信号处理系统用于随机共振理论在弱信号检测中的应用研究中。整个系统由信号放大、信号滤波、信号采样、高速数字信号处理、与主
计算机
的高速数据传输接口等部分组成。其中,信号放大是对输入信号进行调理以满足采样的要求;信号滤波是防止信号产生“混叠现象”;信号采样是完成模拟信号的数字化;高速数字信号处理是在建立随机共振模型的基础上完成各种算法;与主
计算机
的高速数据传输接口是满足信号检测的实时性,将DSP处理的数据传给
计算机
以进行进一步的处理。
基于VerilogHDL设计的自动状态机由硬件控制A/D转换以及自动向FIFO中存储数据,采样频率由DSP系统输出时钟确定,当采样数据达到一帧时,FIFO向DSP申请中断,DSP系统启动DMA完成数据读取。这期间数据采集不中断,从而实现连续的实时数据采集和实时数据处理。数据采集系统由A/D芯片MAX196、逻辑控制芯片EPM7128、FIFO芯片CY7C425组成。控制逻辑用VerilogHDL语言描述,并进行了仿零点和实际验证。
图2
2硬件电路设计
2.1A/D转换芯片
系统A/D转换由MAX196芯片实现。MAX196的特点为:
①12位A/D转换精度,1/2LSB线性度;
②单5V电源供电;
③软件选择模拟量输入范围,分别为:±10V、±5V、0~5V、0~10V;
④6模拟量输入通道;
⑤6μs转换时间,100ksps采样速率;
⑥内部或外部采样控制;
⑦内部或外部时钟控制转换。
在MAX196的控制字中:
①A2A1A0为通道选择字:000~101分别代表通过0~5;
②BIP、RNG为输入范围和极性选择;
③ACQMOD:采样控制模式,0为内部控制采样,1为外部控制采样;
④PD1、PD0为时钟与省电模式选择。
内部转换模式时序如图2所示。当向MAX196写入包含通道选择、量程选择、极性选择的控制字时,完成A/D转换的初始化。控制字的ACQMOD位用来选择内部转换模式和外部转换模式,当写入ACQMOD位为0的控制字时,将启动内部转换模式,这里采用内部采样模式,一次转换需要12个时钟周期,转换周期由芯片内部时钟确定。写入一个写脉冲(WR+CS)可以启动一次转换。当在A/D转换期间写入新的控制字时,将中止转换并启动一次新的采样周期。A/D转换结束,输出低电平信号INT有效,信号RD读取A/D转换结果并复位INT信号,完整的一个转换周期结束。
2.2数据缓存器
系统采集的数据常常放在数据缓存器中。数据缓存区要求既要有与A/D芯片的接口,又要有与系统DSP的接口以提高数据吞吐率,因此常选用双口RAM或FIFO。由于FIFO不需要地址寻址,为了简化控制信号,本模块采用FIFO芯片CY7C425作为数据缓存区。FIFO存储器允许数据写入和读出不依赖于数据速率,并且总是以写入的顺序读出。根据Full和Empty标志来判断存储器全满或空。FIFO芯片可以进行数据宽度和存储深度的扩展而不会增加额外的时间延迟。当写信号(W)为低电平时发和写操作,当读信号(R)为低电平时发生读操作。A/D转换的结果通过写操作不断存入FIFO中,当FIFO满时,Full标志有效,向系统申请中断,DSP响应中断,立即启动DMA读FIFO中的数据,当读到空时,Empty标志有效,DSP停止读入操作。采用两片CY7C425扩展为18位1024字的高速异步FIFO存储器,数据处理速度达到50MHz,可以实现数据的高速写入和高速读出。FIFO异步读写时序见图3。
2.3状态机模块
状态机(FSM)完成自动A/D转换和数据存储,控制芯片是EPM7128SQC100。该状态机由系统时钟驱动,产生RD、WR、INT信号,状态机能连续运行,不断地写命令字以启动A/D转换,然后读出A/D的转换结果并同时写入FIFO。时序图见图4。
复位时,产生写脉冲WR,芯片MAX196在WR的上升沿锁存外部输入的命令控制字,开始A/D转换。当A/D转换结束时,芯片INT变为低电平,在下一个时钟的上升沿,RD变为低电平,数据总线上输出数据。当RD信号低电平有效时,INT信号变为高电平,下一个时钟的上升沿,RD信号变为高电平,在RD的上升沿数据被锁存进FIFO。RD信号回到高电平后,WR信号变为低电平,于是又开始下一次转换。
3系统的VerilogHDL描述
电子系统设计中一般遵循自上而下的设计思路,对系统进行设计、描述与仿真。考虑到模块的通用性和可移植性,常常使用HDL语言来描述数字系统,如VerilogHDL、VHDL、AHDL语言等。其中VerilogHDL语言具有结构清晰、文法简明、功能强大、高速模拟和多库支持等优点,被近90%的半导体
公司
使用,成为一种强大的设计工具。
3.1用VerilogHDL语言描述MAX196
用VerilogHDL程序描述MAX196模块,可以把模块用于采集系统的仿真,以验证状态机设计的正确性。该模块主要有三个输入信号和一个输出信号,与芯片的控制信号是一致的。程序说明如下:
moduleadc(reset,rd_adc,wr_adc,int_adc);
inputreset,rd_adc,wr_adc;
outputint_adc;
regint_adc;
always@(posedgewr_adcornegedgerd_adcornegedgereset)
begin
if(!reset)int_adc=1;
elseif(rd_adc==0)beginint_adc=1;end
elsebegin#10int_adc=0;end
end
endmodule
3.2用VerilogHDL语言描述自动状态机
自动状态机有三个输入信号和两个输出信号,输入信号中clk由DSP系统输出以控制采样速度,reset信号复位自动状态机,int_adc是A/D芯片转换结束的响应信号;输出信号rd_adc、wr_adc控制A/D芯片的转换开始和数据的读出,以及控制FIFO将数据写入FIFO。程序说明如下:
modulefsm(int_adc,clk,reset,rd_adc,wr_adc);
outputrd_adc,wr_adc;
inputint_adc,clk,reset;
regrd_adc,wr_adc;
reg[1:0]present;
parameterreset_ad=2'h0,start_ad=2'h1,wait_ad=2'h2,read_ad=2'h3;
always@(posedgeclkornegedgereset)
if(reset)beginpresent=reset_ad;rd_adc=1;wr_adc=0;end
else
begin
case(present)
reset_ad:if(rd_adc)
beginpresent=start_ad;wr_adc=1;end
start_ad:if(int_adc)
beginpresent=wait_ad:rd_adc=0;end
wait_ad:if(rd_adc)
beginpresent=read_ad;wr_adc=0;end
read_ad:if(int_adc)
beginpresent=reset_ad:rd_adc=1;end
endcase
end
endmodule
3.3数据采集系统
MAX196模块和状态机模块组成高层模块——自动采样系统,通过模块实例的调用和端口映射语句实现模块的组合。特别设定输出信号int_adc,可使仿真波形看得更加清楚。程序说明如下:
Modulesimuadc(clk,reset,rd_adc,wr_adc,int_adc);//系统模块
Outputrd_adc,wr_adc,int_adc;
Inputclk,reset;
Regrd_adc,wr_adc,int_adc;
Adcadcmax196(reset,rd_adc,wr_adc,int_adc);//A/D芯片模块
Fsmfsmasp(int_adc,clk,reset,rd_adc,wr_adc);//状态机模块
endmodule
3.4仿真图形
图5为采集系统的时序仿真图。CLK是系统外部时钟,用于控制采样频率;RESET接外部复位信号,可以控制采样的起始时刻;MAX196的WR_ADC、RD_ADC、INT_ADC分别与逻辑芯片EPM7128的控制引脚相连接。仿真图表明,复位后,只要有CLK时钟输出,A/D转换将连续进行,转换数据依次存入FIFO,当FIFO满时,向DSP发出断请求,DSP及时响应并启动DMA高速读入FIFO中的值,由于DSP读入的速度足够快,因此A/D转换并不需要停顿,从而实现实时采样和实时处理。
本文提出的自动采集系统采用CPLD芯片,用硬件描述语言设计自动状态机,实现硬件控制数据采集和存储。目前采集系统应用于DSP应用板卡上,免去了DSP监控A/D芯片的时间,使信号处理系统能高效地完成复杂的随机共振系统的研究。实际应用证明该采集系统工作非常稳定,若采用更高数据转换速度的A/D芯片、频率更高的系统时钟,可以进一步提高系统的数据采集速度。
本文地址:
http://www.4so.net/thesis/chiphead/55219.html
将本页加入收藏夹
将地址复制到剪贴板发送给好友
若发现本文有误或版权问题点击这里
热门信息
相关文章
[
计算机论文
]
网络办公自动化系统开发分析
[
计算机论文
]
中小企业办公自动化系统的设计与
[
计算机论文
]
学生档案管理系统
[
计算机论文
]
三维连续网络结构增强金属基复合
[
计算机论文
]
ASP技术访问WEB数据库
[
计算机论文
]
智能网络存储方案
[
计算机论文
]
基于网络的视频通讯系统(txx17)
[
计算机论文
]
计算机网络中的交换技术(txx15)
[
计算机论文
]
论网络教育中个别化学习和协作学
[
计算机论文
]
网络经济与中国企业发展
基于GAL器件的步进电机控制器的研究与设计
基于P89C51RD2IAP功能的数据存取与软件升级
基于PIC单片机的热能表研制
基于WE904的实时图像无线传输设计
基于VRTX操作系统实现V5接口协议
基于MSP430和nRF40l的无线自动抄表系统
一种基于软件无线电的通用调制器的设计和实现
基于AMBE-2000的多速率语音通信终端模块
一种基于配电网的跨变压器台区电力通信技术
基于RTLinux的实时控制系统
文章评论
收藏本文
打印本文
关闭窗口