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

正文內(nèi)容

基于fpga的vga顯示控制設(shè)計(jì)論文(編輯修改稿)

2025-04-03 09:20 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 RED,綠: GREEN,藍(lán): BLUE)三基色組成。顯示是用逐行掃描的方式解決,陰極射線(xiàn)槍發(fā)出電子束打在涂有銀光粉的熒光屏幕上,產(chǎn)生 R,G,B 三基色,合成一個(gè)彩色像素。掃描從屏幕的左上方開(kāi)始,從左到右,從上到下,進(jìn)行掃描,每掃完一行,電子束回到屏幕的左邊下一行的起始位置,在這期間, CRT 對(duì)電子束進(jìn)行消隱,每行結(jié)束時(shí),用行同步信號(hào)進(jìn)行同步,掃描完所有行, 用場(chǎng)同步信號(hào)進(jìn)行場(chǎng)同步,并使掃描回到屏幕的左上方,同時(shí)進(jìn)行場(chǎng)消隱,預(yù)備下一場(chǎng)的掃描。 它的行場(chǎng)掃描時(shí)序示意圖 8所示?,F(xiàn)以正極性為例,說(shuō)明 CRT 的工作過(guò)程: R、 G、B為正極性信號(hào),即高電平有效。當(dāng) VS=0, HS=0 時(shí), CRT 顯示的內(nèi)容為亮的過(guò)程,即正向掃描過(guò)程約為 26us。當(dāng)一行掃描完畢,行同步 HS=1,約需 6us,期間, CRT 掃描產(chǎn)生消隱,電子束回到 CRT 的左邊下一行的起始位置( X=0,Y=1);當(dāng)掃描完 480行后,CRT的場(chǎng)同步 VS=1,產(chǎn)生場(chǎng)同步是掃描線(xiàn)回到 CRT的第一行第一列( C=0,Y=0 處,約為 兩個(gè)行周期)。 HS 和 VS 的時(shí)序圖。 T1 為行同步消隱(約為 6us); T2 為行顯示時(shí)間過(guò)程論述 第 15 頁(yè)(共 38 頁(yè)) (約為 26us), T3為場(chǎng)同步消隱(兩行周期); T4為場(chǎng)顯示時(shí)間( 480 行周期)。 圖 8 行場(chǎng)掃描時(shí)序示意圖 顯示控制 的總體設(shè)計(jì) 系統(tǒng) 模塊 圖 本次設(shè)計(jì) 主要設(shè)計(jì)一個(gè)顯示控制器,將存在存儲(chǔ)器中的數(shù)據(jù)讀出來(lái)在 CRT 顯示器上顯示 。由于顯示器接收的是 R,G,B 三基色信號(hào),是 8位并行數(shù)據(jù),因此要將采集的串行數(shù)據(jù)轉(zhuǎn)化成并行數(shù)據(jù),再去驅(qū)動(dòng)顯示器。該模塊設(shè)計(jì)總體結(jié)構(gòu)示意圖如圖 9所示 。 設(shè)計(jì)方案如下: 將圖像控制模塊分為這樣 幾部分:二分頻 電路 ( )、 VGA 時(shí)序控制模塊( )、存儲(chǔ)器讀出模塊( )。其中二分頻把 50mhz 時(shí)鐘 頻率 分成 25mhz 并提供給其它模塊作為時(shí)鐘; VGA 時(shí)序控制模塊用于產(chǎn)生 640 480 顯示 范圍,并控制顯示范圍和消隱范圍以及 產(chǎn)生水平同步時(shí)序信號(hào) hs 和垂直同步時(shí)序信號(hào)vs的值;存儲(chǔ)器讀出模塊提供給 SRAM 地址并按地址讀出八位數(shù)據(jù)(灰度值 Y),然后得到 R、 G、 B 的值(若 Y中間值,則 R=G=B=1;否則 R=G=B=0),并把 R、 G、 B 的值通過(guò) VGA 接口傳到 CRT顯 示器。 基于 FPGA的 VGA顯示控制設(shè)計(jì) 第 16 頁(yè)(共 38 頁(yè)) 圖 9 模塊設(shè)計(jì)總體結(jié)構(gòu)示意圖 顯示控制 的詳細(xì)設(shè)計(jì) 二分頻電路 二分頻把 50MHz 時(shí)鐘頻率分成 25MHz 并提供給其它模塊作為時(shí)鐘。 顯示器的像素分辨率 是 640 480,像素時(shí)鐘 25Mhz,刷新頻率 60Hz177。 1。 開(kāi)發(fā)板提供的系統(tǒng)時(shí)鐘是 50MHz,所以要對(duì)板載時(shí)鐘進(jìn)行分頻后才能使用。 分頻電路的設(shè)計(jì)部分程序如下 [12]~[14]: begin process(clk50mhz) begin 將 50MHz 分成 25MHz 的頻率 if(clk50mhz39。 event and clk50mhz =39。139。)then clk25mhz=not clk25mhz。 end if。 end process。 圖 10 是二分頻電路設(shè)計(jì)的內(nèi)部結(jié)構(gòu)圖。 過(guò)程論述 第 17 頁(yè)(共 38 頁(yè)) 圖 10 二分頻電路設(shè)計(jì)的內(nèi)部結(jié)構(gòu)圖 VGA 時(shí)序控制模塊 VGA 時(shí)序控制模塊用于產(chǎn)生 640*480 顯示 范圍,并控制顯示范圍和消隱范圍以及產(chǎn)生水平同步時(shí)序信號(hào) hs和垂直同步時(shí)序信號(hào) vs的值。 一般來(lái)說(shuō),時(shí)鐘計(jì)數(shù)器通過(guò)像素時(shí)鐘來(lái)控制水平時(shí)序信號(hào)。譯碼計(jì)數(shù)器的值產(chǎn)生HS信號(hào)。在指定的行,計(jì)數(shù)器產(chǎn)生當(dāng)前像素 顯示的位置。 一個(gè)獨(dú)立的計(jì)數(shù)器產(chǎn)生垂直時(shí)序信號(hào)。垂直同步計(jì)數(shù)器在每個(gè) HS 脈沖信號(hào)來(lái)臨時(shí)自動(dòng)加 1,譯碼值產(chǎn)生 VS 信號(hào)。計(jì)數(shù)器產(chǎn)生當(dāng)前顯示行。這兩個(gè)計(jì)數(shù)器從地址到顯示緩沖器連續(xù)計(jì)數(shù)。 開(kāi)發(fā) 板的 DDR SDRAM 提供了一個(gè)足夠的顯示緩沖區(qū)。 在 HS 脈沖的開(kāi)始和 VS脈沖的開(kāi)始沒(méi)有具體規(guī)定相對(duì)的時(shí)序關(guān)系。因此,計(jì)數(shù)器被分配到簡(jiǎn)單格式的視頻 RAM 地址,或分配到同步脈沖產(chǎn)生器的最小譯碼邏輯。 設(shè)計(jì)對(duì)時(shí)序控制部分的部分代碼如下 [16]、 [17]: architecture Behavioral of vgasig is 定義相關(guān)常量,可參考 VGA 相關(guān)工業(yè)標(biāo)準(zhǔn) constant H_PIXELS:INTEGER:=640。 constant H_FRONT:INTEGER:=16。 constant H_BACK:INTEGER:=48。 constant H_SYNCTIME:INTEGER:=96。 constant H_PERIOD:INTEGER:=H_SYNCTIME+H_PIXELS+H_FRONT+H_BACK。 constant V_LINES:INTEGER:=480。 基于 FPGA的 VGA顯示控制設(shè)計(jì) 第 18 頁(yè)(共 38 頁(yè)) constant V_FRONT:INTEGER:=11。 constant V_BACK:INTEGER:=32。 constant V_SYNCTIME:INTEGER:=2。 constant V_PERIOD:INTEGER:=V_SYNCTIME+V_LINES+V_FRONT+V_BACK。 signal ht:std_logic_vector(9 downto 0)。行計(jì)數(shù)器 signal vt:std_logic_vector(9 downto 0)。場(chǎng)計(jì)數(shù)器 begin 產(chǎn)生行計(jì)數(shù)(記錄每行的點(diǎn)數(shù)), H_PERIOD 為行周期計(jì)數(shù)值。 A:process(clock,reset) begin 復(fù)位時(shí)行計(jì)數(shù)器清零 if reset=39。039。 then ht=(others=39。039。)。 elsif (clock39。 event and clock=39。139。) then 當(dāng)行計(jì)數(shù)到達(dá)計(jì)數(shù)周期時(shí)將重置 if htH_PERIOD then ht=ht+1。 else ht=(others=39。039。)。 end if。 end if。 end process。 產(chǎn)生場(chǎng)計(jì)數(shù)(記錄每幀中的行數(shù), V—— PERIOD 為場(chǎng)周期計(jì)數(shù)值) B:process(hsyncb,reset) begin 復(fù)位場(chǎng)計(jì)數(shù)器清零 if reset=39。039。 then vt=(others=39。039。)。 elsif(hsyncb39。 event and hsyncb=39。139。) then if vtV_PERIOD then vt=vt+1。 else vt=(others=39。039。)。 過(guò)程論述 第 19 頁(yè)(共 38 頁(yè)) end if。 end if。 end process。 產(chǎn)生行同步信號(hào), HPIXELS 為行顯示點(diǎn)數(shù), HFRONT 為前消隱點(diǎn)數(shù), HSYNCTIME為行同步點(diǎn)數(shù) C:process(clock,reset) begin if reset=39。039。 then hsyncb=39。139。 elsif (clock39。 event and clock=39。139。) then if(ht=(H_PIXELS+H_FRONT) and ht(H_PIXELS+H_SYNCTIME+H_FRONT)) then hsyncb=39。039。 else hsyncb=39。139。 end if。 end if。 end process。 產(chǎn)生場(chǎng)同步信號(hào), VLINES 為場(chǎng)顯示點(diǎn)數(shù), VFRONT 為前消隱點(diǎn)數(shù), VSYNCTIME 為場(chǎng)同步點(diǎn)數(shù) D:process(hsyncb,reset) begin if reset=39。039。 then vsyncb=39。139。 elsif (hsyncb39。 event and hsyncb=39。139。) then if(vt=(V_LINES+V_FRONT) and vt(V_LINES+V_SYNCTIME+V_FRONT)) then vsyncb=39。039。 else vsyncb=39。139。 end if。 基于 FPGA的 VGA顯示控制設(shè)計(jì) 第 20 頁(yè)(共 38 頁(yè)) end if。 end process。 E:process(clock) begin if clock39。 event and clock=39。139。 then 此處 enable 為低 if ht=H_PIXELS or vt=V_LINES then enable=39。039。 else enable=39。139。 end if。 end if。 end process。 存 儲(chǔ)器讀出模塊 存儲(chǔ)器讀出模塊提供給 SRAM 地址并按地址 從存儲(chǔ)器中 讀出八位 R、 G、 B 數(shù)據(jù) ,并把 R、 G、 B的值通過(guò) VGA接口傳到 CRT 顯示器。 圖 11 是 存儲(chǔ) 模塊設(shè)計(jì)的內(nèi)部結(jié)構(gòu)圖 。 圖 11 存儲(chǔ)模塊設(shè)計(jì)的內(nèi)部結(jié)構(gòu)圖 顯示控制的實(shí)現(xiàn)過(guò)程 第 21 頁(yè)(共 38 頁(yè)) 4 顯示控制 的實(shí)現(xiàn)過(guò)程 實(shí)現(xiàn) 設(shè)計(jì)軟件中的仿真實(shí)現(xiàn) 在代碼編寫(xiě)完畢后,需要借助于測(cè)試平臺(tái)來(lái)驗(yàn)證所設(shè)計(jì)的模塊是否滿(mǎn)足要求。 ISE提供了兩種測(cè)試平臺(tái)的建立方法,一種是使用 KDL Bencher 的圖形化 波形編輯功能編寫(xiě),另一種就是利用 HDL 語(yǔ)言。由于 前 者使用簡(jiǎn)單,功能強(qiáng)大,所以本設(shè)計(jì)基于 圖像化波形編輯 建立仿真。 在 ISE 中創(chuàng)建 testbench 波形,可通過(guò) HDL Bencher 修改,再將其和仿真器連接起來(lái),再驗(yàn)證設(shè)計(jì)功能是否正確。首先在工程管理區(qū)將 Sources for 設(shè)置為Behavioral Simulation,然后在任意位置單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“ New Source”命令,然后選中“ Test Bench WaveForm”類(lèi)型,輸入文件名為“ test_bench”,點(diǎn)擊 Next 進(jìn)入下 一頁(yè)。這時(shí),工程中所有 VHDL Module 的名稱(chēng)都會(huì)顯示出來(lái),設(shè)計(jì)人員需要選擇要進(jìn)行測(cè)試的模塊。由于本工程只有 兩個(gè)個(gè)模塊,所以 列出了 test,如圖 12所示。 圖 12 選擇待測(cè)模塊對(duì)話(huà)框 用鼠標(biāo)選中 test,點(diǎn)擊“ Next”后進(jìn)入下一頁(yè),直接點(diǎn)擊“ Finish”按鍵。此時(shí)HDL Bencher 程序自動(dòng)啟動(dòng),等待用戶(hù)輸入所需的時(shí)序要求,如圖 13 所示。 基于 FPGA的 VGA顯示控制設(shè)計(jì) 第 22 頁(yè)(共 38 頁(yè)) 圖 13 時(shí)序初始化窗口 時(shí)鐘高電平時(shí)間和時(shí)鐘低電平時(shí)間一起定義了設(shè)計(jì)操作必須達(dá)到的時(shí)鐘周期,輸入建立時(shí)間定義了輸入在什么時(shí)候必須有效,輸出有效延時(shí) 定義了有效時(shí)鐘延時(shí)到達(dá)后多久必須輸出有效數(shù)據(jù)。默認(rèn)的初始化時(shí)間設(shè)置如下: 時(shí)鐘高電平時(shí)間( Clock High Time): 100ns 時(shí)鐘低電平時(shí)間( Clock Low Time): 100ns 輸入建立時(shí)間( Input Setup): 15ns 輸出有效時(shí)間( Output Valid): 15ns 偏移時(shí)間( Offset): 100ns 單擊“ OK”按鈕,接受默認(rèn)的時(shí)間設(shè)定。測(cè)試矢量波形顯示如圖 14 所示。 圖 14 測(cè)試矢量波形 顯示控制的實(shí)現(xiàn)過(guò)程 第 23 頁(yè)(共 38 頁(yè)) 接下來(lái),初始化輸入( 注:灰色的部分不允許用戶(hù)修改),修改的方法為:選中信號(hào),在其波形上單擊,從該點(diǎn)擊所在周期開(kāi)始,在往后所有的時(shí)間單元內(nèi)該信號(hào)電平反相。點(diǎn)擊 din信號(hào)前面的“ +”號(hào),在 din[7]的第 2 個(gè)時(shí)鐘周期內(nèi)單擊,使其變高;在 din[6]的第 3個(gè)時(shí)鐘周期內(nèi)單擊,使其變高;同樣的方法修改 din[5]~din[0]信號(hào),使其如圖 15 所示。 圖 15 初始化輸入 然后將 testbench 文件存盤(pán),則 ISE 會(huì)自動(dòng)將其加入到仿真的分層結(jié)構(gòu)中,在代碼管理區(qū)會(huì)列出剛生成的測(cè)試文件 ,如圖 16 所示。 圖 16 測(cè)試文件列表 選中 文件,然后雙擊過(guò)程管理區(qū)的“ Simulate Behavioral Model”,即可完成功能仿真。同樣,可在“ Simulate Behavioral Model”選項(xiàng)上單擊右鍵,設(shè)置仿真時(shí)間等。 設(shè)計(jì)的 仿真結(jié)果如圖 17 所示。從中,可以看出, dout 信號(hào)等于 din 信號(hào)加 1,功能正確。 圖 18是頂層模塊設(shè)計(jì)圖。 基于 FPGA的 VGA顯示控制設(shè)計(jì) 第 24 頁(yè)(共 38 頁(yè)) 圖 17 功能仿真結(jié)果 圖 18 頂層模塊設(shè)計(jì)圖 下載到實(shí)驗(yàn)板上實(shí)現(xiàn) 將 CRT 顯示器的分辨率調(diào)為 640 480,連接到開(kāi)發(fā)板 的 VG
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1