当前位置:首页 > 电源 > 数字电源
[导读]内 容1. 简介 3 1.1 AD7606简介 3 1.2 ADSP-21479简介 4 2. AD7606和ADSP-21479配置与连接 5 3. 时序分析 6 4. 测试结果和结论 7 4.1测试结果 7 4.2结论 10 5. DSP参考代码 10 6. 参考文献 12 1. 简介

内  容

1. 简介 3
1.1 AD7606简介 3
1.2 ADSP-21479简介 4
2. AD7606和ADSP-21479配置与连接 5
3. 时序分析 6
4. 测试结果和结论 7
4.1测试结果 7
4.2结论 10
5. DSP参考代码 10
6. 参考文献 12

 

1. 简介
1.1  AD7606简介
 AD7606是16位,8通道同步采样模数数据采集系统。AD7606完全满足电力系统的要求,具有灵活的数字滤波器、2.5V基准电压源、基准电压缓冲以及高速串行和并行接口。它采用5V单电源供电,可以处理±10V和±5V真双极性输入信号、同时所有通道均能以高达200kSPS的吞吐率采样。
 
图1  AD7606的内部原理框图。
 
图2  AD7606的管脚图。
• AVcc 模拟电源,4.75V~5.25V
• Vdrive 逻辑部分电源
• Vdd 模拟输入部分正电压
• Vss 模拟输入部分负电压
• DGND 数字地
• AGND 模拟地

1.2  ADSP-21479简介
ADSP-21479是SIMD (单指令多数据)SHARC家族中的一员,它基于65nm的最新工艺,具有低成本,低功耗的的特点,是一颗集成有大容量片上SRAM和ROM的32/40位浮点DSP。ADSP-21479是性能出色,266MHZ/1596MFLOP:

• 266 MHz/1596FLOPS SIMD SHARC内核,支持32-bit浮点、40-bit浮点以及16/32-bit定点数据类型
• 支持多达5 Mb 片内SRAM
• 支持16位宽SDR、SDRAM存储器接口
• 数字应用接口 DAI,支持多达8个的高速同步串口(SPORT)及SPI串口
• 2个精确时钟发生器
• 20线数字I/O端口
• 3个定时器、UART、I2C兼容接口
• ROM/JTAG安全模式
• 供应196引脚CSP_BGA封装与100引脚LQFP封装产品,适合于工业客户的要求
• 供应商业级、工业级温度与汽车级温度等级产品

 
图3  ADSP-21479的内部原理框图。[!--empirenews.page--]

2. AD7606和ADSP-21479配置与连接
AD7606芯片的供电采用单5V供电,见图4所示:
 
图4。AD7606供电示意图。
AD7606采用硬件配置方式,具体配置如下:
 1) 设置RANGE=0时,模拟输入范围是±5Vref。
2) 设置/PAR /SER/BYTE SEL为高电平,选择使用串行模式。
    3) CONVSTA, CONVSTB ,使用同源激励。
4) 设置REF SELECT=0 ,使用外部参考电压

SHARC ADSP-21479 SRU设置:
 SPORT0_SCLK  DAIP 1
 SPORT0_FS    DAIP 4
SPORT0_DA    DAIP 5
FLAG4     DPI_PIN1 
FLAG5     DPI_PIN2
根据以上配置,ADSP-21479通过SPORT口与AD7606联系的系统示意图如图5所示:
 
图5  采用串行方式时,AD7606与ADSP-21479硬件连接示意图

3. 时序分析
AD7606工作时序如图6,通过DSP的FLAG信号驱动CONVST A/B信号启动转换过程,BUSY标志着工作状态,连接到DSP的中断输入。BUSY为高时表示处于转换状态,转换完毕后高到低的下降沿引起DSP中断,DSP在响应中断通过SPORT0读取8通道ADC转换好的数据。
 
图6  AD7606串行读取数据时序

ADSP-21479 SPORT口的时序如图7所示,在FS信号启动后,数据随着时钟节拍被读取。 我们选择SPORT数据宽度是32位,那么四次FS信号即可读取八个通道的数据。
 
图7  ADSP-21479 SPORT串行数据接收时序[!--empirenews.page--]

