新闻中心

EEPW首页 > 测试测量 > 设计应用 > 便携式测量仪器中低功耗键盘的设计*

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

——
作者:罗仁贵,郑立评,宋云扬,吴武臣 时间:2006-06-13 来源:2005电子应用方案论文集“电子产品世界” 收藏

北京工业大学集成电路与系统实验室,北京,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中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转换器方式的键盘的功耗分析

4.1 两种方式的硬件电路

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

4.2 两种方式的功耗分析

首先看一下C8051F0xx直流电气特性,如表1所示。[5]

表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

  假设系统使用内部时钟,工作频率采用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 结束语

  本文采用的是内部定时器的方式来启动A/D转换器,同样也可以采用外部中断的方式来启动,进一步降低功耗,但是这样会增加外部键盘电路的设计难度。文中经过充分挖掘C8051F0xx系列单片机的功能,利用其内部定时器和可编程窗口比较器,实现了系统的低功耗,并且这种基于A/D转换器的低功耗的键盘已经在实际的便携式测量仪器中得到应用,有效的解决了系统中I/O管脚紧张的问题,降低了系统的成本。


 



关键词: 测量 测试 测试测量

评论


相关推荐

技术专区

关闭