串行A/D与FPGA在微型数据记录仪中的应用
ADS8341转换的基本时序如图1所示。本文引用地址:https://www.eepw.com.cn/article/178866.htm
由图1可以看出,ADS8341完成一次转换需要24个DCLK时钟,其中在前8个时钟的上升沿,DIN控制字输入,控制字输入完成后,在DCLK的上升沿时刻,BUSY信号输出一个高电平,在这个时钟的下降沿,转换数据按位输出。经过一次完整的转换后,在第25个时钟上升沿,DIN可以再次输入控制字高位,保证了当DCLK外部时钟取得最高频率2.4 MHz时,A/D转换器的频率达到最高100 ksa/s。
2 基于FPGA的ADS8341控制器设计
本记录仪系统记录采集信号的频率范围500Hz以下,在系统实际应用中,对被测信号采用过采样方式,采样频率为被采集信号频率的5~10倍。系统采用A/D转换器3通道快速循环采样,近似实现了通道同步采样,是一种准同步采样的方式。经过72个DCLK周期,实现了CH0~CH2通道的顺序切换,当A/D转换器以最大采样频率100 ksa/s工作时,记录仪系统采样的频率相当于单通道频率的1/3,通道1与通道3之间同步误差最大为48clk,如图2所示,最小误差时间约为(此时采样频率最快),满足系统对较低频率信号采集的要求。
系统采用了基于FLASH架构的Actel公司ProASIC3系列A3P100,使用Libero集成开发环境,FPGA的A/D控制模块主要包含以下功能:
●时钟控制器
记录仪系统FPGA的外部时钟频率为48 MPa,对系统时钟20分频得到时钟DCLK即可提供A/D转换器的最大工作时钟。另外通过逻辑控制,时钟控制器提供几个低于2.4 MHz的时钟频率,系统可以选择更低的采样频率。
●不等占空比时钟
本系统设计A/D控制模块中引入clk_div时钟信号,占空比为2:3,做为din的控制电平,当clk_div信号为低电平时,din输出数据,clk _div信号为高电平,din为低电平。
clk_div撑(.duty_factor(duty_factorl),counter_top(counterl)).div_clkl(.reset(clk1_reset),.clk_in(clk_in1),clk_out(clk_out1));//任意占空比分频时钟模块调用
●控制字状态机
记录仪上电以后的工作状态为3个通道循环采样,控制字状态发生器循环生成chO=“1001_1111”,ch1=“101_1111”,ch2=“1010_111 1”,并将控制字转换成串行数据从din引脚输出,实现A/D转换器通道切换。
评论