电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现Word格式.docx

上传人:b****3 文档编号:7068431 上传时间:2023-05-07 格式:DOCX 页数:10 大小:186.82KB
下载 相关 举报
电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现Word格式.docx_第1页
第1页 / 共10页
电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现Word格式.docx_第2页
第2页 / 共10页
电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现Word格式.docx_第3页
第3页 / 共10页
电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现Word格式.docx_第4页
第4页 / 共10页
电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现Word格式.docx_第5页
第5页 / 共10页
电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现Word格式.docx_第6页
第6页 / 共10页
电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现Word格式.docx_第7页
第7页 / 共10页
电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现Word格式.docx_第8页
第8页 / 共10页
电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现Word格式.docx_第9页
第9页 / 共10页
电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现Word格式.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现Word格式.docx

《电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现Word格式.docx》由会员分享,可在线阅读,更多相关《电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现Word格式.docx(10页珍藏版)》请在冰点文库上搜索。

电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现Word格式.docx

5.DSP参考代码10

6.参考文献12

1简介

1.1AD7606简介

AD7606是16位,8通道同步采样模数数据采集系统。

AD7606完全满足电力系统的要求,具有灵活的数字滤波器、2.5V基准电压源、基准电压缓冲以及高速串行和并行接口。

它采用5V单电源供电,可以处理±

10V和±

5V真双极性输入信号、同时所有通道均能以高达200kSPS的吞吐率采样。

图1AD7606的内部原理框图。

图2AD7606的管脚图。

•AVcc模拟电源,4.75V~5.25V

•Vdrive逻辑部分电源

•Vdd模拟输入部分正电压

•Vss模拟输入部分负电压

•DGND数字地

•AGND模拟地

1.2ADSP-21479简介

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

ADSP-21479是性能出色,266MHZ/1596MFLOP:

•266MHz/1596FLOPSSIMDSHARC内核,支持32-bit浮点、40-bit浮点以及16/32-bit定点数据类型

•支持多达5Mb片内SRAM

•支持16位宽SDR、SDRAM存储器接口

•数字应用接口DAI,支持多达8个的高速同步串口(SPORT)及SPI串口

•2个精确时钟发生器

•20线数字I/O端口

•3个定时器、UART、I2C兼容接口

•ROM/JTAG安全模式

•供应196引脚CSP_BGA封装与100引脚LQFP封装产品,适合于工业客户的要求

•供应商业级、工业级温度与汽车级温度等级产品

图3ADSP-21479的内部原理框图。

2AD7606和ADSP-21479配置与连接

AD7606芯片的供电采用单5V供电,见图4所示:

图4。

AD7606供电示意图。

AD7606采用硬件配置方式,具体配置如下:

1)设置RANGE=0时,模拟输入范围是±

5Vref。

2)设置/PAR/SER/BYTESEL为高电平,选择使用串行模式。

3)CONVSTA,CONVSTB,使用同源激励。

4)设置REFSELECT=0,使用外部参考电压

SHARCADSP-21479SRU设置:

SPORT0_SCLK◊DAIP1

SPORT0_FS◊DAIP4

SPORT0_DA◊DAIP5

FLAG4◊DPI_PIN1

FLAG5◊DPI_PIN2

根据以上配置,ADSP-21479通过SPORT口与AD7606联系的系统示意图如图5所示:

图5采用串行方式时,AD7606与ADSP-21479硬件连接示意图

3时序分析

AD7606工作时序如图6,通过DSP的FLAG信号驱动CONVSTA/B信号启动转换过程,BUSY标志着工作状态,连接到DSP的中断输入。

BUSY为高时表示处于转换状态,转换完毕后高到低的下降沿引起DSP中断,DSP在响应中断通过SPORT0读取8通道ADC转换好的数据。

图6AD7606串行读取数据时序

ADSP-21479SPORT口的时序如图7所示,在FS信号启动后,数据随着时钟节拍被读取。

我们选择SPORT数据宽度是32位,那么四次FS信号即可读取八个通道的数据。

