通訊協議 PS2

2021-10-08 07:27:02 字數 2428 閱讀 9563

ps/2是在較早電腦上常見的介面之一,不支援熱插拔。在windows環境下,ps/2滑鼠的取樣率預設為60次/秒,usb滑鼠的取樣率為120次/秒。較高的取樣率理論上可以提高滑鼠的移動精度。

資料和時鐘都是集電極開路的,這就意味著它們通常保持高電平而且很容易下拉到地 邏輯 0。 任何你連線到 ps/2 滑鼠、鍵盤或 host 的裝置在時鐘和資料線上要有乙個大的上拉電阻。置 0 就把線拉低 置 1 就讓線上浮成高電平。圖中資料和時鐘線的一般介面結構。(注意如果你打算使用象 pic 這樣的微控制器, 由於它們的 i/o 管腳是雙向的,你可以跳過電晶體和緩衝門,並且通用同乙個管腳進行輸入和輸出。在這種組態情況下,要設定管腳為輸入就寫入 1 使得電阻上拉線上的電平,要改變管腳為輸出就寫入 0 到那個管腳,把線路下拉到地。)

圖 1 資料線和時鐘線的集電極開路介面。資料和時鐘分別由微控制器的 a 埠和 b埠讀入。這兩條線通常保持+5v,但可以往埠 c 和 d 寫入1 來拉到地。結果是資料是 d 的反相,時鐘是 c 的反相。

ps/2 滑鼠和鍵盤履行一種雙向同步序列協議。換句話說,每次資料線上傳送一位資料並且每在時鐘線發乙個脈衝就被讀入。鍵盤/滑鼠可以傳送資料到主機,而主機也可以傳送資料到裝置,但主機總是在匯流排上有優先權,它可以在任何時候抑制來自於鍵盤/滑鼠的通訊,只要把時鐘拉低即可。

從鍵盤/滑鼠傳送到主機的資料在時鐘訊號的下降沿(當時鐘從高變到低的時候)被讀取 ;從主機傳送到鍵盤/滑鼠的資料在上公升沿(當時鐘從低變到高的時候)被讀取。不管通訊的方向怎樣,鍵盤/滑鼠總是產生時鐘訊號。如果主機要傳送資料,它必須首先告訴裝置開始產生時鐘訊號(這個過程在下一章節中被描述)。最大的時鐘頻率是 33khz, 而且大多數裝置工作在 10~20khz 。如果你要製作乙個 ps/2 裝置, 我推薦你把頻率控制在 15khz 左右。 這就意味著時鐘應該是高 40 微秒低 40 微秒。

協議格式

所有資料安排在位元組中, 每個位元組為一幀 ,包含了 11~12 個位。這些位的含義如下:

起始位資料位

校驗位停止位

應答位1 bit

8bit

1bit

1bit

1bit

0lsb

奇校驗1

僅在主機對裝置的通訊中

如果資料位中包含偶數個 1, 校驗位就會置 1; 如果資料位中包含奇數個 1 ,校驗位就會置 0 。資料位中1 的個數加上校驗位總是為奇數 (這就是奇校驗 )。這是用來進行錯誤檢測的。

當主機傳送資料給鍵盤/滑鼠時, 裝置回送乙個握手訊號來應答資料報已經收到。 這個位不會出現在設

備傳送資料到主機的過程中。

裝置到主機

資料和時鐘線都是集電極開路結構(正常保持高電平)當鍵盤或滑鼠等待傳送資料時, 它首先檢查時鐘以確認它是否是高電平。 如果不是, 那麼是主機抑制了通訊, 裝置必須緩衝任何要傳送的資料直到重新獲得匯流排的控制權(鍵盤有 16 位元組的緩衝區 ,而滑鼠的緩衝區僅儲存最後乙個要傳送的資料報)。 如果時鐘線是高電平, 裝置就可以開始傳送資料。每位在時鐘的下降沿被主機讀入。

裝置到主機的通訊 當時鐘為高 資料線改變狀態 在時鐘訊號的下降沿資料被鎖存按如下的過程傳送單個位:

主機到裝置

首先 ps/2 裝置總是產生時鐘訊號 。如果主機要傳送資料, 它必須首先把時鐘和資料線設定為「請求傳送「」狀態,如下示:

裝置應該在不超過 10 毫秒的間隔內就要檢查這個狀態。 當裝置檢測到這個狀態, 它將開始產生時鐘訊號, 並且時鐘脈衝標記下輸入八個資料位和乙個停止位 。主機僅當時鐘線為低的時候改變資料線, 而資料在時鐘脈衝的上公升沿被鎖存。 當發生在裝置到主機通訊的過程中時正好相反。

在停止位傳送後 ,裝置要應答接收到的位元組, 就把資料線拉低並產生最後乙個時鐘脈衝 。如果主機在第11 個時鐘脈衝後不釋放資料線, 裝置將繼續產生時鐘脈衝直到資料線被釋放(然後裝置將產生乙個錯誤)。

主機可以在第 11 個時鐘脈衝(應答位)前中止一次傳送, 只要下拉時鐘線至少 100 微秒。

要使得這個過程易於理解 ,主機必須按下面的步驟傳送資料到 ps/2 裝置:

單獨的時序表示了由主機產生的訊號及由 ps/2 裝置產生的訊號。注意應答位時序的改變 — 資料的改變發生在時鐘線為高的時候 不同於其它 11 位是當它為低的時候。

按如下次序讀取每位 8 個資料位 檢驗位和停止位:

按如下次序傳送應答位:

ps2協議命令

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

PS2有線手柄的SPI協議

1.spi模式 與ps2採用的是spi mode3模式。並且使用低位在前方式收發資料。2.請求ps2按鍵資料 想要向ps2請示資料要傳送乙個請求命令。請求命令如下所示 cmd require 9 資料按先低位後高位傳送 3.接收ps按鍵資料 在傳送請求命令的同時,ps2會同步輸出按鍵資料。如下為無按...

Modbus通訊協議 2

2 rtu幀 使用 rtu模式,訊息傳送至少要以3.5個字元時間的停頓間隔開始。在網路波特率下多樣的字元時間,這是最容易實現的 如下圖的t1 t2 t3 t4所示 傳輸的第乙個域是裝置位址。可以使用的傳輸字元是十六進製制的0.9,a.f。網路裝置不斷偵測網路匯流排,包括停頓間隔時間內。當第乙個域 位...