12位A/D转换器ADS7864在电网谐波分析仪中的应用
1 引言
随着用电量的增加,电网的谐波污染变得日益严重,这就要求电力监控设备能够及时准确地对电网谐波分量进行监测,在笔者研制的电网谐波分析仪中,使用ads7864对各相关点的波形信号进行采集,实践证明,ads7864的采样精度及稳定性是令人满意的。
ads7864是burr-brown公司(已被德州仪器收购)开发的12位6通道a/d转换器,其主要特点如下:
6个模拟输入通道同时采样与保持;
2μs转换时间,500ks/s采样速率;
全差分输入;
功耗低,为50mw;
6个fifo寄存器;
全硬件控制。
2 内部结构和引脚说明
图1所示为ad7864内部结构框图,该器件含有2个2μs的逐次逼近模数转换器,6个差分采样与保持放大器、1个带refin和refout引脚的+2.5v内部电压基准以及1个高速并行接口。6个模拟输入通道分成3对(a、b、c)。每个a/d转换器都有3对输入端(a0/a1、b0/b1、c0/c1),可以同时采样、转换,因此可以保持两个模拟输入信号的相对相位信息。每对通道都有一个保持信号(holda、holdb、holdc)使6个通道上的采样可同时进行,图2为ads7864的引脚封装图,其引脚说明如图1所示。

ads7864既可以使用内部参考电压源,也可以使用外部参考电压源,从图1可以看出,当使用内部2.5v参考电压源时,refout引脚应该连接至refin引脚,这是一种常用方式,当输入模拟信号为2.4v-5.2v之间时,可以使用1.2v-2.6v范围内的外部参考电压源。
ads7864只采用外部时钟(clock),当外部时钟为8khz时,a/d采样速率为500khz,与2μs的最小转换时间相对应。
3 工作及控制模式
与max197不同,ads7864不采用寄存器进行转换控制,而是完全依靠外部引脚进行控制,虽然控制比较简单,但是却需占用部分硬件资源。
(1)a/d转换的启动

ads7864的转换启动控制使用holdx引脚(lolda、holdb、holdc),将一个或者所有的holdx信号拉低,则相应通道x的输入数据立即被置为保持模式,通道x的转换随即开始,如果其他通道已处于保持模式但还没有开始转换,通道x的转换则需列队等候直到上一轮转换完成为止。如果在一个时钟周期内不止一个通道进入保持模式,并且holda也是被触发的保持信号时,通道a将首先开始转换,接着是通道b,最后是通道c,一旦某个特定的保持信号变为低,其随后的脉冲被忽略,直到这次转换完成或器件复位。

在转换完成时(busy信号变高),采样开关将关闭并且对选择的通道进行采样,延迟随后的转换,以便对ads7864的输入电容完全充电,延迟时间取决于驱动放大器,但应该至少有175ns。
(2)转换结果的读取
ads7864有3种不同的数据输出模式,用a2、a1和a0引脚选择,如表2所列。

第一种是地址模式,在(a2a1a0)=从000到101时,可以直接对特定的通道寻址,该通道的地址在rd的下降沿之前应保持至少10ns,并且只要rd为低就不能改变。
第二种是循环模式,在(a2a1a0)=110时,接口以循环模式工作,此时,数据在第一个rd信号时从通道a0读取,接着是通道a1,随后是b0、b1、c0,最后是c1(再次读取a0之前),在一个复位信号之后或者对器件上电之后,通道a0的数据首先输出。
第三种是fifo模式,在(a2a1a0)=111时,该模式中,先读取首先被转换的数据,此时,如果某个特定的通道最受关注、转换较频繁(例如,获取特定通道的历史记录),则每个通道就有3个输出寄存器用于存储数据。
ads7864的输入为16位、12位输出数据存储于db11(最高有效位)到db0(最低有效位)。当db11-db0输出有效数据时,db15为1,这点对于fifo模式非常重要,在db15变为0之前可以读取有效数据。db14、db13、db12输出通道地址,其具体信息与表2中a2、a1、a0的地址设置相对应。
为了增加设计的灵活性,ads7864支持不同宽度的数据总线。当数据宽度控制端byte被置为高电平时,ads7864的16位数据输出端直接与16位数据总线相连,当byte端被置为低电平时,可以与8位数据总线连接,在第一个dr信号时低8位数据在输出引脚db7到db0读取,第二个rd信号时则读取高8位数据。
4 在电网谐波分析仪中的应用
电网谐波分析需要采集的数据包括三相线路的电压、电流共6个量(对于每条输电线路),在以往的开发过程中采用max197进行数据采集,但是max197不具备多通道同时采样保持功能,在转换时不能保证6个模拟量采样时间的一致性,影响了谐波分析的准确性。
在谐波分析仪的设计中,使用了ti公司的定点数字信号处理器tms320f206(采用20mhz有源晶体振荡器作为外部时钟)进行数据采集控制和分析,由于dsp需要对采样数据进行每周期64点的连续fft变换,运算比较复杂,所以最理想的采样数据位数应该为12位,留出4位作为运算时的溢出保护位,而不需要在软件设计过程中频繁地进行归一化处理,由于12位精度的ads7864具有6通道同时保持放大、适中的转换速率与精度以及双极性输入等特点,非常使用于电网谐波分析仪的数据采集。tms320f206(以下简称f206)与ads7864的接口示意图如图3所示。

