基于PSoC芯片CY8C29466的PWM控制实现

时间:2022-10-16 06:21:43

基于PSoC芯片CY8C29466的PWM控制实现

摘要:本文介绍了PSoC芯片的基本功能及PSoc EXPRESS开发环境,在此基础了详细介绍了利用CY8C29466实现PWM控制的设计过程,并通过对LED灯亮度的控制给予了验证。

关键词:PSoC;PWM;CY8C29466

中图分类号:TP393文献标识码:A文章编号:1007-9599 (2011) 06-0000-02

Realization of PWM Control Based on PSoc CY8C29466

Zhang Daode

(School of Mechanical Engineering,Hubei University of Technology,Wuhan430068,China)

Abstract:The base function of PSoC chip and development surrounding of PSoc Express are introduced,then the design procedure that PWM control realized by CY8C29466 introduced with detail.The PWM control is verified by the LED brightness change controlled byCY8C29466.

Keywords:PSoC;PWM;CY8C29466

一、PSOC(CY8C29466)的功能[1][2]

Cypress MicroSystem inc生产的PSOC(CY8C29466)是新一代功能强大的8位可配置微控制器。PSOC器件集成有12个模拟和16个数字逻辑电路可编程模块、一个快速8位MCU.32KB闪存、2kbytes字节SRAM以及乘法器/累加器(MAC).8根独立的输入和输出总线,其内部可用的block资源包含:4个基本类型和4个通信类型的数字block,使用基本类型数字block可配置:计数器(counter);定时器(timer);脉宽调制(PWM);循环冗余码校验(CRC)。使用通信类型数字block可配置:串行发(serialtransmitter);串行接收(serial receiver);SPI主端(SPI Master);SPI从端(SPI Slave)。使用模拟block可配置:多极滤波器(multi-pole filters);放大器(gain stages);数模转换(DACs);模数转换(ADCs)。使用这些资源可以配置成不同的功能模块,用以实现微控制器标准器件的功能。PSOC的8位PWM模块具有以下特点:

8位和16位通用脉冲宽度调制器,分别采用1个和2个PSoC模块

高至48MHz的源时钟频率

每个脉冲循环的周期自动重新加载

可编程脉冲宽度

输入启用/禁用连续计数器运行

可在输出上升沿或在最终计数选择发生中断

8位和16位PWM用户模块属于拥有可编程周期和脉冲宽度的脉冲宽度调制器。时钟和启用信号可以从若干来源中选择。输出信号可以连接至任一引脚或任一全局输出总线,以供其他用户模块使用。可以编程设置在输出上升沿或在计数器到达最终计数条件是触发中断。

二、PSoC的PWM应用设计实例

PSoC最显著的特征是可以把其芯片内部集成的可编程基本数字模块和模拟模块配置成用户所需要的多种形式的数字、模拟和混合信号处理功能模块,具有很大的灵活性。下面用CY8C29466芯片实现:用PWM模块控制两个LED灯的不同亮度来模拟PWM控制电机的两级变频调速。

(一)PWM速度控制原理

通过单片机输出的控制波形是占空比不同矩形波,用其来控制的主电路的输出也是一个矩形波。对电机来说,当有电流流过电机绕组线圈时,就会产生一个转矩,使用电机的转子转动起来,没有电流时就没有转矩产生。但是由于电机转子本身有惯性,所以电机转起来后,在后续的一段时间内就算没有电流,电机还是会转动,实际上单片机输出的矩形波的频率也较高,这样电机就可以持续不断的转动。我们通过控制输出波形的占空比,使电机在一定的时间有电流流过的时间不一样,在宏观上来看,就是电机的转速不一样。这样通过调节矩形波的占空比,就可实现电机的速度调节。

利用CYPRESS公司生产的CY29466型单片机内部的PWM模块,输出两种不同的占空比来调节LED灯的亮度来模拟对电机的速度控制。

(二)设计过程

PSoC Express是一款由赛普拉斯半导体公司研制并提供支持的可视化嵌入式设计工具,不用写入任何代码便能完成设计工作,生成原理图、BOM和项目报告[3]。使用者只需要直接和目标应用打交道即可,例如LED、Switchs Sensors、Fans等。该开发工具能够显著简化嵌入式系统的设计工作,进而提高设计效率[4]。采用PSoC Express工具能够更快的完成设计工作,并实现更高的可靠性。系统在该环境下开发完成。

1.选择两个8位PWM模块

如图1所示:

2.配置全局参数

图2 全局参数配置图

3.配置用户模块参数

如图3、4所示。

4.配置输入输出管脚

将P1.4作为按键的输入管脚,设置为接一个上拉电阻,将P2.0和P2.1两个管脚作为输出管脚连接上两个LED,在内部连线里分别连接两个8位PWM模块。

管脚配置如图5所示:

图5 输入输出管脚设置

5.放置选择好的模块。

6.内部模块和全局总线的连接。

7.源程序。全部参数设置完毕后点击生成API文件进入应用编辑器介面。

8.调试并下载程序。调试好程序并用下载线下载到单片机里,相应引脚与LED灯连接后就可以实现两个LED灯的亮度改变。

三、结束语

本文介绍了一种利用PSoC芯片CY8C29466实现PWM控制的原理及实现过程,该方法可以具有系统硬件简单,编程形象方便的特点,具有较好的应用价值。

参考文献:

[1]朱明程,李晓滨.PSoC原理与应用设计[M].北京:机械工业出版社,2008

[2]Cypress Semiconductor.CY8C29466 datasheet,2009

[3]吴建.可编程PSoC的构成及其系统设计[J].现代电子技术,2004,17

4焦振宇.赛普拉斯PSoC及其开发应用[J].微处理机,2004,5

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:浅谈在大学计算机教学中应用“任务驱动法” 下一篇:基于WEB-GIS的石油勘探开发数据组织模式研究