【E問(wèn)E答】如何設(shè)計(jì)嵌入式輸入設(shè)備?
嵌入式系統(tǒng)可以對(duì)各種數(shù)據(jù)信息進(jìn)行快速計(jì)算、分析、輸出,即完成對(duì)數(shù)據(jù)的處理,但很多時(shí)候就需要用戶“告訴”系統(tǒng)如何執(zhí)行下一步動(dòng)作,這時(shí),就需要使用輸入設(shè)備將用戶的“指示”或“依據(jù)”傳遞給嵌入式系統(tǒng)。
本文引用地址:http://www.ex-cimer.com/article/201709/364019.htm
常見(jiàn)的人機(jī)交互輸入設(shè)備包括按鍵、觸摸屏、麥克風(fēng)及其他各類(lèi)用戶可控輸入的傳感器等。隨著科技的發(fā)展,不僅我們常見(jiàn)的交互輸入設(shè)備出現(xiàn)了新的形態(tài),而且也出現(xiàn)了不少新的交互輸入方式。比如,現(xiàn)在手機(jī)中的電容按鍵及重力感應(yīng)傳感器、距離傳感器。現(xiàn)在的交互設(shè)備不僅體現(xiàn)在硬件設(shè)備的復(fù)雜性上,而且在相關(guān)數(shù)據(jù)的復(fù)雜性上也與以往有了較大的增加。比如,可用于語(yǔ)音輸入的麥克和可用于人臉識(shí)別的攝像頭,為了完成這些人機(jī)交互輸入,除了硬件輸入設(shè)備對(duì)信息采集外,還需要后臺(tái)進(jìn)行大量的數(shù)據(jù)處理,以幫助系統(tǒng)“理解”用戶的“輸入信息”。
下面我們?cè)敿?xì)介紹最常用的輸入設(shè)備:鍵盤(pán)/按鍵。
圖 1 最常用的輸入設(shè)備鍵盤(pán)
鍵盤(pán)
鍵盤(pán)是嵌入式應(yīng)用的常用外部設(shè)備之一。鍵盤(pán)是由若干個(gè)按鍵組成的開(kāi)關(guān)矩陣,它是最簡(jiǎn)單的數(shù)字量輸入設(shè)備。對(duì)系統(tǒng)而言,鍵盤(pán)上不同的按鍵代表著不同的含義(一般來(lái)說(shuō),按鍵的含義可通過(guò)軟件定義)。用戶通過(guò)按動(dòng)鍵盤(pán)的按鍵,輸入數(shù)據(jù)或命令,實(shí)現(xiàn)簡(jiǎn)單的人機(jī)交互。
1、鍵盤(pán)的基本電路
鍵盤(pán)的基本電路是一個(gè)接觸開(kāi)關(guān),通、斷兩種狀態(tài)分別表示邏輯“0”和“1”。如圖2所示,當(dāng)開(kāi)關(guān)打開(kāi)時(shí),處理器檢測(cè)到相應(yīng)引腳為高電平,表示邏輯“1”;當(dāng)開(kāi)關(guān)閉合時(shí),處理器檢測(cè)到相應(yīng)引腳為低電平,表示邏輯“0”。
2、鍵盤(pán)的分類(lèi)
按鍵排布的方式,鍵盤(pán)可分為可分成獨(dú)立式按鍵鍵盤(pán)和矩陣式按鍵鍵盤(pán);按讀入鍵值的方式,可分為直讀方式和掃描方式;按編碼方式,可分成非編碼方式和硬件編碼方式;按微處理器響應(yīng)方式可分為中斷方式和查詢方式。以上各種方式組合可構(gòu)成不同硬件結(jié)構(gòu)和接口的鍵盤(pán)。以下介紹較為常用的兩種方式。
?、侏?dú)立式
獨(dú)立式按鍵鍵盤(pán)是指將每個(gè)獨(dú)立按鍵按一對(duì)一的方式直接接到微處理器的I/O輸入端口,如圖2所示。讀鍵值時(shí),處理器可以檢測(cè)相應(yīng)I/O輸入端口的狀態(tài),判定輸入電平,確定輸入的邏輯值。按鍵之間在硬件和讀取方式上均相互獨(dú)立,所以習(xí)慣稱(chēng)這種按鍵為獨(dú)立式按鍵。這種方式在軟硬件上實(shí)現(xiàn)均比較簡(jiǎn)單,但每一個(gè)按鍵都占用一個(gè)I/O端口,占用的資源較多,一般在按鍵數(shù)量較少,微處理器I/O資源充足時(shí)采用。
圖 2 鍵盤(pán)模型及按鍵抖動(dòng)示意圖
②矩陣式
矩陣式鍵盤(pán)是用n條I/O線組成行輸入口,m條I/O線組成列輸出口,在行列線的每一個(gè)交點(diǎn)上設(shè)置一個(gè)按鍵。如圖3(b)所示,為一個(gè)4行4列的矩陣鍵盤(pán)。矩陣式鍵盤(pán)讀取鍵值一般采用逐行掃描的方式,即輸出口按位輪換輸出低電平,再?gòu)妮斎肟谧x入信息,最后計(jì)算各次從輸入口讀取的信息,獲得鍵碼。例如,將row0~3配置為輸出模式,col0~3配置為輸入模式;現(xiàn)將row0輸出低電平,row1~3輸出高電平,讀取col0~3;如果此時(shí)第0行0列的按鍵有按下,則col0檢測(cè)到輸入為低電平,其他列為高電平。這種方式占用I/O線較少,在按鍵較多的應(yīng)用中采用較多。
設(shè)計(jì)鍵盤(pán)時(shí),通常小于4個(gè)按鍵的應(yīng)用,可以使用獨(dú)立式接口。如果按鍵較多,為了減少微處理器的I/O端口的占用,可以使用矩陣式鍵盤(pán)。
圖3 獨(dú)立鍵盤(pán)與矩陣鍵盤(pán)
另外,如果使用處理器I/O直接與矩陣鍵盤(pán)接口相連,上述矩陣鍵盤(pán)的檢測(cè)方式需要處理器不斷對(duì)接口掃描檢測(cè)。對(duì)速度較快的處理器來(lái)說(shuō),這種檢測(cè)方式是對(duì)處理器的極大浪費(fèi)。所以實(shí)際應(yīng)用中建議使用專(zhuān)門(mén)的矩陣鍵盤(pán)的驅(qū)動(dòng)芯片或I/O擴(kuò)展芯片,來(lái)實(shí)現(xiàn)對(duì)矩陣鍵盤(pán)的檢測(cè),比如ZLG7290、CAT9555等擴(kuò)展芯片。使用驅(qū)動(dòng)或I/O擴(kuò)展芯片,可以將處理器從簡(jiǎn)單但頻繁的鍵盤(pán)掃描動(dòng)作中解放出來(lái)。如圖4為ZLG7290實(shí)現(xiàn)矩陣鍵盤(pán)應(yīng)用的基本電路,該芯片支持2×8個(gè)I/O擴(kuò)展,采用I2C接口與處理器連接,并支持中斷輸出,最大可擴(kuò)展8×8的矩陣鍵盤(pán),。
圖 4 ZLG7290矩陣鍵盤(pán)電路
評(píng)論