AD采集模块

2024-09-14

AD采集模块(共7篇)

AD采集模块 篇1

数据采集是获取信息的重要途径。数据采集的好坏,主要取决于它的精度和速度。在保证精度的条件下应有尽可能提高采样速度,以满足实时采集、实时处理和实时控制对速度的要求。在电磁层析成像EMT(Electromagnetic Tomography)数据采集系统中,共有16路数据采集通道,每路数据采集通道通过16路模拟开关分时切换到A/D模块进行数据转换和处理,数据信息量非常大,这对AD转换器速度要求非常高,而且需要很强的数据处理和传输能力[1,2]。串行AD7366/AD7367芯片具有速度快、体积小、功耗低、占用数据口少等优点,而且作为可编程逻辑器件的FPGA,集成上百万的逻辑门,支持反复地编程、擦除和使用,开发周期短,运用成本低,处理速度高等优点,因此,选择以FPGA为平台对AD7366/AD7367的高速转换数据进行传送、存储和相应的数据处理。

1 数据采集模块

1.1 数据采集模块组成

基于数据采集系统的功能与特点,综合考虑了数据采集系统对数据处理的速度、精度和实时性等要求,本文设计的数据采集模块主要由A/D转换电路、FPGA和PCI总线三大部分组成[3]。具体数据采集模块框图如图1所示。

1.2 AD7366/AD7367

AD7366/AD7367[4]是Analog Devices公司生产的8通道、12位/14位、高速、低功耗、单/双极性转换的高精度串行逐次逼近型ADC,采样速率最高可达到1MS/s。在连续采样的情况下,完成一次转换的时间(包括数据的读取)不会超过1μs。在一般模式下,最低消耗电流为8.3mA;若工作于关闭模式,消耗电流可降低到320nA。AD7366/AD7367还具有可编程选择模拟输入电压范围的功能,有3个不同的输入范围可供选择:±10V、±5V及0~10V。AD7366/AD7367的引脚图如图2所示。

AD7366和AD7367的转换过程和控制时序都是一致的,惟一不同的是,AD7366是12位的串行ADC,AD7367是14位的串行ADC,即转换结果位数不同。因此,在高速数据采集模块设计过程中,均以AD7366为例来说明。

1.3 存储器

综合考虑了数据转换结果的精度和速度,选择了FPGA开发板上集成的IS61LV25616AL型SRAM芯片,容量为512KB,字长为16bit。本系统使用的是12bit的A/D转换器,IS61LV25616AL型SRAM的字长和容量都能满足系统要求。IS61LV25616AL型SRAM芯片的读写主要由控制信号来支配,控制信号主要有:

2 数据采集接口设计

2.1 数据采集流程

在整个数据采集接口设计中,利用VHDL语言[5]依次实现了时钟匹配、AD7366的启动、查询和停止,以及数据串并转换和数据存储等数据采集过程。具体采集流程图如图3所示。

2.2 时钟匹配单元设计

电磁层析成像高速数据采集系统采用的是CycloneⅡ系列的EP2C35F484C8型FPGA,它提供的时钟信号频率为50MHz,AD7366/AD7367的最大时钟信号频率为1MHz,所以必须设计相应的分频单元解决AD7366/AD7367与FPGA时钟频率匹配问题。分频的基本原理如下:假设一个3位的二进制字符串,最先初始化为“0”,然后每来一个FPGA时钟信号,该字符串自动加1,则会依次出现以下字符串:000,001,010,011,100,101,110,111,000,001……。通过以上字符串可以看出其规律:它的最高位由“0”变到“1”和由“1”变到“0”都要经过4个连续的FPGA时钟信号,并且在这4个连续的FPGA时钟信号期间,这个3位的二进制字符串的最高位都恒为“1”或“0”,接收到8个FPGA时钟信号后才会接收到1个二进制字符串最高位组成的周期信号。因此,利用3位的二进制字符串的累加实现8分频。如果字符串的长度为n,则可以实现2n分频。

综上所述,为了把FPGA提供的时钟信号频率50MHz分频到1MHz以下,解决AD7366/AD7367与FPGA的时钟频率匹配问题,可以设置一个长度为6的字符串,实现64分频,满足数据采集时钟频率要求。

2.3 AD7366/AD7367时序控制单元设计

AD7366/AD7367时序控制单元主要处理两种信号:控制信号和状态信号。AD7366/AD7367的主要控制信号是转换开始信号和芯片选择信号,主要状态信号是转换完成信号BUSY。

利用FPGA提供转换开始信号CNVST的下降沿触发AD7366/AD7367,开启模数转换,随后转换完成信号BUSY会自动置为高电平。在模数转换期间,BUSY信号会一直保持高电平,直到本次转换完成BUSY信号才会再自动跳变为低电平。下降沿到来后,再过两个进程才重新将信号置为高电平,保证了t1至少不得短于10ns的要求。然后该代码又设置检测转换完成的语句,即利用检测BUSY信号的下降沿来判断转换是否完成。从开启模数转换开始到完成,一直都将CS置为高电平,直到检测到BUSY信号的下降沿的到来后,即代表本次模数转换已经完成后,才将CS置为低电平,允许转换结果的输出。在输出转换结果的过程中,又设置了相应的循环判断数据是否已经输出完毕。当检测到结果输出完毕时,又将信号置为高电平,表示本次转换已经彻底结束。如果需要进行下一步的模数转换,则重新进行以上操作。

2.4 串并转换单元设计

AD7366/AD7367是串行输出芯片,为了方便数据的存储和运算处理,有必要设计一个串并转换单元实现串行数据转换为并行数据的功能。

在高速数据采集模块的设计过程中,为解决串并转换问题,采用了移位操作的方法。考虑到AD7366的转换结果是12位,设置了一个13位的移位寄存器,即一个13位的字符串temp_data_ad66。当检测到BUSY信号的下降沿后,在下一个进程开始数据的串并转换。串并转换的具体操作是:首先对设置的移位寄存器temp_data_ad66赋初值“1111111111110”,每当来一个SCLK的下降沿,把移位寄存器temp_data_ad66的数值往左平移一位,并把此时芯片的输出端DOUTA的输出结果放到寄存器temp_data_ad66的最低位,即把移位寄存器temp_data_ad66的原有数据的低12位和AD7366输出端DOUTA的输出数据组合在一起构成一个新的13位的位串存放在移位寄存器temp_data_ad66中。每来一个SCLK信号,移位寄存器temp_data_ad66的数据则向左移动一位,AD7366输出端DOUTA的输出数据则自动依照先后顺序存放在寄存器temp_data_ad66的最低位;相应地,temp_data_ad66中初始化存放的字符串“1111111111110”中的“1”就会减少一个,只要检测到的SCLK信号的下降沿总数少于12个,即移位操作次数少于12次时,temp_data_ad66的最高位都会是“1”,不会是“0”。当且仅当移位操作次数等于12次时,其最高位才会为“0”,同时,此时寄存器temp_data_ad66的低12位存放的数据恰好就是AD7366的转换结果。据此,可以通过检测移位寄存器temp_data_ad66的最高位是否为“0”来判断串并转换是否结束。AD7366的输出端DOUTA是按照依次先输出高位再输出低位的顺序输出A/D转换结果。结合串并转换过程可知,当串并转换完成时,寄存器temp_data_ad66中存放的数据顺序正好与A/D转换真实结果一致。

2.5 数据存储单元设计

数据存储过程中,AD7366都被置于关闭状态。在进行写操作之前,控制信号都置为高电平,存储器停止工作。准备进行写操作时,将控制信号置为低电平,其他控制信号仍然保持高电平,同时向地址输入线送入数据存储地址。在下一个进程到来时,把控制信号WE也置为低电平,其他控制信号保持原来状态。SRAM在接收到输出使能控制信号的下降沿时,通过地址寻址,自动把输入/输出总线上的数据送到地址线数据对应的存储单元,完成数据的写操作,下一个进程来时,把控制信号和再次置为高电平。

3 实验仿真结果

在高速数据采集模块设计过程中,使用的仿真软件是Altera公司提供的QuartusⅡ开发系统[6]。以下实验结果都是以AD7366为例,利用QuartusⅡ仿真得到的。

3.1 实现时钟匹配实验结果

由前面的分析可知,要实现AD7366与FPGA的时钟匹配,需要对FPGA提供的时钟信号进行64分频。经QuartusⅡ仿真实现了64分频,clk为FPGA时钟信号,clk0为AD7366时钟信号,如图4所示。

3.2 AD7366工作时序仿真结果

图5是AD7366在一个完整周期内的工作时序仿真图。

3.3数据存储

在数据存储过程中,输出使能信号始终为高电平。当接到A/D传来的存储信号时,SRAM的片选信号跳变为低电平,一个进程后,写使能信号、高低字节选择信号都被置为低电平,写数据开始。 具体仿真图可参见图5。

针对电磁层析成像数据采集系统对数据采集速度和精度的要求,设计了一套基于FPGA的高速数据采集模块,使用了高速高精度的串行模数转换器AD7366/ AD7367进行数据转换,利用FPGA编程控制AD7366/ AD7367的启动、停止和状态查询,同时进行FPGA与AD7366/AD7367时钟匹配、串并转换、高速数据缓冲、数据存储等处理,实现了电磁层析成像(EMT)数据采集系统数据信息的高速采集,提高了EMT系统数据采集模块的数据处理能力和传输能力。

参考文献

[1] YU Z Z,PEYTON A J,XU L A,et al.Electromagnetic inductance tomography(EMT):sensor,electronics and image reconstruction algorithm for a system with a rotatable parallel excitation field[J].IEE Proceedings-Science,Measurement and Technology,1998,145 (1) :20-25.

[2] PEYTON A J,YU Z Z,LYON G,et al.An overview of electromagnetic inductance tomography:description of three different systems[J].Measurement Science and Technology,1996,7(3) :261-271.

[3] 周振安,数据采集系统的设计与实践[M].北京:地震出版社,2005.

[4] Analog Devices 公司.AD7366/AD7367芯片手册,2007.

[5] 潘松,黄继业.EDA 技术实用教程[M].北京:科学出版社,2004.

[6] Altera 公司.QuartusⅡ使用说明.2003.

AD采集模块 篇2

关键词:数据采集,多通道,AD转换,接口电路,AD7606,TMS320F2812

0 引言

在多通道电流与电压监控系统中, 需要对电流和电压参数进行同步采样, DSP芯片TMS320F2812 (以下称F2812) 自带的AD转换模块已经不能满足数据采集要求[1,2]。AD7606是一款完全集成的多通道数据采集解决方案, 采用5V单电源供电, 可实现16位无失码性能, 在高噪声电源条件下也能保持这一性能。基于AD7606的电压/电流数据采集系统原理如图1所示 (图中LPF为低通滤波器) 。AD7606的模拟输入有±10V和±5V两种范围, 所以传感器的输出经滤波电路后可直接与AD7606连接, 且AD7606提供并行接口、高速串行接口和并行字节接口3种接口, 可以和DSP直接连接[3,4,5,6]。本文采用F2812的外部扩展并口与AD7606连接, 实现电压、电流数据同步采集功能, 并对AD7606和F2812的AD转换模块进行性能分析。

1 系统硬件接口电路

1.1 电压/电流输入电路

经电流或电压传感器输出的模拟信号一般为4~20mA的电流信号或者±10V和±5V的电压信号。为了使数据采集系统具有通用性, 在模拟信号输入端需设计一个可选的电压/电流输入电路, 如图2所示。

当采集的信号是电流信号时, 需要将输入的电流信号转换为电压信号, 故在输入端并联R1和R2作为取样电阻。取样电阻的阻值为

式中:Ii为采集的电流信号, 范围为4~20 mA;Ui为转换后的电压信号, 可取±10V和±5V两种范围。

当采集的信号是电压信号时, 省略图2中的电阻R1和R2即可。

1.2 输入滤波电路

输入的差分信号 (UAIN_P0, UAIN_N0) 经INA2134转换成单端信号UAIN0, UAIN0=UAIN_P0-UAIN_N0, 然后从AIN0端输出, 如图3所示。INA2134的差分线路由高性能运算放大器组成, 具有低失真、高压摆率和良好的动态响应等特性。输入源阻抗 (即信号输入AIN_P0、AIN_N0两端的串联阻抗) 必须相等, 以保证良好的共模抑制。±15V电源经去耦电容给INA2134供电, 这些电容要充分靠近INA2134的引脚。

1.3 AD7606硬件电路

AD7606的外围电路及其与F2812的接口电路如图4所示。+5V电源经过100nF和10μF去耦电容连接到AD7606的4个VCC电源引脚;V_DRIVE引脚接到F2812的供电电源, 使两者的接口电平兼容;从INA2134输出的单极性模拟信号接入AD7606的V1—V8引脚;转换输出的数字信号DB0—DB15接到F2812的数据口;BUSY引脚接到F2812的外部中断引脚XINTI_AD;nRD/SCLK引脚接到F2812的读选通信号XRD;nCS引脚接到F2812的外部接口引脚XZCS1;RESET引脚和CONVST A引脚, CONVST B引脚接到F2812的普通I/O端口GPIO6和GPIO7。

1.4 外部基准电压源

AD7606内置一个2.5 V片内带隙基准电压源, 然而对于要求高精度的多通道数据采集应用场合, 还需使用外部精密基准电压源ADR421。当选择外部基准电压源时, AD7606的REF SELECT引脚接逻辑低电平, 同时REFIN/OUT引脚接一个不小于100nF的去耦电容, 如图5所示。

2 系统软件设计

并行模式下基于AD7606的电压/电流数据采集系统进行AD转换时读取数据时序如图6所示。首先给AD7606的RESET引脚一个高电平的脉冲信号, 高电平脉冲宽度为50ns, 将AD7606复位, 然后给AD7606的CONVST A、CONVST B引脚一个低电平的脉冲信号, 启动AD转换, AD7606的BUSY引脚变为高电平, 开始AD转换过程;当AD转换结束后, AD7606的BUSY引脚自动变成为低电平, 对AD7606进行读操作, 读取并行数据总线上的数据。图7为系统主程序和中断程序流程。

3 系统测试及性能分析

3.1 F2812自带的AD转换模块测试实验

测试条件:输入电压为0~3V, 连续转换模式, 每采集256个值求平均, 转换后的数字量取10位, 结果见表1。

3.2 AD7606测试实验

测试条件:输入电压为0~3V, AD7606的量程为±10V, 转换后的数字量取16位, 结果见表2。

从测试结果可看出, F2812自带的AD转换模块的测量误差较大, 为2%~6%;AD7606的测量误差小于1%, 大部分在0.2%以下。因此, 采用AD7606进行AD转换的结果精度高、误差小。