图7ADSP-21479SPORT串行数据接收时序

4测试结果和结论

DSP软件设置50K的采样信号,对8个通道的数据进行同时采样。

各模拟通道输入信号分别为:

通道5连接1KHz正弦波,其余通道接地。

4.1测试结果

1)利用VDSP5.0++的plot窗口(VDSP->

View->

DebugWindows->

Plot)观察5通道数据,

1.通道5提取到1KHz正弦波;

4.2结论

这种连接方式只使用DSP的一个串行SPORT口即可同时读取8路ADC的数据。

但由于8路数据都通过一路数据输出给DSP,而AD7606支持的最高串行时钟频率有限,模数转换还要占用一部分采样周期,因此串行输出的连接下,AD7606不能工作在最高200KSPS采样率下。

根据AD7606数据手册,AD7606的SCLK上限为23.5MHz。

FLAG信号驱动CONVSTA/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个通道的数据,实际最高采样率能达到161KSPS。

当AD7606采用并行方式输出到DSP时,即可得到最高200KSPS采样率。

5DSP参考代码

1.配置SRU

//ThisfunctionwillsetuptheSRURegisters

voidInitSRU(void)

{

//GeneratingCodeforconnecting:

SPORT0_CLKtoDAI_PIN1

SRU(HIGH,PBEN01_I);

SRU(SPORT0_CLK_O,DAI_PB01_I);

SPORT0_FStoDAI_PIN4

SRU(HIGH,PBEN04_I);

SRU(SPORT0_FS_O,DAI_PB04_I);

DAI_PIN5toSPORT0_DA

SRU(LOW,PBEN05_I);

SRU(DAI_PB05_O,SPORT0_DA_I);

FLAG4toDPI_PIN1

SRU(HIGH,DPI_PBEN01_I);

SRU(FLAG4_O,DPI_PB01_I);

FLAG5toDPI_PIN2

SRU(HIGH,DPI_PBEN02_I);

SRU(FLAG5_O,DPI_PB02_I);

}

2.IRQ1BUSY中断服务程序

voidAD7606_BUSY_IRQs(intsig_int)

busy++;

interrupt(SIG_SP0,Count_SPORT0_RX_IRQs);

#ifdefDMA

*(volatileint*)SPCTL0=(SPEN_A|SLEN32|ICLK|IFS|LAFS|SDEN_A|FSR|DITFS|LFS);

#endif

#ifdefCORE

*(volatileint*)SPCTL0=(SLEN16|ICLK|IFS|FSR|LAFS|LFS|DITFS);

*(volatileint*)SPCTL0|=SPEN_A;

3.SPORT初始化程序

voidinit_sport(){

*(volatileint*)SPCTL0=0;

*(volatileint*)SPCTL1=0;

*(volatileint*)SPMCTL0=0;

*(volatileint*)SPMCTL1=0;

SPORT_DMA_setup:

*(volatileint*)IISP0A=(int)rx_buf0a;

*(volatileint*)IMSP0A=1;

*(volatileint*)CSP0A=CHNUM;

//configurethesport

/**/

/*CLKDIV0=[fCCLK(266MHz)/4xFSCLK(17MHz)]-1=0x0005*/

/*FSDIV0=[FSCLK(10MHz)/TFS(2MHz)]-1=31=0x001F*/

//13mhz1m0x00080003;

/*ConfigureSPORT0asareciever(Rx)*/

*(volatileint*)DIV0=0x001F0005;

4.SPORT中断程序

voidCount_SPORT0_RX_IRQs(intsig_int)

SP0I_counter++;

#ifdefCORE

rx_buf0a[(SP0I_counter-1)*CHNUM]=(short)(*pRXSP0A);

*(volatileint*)SPCTL0=0;

finished=1;

if(SP0I_counter==1024){

SP0I_counter=0;

else

*(volatileint*)IISP0A=(int)(rx_buf0a+(SP0I_counter)*CHNUM);

#endif

interrupt(SIG_SP0,SIG_IGN);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2