引言
在变电站自动化系统中,常需要对多个三相电压电流信号进行数据采集和处理(如电能质量实时监控),这时需要实现对多路信号的同时、快速的数据采集。美国模拟器件公司(ADI)的AD76561是一款16位6通道的模/数转换芯片,内部含有6个独立的A/D转换器,可同时进行A/D转换,具有转换精度高、速度快、功耗低、输入模拟信号幅度大、信噪比高等优点,其突出特点是可通过多个AD76561级联形成菊花链实现多个通道同时进行数据采集,并通过一个或多个串口发送数据给主控处理器。以S3C2410A为主控处理器,多个AD76561组成菊花链实现多通道、高精度的ADC,在很大程度上可提高数据采集系统的信号采集和处理能力,具有较好的应用前景。
1AD76561的特点
图1为AD76561的内部功能框图。其主要特性为:
◆ 6个独立的16位逐次逼近(SAR)型模数转换器。
◆ 可通过引脚或软件方式设定输入信号的电压范围(±10 V,±5 V)。
◆ 最高吞吐率为250 ksps。
◆ 宽带宽输入高信噪比:输入频率为10 kHz时的信噪比(SNR)为88 db。
◆ 带有片上2.5 V 基准电压源和基准缓冲器。
◆ 低功耗,5 V供电时在250 kSPS下功耗仅为140 mW。
◆ 支持并行、串行及菊花链接口模式。
◆ 高速串行接口,兼容SPI/QSPI/MICROWIRE/DSP 。
◆ 采用iCMOS制造工艺,64引脚的LQFP封装。

图1AD76561的功能框图
应用领域: 输电线路监测系统、仪器仪表和控制系统、多轴定位系统。
2AD76561菊花链工作原理及其配置
2.1AD76561菊花链工作原理
AD76561有2种接口模式:串行接口模式和并行接口模式。在数据转换时,3个转换信号CONVSTA/B/C用来控制每对或每4个或每6个ADC同时采样。如果将3个CONVST引脚连接在一起接收同一个采样启动信号,就可使6个ADC同时进行采样,此时再将多个AD76561 级联就可以形成菊花链,实现6N(N=2,3,…,8)个ADC通道同时采样,如图2所示。在CONV STX的上升沿,ADC被置为保持模式,转换开始。CONVSTX的上升沿过后,BUSY信号变为高电平表明转换正在进行,3 μs后BUSY信号返回低电平表明转换结束。在BUSY信号的下降沿,ADC回到跟踪模式。数据可以通过1~3个串行接口从输出寄存器读出,并由主控处理器接收并存储。AD76561采用同步串行接口(SPI)发送数据时,每发送一个比特位数据就要花去一个单位的SCLK脉冲的时间,发送完6个通道的16位数据就要花去96个SCLK脉冲。菊花链中多个AD76561通过数据接力传递的方式把数据依次发送给主控处理器,通过采用多个串行接口发送数据可减少发送时间,提高菊花链的数据传递效率。AD76561串行数据输出接口及其对应的通道数据关系和发送所需的SCLK脉冲个数关系如表1所列。

图2多个AD76561组成的单串行输出菊花链
表1串行输出口、通道数据及所需SCLK脉冲个数的对应关系

2.2AD76561菊花链的配置
AD76561要工作在菊花链方式,其数据输出必须设置为串口模式,且在串口模式下,AD76561必须配置成硬件模式。所谓的硬件模式是通过对器件引脚的固定连接,确定AD76561芯片唯一的工作方式,此时AD76561也不能配置成软件工作模式了。AD76561菊花链配置的主要原则如下:
① 在多片级联的AD76561中,位于级联最远端的芯片不能配置为菊花链工作模式,即其DCEN引脚置低电平(数字地);但其下流数据链的每片AD76561必须配置为菊花链工作模式,即DCEN引脚都要置逻辑高电平(VDRIVE)。
② SEL A、SEL B、SEL C对应使能DOUT A、DOUT B、DOUT C串口输出口。要选用DOUT X串行输出口,就置对应的SEL X为逻辑高电平,其余不用的SEL引脚必须置逻辑低电平。图3(a)、(b)、(c)为1~3个串行输出口的引脚配置。(图中“NC”表示未连接)

图3串行输出线的引脚配置
③ 菊花链中的每片AD76561的串行数据输入/输出(DCIN X/DOUT X)必须遵循同一配置,即有几个DCIN输入就有几个DOUT输出。
④ 菊花链中的每块AD76561的CONVST X (X=A、B、C)都要接主控处理器发送来的CONVERT信号,即配置为每块AD76561的V1~V6通道同时采样。
3AD76561菊花链与S3C2410A接口设计
3.1硬件电路设计
采用2片AD76561配置成菊花链,可实现12通道同时采样,数据通过DOUT A口输出,S3C2410A用同步串行接口0(SPI0)接收数据,如图4所示。S3C2410A的GPE11引脚实现片上同步串行接口SPI0的MISO功能,GPE13(SCK)引脚实现SPI0接口的同步时钟输出,GPF0引脚配置为中断EINT0输入并与AD76561(1)的BUSY脚相连;GPB0设置为PWM输出,GPG9引脚设置为通用输出口,分别作为AD76561(1)和AD76561(2)的CONVST和CS的控制信号输入。AD76561连接外围电路图4两片AD76561组成的菊花链时,必须对关键引脚进行必要的设置:AD76561(1)、AD76561(2)的DVCC、AVCC、VDRIVE、REFIN/OUT和VSS引脚须并联一个1 μF的去耦电容;为了与S3C2410A的3.3 V的接口匹配, VDRIVE接+3 V电源;STBY接VDRIVE,选择正常模式;RANGE接地表示选择输入范围±10 V;/S接数字地选择为硬件配置; SER/PAR接VDRIVE,RD接数字地,选择为串行模式。AD76561(1)的DCEN接VDRIVE,配置为菊花链模式,且SEL A接VDRIVE,SEL B、C,DCIN A、B、C接数字地;AD76561(2)的DCEN接数字地,配置为非菊花链模式,且SEL A接VDRIVE,SEL B、C,DCIN B、C接数字地。具体配置如图5所示。

图42片AD7656-1组成的菊花链

图5AD75656外围电路及其与S3C2410A引脚连接电路
3.2 数据采集传输流程
通过定时器中断来控制信号的采样间隔,设定S3C2410A的定时器0作为采样定时器,并设置其工作于PWM方式,定时器0的PWM输出TOUT0作为AD76561的模数转换控制信号CONVST的输入,引脚GPF0(EINT0)设置为下降沿触发。A/D采样操作时序如图6所示。当采样定时器中断发生,TOUT0(引脚GPB0)输出高电平,发送CONVST信号给菊花链上的每个AD76561开始模数转换。3 μs后12个通道的数据全部转换完,BUSY信号从高电平向低电平转换,触发EINT0中断,开始数据传送;GPG9输出低电平给AD76561(1)和AD76561(2)的CS引脚,同时S3C2410A的SPI通道0开始读数据。读完12个通道的转换结果后,GPG9恢复高电平输出,TOUT0输出低电平,完成一次采样。等待下一个采样定时器中断发生,进行下一个采样。可通过设定定时器0的内部寄存器TCMPB0的值来控制TOUT0输出高电平的宽度TPH。
AD76561通过DOUT A发送采集到的数据给S3C2410A,其发送时序如图7所示。当BUSY从高电平返回低电平时表示转换结束,触发外部中断EINT0,通知S3C2410A启动SPI接收数据,CS信号变为低电平开始串行传输。在整个传输过程中,CS一直维持低电平,直到传输完为止。

图6A/D采样操作时序
3.3软件设计
在对三相交流电进行数据采集过程中,每个周期要求采样256点,即20 ms采样256点,也就是每78.125 μs采样一次。S3C2410A定时器0每78.125 μs发生一次定时中断,启动A/D转换。12个通道的数据全部转换完后,BUSY信号变低触发外部中断0,通知S3C2410A读取数据。S3C2410A输出片选信号CS给AD76561,并通过SPI0开始读取转换结果。SPI0配置为主入从出(MISO)和MDA接收模式,因其只接收数据,故需同时发送哑元 “0xFF”。 把12路数据读完,图7AD76561串行口数据发送时序退出中断,等待定时器下一次定时到,启动下一次转换。待256点数据转换完之后,暂停定时计数,进行数据处理。完成后再次启动定时,完成下一个周期的256点采集,流程如图8(a)所示。其包括两个中断子程序:采样定时器中断子程序,用于启动采样信号CONVST并给外部中断0置位,允许响应BUSY下降沿触发中断,如图8(b)所示;外部中断0(EINT0)子程序,用于启动SPI0接收数据,如图8 (c)所示。

图7 AD7656-1 串行口数据发送时序

图8数据采样传输流程
4结论
本文介绍了16位模数转换芯片AD76561的菊花链工作原理,设计了基于AD76561菊花链与S3C2410A数据采集接口,可实现12通道、高精度的ADC。SPI串行传输具有占用微处理器I/O资源少,硬件连接简单等特点。当菊花链中AD76561芯片数量较多时,为了提高数据传输效率并满足实时性要求,可以采用2个或3个串行口传输数据。主控处理器也可以采用DSP芯片,同样能实现菊花链。本设计方案可广泛应用于电力系统电能质量监控、变电站保护测控IED等嵌入式系统。