便攜式測量儀器中低功耗鍵盤的設計*
北京工業(yè)大學集成電路與系統(tǒng)實驗室,北京,100022
摘 要:本文提出了便攜式測量儀器中基于A/D轉換器的低功耗鍵盤的設計方案。這種鍵盤有效的節(jié)省了微處理器的I/O口,降低了系統(tǒng)功耗。本文并結合美國CYGNAL公司生產的C8051F0xx系列單片機對基于查詢和A/D轉換器方式的鍵盤設計進行了詳細地功耗分析比較,并在實際系統(tǒng)中得到應用。
關鍵詞:鍵盤 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 引言
隨著以微處理器為核心的便攜式測量儀器的出現,如何降低其功耗成了當前系統(tǒng)設計所面臨的首要問題。然而,鍵盤不僅是測量儀表中進行人機交互信息必不可少的部件,也往往是系統(tǒng)中的功耗大戶,因此,如何降低測量儀表的鍵盤功耗就顯得尤為突出。同時,在一個多功能的測量儀器中,鍵盤要占用大量的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轉換器轉換精度的影響),這不僅有效的節(jié)省了微處理器的I/O口,同時采用A/D轉換器中斷采樣的方式,還大大的降低了系統(tǒng)的功耗。
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 便攜式測量儀表的系統(tǒng)簡介
便攜式測量儀表通常由微處理器、A/D轉換器、數據顯示模塊、鍵盤、傳感器及電源管理模塊等幾部分組成。美國CYGNAL公司生產的基于SoC的數?;旌闲酒珻8051F0xx,它的數字部分采用高速8051微控制器內核,模擬部分主要包括一個12位、轉換速率高達100ksps的SAR A/D轉換器,比較器,以及內部可編程振蕩器等。[5] 同時,該芯片的供電電壓為2.7V~3.6V,非常適合用于便攜式測量儀表中。圖2就是基于C8051F0xx的典型便攜式測量儀表系統(tǒng)設計的硬件框圖。
4 基于查詢和A/D轉換器方式的鍵盤的功耗分析
4.1 兩種方式的硬件電路
為了分析問題的方便,把兩種工作方式的鍵盤做在同一個電路圖中,如圖3所示。為了減小鍵盤的靜態(tài)功耗,分壓電阻盡量采用較大的阻值的電阻,減少靜電流。
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
假設系統(tǒng)使用內部時鐘,工作頻率采用16MHz,工作的電壓VDD=3.6V,在這種情況下可以通過計算電流來估算功率,如表2所示。
表2 兩種工作方式的電流計算比較
鍵盤掃描方式 A/D轉換器的方式
工作方式 MCU一直進行鍵盤掃描,即MCU的數字部分一直處于正常工作狀態(tài),同時禁止所有不用的模擬部分電路 將MCU置于等待方式,經過一個規(guī)定的時間間隔后再用一個定時器將其喚醒,啟動A/D轉換器,當A/D轉換器轉換結束后,讀取鍵值,進行相應的操作,之后,再次進入等待狀態(tài),等待喚醒。
數字部分電流消耗 正常 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
正常狀態(tài)總功耗 16mA+200uA=16.2mA 16mA+200uA+500uA=16.7mA
等待狀態(tài)總功耗 8mA+200uA+50uA=8.25mA
對于A/D轉換器的方式,已經計算了等待方式下的電源電流和正常方式下的電源電流,還要計算在每種方式下所消耗的時間以計算所用器件的平均電流。
設置ADC工作在低功耗跟蹤方式,使用最大的2MHz SAR轉換時鐘,ADC設置為SAR時鐘 = SYSCLK/8。由于機械按鍵的抖動時間為5~10ms,而按鍵的穩(wěn)定時間為十分之秒~幾秒,因此可以利用MCU內部的定時器把A/D的采樣頻率設置為1KHz,電源的電流周期為1ms。處在正常方式下的時間是ADC跟蹤/轉換時間、將樣本保存到存儲器的時間以及處理鍵值的時間的總和。在低功耗跟蹤方式需要3個SAR時鐘用于跟蹤和16個SAR時鐘用于轉換這19個SAR時鐘,如圖4所示。在頻率為2MHz時需要9.5 us,存儲采樣值需要兩個系統(tǒng)時鐘周期(16MHz)即0.125 us。為了進入正常方式要執(zhí)行一條mov指令,需三個SYSCLK周期,即0.188us。[6] 假設系統(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。
只要在一個周期內對電流進行積分然后除以周期值,即可得到平均電源電流。
(2)
這里,IA為電源的平均電流,IW為等待狀態(tài)的電源電流,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輸出與用戶編程的極限值進行比較,當滿足條件時通知系統(tǒng)控制器。在這里,可以把這個極限值設為全“1”,即當沒有按鍵按下時,將不會產生中斷,這將進一步降低系統(tǒng)的功耗。
為了提高讀取鍵值的準確性,就必須設法消除抖動的影響??梢允褂密浖訒r,多次采樣的辦法。當有按鍵按下時,經過A/D轉換器轉換結束后,與電壓窗口比較器的預設值比較,產生中斷,經過10ms的延時,再讀取鍵值, 為了提高鍵值的可靠性, 一般要多讀幾次, 進行比較,只要在誤差允許范圍內,就認為是相同的,軟件設計流程圖如圖6所示。[4]
6 結束語
本文采用的是內部定時器的方式來啟動A/D轉換器,同樣也可以采用外部中斷的方式來啟動,進一步降低功耗,但是這樣會增加外部鍵盤電路的設計難度。文中經過充分挖掘C8051F0xx系列單片機的功能,利用其內部定時器和可編程窗口比較器,實現了系統(tǒng)的低功耗,并且這種基于A/D轉換器的低功耗的鍵盤已經在實際的便攜式測量儀器中得到應用,有效的解決了系統(tǒng)中I/O管腳緊張的問題,降低了系統(tǒng)的成本。
評論