4. 测试结果和结论
DSP软件设置50K的采样信号,对8个通道的数据进行同时采样。各模拟通道输入信号分别为:通道5连接1KHz正弦波,其余通道接地。
4.1 测试结果
1) 利用VDSP5.0++ 的plot窗口(VDSP->View->Debug Windows->Plot)观察5通道数据,
1. 通道5提取到1KHz正弦波;

 

 4.2 结论
这种连接方式只使用DSP的一个串行SPORT口即可同时读取8路ADC的数据。但由于8路数据都通过一路数据输出给DSP,而AD7606支持的最高串行时钟频率有限,模数转换还要占用一部分采样周期,因此串行输出的连接下,AD7606不能工作在最高200KSPS采样率下。
根据AD7606数据手册,AD7606的SCLK上限为23.5MHz。FLAG信号驱动CONVST A/B信号,单路串行输出八通道数据。不考虑转换时间最高采样率可达23500000/(16×8)=183.5kHz,由于每个周期数据转换将消耗一定时间,所以实际无法达到此速度。假设采样周期用Tconvst表示,根据AD7606数据手册,模数转换时间为3.45us,所以 Tconvst-3.45us代表采样周期中传输数据的时间。八通道总数据量为128个时钟周期,所以(Tconvst-3)/128近似为每bit数据的时钟周期。由于SCLK最大为23.5MHz,据此可以推算出此模式下最高采样频率:
(Tconvst(max)-3.45)/128 = 1/23.5
Tconvst(max)≈8.89us
即最高采样率为1/ Tconvst(max) = 112KSPS
同理可知,若采用两口同时输出转换数据,即启动2个SPORT分别读取8个通道的数据,实际最高采样率能达到161K SPS。

当AD7606采用并行方式输出到DSP时,即可得到最高200KSPS采样率。
5. DSP参考代码
1. 配置SRU
// This function will setup the SRU Registers
void InitSRU(void)
{
 //Generating Code for connecting : SPORT0_CLK to DAI_PIN1
 SRU (HIGH, PBEN01_I);
 SRU (SPORT0_CLK_O, DAI_PB01_I);

 //Generating Code for connecting : SPORT0_FS to DAI_PIN4
 SRU (HIGH, PBEN04_I);
 SRU (SPORT0_FS_O, DAI_PB04_I);

 //Generating Code for connecting : DAI_PIN5 to SPORT0_DA
 SRU (LOW, PBEN05_I);
 SRU (DAI_PB05_O, SPORT0_DA_I);
 

 //Generating Code for connecting : FLAG4 to DPI_PIN1
 SRU (HIGH, DPI_PBEN01_I);
 SRU (FLAG4_O, DPI_PB01_I);

 //Generating Code for connecting : FLAG5 to DPI_PIN2
 SRU (HIGH, DPI_PBEN02_I);
 SRU (FLAG5_O, DPI_PB02_I);


}
2. IRQ1  BUSY中断服务程序
void AD7606_BUSY_IRQs(int sig_int)
{
 busy++;
 interrupt(SIG_SP0,Count_SPORT0_RX_IRQs);
#ifdef DMA 
 * (volatile int *)SPCTL0 =( SPEN_A | SLEN32 | ICLK | IFS | LAFS |  SDEN_A | FSR  | DITFS| LFS ); 
#endif 
#ifdef CORE
  * (volatile int *) SPCTL0 =( SLEN16 | ICLK | IFS | FSR | LAFS | LFS | DITFS);
  *(volatile int *) SPCTL0 |=SPEN_A ;
#endif
}
3. SPORT初始化程序
void init_sport(){
  * (volatile int *) SPCTL0 = 0;
  * (volatile int *) SPCTL1 = 0;
  * (volatile int *) SPMCTL0 = 0; 
  * (volatile int *) SPMCTL1 = 0; 
SPORT_DMA_setup:
 
  * (volatile int *) IISP0A =(int)rx_buf0a ;
  * (volatile int *) IMSP0A = 1;         
     * (volatile int *) CSP0A = CHNUM;

  //configure the sport   
  /* */
  /* CLKDIV0=[fCCLK(266 MHz)/4xFSCLK(17 MHz)]-1 = 0x0005 */
  /* FSDIV0=[FSCLK(10 MHz)/TFS(2 MHz)]-1 = 31 = 0x001F */
  //13m hz 1m   0x00080003;       
   /* Configure SPORT0 as a reciever (Rx) */
  * (volatile int *) DIV0 = 0x001F0005; 
          

}
4. SPORT 中断程序
void Count_SPORT0_RX_IRQs(int sig_int)
{
 SP0I_counter++; 
#ifdef CORE 
 rx_buf0a[(SP0I_counter-1)*CHNUM]=(short)(*pRXSP0A);
#endif 
 * (volatile int *) SPCTL0 =0;
 finished=1;
#ifdef DMA 
  
   if(SP0I_counter==1024){
  * (volatile int *) IISP0A =(int)rx_buf0a ;
  SP0I_counter=0;
  }
 else 
  * (volatile int *) IISP0A =(int)(rx_buf0a+ (SP0I_counter)*CHNUM);
 * (volatile int *) IMSP0A = 1;         
    * (volatile int *) CSP0A = CHNUM;
     
#endif
 interrupt(SIG_SP0,SIG_IGN);
}


 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

