資源描述:
《基于PS2鼠標(biāo)接口單片機(jī)輸入設(shè)備的實(shí)現(xiàn).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、基于PS/2鼠標(biāo)接口單片機(jī)輸入設(shè)備的實(shí)現(xiàn)摘 要:PS/2接口是較早出現(xiàn)的計(jì)算機(jī)接口,也是現(xiàn)在使用最廣泛的接口之一,它主要應(yīng)用于鼠標(biāo)、鍵盤(pán)和游戲手柄的輸入。PS/2接口協(xié)議簡(jiǎn)潔易于實(shí)現(xiàn),而且多年來(lái)PS/2設(shè)備一直運(yùn)行穩(wěn)定,這使得古老的PS/2接口至今在輸入接口中具有舉足輕重的地位。本課題在詳細(xì)分析PS/2協(xié)議的基礎(chǔ)上,提出了一套實(shí)現(xiàn)PS/2鼠標(biāo)接口設(shè)備的可行方案。該方案提供了一個(gè)PS/2鼠標(biāo)接口設(shè)備的硬件和軟件的實(shí)現(xiàn)方法,其中著重介紹了單片機(jī)中PS/2接口驅(qū)動(dòng)的實(shí)現(xiàn)方法,PS/2鼠標(biāo)的Reset模式和Stream模式的工作流程等容。依據(jù)上述設(shè)計(jì)方案實(shí)現(xiàn)了一個(gè)PS
2、/2鼠標(biāo)接口設(shè)備。本論文中為該設(shè)備設(shè)計(jì)了兩項(xiàng)基本功能測(cè)試、兩項(xiàng)性能測(cè)試和一項(xiàng)兼容性測(cè)試。該設(shè)備在測(cè)試中取得了十分理想的成績(jī)。最后對(duì)PS/2鼠標(biāo)接口設(shè)備進(jìn)行擴(kuò)展,實(shí)現(xiàn)了串口轉(zhuǎn)PS/2鼠標(biāo)設(shè)備。該設(shè)備的實(shí)現(xiàn)證明了本課題實(shí)現(xiàn)的PS/2鼠標(biāo)接口設(shè)備具有良好的可擴(kuò)展性。關(guān)鍵詞:PS/2接口通信協(xié)議單片機(jī)鼠標(biāo)驅(qū)動(dòng)程序前 言PS/2接口鼠標(biāo)是被現(xiàn)代個(gè)人微機(jī)廣泛采用的外部定點(diǎn)輸入設(shè)備,它易于操作而且價(jià)格低廉,如果能夠利用PS/2鼠標(biāo)的標(biāo)準(zhǔn)接口特性,在單片機(jī)應(yīng)用系統(tǒng)中設(shè)計(jì)一個(gè)PS/2接口作為系統(tǒng)的輸入設(shè)備,不僅占用系統(tǒng)的資源少、成本低而且操作簡(jiǎn)單,具有廣泛的應(yīng)用領(lǐng)域。作為一個(gè)
3、出現(xiàn)較早的輸入接口,基于PS/2的開(kāi)發(fā)技術(shù)已經(jīng)相當(dāng)成熟,但是這些成熟的技術(shù)主要掌握在部分主板開(kāi)發(fā)商和鼠標(biāo)鍵盤(pán)開(kāi)發(fā)商手上。而且PS/2協(xié)議的官方參考資料已經(jīng)很難找到,所以本課題將以監(jiān)控并分析PS/2鼠標(biāo)在實(shí)際工作中的數(shù)據(jù)流并結(jié)合前人開(kāi)發(fā)經(jīng)驗(yàn)心得為主要開(kāi)發(fā)依據(jù),通過(guò)不斷調(diào)試改進(jìn)來(lái)完成PS/2鼠標(biāo)接口的開(kāi)發(fā)。國(guó)外除了少數(shù)的研究學(xué)習(xí)的人員鮮少有人做基于PS/2的產(chǎn)品開(kāi)發(fā),市場(chǎng)上有一些串口轉(zhuǎn)PS/2的轉(zhuǎn)接器,但其兼容性和穩(wěn)定性都不是很高。PS/2產(chǎn)品的發(fā)展趨勢(shì)可能主要是為一些特定的項(xiàng)目提供接口。實(shí)現(xiàn)PS/2鼠標(biāo)接口可以擴(kuò)展實(shí)現(xiàn)基于PS/2接口的鼠標(biāo)、USB轉(zhuǎn)PS/2鼠標(biāo)
4、轉(zhuǎn)接器、PS/2轉(zhuǎn)USB鼠標(biāo)轉(zhuǎn)接器、串口轉(zhuǎn)PS/2鼠標(biāo)轉(zhuǎn)接器的開(kāi)發(fā),且開(kāi)發(fā)成本較低,開(kāi)發(fā)周期較短,產(chǎn)品穩(wěn)定性和可靠性在理論上和實(shí)際使用中都已經(jīng)證明可以滿足工業(yè)生產(chǎn)或日常生活需求。PS/2協(xié)議本身也較簡(jiǎn)單,這樣就有利于開(kāi)發(fā)者較深入完整的理解協(xié)議本身及其實(shí)現(xiàn)過(guò)程,為以后的項(xiàng)目開(kāi)發(fā)積累很好的經(jīng)驗(yàn)。1背 景1.1PS/2協(xié)議的發(fā)展PS/2協(xié)議的發(fā)展主要經(jīng)歷過(guò)三個(gè)階段:1981年IBM推出了IBMPC/XT接口標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)采用5腳DIN連接器和簡(jiǎn)單的串行協(xié)議。1984年IBM推出了IBMAT接口標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)采用5腳DIN連接器和雙向串行通訊協(xié)議。1987年,IBM又推
5、出了PS/2接口標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)采用6腳mini-DIN連接器,該連接器在封裝上更小巧,仍然用雙向串行通訊協(xié)議。PS/2接口標(biāo)準(zhǔn)在在IBM技術(shù)參考手冊(cè)里,而該手冊(cè)已經(jīng)很多年沒(méi)有印刷了,因此關(guān)于這個(gè)容現(xiàn)在沒(méi)有官方的出版物。所以我們可以認(rèn)為能夠被IBM提供的PS/2接口上識(shí)別并穩(wěn)定運(yùn)行的設(shè)備就實(shí)現(xiàn)了PS/2協(xié)議。PS/2接口標(biāo)準(zhǔn)設(shè)備主要應(yīng)用于鼠標(biāo),鍵盤(pán)和游戲手柄。1.2PS/2鼠標(biāo)接口的優(yōu)點(diǎn)PS/2鼠標(biāo)接口很早就成為了計(jì)算機(jī)計(jì)算機(jī)鼠標(biāo)的標(biāo)準(zhǔn)輸入接口,它有如下三個(gè)優(yōu)點(diǎn):適用圍和機(jī)型眾多PS/2鼠標(biāo)接口在現(xiàn)存的幾乎所有的臺(tái)式PC機(jī)上都能找到,這就意味著基于PS/2鼠標(biāo)接口
6、的設(shè)備可以在現(xiàn)在的絕大多數(shù)PC機(jī)上運(yùn)行。開(kāi)發(fā)成本低,開(kāi)發(fā)周期短PS/2協(xié)議是一種簡(jiǎn)單的串行通信協(xié)議,不需要專門(mén)的接口芯片,只需要在單片機(jī)中用軟件模擬就可以完成通信。一個(gè)基于PS/2的設(shè)備可以在較短的時(shí)間完成。穩(wěn)定性高,速度快PS/2協(xié)議自問(wèn)世以來(lái),基于它的產(chǎn)品已經(jīng)在PC機(jī)上穩(wěn)定運(yùn)行了幾十年,經(jīng)過(guò)實(shí)踐檢驗(yàn)PS/2設(shè)備在穩(wěn)定性和反應(yīng)速度方面完全可以滿足日常需求。2協(xié)議分析2.1PS/2物理接口定義物理上的PS/2端口分為兩類連接器:一種5腳的DIN;一種是6腳的mini-DIN。兩種連接器的區(qū)別只是引腳的排列,鑒于目前5腳的DIN已經(jīng)很少使用,對(duì)于5腳的DIN我們
7、將不予介紹。mini-DIN的接口定義如圖2.1所示。圖2.1mini-DIN的接口定義2.2PS/2數(shù)據(jù)幀定義和傳輸PS/2鼠標(biāo)和鍵盤(pán)履行一種雙向同步串行協(xié)議。換句話說(shuō)每次數(shù)據(jù)線上發(fā)送一位數(shù)據(jù)并且每在時(shí)鐘線上發(fā)一個(gè)脈沖就被讀入。鍵盤(pán)/鼠標(biāo)可以發(fā)送數(shù)據(jù)到主機(jī)而主機(jī)也可以發(fā)送數(shù)據(jù)到設(shè)備,但主機(jī)總是在總線上有優(yōu)先權(quán),它可以在任何時(shí)候抑制來(lái)自于鍵盤(pán)/鼠標(biāo)的通訊,只要把時(shí)鐘拉低即可。數(shù)據(jù)傳輸過(guò)程中的時(shí)鐘始終都由設(shè)備提供,如果主機(jī)要想設(shè)備發(fā)送數(shù)據(jù)就必需先告訴設(shè)備產(chǎn)生一個(gè)時(shí)鐘信號(hào)(具體的過(guò)程將在后面描述)。從設(shè)備到主機(jī)的數(shù)據(jù)在時(shí)鐘的下降沿被讀取,從主機(jī)到設(shè)備的數(shù)據(jù)在時(shí)鐘的
8、上升沿被讀取。1.設(shè)備到主機(jī)的通訊過(guò)程