发 帖  
[问答]

FPGA调试AD9910的DRG模式,使用非驻留高位斜坡

19477 AD9910
已退回16积分
2022-6-23 15:53:41   4 评论 分享淘帖 邀请回答 举报
4 条评论
  • sc
    2022-6-29 10:05

    有没有人能给点建议 ADI的大佬们

  • sc
    2022-6-29 10:06

    有没有人能给点建议 ADI的大佬们

  • 2022-7-8 06:50

    在数字斜坡调制模式中,调制的DDS信号控制参数由数字斜坡发生器(DRG)直接提供。

    1,通过控制斜坡发生参数,用户可以控制斜坡的上升和下降斜率。
    2,DRG的斜坡特性参数可完全编程。包括:可以通过编程实现控制斜坡的上限值,下限值,,正/负斜率斜坡的步长和步率单独控制。斜坡方向由DRCTL引脚控制。此引脚上逻辑0可使DRG生成负斜率斜坡,逻辑1产生正斜率斜坡。另外,DRG还支持由DRHOLD引脚控制的保持功能。当此引脚设为逻辑1时,DRG停留在最后的状态中;否则,DRG会正常工作。非DRG目的位定义的DDS信号控制参数取自有效profle。


    ————————————————
    版权声明:本文为CSDN博主「寒听雪落」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/wangjie36/article/details/107891470
    3,斜坡方向(上升或下降)通过DRCTL引脚外部控制。

    用户使 用DRHOLD附加引脚还能保持斜坡发生器的当前状态。

    幅度控制必须通过CFR1寄存器中的OSK使能位开启。
    直接数字频率合成器(DDS)模块产生参考信号(正弦或余弦 取决于使能正弦输出位0x00[16])。
    4,DDS信号的相对相位通过16位的相位偏移字(POW)来控制。相位偏移在DDS内核角度幅度转换模块之前产生。相 对相位偏移(Δθ)可由以下公式计算:其中:上部相位偏移值的单位是弧度,下部单位是度数。

    对于任意给定的Δθ,可利用上述公式求出POW,再将结 果四舍五入即可(方法与计算任意FTW类似)。

    DDS信号的相对幅度范围(相对于满量程)可由12位幅度比 例因子(ASF)进行数字化控制。幅度范围值在DDS内核角度 幅度转换模块输出时产生。幅度范围的计算公式为:
    5,DRG斜率控制

    控制DRG的主要是数字斜坡使能位(0x01[19])。禁用该位 后,DRG其他的输入控制会被忽略,内部时钟关闭节能。

    其中:P和N是保存在32位数字斜坡率寄存器中的两个16位 数值,用于控制步进间隔。N指负斜率斜坡的步进间隔。P 指正斜率斜坡步进间隔。 用STEPN或 STEPP替换下列公式中的M,可以计算实际频率、相位和 幅度步长

    相位和幅度步长公式计算的结果是平均步长。虽然步长累加精度可达32位,相位和幅度分别只用到16位或12位。因此,实际相位或幅度步长会根据目的控制位将累加的32位值截取为16位或12位结果。步进间隔由16位可编程定时器控制。有三种情况会造成定时器超时前重载。第一种情况是数字斜坡使能位由0变为1,随后进行I/O更新。第二种情况是DRCTL引脚状态发生改变。第三种情况是在I/O更新位中加载LRR (0x00[15])。


    ————————————————
    版权声明:本文为CSDN博主「寒听雪落」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/wangjie36/article/details/107891470
    6,正常斜坡发生

    正常斜坡发生指两个非驻留位全部清0(详情请参见“非驻留斜坡发生”部分)。在图38中,给出了一个斜坡波形例子及其所需控制信号:最上面的图线为DRG输出;下一条图线是DROVER输出引脚状态(假定DRG过输出使能位已设置);剩余轨迹为控制位和控制引脚;另外,相关斜坡参数也予以了标注(上下限值、步长和正负斜率斜坡的Δt)。在图的底部,带圆圈数字标明了各种具体事件。不同数字编号表示的事件(事件1,等等),将在下面的段落进行说明。
    ————————————————
    版权声明:本文为CSDN博主「寒听雪落」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/wangjie36/article/details/107891470
    7,非驻留斜坡发生

    CFR2中的非驻留高位和非驻留低位(0x01[18:17])增大了DRG的应用灵活性。在正常斜坡发生过程中,当DRG输出达到编程设定的上限值或下限值时,如果工作参数不发生变化,DRG会始终保持该限值输出。不过,在非驻留操作中,DRG输出不一定保持在上下限值。例如,设置数字斜坡非驻留高位,则当达到上限值时,DRG会自动(立即)跳到下限值(这一过程并非以斜坡方式返回下限值,而是直接跳至下限值)。类似的,数字斜坡非驻留低位置1后,当DRG达到下限值时,DRG会自动(立即)跳到上限值。在非驻留操作期间,仅监控DRCTL引脚的状态变化;也就是说,静态逻辑电平不会产生影响。
    在非驻留高位操作期间,DRCTL引脚正向转换时,会启动正斜率斜坡,在达到上限值之前会始终以正斜率斜坡输出(不受任何DRCTL引脚活动影响)。在非驻留低位操作期间,DRCTL引脚负向转换时,会启动负斜率斜坡,在达到下限值之前会始终以负斜率斜坡输出(不受任何DRCTL引脚活动影响)。设置两个非驻留位会调用连续斜坡运行模式;也就是说,DRG通过编程斜率参数自动在两个限值之间振荡输出。另外,DRCTL引脚功能也略有不同。由原来控制斜坡序列初始化变成只改变斜坡方向;也就是说,当DRG输出处于正斜率斜坡中间时,DRCTL引脚从逻辑1变成逻辑0,那么DRG会立即切换成负斜率参数,恢复在两个限值之间振荡输出。类似的,如果DRG输出处于负斜率斜坡中间,DRCTL引脚由逻辑0变为逻辑1,那么DRG会立即切换成正斜率参数,恢复在两个限值之间振荡输出。当两个非驻留位同时设置时,每次DRG输出达到编程设定的上限值或下限值后(假定DRG过输出使能位(0x01[13])已设置),DROVER信号会产生一个正脉冲(两个DDS时钟周期)。
    ————————————————
    版权声明:本文为CSDN博主「寒听雪落」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/wangjie36/article/details/107891470

    sc 回复 何燕: 2022-7-10 10:49

    我现在就是OSK控制幅度没控制上,起始于截至幅度不能保持为0

2个回答
2022-7-11 06:09:51 1 评论

举报

1 条评论
  • sc
    2022-7-12 09:29

    大佬 目前我已经调出来了 只是起始截至幅度不是从0开始,到0结束,请问osk怎么控制 能给个时许图吗

2022-8-11 09:10:40 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

您需要登录后才可以回帖 登录/注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
快速回复 返回顶部 返回列表
关注微信公众号

电子发烧友网

电子发烧友论坛

社区合作
刘勇
联系电话:15994832713
邮箱地址:liuyong@huaqiu.com
社区管理
elecfans短短
微信:elecfans_666
邮箱:users@huaqiu.com
关闭

站长推荐 上一条 /6 下一条

快速回复 返回顶部 返回列表