4 结语

针对F2812自带的AD转换模块不能满足同步采集电流和电压参数要求的问题, 设计了AD7606与F2812的接口电路, 并对AD7606和F2812自带的AD转换模块进行了性能测试分析。测试结果表明, 与F2812自带的AD模块进行AD转换的结果相比, 采用AD7606进行AD转换的结果精度高、误差小, 适合高精度AD转换电路。

参考文献

[1]王伟, 杨智涛, 吴佳楠, 等.提高DSP的AD转换器精度的研究与实现[J].现代制造工程, 2009 (9) :47-48.

[2]周志久, 吴灿, 张英.基于DSP的数据采集系统设计与实现[J].航天控制, 2011, 29 (2) :67-70.

[3]吴骞.AD7606在电力系统参数采集中的应用与设计[J].电子世界, 2012 (21) :74-75.

[4]于克泳, 孙建军.新一代16位8通道同步采样ADCAD7606在智能电网中的应用[J].电子产品世界, 2010, 17 (10) :71-73.

[5]胡永兵, 周云飞, 杨钦.一种高精度多通道采集系统及其性能分析[J].微型机与应用, 2012, 31 (16) :28-31.

AD采集模块 篇3

随着科学技术的发展, 日常生活的科技含量也越来越高。由于传统的温度采集器精度低, 性能相对而言较差;而一些新的温度传感器虽然精度高, 性能好, 但是价格比较昂贵, 应用于一些非高精密场合则不经济。因此, 从技术性能、经济角度等综合因素来考虑, 本设计采用AD590半导体集成的温度传感器作为温度传感核心来设计一个温度采集、显示电路。

2 电路设计流程

电路的流程图如图1所示, 从这方框图中, 可以清楚的看出此设计电路信号的转换步骤和流向。

按电路的功能划分, 其主要可以分为三大模块:温度检测模块、A/D转换模块和数字显示模块。温度采集模块包括了温度采集和运算放大两部分, 它实现了温度-电压之间的转换, 对于温度采集, 采用了半导体集成电路的温度传感器AD590为传感核心;A/D转换模块则包括了ADC0809和8250这几个芯片, 主要负责把温度采集模块中所采集到的模拟信号转换成为数字的电信号, 并且能够以串行异步通信的方式输出;而数字显示模块中有74LS244及四个共阴极的八段LED, 其功能是把数字的电信号转换成温度值, 并且把它以数字的形式显示出来。显示的方式, 采用的是并行接口的动态显示方式。8051则作为各种信号的桥梁, 以实现信号之间的转换和传送。

从本电路的流程图还可以了解到, 本电路的大部分功能是通过对单片机和可编程芯片的软件编程来实现上述的转换和显示的功能。因此, 编写程序也是这个设计的一项很重要的工作。在这设计里, 程序均采用汇编语言进行编写。对于程序及相关的调试, 将在文章后面进行介绍。

3 电路硬件介绍

3.1 AD590温度检测模块

(1) AD590变换器

AD590是半导体集成的绝对温度/电流型变换器。它是二端器件, 具有很宽的工作电源电压范围和很高的输入阻抗, 作为一种高阻电流源, 对于它不需要考虑传输线上的电压信号损失和噪声干扰的问题, 因此特别适合做远距离测量或控制应用。

(2) AD590温度检测电路

图2是典型的温度检测电路, 也是这设计所采用的电路。其设计思想是利用运算放大器虚地的概念, 将AD590电流输出支和与产生273.15的常数支路在虚地点叠加, 使最后的结果为摄氏温度。在电路里, R 7用于调节使AD581这一支路输出273.15μA的电流, 而R8用于调节电路输出的斜率, 使输出电压以100mV/℃的规律变化。

电路中除了用到AD590以外, 还用到了AD581和LM301A这两个元件。AD581是一个电压稳定器件, 它能够把12V-30V的电压稳定在10V输出。使其所在的支路产生一个较稳定的273.15μA的电流常数。而LM301A是运算放大器, 运用在电路里其反相输入端可视为虚地概念。使AD590输出的电流只能流过其反馈电阻, 从而达到了电流/电压转换的目的。

3.2 A/D (数/模) 转换模块

这一模块主要的作用是把温度采集模块最后的模拟输出量转化为数字信号, 并把这数字电信号送入单片机。由单片机传送给后面的数字显示模块的接口芯片。

在这一个子模块里, 本设计采用逐次逼近式的A/D转换器ADC0809来实现模拟-数字之间的转换来实现。ADC0809是典型的8位8通道逐次逼近式的A/D转换器, 其片内有8路模拟选通开关, 以及相应的通道地址锁存用6译码电路, 可对8路0V-5V的输入模拟电压信号分时进行转换, 转换时间大约为100左右。其输出具有TTL三态锁存缓冲器, 可直接接到单片机数据总线上, 通过适当折外接电路, ADC0809可对0V-5V的双极性模拟信号进行转换。

8250是一种可编程的通用异步通信接口芯片, 也称为异步通信适配器。利用此芯片可以实现异步串行通讯。对于其内部一共有10个寄存器。由于这10个寄存器是8250的引脚A0---A2指定的, 而三位二进制只能表达8位寄存器。所以其中有二个口地址分别由2个寄存器共用。访问这两对寄存器时, 由通讯线控制寄存器的最高位, 即由锁存器访问位DLAB来识别。这一点在程序里需要注意。

3.3 数字显示模块

在这一模块中, 本设计采用可编程的并行接口芯片8155显示器LED的接口电路, 而数码显示则采用四位带小数点的八段共阴极的LED显示器。 (由于篇幅问题, 电路图略)

对LED显示电路, 通常N位LED显示器有N根位选线和8根段选线。根据显示方式的不同, 位选线和段选线的连接方式也不同。段选线控制显示字符的字形, 而位选线则控制显示位的亮、暗。LED显示器有静态显示和动态显示两种显示方式。L E D静态显示器在静态显示方式时, 各位的共阴极连接在一起并接地;每位的段选线分别与一8位的数据输入相连。而动态显示则是利用人眼对光线的迟滞特点来实现分时点亮。当动态显示时, 是将所有L E D的段选线相应地并联在一起, 由一个8位I/O口控制, 形成段选线的多路复用。而各位共阴极分别由相应的I/O口线控制, 实现各位的分时选通。对这两种显示方式而言, 静态的接线、编程控制简单, 而且静态显示的亮度较高, 但是静态显示所占用的口线较多。因此, 本设计采用静态显示方式。

在本设计中8155是用来接收单片机传送过来的数字信号, 并把这数字信号转换成为要显示的温度值输出。其转换、显示扫描由程序来控制, 其转换及显示程序将在后面的章节作介绍。

本设计显示的精度达到0.2℃, 在显示时还存在一个小数点的问题, 在电路里采用硬件与软件相结合的方式来解决, 从电路图中可以看出, 只有一位L E D的小数点接入段选线, 对于小数点的点亮则是由程序来控制。

4 电路软件介绍

设计中软件的编程采用汇编编程。对于A/D转换和数值的显示在程序里则采用中断的方式来完成。整个程序流程图如图3所示。

在程序里, 主要调用了FLAG、convh2t、display这几个子程序。下面对这几个程序简单介绍:

FLAG;这程序主要实现将A/D转换后的数值串行输出的功能。

