PS 2的相關知識

2022-08-17 20:03:12 字數 4956 閱讀 5862

ps/2介面

很多微機上採用ps/2口來連線滑鼠和鍵盤。

ps/2

介面與傳統的鍵盤介面除了在介面外型、引腳有不同外

,在資料傳送格式上是相同的。現在很多主機板用

ps/2

介面插座連線鍵盤

,傳統介面的鍵盤可以通過

ps/2

介面轉換器連線主機板

ps/2

介面插座。

1 ps/

2介面標準的發展過程

隨著計算機工業的發展,作為計算機最常用輸入裝置的鍵盤也日新月異。2023年

ibm推出了

ibm pc/xt

鍵盤及其介面標準。該標準定義了

83鍵,採用5腳

din聯結器和簡單的序列協議。實際上,第一套鍵盤掃瞄碼集並沒有主機到鍵盤的命令。為此,

1984

年ibm

推出了ibm at

鍵盤介面標準。該標準定義了84~

101鍵,採用5腳

din聯結器和雙向序列通訊協議,此協議依照第二套鍵盤掃瞄碼集設有

8個主機到鍵盤的命令。到了

1987

年,ibm

又推出了ps/

2鍵盤介面標準。該標準仍舊定義了84~

101鍵,但是採用6腳

mini

-din

聯結器,該聯結器在封裝上更小巧,仍然用雙向序列通訊協議並且提供有可選擇的第三套鍵盤掃瞄碼集,同時支援

17個主機到鍵盤的命令。現在,市面上的鍵盤都和ps/

2及at鍵盤相容,只是功能不同而已。

2 ps/

2介面硬體

2.1

物理聯結器

一般,具有五腳聯結器的鍵盤稱之為at鍵盤,而具有六腳

mini

-din

聯結器的鍵盤則稱之為ps/

2鍵盤。其實這兩種聯結器都只有四個腳有意義。它們分別是

clock

(時鐘腳)、

data

資料腳 、+

5v(電源腳)和

ground

(電源地)。在ps/

2鍵盤與

pc機的物理連線上只要保證這四根線一一對應就可以了。ps/

2鍵盤靠pc的

ps/2埠提供+

5v電源,另外兩個腳

clock

(時鐘腳)和

data

資料腳 都是集電極開路的,所以必須接大阻值的上拉電阻。它們平時保持高電平,有輸出時才被拉到低電平,之後自動上浮到高電平。現在比較常用的聯結器如圖

1所示。

2.2

電氣特性

ps/2

通訊協議是一種雙向同步序列通訊協議。通訊的兩端通過

clock

(時鐘腳)同步,並通過

data

(資料腳)交換資料。任何一方如果想抑制另外一方通訊時,只需要把

clock

(時鐘腳)拉到低電平。如果是

pc機和ps/

2鍵盤間的通訊,則

pc機必須做主機,也就是說,

pc機可以抑制ps/

2鍵盤傳送資料,而ps/

2鍵盤則不會抑制

pc機傳送資料。一般兩裝置間傳輸資料的最大時鐘頻率是

33khz

,大多數ps/

2裝置工作在10~

20khz

。推薦值在

15khz

左右,也就是說,

clock

(時鐘腳)高、低電平的持續時間都為

40μs

。每一資料幀包含11~

12個位,具體含義如表

1所列。

表1 資料幀格式說明

1個起始位 總是邏輯

0 8個資料位 (

lsb)低位在前

1個奇偶校驗位 奇校驗

1個停止位 總是邏輯

1 1個應答位 僅用在主機對裝置的通訊中

表中,如果資料位中1的個數為偶數,校驗位就為

1;如果資料位中

1的個數為奇數,校驗位就為

0;總之,資料位中

1的個數加上校驗位中

1的個數總為奇數,因此總進行奇校驗。

2.3 ps/2

裝置和pc

機的通訊

ps/2

裝置的clock

(時鐘腳)和

data

資料腳 都是集電極開路的,平時都是高電平。當ps/

2裝置等待傳送資料時,它首先檢查

clock

(時鐘腳)以確認其是否為高電平。如果是低電平,則認為是

pc機抑制了通訊,此時它必須緩衝需要傳送的資料直到重新獲得匯流排的控制權(一般ps/

2鍵盤有

16個位元組的緩衝區,而ps/

2滑鼠只有乙個緩衝區僅儲存最後乙個要傳送的資料)。如果

clock

(時鐘腳)為高電平,ps/

2裝置便開始將資料傳送到

pc機。一般都是由ps/

2裝置產生時鐘訊號。傳送時一般都是按照資料幀格式順序傳送。其中資料位在

clock

(時鐘腳)為高電平時準備好,在

clock

(時鐘腳)的下降沿被

pc機讀入。ps/

2裝置到

pc機的通訊時序如圖

2所示。

當時鐘頻率為15khz時,從

clock

(時鐘腳)的上公升沿到資料位轉變時間至少要

5μs。資料變化到

clock

(時鐘腳)下降沿的時間至少也有

5 μs

,但不能大於