在许多相关文献中,为保证dsp运行速度与a/d转换器响应速度相匹配,往往采用片内i/o口与a/d转换器接口,依靠软件实现a/d转换器的片选(cs)与数据读取控制(rd),这种方式虽然可保证操作的可靠性,但同时也占用了dsp上的i/o口资源,而且具有接口连接的a/d转换器数量非常有限。
经过仔细分析,在电网谐波分析仪的硬件设计中f206与ads7864仍然采用了传统的地址译码片选的接口方式,将f206的i/o空间选择端is与地址线ad12-ad15先输入可编程逻辑器件gal22v10,再输出片选信号cs,f206的rd端直接与ads7864的读数据控制端dr端连接。
由于f206外部数据总线为16位,可将ads7864的输出数据宽度控制端byte接地,16位输出直接与f206的数据总线相连。
由于在电网谐波分析中要求同时对三相电压、电流信号进行采集,所以ads7864的采样保持启动控制端holda、holdb、holdc直接与f206的io1端连接,当io1输出低电平时,同时启动三组6路信号的采样保持并进行转换。
在谐波分析仪的设计中,ads7864的数据读取采用地址模式,每次转换结束后,由ads7864的busy端通过反相器向f206的int2端发出中断信号,完成一次6路信号的采样转换共响应3次中断,在每次中断服务程序中读取相应地址的转换数据。
5 结束语
根据笔者长期的设计体会,在dsp与a/d转换器接口的硬件与软件设计过程中,有几个带有共性的问题需要引起足够的重视:
(1)地址建立时间对接口的影响
在微处理器系统中为保证正确读取数据,在读数据控制信号rd有效前,需要提前建立地址中线信号,这一时间称为地址建立时间,40mhz主频时,f206的地址建立时间最小值为8.5ns,而ads7864要求的地址建立时间至少为10ns(使用8mhz外部时钟时,下同)。显然,由于地址建立时间的约束,f206在40mhz主频时不能采用传统的地址译码片选方式与ads7864接口,为保证时序的要求,必须使用i/o口。
当f206工作在20mhz主频时,地址建立时间为21ns,则可以采用传统的地址译码片选方式与ads7864接口,这也是本文实际应用的接口方式。
(2)数据建立时间对接口的影响
为保证微处理器可靠地读取数据,在距读数据控制信号rd上升沿一段时间时,数据就应稳定地出现在数据总线上,这一时间称为数据建立时间,在ads7864中,要求读数据控制信号rd和片选信号cs在输出数据有效前必须保持低电平至少30ns,但是当工作在20mhz主频时,f206的读数据控制信号rd所能提供的数据建立时间在20mhz主频时最少为30ns,显然是不能可靠满足要求的,必须使用f206的软件状态等待发生器来产生等待信号以读取数据。
综上所述,在dsp与a/d转换器的接口设计中,只要仔细分析并充分考虑dsp运行速度与a/d转换器响应时间之间的关系,并充分发挥dsp上软件等待状态发生器的作用,完全可以采用传统的地址译码片选方式实现dsp与a/d转换器之间的可靠接口,从而节约宝贵的i/o口资源。
评论