PS_2接口協(xié)議解析與應用知識_第1頁
PS_2接口協(xié)議解析與應用知識_第2頁
PS_2接口協(xié)議解析與應用知識_第3頁
PS_2接口協(xié)議解析與應用知識_第4頁
PS_2接口協(xié)議解析與應用知識_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、5 / 5PS-2接口協(xié)議解析與應用摘要:文中詳細介紹了PS/2接口協(xié)議的容、電氣特性和標準鍵盤的第二套鍵盤掃描碼集。給出了基于嵌入式系統(tǒng)的PS/2接口的軟、硬件實現(xiàn)方法,并介紹了工控PC外接雙鍵盤的解決方案。通過使用模擬開關CD4052巧妙地解決了工控PC外接雙鍵盤的沖突問題。 關鍵詞:PS/2接口;串行通訊;單片機;鍵盤;CD4052 接口標準的發(fā)展過程隨著計算機工業(yè)的發(fā)展,作為計算機最常用輸入設備的鍵盤也日新月異。年推出了 鍵盤與其接口標準。該標準定義了鍵,采用腳連接器和簡單的串行協(xié)議。實際上,第一套鍵盤掃描碼集并沒有主機到鍵盤的命令。為此,年推出了 鍵盤接口標準。該標準定義了鍵,采用腳

2、連接器和雙向串行通訊協(xié)議,此協(xié)議依照第二套鍵盤掃描碼集設有個主機到鍵盤的命令。到了年,又推出了鍵盤接口標準。該標準仍舊定義了鍵,但是采用腳連接器,該連接器在封裝上更小巧,仍然用雙向串行通訊協(xié)議并且提供有可選擇的第三套鍵盤掃描碼集,同時支持個主機到鍵盤的命令。現(xiàn)在,市面上的鍵盤都和與鍵盤兼容,只是功能不同而已。接口硬件 物理連接器一般,具有五腳連接器的鍵盤稱之為鍵盤,而具有六腳連接器的鍵盤則稱之為鍵盤。其實這兩種連接器都只有四個腳有意義。它們分別是(時鐘腳)、數(shù)據(jù)腳、(電源腳)和(電源地)。在鍵盤與機的物理連接上只要保證這四根線一一對應就可以了。鍵盤靠的端口提供電源,另外兩個腳(時鐘腳)和數(shù)據(jù)腳

3、都是集電極開路的,所以必須接大阻值的上拉電阻。它們平時保持高電平,有輸出時才被拉到低電平,之后自動上浮到高電平?,F(xiàn)在比較常用的連接器如圖所示。 電氣特性通訊協(xié)議是一種雙向同步串行通訊協(xié)議。通訊的兩端通過(時鐘腳)同步,并通過(數(shù)據(jù)腳)交換數(shù)據(jù)。任何一方如果想抑制另外一方通訊時,只需要把(時鐘腳)拉到低電平。如果是機和鍵盤間的通訊,則機必須做主機,也就是說,機可以抑制鍵盤發(fā)送數(shù)據(jù),而鍵盤則不會抑制機發(fā)送數(shù)據(jù)。一般兩設備間傳輸數(shù)據(jù)的最大時鐘頻率是,大多數(shù)設備工作在。推薦值在左右,也就是說,(時鐘腳)高、低電平的持續(xù)時間都為。每一數(shù)據(jù)幀包含個位,具體含義如表所列。數(shù)據(jù)幀格式說明1個起始位 總是邏輯0

4、 8個數(shù)據(jù)位 (LSB)低位在前 1個奇偶校驗位 奇校驗 1個停止位 總是邏輯1 1個應答位 僅用在主機對設備的通訊中 如果數(shù)據(jù)位中的個數(shù)為偶數(shù),校驗位就為;如果數(shù)據(jù)位中的個數(shù)為奇數(shù),校驗位就為;總之,數(shù)據(jù)位中的個數(shù)加上校驗位中的個數(shù)總為奇數(shù),因此總進行奇校驗。 設備和機的通訊設備的(時鐘腳)和數(shù)據(jù)腳都是集電極開路的,平時都是高電平。當設備等待發(fā)送數(shù)據(jù)時,它首先檢查(時鐘腳)以確認其是否為高電平。如果是低電平,則認為是機抑制了通訊,此時它必須緩沖需要發(fā)送的數(shù)據(jù)直到重新獲得總線的控制權(一般鍵盤有個字節(jié)的緩沖區(qū),而鼠標只有一個緩沖區(qū)僅存儲最后一個要發(fā)送的數(shù)據(jù))。如果(時鐘腳)為高電平,設備便開始

5、將數(shù)據(jù)發(fā)送到機。一般都是由設備產(chǎn)生時鐘信號。發(fā)送時一般都是按照數(shù)據(jù)幀格式順序發(fā)送。其中數(shù)據(jù)位在(時鐘腳)為高電平時準備好,在(時鐘腳)的下降沿被機讀入。設備到機的通訊時序如圖所示。當時鐘頻率為時,從(時鐘腳)的上升沿到數(shù)據(jù)位轉變時間至少要。數(shù)據(jù)變化到(時鐘腳)下降沿的時間至少也有 ,但不能大于 ,這是由通訊協(xié)議的時序規(guī)定的。如果時鐘頻率是其它值,參數(shù)的容應稍作調(diào)整。上述討論中傳輸?shù)臄?shù)據(jù)是指對特定鍵盤的編碼或者對特定命令的編碼。一般采用第二套掃描碼集所規(guī)定的碼值來編碼。其中鍵盤碼分為通碼()和斷碼()。通碼是按鍵接通時所發(fā)送的編碼,用兩位十六進制數(shù)來表示,斷碼通常是按鍵斷開時所發(fā)送的編碼,用四位