convh2t:这一子程序把A/D转换后的数值转成为要显示出的温度值。其转换思想是先将A/D转换出来数值转换成为三位的十进制数, 然后将这三位的十进制数分别乘以2以此来将数值转换成为要显示的温度值。在这程序里, 显示的温度值为三位, 本系统共有四位LED, 最后一位是做为8路温度采集时, 显示所采集的通道号所用。

Display:这一程序则是调用经convh2t转换后的温度值, 采用查表的方式输出。由于硬件里采用的是动态显示的连接, 所在在程序在要注意其段选输出口和位选线输出口之间转换转换及显示的时间问题。这了使显示的效果比较理想, 在程序里增加了一段在输出要显示的字形以后加了一段己选中的LED立即灭的小程序, 这样来消除前一位LED对后一位即将显示的LED显示效果的影响。另外电路里又增加了延时和重复循环显示的指令以提高显示的质量。

除了上述三个子程序以外, 在程序里又调用了RCOMM、CONVER、HEASC等程序。RCOMM程序是一个单纯的串行输出程序, 在这程序里, 选中8250的通讯控制寄存器, 并把要传送的数据传送出去;CONVER程序则是把一个数值转换成ASIIC码并从串行口输出的程序, 在这程序里, 其传送的方式为先传送经A/D转换后的高四位, 然后再传送转换后的低四位。H E A S C程序就是将每四位模数转换后的数值经查表转化为ASIIC码, 然后传送出去。

5 存在问题及解决

在电路调试中, 在传感器、稳压电源以及各种外界的干扰下系统的输入信号中含有种种噪声和干扰, 如A/D转换后的输出直流电压出现了纹波现象, 从电源到芯片出现了压降较大的现象。而且在A/D转换与数字显示模块共用同一电源时, 互相干扰的现象尤为明显。这些都会影响到数据采集、转换的精度, 从而影响到最后温度显示的精度。在实际调试时发现, 将其相关接地线分开使用, 效果要好一点。

为此, 在A/D转换模块里要采取一定的滤波措施。在本电路里, 采用低通有源滤波, 利用RC电路和去处放大器组成的电压跟随器, 通过选择合适的电阻和电容可以滤掉干扰信号。

此外, 在这个电路里, 由于各个芯片的运作都要经过单片机的中转。因此在程序的时序上也是一个较大的问题。由于电路里对于显示采用的是动态显示, 各位、各段LED点亮的时间及次数都会影响到所看到的显示效果。在程序里, 本设计采用了多次的输出循环和单个的段输出延时相结合的办法来解决这一问题。但是, 这一问题的解决实质上就是以时间换取空间, 以牺牲CPU的时间来实现的。因此, 若对显示部分采用串行输出则会提高CPU的处理效率。

在本设计中, 电路的波特率为2400b/s。虽然理论上比较支持为4800, 但是经过实际调试后, 在电路里, 波特率为2400效果比较好。

在这一设计中, 虽然己经尽量完善这一系统, 但在细节方面还是不可避免的存在着一些问题。

参考文献

[1]李华.MCS-51系列单片机实用接口技术[M].北京:北京航空航天大学出版社, 1996, 5.

[2]张友德.单片机微型机原理、应用与实验 (修订版) [M].上海:复旦大学出版社, 1999, 12.

[3]电子产品世界[N].2003, 3下半月刊

[4]康华.电子技术基础-数字部分[G].华中工学院电子学教研, 1998, 7.

AD采集模块 篇4

随着数字信号处理技术的发展, 越来越多的信号处理环节可以通过后端的软件处理完成, 但这反而使得电子设备对前端数据采集系统的要求不断提高[1]。因为后端软件的处理效果归根结底依赖于数据中所包含的信息量, 只有提高数据采集的动态性能, 才能保障后端处理的效果。长期以来, 在数据采集领域, 高速大动态范围ADC系统的设计与实现始终是研究的热点。当雷达工作在高杂波的电磁环境中, 探测对象的RCS或多普勒信息非常微弱时, 就对设计实现高速大动态范围数据采集系统提出了迫切的需求。

目前, 国内对高速大动态范围ADC数据采集系统设计主要依赖于芯片的指标而缺乏系统的研究和总结。本设计旨在通过优化系统设计, 结合动态性能优越的模数转换芯片, 实现一个高速大动态范围数据采集系统。

1 系统性能指标要求

本系统需完成的主要功能为:雷达同步控制;中频数据采集, 数字正交解调;信号预处理。同时为了降低便携设备的功耗, 预处理器拟采用低功耗处理器。由于要求动态范围大, 中频采集需采用高精度的数据采集芯片, 设计为2个通道, 要求单通道量化位数不小于14 b, 有效位数不小于12 b, 输入信号范围2 Vp-p, 且满足低功耗要求。

2 关键技术

如何保证大动态范围是设计中的关键点, 同时也是难点所在, 设计中从如下几方面进行考虑。

2.1 ADC芯片的选型

为了获得高速度、大动态范围, 数据采集系统对ADC的速度和量化精度的要求越来越高, 而ADC的速度和量化精度与其结构紧密相关。

目前常用的高速ADC类型主要有快闪型和流水线型[2]。快闪型ADC由于采用了全并行结构, 具有超高速、宽输入带宽的优点, 但其硬件规模随分辨率的增加呈指数增长, 分辨率一般为4~8位, 且存在高功耗、高成本、“闪烁码”等问题, 将它应用于数据采集系统将会造成分辨率低、成本高、能耗大等弊端。而流水线型ADC具有较高的分辨率, 量化位数一般为12~16位, 较高的采样速率, 一般为1~250 MSPS。流水线型ADC将ADC与DAC结合, 采用多级流水结构, 解决了快闪式ADC无法达到较高分辨率的缺点, 同时兼顾了快闪式ADC的转换速度。因此, 本文选择流水线型结构的ADC芯片来实现高速大动态范围数据采集系统设计。

本文选择了AD公司的AD9650系列芯片。AD9650是一款双通道、16位流水线结构模数转换器, 为解决高频 (最大300 MHz) 、大动态范围信号的数字化而设计[3]。它具有集成ADC采样保持输入、可选择片上Dither模式、集成输入时钟1~8分频等诸多特点。AD9650输出信号模式可选择, 默认输出为1.8 V CMOS, 通过3线SPI接口, 可配置工作模式, 实现输出1.8 V电平的LVDS数字信号。它具有灵活的掉电选项、采用1.8 V单电压供电, 提供了重要的节能特性。片上Dither选项能够提高低电平模拟输入的无杂散动态范围 (Spurious Free Dynamic Range, SFDR) 。AD9650的主要性能指标见表1。

2.2 系统采样时钟性能

ADC芯片受时钟控制进行采样, 时钟质量对采样精度影响大, 制约着系统所能达到的有效位。系统时钟主要性能指标包括时钟抖动和相位噪声。下面分别讨论两个指标对采样系统的影响。

时钟抖动表征了模拟输入实际采样时采样时间的不确定性。由于抖动会降低宽带ADC的噪声性能, 因此, ADC噪声性能的下降将反映出时钟抖动情况[4,5]。与系统信噪比 (Signal-to-Noise Rate, SNR) 边界值 (单位:d B) 之间存在的关系如式 (1) 所示:

式中:fanalog表示模拟输入频率;tjitter表示时钟抖动, 整理公式 (1) 得:

ADC有效位数 (Effect Number of Bit, ENOB) 与SNR的关系:

