计算机应用 《电子技术》2004年第 3期
中国传感器 http://www.com.cn 8
数据采集系统的 Verilog HDL设计
浙江大学仪器系(310027) 杨祥龙 罗子健
摘 要 文章介绍了一种硬件控制的自动数据采集系统的设计方法,包括数字系统自顶向下
(TOP-DOWN)的设计思路,Verilog HDL 对系统硬件的描述和状态机的设计,MAX+PLUSII 开发
软件的仿真。设计结果
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
明:该采集系统极大地提高了系统的信号处理能力,具有很高的实用价值。
关键词 可编程逻辑器件 自顶向下 信号处理
1 概述
随着数字技术应用的日益广泛,数字系统的设计
理念和设计方法发生了深刻的变化,从电子 CAD、电
子 CAE到电子设计自动化(EDA),设计的自动化程
度越来越高,设计复杂程度也在不断增加。目前,EDA
技术作为电子设计的通用平台,逐渐向支持系统级的
设计发展,数字系统的设计也从图形设计方法向硬件
描述语言设计方法发展。可编程逻辑器件在数字系统
设计领域得到广泛应用,不仅缩短了系统的开发周期,
而且利用器件的现场可编程特性,对器件进行动态配
置或编程,完成系统功能的添加和修改。
实时测控系统的广泛使用对高速数字信号处理系
统提出了更高的需求,因为要涉及大量的计算,为了
提高运算速度,应用了大量 DSP器件。数据采集系统
作为测控系统的核心部分之一,传统方法应用 MCU
或 DSP通过软件控制数据采集的模数转换,这样势必
频繁中断系统的运行从而减弱了系统的数据运算能
力,数据采集的频率将受到软件运行速度的限制,而
且在强干扰环境下系统的稳定性将降低。
DSP+CPLD的
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
被认为是数字信号处理系统的
最优方案之一,充分发挥 DSP高效的运算能力,信号
的模数转换和转换后数字量的存储完全由硬件来完
成,从而最大限度地提高系统的信号采集和处理能力。
CPLD 由软件实现逻辑重构,而且可在系统中编程
(ISP)以及有众多功能强大的 EDA软件的支持,使
得系统具有升级容易、开发周期短等优点。
2 系统总体方案
数字信号处理系统框图如图 1所示的。其中,数
据采集系统是基于 DSP的信号处理系统中的一部分。
整个系统由信号放大电路、信号滤波、信号采样、高
速数字信号处理、与主计算机的高速数据传输接口等
部分组成。信号放大是对输入信号的幅值进行调理以
满足采样的要求;信号滤波是根据香农定理的要求,
考虑信号的 A/D转换速率,对输入信号的带宽进行限
制,防止采样的信号产生“混叠现象”;信号采样是用
A/D 转换芯片完成模拟信号的数字化;高速数字信号
处理是运用随机共振理论,完成各种算法,以提取出
有用信号;与主计算机的高速数据传输接口是满足信
号检测的实时性,消除大数据量传输的瓶颈,将 DSP
处理的数据传给计算机以进行进一步的处理并完成主
计算机和 DSP系统的通信。
基于 Verilog HDL设计的自动状态机实现由硬件
控制 A/D转换以及自动向 FIFO存储器中存储数据,
采样频率由 DSP系统的输出时钟确定,当采样数据达
到一帧时,FIFO存储器向 DSP 申请中断,DSP 系统
启动 DMA完成数据读取。期间数据采集不中断,从
而实现连续的实时数据采集和实时数据处理。数据采
集系统由 A/D 转换芯片 MAX196、逻辑控制芯片
EPM7128、FIFO存储器芯片 CY7C425组成。控制逻
辑用 Verilog HDL语言进行描述,并进行仿真和实际
验证。
3 硬件电路设计
3.1 A/D转换芯片
系统 A/D 转换由 MAX196 芯片实现,MAX196
的特点为:
2004年第 3期《电子技术》 计算机应用
中国传感器 http://www.com.cn 9
(1)12位 A/D转换精度,1/2 LSB线性度;
(2)单 5V电源供电;
(3)软件选择模拟量输入范围,分别为:±10V、
±5V、0~5V、0~10V;
(4)6模拟量输入通道;
(5)6ìs转换时间,100ksps的采样速度;
(6)内部或外部采样控制;
(7)内部或外部时钟控制转换。
MAX196各控制字的作用如下:
(1)A2A1A0 为通道选择字:000~101 分别代
表通道 0~通道 5;
(2)BIP、RNG为输入范围和极性选择;
(3)ACQMOD 采样控制模式,0 为内部控制
采样,1为外部控制;
(4)PD1、PD0为时钟与省电模式选择。
时序如图 2所示,当向MAX196写入包含通道选
择、量程选择、极性选择等的控制字后,完成 A/D转
换的初始化。控制字的 ACQMOD位用来选择内部转
换模式和外部转换模式,当写入 ACQMOD位为 0 的
控制字,将启动内部转换模式。本系统采用内部转换
模式,一次转换要 12个时钟周期,转换周期由芯片内
部时钟确定。一次写脉冲( CSWR+ ),输入控制字可
启动一次转换。当在 A/D转换期间写入新的控制字将
中止转换并启动一次新的采样周期。A/D 转换结束,
输出低电平信号 INT有效,RD信号有效可读取 A/D
转换值并复位 INT信号,完整的一个转换周期结束。
3.2 数据缓存器
系统采集的数据一般放在数据缓存器中,数据缓
存器要求有与 A/D转换芯片的接口(可以存入数据),
同时又要有与系统 DSP 的接口(可以读出数据),两
端口操作互不干涉,以提高数据吞吐率,因此常选用
双口 RAM或 FIFO存储器。若用双端口 RAM,要求
有各自的时钟线、地址线总线、数据总线和使能端,
以及对相同地址同时读写数据时的优先级仲裁,设计
比较繁琐。由于 FIFO 存储器不需要地址寻址,为了
简化控制信号,本模块采用 FIFO 存储器芯片
CY7C425 作为数据缓存区。FIFO 存储器存储器允许
数据写入和读出不依赖于数据速率,并且总是以写入
的顺序读出。根据 FIFO存储器的 Full和 Empty标志
来判断存储器全满或空。FIFO存储器芯片可以进行数
据宽度和存储深度的扩展而不会增加额外的时间延
迟。当信号(W)低电平时发生写操作,当信号( R)
低电平时发生读操作。A/D 转换的结果通过写操作不
断存入 FIFO存储器,当 FIFO存储器中数据达到一帧
时,Full标志有效,向系统申请中断,DSP 响应中断
立即启动 DMA读 FIFO存储器中的数据,当读完一帧
或 Empty标志有效,DSP停止读数开始新的算法处理。
采用两片 CY7C425扩展为 18 位 1024 字的高速异步
FIFO 存储器存储器,数据处理速度达到 50MHz,可
以实现数据的高速写入和高速读出。FIFO存储器异步
读写时序如图 3所示。
3.3 状态机模块
采样模块由状态机完成硬件控制的A/D转换和数
据存储,该状态机由系统时钟驱动,同时系统产生
RD、WR 和 INT信号,状态机能连续运行,不断地
写入命令字以启动 A/D转换,然后读出 A/D转换并同
时写入 FIFO存储器。时序图如图 4所示。
复位时,产生写脉冲WR ,芯片MAX196在WR
计算机应用 《电子技术》2004年第 3期
中国传感器 http://www.com.cn 10
的上升沿锁存外部输入的命令控制字,开始 A/D 转
换,当 A/D转换结束时,MAX196输出的 INT变为低
电平,在下一个时钟的上升沿 RD变为低电平,数据
总线上输出数据。当RD信号低电平有效时, INT信
号变为高电平,下一个时钟的上升沿, RD信号变为
高电平,RD的上升沿数据被锁存进FIFO存储器。RD
信号回到高电平后,WR 信号变为低电平,于是又开
始下一次转换。
4 系统的 Verilog HDL描述
电子系统的设计思路有两种:一种是自上而下的
设计思路(top-down),一种是自下而上的设计思路
(bottom-up)。在自上而下的设计中,将设计分成不
同的层次:系统级、功能级和门级等。然后,按照自
上而下的顺序,在不同的层次上对系统进行设计、描
述与仿真。由于自顶向下的设计思路更符合人们的逻
辑思维的习惯,容易使设计者对复杂的系统进行合理
的划分与不断的完善,目前占主流地位的也正是这种
设计思路。
数字系统的设计采用硬件描述语言编程方法。硬
件描述语言主要有 Verilog HDL、VHDL和 AHDL等。
Verilog HDL是目前最广泛的硬件描述语言,可用于从
算法级、门级到开关级的多种抽象层次的数字系统设
计。因此,Verilog HDL可以用来进行各种层次的逻辑
设计,也可以进行数字系统的逻辑综合、仿真验证和
时序分析等。
4.1 Veiflog HDL描述MAX196
用 Verilog HDL程序描述MAX196模块,可以把
模块用于采集系统的仿真,以验证状态机设计的正确
性。该模块主要有 3个输入信号和 1个输出信号,与
芯片的控制信号是一致的。程序如下:
module adc(reset,rd_adc,wr_adc,int_adc);
input reset,rd_adc,wr_adc;
output int_adc;
reg int_adc;
always @(posedge wr_adc or negedge rd_adc or
negedge reset )
begin
if(!reset) int_adc=1;
else if(rd_adc==0) begin int_adc=1; end
else begin #10 int_adc=0; end
end
endmodule
4.2 Verilog HDL描述自动机
状态机有 3个输入信号和 2个输出信号,输入信
号中 CLK 由 DSP 系统输出以控制采样速度,RESER
信号复位自动状态机,INT_ADC 是 A/D 转换芯片转
换结束的响应;输出信号 RD_ADC、WR_ADC 信号
控制 A/D 转换芯片的转换开始和数据的读出及控制
FIFO存储器,即将数据写入 FIFO存储器。程序如为:
module fsm(int_adc,clk,reset,rd_adc,wr_adc);
output rd_adc,wr_adc;
input int_adc,clk,reset;
reg rd_adc,wr_adc;
reg[1:0] present;
2004年第 3期《电子技术》 计算机应用
中国传感器 http://www.com.cn 11
parameter
reset_ad=2'h0,start_ad=2'h1,wait_ad=2'h2,read_ad=2'h3;
always @(posedge clk or negedge reset)
if(~reset)
begin present=reset_ad;rd_adc=1;wr_adc=0;end
else
begin
case(present)
reset_ad: if(rd_adc)
begin present=start_ad;wr_adc=1;end
start_ad: if(~int_adc)
begin present=wait_ad;rd_adc=0;end
wait_ad: if(~rd_adc)
begin present=read_ad;wr_adc=0;end
read_ad: if(int_adc)
begin present=reset_ad;rd_adc=1;end
endcase
end
endmodule
4.3 数据采集系统
MAX196 模块和状态机模块组成高层模块-自动
采样系统,通过模块实例的调用和端口映射语句可实
现模块的组合。为了更直观地加以表述,将 A/D转换
芯片和 FSM的文本模块编译生成一个符号,加上输入
输出引脚,构成系统的顶层
电路如图 5所示。特别设定
输出信号 int_adc,使仿真波
形看得更清楚。
4.4 仿真图形:
图 6所示为采集系统的
时序仿真图,CLK是系统外
部时钟,用于控制采样频
率,RESET 接外部复位信
号,可以控制采样的起始时
刻,MAX196的WR_ADC、
RD_ADC、INT_ADC分别与逻辑芯片 EPM7128的控
制引脚相连接。仿真图表明,复位后,只要有 CLK时
钟输出,A/D 转换将连续进行,转换数据依次存入
FIFO存储器,当 FIFO存储器满时,向 DSP发出中断
请求,DSP 及时响应并启动 DMA 高速读入 FIFO 存
储器中的值,由于 DSP 读入的速度够快,因此 A/D
转换并不需停顿,从而实现实时采样实时处理。
该自动采集系统,采用CPLD芯片,设计了Verilog
HDL描述的自动状态机,利用了 FIFO存储器的特性,
实现 CPLD控制数据采集和数据存储。目前采集系统
应用于 DSP 应用板卡上,由于免去了 DSP 控制 A/D
转换芯片的操作,使信号处理系统能高效地完成复杂
的随机共振系统的应用研究,另外,硬件电路软件化
设计,具有可在线更新、升级容易、保密性强等特点。
若采用更高 A/D转换速度的芯片,更高工作频率,可
以进一步提高系统的数据采样速度。实际应用证明该
采集系统工作非常稳定。
参 考 文 献
1 Donald E Thomas,Philip R Moorby. The Verilog®
Hardware Description Language,Fourth Edition.Kluwer
academic publishers,1998
2 Altera Inc.DATA BOOK.Altera Corporation,2000
3 Altera Inc . ByteBlasterMV Parallel Port Download
Cable.Altera Corporation,2000
4 HDL Compiler for Verilog Reference Manual.Synopsys
Inc,1999
5 王志华,邓仰东.数字集成系统的结构化设计与高层次综
合.北京:清华大学出版社,2000
6 www.cypress.com
7 www.maxim-ic.com
8 www.altera.com
INT_ADC
WR_ADC
RD_ADC
RESET
adc
fsm
INT_ADC
CLK
RESET
RD_ADC
WR_ADC
OUTPUT
OUTPUT
RD_ADC
WR_ADC
INT_ADC
INPUT VCC
INPUT VCCRESET
CLK
1
2
4
3
图5 采集系统电路