標(biāo)題: PS2協(xié)議介紹 [打印本頁(yè)]

作者: 51黑黑黑    時(shí)間: 2016-2-12 21:02
標(biāo)題: PS2協(xié)議介紹
   PS/2鼠標(biāo)和鍵盤履行一種雙向同步串行協(xié)議。換句話說(shuō),每次數(shù)據(jù)線上發(fā)送一位數(shù)據(jù)并且每在時(shí)鐘線上發(fā)一個(gè)脈沖就被讀入。鍵盤/鼠標(biāo)可以發(fā)送數(shù)據(jù)到主機(jī),而主機(jī)也可以發(fā)送數(shù)據(jù)到設(shè)備,但主機(jī)總是在總線上有優(yōu)先權(quán),它可以在任何時(shí)候抑制來(lái)自于鍵盤/鼠標(biāo)的通訊,只要把時(shí)鐘拉低即可。

PS2常用的接口如下圖所示:


  從鍵盤/鼠標(biāo)發(fā)送到主機(jī)的數(shù)據(jù)在時(shí)鐘信號(hào)的下降沿(當(dāng)時(shí)鐘從高變到低的時(shí)候)被讀。粡闹鳈C(jī)發(fā)送到鍵盤/鼠標(biāo)的數(shù)據(jù)在上升沿(當(dāng)時(shí)鐘從低變到高的時(shí)候)被讀取。不管通訊的方向怎樣,鍵盤/鼠標(biāo)總是產(chǎn)生時(shí)鐘信號(hào),如果主機(jī)要發(fā)送數(shù)據(jù),它必須首先告訴設(shè)備開始產(chǎn)生時(shí)鐘信號(hào)。最大的時(shí)鐘頻率是33kHz,而且大多數(shù)設(shè)備工作在10~20kHz。如果你要制作一個(gè)PS/2設(shè)備,推薦你把頻率控制在15kHz左右,這就意味著時(shí)鐘應(yīng)該是高40微秒低40微秒。

設(shè)備到主機(jī)的通訊

  當(dāng)設(shè)備等待發(fā)送數(shù)據(jù)時(shí),它首先檢查時(shí)鐘以確認(rèn)它是否是高電平,如果不是,那么是主機(jī)抑制了通訊,設(shè)備必須緩沖任何要發(fā)送的數(shù)據(jù)直到重新獲得總線的控制權(quán)如果時(shí)鐘線是高電平,設(shè)備就可以開始傳送數(shù)據(jù)。這個(gè)方向的通訊時(shí)鐘和數(shù)據(jù)均由設(shè)備產(chǎn)生,主機(jī)只管接收。

主機(jī)到設(shè)備的通訊

  首先,PS/2設(shè)備總是產(chǎn)生時(shí)鐘信號(hào),如果主機(jī)要發(fā)送數(shù)據(jù),它必須首先把時(shí)鐘和數(shù)據(jù)線設(shè)置為“請(qǐng)求發(fā)送”狀態(tài),即通過(guò)下拉時(shí)鐘線至少100微秒來(lái)抑制通訊,通過(guò)下拉數(shù)據(jù)線來(lái)應(yīng)用“請(qǐng)求發(fā)送”然后釋放時(shí)鐘線,然后等待設(shè)備拉低時(shí)鐘線,說(shuō)明時(shí)鐘產(chǎn)生了,下圖中紅色所示均由設(shè)備產(chǎn)生?梢钥吹,當(dāng)主機(jī)發(fā)送完停止位后,設(shè)備把數(shù)據(jù)線拉低產(chǎn)生應(yīng)答,然后設(shè)備會(huì)釋放時(shí)鐘和數(shù)據(jù)線。




  上面就是PS2的底層通訊協(xié)議,至于鼠標(biāo)或者鍵盤的命令格式,等下次再說(shuō)。


作者: i孟小天    時(shí)間: 2016-12-19 17:47
不太明白,可以詳細(xì)講解嗎?




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1