- 相關(guān)推薦
PS/2接口協(xié)議解析及應(yīng)用
摘要:文中詳細(xì)介紹了PS/2接口協(xié)議的內(nèi)容、電氣特性和標(biāo)準(zhǔn)鍵盤的第二套鍵盤掃描碼集。給出了基于嵌入式系統(tǒng)的PS/2接口的軟、硬件實(shí)現(xiàn)方法,并介紹了工控PC外接雙鍵盤的解決方案。通過使用模擬開關(guān)CD4052巧妙地解決了工控PC外接雙鍵盤的沖突問題。1 PS/2接口標(biāo)準(zhǔn)的發(fā)展過程
隨著計(jì)算機(jī)工業(yè)的發(fā)展,作為計(jì)算機(jī)最常用輸入設(shè)備的鍵盤也日新月異。1981年IBM推出了IBM PC/XT鍵盤及其接口標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)定義了83鍵,采用5腳DIN連接器和簡(jiǎn)單的串行協(xié)議。實(shí)際上,第一套鍵盤掃描碼集并沒有主機(jī)到鍵盤的命令。為此,1984年IBM推出了IBM AT鍵盤接口標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)定義了84~101鍵,采用5腳DIN連接器和雙向串行通訊協(xié)議,此協(xié)議依照第二套鍵盤掃描碼集設(shè)有8?jìng)(gè)主機(jī)到鍵盤的命令。到了1987年,IBM又推出了PS/2鍵盤接口標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)仍舊定義了84~101鍵,但是采用6腳mini-DIN連接器,該連接器在封裝上更小巧,仍然用雙向串行通訊協(xié)議并且提供有可選擇的第三套鍵盤掃描碼集,同時(shí)支持17個(gè)主機(jī)到鍵盤的命令,F(xiàn)在,市面上的鍵盤都和PS/2及AT鍵盤兼容,只是功能不同而已。
2。校樱步涌谟布
2.1 物理連接器
一般,具有五腳連接器的鍵盤稱之為AT鍵盤,而具有六腳mini-DIN連接器的鍵盤則稱之為PS/2鍵盤。其實(shí)這兩種連接器都只有四個(gè)腳有意義。它們分別是Clock(時(shí)鐘腳)、Data?數(shù)據(jù)腳?、+5V(電源腳)和Ground(電源地)。在PS/2鍵盤與PC機(jī)的物理連接上只要保證這四根線一一對(duì)應(yīng)就可以了。PS/2鍵盤靠PC的PS/2端口提供+5V電源,另外兩個(gè)腳Clock(時(shí)鐘腳)和Data?數(shù)據(jù)腳?都是集電極開路的,所以必須接大阻值的上拉電阻。它們平時(shí)保持高電平,有輸出時(shí)才被拉到低電平,之后自動(dòng)上浮到高電平,F(xiàn)在比較常用的連接器如圖1所示。
2.2 電氣特性
PS/2通訊協(xié)議是一種雙向同步串行通訊協(xié)議。通訊的兩端通過Clock(時(shí)鐘腳)同步,并通過Data(數(shù)據(jù)腳)交換數(shù)據(jù)。任何一方如果想抑制另外一方通訊時(shí),只需要把Clock(時(shí)鐘腳)拉到低電平。如果是PC機(jī)和PS/2鍵盤間的通訊,則PC機(jī)必須做主機(jī),也就是說,PC機(jī)可以抑制PS/2鍵盤發(fā)送數(shù)據(jù),而PS/2鍵盤則不會(huì)抑制PC機(jī)發(fā)送數(shù)據(jù)。一般兩設(shè)備間傳輸數(shù)據(jù)的最大時(shí)鐘頻率是33kHz,大多數(shù)PS/2設(shè)備工作在10~20kHz。推薦值在15kHz左右,也就是說,Clock(時(shí)鐘腳)高、低電平的持續(xù)時(shí)間都為40μs。每一數(shù)據(jù)幀包含11~12個(gè)位,具體含義如表1所列。
表1 數(shù)據(jù)幀格式說明
表中,如果數(shù)據(jù)位中1的個(gè)數(shù)為偶數(shù),校驗(yàn)位就為1;如果數(shù)據(jù)位中1的個(gè)數(shù)為奇數(shù),校驗(yàn)位就為0;總之,數(shù)據(jù)位中1的個(gè)數(shù)加上校驗(yàn)位中1的個(gè)數(shù)總為奇數(shù),因此總進(jìn)行奇校驗(yàn)。
2.3 PS/2設(shè)備和PC機(jī)的通訊
PS/2設(shè)備的Clock(時(shí)鐘腳)和Data?數(shù)據(jù)腳?都是集電極開路的,平時(shí)都是高電平。當(dāng)PS/2設(shè)備等待發(fā)送數(shù)據(jù)時(shí),它首先檢查Clock(時(shí)鐘腳)以確認(rèn)其是否為高電平。如果是低電平,則認(rèn)為是PC機(jī)抑制了通訊,此時(shí)它必須緩沖需要發(fā)送的數(shù)據(jù)直到重新獲得總線的控制權(quán)(一般PS/2鍵盤有16個(gè)字節(jié)的緩沖區(qū),而PS/2鼠標(biāo)只有一個(gè)緩沖區(qū)僅存儲(chǔ)最后一個(gè)要發(fā)送的數(shù)據(jù))。如果Clock(時(shí)鐘腳)為高電平,PS/2設(shè)備便開始將數(shù)據(jù)發(fā)送到PC機(jī)。一般都是由PS/2設(shè)備產(chǎn)生時(shí)鐘信號(hào)。發(fā)送時(shí)一般都是按照數(shù)據(jù)幀格式順序發(fā)送。其中數(shù)據(jù)位在Clock(時(shí)鐘腳)為高電平時(shí)準(zhǔn)備好,在Clock(時(shí)鐘腳)的下降沿被PC機(jī)讀入。PS/2設(shè)備到PC機(jī)的通訊時(shí)序如圖2所示。
當(dāng)時(shí)鐘頻率為15kHz時(shí),從Clock(時(shí)鐘腳)的上升沿到數(shù)據(jù)位轉(zhuǎn)變時(shí)間至少要5μs。數(shù)據(jù)變化到Clock(時(shí)鐘腳)下降沿的時(shí)間至少也有5 μs,但不能大于25 μs,這是由PS/2通訊協(xié)議的時(shí)序規(guī)定的。如果時(shí)鐘頻率是其它值,參數(shù)的內(nèi)容應(yīng)稍作調(diào)整。
上述討論中傳輸?shù)臄?shù)據(jù)是指對(duì)特定鍵盤的編碼或者對(duì)特定命令的編碼。一般采用第二套掃描碼集所規(guī)定的碼值來編碼。其中鍵盤碼分為通碼(Make)和斷碼(Break)。通碼是按鍵接通時(shí)所發(fā)送的編碼,用兩位十六進(jìn)制數(shù)來表示,斷碼通常是按鍵斷開時(shí)所發(fā)送的編碼,用四位十六進(jìn)制數(shù)來表示。
3 PS/2接口的嵌入式軟件編程方法
PS/2設(shè)備主要用于產(chǎn)生同步時(shí)鐘信號(hào)和讀寫數(shù)據(jù)。
3.1 PS/2向PC機(jī)發(fā)送一個(gè)字節(jié)
從PS/2向PC機(jī)發(fā)送一個(gè)字節(jié)可按照下面的步驟進(jìn)行:
(1)檢測(cè)時(shí)鐘線電平,如果時(shí)鐘線為低,則延時(shí)50μs;
(2)檢測(cè)判斷時(shí)鐘信號(hào)是否為高,為高,則向下執(zhí)行,為低,則轉(zhuǎn)到(1);
(3)檢測(cè)數(shù)據(jù)線是否為高,如果為高則繼續(xù)執(zhí)行,如果為低,則放棄發(fā)送(此時(shí)PC機(jī)在向PS/2設(shè)備發(fā)送數(shù)據(jù),所以PS/2設(shè)備要轉(zhuǎn)移到接收程序處接收數(shù)據(jù));
(4)延時(shí)20μs(如果此時(shí)正在發(fā)送起始位,則應(yīng)延時(shí)40μ
【PS/2接口協(xié)議解析及應(yīng)用】相關(guān)文章:
電壓電流轉(zhuǎn)換接口AM442原理及應(yīng)用05-29
數(shù)字視頻接口-DVI 1.005-31
ISDN網(wǎng)與普通電話接口(POTS)設(shè)計(jì)05-29
SSL協(xié)議的安全性分析和應(yīng)用研究05-13
液氫的生產(chǎn)及應(yīng)用09-12
碩士論文寫作要點(diǎn)解析08-15
從詩文解析唐代民間體育習(xí)俗08-13