新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 基于TLV1562的四通道高速实时数据采集系统的设计

基于TLV1562的四通道高速实时数据采集系统的设计

作者:时间:2009-12-30来源:网络收藏
2.3.2 CPLD对接口的实现

本文引用地址:http://www.amcfsurvey.com/article/188432.htm

由于芯片是可配置A/D转换器,其配置转换时序图见图。所以如何利用CPLD实现对的配置与读写是关键技术之一。对于TLV1562的读写控制易于实现,而对于其配置,由于是对循环采集,较为复杂。在TLV1562中有两个寄存器需要配置,也就是要有两次写,而每次配置的数据还不一样(见表一),所以应该在每次写的时候都应相应的提供数据。整个配置过程用VHDL语言采用有限状态机的方式来实现。定义5个状态,分别为st0,st1,st2,st3,ST4,st0是空闲态,st1,st2,st3,ST4是对应相应采集通道的状态,INDEXREG[1..0]是用来监测写信号的第几次写的标识码。 程序如下:

type states is (st0,st1,st2,st3,ST4);
signal current_state,next_state :states :=st0;
signal indexreg:STD_LOGIC_vector(1 downto 0);
signal chanel_data: STD_LOGIC_vector(9 downto 0);
begin
indexreg=index_reg; cs=not start;
process(current_state,indexreg,ad_ale)
begin
if ad_ale='0' then
chanel_data=ZZZZZZZZZZ;
else
if indexreg=10 then
chanel_data=0100000100;
else
case current_state is
when st0=>ad_end='0'; chanel=00;
next_state=st1;
chanel_data=0011000000;
when st1=> ad_end='0';chanel=01;
next_state=st2;
chanel_data=0011000001;
when st2=> ad_end='0';chanel=10;
next_state=st3;
chanel_data=0011000010;
when st3=> ad_end='1';chanel=11;
next_state=st0;
chanel_data=0011000011;
when st4=> next_state=st0;
chanel_data=0011000000;
when others=> ad_end='1'; next_state=st0;
chanel_data=0011000000;
end case;
end if;
end if;
end process;

表一 控制寄存器配置表

3 结束语

文中详述了基于TLV1562和EP1K100的多通道高速采集系统的设计及实现方法,将该采集系统应用到雷达数字式对消器中,结果证明精度和速度都能满足要求。实现了在较低的成本下实施多通道数据采集处理。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