其中的n是抽样等级。这个抽样滤波器是由软硬件协同工作完成的。式(1)中分母部分的二次积分项由硬件实现,分子部分的二次差分项的抽样率计算由软件实现。
2.2 动态可重新配置功能
嵌入式系统设计人员利用PSoC架构的灵活性,在单个器件上动态地创建多种
配置,这是PSoC可编程片上系统的另一大特点。可以想象。这如同用FPGA进行设计,既使是在系统运行时,也可以对其硬件进行升级或重新配置。动态重新配置功能使设计人员能多次、重复使用芯片内的模拟与数字资源,而无需增加成本和元件库。
下面以PGA模块为例,说明其动态配置功能。
(1)PGA模块的资源及参数配置
PSoC微处理器中的PGA模块拥有高的输入阻抗、宽的带宽增益和可动态配置的增益参数,其功能建立在模拟连续时间CT模块的基础之上。通过对CT模块的三个控制寄存器的配置,支持增益输出或衰减输出、配置信号输入端口和输出端口。完成一个PGA配置,需占用微处理器的内部资源为:1个CT连续时间模拟模块、1个外部I/O引脚以及生成PGA应用程序API所需的52字节的Flash。图3为可编程增益放大器PGA的结构框图。
对于增益≥1的运算放大器,可编程电阻风、Rb、Ra串联,Rb一端连到放大器的输出端。Ra一端连接VGND,VGND有多种选择,用户可根据不同需要将VGND接数字地、模拟地、内部带隙电压或外部输人电压信号;Rb与Ra中间连接端连到放大器的负反馈输人端。由此,可推出放大器的传输函数如下:
对于增益<1的衰减运算放大器,需配置成电压跟随器,可编程电阻Rb一端连到放大器的输出端,Ra一端连到VGND,Rb与Ra中间连接端连到用户模块输出端。由此,可推出负增益放大器的传输函数如下:
在应用中,PGA模拟模块的输入端、增益参数、输出端都可进行动态配置。其输入端可以和一个模拟信号输入引脚连接,也可以动态地将此PGA模块与另一个模拟信号输入引脚相连接,在不同时刻完成对多路模拟输入信号的放大工作,而无需在单个器件上配置多个PGA模块;其增益参数也可以动态调节(从负增益0.06倍到最大正增益48倍),极方便地拓展了PGA模块的输入电压范围;其输出端也可以按需要动态地接到输出引脚、A/D模块输入端或滤波器。其动态重配置部分的程序如下:
3 CY8C24223在感烟火灾探测器中的应用
光电感烟火灾探测器应用散射原理,将烟雾浓度的变化转化为微弱的光电信号,经放大和滤波处理后,进行A/D转换,完成对烟雾浓度的检测,实现火灾报警功能。感烟火灾探测器的工作原理框图如图4所示。
目前,光电感烟火灾探测器多使用带A/D转换的普通嵌入式微处理器,需通过外部电路完成信号的放大和滤波处理工作。在产品的原理设计过程中,需要反复对外部电路作硬件参数调整;在PCB板布线时,又要注意避免来自空间及器件间的电磁干扰。可以肯定,要解决这些问题是件非常复杂而费时的工作。 当选用CY8C24223芯片作为探测器的微处理器时(虚线框内为PSoC芯片内所具有的模块功能),与选用带A/D功能的微处理器相比,节省了大量的外部资源,如放大器及其相关元器件、滤波元器件等等。设计人员可在PSoC的设备编辑器中,通过配置模拟模块阵列和数字模块阵列完成信号放大、滤波、模/数转换、数据存储、通信等工作,并避免了由于放大器等外围器件在PCB布线时造成的电磁干扰问题。更为重要的是,用户可根据环境的变化,如白天与夜晚、洁净空间与污染空间,动态配置放大器的增益系数,并实现多路模拟信号输入的检测,以降低火灾探测器的误报率。
在探测器的快速原型设计中,通过片上系统的可编程混合信号阵列的集成应用及动态配置,极大提高了工作效率,使开发成本降低了1/2,PCB的板级空间缩减了l/3,生产成本降低了1/10。
结 语
PSoC方便、快捷的设计界面,面向对象的设计开发系统,混合信号阵列的模块化及动态可配置功能使其在嵌入式系统应用中拥有更为灵活的设计方式,使设计人员能够随意创建新的系统功能。利用PSoC可以快速、便捷地完成相应程序的开发工作,缩短产品的研发周期,降低开发成本和生产成本。