由式 (1) 和式 (3) 可得系统有效位数与模拟输入频率及系统时钟抖动的关系图, 如图1所示。忽略其他因素, 仅考虑时钟抖动对ADC性能的影响, 由式 (1) 可知, 若要对20 MHz的中频信号进行采样, 同时保证74 d B以上的SNR, 则要求时钟抖动最大为1.588 ps RMS。且ADC电路的时钟抖动 (tjitter) 与采样时钟抖动 (tjitter_clk) 和ADC器件自身孔径抖动 (tjitter_adc) 之间存在如下关系:

若ADC器件孔径抖动为0.5 ps RMS, 则采样时钟抖动应小于

另外, 采样时钟的相位噪声对ADC性能有着重要影响。若采样过程用单位圆来表示, 则每通过一次零相位, ADC进行一次采样。采样时钟上的噪声将对相应矢量的顶点位置进行调制, 从而改变发生过零的位置, 造成采样过程提前或编码过程延迟。而采样时钟上的噪声矢量可能是相位噪声所导致的。如图2所示。

图2中, 理想情况下时钟信号应为单谱线。然而, 受电源噪声、时钟抖动等因素影响, 频域中存在大量能量分布在理想频率附近, 代表相位噪声的能量。由于相位噪声往往可能扩展至极高频率, 所以, 它会使ADC的性能下降[6]。采样过程实质是一个采样时钟与模拟输入信号的频域卷积过程, 这个卷积过程在整个频谱域有效, 同时在微观上也同样有效。因而, 图2所示的时钟频率周围集中的相位噪声也将与模拟输入进行卷积, 造成输出的数字信号频谱失真。

采样时钟相位噪声通常以单边带相位噪声来衡量, 即[6]:

由此可以计算出采样时钟相位噪声, 作为系统设计的依据。

在本系统中, 为保证时钟特性, 时钟源由高精度晶振提供, 时钟抖动控制在1.2 ps RMS以内, 相位基底噪声为-165 d Bc/Hz。板上时钟转换选用AD公司的AD9513, 其附加的时钟抖动为300 fs, 输出的时钟信号性能满足要求。它实现对单路时钟转两路LVDS信号, 给AD9650提供采样时钟, 同时给FPGA提供同步控制时钟。图3给出了时钟电路设计原理图。

2.3 前端电路设计

ADC前端电路主要完成对模拟输入幅度、信号形式的调整。它采用交流耦合方式, 通过差分放大器, 实现对信号幅度调整, 同时实现单端输入信号转差分信号[7]。并且, 通过后续的滤波器实现信号的滤波。其结构如图4所示。

虽然差分运放是有源器件, 使用中会消耗功率, 且产生噪声, 但它的性能限制比变压器少, 可以在必须保留直流电平时应用, 而且放大器增益设置简单灵活, 且通带范围内提供平坦的响应, 而没有由于变压器寄生交互作用引起的纹波。

作为ADC驱动放大器, 其在系统中发挥着以下几个重要作用:

(1) 隔离信号源并为ADC的输入提供低阻抗驱动。因为ADC输入阻抗可能是信号相关的, 并且在实际转换过程中, 输入还可能产生瞬态负载电流, 所以低阻抗交直流驱动源是非常重要的。高频情况下, 低源阻抗可以使这些因素产生的误差最小化。

(2) 驱动放大器提供了必要的增益和电平转换, 使信号匹配到ADC输入电压范围。

当然, 如果ADC输入常处于高阻态且无瞬态负载, 除非对增益和电平转换有要求, 否则不要使用缓冲放大器。

ADC的S/ (N+D) (信号噪声失真比) 是决定驱动放大器的关键因素。如果在目标频率范围内, 驱动放大器的THD (总谐波失真加性噪声) 总是优于ADC的S/ (N+D) 值6~10 d B, 那么所有由放大器造成的S/ (N+D) 降低将相应限制在接近[8]0.5~1 d B。

利用ADI公司提供的ADI Diff Amp Calculator软件可得到前端电路仿真图, 如图5所示。由文献[3]可知在输入信号为15 MHz时, AD9650的S/ (N+D) 为82 d B, 而图5中AD8139的THD为88 d B, 满足上述要求。综合考虑增益及通带内响应及输入阻抗等因素, 前端电路采用ADI公司的差分运放AD8139。

3 系统结构及工作原理

3.1 系统结构

根据系统要求, 设计的高速大动态范围ADC数据采集系统, 结构如图6所示, 主要包括模数转换模块、数字信号预处理模块、数据传输模块和嵌入式单板机等。

模数转换模块是信号采集系统最重要的组成部分。它主要包括ADC、前端电路和时钟电路等。主要完成的功能是实现对模拟中频输入信号的数字化, 以用于后续的数字信号处理。

数字信号预处理模块采用较为成熟的FPGA+DSP[9]结构, 主要实现对数字信号的FFT、数字正交解调等, 同时实现对原始数据传输。信号预处理主要在DSP中完成, 而FPGA内部搭建两个FIFO来实现数据传输, 同时完成对收发单元等的控制功能。FPGA采用Xilinx的低功耗高性能产品Spartan6, DSP采用Analog Device公司的低功耗DSP产品ADSP21479。

数据传输模块采用Cypress公司的CY7C68014, 通过USB接口完成由FPGA向嵌入式单板机的数据传输。嵌入式单板机具备各种符合计算机协议的数据接口, 包括与电子硬盘的存储接口, 与上位机的网络通信接口, 以及与预处理卡的USB通信接口。

数据采集系统硬件电路实物, 如图7所示。系统分成两块电路板, 即模拟ADC板和FPGA+DSP数字板, 两者通过PMC插件连接。

3.2 工作原理

数据采集系统的工作原理是:首先, 模拟中频输入信号经过模拟前端电路调整后, 实现滤波、单端转差分等。然后, 信号输入ADC, 加载采样时钟后, ADC将模拟信号转换为数字信号, 并通过PMC接口传输到数字信号预处理模块。最后, 预处理模块可将原始回波数据直接发送到嵌入式单板机, 也可以将波形合成后的数据发送到单板机。数据传输方式采用USB 2.0接口, 使用Slave FIFO方式传输数据[10]。嵌入式单板机通过串口与预处理卡通信, 控制工作模式的设置。

4 结语

本文研究了影响数据采集系统动态范围的关键因素, 给出了在采集系统设计时选择芯片、设计时钟和前端电路的依据, 以此为基础提出了一种高速数据采集系统的设计方案。论证分析表明, 该设计方案能够满足雷达数据采集系统高速大动态范围的要求。下一步工作将围绕系统的SNR、SFDR、ENOB等主要性能指标的测试及测试新方法研究来开展。

参考文献

[1]陈曾平, 刘平, 马云.电路设计基础与专用系统构成[M].北京:科学出版社, 2006.

[2]土玉永, 曾云, 金湘亮, 等.模数转换技术及其发展趋势[J].半导体技术, 2003, 28 (8) :7-10.

[3]Analog Devices Inc.Datasheet of AD9650[EB/OL].[2011-06-04].http://www.analog.com.

[4]张俊杰, 章凤麟, 叶家骏.高速数据采集系统设计[J].计算机工程, 2009, 35 (1) :207-209.

[5]Analog Devices Inc.Analog-to-digital converter clock optimiza-tion:a test engineering perspective[EB/OL].[2008-02-02].http://www.analog.com.

