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

正文內(nèi)容

基于fpga的鍵盤輸入及顯示電路(編輯修改稿)

2025-12-07 15:21 本頁面
 

【文章內(nèi)容簡介】 中的硬件原語或者底層單元合理地適配到 FPGA 內(nèi)部的固有硬件結(jié)構(gòu)上,布局的優(yōu)劣對設(shè)計的最終實現(xiàn)結(jié)果(在速度和面積兩個方面)影響很大;所謂布( Route)是指根據(jù)布局拓?fù)浣Y(jié)構(gòu),利用 FPGA 內(nèi)部的各種邊線資源,合理正確連接各個 元件的過程。 6. 時序仿真與驗證 將布局布線的時延信息反標(biāo)注到設(shè)計網(wǎng)表中,所進行的仿真就叫時序仿真或布局布線后仿真,簡稱后仿真。布局布線這后生成的仿真時延文件包含信息最全,不僅包含門延時,還包含實際布線延時,所以布線后仿真最準(zhǔn)確,能較好地反映芯片的實際工作情況。一般來說,布線持仿真步驟必須進行,通過布線后仿真能檢查設(shè)計時序與 FPGA 實際運行情況是否一致,確保設(shè)計的可靠性和穩(wěn)定性。 7. 板級仿真與驗證 在有些高速設(shè)計情況下還需要使用第三方的板級驗證工具進行仿真與驗證,如 Mentor Tau、Mentor Htpermality、 Mentor ICX 等工具通過 IBIS、 HSPICE 等模型的仿真,能較好的分析高速設(shè)計的信號完整性、電磁干擾( EMI)等電路特性等。 8. 調(diào)試與加載配置 設(shè)計開發(fā)的最后步驟就是在線調(diào)試或者將生成的配置文件寫入芯片中進行測試。示波器和邏輯分析儀( LA, Logic Analyzer)是邏輯設(shè)計的主要調(diào)試工具。傳統(tǒng)的邏輯功能板級驗證手段是用邏輯分析儀信號,設(shè)計要求 FPGA 和 PCB 設(shè)計人員保留一定數(shù)量 FPGA 管腳作為測試管腳,編寫FPGA 代碼時將需要觀察的信號作為模塊的輸出信號,在綜合實現(xiàn)時再把這些輸出信 號鎖定到測試管腳上,然后連接邏輯分析儀的探頭到這些測試腳,設(shè)定觸發(fā)條件進行觀測。 Quartus開發(fā)工具概述 本設(shè)計采用的開發(fā)工具是 Quartus II,它是 ALTERA 公司提供的可編程邏輯器件的集成軟件,是該公司前一代可編程邏輯器件的集成開發(fā)軟件 MAX+Plus II 的更新?lián)Q代產(chǎn)品。 Quartus II 集成開發(fā)軟件支持可編程邏輯器件開發(fā)的整個過程,它提供一種與器件結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,使設(shè)計者能方便地進行設(shè)計輸入、設(shè)計處理和器件編程。 Quartus II 集成開發(fā)軟件適合多種平臺的工作環(huán)境,支 持更多種類的可編程邏輯器件的開發(fā),同時也提供在單芯片可編程系統(tǒng) (SOPC)設(shè)計的綜合性環(huán)境和 SOPC 開發(fā)的基本設(shè)計工具。 Quartus設(shè)計工具完全支持 VHDL、 Verilog 的設(shè)計流程,其內(nèi)部嵌有 VHDL、 Verilog 邏輯綜合器。 Quartus II 也可以利用第三方的綜合工具,如 Mentor LeonardoSpectrum、 Synplify/Synplify Pro、 FPGACompiler11,并能直接調(diào)用這些工具。同樣, Quartus II 具備仿真功能,同時也支持第三方的仿真工具,如 ModelSim。 Quartus II 包括模塊化的編譯器。編譯器包括的功能模塊有分析 /綜合器 (Analysis amp。 Synthesis)、適配器 (Fitter)、裝配器 (Assembler)、時序分析器 (Timing Analyzer)、設(shè)計輔助模塊 (Design Assistant)、 EDA 網(wǎng)表文件生成器 (EDA Netlist Writer)和編輯數(shù)據(jù)接口 (Compiler Database Interface)等??梢酝ㄟ^選擇 Start Compilation 來運行所有的編譯器模塊,也可以通過選擇 Start 單獨運行 各個模塊。還可以通過選擇 Compiler Tool(Tools 菜單 ),在 Compiler Tool窗口中運行該模塊來啟動編譯器模塊。在 Compiler Tool 窗口中,可以打開該模塊的設(shè)置文件或報告文件,來打開其他相關(guān)窗口。 此外, Quartus II 還包含了許多十分有用的 LPM(Library of Parameterized Modules)模塊,它們是復(fù)雜或高級系統(tǒng)構(gòu)建的重要組成部分,在 SOPC 設(shè)計中被大量使用,也可在 Quartus II 普通設(shè)計文件中一起使用。 Altera 提供的 LPM 函數(shù)均基于 Altera 器件的結(jié)構(gòu)做了優(yōu)化設(shè)計。在許多實用情況下,必須使用宏功能模塊才能使用一些 Altera 特定器件的硬件功能。例如各類片上存儲器、 DSP 模塊、 LVDS 驅(qū)動器、 PLL 以及 SERDES 和 DDIO 電路模塊等。圖 中所示是 Quartus II的設(shè)計流程圖,它顯示了 Quartus II 進行自動設(shè)計的各主要處理環(huán)節(jié)和設(shè)計流程。主要包括設(shè)計輸入、綜合或編譯、布局布線、時序分析、仿真、編程和配置。此外, Quartus II 集成軟件為設(shè)計流程的每個階段提供 Quartus II 圖形用戶界面、 EDA 工具界面以及命令行界面。可 以在整個流程中只使用這些界面中的一個,也可以在設(shè)計流程的不同階段使用不同的界面。 圖 Quartus II 的設(shè)計流程圖 Quartus II 允許來自第三方的 EDIF 文件輸入,并提供了很多 EDA 軟件的接口, Quartus II支持層次化設(shè)計,可以在一個新的編輯輸入環(huán)境中對使用不同輸入設(shè)計方式完成的模塊 (元件 )進行調(diào)用,從而解決了原理圖與 HDL 混合輸入設(shè)計的問題。在設(shè)計輸入之后, Quartus II 的編譯器將給出設(shè)計輸入的錯誤報告。 Quartus II 擁有性能良好的設(shè)計錯誤定位器,用于確定文本或圖形設(shè)計中的錯誤對于使用 HDL 的設(shè)計,可以使用 Quartus II 帶有的 RTL Viewer 觀察綜合后的 RTL圖。在進行編譯后,可對設(shè)計進行時序仿真。在作仿真前,需要利用波形編輯器編輯一個波形激勵文件,用于仿真驗證時的激勵。編譯和仿真經(jīng)檢測無誤后便可以將下載信息通過 Quartus II 提供的編程器下載入目標(biāo)器件中了。 三、 PS/2 鍵盤 協(xié)議與鍵盤接口電路設(shè)計 PS/2 鍵盤協(xié)議 1. PS/2 的電氣特性 PS/2 協(xié)議的實現(xiàn)包括兩條信號線,以及 +5V 的電源與地線。信號線為 Clock、 Data,均為漏極開 路結(jié)構(gòu)。通常在連接時,使用上拉電阻將這兩條線分別與電源相接,電阻值一般為 5~10KΩ,經(jīng)過電阻的上拉后這兩條信號線通常保持高電平,而且很容易下拉到地。任何使用 PS/2 的鍵盤或其它設(shè)備在連接時都要上拉。不過一般鍵盤中都已經(jīng)包含了上拉電阻。 PS/2 設(shè)備接口用于許多現(xiàn)代的鼠標(biāo)和鍵盤 ,它最初由 IBM 開發(fā) ,鍵盤可以有 6 腳的 miniDIN或 5 腳的 DIN 連接器。 最常見的為 6 腳 miniDIN,其引腳結(jié)構(gòu)和外形如圖 所示。 圖 PS/2 硬件接口外形圖 PS/2 設(shè)備有主從之分 ,現(xiàn)在廣泛使用的 PS/2 鍵盤鼠標(biāo)均工作在從設(shè)備方式下。 PS/2 接口的時鐘與數(shù)據(jù)線都是集電極開路結(jié)構(gòu) ,必須外接上拉電阻 ,一般上拉電阻設(shè)置在主設(shè)備中 ,主從設(shè)備之間的數(shù)據(jù)通信采用雙向同步方式傳輸 ,時鐘信號一般由從設(shè)備產(chǎn)生。 2. PS/2 協(xié)議的介紹 PS/2 允許主機與 PS/2 設(shè)備之間進行雙向串位傳輸。主機與 PS/2 設(shè)備在任何時候只能傳輸 1個字節(jié)的命令或數(shù)據(jù)字。 PS/2 設(shè)備可以發(fā)送數(shù)據(jù)到主機而主機也可以發(fā)送數(shù)據(jù)到設(shè)備,但主機總是在總線上有優(yōu)先權(quán),即它可以在任何時候抑制來自于 PS/2 設(shè)備的通信,此時主機只要把時鐘線上的信號拉為低電平即可。 從 PS/2 設(shè)備發(fā)送到主機的數(shù)據(jù)在時鐘信號的下降沿被讀取,從主機發(fā)送到 PS/2 設(shè)備和數(shù)據(jù)在上升沿時被讀取。不管通信的方向如何, PS/2 設(shè)備總是產(chǎn)生時鐘信號。如果主機要發(fā)送數(shù)據(jù),則必須首先告訴設(shè)備開始產(chǎn)生時鐘信號。 所有的命令與數(shù)據(jù)字節(jié)均以幀為單位,每一幀包含了 11 或 12 位。這些位中包含的信息定義如下:1 個起始位(總是 0)、 8 個數(shù)據(jù)位(低位在前)、 1 個奇校驗位、 1 個停止位(總是 1)以及 1 個應(yīng)答位(僅在主機向 PS/2 設(shè)備發(fā)送數(shù)據(jù)時才會用到, PS/2 設(shè)備向主機發(fā)送數(shù)據(jù)時不會用到這一位)。 PS/2 設(shè)備的最大時鐘 頻率是 33KHz,大多數(shù)設(shè)備工作在 10~20KHz。 PS/2 鍵盤接口電路的設(shè)計 鍵盤接口 1.?dāng)?shù)據(jù)包的結(jié)構(gòu) 鍵盤的狀態(tài)每改變一次 ,鍵盤至少會發(fā)出三個字節(jié)的數(shù)據(jù)包 ,在有鍵按下時會向主機發(fā)送該鍵 的通碼 (MakeCode),當(dāng)鍵釋放時發(fā)送斷碼 (BreakCode)。例如 :鍵“ A”的通碼為 0x1C,鍵“ A”的斷碼為 :0xF0,0x1C,因此當(dāng)要傳送鍵“ A”時 ,鍵盤發(fā)送的數(shù)據(jù)包的代碼是 :0x1C,0xF0,0x1C。 2.接口的時序邏輯 PS/2 協(xié)議是一種雙向半雙工串行通信協(xié)議 ,時鐘信號由 鍵盤產(chǎn)生 ,最大時鐘頻率為 33kHz,推薦頻率在 15kHz。通信兩端通過 Clock 同步 ,通過 Data 交換數(shù)據(jù) ,任何一方如果想禁止另一方通信時 ,只需將 Clock 拉到低電平。其傳輸時序根據(jù)傳輸?shù)姆较虿煌譃榘l(fā)送和接收兩個不同時序邏輯 ,圖 是從鍵盤到主機的時序圖。 圖 鍵盤發(fā)送數(shù)據(jù)時序圖 其中 :Start:起始位 ,總為‘ 0’ (低電平 ) Data0~ Data7:8 位數(shù)據(jù)位 (低位在前 ,高位在后 Parity:奇偶校驗位 (為奇校驗 ) Stop:停止位 ,總為‘ 1’ (高電平 ) 當(dāng)鍵盤要向主機通信時 ,鍵盤總是首先檢查時鐘線是否為高電平 ,如果不是則表明是主機正在通信 ,必須緩沖要發(fā)送的數(shù)據(jù)直到重新獲得總線的控制權(quán) (鍵盤有 16 個字節(jié)的緩沖區(qū) ),即等到時鐘線是高電平才能發(fā)送數(shù)據(jù)。而且從鍵盤到主機的數(shù)據(jù)只能在時鐘的下降沿時才能被讀取。當(dāng)主機到鍵盤進行通信時 ,主機會首先把時鐘線和數(shù)據(jù)線設(shè)置為 “請求發(fā)送”狀態(tài)。 具體方式為 :首先下拉時鐘線至少 100μs 來抑制通信 ,然后下拉數(shù)據(jù)線“請求發(fā)送” ,最后釋放時鐘。在此過程中 ,鍵盤在不超過 10μs 的間隔內(nèi)就會檢查這個狀態(tài)。當(dāng)鍵盤檢查到這個狀態(tài)時 ,就開始產(chǎn)生時鐘。和鍵盤發(fā)送 的數(shù)據(jù)讀取方式不一樣 ,主機發(fā)送的數(shù)據(jù)必須在時鐘的上升沿讀取。 PS/2 接口的設(shè)計實現(xiàn) 本次設(shè)計采用了自上而下的模塊設(shè)計方法 ,考慮需要設(shè)計以下幾部分模塊 :串并轉(zhuǎn)換模塊 ,分揀接收模塊 ,控制模塊 ,封裝發(fā)送模塊等。 這幾部分的邏輯關(guān)系如圖 所示 : 圖 模塊間邏輯關(guān)系 串并轉(zhuǎn)換模塊主要是接收和發(fā)送傳輸數(shù)據(jù) ,能夠把串行數(shù)據(jù)轉(zhuǎn)變成所需要的并行數(shù)據(jù)。分揀接收模塊功能是把串并轉(zhuǎn)換模塊傳過來的數(shù)據(jù)包按照一定的要求進行分揀提取 ,從而得到有用的信息。控制模塊是設(shè)計的核心 ,PS/2 接口是半雙工串行總線 ,因 此其發(fā)送和接收不能同時進行 ,需要控 制模塊對其時序進行嚴(yán)格的控制。控制模塊負(fù)責(zé)協(xié)調(diào)整個設(shè)計的全過程 ,在本設(shè)計中采用了狀態(tài)機的設(shè)計思路。封裝發(fā)送模塊和分揀接收模塊類似 ,只不過是把要傳送的命令數(shù)據(jù)轉(zhuǎn)變成 PS/2 協(xié)議要求的發(fā)送數(shù)據(jù)包的格式。 整個設(shè)計的流程圖如圖 所示 : 圖 設(shè)計流程圖 當(dāng)系統(tǒng)上電或復(fù)位時 ,主設(shè)備首先向鍵盤發(fā)送初始化信號 ,在得到鍵盤的應(yīng)答信號后 ,系統(tǒng)進入到了總線空閑狀態(tài) ,可以進行數(shù)據(jù)的發(fā)送和接收 ,但主設(shè)備擁有更高的優(yōu)先級 ,正處在接收狀態(tài)時如果得到發(fā)送請求 ,會中斷數(shù)據(jù)接收 ,直接進入數(shù)據(jù) 發(fā)送狀態(tài)。使用 Quartus II 對設(shè)計進行了軟件仿真 ,按照模塊化的設(shè)計思路分別對每個模塊獨立進行了仿真。 圖 是接收數(shù)據(jù)模塊的仿真時序圖。 圖 接收數(shù)據(jù)方針時序圖 硬件驗證 硬件驗證在 FPGA EP1C6開發(fā)板上 實現(xiàn) ,在系統(tǒng)中用到復(fù)位電路 ,電源電路 ,FPGA芯片 ,程序下載電路 ,PS/2 接口電路 ,數(shù)碼顯示電路等。 選取 Cyclone系列 EPF1C60240C8N型 FPGA器件進行綜合 ,將綜合后的配置文件下載到開發(fā)板之后 ,系統(tǒng)上電 ,PS/2 設(shè)備初始化后在液晶顯示器上 正 確觀察到了鍵盤的輸入。 PS/ 2設(shè)備的 Clock(時鐘腳 ) 和 Data(數(shù)據(jù)腳 ) 都是集電極開路的 ,平時都是高電平。當(dāng) PS/ 2 設(shè)備等待發(fā)送數(shù)據(jù)時 ,它首先檢查 Clock(時鐘腳 ) 以確認(rèn)其是否為高電平。如果是低電平 ,則認(rèn)為是 PC 機抑制了通訊 , 此時它必須緩沖需要發(fā)送的數(shù)據(jù)直到重新獲得總線的控制權(quán) (一般 PS/ 2鍵盤有 16個字節(jié)的緩沖區(qū) ,而 PS/ 2鼠標(biāo)只有一個緩沖區(qū)僅存儲最后一個要發(fā)送的數(shù)據(jù) ) 。如果 Clock(時鐘腳 ) 為高電平 ,PS/ 2 設(shè)備便開始將數(shù)據(jù)發(fā)送到 PC 機。 一般都是由 PS/2 設(shè)備產(chǎn)生時鐘信號。發(fā)送時一般都是按照數(shù)據(jù)幀格式順序發(fā)送。其中數(shù)據(jù)位在 Clock(時鐘腳 )為高電平時準(zhǔn)備好 , 在 Clock(時鐘腳 ) 的下降沿被 PC 機讀入。 PS/2 設(shè)備到 PC 機的通訊時序如圖 2 所示。當(dāng)時鐘頻率為 15kHz 時 ,從 Clock(時鐘腳 ) 的上升沿到數(shù)據(jù)位轉(zhuǎn)變時間至少要 5μ s。數(shù)據(jù)變化到 Clock(時鐘腳 ) 下降沿的時間至少也有 5μ s,但不能大于 25μ s,這是由 PS/2通訊協(xié)議的時序規(guī)定的。如果時鐘頻率是其它值 ,參數(shù)的內(nèi)容應(yīng)稍作調(diào)整。 上述中傳輸?shù)臄?shù)據(jù)是指 對特定鍵盤的編碼或者對特定命令的編碼。一般采用第二套掃描碼集所規(guī)定的碼值來編碼。其中鍵盤碼分為通碼 (Make)和斷碼 (Break) 。通
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1