完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,我现在有一款关于AD9915的应用,原理图如下
程序代码如下: /*延时程序*/ void SDelay(int32 len) { while(len>=0) { len--; } } /*AD9915复位*/ void ResetAd9915() { RESET_H; Delay(10000); RESET_L; SCLOCK_L; ST1_H; FUD_L; } /*AD9915 FUD信号*/ void WriteSCBandFUD() { ST1_H; FUD_L; FUD_H; SDelay(500); FUD_L; SDelay(500); } /*AD9915写一字节程序*/ void Write1Byte(uint8 byte) { uint8 temp1 = 0x80; uint32 i; ST1_L; SDI_L; for(i=0 ; i<8 ; i++) { if((byte&temp1) == 0x0) SDI_L; else SDI_H; SCLOCK_L; SDelay(10); SCLOCK_H; SDelay(10); SCLOCK_L; temp1 = temp1>>1; } temp1 = 0x80; } /*AD9915写五字节程序*/ void Write5Byte(uint8 addr, uint8 byte0, uint8 byte1, uint8 byte2, uint8 byte3) { Write1Byte(addr); Write1Byte(byte0); Write1Byte(byte1); Write1Byte(byte2); Write1Byte(byte3); WriteSCBandFUD(); } /*AD9915初始化程序*/ void InitAd9915() { ST1_L; Write5Byte(0x00,0x00,0x01,0x00,0x08); Write5Byte(0x01,0x00,0x00,0x09,0x00); Write5Byte(0x02,0x00,0x00,0x19,0x1c); Write5Byte(0x03,0x01,0x05,0x31,0x20); Write5Byte(0x03,0x00,0x05,0x31,0x20); Write5Byte(0x0b,0x21,0xea,0x35,0x93); Write5Byte(0x0c,0x00,0x00,0x00,0x00); ST1_H; } /*频率改变,对应AD9915输出频率改变的算法*/ void Change_Freq(void) { uint32 nFreq,nFref; uint8 d0,d1,d2,d3; nFreq = (fp64)(Frequency - Freq_L); if (nFreq<1500000) nFref = (nFreq/100000.0 + 41.4)*9162596; //nFref = (nFreq/100000.0 + 41.4)*16/3*1717986,这里鉴相频率为输出频率除以3,即为DDS的输出频率,1717986为POWER(2,32)/2500M else nFref = (nFreq/100000.0 + 41.4)*6871947; //nFref = (nFreq/100000.0 + 41.4)*16/4*1717986这里鉴相频率为输出频率除以4,即为DDS的输出频率, d0 = nFref & 0xff; d1 = (nFref>>8)&0xff; d2 = (nFref>>16)&0xff; d3 = (nFref>>24)&0xff; ST1_L; Write5Byte(0x0B,d3,d2,d1,d0); ST1_H; } 但是最终无输出,想请教专家是何原因?谢谢 |
|
相关推荐
4个回答
|
|
您好,您的问题已经提交给ADI相关专家,将邀请专家尽快回答您的问题。谢谢!
|
|
|
|
|
|
|
|
|
|
|
|
建议你可以试一下把R4,R5两个电阻换成小一点的,比手册上建议值小一点
|
|
|
|
只有小组成员才能发言,加入小组>>
400 浏览 0 评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1299 浏览 2 评论
ADP5092 SYS端口为2.09V,但是REG_OUT为0是什么原因?
1897 浏览 1 评论
ad7193差分输入ain1与ain2差是正值时,读到电压与实际值误差小,但为负值值,误差就变的很大
4237 浏览 2 评论
8997 浏览 1 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
1424浏览 3评论
AD7190状态寄存器一直是0x80,连续转换模式下RDY不拉低
1646浏览 2评论
1619浏览 2评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1300浏览 2评论
214浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 04:10 , Processed in 0.916820 second(s), Total 85, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号