新闻中心

EEPW首页 > 物联网与传感器 > 设计应用 > 使用CY8C22X45系列PSoC设计低功耗触摸按键应用系统

使用CY8C22X45系列PSoC设计低功耗触摸按键应用系统

作者:陈晓霖 胡泊 Cypress主任应用工程师 2Cypress应用工程师时间:2010-04-28来源:电子产品世界收藏

本文引用地址:http://www.eepw.com.cn/article/108471.htm

  除了全局芯片参数的设置,不同型号的内部还有数目不等的数字模块与模拟模块,如果这些模块被配置成具体的功能模块,如PWM,SPI Master等,这些功能模块还会引入额外的工作电流。需要注意一点,上述的测试结果没有引入任何的数字与模拟模块,因此针对实际的应用,工作电流还需要在上述结果基础上增加功能模块带来的额外电流。

  3. 开发低功耗的固件代码

  实际上,除了设置适当的芯片参数,固件代码的编写对系统功耗也有着重要影响。具有良好的可配置性能,其数字模块和模拟模块可以配置成不同的功能模块,根据应用需求,仅在使用时才将其使能,否则一直让其停止工作,即可减少系统的工作电流。

  和大多数芯片一样,也提供低功耗休眠模式,有些型号的PSoC可以提供低至0.1uA的休眠电流。休眠时系统时钟以及所有由系统时钟驱动的功能模块都会停止工作,但是由32K时钟驱动的模块仍会继续工作。PSoC内部包含一个休眠定时器(Sleep Timer),通过设定其超时时间并使能,PSoC即进入休眠模式,直到被休眠定时器的超时中断唤醒,除此之外,PSoC休眠中也可以被GPIO的中断,低电压检测中断,模拟模块产生的中断和由32K驱动模块产生的中断唤醒,因此进入休眠前需要清除所有等待中的中断,否则PSoC无法进入休眠模式。

  如果在全局资源里设置好了Sleep Timer的周期,那么仅需两行代码即可让PSoC进入休眠模式,第一行代码使能Sleep Timer中断,第二行代码令PSoC进入休眠模式。

  INT_MSK0 |= INT_MSK0_SLEEP;

  M8C_Sleep;

  大多数PSoC提供了4种固定的休眠间隔(表格 7),芯片内的Watchdog周期是当前休眠间隔的3倍,如果同时使用休眠和Watchdog,需要在代码中的适当位置清除Watchdog计数器,以防系统超时重置。

  可以通过多次使用M8C_Sleep来获得更长的休眠时间,例如,如果休眠时间为125ms,下述代码可以获得约375ms的休眠时间。



评论


相关推荐

技术专区

关闭