电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现.docx
- 文档编号:11098172
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:10
- 大小:186.82KB
电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现.docx
《电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现.docx》由会员分享,可在线阅读,更多相关《电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现.docx(10页珍藏版)》请在冰豆网上搜索。
电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现
电力系统中多通道同步采样AD7606与浮点DSP通信的设计与实现
————————————————————————————————作者:
————————————————————————————————日期:
电力系统中多通道同步采样ADC(AD7606)与浮点DSP(ADSP-21479)通信的设计与实现
内容
1.简介3
1.1AD7606简介3
1.2ADSP-21479简介4
2.AD7606和ADSP-21479配置与连接5
3.时序分析6
4.测试结果和结论7
4.1测试结果7
4.2结论10
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);
//GeneratingCodeforconnecting:
SPORT0_FStoDAI_PIN4
SRU(HIGH,PBEN04_I);
SRU(SPORT0_FS_O,DAI_PB04_I);
//GeneratingCodeforconnecting:
DAI_PIN5toSPORT0_DA
SRU(LOW,PBEN05_I);
SRU(DAI_PB05_O,SPORT0_DA_I);
//GeneratingCodeforconnecting:
FLAG4toDPI_PIN1
SRU(HIGH,DPI_PBEN01_I);
SRU(FLAG4_O,DPI_PB01_I);
//GeneratingCodeforconnecting:
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;
#endif
}
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);
#endif
*(volatileint*)SPCTL0=0;
finished=1;
#ifdefDMA
if(SP0I_counter==1024){
*(volatileint*)IISP0A=(int)rx_buf0a;
SP0I_counter=0;
}
else
*(volatileint*)IISP0A=(int)(rx_buf0a+(SP0I_counter)*CHNUM);
*(volatileint*)IMSP0A=1;
*(volatileint*)CSP0A=CHNUM;
#endif
interrupt(SIG_SP0,SIG_IGN);
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电力系统 通道 同步 采样 AD7606 浮点 DSP 通信 设计 实现