基于FPGA的VGA時(shí)序彩條信號實(shí)現
3 VGA時(shí)序信號及彩條信號產(chǎn)生模塊設計
3.1 VGA時(shí)序信號產(chǎn)生模塊
VGA時(shí)序信號產(chǎn)生模塊包括行點(diǎn)數計數器h_cnt、場(chǎng)行數計數器v_cnt、行同步產(chǎn)生狀態(tài)機h_state和場(chǎng)同步產(chǎn)生狀態(tài)機v_state等。其中,行點(diǎn)數計數器是800進(jìn)制計數器,場(chǎng)行數計數器是525進(jìn)制計數器。行同步狀態(tài)機h_state有h_video,h_front,h_sync, h_back四種狀態(tài),它根據行點(diǎn)數計數器的計數值來(lái)進(jìn)行狀態(tài)轉換;場(chǎng)同步狀態(tài)機v_state有v_video,v_Front,v_sync, v_Back四種狀態(tài),它根據場(chǎng)行數計數器的計數值來(lái)進(jìn)行狀態(tài)翻轉。這兩個(gè)狀態(tài)機的狀態(tài)轉移圖分別如圖3和圖4所示。本文引用地址:http://dyxdggzs.com/article/191946.htm
當行狀態(tài)機h_state復位時(shí),即進(jìn)入h_video狀態(tài),它對應每行的有效顯示區域。行計數器h_cnt對25 MHz的點(diǎn)時(shí)鐘進(jìn)行計數,當行計數器h_cnt的計數值到達639時(shí),行同步狀態(tài)機即進(jìn)入行消隱前肩h_front狀態(tài);當h_cnt的計數值為663 時(shí),行同步狀態(tài)機進(jìn)入行同步狀態(tài)h_sync,此時(shí),行同步信號Hs輸出低電平。當h_cnt的計數值為759時(shí),狀態(tài)機即進(jìn)入行消隱后肩h_back狀態(tài);當行狀態(tài)機為h_front,h_sync,h_back狀態(tài)時(shí),行消隱信號輸出低電平。當h_cnt的計數值為799時(shí),行同步狀態(tài)機進(jìn)人 h_video狀態(tài),同時(shí),行計數器的同步復位信號為高電平,使行計數器復位。
場(chǎng)狀態(tài)機v_state開(kāi)始時(shí)進(jìn)入v_video狀態(tài),對應每場(chǎng)的有效顯示行,場(chǎng)計數器v_cnt的計數值每行加1。當場(chǎng)計數器的計數值到達479時(shí),場(chǎng)狀態(tài)機翻轉,進(jìn)入場(chǎng)消隱前肩v_ront狀態(tài);當v_cnt的值為497時(shí),狀態(tài)機v_state進(jìn)入場(chǎng)同步狀態(tài)v_sync,場(chǎng)同步信號Vs此時(shí)輸出低電平;當v_cnt的值為499時(shí),狀態(tài)機v_state進(jìn)入場(chǎng)消隱后肩v_back狀態(tài);當v_cnt的值為524時(shí),狀態(tài)機v_state又翻轉進(jìn)入 v_video狀態(tài),同時(shí)輸出高電平到場(chǎng)計數器v_cnt的同步清零端使其清零。當場(chǎng)狀態(tài)機v_state的狀態(tài)為v_Front,v_sync, v_Back三種狀態(tài)時(shí),場(chǎng)消隱信號輸出低電平,其余時(shí)刻為高電平。行、場(chǎng)消隱信號的邏輯與即為復合消隱信號。
3.2 VGA彩條信號產(chǎn)生模塊
彩條信號產(chǎn)生模塊包括了彩條模式控制、豎彩條發(fā)生和橫彩條發(fā)生等三個(gè)模塊。豎彩條發(fā)生模塊根據行點(diǎn)數器h_cnt的計數值來(lái)產(chǎn)生彩條,其流程圖如圖5所示。它對行點(diǎn)數計數器的數值進(jìn)行判斷,每80條豎線(xiàn)生成一種豎彩條,共8種豎彩條橫彩條發(fā)生模塊與豎彩條發(fā)生模塊相似。它根據場(chǎng)行數計數器v_cnt的計數值來(lái)產(chǎn)生橫彩條,流程圖如圖6所示。每60條掃描線(xiàn)為一個(gè)彩條寬度,共8種橫彩條模式。計數器mode的值又決定著(zhù)輸出彩條信號的類(lèi)型,當mode為0 時(shí),輸出的彩條為豎彩條;當mode為1時(shí),輸出的彩條橫彩條。
評論