[6]段宗明, 柴文乾, 代传堂.时钟抖动和相位噪声对数据采集的影响[J].雷达科学与技术, 2010, 8 (4) :372-375.

[7]李鑫, 王胜勇, 田丽艳.高速ADC电路设计分析[J].微计算机信息, 2011, 27 (8) :111-113.

[8]Analog Devices Inc.Amplifier applications guide[EB/OL].[1992-05-20].http://www.Analog.com.

[9]李木飞.中频采样数字信号处理实现技术[D].哈尔滨:哈尔滨工业大学, 2008.

AD采集模块 篇5

语音信号的采集和播放是语音信号处理的基础,在基于DSP的语音处理系统中,DSP通过控制A/D芯片采集和播放语音信号,再通过DSP实现各种语音处理算法。在TI各个系列DSP芯片中,16位的C54XX因其指令简单、接口连接方便而在语音处理系统中得到广泛应用。

1 实现目标

系统要求使用DSP和A/D芯片实现语音信号的采集,然后将语音信号存储到DSP的RAM中,最后实现语音信号的播放。

2 硬件实现

2.1 解决思路

系统采用的主处理器是TMS320VC5402,利用芯片提供的多通道缓冲串口McBSP实现与A/D芯片的连接。DSP相关性质及McBSP的配置可参看有关文档[1]。

系统采用的TLC320AD50的A/D芯片采集和播放语音信号。AD50使用过采样技术提供A/D和D/A的高分辨率低速信号转换。该器件包括两个串行的转换通道,在D/A之前有内插滤波器,A/D之后有抽取滤波器,由此可以降低AD50的本底噪声。

在AD50正常工作以前,必须对它进行初始化。初始化的主要工作是配置AD50的四个控制寄存器CR1,CR2,CR3和CR4。控制寄存器的读写是通过二次通信来实现的。AD50启动二次通信有硬件和软件两种方式,硬件方式相对容易实现,DSP通过内部寄存器将XF引脚置高,进而控制与其连接的FC引脚到高,然后向McBSP串口写16位的控制字,低8位是AD50的控制寄存器初始化字,高8位选择要初始化的寄存器及操作。软件方式则是当AD50工作于15位模式时,将DSP输出到AD50的数据的D0位置1,即可进行二次通信。系统采用的是硬件实现的方式,在二次通信中,D0~D7为写入控制寄存器的数据或从寄存器读出的数据,D8~D12的内容决定选择哪个控制寄存器,D13决定是读操作还是写操作。D8~D13位确定的具体操作情况如表1所示。

CR1~CR4寄存器的D0~D7所确定的所有操作见AD50的datasheet,这里不详细叙述。

2.2 硬件设计

语音信号的采集和播放系统的硬件设计主要包括语音信号的输入输出模拟通道、DSP和AD50的连接、DSP和AD50的周边设备连接等[2]。其中,DSP和AD50的周边设备连接包括电源电路、时钟电路、复位电路、存储器扩展电路和去耦电路等,这些电路的连接可查看相关芯片资料。

语音信号的前后端处理主要由输入输出模拟通道组成。这两个电路的主要作用是将信号进行处理,尽量避免因输入输出引入的噪声。同时,还可以调整输入输出的放大系数,使语音信号适合各种不同的功放,得到最佳的语音效果。

为了达到更好的效果,AD50的模拟信号输入采用差分输入方式,即使用两个运算放大器,将单端输入信号转换成差分输入信号,电路连接如图1所示。使用差分信号,信号一正一负同时进入采集系统,如果此时有随机噪声出现,通过正负信号的加减,可以有效消除部分噪声[3]。

AD50的D/A输出为差分信号,可以直接驱动600Ω的负载。输出电路如图2所示。

DSP通过多通道缓冲串口连接AD50。DSP最多可以使一个缓冲串口与3个AD50芯片连接。系统采用DSP为主设备、AD50为从设备的连接方法。如图3所示,AD50的时钟信号MCLK由DSP的定时器0的输出TOUT0提供,时钟频率可以通过设置定时器0来改变。AD50的移位时钟输出SCLK连接到DSP的缓冲串口0的接收时钟引脚CLKR0,帧同步信号FS连接带DSP缓冲串口0的FRX0。AD50的FC引脚连接到DSP的通用I/O引脚XF,用于控制二次串行通信。图3中DSP的DR0为输入,其余均为输出。

3 软件设计

系统用于实现语音信号的采集和播放,收到数据后,AD50对数据进行模数转换,变成数字语音信号后存储于内部RAM,然后输出到AD50,AD50进行数模转换后输出到相应的后端处理电路,最后由后端电路将输入的语音信号转变成语音输出到音响设备,因此程序设计比较简单易于实现。主要包括以下几个方面[4]:

(1)DSP的初始化。包括定时器0的初始化,以确保TOUT0引脚能输出正确的时钟信号到AD50,使AD50能根据该时钟信号进行采样。初始化缓冲串口时,应使DSP工作于主设备方式,CLKR0和FSX0引脚设为输出。DSP初始化完成后,在DSP的TOUT0,CLKR0,FSX0这3个引脚可以看到连续输出的脉冲。

(2)AD50的初始化。此时主要是设置DSP的XF引脚输出为高,以启动AD50的二次通信,在正确设置AD50的4个控制寄存器以后,AD50开始采样数据。此时检测AD50的DOUT引脚,能发现引脚有连续的信号输出。

(3)设置DSP中断。DSP的中断负责从缓冲串口读取数据,可以在CCS中查看读取的数据是否正确,如果每次读取的都是0或者同一个数据,说明AD50没有正常工作,此时需检查DSP或者AD50是否初始化成功。

(4)数据存储。DSP从缓冲串口读取数据存放到RAM,连续存放500或者1 000个数据,可以通过CCS的画图功能看到采集到的数据。这时主要判断采样频率是否正确、有没有数据丢失等。

(5)数据输出。将RAM中的数据直接送到AD50的D/A单元,转换成模拟信号后输出。这时从AD50的模拟信号输出端可以看到和输入端一样的信号。

将程序略做修改,不存储采集到的数据到RAM,而是直接播放,通过CCS编译环境将修改后的软件进行编译后载入DSP运行,可以通过View/Graph/(Time/Frequency)对比采集到的波形和从RAM中读取到A/D芯片的波形,可以看到波形的频率和相位一致,说明系统搭建成功。按照应用的目的不同,进一步改进程序,如加入语音编解码或语音识别程序,可以方便实现功能扩展[5]。

4 结束语

系统实现了语音信号的实时采集和播放,也搭建了一个语音信号处理的基本平台。在系统的基础上,可以在DSP的外围电路扩展FLASH,保存语音信号;也可以通过HPI接口连接到计算机,进行相应的处理;还可以在系统软件中加入语音编码解码算法、语音识别算法等进行功能的扩展。更为突出的是,该系统电路连接简单、编程容易、成本低,可称为语音处理平台的模板。

参考文献

[1]周霖.DSP通信工程技术应用[M].北京:国防工业出版社,2004.

[2]周霖.DSP系统设计与实现[M].北京:国防工业出版社,2003.

[3]陈志鑫.基于TMS320VC54X DSP的实时语音识别系统[J].半导体技术,2001,26(4).

[4]王华,张健.DSP原理及其C编程开发技术[M].北京:电子工业出版社,2006.

AD采集模块 篇6

