访问电脑版页面

导航:老古开发网手机版其他

便携式测量仪器中低功耗键盘的设计*

导读:
关键字:

北京工业大学集成电路与系统实验室,北京,100022

摘 要 本文提出了便携式测量仪器中基于A/D转换器的低功耗键盘的设计方案。这种键盘有效的节省了微处理器的I/O口,降低了系统功耗。本文并结合美国CYGNAL公司生产的C8051F0xx系列单片机对基于查询和A/D转换器方式的键盘设计进行了详细地功耗分析比较,并在实际系统中得到应用。

关键词 键盘 A/D转换器 低功耗 便携式测量仪器 C8051F0xx

Design of Low-power Dissipation Keyboard in portable measuring instrument
Rengui Luo, Liping Zheng, Yunyang Song, Wuchen Wu  
VLSI & System Laboratory, Beijing University of Technology, Beijing 100022, China
Abstract  A low-power dissipation keyboard in portable measuring instrument, based on A/D converter method, is proposed in this paper.  The designed keyboard saves I/O pins and reduces the power dissipation effectively.  The power dissipation behaviors of two keyboards, one is based on scanning method and another on A/D method, was compared and analyzed. The keyboard has been applied in a practical system. 
Keywords  Keyboard  A/D Converter  Low-power Dissipation  Portable Measuring Instrument  C8051F0xx

1 引言
随着以微处理器为核心的便携式测量仪器的出现,如何降低其功耗成了当前系统设计所面临的首要问题。然而,键盘不仅是测量仪表中进行人机交互信息必不可少的部件,也往往是系统中的功耗大户,因此,如何降低测量仪表的键盘功耗就显得尤为突出。同时,在一个多功能的测量仪器中,键盘要占用大量的I/O管脚,由于受到微处理器的通用I/O管脚的限制,经常会出现I/O不足的情况。在测量仪器中,键盘通常采用矩阵式的结构,利用2*n个I/O管脚就能读取n*n个按键(例如一个端口的8个管脚可以读取16个按键)。如果在矩阵式键盘中适当的加入二极管,还可以进一步降低I/O数量(只用5个管脚就能读取16个按键)[1,2], 即使这样并不能有效的解决I/O管脚不足的问题。本文提出的基于A/D转换器的低功耗键盘的设计方案,只用一个I/O管脚就能读取多个按键(受到A/D转换器转换精度的影响),这不仅有效的节省了微处理器的I/O口,同时采用A/D转换器中断采样的方式,还大大的降低了系统的功耗。
2 基于A/D转换器的键盘的结构与工作原理
AD转换器的分立键盘电路主要由一系列的分压电阻和按键组成,不同的按键对应着不同的分压的电阻,从而得到不同的分压值,电路框图如图1所示。[3]


图1 基于A/D转换器键盘的硬件结构

图1中Vkin为键值电压,Vcc是电源电压,R为分压电阻,Rx为上拉电阻,电容C起到抗干扰的作用。电路中的电阻只有R和Rx两种,大大地降低了对电阻的要求。
当没有按键按下时,通过上拉电阻,将A/D的输入端置成高电平,得到全1的数值,防止外部噪声的干扰。
当有第i个键按下时,分压电阻为 与Rx的并联。为了计算方便,取Rx远远大于R。这样,Rx可以忽略不计,分压电阻即为 。因此,任何一个按键i闭合时,其电压值可由下式计算:

  

 (n为接入按键的个数)  (1)
通过公式不难看出,不同的按键按下时,A/D转换的数字值也不同,这是按键识别的依据。因此,该电路只能识别单个按键按下的情况。
 
3 便携式测量仪表的系统简介
便携式测量仪表通常由微处理器、A/D转换器、数据显示模块、键盘、传感器及电源管理模块等几部分组成。美国CYGNAL公司生产的基于SoC的数模混合芯片C8051F0xx,它的数字部分采用高速8051微控制器内核,模拟部分主要包括一个12位、转换速率高达100ksps的SAR A/D转换器,比较器,以及内部可编程振荡器等。[5] 同时,该芯片的供电电压为2.7V~3.6V,非常适合用于便携式测量仪表中。图2就是基于C8051F0xx的典型便携式测量仪表系统设计的硬件框图。
4 基于查询和A/D转换器方式的键盘的功耗分析

2 基于C8051F0xx的便携式测量仪表系统的硬件框图


4.1 两种方式的硬件电路
为了分析问题的方便,把两种工作方式的键盘做在同一个电路图中,如图3所示。为了减小键盘的静态功耗,分压电阻尽量采用较大的阻值的电阻,减少静电流。  
 

4.2 两种方式的功耗分析
首先看一下C8051F0xx直流电气特性,如表1所示。[5]
表1 C8051F0xx部分直流电气特性
电源方式    VDD=2.7V    VDD=3.6V

1 C8051F0xx部分直流电气特性

电源方式

VDD=2.7V

VDD=3.6V

 

数字电流消耗

正常

0.5mA/MHz

1.0mA/MHz

等待

0.33mA/MHz

0.65mA/MHz

 

模拟电流消耗

ADC

450uA

450uA

VREF(内部)

50uA

50uA

内部振荡器

(使用数字电源)

 

200uA

 

200uA

表2 两种工作方式的电流计算比较

 

 

键盘扫描方式

 

A/D转换器的方式

 

 

 

工作方式

MCU一直进行键盘扫描,即MCU的数字部分一直处于正常工作状态,同时禁止所有不用的模拟部分电路

将MCU置于等待方式,经过一个规定的时间间隔后再用一个定时器将其唤醒,启动A/D转换器,当A/D转换器转换结束后,读取键值,进行相应的操作,之后,再次进入等待状态,等待唤醒。

数字部分

电流消耗

正常

1mA/MHz*16 MHz=16mA

1mA/MHz*16 MHz=16mA

等待

0.5mA/MHz*16MHz=8mA

0.5mA/MHz*16MHz=8mA

模拟部分

电流消耗

正常

5uA(忽略不计)

450uA+50uA=500uA

等待

50uA(VREF)

内部振荡器的电流消耗

200uA

200uA

正常状态总功耗

16mA+200uA=16.2mA

16mA+200uA+500uA=16.7mA

等待状态总功耗

 

8mA+200uA+50uA=8.25mA

 


数字电流消耗    正常    0.5mA/MHz    1.0mA/MHz
    等待    0.33mA/MHz    0.65mA/MHz
模拟电流消耗    ADC    450uA    450uA
    VREF(内部)    50uA    50uA
    内部振荡器(使用数字电源)    200uA    200uA
假设系统使用内部时钟,工作频率采用16MHz,工作的电压VDD=3.6V,在这种情况下可以通过计算电流来估算功率,如表2所示。
表2 两种工作方式的电流计算比较
    键盘扫描方式    A/D转换器的方式
工作方式    MCU一直进行键盘扫描,即MCU的数字部分一直处于正常工作状态,同时禁止所有不用的模拟部分电路    将MCU置于等待方式,经过一个规定的时间间隔后再用一个定时器将其唤醒,启动A/D转换器,当A/D转换器转换结束后,读取键值,进行相应的操作,之后,再次进入等待状态,等待唤醒。
数字部分电流消耗    正常    1mA/MHz*16 MHz=16mA    1mA/MHz*16 MHz=16mA
    等待    0.5mA/MHz*16MHz=8mA    0.5mA/MHz*16MHz=8mA
模拟部分电流消耗    正常    5uA(忽略不计)    450uA+50uA=500uA
    等待        50uA(VREF)
内部振荡器的电流消耗    200uA    200uA
正常状态总功耗    16mA+200uA=16.2mA    16mA+200uA+500uA=16.7mA
等待状态总功耗        8mA+200uA+50uA=8.25mA

对于A/D转换器的方式,已经计算了等待方式下的电源电流和正常方式下的电源电流,还要计算在每种方式下所消耗的时间以计算所用器件的平均电流。
设置ADC工作在低功耗跟踪方式,使用最大的2MHz SAR转换时钟,ADC设置为SAR时钟 = SYSCLK/8。由于机械按键的抖动时间为5~10ms,而按键的稳定时间为十分之秒~几秒,因此可以利用MCU内部的定时器把A/D的采样频率设置为1KHz,电源的电流周期为1ms。处在正常方式下的时间是ADC跟踪/转换时间、将样本保存到存储器的时间以及处理键值的时间的总和。在低功耗跟踪方式需要3个SAR时钟用于跟踪和16个SAR时钟用于转换这19个SAR时钟,如图4所示。在频率为2MHz时需要9.5 us,存储采样值需要两个系统时钟周期(16MHz)即0.125 us。为了进入正常方式要执行一条mov指令,需三个SYSCLK周期,即0.188us。[6] 假设系统对按键处理平均需要100个系统时钟周期,即6.25us。这样在正常方式下的总时间为 9.5 us + 0.125 us+ 0.188 us +6.25us= 16.05 us,等待方式的时间为 1ms -16.05us=983.95us。





只要在一个周期内对电流进行积分然后除以周期值,即可得到平均电源电流。
   (2)
这里,IA为电源的平均电流,IW为等待状态的电源电流,IN为正常工作时的电源电流,tW为一个周期内的等待时间,tN为一个周期内的正常工作时间,T为电流周期。
本文中,IW=8.25mA, IN=16.7mA, tW=983.95us,tN=16.05us,T=1000us,代入公式(2),可得IA =8.386mA,明显要比查询方式降低了很多,实现了低功耗。它们的曲线关系如图5所示。

5 实际应用中的软件设计
在实际的应用中,由于C8051F0xx有一个ADC可编程窗口检测器,它不停地将ADC输出与用户编程的极限值进行比较,当满足条件时通知系统控制器。在这里,可以把这个极限值设为全“1”,即当没有按键按下时,将不会产生中断,这将进一步降低系统的功耗。
为了提高读取键值的准确性,就必须设法消除抖动的影响。可以使用软件延时,多次采样的办法。当有按键按下时,经过A/D转换器转换结束后,与电压窗口比较器的预设值比较,产生中断,经过10ms的延时,再读取键值, 为了提高键值的可靠性, 一般要多读几次, 进行比较,只要在误差允许范围内,就认为是相同的,软件设计流程图如图6所示。[4]
 
图6 软件设计流程图
6 结束语
本文采用的是内部定时器的方式来启动A/D转换器,同样也可以采用外部中断的方式来启动,进一步降低功耗,但是这样会增加外部键盘电路的设计难度。文中经过充分挖掘C8051F0xx系列单片机的功能,利用其内部定时器和可编程窗口比较器,实现了系统的低功耗,并且这种基于A/D转换器的低功耗的键盘已经在实际的便携式测量仪器中得到应用,有效的解决了系统中I/O管脚紧张的问题,降低了系统的成本。

来源:2005电子应用方案论文集“电子产品世界”   作者:罗仁贵,郑立评,宋云扬,吴武臣  2006/6/12 20:42:00
栏目: [ ]

相关阅读

安森美推出新的高功率图腾柱PFC控制器,满足具挑战的能效标准

动态功耗低至60μA/MHz!助力设备超长续航,首选国民技术低功耗MCU!