如何設計嵌入式輸入設備?
嵌入式系統可以對各種數據信息進(jìn)行快速計算、分析、輸出,即完成對數據的處理,但很多時(shí)候就需要用戶(hù)“告訴”系統如何執行下一步動(dòng)作,這時(shí),就需要使用輸入設備將用戶(hù)的“指示”或“依據”傳遞給嵌入式系統。
本文引用地址:http://dyxdggzs.com/article/201807/384002.htm
常見(jiàn)的人機交互輸入設備包括按鍵、觸摸屏、麥克風(fēng)及其他各類(lèi)用戶(hù)可控輸入的傳感器等。隨著(zhù)科技的發(fā)展,不僅我們常見(jiàn)的交互輸入設備出現了新的形態(tài),而且也出現了不少新的交互輸入方式。比如,現在手機中的電容按鍵及重力感應傳感器、距離傳感器?,F在的交互設備不僅體現在硬件設備的復雜性上,而且在相關(guān)數據的復雜性上也與以往有了較大的增加。比如,可用于語(yǔ)音輸入的麥克和可用于人臉識別的攝像頭,為了完成這些人機交互輸入,除了硬件輸入設備對信息采集外,還需要后臺進(jìn)行大量的數據處理,以幫助系統“理解”用戶(hù)的“輸入信息”。
下面我們詳細介紹最常用的輸入設備:鍵盤(pán)/按鍵。

圖 1 最常用的輸入設備鍵盤(pán)
鍵盤(pán)
鍵盤(pán)是嵌入式應用的常用外部設備之一。鍵盤(pán)是由若干個(gè)按鍵組成的開(kāi)關(guān)矩陣,它是最簡(jiǎn)單的數字量輸入設備。對系統而言,鍵盤(pán)上不同的按鍵代表著(zhù)不同的含義(一般來(lái)說(shuō),按鍵的含義可通過(guò)軟件定義)。用戶(hù)通過(guò)按動(dòng)鍵盤(pán)的按鍵,輸入數據或命令,實(shí)現簡(jiǎn)單的人機交互。
1、鍵盤(pán)的基本電路
鍵盤(pán)的基本電路是一個(gè)接觸開(kāi)關(guān),通、斷兩種狀態(tài)分別表示邏輯“0”和“1”。如圖2所示,當開(kāi)關(guān)打開(kāi)時(shí),處理器檢測到相應引腳為高電平,表示邏輯“1”;當開(kāi)關(guān)閉合時(shí),處理器檢測到相應引腳為低電平,表示邏輯“0”。
2、鍵盤(pán)的分類(lèi)
按鍵排布的方式,鍵盤(pán)可分為可分成獨立式按鍵鍵盤(pán)和矩陣式按鍵鍵盤(pán);按讀入鍵值的方式,可分為直讀方式和掃描方式;按編碼方式,可分成非編碼方式和硬件編碼方式;按微處理器響應方式可分為中斷方式和查詢(xún)方式。以上各種方式組合可構成不同硬件結構和接口的鍵盤(pán)。以下介紹較為常用的兩種方式。
①獨立式
獨立式按鍵鍵盤(pán)是指將每個(gè)獨立按鍵按一對一的方式直接接到微處理器的I/O輸入端口,如圖2所示。讀鍵值時(shí),處理器可以檢測相應I/O輸入端口的狀態(tài),判定輸入電平,確定輸入的邏輯值。按鍵之間在硬件和讀取方式上均相互獨立,所以習慣稱(chēng)這種按鍵為獨立式按鍵。這種方式在軟硬件上實(shí)現均比較簡(jiǎn)單,但每一個(gè)按鍵都占用一個(gè)I/O端口,占用的資源較多,一般在按鍵數量較少,微處理器I/O資源充足時(shí)采用。

圖 2 鍵盤(pán)模型及按鍵抖動(dòng)示意圖
②矩陣式
矩陣式鍵盤(pán)是用n條I/O線(xiàn)組成行輸入口,m條I/O線(xiàn)組成列輸出口,在行列線(xiàn)的每一個(gè)交點(diǎn)上設置一個(gè)按鍵。如圖3(b)所示,為一個(gè)4行4列的矩陣鍵盤(pán)。矩陣式鍵盤(pán)讀取鍵值一般采用逐行掃描的方式,即輸出口按位輪換輸出低電平,再從輸入口讀入信息,最后計算各次從輸入口讀取的信息,獲得鍵碼。例如,將row0~3配置為輸出模式,col0~3配置為輸入模式;現將row0輸出低電平,row1~3輸出高電平,讀取col0~3;如果此時(shí)第0行0列的按鍵有按下,則col0檢測到輸入為低電平,其他列為高電平。這種方式占用I/O線(xiàn)較少,在按鍵較多的應用中采用較多。
設計鍵盤(pán)時(shí),通常小于4個(gè)按鍵的應用,可以使用獨立式接口。如果按鍵較多,為了減少微處理器的I/O端口的占用,可以使用矩陣式鍵盤(pán)。

圖3 獨立鍵盤(pán)與矩陣鍵盤(pán)
另外,如果使用處理器I/O直接與矩陣鍵盤(pán)接口相連,上述矩陣鍵盤(pán)的檢測方式需要處理器不斷對接口掃描檢測。對速度較快的處理器來(lái)說(shuō),這種檢測方式是對處理器的極大浪費。所以實(shí)際應用中建議使用專(zhuān)門(mén)的矩陣鍵盤(pán)的驅動(dòng)芯片或I/O擴展芯片,來(lái)實(shí)現對矩陣鍵盤(pán)的檢測,比如ZLG7290、CAT9555等擴展芯片。使用驅動(dòng)或I/O擴展芯片,可以將處理器從簡(jiǎn)單但頻繁的鍵盤(pán)掃描動(dòng)作中解放出來(lái)。如圖4為ZLG7290實(shí)現矩陣鍵盤(pán)應用的基本電路,該芯片支持2×8個(gè)I/O擴展,采用I2C接口與處理器連接,并支持中斷輸出,最大可擴展8×8的矩陣鍵盤(pán),。

圖 4 ZLG7290矩陣鍵盤(pán)電路
評論