关键词:恒温,硬件,电路设计,高精度器件,精度漂移

0引言

随着现代科技的飞速发展,高精度器件的使用环境越来越苛刻。对于本电力采集产品来讲,安装在PT侧,需要耐受100 ℃ 的温度变化,很大程度的影响电力产品中高精度器件的稳定性、高可靠性。为了保证电力采集产品中的AD采样模块在一个恒定的环境中工作,提出了恒温控制电路的设计。本文设计一种恒温控制电路,主要通过加热电阻加热的方法来稳定恒温盒的温度, 并通过仿真测试和电力产品现场实际使用验证了该方法的切实可行,使系统获得高可靠性提供了一种有参考价值的方法。

1电路设计

1.1设计思路

恒温电路设计的研究主要用于电力采集产品上,对电力采集产品来讲,安装在PT侧,需要耐受100 ℃ 的温度变化,却要求万分之五的精度。除需要从理论上进行最终的计算和分析外,还要考虑各种因素。如其中重要的一个因素高精度器件的温漂,器件稳定性、可靠性受温度变化的影响,是电子器件不可回避的问题。 对于电力采集产品中高精度的AD采集模块,温漂的问题更为严重,要保证AD采集模块精度在允许的范围内,恒温电路的设计是很重要的[1]。基于对电力采集产品应用环境的考虑,将高精度的AD采集模块放置在恒温盒中,同时配合加热电阻来稳定恒温盒温度的方法,来保证环境在 - 20 ℃ ~ + 75 ℃ 变化时,恒温盒内的温度变化在 ± 1 ℃ ,使电力产品在万分之五的精度范围以内稳定工作。

如图1所示恒温控制电路[2],器件主要由分压电阻、热敏电阻、加热电阻、运放、三极管等组成,从设计上看电路设计简单、稳定性好。选择的运放是低价、高性能、低噪声的双运算放大器ne5532,热敏电阻选择低价,对温度反应灵敏的电阻。

根据电路,为了保证恒温盒内的器件工作最佳状态,首先确定恒温盒内要保持的恒定温度,通过测试和计算,恒温盒的温度恒定在75 ℃ 为最佳,AD采集模块可以稳定的工作,电力产品可以达到万分之五的精度[3]。

当温度降低时,通过分压电阻电路、负反馈电路、恒流源控制电路,加热电阻电路使温度稳定在75 ℃ 。

1.2电路具体设计

如图1参数V1、V2、V3、V4的具体计算如下:

从上面的公式可知当温度降低时,热敏电阻RMF1变大,根据公式( 2) V1变大,根据( 3) 式V2变大,根据( 4) 式V3变大,根据 ( 5) 式V4变大,后级运算放大ne5532同向输入端和反向输入端形成压差在通过后级负反馈放大电路,三极管的基极电压大于发射极电压,三极管导通,加热电阻加热,保持温度恒定。并且后级运放和三极管组成的恒流源控制电路,抑制了输出电流的增大, 稳定了输出电流。

具体分析如: 当温度低于75 ℃ 时,由于热敏电阻( MF1是负温度系数的热敏电阻) 的阻值变大,V0≠V1,V1> V0,根据深度负反馈电路虚短、虚断的特点,R18上有电流,在经过负反馈电路放大,后级运算放大U2B同向输入端和反向输入端形成压差,输出电压放大,三级管基极电压大于发射极电压,三级管导通,有电流流过加热电阻,加热电阻加热,再通过三极管、运算放大U2B、电阻等组成的恒流控制源电路控制流过加热电阻电流[4],使恒温盒温度保持在75 ℃ 左右。

在设计过程中,要理论计算配合仿真软件。下面是Saber Sketch软件仿真结果,根据热敏电阻负温度系数特性,在仿真过程中给热敏电阻设定不同的参数值,从而达到模拟温度升高和温度降低环境的目的。仿真如下:

( 1) 1. 5 k的仿真结果( 见图1)

当热敏电阻为1. 5 kΩ 时,此时恒温盒应该保持在此恒定的温度下,通过仿真观察到,此时三极管处于放大状态,三极管导通,但是流过加热电阻的电流很小,所以温度还是保持在75 ℃ 左右。

( 2) 100 Ω 的仿真结果( 见图2)

当热敏电阻为100 Ω 时,U2A运放正向端电压比1. 5 kΩ 时减小,由运放的虚短、虚断的特性可知R18上有电流流过运放,但是由于负反馈,R21一端的电压为负电压,根据负反馈电路、恒流源控制电路特性和三极管导通条件,此时三极管处于截止状态, 加热电阻没有电流流过,不发热。而且根据实际软件仿真如上图三极管不导通。加热电阻不工作。

( 3) 5. 1 k的仿真结果( 见图3)

当热敏电阻为5. 1 kΩ 时,U2A运放正向端电压比1. 5 kΩ 时增大,由运放的虚短、虚断特性可知R18上有电流流过运放,根据负反馈,R21一端的电压为正电压,根据恒流源控制电路、负反馈和三极管导通条件,此时三极管处于饱和导通状态,发热电阻上有电流通过,加热电阻加热,使得恒温盒内的温度升高。而且根据实际软件仿真如上图三极管导通,加热电阻工作,使温度恢复到 + 75 ℃[5]。

2应用

电力采集产品安装在PT侧,需要耐受100 ℃ 的温度变化,还要求精度在 ± 0. 05% 以内。AD转换模块是电力采集产品的重要模块,对温度的 变化更加 敏感,AD转换模块 采用ADS8329IRSARG4[6]芯片,其采样精度16位,零位漂移0. 4 × 10- 6/ ℃ ,增益漂移0. 75 × 10- 6/ ℃ ,这款芯片具有高精度和高采样率的优点,但对温度变化敏感。

AD[7]转换模块在电路设计和器件选择上,尽量保证采样电压的精度并最大程度减小温漂。但还是要考虑温度在 - 25 ℃ ~ + 75 ℃ 变化时,AD模块精度漂移。温漂造成的输出变化必须通过恒温或者温度补偿来去除。由于温度补偿电路需要在芯片设计之初加入,而且无法做到完全补偿,因此,要得到稳定的输出, 则必须稳定系统的工作温度,所以AD转换模块放在恒温盒里, 在通过恒温控制电路保证温度的恒定。

3测试

恒温设计电路主要保证D采样模块所处的环境温度变化在 ± 1 ℃ ,电力采集产品是三相电压,通过三路选通信号对模拟开关74LVC1G3157的控制使得三项交流( A、B、C) 模拟信号能够经过滤波后进入到AD转换芯片中,实现模拟到数字的转换,在通过电力还原产品还原成模拟信号。如果环境温度在 - 25 ℃ ~ + 75 ℃ 变化时,电力采集产品和还原产品通过压降仪测试读出的三相电压的差值的幅值在0% ~ 0. 06% ,相位在0( ') ~ 3( ') 之间变化,说明恒温硬件电路设计合理。

如表1电力采集产品三相电压A、B、C的幅值、相位在常温时都在理论的范围内。

如表2电力产品三相电压A、B、C的幅值、相位在高温时都在理论的范围内,恒温控制电路可以在高温时控制恒温盒温度的恒定。

如表3电力采集产品三相电压A、B、C的幅值、相位在低温时都在理论的范围内,恒温控制电路可以在低温时控制恒温盒温度的恒定。

4结束语

AD采集模块 篇7

1 A/D转换芯片AD7705

