《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > PSoC3和PSoC5的嵌入式数字滤波技术
PSoC3和PSoC5的嵌入式数字滤波技术
来源:维库开发网
摘要: 在定义关系密切的 PSoC3 和 PSoC5系列产品时,赛普拉斯的架构师决定不再在竞争激烈的市场中仅仅提供一款同质化的产品。不管采取什么架构,硬件的功能都应重点用于高效地实现有用的工作目的。我们希望PSoC 真正成为片上可编程解决方案,能够解决实际客户遇到的实际问题。为了给新一代 PSoC器件提供更强的解决问题的功能,我们采用了一系列独特的外设和信号处理块,既有模拟的,也有数字的。本文将重点讨论这些大幅简化采集信号数字滤波工作的信号处理块,并讨论该技术已经在其中证明自身实力的一些应用。
Abstract:
Key words :

   带模数前端的低成本微控制器近年来得到迅速推广,人们通常称之为“混合信号微控制器”。当然,赛普拉斯的 PSoC3 和新近推出的PSoC5 器件集成了强大的CPU 和业界领先的ADC,其性能可超过分离式外部转换器。不过,PSoC3 和 PSoC5并不仅仅是一般的混合信号微控制器。传统设备当然可以将外部模拟信号转换为数字信号。数据采集进程并不是全部目的之所在,它只是通过数据采集提取所采集数据背后含义并确定如何处理数据的一种方式。如果提取含义所需的信号处理工作量非常大的话,就会对固件工程师构成挑战,因为这种提取工作要与一般性工作任务使用相同的处理器,而处理器在支持终端设备所需的一般性任务之外还要完成新的工作任务。
    在定义关系密切的 PSoC3 和 PSoC5系列产品时,赛普拉斯的架构师决定不再在竞争激烈的市场中仅仅提供一款同质化的产品。不管采取什么架构,硬件的功能都应重点用于高效地实现有用的工作目的。我们希望PSoC 真正成为片上可编程解决方案,能够解决实际客户遇到的实际问题。为了给新一代 PSoC器件提供更强的解决问题的功能,我们采用了一系列独特的外设和信号处理块,既有模拟的,也有数字的。本文将重点讨论这些大幅简化采集信号数字滤波工作的信号处理块,并讨论该技术已经在其中证明自身实力的一些应用。
    嵌入式数字滤波的架构增强
    首先,我们为什么希望使用嵌入式滤波器而不是将信号处理指令集成到普通的微控制器中呢?究其原因就是项目设计层面和系统集成层面的分区问题。在项目开发过程中,项目的规模、目标和整体架构经常发生变化。单核单片式编码项目要想跟上这种变化的速度,着实是一个挑战,尤其是目前的项目常常是由非集中化的多个不同设计团队一起完成的,这更增加了相关的难度。在块层所使用的功能元件中嵌入信号处理,能确保项目管理在元件设计层面实现分支,同时也能确保在算法改变时,信号处理负载发生的差异不会影响通信管理等时间关键性任务。
    数字滤波器块 (DFB) 是首款PSoC3 和 PSoC5系列产品中支持嵌入式数字滤波的硬件元素,这是一款连接于外设总线的小型数字滤波器引擎。实际上,它是存储器、MAC、ALU和微代码控制库的紧密组合,其 VLIW 架构能支持不同的操作,如 24 位 x 24 位到 48位乘法和加法等能以系统时钟速率并行执行,在 PSoC3 中的频率可高达 67MHz,而在 PSoC5 中的频率则可达80MHz。数据和系数存储在一对专门的本地 128x24位存储器中,并能在整个系统总线上进行存取。许多滤波拓扑都能在这一结构上高效编码。配合嵌入式数字滤波应用 DFB 的是通用数字块 (UDB) 阵列。它在多功能架构中结合了 PLD 和数据路径/ALU块,既能用于数字数据源集和汇集连接,也能用于高时钟速率重复结构,如级联积分器/梳状滤波器 (CIC)和噪声成形数字转换器。
    在 PSoC3 和 PSoC5 系统中如何使用嵌入式数字滤波
    数字滤波器块可通过几种方式使用。PSoC Creator中集成的滤波器设计工具支持拖放工作方式,将数字滤波包括到信号流程中来。启动时 PSoC Creator 配套提供了专用的FIR 滤波器“组件”,在系统中可以像其他块一样使用。该组件能对信号应用多种不同滤波器,既能单独使用,也能组合使用。图1显示了该组件的屏幕截图,从中我们看出它在 PSoC Creator项目中的使用情况以及设置属性的配置窗口。今后,更多滤波器拓扑和互动滤波器设计向导还将添加到 PSoC Creator中。

                  图 1:PSoC Creator 中的标准 FIR 滤波器组件
    与第一代 PSoC 产品一样,我们的客户和我们自己的系统工程师一直期待着全新 PSoC3和 PSoC5 应用的到来。PSoC 的核心理念一直是推出灵活的产品,支持在产品设计时还暂未设想到的全新应用。这种灵活性同样适用于数字滤波器块等功能块。我们已经用该块开发了几款定制应用,并作为组件实施于
PSoC Creator 原理图中。由于信号处理与主 CPU 相分离,我们能通过一系列 Creator 组件实现 IP 的重复使用,而全部设计人员都能共享这些组件。
    使用 PSoC3/5 的高性能嵌入式滤波示例
    “时间校正”滤波器——多相内插
     如果用 PSoC3 来满足近期电表读取应用的概念设计要求,我们需要补偿单 Δ-Σ ADC的通道间计时偏置,满足多相电压和电流多路复用的要求。如果不纠正上述时差的话,系统准确性就会在加载低功耗因数期间快速下降,而且在线路频率高谐波的功耗估算也会出问题。数字滤波器块非常适用于 FIR 滤波器,我们用它来创建多相内插滤波器。在我们的原型设计*有四个通道,每个通道有 20 个抽头 (tap)。该滤波器从单 ADC获得多路复用的数据流,将其“解包”为四个新的数据流,上述解包通道的信号延迟有差别,就好像信号同时被四个采样 ADC捕获一样,需要对采样时间进行校正。图 2 显示了四输入多路复用转换器顺序采样相同(带限)信号所得的四个数据集。
                  图 2:ADC 的四个顺序多路复用输入获得相同的信号
    图 3 显示了内插滤波器系统的四个输出,我们看到底层带限波形在形状和计时方面都已经得到了准确重构。这种方法使单个高品质ADC 能满足极高的计量准确性要求,支持各种相关功率因数和谐波频率要求。这种方法对其他需要高效同时采样的应用而言同样适用。
                  图 3嵌入式多相内插滤波器消除了偏差。
    用于功率计的其他滤波器
    数字滤波器块在我们的计量设计中还提供了另外两种有用的滤波器功能。首先,为了支持“经典”基本无功功率的准确计算,我们采用了计算机优化的相移滤波器。大多数商业计量芯片都使用时间延迟或积分器来提供所需的 90 度相移。前一种方法的振幅特性曲线是平的,但在线路频率值不准确时会造成相移不准。后一种方法会出现相反的问题,也就是说,相总是准确的,但振幅则会根据频率出现变化,这样导致的结果是它只能满足要求最不严格的计量应用,但对其他应用都不适用。上述两种方法对我们来说都不适用。
     我们嵌入了在整个线路频率范围上都超出了最严格的无功功率准确度要求的 6 极点 IIR 滤波器(图 4 和图5),从而避免使用会消耗整个系统处理功率的希尔伯特变换器方法。此外,我们的方法还具有低通特性,可大幅减弱电流波形中的谐波,使无功功率估算能获得基本信息。
                  图 4 和图 5:频率为 50Hz 的专用  n="6" 嵌入式 IIR 精确正交生成器。
     现代电表应用中还有一个重要的频率响应整形电路,即补偿 di/dt 类型电流感应器(如罗氏线圈或 Sentec Mobius)频率响应所需的积分器。这种电路的低频响应上升会加重前端本身的低频模拟噪声问题。这对标准的有源功率测量不构成问题,但客户对扩大电流检测动态范围的需求越来越高,以便确保电力基础设施的视在功率和有效耗散得到准确计算。在电流极低的情况下,积分器的噪声组件会导致电流测量出现较高的误差。
    此外,由于增益不能无限上升,否则 DC 增益就会无限加大,因此积分器在传统器件中会降低到较低的频率,这就会产生对高精度应用而言非常明显的相误差问题。为了支持 IIR滤波器,用来限制低频响应(根据前端设计的不同,集成噪声性能提升了 9 ~ 15dB),同时还能在工作频带中提供理想积分器的振幅和相响应,实现比作为参照的“标准”计量芯片(图 6  中的绿色迹线)更高的准确性。上述所有信号处理工作都由数字滤波器块在高品质 Δ-Σ 调制器提供的相关多路复用信号上自动实施,不需要处理器的干预。
    图 6:嵌入式 IIR 滤波的高准确度低噪声积分器(蓝色迹线)
     通信滤波器和检测器
   IEC 61334-5 SFSK 电力线通信标准在计量应用中非常流行,它采用了 SFSK(Spread FSK)标准。该标准是从FSK(频率移动键控)发展而来的,其中标记频率和空间频率的距离比通常的数据速率要大得多。如果抵达信号被一对锐带通滤波器拆分,只挑出标记或空间频率分量,则数据调制就能从两个通道之一中独立提取出来。由于在滤波器频率响应不重叠的情况下,单音调干扰源不能同时阻止两个通道的解调制,因此这有助于提高抗干扰能力。基于相关器的传统 FSK 解调器不能实现这么出色的抗干扰性。
    图 7 和图 8显示了常见标记/空间频率对情况下,一对设计用于数字滤波器块的滤波器频率响应。上述滤波器可方便地进行重新配置,随时满足不同频率和带宽要求。在实际实施方案中,滤波器从主ADC之一获得输入,而在此之前需要通过围绕 PGA(可编程增益放大器)构建 AGC 电路。
                  图 7和图 8:60/73kHz SFSK 的嵌入式分割滤波器;2x n="8" IIR,速度为 384ksps。
     为了从滤波后的信号中提取数据,要对每个信号的绝对值进行校正(在数字滤波器块中设置适当控制寄存器位即可实现)。
                  图 9:极端过载条件下从两个滤波器通道中检测到的输出
     校正信号通过同样运行在数字滤波器块上的低通滤波器,并同跟踪信号电平的阈值进行比较。在我们希望构建的 PSoC5  实施方案中,每个通道的 SNR 由通用数字块逻辑加以估算,数据传递给标准内部UART,所有这些都无需 CPU 的一般干预。图9 显示了交叉频率为 66.5kHz 且存在 +30dB 干扰音时,在最终输出处对调制信号检测到的响应。两个数据流均未受影响。精确音频均衡器(图形均衡、段均衡和任意均衡) PSoC3 和 PSoC5 数字滤波功能结合灵活的可编程通用数字块,可为消费音频产品和配件设计提供可扩展的灵活平台。为了演示PSoC3 的音频滤波功能,我们设计了一款运行在数字滤波器块上的立体声十频段图形均衡器,其滤波器系数由 CPU  通过远程应用提供的目标增益值即时计算得出。立体声音频编解码器通过标准的I2S 接口连接到PSoC3。该设计与通过单一本地晶体生成所有标准音频主时钟频率的频率合成系统共同实施在通用数字块阵列上,其抖动较低,能够满足优质音频回放的要求。该合成系统可同步于一般数字接口格式的成帧模式。
                  图 10和图 11:PSoC3 中嵌入式滤波的触摸控制频率响应
    在 44.1kHz 采样率下,十频段立体声均衡器使用数字滤波器块大约一半的可用资源。系数计算例程可从本地控制(如 CapSense 按钮和滑条)以及通过远程接口提供的控制协议动态地获得更新信息。图 10 给出了演示应用的屏幕截图,该演示运行在一款著名音乐播放器上,它嵌入了控制均衡器所设置的算法,可确保系统频率响应精确通过滑块的“增益点”,并实时调节频率响应。出于比较目的,图  11 显示了原始的滤波器模拟。这种超级精确的频率响应控制简化了“复杂的”喇叭外壳声学设计,也有助于车内驾驶员子系统和公共广播应用的设计工作。
    在用户偏好均衡完成之后,数字滤波器块还能剩下足够的资源来实施多频段交叉滤波器组。输出结果可通过多个 I2S 接口提供给外部  DAC  或数字放大器。我们可以通过驱动频率响应实现非常精微的控制,确保对接装置、微型立体声设备和平板电视等的小型多路声学设计能获得优质效果。通过管理用户界面、通信和电源的同一设备,高通道数分布式音响加强和消息系统也能受益于这种简化的频率响应调节技术。
    结论
    本文仅简要介绍了嵌入式数字滤波技术。由于篇幅所限,我们没有深入讨论“立体声增强”功能、数字麦克风的抽选滤波器以及设计人员已经开始在其中挖掘PSoC3 和 PSoC5 强大信号处理功能的多种工业感应器调节和医疗应用领域。
    嵌入强大的数字滤波引擎是 PSoC 设计理念的全新元素,它与业界领先的信号路径灵活性、ADC 性能以及 PSoC3 和PSoC5 的可编程逻辑块多功能性完美结合。嵌入式数字滤波配合全新 PSoC Creator 设计范例可实现多种应用的转型,并大幅降低系统成本,加快产品投放市场的速度。
此内容为AET网站原创,未经授权禁止转载。