USB论坛
直播中

曹玥

7年用户 168经验值
私信 关注
[经验]

基于AD7656-1级联形成菊花链实现多通道数据采集

作者:温小旭 林知明 辛柒荣

引 言
  
在变电站自动化系统中,常需要对多个三相电压电流信号进行数据采集和处理(如电能质量实时监控),这时需要实现对多路信号的同时、快速的数据采集。美国模拟器件公司(ADD的AD7656-1是一款16位6通道的模/数转换芯片,内部含有6个独立的A/D转换器,可同时进行A/D转换,具有转换精度高、速度快、功耗低、输入模拟信号幅度大、信噪比高等优点,其突出特点是可通过多个AD7656-1级联形成菊花链实现多个通道同时进行数据采集,并通过一个或多个串口发送数据给主控处理器。以S3C2410A为主控处理器,多个AD7656-1组成菊花链实现多通道、高精度的ADC,在很大程度上可提高数据采集系统的信号采集和处理能力,具有较好的应用前景。
  
1 AD7656-1的特点
  
图1为AD7656-1的内部功能框图。其主要特性为:
  
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封装。

应用领域:输电线路监测系统、仪器仪表和控制系统、多轴定位系统。


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



 
2.2 AD7656-1菊花链的配置
  
AD7656-1要工作在菊花链方式,其数据输出必须设置为串口模式,且在串口模式下,AD7656-1必须配置成硬件模式。所谓的硬件模式是通过对器件引脚的固定连接,确定AD7656-1 芯片唯一的工作方式,此时AD7656-1也不能配置成软件工作模式了。AD7656-1菊花链配置的主要原则如下:
  
①在多片级联的AD76561中,位于级联最远端的芯片不能配置为菊花链工作模式,即其DCEN引脚置低电平(数字地);但其下流数据链的每片AD7656-1必须配置为菊花链工作模式,即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”表示未连接)

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


  
3.2 数据采集传输流程
  
通过定时器中断来控制信号的采样间隔,设定S3C2410A的定时器0作为采样定时器,并设置其工作于PWM方式,定时器0的PWM输出TOUTO作为AD7656-1的模数转换控制信号CON-VST的输入,引脚GPFO (EINTO)设置为下降沿触发。A/D采样操作时序如图6所示。当采样定时器中断发生,TOUTO(引脚GPBO)输出高电平,发送CONVST信号给菊花链上的每个AD7656-1开始模数转换。3μs后12个通道的数据全部转换完,BUSY信号从高电平向低电平转换,触发EINTO中断,开始数据传送;GPG9输出低电平给AD7656-1(1)和AD7656-1(2)的CS引脚,同时S3C2410A的SPI通道0开始读数据。读完12个通道的转换结果后,GPG9恢复高电平输出,TOUTO输出低电平,完成一次采样。等待下一个采样定时器中断发生,进行下一个采样。可通过设定定时器0的内部寄存器TC-MPBO的值来控制TOUTO输出高电平的宽度TPH。

  
AD7656-1通过DOUT A发送采集到的数据给S3C2410A,其发送时序如图7所示。当BUSY从高电平返回低电平时表示转换结束,触发外部中断,EINTO,通知 S3C2410A启动SPI接收数据,CS信号变为低电平开始串行传输。在整个传输过程中,CS一直维持低电平,直到传输完为止。

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

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

http://www.eeworld.com.cn/mndz/2009/0717/article_1613.html

更多回帖

发帖
×
20
完善资料,
赚取积分