節(jié)能的雙線、4×4按鍵鍵盤接口
可以用帶有 ADC 的微控制器設(shè)計(jì)一個(gè)雙線加接地組成的鍵盤接口。例如,可以用一個(gè)電阻分壓器判定一個(gè)按下的鍵(參考文獻(xiàn) 1)。微控制器的整合 ADC,其輸入電阻一般在數(shù)百千歐量級(jí),為了有足夠的精度,鍵盤分壓器應(yīng)該具有相對(duì)較低電阻值,一般為數(shù)十千歐量級(jí)。但是,在電池供電系統(tǒng)中,電阻分壓器會(huì)消耗數(shù)百毫安電流,這迫使設(shè)計(jì)者選擇經(jīng)典的數(shù)字矩陣開關(guān)和多條 I/O 線作替代。此外,便攜設(shè)備設(shè)計(jì)通常也限制了元件的數(shù)量。
本文引用地址:http://m.butianyuan.cn/article/202252.htm為滿足這兩個(gè)要求,圖 1 中的電路采用了一個(gè)矩陣鍵盤和一個(gè)分為兩行、兩列的電阻網(wǎng)絡(luò)。對(duì)于 4 X 4 按鍵的鍵盤,7 只電阻器就足以為所有按鍵編碼,電路只在一個(gè)鍵保持閉合時(shí)消耗能量。而當(dāng)沒有按下任何按鍵時(shí),待機(jī)電流近似為零。只用到兩種阻值的電阻器,使 RA=RB=RC=R1和RD=RE=RF=RG=R2。為按鍵的x和y地址設(shè)定從0 ~ 3的值,通過解算下式,可以計(jì)算出任何鍵閉合時(shí)電阻器RG上的電壓:
ADC的基準(zhǔn)電壓VREF驅(qū)動(dòng)電阻器陣列,這樣就可以進(jìn)行一種比例變換,消除由于VREF波動(dòng)導(dǎo)致的按鍵編碼錯(cuò)誤。下式描述了任何擊鍵的分壓比r(x,y)。
p=R1/R2表示行、列組電阻器阻值之間的比率。對(duì)于p=4,可以計(jì)算出 16 個(gè) r(x,y) 值,它們?cè)?[1/16, 1] 范圍內(nèi),是按鍵位置的函數(shù)。一般來說,r分隔比率之間的最小差值出現(xiàn)在最靠近的鍵上,如 (3,2) 和 (3,3) 等 x,y 表示的鍵。對(duì)于一個(gè) N 位 ADC 和 p=4的比率而言,ADC 的分辨率應(yīng)滿足下式:2-N-1-16-1=240-1。電路需要一個(gè)至少8位分辨率的ADC(N≥8位)。
不妙的是,標(biāo)準(zhǔn)值元件的標(biāo)稱容限 T 不能為此式提供理想的解決方案。于是,可以計(jì)算出最差情況下的分隔比率差:d=r(3,2)-r(3,3)。d 的最小值出現(xiàn)在RG與RD最小值和RA、RB、RC、RE與RF最大值時(shí)。你可以計(jì)算所有電阻器阻值,并為R1和R2的標(biāo)稱值定義一個(gè)通用比率p:
相同的T值適用于所有電阻器。如果n=8及p=4,前式可算出結(jié)果為 T0.018,表示±1%公差的電阻器可以正確完成16個(gè)鍵的編碼。另外,如果你現(xiàn)在使用固定公差T,可以從式中算出R1和R2值之間對(duì)p比率所要求的極限。如果T=0.01,則該公式計(jì)算出的結(jié)果變?yōu)閜4.074。
圖2中的電路采用Freescale的 Nitron MC68HC908QT4微處理器,用作基于上述計(jì)算值的鍵盤測(cè)試基礎(chǔ),用電源電壓VCC作為電阻器矩陣的基準(zhǔn)電壓VREF。為滿足p(4.074>p>4)的要求,使用±1%公差的R1=10 kΩ和R2=40.2 kΩ,E48系列標(biāo)準(zhǔn)電阻可提供這兩種標(biāo)準(zhǔn)值。表1列出了對(duì)應(yīng)于16個(gè)按鍵的輸出碼,表2 則是同時(shí)按下兩個(gè)鍵時(shí)獲得的數(shù)據(jù),表明雙鍵組合可以得到特殊功能。
如果你的應(yīng)用需要缺少由ADC產(chǎn)生內(nèi)部中斷的微控制器,可以如圖 1所示將一個(gè)外部比較器連接到輸出電壓上。使比較器的閾值低于輸出電壓端的最低電壓(例子中大約是VREF除16),比較器的輸出作為微控制器的鍵盤中斷源。
注意有10位ADC的微控制器(如Freescale的MC68HC908QB或Texas Instruments MSP430F11)可以用在10個(gè)電阻器編碼的5 X 6鍵盤矩陣。重復(fù)上述分析可得到,行列p比率為5 ~ 5.51,所需電阻器公差低于4.3%,即可正確完成按鍵編碼。R1和R2都可以從±1%公差的E48 系列中選取,R1選10 kΩ,R2則選51.1 kΩ或53.6 kΩ。
參考文獻(xiàn)
1. Amorim, Vitor, and J Simoes, ADC circuit optimizes key encoding, EDN, Feb 4, 1999, pg 101,
作者:Stefano Salvatori, University of Rome, Rome, Italy, and Gabriele Di Nucci, EngSistemi, Rome, Italy
更多計(jì)算機(jī)與外設(shè)信息請(qǐng)關(guān)注:21ic計(jì)算機(jī)與外設(shè)頻道
評(píng)論