AD7705具有两个模拟输入通道,利用Σ-Δ转换技术实现了16位无丢失代码性能。模拟调制器具有增益可编程功能,片内设有数字滤波器、处理调制器的输出信号,通过片内控制器可调节滤波器的截止点和输出更新速率。是用于智能系统、微控制器系统和DSP系统的理想产品,其串行接口可配置为3线方式。增益值、信号极性以及更新速率的选择都可通过串行接口由软件来设置。该器件还包括自校准和系统校准功能,以消除器件本身或系统的增益和偏移误差。

2 嵌入式单片机ATmega 16

ATmega 16是Atmel公司生产的8位嵌入式单片机,它是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。特点为:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512字节EEPROM,1K字节SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,3个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,1个可编程串行USART,1个SPI串行端口等,硬件资源非常丰富[1]。

3 采集系统的设计

采集系统的硬件构成在功能上主要包括线性电源电路、AD7705外围电路、ATmega 16外围电路和通道选择电路。

3.1 线性电源电路

本电路(图1)电压为+5V和+3.3V。使用电源芯片78L05、Z33等,D1、D2为5V稳压管,D8、D9为3.3V稳压管。C14、C17用于滤除高频杂波,C15、C16用于保证输出电压平坦,外部供电为+12V。

3.2 AD7705外围电路

AD7705的外围电路如图2所示。时钟频率设计为2.457 6MHz,晶振Y1两端需各接一20p F电容到地以保证时钟频率的精准。电源电压VDD为+5V。AN1+与AN1-,AN2+与AN2-分别接模拟输入信号。芯片REF192为AD公司生产的精密基准电压源,为AD7705提供2.5V基准电压,其输出引脚6到地之间需并接0.1μF和10μF的电容以保证其输出电压平坦。

AD7705与单片机Atmega 16接口电路为片选端CS—PD4、复位端RESET—PD5、逻辑输出端DRRY—PB3、串行数据输入端DIN—PB5、串行数据输出端DOUT—PB6和串行时钟SCLK—PB7。

3.3 ATmega 16外围电路

ATmega 16(图3)的供电电压VCC为+5V,时钟频率8MHz。PB5为串行外设接口SPI的主机输出端,PB6为主机输入端,PB7为SPI时钟。PB3、PD4、PD5用作普通的数字接口。AVCC为模拟电源,需经LC网络接至数字电源VCC,L1为10μH,C11为100n F,LC网络用于抑制噪声、提高抗干扰能力。

该电路控制AD7705以完成数据的采集,主要是利用其SPI接口对AD7705进行各种初始配置,控制A/D转换并读取转换结果。

3.4 通道选择电路

该电路在ATmega 16的程序控制下工作,AT-mega 16的控制信号通过PA4~PA0以完成32个通道模拟的模拟量采集。以高度集成CPLD芯片EPM3064为解码电路,制作一个5/32解码器,用VHDL语言编写而成,其供电电压3.3V,输入信号PA4~PA0和PD7,输出信号为TD0~TD31。EPM3064是基于EEPROM的CMOS工艺CPLD,其有64个宏单元,100管脚TQFP封装有66个用户I/O管脚,可满足许多应用需要。

PD7作为5/32解码器的使能信号,用于选择采集通道0~31。DS2Y-S为信号继电器,其引脚8、9接AD7705模拟信号1的AN1+与AN1-,引脚4、13接通道0的模拟输入信号AI0+与AI0-。其导通断开通过PNP三极管Q1驱动,控制信号为TD0,二极管D1起续流作用,保护电路正常工作同时具有抑制尖峰干扰作用。通道1~31的选择电路类似,同理设计模拟信号输入AI1~AI31的选择电路。PD7作为使能信号,低电平有效,总共需要32片信号继电器,本质上通道选择电路(图4)是由CPLD芯片EPM3064和信号继电器构建的逻辑阵列开关。

4 软件设计

软件设计包括3个子模块:SPI初始化模块、AD7705驱动模块、定时器模块[2]。工作过程:首先通过ATmega 16的SPI接口驱动AD7705,完成AD 7705通道设置、时钟设置、更新速率以及校准模式等,然后启动ATmega 16的定时器,在定时器中断函数中查询AD7705的状态,如转换完成则读取转换结果,否则继续等待直到转换完成,如此不断读出所需的转换结果。程序流程如图5所示。

4.1 SPI初始化模块

对ATmega 16的SPI接口进行配置:

void spi_init(void)

{

DDRB|=(1<

DDRB&=~(1<

PORTB|=(1<

SPCR=(1<

}

4.2 AD7705驱动模块

该模块程序完成对AD7705的配置任务,需要注意的是读写寄存器之前必须先选择要操作的寄存器。

向AD7705写入1字节函数,入口参数data为需写入的字节数据:

{

SPDR=data;//启动数据传输

while(!(SPSR&(1<

}

读出AD7705数据函数,返回值为读出的2字节数据:

{

unsigned int temp;//定义临时变量

wr_7705(0x38);//选择读数据寄存器,1通道

SPDR=1;//启动数据传输

while(!(SPSR&(1<

{

}

temp=SPDR<<8;//读取高字节

SPDR=1;//启动数据传输

while(!(SPSR&(1<

{

}

temp|=SPDR;//读取低字节

}

AD7705初始化函数:

{

wr_7705(0x20);//选择时钟寄存器,下一操作是写

wr_7705(0x00);//20Hz的更新速率

wr_7705(0x10);//选择设置寄存器,下一操作是写

wr_7705(0x44);//自校准模式,增益为1,单极性

}

4.3 定时器模块

利用定时器1按一定的时间间隔读取AD7705的转换结果。读取数据之前必须确定数据寄存器的状态,有两种不同的方式:第1种是查询DRDY引脚,如果处于低电平,表示已经转换完成,可以读取;第2种是查询通信寄存器中的DRDY位,如果是0表示可以读取数据:

定时器1初始化函数:

{

TCCR1B=0x00;//停止定时器

TCCR1A=0x00;//定时器模式

TCNT1H=0x F6;//装初值

TCNT1L=0x3B;//定时器1溢出时间20ms

TCCR1B=0x04;//启动定时器,256分频

TIMSK|=BIT(TOIE1);//使能溢出中断

}

定时器1溢出中断函数:

{

if(DRRY==0)//判断AD转换是否完成

}

5 结束语

经长时间实验,结果表明设计合理、运行稳定、采样精度高。通过RS232接口与上位机相连,将采集数据实时传输至计算机,配合所设计的上位机应用软件可完成模拟量的采集。以此为基础所设计的32通道模拟电压采集板卡已经应用到多个科研课题中。

在此基础上构建专用的测量系统,可减少工作量、降低科研成本,具有很高的应用价值。

摘要:设计了以单片机ATmega 16为控制核心,以AD7705为前端采集芯片,以CPLD芯片EPM3064为逻辑开关阵列的32通道模拟量采集系统。给出了相应的硬件电路、驱动程序以及应用软件,指出了AD7705在实际应用中应当注意的一些问题。该采集系统结合测量仪器可以完成多点多参数的测量。

关键词:模拟量采集系统,AD7705,单片机ATmega16,多通道

参考文献

[1]闫瑞杰,何小刚,柴婷婷.新型激光无线打靶系统的设计[J].太原理工大学学报,2006,37(1):104~107.

上一篇:资产折旧下一篇:翻译适应选择论论文