省電型鍵盤通過MCU管腳控制多路按鍵
傳統(tǒng)上,與n乘m鍵盤連接的微型控制器要求微型控制器的I/O管腳的n+m為鍵盤掃描。鍵盤設(shè)計保留了微型控制器已經(jīng)被開發(fā)出來的管腳,但是它們要求額外的資源,例如外部的ICs或一個內(nèi)置的模數(shù)轉(zhuǎn)換器(ADC)。本設(shè)計這里只利用了一個I/O管腳,并且要求僅將電阻和電容作為外部元件。
本文引用地址:http://www.ex-cimer.com/article/202395.htmI/O是一個開頭被配置作為輸入的雙向管腳(見圖)。當(dāng)沒有按鍵被按下時,電容被放電,并且上拉電阻RH保持I/O為高。微型控制器處于休眠模式,并且只有在I/O狀態(tài)改變引起中斷時才會醒來。當(dāng)按鍵被按下,I/O變低,因?yàn)橄吕W(wǎng)絡(luò)比上拉作用更強(qiáng)些。微型控制器隨后醒來執(zhí)行以下步驟:
1. 等待聯(lián)絡(luò)消除抖動。
2. 把I/O變?yōu)檩敵霾⒃O(shè)置高。 電容隨后開始充電到高狀態(tài)電壓。 充電的時間Ti取決于按鍵被按下和與其關(guān)聯(lián)的R (1,2,…i)。
3. 等待直到T1到來。
4. 使I/O作為輸入。充電到C暫停。
5. 如果I/O為高,按鍵1被按下。 如果I/O為低,使I/O作為輸出并置高來持續(xù)充電。
6. 等待直到T2到來。
7. 使I/O作為輸入。 充電到C暫停。
8. 如果I/O為高,按鍵2被按下。 如果I/O為低,使I/O作為輸出并置高來持續(xù)充電。
9. 通過Ti持續(xù)到T3。
應(yīng)該選擇電阻使T1
充電時間可被確定如下:當(dāng)充電暫停時,在I/O的電壓(式1)是VC為電容電壓(式2)。式3通過使VI/O與開關(guān)門限電壓VTH相等解答了充電的時間。這里,VTH是I/O的開關(guān)門限電壓。
隨著Ri增加,Ti最初增加。但隨后它達(dá)到最大值并開始減少。這就給Ri,并因此給可以連接到電路中的按鍵數(shù)量強(qiáng)加了一個上限。
Ti可能會在Ti,min和Ti,max之間變化,由于在VTH上電阻的容差和變化。所以,應(yīng)該選擇數(shù)值使Ti,max
這個設(shè)計用三種方式節(jié)省功率。首先,每次電容被充電到V并被放電,CV2能量都被消散。在本設(shè)計中,只要I/O變高且電容被充電到大約VTH(少于2V),而不是VDD,則充電停止。其次,當(dāng)每個按鍵被按下電容只充電(和放電)一次。最后一條,在確定哪個按鍵被按下后,微型控制器進(jìn)入休眠模式并保持休眠,直到按鍵被釋放且I/O變回到高。所以既使當(dāng)某些按鍵陷入或卡住時,功率消耗是最小的。
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評論