使用PSoC 3和PSoC Creator简化应用设计
PSoC®3的系统资源提供了多种可选频率的时钟系统以供数字系统和模拟系统使用,除此之外,还包含了内部晶振,内部复位电路,WatchDog模块,低电压检测模块,休眠模块等必要系统功能。
3. PSoC Creator使用介绍
针对PSoC®3包含的众多数字模块和模拟模块,Cypress提供了集成开发环境PSoC Creator。PSoC Creator将硬件资源抽象成了众多的功能模块(Component),每个模块实现一种基本功能,例如PWM模块,I2C模块,基本与门,中断响应模块,输入输出管脚等等。设计者像绘制原理图一样,选择适当模块,将其输入输出与其他模块连接,然后通过每个模块提供的图形化配置向导设置模块参数,之后编写适当的软件代码,即可实现所需功能。这种模块化的设计方法令设计者能够将更多精力集中在实现应用的功能上,而无需关注许多底层硬件配置细节。
图 3是使用PSoC Creator开发应用的屏幕截图,此应用使用了三个PWM模块,分别输出三个PWM信号至芯片管脚上,为了令PWM模块工作,需要提供一个时钟和复位信号(图中左侧),图中间三个绿色的矩形是三个PWM模块,右侧一个粉色的矩形包含三个芯片输出管脚,图中绿色的连线代表通过芯片内部互联系统将PWM的输出连至芯片管脚,此外,图 3最右侧的树状结构列出了可以使用的功能模块列表。图 4是配置PWM模块时的配置向导,在该向导中,可以设置PWM是8位还是16位,周期,以及占空比等参数。设置结果直接体现在向导上的波形图中,以便设计者及时检验参数设置是否合适。
图 3 PSoC Creator使用实例
图 4 PWM模块图形配置向导
4. 应用实例:12路PWM占空比测量
本节就以一个实际的应用实例——12路PWM占空比测量,展示如何使用PSoC®3和PSoC Creator简化应用设计。在大型服务器上,散热用的风扇会使用固定频率但是占空比可变的PWM信号反馈风扇转速信息,不同的转速对应不同的占空比,通过实时检测反馈的转速信号,控制可以根据当前服务器内温度决定是否需要增加或是减少风扇转速。
图 5 12通道PWM占空比检测模块
图 5是用来循环检测12通道PWM占空比的功能模块,12个PWM速度信号通过12个管脚输入进PSoC®3,然后经过一个内部的16路多路器输出一路信号至一个D触发器(DFF)采样,采样结果借助一个反相器形成两路互相反相的信号,分别作为使能信号输入给两个定时器Timer_rising_1和Timer_falling_1,两个中断响应模块isr_rising_1和isr_falling_1用来捕捉两路反相信号的上升沿,以便在中断服务程序中读取定时器中的计数值。通过对两个定时器计数值的计算,即可得出当前PWM信号的占空比。
每当检测完一路PWM,通过设定控制寄存器CTRL_REG_Tach_Input_SW_1的数值,将多路器输出切换至下一路PWM输入,从而依次检测12路PWM的占空比,注意16路多路器的后4路没有使用,始终为低电平。图中CTRL_REG_Reset_1模块控制系统在需要时进行复位。该模块大部分功能都是基于硬件模块,软件中仅需在两个中断服务程序中读取响应的定时器计数值即可。
5. 小结
实际上,上述例子仅仅是PSoC®3和PSoC Creator的基本应用,PSoC®3的丰富资源和PSoC Creator良好的设计方法可以令设计者更快实现产品的功能,而不是深陷琐碎的技术细节之中。
参考文献
[1]. PSoC®3:CY8C38 Family Datasheet, Cypress Semiconductor Ltd.
[2]. PSoC®3:CY8C32 Family Datasheet, Cypress Semiconductor Ltd.
[3]. PSoC®3 Architecture Technical Reference Manual, Cypress Semiconductor Ltd.
[4]. PSoC Creator: Timer Component Datasheet, Cypress Semiconductor Ltd.
[5]. PSoC Creator: Interrupt Component Datasheet, Cypress Semiconductor Ltd.
- 基于PSoC?4 的PMSM无传感器矢量控制(09-23)
- 基于CY8C3866的无线脑电信号采集检测系统设计(06-24)
- 解读USB控制器芯片及其在图像采集中的应用(06-06)
- 基于PSoC?4的矢量控制方案 :电流采样(06-04)
- 基于CYUSB3014高速实时数据采集系统的设(04-23)
- 一款基于CYPRESS的USB3.0总线设计(03-19)