2. 配置IIRFA(上)
本节介绍IIRFA模块的用户可配置设置。其中详细说明了所有限制并讨论了各种操作方法之间的差别,以指导您为您的应用选择最佳配置。
2.1 模块设置
IIRFA配置
可以使用e2 studio将IIRFA模块添加到FSP Configuration(FSP配置)> Stacks(堆)选项卡(通过New Stack(新堆)> DSP > IIR Filter Accelerator(IIR滤波器加速器)(r_iirfa)。表1列出了可配置的模块设置,可在Stacks Configuration(堆配置)的Properties(属性)> Settings(设置)中更改这些设置。
表1. Configuration.xml中可以进行的设置
点击查看大图
级设置
一个双二阶IIR滤波器操作称为级,级联的级称为通道。IIRFA可以进行以下级设置:
• 最多可级联32个级(注:32个级可用于所有配置的通道。换言之,所有滤波器的滤波阶数的最大总和为64。)
• 可以为每个通道选择要级联的级
• 每个级的系数和延迟数据可以独立设置
中断
在IIRFA处理期间会产生以下中断:
• 输出数据准备完成中断
• 过程完成中断
• 操作错误中断
• ECC错误中断
表2列出了中断源:
表2. IIRFA的中断源
点击查看大图
舍入模式
IIR滤波器加速器模块的I/O数据、级系数和延迟数据以IEEE 754标准中指定的单精度浮点格式保留。浮点计算设置为在内部以额外的精度进行,然后进行舍入以适合目标类型。IIR滤波器加速器模块支持两种舍入模式,可在Stacks Configuration(堆配置)选项卡的Properties(属性)> Settings(设置)中选择。下文对每种模式及其对滤波处理的影响进行简要描述。
舍入为最接近值
在此模式下,结果舍入为最接近的可表示值。如果结果介于两个可表示值之间,则选择平均值。平均值的最低有效位为0。这种舍入模式最精确,可以防止在有很多计算的中间值的情况下出现统计偏差。
舍入为零
在此模式下,结果会向零舍入,即在所有情况下都被截断为最接近零的可表示值。
2.2 操作方法
2.2.1 通道处理操作过程
通道处理是在对通道的输入寄存器执行写访问时执行的一系列操作。通道使用的所有级的操作在通道处理期间按顺序执行。如果输出数据操作在通道处理的中期完成,即,在通道处理完成标志 (IIRCHnSTS.CPRCFF) 为1之前,则输出数据准备完成标志 (IIRCHnSTS.ORDYF) 为1,并且输出数据 (IIRCHnOUT) 寄存器可读。
最多可同时处理的通道数为1。通道按顺序处理。如果在任何通道的通道处理期间对输入数据 (IIRCHnINP) 寄存器执行写访问,则总线访问将被强制等待,直到正在执行的通道处理完成。
未完待续
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !