PSoC的继承开发环境与开发关键
PSoC的继承开发环境与开发关键摘要:PSoC微处理器是Cypress公司推出的一种现场可编程片上系统。片内备有通用模拟和数字模块,用户可根据开发需要,随意调用模块,实现混合信号阵列的动态配置。文中详细阐述其与众不同的集成开发环境、混合信号阵列的系统级集成方式、动态可重新配置功能,并以CY8C24223芯片在感烟火灾探测器中的应用为倒,说明上述功能的优异性。
关键词:可编程片上系统PSoC混合信号阵列 动态配置 感烟火灾探测
PSOC微处理器拥有多系列、多规格的应用芯片,以满足不同用户的不同层次的需要,如CY8C26XXX/CY8C24XXX/CY8C22XXX等等。它的出现使设计者逐步摆脱了板级电子系统设计方法层次而进入芯片级电子系统设计,减少了单片机的品种和规格,同时更有利于新品开发和升级换代。与同种价位的普通单片机比较,其丰富的内部资源、新颖的设计界面、灵活的设计方式、简单的编程技巧都使其极具特点。文中以CY8C24223为例,介绍一种典型应用——基于PSoC可编程片上系统的感烟火灾探测器。它将对烟雾变化信号的放大、处理、模数转换功能集成到微处理器的内部完成,减少了芯片的外围器件,提高了系统整体的集成性能。
1 内部资源及开发环境
1.1 内部资源介绍
PSoC内部有一个高速M8C内核、快闪内存和SRAM数据内存,以及可进行多种配置的模拟模块阵列和数字模块阵列;内核采用Haryard结构,具有独立的程序存储器和数据存储器总线,处理器工作频率可达到24 MHz。对于不同系列、不同型号的片上系统,其内部资源配置不同。以CY8C24223芯片为例,内部具有4 KB的Flash以及256 B的片内SRAM数据存储器;4个数字模块、6个模拟模块;16个通用I/0口,最大输出电流可达25 mA,每个I/O口引脚均可通过编程设置,所有I/O口引脚都能作为中断源;具有存储字节可变的EEPROM模块和ISSP串行编程功能。
1.2 集成开发环境lDE
用于PSoC的集成开发环境PSoC Designer是一种功能齐全、基于Gul的设计工具套件。它分为设备编辑子系统、应用编辑子系统和调试程序子系统。其界面将根据不同的子系统而被分割成多个活动窗口。其中最具特色的是设备编辑子系统,具有相当的灵活性和可操作性,如图l所示。
用户可通过选择和放置用户模块、配置参数、连接模块、定义引脚功能、生成应用文件API来最终完成设备编辑工作。在产品的开发研制过程中,无论是更改设计原理还是更改设计参数,都无需在PCB板上进行,而只需借助简单的鼠标点击选项就可对硅片进行重新配置,快速、简单地完成产品的功能块选用以及功能块之间的连线。
2 PSoC片上系统的开发关键
2.1 混合信号阵列的系统级集成
用户的模拟模块阵列和数字模块阵列的可配置性是这一可编程片上系统的最大特点,它不同于FPGA或CPLD嵌入式片上系统。FPGA与CPLD是对逻辑门阵列进行现场编辑,而PSoC‘微处理器不仅能对数字模块进行动态配置,同时也能对模拟模块进行动态配置,实现混合信号阵列的系统级集成。
在应用时,片上系统中的数字模块阵列可配置成多种功能,如定时/计数器、UART、SPI、CRC发生器、PWM等等;模拟模块阵列可配置成具有不同工作方式的ADC、可编程增益放大器PGA、比较器、可编程滤波器、DAC等等。通过用数字模块配置的定时器作为ADC的采样频率等等类似方法,实现数字模块阵列和模拟模块阵列的集成应用,使PSoC微处理器具有强大的混合信号阵列的系统级集成功能。
PSoC微处理器的模块功能中,最简单的混合信号集成功能的应用是A/D转换器。PSoC微处理器支持多种A/D转换器,如14位递增式、11位△-∑ADC、8位逐次逼近式ADC和6位SAR-ADC。用户可根据A/D转换精度和转换时间的设计要求,设置不同工作方式的A/D模块。以配置一个8位△-A/D转换器为例,转换器需占用微处理器的内部资源为:1个数字模块、1个开关电容模拟SC模块、1个外部模拟输入引脚,以及生成8位△-ΣA/D转换器应用程序API所需的8字节的内部RAM和143字节的Flash。
图2是一个8位△-∑A/D转换器的结构框图。它由模拟开关电容SC模块、8位定时器和抽样器各一个组成。模拟开关电容SC模块完成信号的采集与转换工作;8位定时器用于配置数据时钟信号来控制采样速率,采样速率为O.125 ksps~31.25 ksps;△-∑型ADC里的抽样器实际上是一个SINC2滤波器。在x域,它的传递函数如下:
其中的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中间连接端连到用户模块输出端。由此,可推出负增益放大器的传输函数如下:
(2)PGA模块的动态配景
在应用中,PGA模拟模块的输入端、增益参数、输出端都可进行动态配置。其输入端可以和一个模拟信号输入引脚连接,也可以动态地将此PGA模块与另一个模拟信号输入引脚相连接,在不同时刻完成对多路模拟输入信号的放大工作,而无需在单个器件上配置多个PGA模块;其增益参数也可以动态调节(从负增益0.06倍到最大正增益48倍),极方便地拓展了PGA模块的输入电压范围;其输出端也可以按需要动态地接到输出引脚、A/D模块输入端或滤波器。其动态重配置部分的程序如下:
M8C_SetBankl
and reg.OOh ;设置Po引脚与内部PGA模块连接
M8C_SetBank0
mov A,PGA_1_G5_3
call PGA_1_setGaln;调用PGA模块的APl程序,设置PGA
;模块的放大倍数为5.33倍
lcall sample ;对P0引脚的模拟输入信号放大后进行
;采样
lcall delay50ms ;延时
M8C_SetBartkl
or reg,80h;动态配置PGA模块与Po引脚连接
M8C_SetBankO
mov A,PGA_l_G48_O
caIl PGA_1_setGain ;动态配置PGA模块的放大倍数为48倍
lcaIl samplc ;对P0引脚的模拟输入信号放大后进行采样
3 CY8C24223在感烟火灾探测器中的应用
光电感烟火灾探测器应用散射原理,将烟雾浓度的变化转化为微弱的光电信号,经放大和滤波处理后,进行A/D转换,完成对烟雾浓度的检测,实现火灾报警功能。感烟火灾探测器的工作原理框图如图4所示。
目前,光电感烟火灾探测器多使用带A/D转换的普通嵌入式微处理器,需通过外部电路完成信号的放大和滤波处理工作。在产品的原理设计过程中,需要反复对外部电路作硬件参数调整;在PCB板布线时,又要注意避免来自空间及器件间的电磁干扰。可以肯定,要解决这些问题是件非常复杂而费时的工作。
当选用CY8C24223芯片作为探测器的微处理器时(虚线框内为PSoC芯片内所具有的模块功能),与选用带A/D功能的微处理器相比,节省了大量的外部资源,如放大器及其相关元器件、滤波元器件等等。设计人员可在PSoC的设备编辑器中,通过配置模拟模块阵列和数字模块阵列完成信号放大、滤波、模/数转换、数据存储、通信等工作,并避免了由于放大器等外围器件在PCB布线时造成的电磁干扰问题。更为重要的是,用户可根据环境的变化,如白天与夜晚、洁净空间与污染空间,动态配置放大器的增益系数,并实现多路模拟信号输入的检测,以降低火灾探测器的误报率。
在探测器的快速原型设计中,通过片上系统的可编程混合信号阵列的集成应用及动态配置,极大提高了工作效率,使开发成本降低了1/2,PCB的板级空间缩减了l/3,生产成本降低了1/10。
结 语
PSoC方便、快捷的设计界面,面向对象的设计开发系统,混合信号阵列的模块化及动态可配置功能使其在嵌入式系统应用中拥有更为灵活的设计方式,使设计人员能够随意创建新的系统功能。利用PSoC可以快速、便捷地完成相应程序的开发工作,缩短产品的研发周期,降低开发成本和生产成本。 谢谢分享1:D
页:
[1]