視頻圖像采集之——VGA接口與時序電路(1)


背景:

本系列是為了學習了圖像處理,視頻采集系統搭建。將自己學過的幾個圖像處理的基礎算法,做過的設計記錄下來,計划是這樣的:

①:理論介紹,

②:先搭建一個VGA時序系統,顯示方格圖,豎條紋圖之類的,算是基本入門

③:搭建一個固定圖像的VGA顯示,

④:搭建一個使用PC端上位機通過串口發送一幅圖片數據到FPGA開發板,FPGA接收數據並做處理最終發送給VGA顯示屏顯示

⑤:基於DDR3的VGA顯示驅動控制實現

⑥:OV5640介紹,及其IIC配置

⑦:OV5640的視頻圖像顯示

上述均不涉及圖像算法設計

 

 

 

 

視頻圖像采集之——VGA接口與時序電路(1)

關於VGA描述:

    VGA在網上介紹已經爛大街了,但還是決定炒冷飯。VGA掃描顯示其實就是兩條線,一個是行掃描,一個是場掃描,在行有效和場有效的時候把數據發送給VGA即可顯示了。顯示標准就是行分辨率x列分辨率@60hz即一秒屏幕刷新60次,拿640x480@60HZ做例子,即行為640個像素,場為480個像素。

顯示器掃描方式分為逐行掃描和隔行掃描:逐行掃描是掃描從屏幕左上角一點開始,從左像右逐點掃描,每掃描完一行,電子束回到屏幕的左邊下一行的起始位置,在這期間,CRT對電子束進行消隱,每行結束時,用行同步信號進行同步;當掃描完所有的行,形成一幀,用場同步信號進行場同步,並使掃描回到屏幕左上方,同時進行場消隱,開始下一幀。隔行掃描是指電子束掃描時每隔一行掃一線,完成一屏后在返回來掃描剩下的線,隔行掃描的顯示器閃爍的厲害,會讓使用者的眼睛疲勞。

 

 

 

關於VGA硬件:

 

 

 

 

 最主要的幾根線:

 

 關於VGA時序分析:

 http://tinyvga.com/vga-timing

 

 

HS時序深入分析

可見時序的循環,可被划分為a,b,c,d4個時期。這四個時期定義如下:

  A~B:行消隱期 即同步,相當於還原掃描坐標吧

  B~C:行消隱后肩 相當於准備開始掃描吧

  C~D:行顯示期 掃描中,數據有效區域

  D~E:行消隱前肩 完成掃描,相當於准備同步

 

S時序深入分析

可見時序的循環,可被划分為a,b,c,d4個時期。這四個時期定義如下:

  A~B:場消隱期 即同步,相當於還原掃描坐標吧

  B~C:場消隱后肩 相當於准備開始掃描吧

  C~D:場顯示期 掃描中,數據有效區域

  D~E:場消隱前肩 完成掃描,相當於准備同步

 

綜上描述,我們只要知道每個時期的時間,便可以表示出VGA的時序。而FPGA的工作是由固定頻率的時鍾觸發的,因此某固定時間可以用n次觸發來表示。因此我們很容易就想到了FPGA常用的計數方法:比如說行掃描,我們計數0~H_total-1。用另一個進程將其划分為4個時期,按標注分配。其實這相當於狀態機。

 以下是固定分辨率1280*1024 60fps下HS,VS的標准:

 

有圖可得:

各個時期像素數:

// Horizontal Parameter( Pixel )
H_DISP     = 11'd1280,
H_FRONT = 11'd48,
H_SYNC    = 11'd112,
H_BACK    = 11'd248,
H_TOTAL  = 11'd1688,
// Virtical Parameter( Line )
V_DISP     = 11'd1024,
V_FRONT = 11'd1,
V_SYNC    = 11'd3,
V_BACK    = 11'd38,
V_TOTAL  = 11'd1066;

像素時鍾頻率(即所需的VGA時鍾頻率)

(H_DISP + H_BACK + H_SYNC + H_FRONT)×(V_DISP + V_BACK + V_SYNC + V_FRONT)× REFRESH_RATE

在此為(1280 + 248 + 112 + 48)×(1024 + 38 + 3 + 1)× 60 = 1688 × 1066 × 60 = 107.964480 MHz (工業標准為 108.000 MHz ,當然都是能正常顯示的,推薦用工業標准。)

一幀圖像的數據量(以RGB565 格式為例)

H_DISP × V_DISP × (5 + 6 + 5)bit = [H_DISP × V_DISP × (5 + 6 + 5)bit ] ÷ 8 B =  [H_DISP × V_DISP × (5 + 6 + 5)bit ] ÷ 8 ÷ 1024 K

在此為 1280 × 1024 × 16 bit = 20971520 ÷ 8 B = 2621440  ÷ 1024 K = 2560  ÷ 1024 M = 2.5 M

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM