<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應用 > 便攜式測量儀器中低功耗鍵盤的設(shè)計*

          便攜式測量儀器中低功耗鍵盤的設(shè)計*

          ——
          作者:羅仁貴,鄭立評,宋云揚,吳武臣 時間:2006-06-13 來源:2005電子應用方案論文集“電子產(chǎn)品世界” 收藏

          北京工業(yè)大學集成電路與系統(tǒng)實驗室,北京,100022

          摘 要:本文提出了便攜式儀器中基于A/D轉(zhuǎn)換器的低功耗鍵盤的設(shè)計方案。這種鍵盤有效的節(jié)省了微處理器的I/O口,降低了系統(tǒng)功耗。本文并結(jié)合美國CYGNAL公司生產(chǎn)的C8051F0xx系列單片機對基于查詢和A/D轉(zhuǎn)換器方式的鍵盤設(shè)計進行了詳細地功耗分析比較,并在實際系統(tǒng)中得到應用。

          關(guān)鍵詞:鍵盤 A/D轉(zhuǎn)換器 低功耗 便攜式儀器 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 引言
           
            隨著以微處理器為核心的便攜式儀器的出現(xiàn),如何降低其功耗成了當前系統(tǒng)設(shè)計所面臨的首要問題。然而,鍵盤不僅是測量儀表中進行人機交互信息必不可少的部件,也往往是系統(tǒng)中的功耗大戶,因此,如何降低測量儀表的鍵盤功耗就顯得尤為突出。同時,在一個多功能的測量儀器中,鍵盤要占用大量的I/O管腳,由于受到微處理器的通用I/O管腳的限制,經(jīng)常會出現(xiàn)I/O不足的情況。在測量儀器中,鍵盤通常采用矩陣式的結(jié)構(gòu),利用2*n個I/O管腳就能讀取n*n個按鍵(例如一個端口的8個管腳可以讀取16個按鍵)。如果在矩陣式鍵盤中適當?shù)募尤攵O管,還可以進一步降低I/O數(shù)量(只用5個管腳就能讀取16個按鍵)[1,2], 即使這樣并不能有效的解決I/O管腳不足的問題。本文提出的基于A/D轉(zhuǎn)換器的低功耗鍵盤的設(shè)計方案,只用一個I/O管腳就能讀取多個按鍵(受到A/D轉(zhuǎn)換器轉(zhuǎn)換精度的影響),這不僅有效的節(jié)省了微處理器的I/O口,同時采用A/D轉(zhuǎn)換器中斷采樣的方式,還大大的降低了系統(tǒng)的功耗。

          2 基于A/D轉(zhuǎn)換器的鍵盤的結(jié)構(gòu)與工作原理

            AD轉(zhuǎn)換器的分立鍵盤電路主要由一系列的分壓電阻和按鍵組成,不同的按鍵對應著不同的分壓的電阻,從而得到不同的分壓值,電路框圖如圖1所示。[3]

            圖1中Vkin為鍵值電壓,Vcc是電源電壓,R為分壓電阻,Rx為上拉電阻,電容C起到抗干擾的作用。電路中的電阻只有R和Rx兩種,大大地降低了對電阻的要求。
           
            當沒有按鍵按下時,通過上拉電阻,將A/D的輸入端置成高電平,得到全1的數(shù)值,防止外部噪聲的干擾。

            當有第i個鍵按下時,分壓電阻為 與Rx的并聯(lián)。為了計算方便,取Rx遠遠大于R。這樣,Rx可以忽略不計,分壓電阻即為 。因此,任何一個按鍵i閉合時,其電壓值可由下式計算:
            
           (n為接入按鍵的個數(shù))  (1)
            
            通過公式不難看出,不同的按鍵按下時,A/D轉(zhuǎn)換的數(shù)字值也不同,這是按鍵識別的依據(jù)。因此,該電路只能識別單個按鍵按下的情況。
           
          3 便攜式測量儀表的系統(tǒng)簡介

            便攜式測量儀表通常由微處理器、A/D轉(zhuǎn)換器、數(shù)據(jù)顯示模塊、鍵盤、傳感器及電源管理模塊等幾部分組成。美國CYGNAL公司生產(chǎn)的基于SoC的數(shù)?;旌闲酒珻8051F0xx,它的數(shù)字部分采用高速8051微控制器內(nèi)核,模擬部分主要包括一個12位、轉(zhuǎn)換速率高達100ksps的SAR A/D轉(zhuǎn)換器,比較器,以及內(nèi)部可編程振蕩器等。[5] 同時,該芯片的供電電壓為2.7V~3.6V,非常適合用于便攜式測量儀表中。圖2就是基于C8051F0xx的典型便攜式測量儀表系統(tǒng)設(shè)計的硬件框圖。

          4 基于查詢和A/D轉(zhuǎn)換器方式的鍵盤的功耗分析

          4.1 兩種方式的硬件電路

            為了分析問題的方便,把兩種工作方式的鍵盤做在同一個電路圖中,如圖3所示。為了減小鍵盤的靜態(tài)功耗,分壓電阻盡量采用較大的阻值的電阻,減少靜電流。 
           

          4.2 兩種方式的功耗分析

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

          表1 C8051F0xx部分直流電氣特性

          電源方式    VDD=2.7V    VDD=3.6V

          數(shù)字電流消耗    正常    0.5mA/MHz    1.0mA/MHz

              等待    0.33mA/MHz    0.65mA/MHz

          模擬電流消耗    ADC    450uA    450uA
           
             VREF(內(nèi)部)    50uA    50uA
           
            內(nèi)部振蕩器(使用數(shù)字電源)    200uA    200uA

            假設(shè)系統(tǒng)使用內(nèi)部時鐘,工作頻率采用16MHz,工作的電壓VDD=3.6V,在這種情況下可以通過計算電流來估算功率,如表2所示。

          表2 兩種工作方式的電流計算比較

              鍵盤掃描方式    A/D轉(zhuǎn)換器的方式

          工作方式    MCU一直進行鍵盤掃描,即MCU的數(shù)字部分一直處于正常工作狀態(tài),同時禁止所有不用的模擬部分電路    將MCU置于等待方式,經(jīng)過一個規(guī)定的時間間隔后再用一個定時器將其喚醒,啟動A/D轉(zhuǎn)換器,當A/D轉(zhuǎn)換器轉(zhuǎn)換結(jié)束后,讀取鍵值,進行相應的操作,之后,再次進入等待狀態(tài),等待喚醒。
           
          數(shù)字部分電流消耗    正常    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)

          內(nèi)部振蕩器的電流消耗    200uA    200uA

          正常狀態(tài)總功耗    16mA+200uA=16.2mA    16mA+200uA+500uA=16.7mA

          等待狀態(tài)總功耗        8mA+200uA+50uA=8.25mA

            對于A/D轉(zhuǎn)換器的方式,已經(jīng)計算了等待方式下的電源電流和正常方式下的電源電流,還要計算在每種方式下所消耗的時間以計算所用器件的平均電流。
          設(shè)置ADC工作在低功耗跟蹤方式,使用最大的2MHz SAR轉(zhuǎn)換時鐘,ADC設(shè)置為SAR時鐘 = SYSCLK/8。由于機械按鍵的抖動時間為5~10ms,而按鍵的穩(wěn)定時間為十分之秒~幾秒,因此可以利用MCU內(nèi)部的定時器把A/D的采樣頻率設(shè)置為1KHz,電源的電流周期為1ms。處在正常方式下的時間是ADC跟蹤/轉(zhuǎn)換時間、將樣本保存到存儲器的時間以及處理鍵值的時間的總和。在低功耗跟蹤方式需要3個SAR時鐘用于跟蹤和16個SAR時鐘用于轉(zhuǎn)換這19個SAR時鐘,如圖4所示。在頻率為2MHz時需要9.5 us,存儲采樣值需要兩個系統(tǒng)時鐘周期(16MHz)即0.125 us。為了進入正常方式要執(zhí)行一條mov指令,需三個SYSCLK周期,即0.188us。[6] 假設(shè)系統(tǒng)對按鍵處理平均需要100個系統(tǒng)時鐘周期,即6.25us。這樣在正常方式下的總時間為 9.5 us + 0.125 us+ 0.188 us +6.25us= 16.05 us,等待方式的時間為 1ms -16.05us=983.95us。

            只要在一個周期內(nèi)對電流進行積分然后除以周期值,即可得到平均電源電流。
           
           (2)

            這里,IA為電源的平均電流,IW為等待狀態(tài)的電源電流,IN為正常工作時的電源電流,tW為一個周期內(nèi)的等待時間,tN為一個周期內(nèi)的正常工作時間,T為電流周期。

            本文中,IW=8.25mA, IN=16.7mA, tW=983.95us,tN=16.05us,T=1000us,代入公式(2),可得IA =8.386mA,明顯要比查詢方式降低了很多,實現(xiàn)了低功耗。它們的曲線關(guān)系如圖5所示。

          5 實際應用中的軟件設(shè)計
            
            在實際的應用中,由于C8051F0xx有一個ADC可編程窗口檢測器,它不停地將ADC輸出與用戶編程的極限值進行比較,當滿足條件時通知系統(tǒng)控制器。在這里,可以把這個極限值設(shè)為全“1”,即當沒有按鍵按下時,將不會產(chǎn)生中斷,這將進一步降低系統(tǒng)的功耗。

            為了提高讀取鍵值的準確性,就必須設(shè)法消除抖動的影響??梢允褂密浖訒r,多次采樣的辦法。當有按鍵按下時,經(jīng)過A/D轉(zhuǎn)換器轉(zhuǎn)換結(jié)束后,與電壓窗口比較器的預設(shè)值比較,產(chǎn)生中斷,經(jīng)過10ms的延時,再讀取鍵值, 為了提高鍵值的可靠性, 一般要多讀幾次, 進行比較,只要在誤差允許范圍內(nèi),就認為是相同的,軟件設(shè)計流程圖如圖6所示。[4]
           
          6 結(jié)束語

            本文采用的是內(nèi)部定時器的方式來啟動A/D轉(zhuǎn)換器,同樣也可以采用外部中斷的方式來啟動,進一步降低功耗,但是這樣會增加外部鍵盤電路的設(shè)計難度。文中經(jīng)過充分挖掘C8051F0xx系列單片機的功能,利用其內(nèi)部定時器和可編程窗口比較器,實現(xiàn)了系統(tǒng)的低功耗,并且這種基于A/D轉(zhuǎn)換器的低功耗的鍵盤已經(jīng)在實際的便攜式測量儀器中得到應用,有效的解決了系統(tǒng)中I/O管腳緊張的問題,降低了系統(tǒng)的成本。


           



          關(guān)鍵詞: 測量 測試 測試測量

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();