微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 便携式电子产品的应用层和后台节能技术分析

便携式电子产品的应用层和后台节能技术分析

时间:10-09 来源:互联网 点击:
    • 3.如何处理未使用的外设

      对于大部分的微处理器设计来说,只要关闭没有使用的外设,便可降低功耗。CP3000系列芯片分别为每一外设模块提供使能位,该芯片可以支持非常多的外设,根本没有哪种应用可以完全用到这些外设模块,因此必定有部分外设模块暂时未用。为了降低功耗,这些未用的外设模块必须全部关闭。  

      由于外设所需的时钟频率与系统的时钟频率不同,也由于外设的时钟频率不受所采用的电源管理模式控制,因此CP3000芯片的时钟合成模块负责为这些外设提供独立的时钟。为了尽量节省电能,应关闭这些未用外设的辅助时钟。  

      4.如何处理未使用的端口管脚  

      如果任由没有被驱动的CMOS输入端电压浮动至介于逻辑电平0与1之间的输入电压范围,将会产生额外的功耗。如果I/O端口配置为输入端,而且任由其自由浮动,上述情况便有可能出现,因此任何没有外部驱动或拉高/拉低的输入端口都应配置为输出端。CP3000端口电路设有可编程的上拉功能,以避免未驱动的输入端电压自由浮动。  

      CP3000的端口管脚在芯片复位后配置为输入端,这是CP3000芯片的预设配置。采用这样的配置是有必要的,因为外接元件可能会驱动这些端口。这些端口如果预设为输出端,微控制器与外接元件可能会在复位后互相争夺使用缓冲区。因此,有关应用有责任在复位后配置没有被驱动的端口管脚。  

      后台电源管理技术  

      后台的电源管理技术之间可能会产生相互影响,因此应用程序必须对其进行处理,或者对于应用程序完全透明。即使它们对应用程序是透明的,软件设计工程师也需要设置中断或其他资源,以便为这些电源管理技术提供支持。这些软件设计工程师也可能需要了解这些技术的实际运行,以免应用程序与电源管理技术之间出现意想不到的干扰。例如,不必要的显示刷新或磁盘存取工作可能会对其中部分工作流程造成干扰,使已停止使用一段时间的显示器背光系统或磁盘马达无法关闭。  

      1.活动监控程序  

      许多系统设计所采用的外设如显示器背光系统及磁盘马达比微控制器更耗电。对于这类设计来说,专门监控个别外设的活动监控程序可以大幅改善系统的功效。活动监控程序有自己的计时器,受监控的外设无论进行哪样的工作,都可避免计时器超过其设定时限。如果计时器出现溢出或下溢(出现哪种情况取决于计时器的设置),会将外设关闭或将之置于低功率模式。  

      典型的活动监控程序利用实时操作系统(RTOS)提供的服务设定后台任务,以便处理预定发生的事件,其中包括所有活动监控程序的更新。有关的后台任务必须提前设定,以便RTOS可以按照某一固定频率定时调用任务,一般来说每10至100毫秒(ms)之内调用一次。一旦已发出任务调用,该任务将查找任何预计发生的、需要被执行的任务,之后处于悬置状态,直至再发出调用。  

      系统也可利用旗语(Semaphores)或任务之间的消息传递来告知某外设接入。当系统调用后台任务时,会先核查是否已收到信号。如果有关信号仍未收到,计数器会增加。如果计数器出现溢出,系统便会关闭外设;如果信号已收到,计数器便会进行复位。  

      设备驱动程序可能会对复位信号进行声明(assert),这个信号用于对该设备进行存取。当系统调用对设备进行存取的驱动程序函数时,驱动程序可以对后台任务声明这个信号。如果驱动程序本身没有这个功能,工程师可以先修改驱动程序的源代码,然后加以重新编译,以提供这个功能,但这样将使驱动器不是标准的驱动程序。如果必须确保相关源代码及程序可与驱动器程序库的新版兼容,可以选择一个具有较高可移植性的解决方案,这个方案将实现一套函数或宏,这套函数或宏发送复位信号,然后调用标准的驱动器。  

      活动监控功能也可以利用硬件实现。外设进行存取时,计时器可以监控硬件的活动信号。计时器是自由运行的计数器,每当受监控信号被声明后,计时器便会复位。如果计时器出现溢位,便会向CPU发出中断信号,中断服务例行程序随后便会关闭相关的外设。  

      硬件监控器的响应可能比软件监控程序快,但对于监控外设的监控程序来说,速度通常并不重要。即使利用软件方案关闭显示器背光系统会出现100ms的延迟,但对电池寿命来说,所产生的影响可以说微不足道。而且,完全利用软件进行监控的解决方案也比较容易实现,因为活动监控程序只需集中处理一项工作,而且工程师可以只理解源代码,不必对硬件计时器的结构有任何了解。此外,软件方案具有较高的可移植性,因为它不会局限于任何特定的硬件计时器实现。但软件方案需要占用较多的CPU带宽,如果系统需要经常对受监控的外设进行存取,这是一个需要慎重考虑的问题。  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top