DSP FPGA 数据采集系统
李志军,等用cPLD实现多通道数据采集系统的A/D转换器控制电路设计55
cpld_clk
busy
Dulse
图4状态图F培.4
Frameof
states
s田:process(cur—st,busy)
case
cuLstis
when
s0=>rc<=1’cs<=1,;byte<=O’6nish<=O’
图2A/D控制器的控制部分结构图
——复位至初始状态
F培.2
n丑me0fthecontmller0fA/D
converter
ifen=17thenneⅪ一st<=s1;3.1
AD转换器的控制时序及工作状态设计
elsenext—st<=80;在2.2节所述的A/D控制方式下,通过AD03
endif:模块实现的ADS8505的时序图如图3所示。图3when
91=>rc<=O’cs<=0’byte<=0’finish<=O’
中MODE和DATABus分别代表A/D转换器所处
——启动AD
ifen=1’thennext—st<=s2;的状态和数据总线的状态,其中的各个时间标为各elsenext—st<=s0:
个信号间的延时或者信号的建立时间。有关符号含endif:
义如下:t。。为A/D启动要求的低电平脉冲持续时when
s2=>rc<=O’cs<=O’byte<=O’6nish<=O’
间;£。d为R/c变低到BusY置位的延迟时间;tw2为——延时
BusY为低电平的脉冲持续时间;t。。为转换的时间;next—st<=s3:
f扭为总线无效时间;£。为从R/c信号到cs信号的建
when
s3=>rc<=O’cs<=O,.byte<=O’finish<=O’
立时间;£。为总线有效时间。
——延时
next—st<=s4;when
s4=>rc<=1’cs<=1,.byte<=O’6nish<=0’
——采样等待,采样进行中…
ifbusy=17then西々三产H]厂一
呱商粒缸砬旷面面
neⅪ一st<=s5:e18e
next—st<=s4:
endif:
when
s5=>rc<=1’cs<=O’b”e<=O’finish<=1’
一s二j三互二E£≥叵妪丽—邓=4犁—一岫盏踅手划}j三二
——转换完成,读取低8位数据
next—st<=s6;
DATA即s
———————刁rT器葺毛■一一
Hi—zstate
:i
×陋tavalid×』凝
when
s6=>rc<=1’cs<=0,.byte<=1’finish<=1’
——转换完成,读取高8位数据
圈3
AD鹦505工作时序图
next—st<=s0;
Fig.3
Timesequ明ceofADS8505
end
case:
end
AD03模块完全由VHDL语言设计的有限状态pmcesss田;
3.2
connDlmux模块
机实现‘101。根据ADS8505的时序,本文设计了如图4所示的ADS8505的工作状态转移图。
该模块是用来控制多路复用开关的,它由一个
。
36进制计数器构成。在设计计数器的时候,考虑到图4中定义了s。一s。等7种工作状态,所设计要控制三片多路复用开关,因此设定了三个溢出标的各状态功能及其状态转移的实现过程描述如下:
志A1、A2、A3,分别用来控制三片多路复用开关的