版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)三 常用模塊電路的設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康模?、 掌握QuartusII宏功能模塊的設(shè)計(jì)方法。2、 掌握VHDL設(shè)計(jì)ROM和RAM的方法。3、 掌握三態(tài)總線(xiàn)的設(shè)計(jì)與使用方法。4、 掌握4×4鍵盤(pán)掃描模塊設(shè)計(jì)方法。5、 掌握PS2接口電路設(shè)計(jì)方法。6、 了解640×480VGA顯示控制電路的原理和設(shè)計(jì)方法。二、實(shí)驗(yàn)的硬件要求:1、 EDA/SOPC實(shí)驗(yàn)箱。2、 計(jì)算機(jī)。三、實(shí)驗(yàn)原理1、QuartusII宏功能模塊應(yīng)用Altera提供多種方法來(lái)獲取Altera Megafunction Partners Program(AMPP)和MegaCore®宏功能模塊,這些函數(shù)經(jīng)
2、嚴(yán)格的測(cè)試和優(yōu)化,可以在A(yíng)ltera特定器件結(jié)構(gòu)中發(fā)揮出最佳性能??梢允褂眠@些知識(shí)產(chǎn)權(quán)的參數(shù)化模塊減少設(shè)計(jì)和測(cè)試的時(shí)間。MegaCore和AMPP宏功能模塊包括應(yīng)用于通信、數(shù)字信號(hào)處理(DSP)、PCI和其它總線(xiàn)界面,以及存儲(chǔ)器控制器中的宏功能模塊。Altera提供的宏功能模塊與LPM函數(shù)有: 算術(shù)組件: 包括累加器、加法器、乘法器和LPM算術(shù)函數(shù);門(mén)電路: 包括多路復(fù)用器和LPM門(mén)函數(shù)。I/O組件: 包括時(shí)鐘數(shù)據(jù)恢復(fù)(CDR)、鎖相環(huán)(PLL)、雙數(shù)據(jù)速率(DDR)、千兆位收發(fā)器塊(GXB)、LVDS接收器和發(fā)送器、PLL重新配置和遠(yuǎn)程更新宏功能模塊。存儲(chǔ)器編譯器:包括FIFO Partit
3、ioner、RAM和ROM宏功能模塊。存儲(chǔ)組件: 包括存儲(chǔ)器、移位寄存器宏模塊和 LPM 存儲(chǔ)器函數(shù)。宏功能模塊應(yīng)用可以通過(guò)元件庫(kù)中的“Megafunctions/LPM”或“MegaWizard Plug-In Manager”進(jìn)行參數(shù)化設(shè)置并使用。其操作方法請(qǐng)參考“QuartusII基于宏功能模塊的設(shè)計(jì)”。2、ROM和RAM存儲(chǔ)器設(shè)計(jì)用FPGA實(shí)現(xiàn)ROM和RAM存儲(chǔ)器可以用邏輯單元,也可以用內(nèi)含的EAB/ESB,一般用VHDL直接構(gòu)造存儲(chǔ)器時(shí)用的是邏輯單元,對(duì)于內(nèi)含EAB/ESB的FPGA芯片,使用“MegaWizard Plug-In Manager”定制存儲(chǔ)器,可選擇使用EAB/ESB
4、,這樣可以節(jié)約大量的邏輯單元。一般較大規(guī)模的ROM和RAM使用“MegaWizard Plug-In Manager” 定制,而較小規(guī)模,且有特殊特性要求時(shí)用VHDL直接構(gòu)造。3、四、實(shí)驗(yàn)內(nèi)容:1、QuartusII宏功能模塊實(shí)現(xiàn)ROM存儲(chǔ)器模塊新建一個(gè)原理圖文件。使用“MegaWizard Plug-In Manager”向?qū)В磮D3.1的步驟定制一個(gè)32×8bit的ROM模塊。建立內(nèi)存初始化文件QuartusII 能接受的LPM_ROM 中的初始化數(shù)據(jù)文件的格式有2 種:Memory Initialization File (.mif)格式和Hexadecimal(Intel-F
5、ormat)File(.hex)格式。內(nèi)存初始化文件可以手工編寫(xiě),也可以用其它軟件生成。本例數(shù)據(jù)量較小,可以在QuartusII中直接filenewMemory FileMemory Initialization File,然后填寫(xiě)每個(gè)存儲(chǔ)單元的數(shù)據(jù)(如:031依次遞增)即可。啟動(dòng)“MegaWizard Plug-In Manager”向?qū)нx擇ROM模塊生成的VHDL源文件名選擇VHDL語(yǔ)言設(shè)計(jì)適用的芯片系列數(shù)據(jù)總線(xiàn)寬度存儲(chǔ)器容量?jī)?nèi)存初始化文件 圖3.1使用“MegaWizard Plug-In Manager”定制ROM生成圖3.2所示的ROM模塊添加管腳,編譯并仿真測(cè)試。圖3.2 測(cè)試RO
6、M模塊2、QuartusII宏功能模塊實(shí)現(xiàn)RAM存儲(chǔ)器模塊RAM與ROM定制方法相似,按圖3.3定制一個(gè) 32×8bit一端口RAM,該RAM讀寫(xiě)共用一個(gè)地址總線(xiàn),“wren”為寫(xiě)入信號(hào),高電平有效。除了一端口RAM,還有二端口、三端口RAM,也可以采用讀寫(xiě)地址總線(xiàn)分開(kāi)的形式。還有一種形式,讀寫(xiě)數(shù)據(jù)采用同一條總線(xiàn),應(yīng)使用三態(tài)總線(xiàn),且讀寫(xiě)控制必須分開(kāi)進(jìn)行。圖3.3 32×8bit一端口RAM圖3.4為仿真波形,注意觀(guān)察哪些地址位寫(xiě)入了什么數(shù)據(jù)?圖3.4 一端口RAM仿真波形3、用VHDL設(shè)計(jì)ROM和RAM用VHDL可以非常靈活地設(shè)計(jì)各種特性的存儲(chǔ)器。圖3.5和圖3.6分別是實(shí)
7、現(xiàn)ROM和RAM的VHDL代碼。定義存儲(chǔ)字子類(lèi)型和數(shù)組類(lèi)型用于存儲(chǔ)數(shù)據(jù)圖3.5 一端口ROM存儲(chǔ)器VHDL代碼 圖3.5的ROM存儲(chǔ)器采用組合邏輯電路方式設(shè)計(jì),從下面的功能仿真波形可以看到,輸出“d”與地址“adr”同步變化。請(qǐng)改用時(shí)序邏輯電路方式實(shí)現(xiàn),該怎么描述?輸出“d”與地址“adr”的時(shí)序關(guān)系是怎樣的?圖3.6的RAM讀寫(xiě)數(shù)據(jù)采用一條總線(xiàn)“d”,“d”應(yīng)使用“inout”類(lèi)型端口,注意代碼中是如何描述三態(tài)總線(xiàn)的?(要點(diǎn):沒(méi)有數(shù)據(jù)輸出的時(shí)候(只有wr=0并且cs=1時(shí)才輸出數(shù)據(jù)),“d”應(yīng)設(shè)置為高阻態(tài),即釋放總線(xiàn),允許總線(xiàn)輸入數(shù)據(jù)。)圖3.6 一端口RAM存儲(chǔ)器VHDL代碼 在仿真設(shè)置時(shí)
8、,雙向端口“d”設(shè)置的值是外部電路輸入值,而“d”總線(xiàn)最終的值顯示在diresult上。在數(shù)據(jù)輸出的時(shí)候(wr=0并且cs=1),“d”應(yīng)設(shè)置為高阻態(tài)(即外部電路應(yīng)釋放總線(xiàn))。圖3.7為一端口RAM存儲(chǔ)器仿真波形。圖中,當(dāng)cs=1、wr=1時(shí)(對(duì)應(yīng)地址0411)寫(xiě)入數(shù)據(jù),此時(shí)應(yīng)設(shè)置“d”總線(xiàn)的值(如0411依次遞增),數(shù)據(jù)被寫(xiě)入相應(yīng)地址。其余時(shí)候“d”設(shè)置為高阻(“Z”)。cs=1、wr=0時(shí)讀出數(shù)據(jù),后面一段顯示讀出的各個(gè)地址位的數(shù)據(jù)(未寫(xiě)入數(shù)據(jù)的地方保持初始化的“0”),數(shù)據(jù)輸出“d”與地址“adr”是否有延時(shí)?為什么?。cs=0(片選無(wú)效),無(wú)論wr的值是什么,總線(xiàn)都保持高阻態(tài)“Z”。圖
9、3.7 一端口RAM存儲(chǔ)器仿真波形4、用ROM作為流水燈數(shù)據(jù)輸入,并測(cè)試用16個(gè)LED燈可以顯示出各種奇妙的顯示效果,實(shí)際上是在每個(gè)時(shí)鐘節(jié)拍輸出16位的數(shù)據(jù)顯示在LED上。需要顯示的數(shù)據(jù)預(yù)先寫(xiě)好存儲(chǔ)在ROM中,設(shè)置ROM中的數(shù)據(jù)就可以顯示任意的圖案。按圖3.8設(shè)計(jì)一個(gè)ROM存儲(chǔ)器和一個(gè)計(jì)數(shù)器。ROM存儲(chǔ)器位寬:16bit,容量:256個(gè)字,用LED.MIF作為初始化文件(下載LED.TXT改名為L(zhǎng)ED.MIF)。計(jì)數(shù)器(counter)也可以用宏功能模塊(在“Arithmetic”中的“LPM_COUNTER”),采用 “q”為8位輸出的默認(rèn)設(shè)置,即可得到一個(gè)0255的加法計(jì)數(shù)器。計(jì)數(shù)器輸出作
10、為ROM地址輸入,這樣可以按時(shí)鐘節(jié)拍依次輸出0255各個(gè)地址的數(shù)據(jù)。將圖3.8的原理圖作為頂層文件編譯后下載到實(shí)驗(yàn)箱。時(shí)鐘頻率使用10HZ,輸出端連接16個(gè)LED燈。圖3.8 ROM作為流燈的輸入測(cè)試電路 5、4×4鍵盤(pán)掃描模塊設(shè)計(jì)圖3.11是4×4鍵盤(pán)陣列電路原理圖。行字符ROW3.0表示一行的狀態(tài),COL3.0 表示一列的狀態(tài)。使用時(shí)采用行掃描方式檢測(cè)按鍵,即設(shè)置COL3.0中某一位為“0”,其余為“1”,如COL=“1011”(COL2=0)表示選擇第三行(COL2對(duì)應(yīng)一行);然后檢測(cè)ROW3.0的值,全“1”說(shuō)明沒(méi)有任何鍵按下,為“0”一位表示該列有鍵按下,如ROW
11、=“0101”表示第二和第四列(ROW2 、ROW4對(duì)應(yīng)列)被按下;結(jié)合COL和ROW即可確定按鍵值(如“8”和“C”)。圖3.11 4×4鍵盤(pán)陣列電路原理圖圖3.12是鍵盤(pán)掃描模塊VHDL源碼。注意:是如何判斷鍵盤(pán)按下時(shí)刻的?圖3.12 鍵盤(pán)掃描模塊VHDL源碼圖3.13 鍵盤(pán)掃描模塊仿真波形圖3.13是鍵盤(pán)掃描模塊仿真波形,注意:如何設(shè)置Kr的值?在實(shí)驗(yàn)箱上測(cè)試4×4鍵盤(pán)掃描模塊,可按圖3.14連接,為便于觀(guān)察,使用1Hz頻率時(shí)鐘信號(hào),Kr、Kc連接FPGA引出線(xiàn)ROW3.0和COL3.0 ,同時(shí)將其分別輸出到4個(gè)LED顯示,BCD_OUT通過(guò)譯碼器顯示在數(shù)碼管上。圖3
12、.14 4×4鍵盤(pán)掃描模塊測(cè)試電路6、PS/2接口鍵盤(pán)讀取模塊設(shè)計(jì)PS2通信協(xié)議是一種雙向同步串行通迅協(xié)議。通迅的兩端通過(guò)CLOCK(時(shí)鐘信號(hào)端)同步,并通過(guò)DATA(數(shù)據(jù)端口)交換數(shù)據(jù)。任何一方如果想要抑制另外一方的通迅時(shí),只需要把CLOCK拉到低電平。PS2控制接口僅使用到兩條傳輸端口,一為頻率端口,另一則為數(shù)據(jù)端口如圖3.15所示,且此傳輸埠必為三態(tài)(Tri-State)并具有雙向(bidirectional)特性。PS2 傳輸產(chǎn)品上,常見(jiàn)為鼠標(biāo)與鍵盤(pán),兩者的驅(qū)動(dòng)原理均相同,僅掃描碼(scan code)不同。因此我們以PS2鍵盤(pán)為例進(jìn)行說(shuō)明。PS2標(biāo)準(zhǔn),規(guī)范每筆數(shù)據(jù)傳輸包含起
13、始位(start bit)、掃描碼(scan code)、奇同位檢查(odd parity)、以及終止位(stop bit)共計(jì)11位,并以雙向串行數(shù)據(jù)傳輸?shù)姆绞?,達(dá)到通信的目的。且當(dāng)主機(jī)端(host)或從機(jī)端(slave)并無(wú)傳送或接收數(shù)據(jù)時(shí),數(shù)據(jù)傳輸端口及頻率均將升為高電位。圖3.16所示為每一筆數(shù)據(jù)傳輸所包含之內(nèi)容如下:a. 起始位(“0”)b. 8位數(shù)據(jù)寬度的掃描碼( scan code )。c. 奇同位檢查,使掃描碼與奇同位加起來(lái)1的數(shù)字為奇數(shù)個(gè)。d. 終止位(“1”)圖3.16 PS/2接口時(shí)序鍵盤(pán)其實(shí)就是一個(gè)大型的按鍵矩陣,它們由安裝在電路板上的處理器(叫做“鍵盤(pán)編碼器”)來(lái)監(jiān)視
14、著。雖然不同的鍵盤(pán)可能采用不同的處理器,但是它們完成的任務(wù)都是一樣的,即監(jiān)視哪些按鍵被按下,哪些按鍵被釋放了,并將這些信息傳送到主機(jī)。每個(gè)鍵盤(pán)被分配了唯一的通碼(鍵盤(pán)按下時(shí)發(fā)送的編碼)和斷碼(鍵盤(pán)釋放時(shí)發(fā)送的編碼),這樣主機(jī)通過(guò)查找唯一的掃描碼就可以確定是哪個(gè)按鍵被按下或釋放。PS2 鍵盤(pán)掃描碼見(jiàn)“鍵盤(pán)掃描碼表”圖3.16是PS/2接口鍵盤(pán)接收模塊的VHDL源碼,在對(duì)其進(jìn)行仿真時(shí),可以將“keyboard_clk_filtered”信號(hào)輸出查看。圖3.16 PS/2接口鍵盤(pán)接收模塊VHDL源碼圖3.17是PS/2接口鍵盤(pán)接收模塊仿真波形,為便于分析,把“keyboard_clk_filtere
15、d”信號(hào)和“SHIFTIN”信號(hào)連接到端口“filtered_out”和“SHIFTIN _out”輸出顯示。圖3.17 PS/2接口鍵盤(pán)接收模塊開(kāi)始位01位2位3位4位5位6位7位8位掃描碼輸出PS/2時(shí)鐘信號(hào)中的干擾信號(hào)仿真波形按圖3.17設(shè)計(jì),即可在實(shí)驗(yàn)箱的數(shù)碼管上顯示鍵盤(pán)的掃描碼?!癝el_time2”模塊用實(shí)驗(yàn)二中的數(shù)碼管掃描模塊修改一下即可(只是用2個(gè)數(shù)碼管,SEL綁定到SEL0管腳),代碼如圖3.18:圖3.17 PS/2接口鍵盤(pán)接收模塊測(cè)試電路圖3.18 修改后的數(shù)碼管掃描模塊7、VGA顯示控制VGA顯示器在顯示過(guò)程中主要由五個(gè)信號(hào)來(lái)控制,分別是R、G、B、HS和VS。其中R、
16、G、B分別用來(lái)驅(qū)動(dòng)顯示器三個(gè)基色的顯示,即紅、綠和藍(lán),HS是行同步信號(hào),VS是場(chǎng)同步信號(hào)。在做本實(shí)驗(yàn)時(shí),由于沒(méi)有任何顯示器驅(qū)動(dòng),所以顯示器工作在默認(rèn)狀態(tài),分辨率:640×480,刷新率:60Hz。在此狀態(tài)下,當(dāng)VS和HS都為低電平時(shí),VGA顯示器顯示亮的狀態(tài),其正向掃描過(guò)程約為26us。當(dāng)一行掃描結(jié)束后,行同步信號(hào)HS置高電平,持續(xù)約6us后,變成低電平,在HS為高電平期間,顯示器產(chǎn)生消隱信號(hào),這就是顯示器回掃的過(guò)程。當(dāng)掃描完一場(chǎng)后,也就是掃描完480行以后,場(chǎng)同步信號(hào)VS置高電平,產(chǎn)生場(chǎng)同步,此同步信號(hào)可以使掃描線(xiàn)回到顯示器的第一行第一列位置。顯示器顯示的時(shí)序圖如圖3.19所示:圖
17、3.19 VGA時(shí)序以640*48060Hz模式為例,圖中Ta為同步頭信號(hào)(行同步頭96像素、場(chǎng)同步頭2行),Tb+Tc為同步后信號(hào)(行40+8像素、場(chǎng)25+8行),Td為圖像顯示時(shí)間(行640像素、場(chǎng)480行),Te+Tf為同步前信號(hào)(行8+8像素、場(chǎng)8+2行)??偣惨恍?00像素(約32us,其中行顯示過(guò)程約為26us,行同步脈沖加上同步前后約 6us);一幀圖像525行(其中顯示過(guò)程約為480行,場(chǎng)同步脈沖加上同步前后45行)。圖3.20為 VGA顯示控制模塊VHDL代碼,通過(guò)FPGA在顯示器上顯示一些條紋或圖案,由key1.0兩個(gè)開(kāi)關(guān)的組合控制CRT顯示器上能夠顯示橫條紋、豎條紋以及棋盤(pán)格子圖案。稍微修改代碼即可由本模塊實(shí)現(xiàn)VGA掃描控制,將屏幕行列位置hcnt,vcnt輸出,由外部電路計(jì)算當(dāng)前顏色值,通過(guò)imag_GRB端口返回,即可顯示由ROM提供或外部模塊設(shè)置的圖像。圖3.20 VGA顯示控制模塊VHDL代碼 五、實(shí)驗(yàn)步驟:1首先打開(kāi)Quartus II軟件,新建工程。2按照自己的想法,編寫(xiě)原理圖或VHDL文件程序。3對(duì)自己的設(shè)計(jì)進(jìn)行編譯并仿真。4仿真無(wú)誤后,根據(jù)附錄一的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度民辦學(xué)校圖書(shū)資源采購(gòu)與借閱服務(wù)合同范本3篇
- 二零二五年度無(wú)線(xiàn)通信塔架建設(shè)施工合同
- 2025年臍橙果肥國(guó)際市場(chǎng)拓展合作合同4篇
- 2025年度二手房買(mǎi)賣(mài)合同稅務(wù)籌劃范本
- 二零二五年度土地承包經(jīng)營(yíng)權(quán)租賃管理服務(wù)合同
- 二零二五年度文化藝術(shù)交流活動(dòng)組織合同
- 二零二五年度天然青貯飼料原料采購(gòu)與倉(cāng)儲(chǔ)管理合同
- 二零二五年度品牌代理授權(quán)合同(含保密條款)
- 二零二五年度水塘生態(tài)環(huán)境保護(hù)與修復(fù)工程合同
- 二零二五版鋁單板裝飾材料采購(gòu)合同4篇
- 2024年社區(qū)警務(wù)規(guī)范考試題庫(kù)
- 2024年食用牛脂項(xiàng)目可行性研究報(bào)告
- 2024年全國(guó)各地中考試題分類(lèi)匯編(一):現(xiàn)代文閱讀含答案
- 2024-2030年中國(guó)戶(hù)外音箱行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- GB/T 30306-2024家用和類(lèi)似用途飲用水處理濾芯
- 家務(wù)分工與責(zé)任保證書(shū)
- 消防安全隱患等級(jí)
- 溫室氣體(二氧化碳和甲烷)走航監(jiān)測(cè)技術(shù)規(guī)范
- 華為員工股權(quán)激勵(lì)方案
- 部編版一年級(jí)語(yǔ)文下冊(cè)第一單元大單元教學(xué)設(shè)計(jì)
- 《保單檢視專(zhuān)題》課件
評(píng)論
0/150
提交評(píng)論