12位A/D转换器ADS7864在电网谐波分析仪中的应用
ADS7864是Burr-Brown公司开发的12位6通道A/D转换器,介绍了ADS7864的工作原理、内部结构、工作模式及编程要点,给出了ADS7864在电网谐波分析仪中与数字信号处理器TMS320F206的接口应用实例,并且对DSP与A/D转换器的接口特点进行了总结。
关键词:ADS7864;A/D转换;数字信号处理器;谐波分析仪
1 引言
随着用电量的增加,电网的谐波污染变得日益严重,这就要求电力监控设备能够及时准确地对电网谐波分量进行监测。在笔者研制的电网谐波分析仪中,使用ADS7864对各相关点的波形信号进行采集。实践表明,ADS7864的采样精度及稳定性是令人满意的。
ADS7864是Burr-Brown公司(已被德州仪器收购)开发的12位6通道A/D转换器,其主要特点如下:
6个模拟输入通道同时采样与保持;
2μs转换时间,500 kS/s采样速率;
全差分输入;
功耗低,为50mW;
6个FIF0寄存器;
全硬件控制。
2 内部结构和引脚说明
图1所示为ADS7864内部结构框图,该器件含有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的引脚封装图,其引脚说明如表l所示。
ADS7864既可以使用内部参考电压源,也可以使用外部参考电压源。从图1可以看出,当使用内部2.5 V参考电压源时,REFOUT引脚应该连接至REFIN引脚,这是一种常用方式。当输入模拟信号为2.4V~5.2 V之间时,可以使用1.2 V~2.6 V范围内的外部参考电压源。
ADS7864只采用外部时钟(CIDCK),当外部时钟为8 MHz时,A/D采样速率为500 kHz,与2μs的最小转换时间相对应。
3 工作及控制模式
与MAXl97不同,ADS7864不采用寄存器进行转换控制,而是完全依靠外部引脚进行控制,虽然控制比较简单,但是却需占用部分硬件资源。
(1)A/D转换的启动
ADS7864的转换启动控制使用HOLDx引脚(HOLDA、HOLDB、HOLDC),将一个或者所有的HOLDx信号拉低,则相应通道x的输入数据立即被置为保持模式,通道x的转换随即开始。如果其他通道已处于保持模式但还没有开始转换,通道x的转换则需列队等候直到上一轮转换完成为止。如果在一个时钟周期内不止一个通道进入保持模式,并且HOLDA也是被触发的保持信号时,通道A将首先开始转换,接着是通道B,最后是通道C。一旦某个特定的保持信号变为低,其随后的脉冲将被忽略,直到这次转换完成或器件复位。
在转换完成时(BUSY信号变高),采样开关将关闭并且对选择的通道进行采样。延迟随后的转换,以便对ADS7864的输入电容完全充电。延迟时间取决于驱动放大器,但应该至少有175 ns。
(2)转换结果的读取
ADS7864有3种不同的数据输出模式,用A2、A1和A0引脚选择。如表2所列。
第一种是地址模式,在(A2 Al A0)=从000到101时,可以直接对特定的通道寻址。该通道的地址在RD的下降沿之前应保持至少10 ns,并且只要RD为低就不能改变。
第二种是循环模式,在(A2 A1 AO)=110时,接口以循环模式工作。此时,数据在第一个RD信号时从通道AO读取,接着是通道A1,随后是B0、B1、CO,最后是Cl(再次读取A0之前)。在一个复位信号之后或者对器件上电之后,通道A0的数据首先输出。
第三种是FIFO模式,在(A2 A1 A0)=11l时,该模式中,先读取首先被转换的数据。此时,如果某个特定的通道最受关注、转换较频繁(例如,获取特定通道的历史记录),则每个通道就有3个输出寄存器用于存储数据。
ADS7864的输出为16位,12位输出数据存储于DBll(最高有效位)到DB0(最低有效位)。当DBll~DB0输出有效数据时,DBl5为l。这点对于FIFO模式非常重要。在DBl5变为O之前可以读取有效数据。DBl4、DBl3、DBl2输出通道地址,其具体信息与表2中A2、A1、AO的地址设置相对应。
为了增加设计的灵活性,ADS7864支持不同宽度的数据总线。当数据宽度控制端BYTE被置为高电平时,ADS7864的16位数据输出端直接与16位数据总线相连;当BYTE端被置为低电平时,可以与8位数据总线连接,在第一个RD信号时低8位数据在输出引脚DB7到DB0上读取,第二个RD信号时则读取高8位数据。
4 在电网谐波分析仪中的应用
电网谐波分析需要采集的数据包括三相线路的电压、电流共6个量(对于每条输电线路),在以往的开发过程中,采用MAXl97进行数据采集,但是MAXl97不具备多通道同时采样保持功能,在转换时不能保证6个模拟量采样时间的一致性,影响了谐波分析的准确性。
在谐波分析仪的设计中,使用了TI公司的定点数字信号处理器TMS320F206(采用20 MHz有源晶体振荡器作为外部时钟)进行数据采集控制和分析,由于DSP需要对采样数据进行每周期64点的连续FFT变换,运算比较复杂,所以最理想的采样数据位数应该为12位,留出4位作为运算时的溢出保护位,而不需要在软件设计过程中频繁地进行归一化处理。由于12位精度的ADS7864具有6通道同时保持放大、适中的转换速率与精度以及双极性输入等特点,非常适用于电网谐波分析仪的数据采集。TMS320F206(以下简称F206)与ADS7864的接口示意图如图3所示。
经过仔细分析,在电网谐波分析仪的硬件设计中F206与ADS7864仍然采用了传统的地址译码片选的接口方式,将F206的I/O空间选择端IS与地址线ADl2~ADl5先输入可编程逻辑器件GAL22V10,再输出片选信号CS。F206的RD端直接与ADS7864的读数据控制端RD端连接。
由于F206外部数据总线为16位,可将ADS7864的输出数据宽度控制端BYTE接地,16位输出直接与F206的数据总线相连。
由于在电网谐波分析中要求同时对三相电压、电流信号进行采样,所以ADS7864的采样保持启动控制端HOLDA、HOLDB、HOLDC直接与F206的I01端连接,当I01输出低电平时,同时启动三组6路信号的采样保持并进行转换。
在谐波分析仪的设计中,ADS7864的数据读取采用地址模式,每次转换结束后,由ADS7864的BUSY端通过反相器向F206的INT2端发出中断信号,完成一次6路信号的采样转换共响应3次中断,在每次中断服务程序中读取相应地址的转换数据。
5 结束语
根据笔者长期的设计体会,在DSP与A/D转换器接口的硬件与软件设计过程中,有几个带有共性的问题需要引起足够的重视:
(1)地址建立时间对接口的影响
在微处理器系统中为保证正确读取数据,在读数据控制信号RD有效前,需要提前建立地址总线信号,这一时间称为地址建立时间。在40 MHz主频时,F206的地址建立时间最小值为8.5 ns,而ADS7864要求的地址建立时间至少为10 ns(使用8MHz外部时钟时,下同)。显然,由于地址建立时间的约束,F206在40 MHz主频时不能采用传统的地址译码片选方式与ADS7864接口,为保证时序的要求,必须使用I/0口。
当F206工作在20 MHz主频时,地址建立时间为2l ns,则可以采用传统的地址译码片选方式与ADS7864接口,这也是本文实际应用的接口方式。
(2)数据建立时间对接口的影响
为保证微处理器可靠地读取数据,在距读数据控制信号RD上升沿一段时间时,数据就应稳定地出现在数据总线上,这一时间称为数据建立时间。在ADS7864中,要求读数据控制信号RD和片选信号CS在输出数据有效前必须保持低电平至少30 ns,但是当工作在20 MHz主频时,F206的读数据控制信号RD所能提供的数据建立时间在20 MHz主颍时最少为30 ns,显然是不能可靠满足要求的,必须使用F206的软件状态等待发生器来产生等待信号以读取数据。
综上所述,在DSP与A/D转换器的接口设计中,只要仔细分析并充分考虑DSP运行速度与A/D转换器响应时间之间的关系,并充分发挥DSP上软件等待状态发生器的作用,完全可以采用传统的地址译码片选方式实现DSP与A/D转换器之间的可靠接口,从而节约宝贵的I/O口资源。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)