如何利用CIC滤波器、CIC补偿滤波器和半带滤波器设计一个高频数字抽取滤波器-电路图讲
设计了采样频率为640 MHz、过采样率为64的高频数字抽取滤波器。该数字抽取滤波器由CIC(Cascaded Integrator Comb)滤波器(降16倍)、CIC补偿滤波器(降2倍)和半带滤波器(降2倍)组成。为了实现高频工作,CIC滤波器采用两级结构,第一级采用多相分解技术,使大部分结构工作在较低时钟频率下,极大地降低了CIC的功耗,第二级采用传统结构。
CIC补偿滤波器使信号通带平坦,半带滤波器满足了阻带的衰减要求。为了验证数字滤波器的性能,搭建了四阶前馈—反馈结构ΣΔ调制器,作为数字抽取滤波器的输入,最终在输入信号频率为0.5 MHz时,数字抽取滤波器输出的信噪比为97.40 dB。
0 引言 数字抽取滤波器是ΣΔADC(ΣΔAnolog-to-Digital Converter)的重要组成部为分,旨在从高速、低分辨率的调制信号中重构出高分辨率、奈奎斯特频率的信号。为节约硬件资源,同时满足通带纹波和阻带衰减等要求,数字抽取滤波器一般采用CIC滤波器、CIC补偿滤波器、半带滤波器三级级联方式构成[1]。本文在此结构的基础上,对CIC滤波器部分进行优化,通过级联结构和多相分解技术,最终有效地降低了CIC滤波器的功耗,提升了滤波器的运算速度。
为更好地验证数字抽取滤波器的性能,本设计的输入信号由ΣΔ调制器产生。根据640 MHz采样频率和64倍降采样率,计算得到调制器最小阶数为四阶。经过单环、级联结构的对比分析,最终选用四阶单环前馈-反馈ΣΔ调制器。即在单环ΣΔ调制的基础上,将第四级积分器的输入和输出端分别引入前馈和反馈,同时让反馈回路作为第三级积分器的输入[2]。在MATLAB中,使用0.5 MHz信号对该调制器进行验证,调制器的输出信噪比为114.7 dB。
本设计的数字抽取滤波器的目标参数为:信号带宽5 MHz,输入信号频率0.5 MHz,采样频率640 MHz,过采样率为64,输出信噪比90 dB以上,通带纹波不大于0.01 dB。
1 CIC滤波器的设计1.1 传统CIC滤波器 CIC抽取滤波器是一种线性相关的FIR(Finite Impulse Response,FIR)滤波器,滤波器系数均为1,结构组成只有积分器、寄存器和加法器,省去了乘法器,有效降低了硬件开销和电路复杂度。 降采样率为M,阶数为N的CIC滤波器的z域传输函数为[3]: 根据传输函数得到图1的滤波器结构图,此为传统递归结构。
传统结构的CIC滤波器由两部分组成:第一部分为积分器,第二部分为差分器。可以看到,所有积分器都工作在最高采样频率下,导致了传统结构功耗的增加。 芯片版图尺寸主要由寄存器个数及位数决定,字长大消耗硬件资源多,所以CIC滤波器的输出数据位数增长也是需要关注的一个方面。降采样率为M,阶数为N的CIC滤波器输出数据位数由Nlog2M+Bin决定,Bin为调制器输入位数。
1.2 多相分解CIC滤波器 为有效降低功耗,应使滤波器工作在低采样频率下,即让抽取步骤在整个CIC滤波器的最前端完成,这就需要对CIC滤波器的传输函数进行多相分解[4]。 下面以N=3、M=4为例,对分解步骤进行说明,由分解后的图2可得采样频率降低为fs/4。
该结构中的系数相乘可以通过移位相加实现,因此只需要延时器(寄存器)和加法器,消耗资源少。通过多相分解,在一开始就进行降采样,使后级都工作在较低的时钟频率下,有效降低了功耗。
-电子元器件采购网(www、oneyac、com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。自建高效智能仓储,拥有自营库存超50,000种,提供一站式正品现货采购、个性化解决方案、选项替代等多元化服务。 (本文来源网络整理,目的是传播有用的信息和知识,如有侵权,可联系管理员删除)
ADS1256是TI公司Burr-Brown产品线推出的微功耗、高精度、8通道、24位△-∑型高性能模数转换器(ADC)。该器件提供高达23比特的无噪声精度、数据速率高达30kSPS(次采样/秒)、0.0010%非线性特性(最大值)以及众多的板上外设(输入模拟多路开关、输入缓冲器、可编程增益放大器和可编程数字滤波器等),可为设计人员带来完整而高分辨率的量测解决方案。ADS1256采用SSOP-2封装,1000颗采购量零售单价为8.95美元。
ADS1256主要特点
1、8通道输入:可同时采集8路信号输入。
2、测量范围广:基本范围为0-5V输入电压,可在输入端可焊接分压电阻,将电压调整至0-5V内,所以此采集卡可采集市面上大部分标准电压,
3、采集频率高,精度高:采集卡的采集速率为30K/s,精度可达到0.00001。
4、工业应用级布线,模地,数字地完全隔离,抗干扰能力强。
5、体积小,方便安装应用
6、跳帽设计,方便多重状态组合 ADS1256内部结构 ADS1256的内部结构如图1所示。该器件主要由模拟多路开关(MUX)、输入缓冲器(BUF)、可编程增益放大器(PGA)、四阶△-∑调制器、可编程数字滤波器、时钟发生器、控制器和串行SPI接口等组成。由于ADS1256提供有九路模拟输入端,因此,可使用模拟多路开关寄存器来将其配置为4路差动输入、8路单极输入或差动输入和单极输入的组合。当模拟输入通道0被选择为正差动输入端(AINP)时,其余通道可被选择为负差动输入端(AINN)。
通常,输入引脚的选择是没有限制的,但是为了得到最佳的模拟性能,推荐如下的引脚连接方式:
1.作差动测量时,一般将AIN0~AIN7作为输入端,不用AINCOM; 2.作单极测量时,一般将AIN0~AIN7作为单极输入端;AINCOM作为公共输入端,但是不把AINCOM接地; 3.将未用的模拟输入引脚悬空,这样有利于减小输入泄漏电流。 ADS1256工作原理 ADS1256采用四线制(时钟信号线SCLK、数据输入线DIN、数据输出线DOUT和偏片选线CS)SPI通信方式,只能工作在SPI通信的从模式下。设计时可以通过各种主控制器(如单片机等)来控制ADS1256片上的寄存器,并通过串口读写这些寄存器。串口通信时,必须保持CS为低电平。DRDY引脚用来表明转换已经完成,可以通过RDADA或者RDATAC命令从DOUT引脚读取最新的转换数据。在SPI通信过程中,可同步地发送和接收数据,而且数据也可来利用SCLK和DIN、DOUT信号同步移动。SCLK信号要尽量保持干净以免发生数据错误,在SCLK的上升沿,可通过DIN向ADS1256发送数据,而在SCLK的上升沿,可通过DOUT从ADS1256读取数据。DIN和DOUT也可以通过一条双向信号线与主控制器相连,但在这种情况下,一定不能用RDATAC命令来读取数据。图2为SPI通信时序关系。
ADS1256有四个通用数字I/O口,所有的I/O口都可以通过IO寄存器设置为输入或输出。通过IO寄存器的DIR位可对每一个脚的输入或输出进行设置;DIO位用于控制每一个脚的状态。通过D0脚可设置一个时钟发生器以供别的设备使用(如微控制器等)。此时钟可以通过ADCON寄存器的CLK0和CLK1位设置成fCLKIN、fCLKIN/2、fCLKIN/4。把D0作为时钟要增加电压的消耗,因此,如果不需要时钟输出功能,最好在上电或者复位后通过写ADCON寄存器使其处于无效状态。不用的IO引脚可以作为输入接地,也可以设置为输出,这样有利于减小电源消耗。 ADS1256的主时钟可以由外部晶振或时钟发生器提供。由外部晶振产生时,PCB布线板上的晶振应该尽量地靠近ADS1256。为了保证能够起振并得到一个稳定频率,可使用一个外部电容(一般使用陶瓷电容)。晶振频率一般选择7.68MHz(即fCLKIN=7.68 MHz)。 ADS1256可通过复位引脚RESET、RESET命令和特殊串口通信时钟SCLK三种方式进行复位。ADS1256的同步操作则有SYNC/PDWN引脚和SYNC命令两种方式。 ADS1256工作过程的建立主要是通过对11个独立寄存器的设置来完成,这些寄存器包括了所有需要设置的信息,如采样速度、模拟多路开关、PGA设置、I/O选择、自校准等。表1给出了ADS1256的主要寄存器状态,其中包括:状态寄存器STATUS、模拟多路开关寄存器MUX、AD控制寄存器ADCON和数据速度寄存器DRATE。
其中,状态寄存器STATUS(地址00h,复位值为X1H)的高四位(ID位)由出厂设定,ORDER位为数据输出顺序选择位,为0时,数据输出高位在先(默认);为1时,数据输出低位在先。ACAL位为自动校准选择位,为0时,自动校准关闭(默认);为1时,自动校准开启。BUFFER位为输入缓冲选择位,为0时,输入缓冲关闭(默认);为1时,输入缓冲开启。DRDY位为转换数据状态位,此位完全复制DRDY引脚的状态,DRDY低电平时,表明数据转换结束,结果可以读出;高电平时,表明没有数据转换或者正在转换数据,此时不能读数据。 模拟多路开关寄存器MUX(地址01h)的复位值为01H。其PSEN3~PSEN0位为差动信号正输入端选择位,具体选择如下:0000=AIN0(默认),0001= AIN1,0010= AIN2,0011= AIN3,1XXX= AINCOM;NSEL3~NSEL0为差动信号负输入端选择位,具体选择为0000= AIN0,0001= AIN1(默认),0010= AIN2,0011= AIN3,1XXX= AINCOM。
AD控制寄存器ADCON(地址02h)的最高位一般不用(始终为0)。CLK1、CLK0为输出时钟选择位,00为输出时钟关闭;01为fCLKIN(默认);10为fCLKIN/2;11为fCLKIN/4。SDCS1、SDCS0为传感器检测选择位,其中:00表示传感器检测关闭(默认);01表示传感器检测电流为0.5μA;10表示传感器检测电流为2μA;11表示传感器检测电流为10μA。PGA2~ PGA0为可编程增益放大器的放大倍数选择位,000=1(默认);001=2;010=4;011=8;100=16;101=32;110=64;111=128。 数据速率寄存器DRATE(地址02h)的复位值为F0H。DIR7~DIR0为数据速率选择位,具体选择如下:11110000=30kSPS(默认);11100000=15 kSPS;……;00010011=5 kSPS;00000011=2.5 kSPS。
ADS1256的典型应用电路 图3 所示是ADS1256的典型应用电路。由于ADS1256是精度极高的A/D转换器,在应用期间要特别注意该器件的外围电路和印刷电路板的设计。
同其他高精度A/D转化器一样,ADS1256在实际应用时,也要特别注意电源和地的布线。在模拟电源和数字电源的输入端一般要并联一个小的陶瓷电容和一个大的钽电容(或者陶瓷电容),一般采用图3所示的阻容滤波。
注意电容要尽量靠近输入端,而且应使小电容更靠近ADC。特别注意要为VREFN和VREFP提供干净的电源,可以直接由AVDD(模拟电压)或由其分压得到,也可以采用独立的参考电源供电,但该电源一定要具有极低的噪声和温漂,否则将会直接影响ADS1256的性能。通常在输入端要采用如图3所示的RC低通滤波器来限制高频噪声,而且输入线越短越好。在接地方面,推荐采用模拟电源和数字电源共地的方式,要注意旁路电容和模拟调整电路的应用,避免数字噪声元件(例如微处理器)也公用此地。如果ADS1256采用不同的接地网络,一定要采用单点接地,避免模拟地(AGND)和数字地(DGND)之间有电压存在。
如果不用D0~D3,可以将其当作输入接地。如果不用RESET和SYNC/PDWN引脚,亦可将其直接接入数字电压输入端(DVDD)。 注意 1.在ADS1256片外要将模拟地AGND和数字地DGND连接在一起。否则,AGND和DGND之间存在电压,会使ADS1256无法正常工作。 2.在印刷电路板布线时,应将外部晶振尽可能地靠近ADS1256,否则将影响输入幅值的大小,而当幅值太小时,可以通过减小晶振两端的电容来增大其幅值,电容范围应在0~20μF,晶振为7.68MHz时,接入电容的典型值为18pF。 3.为了得到最佳的转换结果,每次改变初始寄存器值时(例如改变输入通道),最好自校准一次。而且应在改变输入通道命令后发同步命令SYNC,然后经过一段延时时再读取上次转换的结果。该延时应随着ADS1256的采样频率和滤波方式变化而变化。 4.在使用ADS1256处理微小信号时,最好采用比例测量,并应在DRDY由高变低时读取数据。
-电子元器件采购网(www、oneyac、com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。自建高效智能仓储,拥有自营库存超50,000种,提供一站式正品现货采购、个性化解决方案、选项替代等多元化服务。 (本文来源网络整理,目的是传播有用的信息和知识,如有侵权,可联系管理员删除)
相关文章
发表评论