- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于TLV1562的四通道高速实时数据采集系统的设计
2.3 采集系统的设计
2.3.1 接口时序图
CPLD与TLV1562的接口时序图见图3。DISTANCE_PULSE是距离门脉冲,周期为512μs(80Km)或1024μs(160Km),SAMPLE_PULSE是采样开始脉冲,一旦监测到其上升沿采集系统就开始启动,START被置为高电平,TLV1562的CS置为低。WR、RD、INT的时序图是TLV1562的内部转换模式时序图。当WR出现两次低电平后,便完成了对寄存器CR0和CR1的配置,即实现了A/D转换的初始化。A/D转换结束,输出低电平信号INT有效,信号RD读取A/D转换结果并复位INT信号,完成一个转换周期,并开始准备下一次转换。
图3 EP1K100与TLV1562的接口时序图
2.3.2 CPLD对TLV1562接口的实现
由于TLV1562芯片是可配置A/D转换器,其配置转换时序图见图。所以如何利用CPLD实现对TLV1562的配置与读写是关键技术之一。对于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的多通道高速采集系统的设计及实现方法,将该采集系统应用到雷达数字式对消器中,结果证明精度和速度都能满足要求。实现了在较低的成本下实施多通道数据采集处理。
作者:阚保强 王建业 来源:TI 全球网
上一篇:通信世界周刊:IP化下的十年技术汇
下一篇:嵌入式TTS汉语语音系统的解决方案