DFB的模块结构 -- 地址计算单元

[复制链接]
 楼主| 关小波522 发表于 2015-6-30 18:40 | 显示全部楼层 |阅读模式
DFB通过使用两个地址计算单元ACU来支持有限形
式的地址产生。它也支持复杂的分支来支持IIR滤波。
ACU能保存和恢复状态,地址以n递增,标记一个可编程
停止计数和其它功能。使用下面的寄存器:
 楼主| 关小波522 发表于 2015-6-30 18:41 | 显示全部楼层
1)REG:保存ACU正在操作的当前值,然后在每个
时钟周期输出该值,除非命令指明是其它的值。
        2)FREG:当使用ADDF和SUBF命令时,加载递增/
递减的值。比如:加载2到FREG,可能将数据RAM的值
增加2;
        3)MREG:当打开取模算术时,在回卷到LREG值以
前,保存最大的值。
        4)LREG:当打开取模算术时,在回卷到MREG值以
前,保存最小的值。
使用SETMODE ACU命令和UNSETMOD命令使能/
禁止取模算术运算。取模操作禁止ACU对超过MREG寄存
器的内容递增和对低于LREG寄存器的内容进行递减。
        注意:当使用取模运算,并且当前的地址在LREG到
MREG的范围之外时,ACU将产生不希望的结果。
        在硬件复位或者当DEC_CR寄存器的RUN位为0时,
初始化ACU,初始化为:
       ACU_RAM Contents=0,MREG=127,LREG=0,FREG=2。
 楼主| 关小波522 发表于 2015-6-30 18:41 | 显示全部楼层
ACU当前的地址和寄存器的状态能通过汇编指令
保存到存储器,或者从存储器恢复过来(使用上下文切
换)。一个16x14的ACU RAM用于这个目的。高7位用于
ACU B,低7位用于ACU A,这样每个ACU能保存16个
地址或者状态。
        ACU指令对数据RAM的地址递增/递减(或根据
FREG寄存器的值)操作。除此外,取模运算用于在用户
定义的范围内进行一个回绕操作。
飞翔的控制器 发表于 2015-7-3 10:14 | 显示全部楼层
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

58

主题

564

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部