中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Verilog HDL基礎(chǔ)之:實(shí)例4 PS/2接口控制

        Verilog HDL基礎(chǔ)之:實(shí)例4 PS/2接口控制

        作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò) 收藏

        實(shí)例的內(nèi)容及目標(biāo)

        1.實(shí)例的主要內(nèi)容

        本實(shí)例通過(guò)Verilog編程實(shí)現(xiàn)在紅色颶風(fēng)II代Xilinx開(kāi)發(fā)板上面實(shí)現(xiàn)對(duì)鍵盤(pán)、LCD、RS-232等接口或者器件進(jìn)行控制,將有鍵盤(pán)輸入的數(shù)據(jù)在LCD上面顯示出來(lái),或者通過(guò)RS-232在PC機(jī)上的超級(jí)終端上顯示出來(lái)。

        本文引用地址:http://www.antipu.com.cn/article/201706/348842.htm

        2.實(shí)例目標(biāo)

        通過(guò)本實(shí)例,讀者應(yīng)達(dá)到下面的目標(biāo)。

        • 了解PS/2接口協(xié)議。
        • 掌握鍵盤(pán)的工作原理。
        • 編寫(xiě)Verilog程序?qū)崿F(xiàn)通過(guò)開(kāi)發(fā)板上PS/2接口讀取鍵盤(pán)的輸入信息。

        原理簡(jiǎn)介

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

        本實(shí)例要編寫(xiě)一個(gè)能實(shí)現(xiàn)PS/2端口功能的Verilog程序。首先我們要了解PS/2端口的結(jié)構(gòu)與管腳功能定義,如表1所示。

        表1 PS/2端口結(jié)構(gòu)及管腳定義

        端 口 結(jié) 構(gòu)

        管 腳 定 義

        1

        數(shù)據(jù)

        2

        未實(shí)現(xiàn),保留

        3

        電源地

        4

        電源,+5V

        5

        時(shí)鐘

        插頭

        插座

        6

        未實(shí)現(xiàn),保留

        可以看到,PS/2里面只有一個(gè)數(shù)據(jù)口,若要分辨很多按鍵就需要一個(gè)高效率的分辨方法。鍵盤(pán)的處理器花費(fèi)很多的時(shí)間來(lái)掃描或監(jiān)視按鍵矩陣。如果它發(fā)現(xiàn)有鍵被按下,釋放或按住鍵盤(pán),將發(fā)送掃描碼的信息包到計(jì)算機(jī)。

        掃描碼有兩種不同的類型:“通碼”和“斷碼”。當(dāng)一個(gè)鍵被按下或按住就發(fā)送“通碼”,當(dāng)一個(gè)鍵被釋放就發(fā)送“斷碼”。每個(gè)按鍵被分配了惟一的“通碼”和“斷碼”。這樣,主機(jī)通過(guò)查找惟一的掃描碼就可以測(cè)定是哪個(gè)按鍵。

        每個(gè)鍵一整套的通斷碼組成了掃描碼集,圖1中包含了鍵盤(pán)上面大部分按鍵的掃描碼。

        當(dāng)按鍵被釋放以后,鍵盤(pán)回在掃描碼前面加上一個(gè)“F0”作為按鍵松開(kāi)信號(hào)。同時(shí)有的按鍵是Extended(擴(kuò)展)鍵,此時(shí)要在它們的掃描碼前面加上一個(gè)“E0”作為開(kāi)頭,這種按鍵松開(kāi)以后將在掃描碼前面附加上“E0F0”。

        下面我們來(lái)了解信號(hào)是如何從鍵盤(pán)輸入通過(guò)PS/2端口的數(shù)據(jù)線輸入的。首先鍵盤(pán)要檢測(cè)數(shù)據(jù)線和時(shí)鐘線是否都為高,只有它們都處在高的狀態(tài)才可以寫(xiě)數(shù)據(jù)。從鍵盤(pán)發(fā)送到主機(jī)的數(shù)據(jù)在時(shí)鐘信號(hào)的下降沿(當(dāng)時(shí)鐘從高變到低)的時(shí)候被讀取。

        鍵盤(pán)主要使用一種每幀包含11位的串行協(xié)議:第一位是起始位,始終為“0”;接下來(lái)是8位數(shù)據(jù)位,排列順序是由低到高;再后面是奇偶校驗(yàn)位;最后是結(jié)束位,始終為“1”。如圖2所示為該協(xié)議的時(shí)序圖。

        圖1 鍵盤(pán)掃描碼

        圖2 鍵盤(pán)串行協(xié)議

        實(shí)例詳解

        此處僅給出主要的操作流程。

        (1)啟動(dòng)ISE軟件。

        (2)創(chuàng)建新工程。

        (3)編寫(xiě)鍵盤(pán)串行協(xié)議。

        按照?qǐng)D2的時(shí)序編寫(xiě)相應(yīng)的Verilog代碼,具體源代碼參見(jiàn)實(shí)例代碼。

        (4)添加設(shè)計(jì)輸入。

        將編寫(xiě)好的接口協(xié)議加載至工程中,完成接口控制與系統(tǒng)的對(duì)接。

        (5)設(shè)置器件及管腳約束。

        按照開(kāi)發(fā)板的說(shuō)明進(jìn)行相關(guān)的設(shè)置。

        (6)下載驗(yàn)證。

        下載程序后,將鍵盤(pán)接至開(kāi)發(fā)板上,通過(guò)開(kāi)發(fā)板的LCD可以看到鍵盤(pán)輸入的字符。



        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