5月8日,中星联华技术支持总监苏水金给带来《精密测试关键技术大揭秘!》,详解中星联华超低相噪微波信号源的6大核心特色,助您快速精准测试,解决尖端测试的苛刻要求。

关键字: ADC 自动编程 相噪

ADC(Analog to Digital Converter, 模数转换器), 用于实现模拟信号向数字信号的转换。A/D转换的作用是将时间连续、幅值也连续的模拟信号(电信号)转换为时间离散、幅值也离散的数字信号(二进制...

关键字: ADC 转换原理 模拟信号

稳压器是电力系统中至关重要的设备之一,它的主要功能是稳定输出电压,确保负载获得恒定、符合要求的电压供给,避免因电网电压波动或负载变化引起的供电不稳定情况。本文将详细阐述稳压器的工作原理、分类、使用方法以及应用场景。

关键字: 稳压器 电力系统

电压互感器,在电力系统中扮演着至关重要的角色,是保证电力系统安全运行、准确测量、有效保护和自动控制的关键元件。本文将深入探讨电压互感器的作用及其工作原理。

关键字: 电压互感器 电力系统

在电力系统中,断路器作为一种关键的电气保护设备,起着至关重要的作用。它能够在电路发生故障时迅速切断电源,保护电路和相关设备不受损坏。本文将对断路器的原理进行深入探讨,包括其工作原理、类型、应用以及未来发展趋势等方面,以期...

关键字: 断路器 电力系统 保护电路

在电力系统中,高压电看门狗是一个重要的安全保护装置,它扮演着守护电网安全稳定运行的关键角色。然而,由于其专业性较强,很多人对其正规名称及其功能并不十分了解。本文旨在详细解析高压电看门狗的正规名称,并深入探讨其工作原理、应...

关键字: 电力系统 高压电看门狗 高压线路保护装置

在科技日新月异的今天,电力作为现代生活的基石,其安全性与稳定性日益受到人们的关注。漏电保护器,作为一种重要的电力安全设备,在保障人们生命财产安全方面发挥着不可替代的作用。然而,在实际使用过程中,漏电保护器跳闸的现象时有发...

关键字: 漏电保护 电力系统

一直以来,ADC模数转换器都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来模数转换器的相关介绍,详细内容请看下文。

关键字: ADC 模数转换器

随着电力电子技术的快速发展,NC稳压电源作为重要的电力供应设备,在各个领域得到了广泛应用。然而,在实际使用过程中,NC稳压电源三相不平衡问题时常出现,这不仅影响了电源的稳定性和可靠性,还可能对用电设备造成损害。因此,研究...

关键字: 电力电子 汽车 电力系统

在电力系统中,零线接地是一个非常重要的安全问题。正确的零线接地可以确保电力系统的稳定运行,防止电气事故的发生。然而,由于各种原因,零线接地可能会出现问题,如接地不良、接地电阻过大等。这些问题可能导致电气设备的损坏、火灾甚...

关键字: 电力系统 零线接地 接地装置
关闭
关闭