freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的ps2鼠標(biāo)接口設(shè)計(jì)及vga顯示word格式-在線瀏覽

2025-01-20 21:56本頁面
  

【正文】 用中,芯片內(nèi)部塊 RAM 的數(shù)量也是選擇芯片的一個(gè)重要因素。當(dāng)然,可以將多片塊 RAM 級(jí)聯(lián)起來形成更大的 RAM,此時(shí)只受限于芯片內(nèi)塊 RAM 的數(shù)量,而不再受上面兩條原則約束 [1]。 FPGA 芯片內(nèi)部有著豐富的布線資源,根據(jù)工藝、長度、寬度和分布位置的不同而劃分為 4類不同的類別。在實(shí)際中設(shè)計(jì)者不需要直接選擇布線資源,布局布線器可自動(dòng)地 根據(jù)輸入邏輯網(wǎng)表的拓?fù)浣Y(jié)構(gòu)和約束條件選擇布線資源來連通各個(gè)模塊單元。 內(nèi)嵌功能模塊主要指 DLL( Delay Locked Loop)、 PLL( Phase Locked Loop)、 DSP和 CPU 等軟處理核( SoftCore)。 DLL和 PLL 具有類似的功能,可以完成時(shí)鐘高精度、低抖動(dòng)的倍頻和分頻,以及占空比調(diào)整和移相等 功能。 PLL 和 DLL 可以通過 IP 核生成的工具方便地進(jìn)行管理和配置 [1]。為了提高 FPGA 性能,芯片生產(chǎn)商在芯片內(nèi)部集成了一些專用的硬核。 Xilinx 公司的高端產(chǎn)品不僅集成了 Power PC 系列 CPU,還內(nèi)嵌了 DSP Core 模塊,其相應(yīng)的系統(tǒng)級(jí)設(shè)計(jì)工具是 EDK 和 Platform Studio,并依此提出了片上系統(tǒng)( System on Chip)的概念。 2 PS/2 的介紹 PS/2 的接口特性 PS/2 接口多用于鼠標(biāo)和鍵盤, IBM 是 開發(fā)和使用最早的。 圖 5腳 DIN 1 4 2 5 3 圖 6腳 MINIDIN PS/2 的接口協(xié)議 PS/ 2鼠標(biāo)接口采用一種雙向同步串行協(xié)議。在相互傳輸中,主機(jī)擁有總線控制權(quán),即它可以在任何時(shí)候抑制鼠標(biāo)的發(fā)送。在兩個(gè)方向的傳輸中,時(shí)鐘信號(hào)都是由鼠標(biāo)產(chǎn)生,即主機(jī)不產(chǎn)生通信時(shí)鐘信號(hào)。方法如下:主機(jī)首先下拉時(shí)鐘線至少 100μ s抑制通信,然后再下拉數(shù)據(jù)線,最后釋放時(shí)鐘線。 PS/2 鼠標(biāo)工作模式 PS/2 鼠標(biāo)有四種工作模式 ,它們分別為 [5]: ■ Reset 模式:當(dāng)鼠標(biāo)上電或主機(jī)發(fā)復(fù)位命令給它時(shí),進(jìn)入 Reset 模式; ■ Stream 模式:這是鼠標(biāo)的默認(rèn)模式,當(dāng)鼠標(biāo)上電或復(fù)位完成后,鼠標(biāo)自動(dòng)進(jìn) Stream 模式,鼠標(biāo)大部分就是用此模式 工作; ■ Remote 模式:只有當(dāng)主機(jī)發(fā)送了設(shè)置命令后,鼠標(biāo)才進(jìn)入 Remote 模式; ■ Wrap 模式: Wrap 模式只用于測試鼠標(biāo)與主機(jī)連接是否正確。鼠標(biāo)發(fā)送數(shù)據(jù)的具體方式如下 [5]: ■ Byte1 中的 Bit0、 Bit Bit2 分別表示左、右、中鍵的狀態(tài),狀態(tài)值0表示釋放,1表示按下; ■ Byte2 和 Byte3 分別表示X軸和Y軸方向的移動(dòng)計(jì)量值,是二進(jìn)制補(bǔ)碼值; 5 3 1 2 4 6 ■ Byte4 的低四位表示滾輪的移動(dòng)二進(jìn)制補(bǔ)碼值, 高四位作為擴(kuò)展符號(hào)位。 3 VGA 的簡介 VGA 的英文名字叫 Video Graphic Array 是計(jì)算機(jī)顯示器標(biāo)準(zhǔn)的一種,其最早的是640X480 這種顯示模式。 VGA 的時(shí)序 VGA( 640 480, 60Hz)信號(hào)時(shí)序中,其點(diǎn)時(shí)鐘 DCLK 為 ,場頻為 。場同步信號(hào) Vs 每場有一個(gè)脈沖,該脈沖的低電平寬度 twv為 63μ S( 2行)。行周期 THSYNC 為 31. 78μ S,每顯示行包 括 800 點(diǎn),其中640點(diǎn)為有效顯示, 160 點(diǎn)為行消隱期(非顯示 區(qū))。復(fù)合消隱信號(hào)是行消隱信號(hào)和場消隱信號(hào)的邏輯與,在有效顯示期復(fù)合消隱信號(hào)為高電平,在非顯示區(qū)域它是低電平,其時(shí)序圖如圖 。這種接口類型是顯卡上應(yīng)用最為廣泛的,絕大部分顯卡都帶有 VGA 接口。 VGA 接口有 15根針,其對(duì)應(yīng)接口定義如下,具體位置如表 、 : 表 VGA接口定義 編號(hào) 1 2 3 4 5 6 7 接口定義 紅基色 綠基色 藍(lán)基色 地址碼 自測試 紅地 綠地 表 VGA接口定義 編 號(hào) 8 9 10 11 12 13 14 15 接口定義 藍(lán)地 保留 數(shù)字地 地址碼 地址碼 行同步 場同步 地址碼 4 VHDL 簡介 VHDL 的設(shè)計(jì)方法 在 EDA 技術(shù)中,硬件描述語言 VHDL 是非常重要的組成部分。 VHDL 語言由于具有與具體硬件電路無關(guān)的特性,并且具有很強(qiáng)的電路行為描述和系統(tǒng)描述的能力,因此在語言易讀性和層次化設(shè)計(jì)方面表現(xiàn)出了強(qiáng)大的應(yīng)用潛力。 VHDL 的設(shè)計(jì)方法和傳統(tǒng)的電子設(shè)計(jì)方法不同,前者是自頂向下的設(shè)計(jì)方法,而后者恰恰相反。對(duì)于使用 VHDL語言的主系統(tǒng)及子系統(tǒng)最初的功能能被 VHDL 仿真程序編譯的可執(zhí)行文件。人能 做的就是根據(jù)仿真的結(jié)果和優(yōu)化的指標(biāo),從而控制邏輯綜合的方式和指向。 VHDL 的設(shè)計(jì)流程 對(duì)于本次的設(shè)計(jì),有了自頂向下的設(shè)計(jì)方法,解決了最底層的硬件問題,并且可靠性比較高。 VHDL 的設(shè)計(jì)流程如下所示 [3]: ? 書寫設(shè)計(jì)說明書; ? 建立 VHDL 行為模型; ? VHDL 行為仿真; ? VHDLRTL 級(jí)建模; ? 前端功能仿真; ? 邏輯綜合; ? 測試向量生成; ? 功能仿真; ? 結(jié)構(gòu)綜合; ? 門級(jí)時(shí)序仿真; ? 硬件測試。 設(shè)計(jì)原理 本設(shè)計(jì)由核心器件 FPGA 來實(shí)現(xiàn) PS/2 時(shí)序并在 PS/2 協(xié)議下讀取指令,然后 FPGA 芯片又把數(shù)據(jù)送到 VGA 顯示模塊顯示,其原理圖如圖 所示。 圖 系統(tǒng) 原理圖 PS/2 時(shí)序 FPGA VGA 時(shí)序 鼠標(biāo) 圖 系統(tǒng)總框圖 模塊電路 設(shè)計(jì) PS/2 鼠標(biāo)接口電路 本設(shè)計(jì)的模塊用 VHDL 語言編 程,然后按照 PS/2 的協(xié)議進(jìn)行解析,暫存解析到的 8位數(shù)據(jù) ,并且對(duì) 8位數(shù)據(jù)的判斷,判斷它是通碼還是斷碼,最后將斷碼轉(zhuǎn)變格式輸出 ,程序并將斷碼順便轉(zhuǎn)換成相對(duì)應(yīng)的 ASCII 碼。如果應(yīng)答正確則接收鼠標(biāo)數(shù)據(jù)包,然后從接收到的數(shù)據(jù)包中獲得鼠標(biāo)位置及狀態(tài)數(shù)據(jù),并輸出給顯示模塊。當(dāng)狀態(tài)機(jī) m2_state 復(fù)位時(shí),即進(jìn)入 m2_reset 狀態(tài),并在 一個(gè) clk 周期后進(jìn)入m2_hold_clk_l 狀態(tài),當(dāng) ps2_clk_hi_z(時(shí)鐘線)被拉低并保持 400μ S 后進(jìn)入m2_data_low_1 狀態(tài),此時(shí)向鼠標(biāo) 發(fā)送起始 位和 d[0]、 d[1]( d[0]=d[1]=0)。若 PS/2 時(shí)鐘信號(hào)下降沿來臨時(shí),數(shù)據(jù)線仍未變?yōu)楦唠娖剑瑒t進(jìn)入m2_error_no_ack 狀態(tài),此時(shí)握手失敗,系統(tǒng)將保持 m2_error_no_ack 狀態(tài)直到下一次復(fù)位,否則進(jìn)入 m2_await_response 狀態(tài)接收應(yīng)答字,接收完成進(jìn)入 m2_verify 數(shù)據(jù)校驗(yàn),然后進(jìn)入 m2_use 狀態(tài),鎖存輸出數(shù)據(jù),并進(jìn)入 m2_wait 狀態(tài),等待接收數(shù)據(jù)。 在上述的理論基礎(chǔ)上,首先編寫 VHDL 硬件實(shí)現(xiàn)流程圖,然后用 VHLD 語言在 QuartusⅡ軟件下 編寫程序,并進(jìn)行綜合和時(shí)序仿真,最后得到 PS/2 接口模塊,如圖 、 所示。 FPGA VGA 顯示 PS/2 圖 PS/2接口模塊 圖 PS/2接口模塊仿真時(shí)序圖 VGA 顯示模塊 VGA 顯示模式要求:行 、場同步都為負(fù)極性,即都是負(fù)脈重。當(dāng)一行掃描完成的時(shí)候, CRT 掃描產(chǎn)生消隱,電子束回到 CRT左邊下一行的起始位置,依次進(jìn)行掃描 ,其 VGA 顯示模塊如圖 ,源代碼見附錄 4。如圖 。 6 結(jié)束語 畢業(yè)設(shè)計(jì)是培養(yǎng)我們綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)我們實(shí)際工作能力的具體訓(xùn)練和考察過程。因此作為電子專業(yè)的學(xué)生來說掌握 EDA 的開發(fā)技術(shù)是十分重要的。這次畢業(yè)設(shè)計(jì)讓我學(xué)到很多很多的東西,學(xué)會(huì)了怎么在遇到問題時(shí)去解決問題。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。 這次畢業(yè)設(shè)計(jì)設(shè)計(jì)通過我的努力終于順利完成了,在設(shè)計(jì)中遇到了很多問題,最后在導(dǎo)師的辛勤指導(dǎo)下,終于迎刃而解,在此我表示感謝! 附錄 1: PS/2 接口的 VHDL 硬件實(shí)現(xiàn)流程圖 附錄 2: 設(shè)計(jì)流程圖 初始化 判斷鼠標(biāo)是否正確應(yīng)答 接收數(shù)據(jù) 輸出并傳給 VGA 復(fù)位 是 否 附錄 3: PS/2 接口電路的 VHDL 語言源程序 [5] library IEEE。 use 。 entity mouse is Port ( clk : in std_logic。 ps2_clk : inout std_logic。 left_button : out std_logic。 mousex: buffer std_logic_vector(9 downto 0)。 data_ready : out std_logic。 end mouse。 數(shù)據(jù)包位數(shù) constant WATCHDOG : integer :=320。 type m1statetype is ( m1_clk_h, m1_falling_edge, m1_falling_wait, m1_clk_l, m1_rising_edge, m1_rising_wait)。 signal m1_state,m1_next_state : m1statetype。 signal m3_state,m3_next_state : std_logic。命令傳輸超時(shí)標(biāo)志 signal q : std_logic_vector(TOTAL_BITS1 downto 0)。位計(jì)數(shù)器 signal watchdog_timer_count : std_logic_vector(8 downto 0)。 signal ps2_clk_hi_z : std_logic。 signal fallsig,risesig : std_logic_vector(2 downto 0)。 從 m1 跟隨 ps2_clk 反向輸出 signal rise,n_rise : std_logic。 m1 狀態(tài)機(jī)輸出數(shù)據(jù) signal output_strobe : std_logic。 檢查數(shù)據(jù)是否有效 signal x_increment : std_logic_vector(8 downto 0)。 signal mouseyy : std_logic_vector(9 downto 0)。039。039。Z39。039。039。Z39。039。 elsif clk39。139。 fallsig(1) = fallsig(0)。 end if。 fall = 39。 when fallsig=110 else 39。 detect_ps2clkrise : process(clk,reset,ps2_clk) begin if reset=39。 then risesig = 000。event and clk=39。 then risesig(0) = ps2_clk。 risesig(2) = risesig(1)。 end process。139。039。039。 elsif (clk39。139。 end if。 m2 狀態(tài)傳輸邏輯 m2statetr: process (m2_state, q, fall,rise,watchdog_timer_done,bitcount,ps2_data,packet_good) begin 輸出信號(hào)的缺省值 ps2_clk_hi_z = 39。 ps2_data_hi_z = 39。 error_no_ack = 39。 output_strobe = 39。 case m2_state is when m2_reset = 復(fù)位后向鼠標(biāo)發(fā)送命令字 m2_next_state = m2_hold_clk_l。139。 else m2_next_state = m2_wait。 when m2_gather = if ((watchdog_ti
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1