25 μs

,這是由ps/

2通訊協議的時序規定的。如果時鐘頻率是其它值,引數的內容應稍作調整。

上述討論中傳輸的資料是指對特定鍵盤的編碼或者對特定命令的編碼。一般採用第二套掃瞄碼集所規定的碼值來編碼。其中鍵盤碼分為通碼(make)和斷碼(

break

)。通碼是按鍵接通時所傳送的編碼,用兩位十六進製制數來表示,斷碼通常是按鍵斷開時所傳送的編碼,用四位十六進製制數來表示。

3 ps/

2介面的嵌入式軟體程式設計方法

ps/2

裝置主要用於產生同步時鐘訊號和讀寫資料。

3.1 ps/2

向pc機傳送乙個位元組

從ps/2向

pc機傳送乙個位元組可按照下面的步驟進行:

(1)檢測時鐘線電平,如果時鐘線為低,則延時

50μs

;(2)檢測判斷時鐘訊號是否為高,為高,則向下執行,為低,則轉到

(1);

(3)檢測資料線是否為高,如果為高則繼續執行,如果為低,則放棄傳送(此時

pc機在向ps/

2裝置傳送資料,所以ps/

2裝置要轉移到接收程式處接收資料);

(4)延時

20μs

(如果此時正在傳送起始位,則應延時

40μs

);(5)輸出起始位(

0)到資料線上。這裡要注意的是:在送出每一位後都要檢測時鐘線,以確保

pc機沒有抑制ps/

2裝置,如果有則中止傳送;

(6)輸出

8個資料位到資料線上;

(7)輸出校驗位;

(8)輸出停止位(1);

(9)延時

30μs

(如果在傳送停止位時釋放時鐘訊號則應延時

50μs

);通過以下步驟可傳送單個位:

(1)準備資料位(將需要傳送的資料位放到資料線上);

(2)延時

20μs

;(3)把時鐘線拉低;

(4)延時

40μs

;(5)釋放時鐘線;

(6)延時

20μs。3.

2 ps/2

裝置從pc

機接收乙個位元組

由於ps/

2裝置能提供序列同步時鐘,因此,如果

pc機傳送資料,則

pc機要先把時鐘線和資料線置為請求傳送的狀態。

pc機通過下拉時鐘線大於

100μs

來抑制通訊,並且通過下拉資料線發出請求傳送資料的訊號,然後釋放時鐘。當ps/

2裝置檢測到需要接收的資料時,它會產生時鐘訊號並記錄下面

8個資料位和乙個停止位。主機此時在時鐘線變為低時準備資料到資料線,並在時鐘上公升沿鎖存資料。而ps/

2裝置則要配合

pc機才能讀到準確的資料。具體連線步驟如下:

(1)等待時鐘線為高電平。

(2)判斷資料線是否為低,為高則錯誤退出,否則繼續執行。

(3)讀位址線上的資料內容,共8個

bit,每讀完乙個位,都應檢測時鐘線是否被

pc機拉低,如果被拉低則要中止接收。

(4)讀位址線上的校驗位內容,1個

bit。

(5)讀停止位。

(6)如果資料線上為

0(即還是低電平),ps/

2裝置繼續產生時鐘,直到接收到

1且產生出錯訊號為止(因為停止位是

1,如果ps/

2裝置沒有讀到停止位,則表明此次傳輸出錯)。

(7 輸出應答位。

(8) 檢測奇偶校驗位,如果校驗失敗,則產生錯誤訊號以表明此次傳輸出現錯誤。

(9)延時

45 μs

,以便pc

機進行下一次傳輸。

讀資料線的步驟如下:

(1)延時

20μs

;(2)把時鐘線拉低

(3)延時

40μs

(4)釋放時鐘線

(5)延時

20μs

(6)讀資料線。

下面的步驟可用於發出應答位;

(1)延時

15μs

;(2)把資料線拉低;

(3)延時

5μs;

(4)把時鐘線拉低;

(5)延時

40μs

;(6)釋放時鐘線;

(7)延時

5μs;

(8)釋放資料線。

PS 2鍵盤原理

11.4 鍵盤原理 早期的鍵盤實際上是一種5pin的鍵盤,稱作at鍵盤,是1984年ibm pc的標準鍵盤。在1987年ibm進行了改進,從而變成了現在的ps 2鍵盤。當按下乙個鍵或釋放乙個鍵,鍵盤都會傳送鍵盤掃瞄碼到主機。比如按下a,鍵盤就會傳送0x1c到主機。如果持續按a,當經過乙個給定時間後,...

ps2協議命令

define ps2 reset 0xff 復位命令 回應0xfa define resend 0xfe 再次傳送 define set default 0xf6 使用預設設定 回應0xfa define dis data report 0xf5 禁用資料報告 回應0xfa define en da...

執行ps2總結

問題1 缺少對應的2個cpp檔案和標頭檔案。直接貼上進去就可以。另外在add library中加入對應的.cpp檔案。問題2 at opt ros kinetic share catkin cmake catkinconfig.cmake 83 find package could not find...