6、十六進制數(shù)來表示。 接口的嵌入式軟件編程方法設備主要用于產(chǎn)生同步時鐘信號和讀寫數(shù)據(jù)。 向機發(fā)送一個字節(jié)從向機發(fā)送一個字節(jié)可按照下面的步驟進行:()檢測時鐘線電平,如果時鐘線為低,則延時;()檢測判斷時鐘信號是否為高,為高,則向下執(zhí)行,為低,則轉到();()檢測數(shù)據(jù)線是否為高,如果為高則繼續(xù)執(zhí)行,如果為低,則放棄發(fā)送(此時機在向設備發(fā)送數(shù)據(jù),所以設備要轉移到接收程序處接收數(shù)據(jù));()延時(如果此時正在發(fā)送起始位,則應延時);()輸出起始位()到數(shù)據(jù)線上。這里要注意的是:在送出每一位后都要檢測時鐘線,以確保機沒有抑制設備,如果有則中止發(fā)送;()輸出個數(shù)據(jù)位到數(shù)據(jù)線上;()輸出校驗位;()輸出停止位

7、();()延時(如果在發(fā)送停止位時釋放時鐘信號則應延時);通過以下步驟可發(fā)送單個位:()準備數(shù)據(jù)位(將需要發(fā)送的數(shù)據(jù)位放到數(shù)據(jù)線上);()延時;()把時鐘線拉低;()延時;()釋放時鐘線;()延時。 設備從機接收一個字節(jié)由于設備能提供串行同步時鐘,因此,如果機發(fā)送數(shù)據(jù),則機要先把時鐘線和數(shù)據(jù)線置為請求發(fā)送的狀態(tài)。機通過下拉時鐘線大于來抑制通訊,并且通過下拉數(shù)據(jù)線發(fā)出請求發(fā)送數(shù)據(jù)的信號,然后釋放時鐘。當設備檢測到需要接收的數(shù)據(jù)時,它會產(chǎn)生時鐘信號并記錄下面?zhèn)€數(shù)據(jù)位和一個停止位。主機此時在時鐘線變?yōu)榈蜁r準備數(shù)據(jù)到數(shù)據(jù)線,并在時鐘上升沿鎖存數(shù)據(jù)。而設備則要配合機才能讀到準確的數(shù)據(jù)。具體連接步驟如下:

8、()等待時鐘線為高電平。()判斷數(shù)據(jù)線是否為低,為高則錯誤退出,否則繼續(xù)執(zhí)行。()讀地址線上的數(shù)據(jù)容,共個,每讀完一個位,都應檢測時鐘線是否被機拉低,如果被拉低則要中止接收。()讀地址線上的校驗位容,個。()讀停止位。()如果數(shù)據(jù)線上為(即還是低電平),設備繼續(xù)產(chǎn)生時鐘,直到接收到且產(chǎn)生出錯信號為止(因為停止位是,如果設備沒有讀到停止位,則表明此次傳輸出錯)。( 輸出應答位。() 檢測奇偶校驗位,如果校驗失敗,則產(chǎn)生錯誤信號以表明此次傳輸出現(xiàn)錯誤。()延時 ,以便機進行下一次傳輸。讀數(shù)據(jù)線的步驟如下:()延時;()把時鐘線拉低()延時()釋放時鐘線()延時()讀數(shù)據(jù)線。下面的步驟可用于發(fā)出應答

9、位;()延時;()把數(shù)據(jù)線拉低;()延時;()把時鐘線拉低;()延時;()釋放時鐘線;()延時;()釋放數(shù)據(jù)線。用于工控機的雙鍵盤設計工控機通常要接標準鍵盤,但是為了方便操作,常常需要外接一個專用鍵盤。此實例介紹了在工控機到總線上再接入一個自制專用鍵盤的應用方法。該設計應能保證兩個鍵盤單獨工作,而且相互不能影響。因此,不能直接把專用鍵盤和標準鍵盤一起接到工控的口。鑒于這種情況,本設計使用模擬開關并通過時分復用工控的口,來使在同一個時刻只有一個鍵盤有效,從而解決上述問題。其硬件原理圖如圖所示。其中口和口用于鍵盤掃描電路(圖中未畫出),為數(shù)據(jù)端,為時鐘端,為模擬開關選通端。由于專用鍵盤不需要接收工

10、控機的命令,所以軟件中并不需要寫這部分相應的代碼。通過軟件可在專用鍵盤復位后把清,以使模擬開關打開相應的通道。這時工控的標準鍵盤將開始工作。標準鍵盤可以完成工控剛啟動時對外設檢測的應答。復位后的專用鍵盤不停地掃描有沒有按鍵,如果有鍵按下則識別按鍵,并且按照預先的設計進行編碼,同時調(diào)用發(fā)送程序并通過口發(fā)送到工控。此時模擬開關關閉相應通道(將置),專用鍵盤接入工控 口的時鐘線和數(shù)據(jù)線而工作,但標準鍵盤被模擬開關從的時鐘線和數(shù)據(jù)線中斷而不工作,這樣,雙鍵盤便可時分復用同一個工控機的口。相應的發(fā)送子程序如下: 用做數(shù)據(jù)線 用做時鐘線 用做的端 用口做讀入口 用口做寫出口 可以實現(xiàn)個自定義鍵 ( ) - ,_; _; _ ();(;) _;(_)_!_; (!) ; ()_();() ; _();_();(;) ;_();_;(_);()();_();_(); _();_;_();_(); _(); _(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論