You are on page 1of 126

國 立 聯 合 大 學

電 機 工 程 學 系 碩 士 班

碩 士 學 位 論 文

基於 FPGA 之即時數位影像處理平台設計

Design, Implementation and Verification


of a FPGA-Based Real-time
Digital Image Processing Platform

研究生:蔡羅賢

指導教授:張富爵 博士

中華民國 九十六 年 十二 月
誌謝

首先要感謝恩師 張富爵博士的指導,老師總是以規勸與指引的方
式,給我正確的學習態度,並給予我實務上的寶貴經驗與專業學識,使
我獲益良多。接著誠摯感謝教導過我的師長,尤其是 林錦垣老師與 柳
世民老師,謝謝兩位老師的包容與照顧。對於三位老師的作育之恩千言
萬語仍不能表達我的感恩之情。

特別感謝學位口試委員國立清華大學 張翔教授及中華技術學院

陳梧桐教授的不吝指正,使得學生的論文與思維能更上一層樓。

我要將我的論文獻給我的家人,感謝你們在我的求學旅程中給予我

支持與鼓勵,更謝謝你們讓我無後顧之憂地完成學業,此份恩情永遠銘

記在心!

在求學過程中,亦要感謝 國立聯合大學電機工程學系所提供的優

良研究環境。並感謝昭明、力維學長在研究上的協助。以及感謝清風、

明杰、浚瑋與擁棕的相伴,不管是學業上的切磋,或是生活上的鼓勵,

都對我幫助很大。再來感謝學弟偉綸、彥幟、博森、鎮宇、喜鎮及哲維、

人榮、佑昌適時的從旁協助與建議。有你們使得研究生活多彩多姿,充

滿許多令人難忘的回憶,此濃厚情誼令我十分珍惜與反覆回憶,真心希

望在未來的人生旅途中大家都能平安與快樂。
最後,感謝在聯合求學的日子裡,那些曾經幫助過我的長輩與朋友
們,在此,深深的跟大家說一聲--謝謝!

羅賢 謹識

2007.12
I
中文摘要

本論文是以 FPGA 為主體,設計一個可以進行「即時數位影像處理」

的平台。其中主要組成有二:一是大型 FPGA 晶片發展板,二是我們自行

設計的視訊輸出/入子板。而所完成的工作主要有三:

1) 完成硬體電路 Protel 設計、Layout、PCB 電路板。

2) 完成 PCB 電路板驗證與所需的基本 IP,包含 SDRAM Controller、I2C

Controller、CCIR656 Generator、RS232 Controller 等。

3) 完成平台之即時影像處理功能展示,包含 Lookup Table Processing、

Contract Enhancement 等。

由最後展示的實作結果可知,本 FPGA 硬體平台確實能達成即時影

像處理之需求,而且所用零件不多、成本亦不高,相信對相關領域之應

用,定有其參考之價值!

關鍵字: FPGA、數位影像處理、即時處理、視訊訊號。

II
Abstract

The body of this thesis is to design a real-time image processing platform.


There are two principal parts. One is the large scale FPGA, and the other is
the video I/O interface which designed by ourselves. While there are three
jobs that we must complete.

1) Completing the hardware circuit, Protel programming, layout and PCB.


2) Completing the hardware circuit examination and necessary basic IP that
includes SDRAM controller, I2C Controller, CCIR656 Generator, RS232
Controller, etc.
3) Completing the real-time demonstration of the platform that includes
Lookup table Processing, Contract Enhancement etc.

Finally, from those practical results, this FPGA hardware platform


certainly can approach the requirement of real-time image processing.
Because the number of parts is few and the cost is low, we believe its
referential value for applying in the relevant field.

Keyword::FPGA、digital image processing、real-time.

III
目錄

誌謝 ..................................................................................................................I
中文摘要........................................................................................................ II
英文摘要....................................................................................................... III
目錄 ............................................................................................................... IV
圖目錄 ........................................................................................................... VI
表目錄 ........................................................................................................... XI
第一章 研究緒論........................................................................................... 1
1-1 研究動機 ................................................................................... 1
1-2 論文章節安排 ........................................................................... 3
第二章 理論介紹........................................................................................... 4
2-1 FPGA 介紹 ................................................................................ 4
2-2 類比視訊訊號格式【NTSC】 ................................................. 6
2-3 數位視訊訊號格式【ITU-R BT.656】.................................. 11
2-4 視訊晶片介紹 ......................................................................... 14
2-5 數位串列傳輸格式【RS232】 .............................................. 14
2-6 同步動態記憶體工作說明【SDRAM】 ............................... 16
第三章 系統平台介紹................................................................................. 23
3-1 Main Board 介紹 ..................................................................... 23
3-2 Daughter Board 介紹 .............................. 25
3-2-1 視訊處理解碼晶片【PHILIPS SAA7144H】 ............ 25
3-2-2 視訊處理編碼晶片【ANALOG DEVICES ADV7391】 27
3-3 I2C通訊介面 ............................................................................ 29
3-4 電路板 Layout ......................................................................... 31
第四章 系統平台驗證................................................................................. 37
4-1 視訊處理編碼晶片測試 ......................................................... 37
4-2 視訊處理解碼晶片測試 ......................................................... 47
IV
4-3 同步動態記憶體控制測試 ..................................................... 49
第五章 即時影像處理應用及平台展示..................................................... 54
5-1 即時影像顯示 ......................................................................... 55
5-2 即時 Lookup Table 影像處理 ................................................. 70
5-3 即時 Sliding & Stretching 處理 .............................................. 86
第六章 結論與未來展望........................................................................... 104
參考文獻..................................................................................................... 108
附錄一 ......................................................................................................... 110
附錄二 ......................................................................................................... 111
附錄三 ......................................................................................................... 112
附錄四 ......................................................................................................... 113

V
圖目錄

圖 2.1 :FPGA 基本架構圖··································································· 4


圖 2.2 :類比訊號格式分佈圖 ······························································ 6
圖 2.3 :交錯式訊號示意圖 ·································································· 7
圖 2.4 :NTSC 類比視訊 Field 波形圖 ··············································· 8
圖 2.5 :NTSC 水平同步掃瞄訊號線波形圖 ······································· 8
圖 2.6 :Field1 含有彩色影像水平掃描線波形圖 ······························· 9
圖 2.7 :NTSC 第 21 條水平掃描線波形圖 ······································· 10
圖 2.8 :ITU-R BT.656 Format ···························································· 12
圖 2.9 :RS232 數位串列傳輸格式示意圖 ········································ 15
圖 2.10 :RS232 數位串列傳輸實際接腳圖 ········································ 16
圖 2.11 :SDRAM Bank 示意圖···························································· 16
圖 2.12 :SDRAM 內部參數設定示意圖 ············································· 17
圖 2.13 :SDRAM Auto Refresh 命令時序圖······································· 18
圖 2.14 :SDRAM Read 命令時序圖···················································· 19
圖 2.15 :SDRAM WRITE 命令時序圖 ··············································· 20
圖 2.16 :SDRAM Full Page 下的 WRITE 命令時序圖 ······················ 21
圖 2.17 :SDRAM Initial and Load Mode Register 時序圖 ·················· 22
圖 3.1 :Cyclone II Starter Kit Development Board 外觀圖················ 24
圖 3.2 :PHILIPS SAA7144H 晶片實體圖········································ 26
圖 3.3 :PHILIPS SAA7144H Block Diagram ···································· 26
圖 3.4 :ANALOG DEVICES ADV7391 晶片實體圖 ······················ 27
圖 3.5 :ANALOG DEVICES ADV7391 Block Diagram··················· 28
圖 3.6 ︰ADV7391 內部I2C通訊介面傳輸時序圖 ····························· 30
圖 3.7 ︰EP2002 雕刻機圖 ·································································· 31
圖 3.8 ︰子板雙層板 PCB 電路圖······················································· 34
VI
圖 3.9 ︰子板實體圖-雙層板 ······························································ 35
圖 3.10 ︰子板實體圖-四層板 ······························································ 36
圖 4.1 :ADV7391 輸出測試電路架構圖············································ 38
圖 4.2 :ADV7391 Color Bar 畫面······················································ 39
圖 4.3 :I2C電路狀態圖······································································· 39
圖 4.4 :I2C電路VHDL程式································································ 40
圖 4.5 :I2C電路VHDL程式································································ 41
圖 4.6 :I2C控制時序驗證圖······························································· 42
圖 4.7 :I2C控制時序驗證圖······························································· 42
圖 4.8 :I2C控制時序驗證圖······························································· 42
圖 4.9 :ADV7391 輸入測試電路架構圖··········································· 43
圖 4.10 :CCIR656 產生器電路狀態圖················································ 44
圖 4.11 :CCIR656 產生器電路程式 ···················································· 45
圖 4.12 :CCIR656 產生器電路程式···················································· 45
圖 4.13 :ADV7391 輸入測試所產生的綠色測試畫面 ························ 46
圖 4.14 :SAA7144H 測試電路架構圖 ··············································· 47
圖 4.15 :SAA7144H 測試電路所產生的即時畫面···························· 48
圖 4.16 :SDRAM Control 電路方塊圖··············································· 49
圖 4.17 :Command module 電路程式·················································· 50
圖 4.18 :Command module 電路程式·················································· 51
圖 4.19 :Command module 電路程式·················································· 51
圖 4.20 :SDRAM Control 測試電路架構圖······································· 52
圖 4.21 :SDRAM 寫入命令測試結果 ················································· 53
圖 4.22 :SDRAM 讀取命令測試結果 ················································· 53
圖 5.1 :Active_video detection 電路方塊圖 ······································ 55
圖 5.2 :FSM1 設計說明圖 ································································· 56
圖 5.3 :FSM1 電路狀態圖 ································································· 56
圖 5.4 :FSM2 設計說明圖 ································································· 57
圖 5.5 :FSM2 電路狀態圖 ································································· 58
VII
圖 5.6 :FSM1 的電路程式圖 ····························································· 58
圖 5.7 :FSM2 的電路程式圖 ····························································· 59
圖 5.8 :FSM2 的電路程式圖 ····························································· 59
圖 5.9 :FSM3 設計說明圖 ································································· 60
圖 5.10 :FSM3 電路狀態圖 ································································· 60
圖 5.11 :FSM4 設計說明圖 ································································· 61
圖 5.12 :FSM4 電路狀態圖 ································································· 62
圖 5.13 :Active_video detection 電路程式方塊圖 ······························ 62
圖 5.14 :即時影像顯示系統示意圖 ···················································· 63
圖 5.15 :即時影像顯示系統輸入模組示意圖 ···································· 64
圖 5.16 :即時影像顯示系統控制訊號模組示意圖 ···························· 65
圖 5.17 :SDRAM 寫入命令與 Refresh 命令時序圖··························· 66
圖 5.18 :Refresh Count 電路程式 ························································ 67
圖 5.19 :即時影像顯示系統輸出模組電路示意圖 ···························· 68
圖 5.20 :即時影像顯示設備實體圖 ···················································· 69
圖 5.21 :即時影像顯示圖 ···································································· 69
圖 5.22 :原圖與互補影像圖 ································································ 70
圖 5.23 :即時 Lookup Table 影像處理系統示意圖 ···························· 71
圖 5.24 :RS232 模組電路示意圖 ························································ 72
圖 5.25 :RS232Rxd 的電路狀態圖······················································ 73
圖 5.26 :RS232Rxd 的電路程式圖······················································ 74
圖 5.27 :RS232Rxd 的電路程式圖······················································ 74
圖 5.28 :RS232Rxd 的電路狀態圖······················································ 75
圖 5.29 :RS232Txd 的電路程式圖······················································ 76
圖 5.30 :RS232Txd 的電路程式圖······················································ 76
圖 5.31 :Y_hold 的電路狀態圖 ··························································· 77
圖 5.32 :Y_hold 的電路程式圖 ··························································· 78
圖 5.33 :Cb_hold 的電路狀態圖 ························································· 79
圖 5.34 :Cb_hold 的電路程式圖 ························································· 80
VIII
圖 5.35 :Cr_hold 的電路狀態圖 ·························································· 81
圖 5.36 :Cr_hold 的電路程式圖 ·························································· 82
圖 5.37 :即時 Lookup Table 影像處理系統輸出模組電路示意圖····· 83
圖 5.38 :輸入即時 Lookup Table 影像處理之原圖 ···························· 84
圖 5.39 :即時 Lookup Table 影像處理之互補影像圖 ························ 84
圖 5.40 :輸入即時 Lookup Table 影像處理之原圖 ···························· 85
圖 5.41 :即時 Lookup Table 影像處理之 Brightness Slicing 影像圖 · 85
圖 5.42 :原圖與經過 Sliding & Stretching 處理圖 ····························· 86
圖 5.43 :Sliding & Stretching 處理流程圖 ·········································· 87
圖 5.44 :即時 Sliding & Stretching 處理系統示意圖 ························· 88
圖 5.45 :即時 Sliding & Stretching 處理系統輸入模組電路示意圖·· 89
圖 5.46 :Sliding & Stretching 的轉移公式說明圖 ······························ 90
圖 5.47 :Sliding & Stretching 的轉移公式設計示意圖 ······················ 91
圖 5.48 :Y_new 電路程式圖 ······························································· 93
圖 5.49 :Y_new 電路程式圖 ······························································· 93
圖 5.50 :Sliding & Stretching 模組電路示意圖 ·································· 94
圖 5.51 :即時 Sliding & Stretching 處理系統輸出模組電路示意圖·· 95
圖 5.52 :即時 Sliding & Stretching 處理系統測試電路示意圖·········· 96
圖 5.53 :輸入畫面················································································ 97
圖 5.54 :輸入畫面的類比訊號波形圖 ················································ 97
圖 5.55 :由邏輯分析儀所擷取到的最小 Y 值 ··································· 98
圖 5.56 :由邏輯分析儀所擷取到的最大 Y 值 ··································· 98
圖 5.57 :(左) 有漸層的輸入畫面
(右) 輸入畫面的類比訊號波形圖 ······································ 99
圖 5.58 :(左)測試結果
(右) 測試結果的類比訊號波形圖 ······································ 99
圖 5.59 :輸入畫面·············································································· 100
圖 5.60 :輸入畫面的類比訊號波形圖 ·············································· 100
圖 5.61 :由邏輯分析儀所擷取到的最小 Y 值 ································· 101
IX
圖 5.62 :由邏輯分析儀所擷取到的最大 Y 值 ································· 101
圖 5.63 :(左) 輸入畫面
(右) 輸入畫面的類比訊號波形圖 ···································· 102
圖 5.64 :(左) 測試結果
(右) 測試結果的類比訊號波形圖 ···································· 102
圖 5.65 :(左)偏暗的即時影像
(右)由系統處理完畢的即時影像 ······································ 103
圖 6.1 :即時 Histogram Equalization 處理系統 ······························ 105
圖 6.2 :即時視訊多工器系統 ·························································· 106
圖 6.3 :將輸出改成 1080I 的即時顯示系統 ··································· 106
圖 6.4 :將輸出改成 1080I 的即時 Lookup Table 影像處理系統 ··· 107
圖 6.5 :將輸出改成 1080I 的即時 Sliding & Stretching 處理系統 107

X
表目錄

表 2.1 :EAV 及 SAV 資料格式表 ······················································· 12


表 2.2 :EAV 及 SAV 資料編碼表 ······················································· 13
表 2.3 :CCIR656 數位視訊格式資料表 ············································· 13
表 2.4 :RS232 數位串列傳輸電壓位準比較表·································· 14
表 2.5 :RS232 數位串列傳輸接腳說明表 ········································· 15
表 2.6 :SDRAM 指令表······································································ 17
表 3.1 :ANALOG DEVICES ADV7391 支援格式分類表 ················ 28
表 3.2 :ANALOG DEVICES ADV7391 輸出形式分類表 ················ 29
表 4.1 :ADV7391 Color Bar Test Pattern Register Writes ·················· 38
表 5.1 :測試畫面資料表 ····································································· 96

XI
第一章 研究緒論

在本章節,首先介紹本論文的研究動機,接著敘述本論文的章節安

排。

1-1 研究動機

現在是數位資訊的時代,影像也從類比演化成數位,生活中更是處

處可見數位影像的產品,例如:手機、電視、照相機、V8……等。數位

影像比類比影像容易保存,也比較容易做處理。以相機為例,若是傳統

底片相機,當按下快門那一煞那,就決定了一張相片的好壞。但是數位

相機可以依據個人喜好做選擇!若是相片中有雜訊,以類比相機無法做

補救動作,但是數位影像卻可透過數位影像處理([1])進行補救。除了濾

除雜訊,還可以利用數位影像處理對影像進行對比強化、影像復原……

等。除此之外數位影像處理還可以運用在品管、醫學、保全監視……等

領域([2-4]),由此可見數位影像處理使用的廣泛性及重要性!

數位影像處理分成 2 種,其一是靜態數位影像處理,針對單一影像

做處理,非大量的資料,例如:數位相片的修飾。其二是即時數位影像

處理,經由取像設備,將影像畫面擷取後再做處理,針對多張影像。以

攝影機來說每秒 30 張畫面,數位影像資料量龐大且連續不斷。因此處

1
理數位影像資料速度必定很快,由此可見即時數位影像處理比靜態數位

影像處理更困難,這是我們將要挑戰及克服的地方。

既然已瞭解數位影像處理的重要性!因此我們在想如果有個平台可

以做到即時數位影像處理,並且可以經由此平台快速驗證數位影像處理

的方法,且可以獨立設計所須的影像系統,以及可選擇不同的輸出視訊

訊號格式。因此綜合以上的需求,於是我們以 FPGA 為主體架構,設計

了即時數位影像處理平台!

FPGA(Field Programmable Gate Array)([5-9])是一個含有可編輯元

件的 IC 設備,可供使用者以程式化的方式規劃邏輯元件。使用硬體描

述語言設計電路,使得硬體的功能可像軟體一樣透過程式編輯及修改。

經由軟體 Quartus II compile 後,可進行電路模擬,驗證電路的功能,再

燒錄至 FPGA 上進行測試,是現代 IC 設計驗證的技術主流。由於 FPGA

內含好幾百萬的邏輯密度,可提供使用者規劃並設計其較大的系統,且

可透過軟體修改,擁有高修改彈性,又可獨立設計系統並且可快速驗證

電路功能。因此符合我們所需,決定以 FPGA 為實現即時數位影像處理

平台之核心。

2
1-2 論文章節安排

本論文寫作的文章結構共分為 5 個章節,各章節內容概述如下:第

二章在介紹設計即時數位影像處理平台的過程中,所用到的學理知識。

第三章詳盡說明即時數位影像處理平台的開發過程。第四章驗證即時數

位影像處理平台。第五章展示即時數位影像處理平台的功能。第六章為

結論與未來展望。

3
第二章 理論介紹

在設計即時數位影像處理平台的過程中,我們將會處理到類比視訊

訊號與數位視訊訊號,且需要用到SDRAM及RS232的相關理論。因此在

此章節中,將會一一介紹這些學理知識並概述FPGA。

2-1 FPGA 介紹([5-9])

FPGA 是由許多邏輯元件(logic cell)構成,組合成一個邏輯陣列,如

圖 2.1 所示。每個邏輯元件之間都有可供規劃的水平及垂直之繞線通

道,可以程式化的方式規劃,使邏輯元件可以互相連接,以此可構成複

雜的邏輯函數。

圖 2.1 FPGA 基本架構圖


4
FPGA 的架構與半導體製程中的 Gate Array 方式相似,但不同處有

二,一是 Gate Array 所使用的元件為電晶體,而 FPGA 則為邏輯元件。

二是 Gate Array 中各電晶體之間的連接方式是由數層光罩構成,而 FPGA

則為程式編寫的方式達成。

隨著VLSI技術不斷提高,使得FPGA內含邏輯元件已達到數百萬

個,從實現基本邏輯電路已進步到可實現一個系統。FPGA內部的硬體

資源具有反覆清除及重新規劃的功能。因此從修正原始的電路程式至實

體驗證,只須數分鐘即可完成,達成快速驗證的功效。由於上述的優勢

使得FPGA越來越熱門,嚴然已成為硬體設計的研發利器。目前生產

FPGA晶片的公司以Altera與Xilinx為主,本次的平台就是以Altera公司所

生產的Cyclone II晶片為核心。

5
2-1 類比視訊訊號格式【NTSC】([10-11])

NTSC 類比視訊訊號格式是 1952 年 12 月由美國國家電視標準委員

會(National Television System Committee)所提出,為美國、日本及臺

灣.........等國家所使用的標準電視格式。除了 NTSC 之外,還有 PAL 類

比視訊訊號格式及 SECAM 類比視訊訊號格式。PAL 最主要是以歐洲國

家為主。SECAM 則是以俄國為主。圖 2.2 表示世界上類比訊號格式的分

佈。

圗 2.2 類比訊號格式分佈圖([12])

6
NTSC 類比視訊訊號格式,主要是採用交錯式(Interlaced)掃瞄。一

張畫面(Frame)共有 2 個 field 組成,其中一個為 field1,負責顯示奇數條

掃描線,另一個為 field2,負責顯示偶數條掃描線,如圖 2.3 所示。

圖 2.3 交錯式訊號示意圖([13])

7
圖 2.4 是 NTSC 的 field 波形圖,由圖可知類比視訊畫面每秒更新率

為 29.94 張。

圖 2.4 NTSC 類比視訊 Field 波形圖(由示波器擷取)

一張畫面共有 525 條掃描線,其中第 1 條掃描線到第 20 條掃描線,

共 20 條掃描線是 field1 的同步訊號,不帶有影像彩色訊號,如圖 2.5 所

示。

圖 2.5 NTSC 水平同步掃瞄訊號線波形圖(由示波器擷取)

8
第 21 條掃描線到第 262 條掃描線,共 242 條掃描線,是 field1 影像

彩色訊號來源,如圖 2.6 所示。

圖 2.6 Field1 含有彩色影像水平掃描線波形圖(由示波器擷取)

第 263 條掃描線到第 283 條掃描線,共 21 條掃描線是 field2 的同步

訊號,不帶有影像彩色訊號。第 284 條掃描線到第 525 條掃描線,共 242

條掃描線,是 field2 影像彩色訊號來源。

9
圖 2.7 表示第 20 條掃描線及第 21 條掃描線不同之處,由波形可知

無影像彩色訊號及帶有影像彩色訊號之間的波形差異。

圖 2.7 NTSC 第 21 條水平掃描線波形圖(由示波器擷取)

10
2-2 數位視訊訊號格式【ITU-R BT.656】([10][14])

ITU-R BT.656 數位視訊訊號格式是 1986 年由國際傳播諮詢委員會

(International Radio Consultation Committee) 所 制 定 , 通 常 稱 為

CCIR656。CCIR656 數位視訊訊號格式中規範了 2 種標準格式,其一是

625 條數位訊號線的視訊訊號格式,其二是 525 條數位訊號線的視訊訊

號格式。由於國內是用 525 條數位訊號線的格式,因此選擇此格式做為

我們系統的數位視訊訊號格式。

CCIR656 數位視訊訊號格式如圖 2.8 所示,其中定義:

(1) 取樣資料是 4:2:2 的型式,也就是 2 個亮度訊號(Y)共用一組

彩度訊號(Cb、Cr)。

(2) 同步資料 EAV(End of Active Video)與 SAV(Start of Active Video)

以特殊編碼方式,內藏在傳輸資料中,不須多加視訊同步訊號控制線。

(3) CCIR656 主要是由 EAV 加上空白訊號資料(Blanking Data)及

SAV,最後在加上影像資料,這樣就成為一個完整的 CCIR656 數位視訊

訊號格式。

11
圖 2.8 ITU-R BT.656 Format([14])

由表 2.1 可知 EAV 及 SAV 以 4 個 Bytes 的方式編碼,資料 FF 與 00

為 EAV 及 SAV 專用資料碼。

表 2.1 EAV 及 SAV 資料格式表([14])


Data bit number First word(FF) Second word(00) Third word(00) Fourth word(XY)
7 1 0 0 1
6 1 0 0 F
5 1 0 0 V
4 1 0 0 H
3 1 0 0 P3
2 1 0 0 P2
1 1 0 0 P1
0 1 0 0 P0
F = 0 during field1 V = 0 elsewhere H= 0 in SAV
1 during field2 1 during field blanking 1 in EAV
12
依照表 2.2 的方式對 EAV 及 SAV 最後一個 Byte 進行編碼,即可得

到 EAV 及 SAV 資料碼,如表 2.3 所示。

表 2.2 EAV 及 SAV 資料編碼表([14])


F V H P3 P2 p1 P0
0 0 0 0 0 0 0
0 0 1 1 1 0 1
0 1 0 1 0 1 1
0 1 1 0 1 1 0
1 0 0 0 1 1 1
1 0 1 1 0 1 0
1 1 0 1 1 0 0
1 1 1 0 0 0 1

表 2.3 CCIR656 數位視訊格式資料表


NTSC
EAV BLANKING SAV DATA
1 2 3 4 5 6 ~ 271 272 273 274 275 276 277 278 ~ 1715 1716
1~3 FF 00 00 F1 80 10 ~ 80 10 FF 00 00 EC 80 01 ~ 80 01
4~19 FF 00 00 B6 80 10 ~ 80 10 FF 00 00 AB 80 01 ~ 80 01
20 FF 00 00 9D 80 10 ~ 80 10 FF 00 00 80 80 01 ~ 80 01
21 FF 00 00 9D 80 10 ~ 80 10 FF 00 00 80 ~
22~262 FF 00 00 9D 80 10 ~ 80 10 FF 00 00 80 ~
263 FF 00 00 9D 80 10 ~ 80 10 FF 00 00 80 80 01 ~ 80 01
264~265 FF 00 00 B6 80 10 ~ 80 10 FF 00 00 AB 80 01 ~ 80 01
266~282 FF 00 00 F1 80 10 ~ 80 10 FF 00 00 EC 80 01 ~ 80 01
283 FF 00 00 DA 80 10 ~ 80 10 FF 00 00 C7 80 01 ~ 80 01
284 FF 00 00 DA 80 10 ~ 80 10 FF 00 00 C7 ~
285~525 FF 00 00 DA 80 10 ~ 80 10 FF 00 00 C7 ~

13
2-3 視訊晶片介紹

視訊晶片分為 2 大類,其一是視訊處理解碼晶片(Video decode),是

A/D 轉換晶片,主要是將類比視訊訊號格式轉換成數位視訊訊號格式。

其二是視訊處理編碼晶片(Video encode),是 D/A 轉換晶片,主要功能

是將數位視訊訊號格式轉換成類比視訊訊號格式。我們所設計的即時數

位影像處理平台,也擁有一顆 Video decode 與 Video encode,在第三章

會詳細介紹。

2-4 數位串列傳輸格式【RS232】([15-16])

Recommend standard-232 數位串列傳輸格式是 1969 年由電子工業協

會(Electronic Industry Association)所制定的非同步傳輸,簡稱 RS232。

RS232 數位串列傳輸格式,其電壓範圍和一般數位邏輯電路 TTL 的位準

不一樣,由表 2.4 可知。所以如需使用 RS232 傳接資料就必須將電壓轉

換,方能使用。

表 2.4 RS232 數位串列傳輸電壓位準比較表([15])


RS232 TTL
電壓範圍 -3V~-15V +3V~+15V +5 0
邏輯準位 1 0 1 0
名稱 mark space

14
RS232 的傳接訊號格式如圖 2.9 所示,□
1 在未傳送資料時訊號為

High。□
2 當要傳送資料時,會先將訊號降為 Low,稱為開始位元。□
3

接著就是傳送 8 位元資料,先從 LSB 開始傳送。□


4 資料送完後可視需

要加入同位元,判斷資料是否傳送無誤。□
5 最後再加上停止位元,就

完成了 RS232 一筆 8 位元資料的傳送。

圖 2.9 RS232 數位串列傳輸格式示意圖

一般使用 RS232 傳接資料只需用到傳送(Txd)、接收(Rxd)、接地(Gnd)

三隻腳位即可,但仍然要注意傳送與接收的腳位需對調,才能正確傳接

資料。

表 2.5 RS232 數位串列傳輸接腳說明表([15])


Pin Name Description
1 DCD Data Carrier Detect
2 RXD Receive Data
3 TXD Transmit Data
4 DTR Data Terminal Ready
5 SGND Ground
6 DSR Data Set Ready
7 RTS Request To Send
8 CTS Clear To Send
9 RI Ring Indicator
15
圖 2.10 RS232 數位串列傳輸實際接腳圖([17])

2-5 同步動態記憶體工作說明【SDRAM】([18-20])

SDRAM(Synchronous Dynamic Random Access Memory),主要架構由

電容組成,因此可以制做出大容量的計憶體,且讀寫速度快、耗電量小、

價格便宜,所以取代了 SRAM,在電子業佔有很重要的一席之地。

SDRAM 是陣列方式做讀寫,就如同表格檢索一般,如圖 2.11 所示,

要將數據填入表格,就先指定一個列(Row),再只定一個行(Column),這

樣就可以很精準找到所需的位置。我們稱 SDRAM 的陣列為 Bank。

圖 2.11 SDRAM Bank 示意圖

16
表 2.6 SDRAM 指令表

CS RAS CAS WE
Load Mode Register L L L L
Precharge L L H L
Auto Refresh L L L H
READ L H L H
WRITE L H L L
Burst Terminate L H H L

SDRAM 有 4 個主要控制訊號,包含 CS(Chip Select)、RAS(Row

Address Strobe)、CAS(Column Address Strobe)、WE(Wrote Enable),經由

這些訊號對 SDRAM 下達命令。依照這些命令,分別進行不同的工作,

如表 2.6 所示 SDRAM 共有 6 個基本命令,分別一一介紹:

(1) Load Mode Register,藉由設定 Load Mode Register 命令來設定

SDRAM 內部參數,如圖 2.12 所示,依據使用者所需進行設定。其中以

Burst Length、CAS Latency 最為重要,在後續會做介紹。

圖 2.12 SDRAM 內部參數設定示意圖([18])


17
(2) Precharge,主要工作是關掉目前所使用的列位置,開啟新的列位

置。可加快選擇陣列及換列的速度。

(3) Auto Refresh,因為 SDRAM 主要由電容組成,所以儲存的資料

會隨著時間而消失,因此每間隔 64ms 就必須對電容進行充電,以保持

資料。SDRAM 在做 Auto Refresh 時是針對所有 Bank 的同一個列進行充

電,一個循環是 64ms,共有 4096 個列,所以每間隔 15.625us 就要對列

執行 Auto Refresh。如圖 2.13 所示,當 Auto Refresh 下達之後,須要執

行 TRFC 的工作時間,此時 SDRAM 對任何命令視為無效。

圖 2.13 SDRAM Auto Refresh 命令時序圖

18
(4) READ,圖 2.14 是 READ 命令的時序,由時序可知必須先指定

使用的陣列及列位置,再指定行位置,即可讀取資料。其中 CL(CAS

Latency)是下達行位置之後到第一筆資料輸出的時間。CL 在 Mode

Register 中設定,其長短與 SDRAM 工作頻率有關。tRCD(RAS to CAS

Delay)是下達讀取命令時,列位置與行位置的間隔時間,tRCD 由晶片使

用手冊所定義。

圖 2.14 SDRAM Read 命令時序圖

19
(5) WRITE,由圖 2.15 所示,執行 WRITE 命令方式與 READ 命令

一樣,不同的地方在於 WRITE 沒有 CL,當下達行位置時資料會同時寫

入。

圖 2.15 SDRAM WRITE 命令時序圖

20
(6) Burst Terminate,主要使用在 Full Page 模式之下,下達此命令後

會直接中斷正在讀取或是存入的資料,以此可以控制資料的長度。

SDRAM 存入及讀取的資料長度(Burst Length,BL)共分為 5 種,分別以

1、2、4、8 及 Full Page,即執行一次存入或讀取命令,可以處理 1、2、

4、8 筆資料。而 Full Page 是不固定資料長度的方式,使用者可依照系

統所需,自行設定資料長度。如圖 2.16 所示,命令下達後資料會不斷存

入 SDRAM,再下達 Burst Terminate 後資料就會停止,此模式增加了

SDRAM 的使用彈性。

圖 2.16 SDRAM Full Page 下的 WRITE 命令時序圖

21
如要使用 SDRAM,首先必須對它進行初始化,如圖 2.17 所示,□
1

當電源開起時,須等待 100us 之後才可下達命令。□


2 執行 Precharge 一

次。□
3 執行 Auto Refresh 共 2 個循環。□
4 Load Mode Register,依據系

統所需設定 BL、CL,完成以上步驟,SDRAM 才可正常使用。

圖2.17 SDRAM Initial and Load Mode Register時序圖

22
第三章 系統平台介紹

在本章中,首先將詳細介紹即時數位影像處理平台,接著介紹子板

的 Layout 過程及注意事項。該平台主要組成有二 : 一是茂綸公司的

Cyclone II Starter Kit Development Board,其中內含一顆大型 FPGA 晶

片,提供了空間給處理即時影像的數位電路。二是我們自行設計的子

板,擁有影像輸入輸出處理介面,提供影像解碼及影像編碼功能,與

Cyclone II Starter Kit Development Board 結合,即可處理即時影像。

3-1 Main Board 介紹【Cyclone II Starter Kit Development

Board】([21])

本人所設計的即時數位影像處理平台是使用茂綸公司所開發的

Cyclone II Starter Kit Development Board 做為主板(Main Board),如圖

3.1 所示。

其特點如下:

(1) 使用 Cyclone II EP2C20F484C8 晶片,內含 18752 個 logic

Elements,239616-bits on-chip 記憶體,26 個 18*18-bits 乘法器,及 4 個

PLL 電路,還有 50MHZ 時脈,供使用者使用。

(2) 使用者可經由 PLL 電路產生任意的倍頻時脈或降頻時脈,還可

23
藉由軟體 Quaruts II 來做接腳設定,將 PLL 電路所產生的時脈經由專用

I/O 腳位給外部系統使用。

(3) 發展板上提供 8 M byte flash memory 及 16 M byte SDRAM,可

供給使用者規劃使用。

(4) 提供 315 個 I/O 腳位、16 個 Global Clock 及一組 RS232 數位串

列傳輸端口,可依使用者需要設計使用。

圖 3.1 Cyclone II Starter Kit Development Board 外觀圖([21])

24
3-2 Daughter Board 介紹

在此研究中設計的是一個即時影像處理平台!因此以 Cyclone II

Starter Kit Development Board 為基礎,設計一個擁有影像輸入輸出處理

介面的子板。其中 Video Decode 使用 SAA7144H,Video Encode 使用

ADV7391,在稍後分別加以介紹。

3-2-1 視訊處理解碼晶片【PHILIPS SAA7144H】([22])

子板選用的影像輸入晶片是 PHILIPS 公司所生產的視訊處理解碼晶

片 SAA7144H,其實體如圖 3.2 所示,功能方塊圖如圖 3.3 所示。本視

訊處理解碼晶片 SAA7144H 內有 I2C 通訊介面與內部功能暫存器,使用

者可依照系統所需,藉由標準 I2C 串列傳輸對 SAA7144H 進行設定。

SAA7144H 其特點如下:

(1) 支援多國的類比視訊訊號格式,如 NTSC、PAL、SECAM。

(2) 共有 4 組類比輸入端,及 4 組 8 位元數位資料輸出端,可供使

用者規劃使用。

(3) 類比視訊訊號格式 NTSC 可藉由灰度混合彩度訊號(Composite

Video with Burst Signal,CVBS)端子輸入,經由 SAA7144H 可轉成標準

數位視訊訊號格式 CCIR656,且 Y:Cb:Cr 為 4:2:2 的 8 位元數位資料。

25
圖 3.2 PHILIPS SAA7144H 晶片實體圖

圖 3.3 PHILIPS SAA7144H Block Diagram([22])

26
3-2-2 視訊處理編碼晶片【ANALOG DEVICES ADV7391】([23])

在 我 們 自 行 設 計 的 子 板 中 選 用 的 影 像 輸 出 晶 片 是 ANALOG

DEVICES 公司所生產的視訊處理編碼晶片 ADV7391,其實體如圖 3.4

所示,功能方塊圖如圖 3.5 所示。本視訊處理編碼晶片 ADV7391 內有

I2C 通訊介面與內部功能暫存器,使用者可依照系統所需,藉由標準 I2C

串列傳輸對 ADV7391 進行設定。

ADV7391 其特點如下:

(1) 可處理多種數位視訊資料格式,如表 3.1 所示。

(2) 共有 3 個輸出端,可輸出多種類比視訊訊號格式,如表 3.1 與表

3.2 所示。

圖 3.4 ANALOG DEVICES ADV7391 晶片實體圖

27
圖 3.5 ANALOG DEVICES ADV7391 Block Diagram([23])

表 3.1 ANALOG DEVICES ADV7391 支援格式分類表([23])


Resolution Interlaced/Progressive Frame Rate Standard
720*240 Progressive 59.94
720*288 Progressive 50
Standard definition 720*480 Interlaced 29.97 ITU-R BT.601/656
720*576 Interlaced 25 ITU-R BT.601/656
720*576 Interlaced 25 PAL
720*483 Progressive 59.94 SMPTE 293M
720*483 Progressive 59.94 BTA T-1004
720*483 Progressive 59.94 ITU-R BT.1358
Enhanced definition 720*576 Progressive 50 ITU-R BT.1358
720*483 Progressive 59.94 ITU-R BT.1362
720*576 Progressive 50 ITU-R BT.1362
1280*720 Progressive 24 25 30 50 60 SMPTE 296M
1280*720 Progressive 23.97 59.94 29.97 SMPTE 296M
1920*1035 Interlaced 30 SMPTE 240M
1920*1035 Interlaced 29.97 SMPTE 240M
High definition 1920*1080 Interlaced 30,25 SMPTE 274M
1920*1080 Interlaced 29.97 SMPTE 274M
1920*1080 Progressive 30,25,24 SMPTE 274M
1920*1080 Progressive 23.98 29.97 SMPTE 274M
1920*1080 Progressive 24 ITU-R BT.709-5

28
表 3.2 ANALOG DEVICES ADV7391 輸出形式分類表([23])
DAC 1 DAC 2 DAC 3
Standard definition G B R
Y Pb Pr
CVBS Luma Chroma
CVBS Chroma Luma
Enhanced definition G B R
High definition G R B
Y Pb Pr
Y Pr Pb

3-3 I2C 通訊介面([22-24])

I2C 通訊介面最主要是由 I2C 數位串列傳輸協定來進行溝通,而

I2C(Inter-Integrated Circuit)數位串列傳輸協定是由 PHILIPS 公司在 1980

年所提出,為了讓主機板、嵌入式系統或手機用以連接低速周邊裝置而

發展。

I2C 數位串列傳輸是以 2 條控制線進行通訊,其中 1 條是串列傳輸

資料線(Serial Data Line,SDA),另 1 條是串列傳輸時脈線(Serial Clock

Line,SCL)。傳輸的資料長度必需為 8 位元。傳輸的內容包括開始(Start)、

位址(Address)、讀/寫(Read/Write)、資料(Data)、確認(Acknowledge)及停

止(Stop)等資訊。

29
圖 3.6 為 ADV7391 內部 I2C 通訊介面傳輸時序圖,其定義如下:□
1

開始位元,SCL 為高準位的狀態下 SDA 由高準位轉為低準位,表示開

始傳輸。□
2 位址,ADV7391 專用的位址,表示呼叫 ADV7391。□
3 讀/

寫,表示對 ADV7391 要進行的動作。□


4 確認,確認訊號必為低準位,

表示 ADV7391 有無接受到呼叫。□
5 位址,表示要對 ADV7391 進行規

劃的內部暫存器。□
6 確認,表示內部暫存器有無接受到呼叫。□
7 資料,

表示寫入內部暫存器的資料。□
8 確認,表示有無確實寫入。□
9 停止,

SCL 為高準位的狀態下 SDA 由低準位轉為高準位,表示傳輸完成。只

要按照圖 3.6 的時序就可對 ADV7391 及 SAA7144H 進行設定,我們因

為系統所需,因此依照此時序設計一個 I2C 控制電路,用來對 ADV7391

與 SAA7144H 作初始值設定。

圖 3.6 ADV7391 內部 I2C 通訊介面傳輸時序圖([23])

30
3-4 電路板 Layout

在確定選用視訊處理編碼晶片與視訊處理解碼晶片之後,也已經瞭

解了該晶片的功能及如何規劃使用,接下來的工作就是實現擁有影像處

理介面的子板。此時我們進入了另一個領域,那就是 PCB Layout。因此

將對實現子板的步驟做逐一介紹。首先介紹我們使用的 PCB Layout 工具

(1) PCB Layout 設計軟體,Altium DXP 2004([25])。(2) PCB Layout 電路

雕刻機,EP2002,如圖 3.7 所示。

圖 3.7 EP2002 雕刻機圖

31
PCB Layout 設計步驟如下:

(1) 使用 PCB Layout 設計軟體,Altium DXP 2004 設計規劃子板的

電路圖,包括了影像輸入處理晶片與輸出晶片的電路、子板的電源電路

及與主板結合的接腳規劃。PHILIPS SAA7144H 電路圖如附錄一所示。

ANALOG DEVICES ADV7391 電路圖如附錄二所示。子板電源電路圖如

附錄三所示。接腳規劃圖如附錄四所示。

(2) 使用 PCB Layout 設計軟體,Altium DXP 2004 設計規劃子板的

PCB 電路圖。首先必須先建立 PCB 電路圖上所有用到的元件,再來依

據設計的電路圖將 PCB 電路圖繪製實現,如圖 3.8 所示。

(3) 在設計電路板時須注意到:(a) 主板與子板相互連接的介面端子

其對應位置,必須確認無誤。(b) 類比訊號線及數位訊號線不可過長,

且需分區規劃,以免類比數位互相干擾。(c) 同類的數位訊號線需維持

相依性,且長度需一樣。(d) 相同工作頻率的訊號線,最好規劃在同一

區。(e) 訊號線線徑,可以選擇較大的線徑,可提升抗雜訊能力。(f) 確

認主板與子板電源供應部份是否短路。(g) 電源及地線在類比及數位的

部份,要確實分隔。(h) 任何的外部工作時脈在進入 FPGA 時,一定要

規劃到 Global Clock 專用腳位。

32
(4) 子板的 PCB 電路圖繪製完成後,經過再三檢查,確認無誤。將

PCB 電路圖轉換成雕刻檔輸出給 EP2002 雕刻機,使用雙層銅铂板,雕

刻出我們所設計的影像處理介面子板,如圖 3.9 所示。

最後將主板與子板做結合,測試子板的功能,很可惜這塊板子效果

不佳,子板因為是雙層板,所以受到雜訊影響很大。因此與老師討論後,

決定將子板送至專門負責 PCB Layout 的公司,製做成四層板,子板實體

圖如圖 3.10 所示。

33
圖 3.8 子板雙層板 PCB 電路圖

34
(a)

(b)
圖 3.9 子板實體圖-雙層板。(a)子板實體正面,(b)子板實體背面

35
與主板連接之端子

SAA7144

類比視訊訊號輸出端
類比視訊訊號輸入端
(a)

ADV7391

(b)
圖 3.10 子板實體圖-四層板。(a)子板實體正面,(b)子板實體背面

36
第四章 系統平台驗證

完成即時數位影像處理平台之後,我們首要的工作是驗證平台的功

能!包括子板輸入端的 PHILIPS SAA7144H 晶片及輸出端的 ANALOG

DEVICES ADV7391 晶片功能是否正常,主板上 SDRAM 控制是否無誤。

4-1 視訊處理編碼晶片測試

我們將測試分成 2 個部分:首先,針對 ADV7391 的輸出進行測試,

設定其內部功能暫存器,使 ADV7391 自行產生 Color Bar 畫面,測試晶

片功能是否正常。其次,針對 ADV7391 的輸入進行測試,由 FPGA 產

生 CCIR656 測試畫面,測試晶片對輸入訊號的處理是否正確以及 FPGA

與 ADV7391 接腳連接是否無誤。

37
ADV7391 輸出測試

由於視訊處理編碼晶片 ADV7391 內含功能暫存器,其中一項功能

是 Color Bar 畫面的產生,可經由 I2C 設定此功能暫存器,產生此畫面。

FPGA

Reset I²C NTSC


I²C產生器 ADV7391

圖 4.1 ADV7391 輸出測試電路架構圖

圖 4.1 為 ADV7391 的輸出測試電路架構圖,使用 I2C 產生器電路,

直接對 ADV7391 的功能暫存器進行設定,其中只需對表 4.1 所示的功能

暫存器寫入表 4.1 所示的值。如果 ADV7391 晶片功能正常,則會在螢幕

上看到 Color Bar 畫面,如圖 4.2 所示。。

表 4.1 ADV7391 Color Bar Test Pattern Register Writes([23])


Register Address Setting
00H 1CH
82H C9H
84H 40H

38
圖 4.2 ADV7391 Color Bar 畫面

此測試中我們依照 I2C 控制時序,規劃出電路狀態圖,如圖 4.3 所

示。再依此電路狀態圖,將 I2C 控制電路實現。

SDA Addr(7) Addr(6) Addr(5) Addr(4) Addr(3) Addr(2) Addr(1) Addr(0) ACK

SCL

state Start ADES0 ADES1 ADES2 ADES3 ADES4 ADES5 ADES6 ADES7 ACK_A

SUB_A SUB_A SUB_A SUB_A SUB_A SUB_A SUB_A SUB_A


ACK
DDR(7) DDR(6) DDR(5) DDR(4) DDR(3) DDR(2) DDR(1) DDR(0)

SUBA0 SUBA1 SUBA2 SUBA3 SUBA4 SUBA5 SUBA6 SUBA7 ACK_B

Data(7) Data(6) Data(5) Data(4) Data(3) Data(2) Data(1) Data(0) ACK

DATA0 DATA1 DATA2 DATA3 DATA4 DATA5 DATA6 DATA7 ACK_C Stop

圖 4.3 I2C 電路狀態圖

39
圖 4.4 與圖 4.5 是 I2C 控制電路的 VHDL 程式,程式中每個狀態中

都有 3 個電路動作,其中當 count 等於 0 與 1 的電路動作是將資料由 SDA

傳送出去。當 count 等於 2 是準備下一筆傳送的資料。

圖 4.4 I2C 電路 VHDL 程式

40
傳送的資料由 count _ out 決定。經由示波器驗證,可知 I2C 電路所

產生的控制時序,準確無誤,如圖 4.6、4.7、4.8 所示。

圖 4.5 I2C 電路 VHDL 程式,決定傳送的資料

41
圖 4.6 I2C 控制時序驗證圖,晶片位置

圖 4.7 I2C 控制時序驗證圖,暫存器的位置

圖 4.8 I2C 控制時序驗證圖,寫入暫存器的值

42
ADV7391 輸入測試

由於要確認 ADV7391 晶片對輸入訊號的處理是否正確,並確認與

FPGA 相連接之腳位是否正常。所以將我們自行產生 CCIR656 的數位視

訊訊號給 ADV7391 晶片,如果晶片功能正常,則會依據輸入訊號產生

相對應的畫面。

FPGA

Reset I²C
I²C產生器

Finish
Signal
CCIR656
NTSC
Start ADV7391
CCIR656產生器 27MHZ

圖 4.9 ADV7391 輸入測試電路架構圖

圖 4.9 為 ADV7391 的輸入測試電路架構圖,分成 2 個電路:

其一是 I2C 產生器電路,經由 I2C 電路對 ADV7391 進行設定。設定

ADV7391 輸入視訊訊號格式及輸出視訊訊號格式,此時輸入訊號設定為

標準 CCIR656 格式,輸出訊號設定為類比 NTSC 格式。

43
其二是 CCIR656 產生器電路,依據數位視訊訊號格式 CCIR656 設

計而成,電路狀態圖如圖 4.10 所示。透過 VHDL 語言依據電路狀態圖

編寫此電路,電路程式如圖 4.11 與圖 4.12 所示。其中由電路中的 Line _

number 決定 CCIR656 的資料。以 CCIR656 產生器電路代替 ADV7391

輸入視訊訊號來源。以此電路架構對 ADV7391 進行測試,如果 ADV7391

晶片功能正常,則會在螢幕上看到一個綠色畫面,如圖 4.13 所示。

透過這 2 個測試,我們可以很確定視訊處理編碼晶片 ADV7391,一

切功能正常。

圖 4.10 CCIR656 產生器電路狀態圖

44
圖 4.11 CCIR656 產生器電路程式

圖 4.12 CCIR656 產生器電路程式,Line _ number 決定輸出值

45
圖 4.13 ADV7391 輸入測試所產生的綠色測試畫面

46
4-2 視訊處理解碼晶片測試

圖 4.14 SAA7144H 測試電路架構圖

由於視訊處理解碼晶片 PHILIPS SAA7144H,其內部功能暫存器並

沒有提供測試影像功能。所以要測試晶片 SAA7144H 功能是否正常,就

只能夠透過晶片 ADV7391 的輔助,將 SAA7144H 輸出的數位視訊訊號

輸入給 ADV7391,由 ADV7391 編碼成類比視訊訊號輸出給顯示設備,

唯有此方式才能測試該晶片功能是否正常。

圖 4.14 為 SAA7144H 的測試電路架構圖,分成 3 個電路,其一是

SAA7144H 的 I2C 產生器電路,經由 I2C 電路對 SAA7144H 進行設定,

設定 SAA7144H 輸入視訊訊號的來源及輸出視訊訊號格式。此時輸入訊

47
號選擇由 A 端 CVBS 做為來源,輸出訊號設定為標準 CCIR656 格式。

其二是 ADV7391 的 I2C 產生器電路,經由 I2C 電路對 ADV7391 進行設

定。設定輸入訊號為標準 CCIR656 格式,輸出訊號設定為類比 NTSC 格

式。其三是 bypass 電路,將 SAA7144H 輸出與 ADV7391 輸入經由 bypass

電路,做相接的動作。若 SAA7144H 晶片功能正常,則會在螢幕上看到

即時的影像畫面,如圖 4.15 所示。

圖 4.15 SAA7144H 測試電路所產生的即時畫面

48
4-3 同步動態記憶體控制測試

圖 4.16 SDRAM Control 電路方塊圖

要達到即時數位影像處理,往往需要將資料暫存在 buffer 中。所以

我們選擇 SDRAM 做系統的 buffer。因此我們參考 ALTERA 網站上找到

的 SDRAM 控制器([26]),將此控制器修改設計成本次研究可使用的

SDRAM 控制器。

我們依照 SDRAM 所有的命令時序及 SDRAM 控制器,設計出一個

可以用在本研究控制 SDRAM 的控制電路。圖 4.16 是 SDRAM 控制器的

電路方塊圖,分成 3 個部分,其一是控制介面模組,所有命令規劃於此

模組中,依據 CMD 選擇要執行的命令。以及 bank、列、行的位置皆由

49
此模組的 ADDR 輸入。其二是命令模組,將控制介面模組給予的命令要

求,轉換成可控制 SDRAM 的命令時序,且將 ADDR 分解成 bank、列、

行的位置,其電路程式如圖 4.17、圖 4.18、圖 4.19 所示。圖 4.17,由此

電路產生訊號 OE 控制 SDRAM 存入及讀取的資料長度。圖 4.18,由此

電路決定 tRCD。圖 4.19,由此電路產生 bank、列、行的位置及命令的

控制時序。其三是資料路徑模組,寫入 SDRAM 的資料由此模組輸入,

從 SDRAM 讀出的資料由此模組輸出。

圖 4.17 Command module 電路程式,決定資料長度

50
圖 4.18 Command module 電路程式,決定 tRCD

圖 4.19 Command module 電路程式

51
Main Board
FPGA SDRAM
CLK
CMD[2..0] CLK
CKE
Reset ADDR[21..0] CKE
CMD Issuer CS_N
DM[3..0] CS
WE_N
WE
CAS_N
CAS
SDRAM RAS_N Logic
DATAIN[31..0] RAS
Controller Analyzers
Count DQM[3..0]
DQM[3..0]
BA[1..0]
BA[1..0]
SA[11..0]
SA[11..0]
DQ[31..0]
DQ[31..0]

圖 4.20 SDRAM Control 測試電路架構圖

接下來要對 SDRAM 控制器進行功能驗證,圖 4.20 是 SDRAM 控制

器的測試電路架構圖。其一是命令發送電路,主要是對 SDRAM 控制器

下達命令,包含對 SDRAM 初始化、內部暫存器設定及下達寫與讀的命

令。其二是計數器電路,用來產生存入 SDRAM 的資料。其三是要被測

試的 SDRAM 控制電路。藉由軟體 Quaruts II 做接腳設定,使測試電路

與 SDRAM 接腳相通,方可進行測試。再將 SDRAM 所有訊號接至邏輯

分析儀,透過邏輯分析儀將訊號傳至電腦,便可由電腦觀測到測試結

果。圖 4.21 是對 SDRAM 進行寫入命令。圖 4.22 是對 SDRAM 進行讀

取命令。由圖 4.21 與圖 4.22 可知寫入及讀出 SDRAM 的資料一致。因

此 SDRAM 控制器功能正常。

52
圖 4.21 SDRAM 寫入命令測試結果,由邏輯分析儀擷取

圖 4.22 SDRAM 讀取命令測試結果

53
第五章 即時影像處理應用及平台展示

經過了平台驗證,證明即時數位影像處理平台的硬體一切沒有問

題。因此在本章中,設計了 3 個獨立影像系統,將要展示這個平台處理

即時影像的功能。首先在 5-1 節,展示即時影像顯示,選用 SDRAM 做

影像資料的 Buffer,並結合我們所設計的 SDRAM 控制器,實現即時影

像存取並顯示影像。接著在 5-2 節,展示即時 Lookup Table 影像處理,

以即時影像顯示系統為主體架構,再加上自行設計的 RS232 模組,實現

即時 Lookup Table 影像處理功能。最後在 5-3 節,展示即時 Sliding &

Stretching 處理,以即時 Lookup Table 影像處理系統為主體架構,再加上

自行設計的 Sliding & Stretching 運算模組,實現即時 Sliding & Stretching

影像處理功能。

54
5-1 即時影像顯示

由於我們只須對影像資料進行存取,且隨後在 5-2 與 5-3 節所展示

的功能都只需對影像資料進行處理。所以勢必將 CCIR656 的同步訊號資

料及影像資料區分出來。因此擁有這樣功能的電路對本次研究是相當重

要,也是輸入模組中的重要電路。所以在展示即時影像顯示之前先敘述

Active_video detection 電路的設計過程。

Active_video detection 電路方塊圖如圖 5.1 所示,由 4 個電路組成,

分別功能如下:

圖 5.1 Active_video detection 電路方塊圖

55
圖 5.2 FSM1 設計說明圖

一、FSM1:設計說明如圖 5.2 所示,首先尋找 FF0000F1,再來尋找

FF0000B6。這樣可以確認現在是 field1 的影像資料。搜索到 FF0000B6

之後發出 FSM2 的致能信號 field1_flag。FSM1 電路狀態圖如圖 5.3 所示。

圖 5.3 FSM1 電路狀態圖

56
二、FSM2:設計說明如圖 5.4 所示,接收到致能信號 field1_flag,電

路功能啟動。首先尋找 FF00009D,表示找到第 20 條數位訊號線。接著

計數器開始計數,數到 1712 後判斷 FF00009D,若是 FF00009D 即確定

找到第 21 條數位訊號線。再來計數器開始計數,數到 272 後就可確定

是帶有影像訊號的影像資料,將影像資料擷取輸出。FSM2 電路狀態圖

如圖 5.5 所示。FSM1 與 FSM2 結合可將 field1 的影像資料擷取輸出。FSM1

的電路程式如圖 5.6 所示。FSM2 的電路程式如圖 5.7 與圖 5.8 所示。

Count+1 …………………………………. Count=1712

Count+1……. Count=272

圖 5.4 FSM2 設計說明圖

57
圖 5.5 FSM2 電路狀態圖

圖 5.6 FSM1 的電路程式圖


58
圖 5.7 FSM2 的電路程式圖

圖 5.8 FSM2 的電路程式圖

59
三、FSM3:設計說明如圖 5.9 所示,首先尋找 FF0000B6,再來尋找

FF0000F1。這樣可以確認現在是 field2 的影像資料。搜索到 FF0000F1

之後發出 FSM4 的致能信號 field2_flag。FSM3 電路狀態圖如圖 5.10 所

示。

圖 5.9 FSM3 設計說明圖

圖 5.10 FSM3 電路狀態圖

60
四、FSM4:設計說明如圖 5.11 所示,接收到致能信號 field2_flag,

電路功能啟動。首先尋找 FF0000DA,表示找到第 283 條數位訊號線。

接著計數器開始計數,數到 1712 後判斷 FF0000DA,若是 FF0000DA 則

可確定找到第 284 條數位訊號線。再來計數器開始計數,數到 272 後就

可確定是帶有影像訊號的影像資料,將影像資料擷取輸出。FSM4 電路

狀態圖如圖 5.12 所示。FSM3 與 FSM4 結合可將 field2 的影像資料擷取

輸出。

Count+1 ……………….. Count=1712


Count+1 ……. Count=272

圖 5.11 FSM4 設計說明圖

61
圖 5.12 FSM4 電路狀態圖

經由這 4 個電路結合能完成擷取影像資料的功能,其 4 個電路程式

方塊圖如圖 5.13 所示。

圖 5.13 Active_video detection 電路程式方塊圖


62
圖 5.14 即時影像顯示系統示意圖

在介紹完 Active_video detection 電路之後,接下來要回歸功能展示

這個主題。由於我們所設計的平台是可以處理即時影像,但是影像是連

續不斷!在連續不斷之下,是沒有辦法直接做處理,所以我們必須將影

像資料做適當的儲存。因此我們選擇使用 SDRAM 做為儲存影像資料的

buffer。

首先要展示的功能是即時影像顯示,圖 5.14 是即時影像顯示系統的

示意圖,由攝影機將 NTSC 訊號送入 SAA7144H 進行解碼,解碼成標準

CCIR656 格式。經由 SAA7144H 輸出腳位,把資料傳到 FPGA 內的數位

電路。而電路分成 4 個部分:

63
其一是輸入模組,如圖 5.15 所示,電路 Active_video detection 會將

CCIR656 中帶有影像的資料擷取出來,存入輸入模組內所規劃的 Line

buffer A 與 Line buffer B,等候控制訊號將 Line buffer A 與 Line buffer B

內的資料存入 SDRAM。

Line buffer
A

SDRAM
Active_Video Demux Controller SDRAM
Mux
detection

Line buffer
B

圖 5.15 即時影像顯示系統輸入模組示意圖

其二是 SDRAM 控制器,負責產生 SDRAM 的命令時序。

64
其三是控制訊號模組,這個模組最主要是產生所有數位電路的控制

訊號,如圖 5.16 所示,主要包括 SDRAM 讀、寫命令及位置與 Line Buffer

的控制訊號。在此模組最要注意的是 SDRAM 控制中 Refresh、讀取與寫

入命令,若 SDRAM 沒有依規定的時間內做 Refresh,則 SDRAM 內的資

料會流失,若是來不及做寫入或讀取,則影像資料就會被覆蓋。所以必

須對 Refresh、讀、寫做適當的安排。因此設計了一個方法來避免,可一

一解決這些問題。

圖 5.16 即時影像顯示系統控制訊號模組示意圖

首先設計一個 Refresh Count,每 12μs 向 Controller 提出 Refresh 要

求。因此每 324 個 clk 會向 Controller 提出 Refresh 要求。再來設計寫入

的資料長度,設定為 60 筆的 32 位元資料。由於一條數位訊號線共有 360

個 32 位元的影像資料,所以寫入一條數位訊號線必須下達 6 次寫入命

令。每次下達一次寫入命令到 60 筆資料寫入共須 75 個 clk 方可做完。

65
圖 5.17 SDRAM 寫入命令與 Refresh 命令時序圖

以 Refresh 與寫入的方式來做說明,如圖 5.17 所示,當 Req_SDW

為 1 時,表示對 Controller 提出寫入的要求,此時 Refresh Count 尚未提

出 Refresh 要求。因此 Controller 下達寫入命令,將 SDW_mask 升為 1。

隨後 Refresh Count 提出要求,將 Ref_req 升為 1,這時 Controller 會跟據

SDW_mask 為 1,表是正在做寫入動作,則對 Refresh 要求視為無效。由

於 Refresh Count 偵測到 SDW_mask 為 1,因此會持續將 Req_ref 升為 1

提出要求。等到 SDW_mask 降為 0,Controller 才會下達 Refresh 命令,

將 Ref_mask 升為 1 直到 Refresh 結束才會降為 0。此時 Controller 會依

據 Ref_mask 升為 1,對寫入要求視為無效。如果寫入要求及 Refresh 要

求同時提出,則 Controller 會以 Refresh 為第一優先。

66
由上述可知執行 Refresh 的時間會因 SDW_mask 的長度做改變。因

此 Refresh 的 執 行 是 有 彈 性 的 , 又 由 於 最 慢 必 須 15.6μs 執 行 一 次

Refresh,然而 12μs 與 15.6μs 之間有 97 個 clk 可彈性使用。所以就算是

最長的寫入時間 75 個 clk 後才能執行 Refresh,也還剩下 22 個 clk 絕對

足夠可執行 Refresh。所以使用這樣有彈性的 Refresh 執行及 mask 與 req

的使用。因此可以使得寫入、讀取、Refresh 達到最好的控制效果。圖

5.18 是 Refresh Count 電路程式

圖 5.18 Refresh Count 電路程式

67
Line buffer
C

SDRAM CCIR656
SDRAM Demux Mux
Controller
Generator

Line buffer
D

圖 5.19 即時影像顯示系統輸出模組電路示意圖

其四是輸出模組,如圖 5.19 所示,負責將 SDRAM 內的影像資料,

暫時存入 Line buffer C 與 Line buffer D,等待控制訊號將 Line buffer C

與 Line buffer D 中的影像資料送給電路 CCIR656 generator。

CCIR656 generator 會將資料彙整成標準的數位視訊訊號 CCIR656。

最後在將 CCIR656 訊號傳送給 ADV7391 做視訊編碼成類比視訊訊號

NTSC,在經由螢幕做顯示,即完成即時影像顯示的功能。圖 5.20 是即

時影像顯示設備實體圖,圖 5.21 是即時影像顯示圖

68
子板正面

類比視訊訊號輸入端
主板 類比視訊訊號輸出端

子板背面

圖 5.20 即時影像顯示設備實體圖

圖 5.21 即時影像顯示圖

69
5-2 即時 Lookup Table 影像處理

圖 5.22 原圖與互補影像圖([27])

圖 5.22 左邊是原圖,右邊經過影像互補處理後的圖片([28-29]),透

過互補影像可以看出雲的細部紋路,這是在靜態下做的處理。然而在即

時影像中,想要看互補影像就必須先將影像擷取再做轉換嗎?這時若是

我們可以即時改變影像的亮度或是可以即時限制影像的亮度,一定可以

看到互補影像同樣的效果!而且是即時影像!不需在做影像擷取。因此為

此目的,我們設計了即時 Lookup Table 影像處理。

使用電腦建立 Lookup Table 的資料,由於即時數位影像處理平台上

有一個 RS232 端口。因此運用 RS232 傳輸作為 Lookup Table 資料傳送

到即時數位影像處理平台內的媒介,以達成即時 Lookup Table 影像處理

的功能。

70
圖 5.23 是即時 Lookup Table 影像處理系統示意圖,以即時影像顯示

的電路架構為主體,加入 RS232 模組,用來做數位電路與電腦溝通的橋

梁。為了滿足可以即時處理亮度的功能,因此在輸出模組內增加一些功

能電路,以實現即時 Lookup Table 影像處理。後續會詳加介紹模組的功

用。

圖 5.23 即時 Lookup Table 影像處理系統示意圖

71
首先介紹 RS232 模組,如圖 5.24 所示,其電路分成:RS232Rxd,用

來接收電腦傳來的資訊。RS232Txd,將數位電路的資料轉換成標準

RS232 格式,傳送給電腦。CMD,主要是接受電腦的命令及產生回應資

訊給電腦。LUT data & address,將電腦傳來的 Lookup Table 資料存入

LUT buffer A 與 LUT buffer B。

圖 5.24 RS232 模組電路示意圖

由於 RS232Rxd 與 RS232Txd 是分別擁有接收 RS232 數位串列訊號

及傳送 RS232 數位串列訊號的數位電路,對此模組來說最為重要,所以

特別詳加介紹。

72
圖 5.25 是 RS232Rxd 的電路狀態圖([8]),以 5 倍的 115200 為 RS232

的取樣頻率。首先在 idle1 與 idle 中判斷 RS232 輸入訊號是否為 0,經過

4 個取樣頻率的確認,若 RS232 輸入訊號是為 0,則表示為 RS232 的開

始位元。接下來在 recv_data 中,每 3 個取樣頻率取樣一次,這樣設計剛

好在 RS232 輸入訊號的中心點做取樣。取樣後的 RS232 資料存入右移暫

存器 RxR 中,共做 8 次,每一次對輸入訊號做取樣,RxR 中的資料就會

右移一次。最後在 detected 中判斷 RS232 輸入訊號是否為 1,若是 RS232

輸入訊號為 1,則表示為 RS232 的停止位元,這也表示準確將 RS232 輸

入訊號做取樣。因此由 RDR 暫存器將資料輸出並發出訊號 rxd_readyH,

告知 RS232Rxd 電路已輸出資料,即完成接收 RS232 數位串列訊號的工

作。RS232Rxd 的電路程式如圖 5.26 與圖 5.27 所示。

圖 5.25 RS232Rxd 的電路狀態圖

73
圖 5.26 RS232Rxd 的電路程式圖

圖 5.27 RS232Rxd 的電路程式圖


74
圖 5.28 是 RS232Txd 的電路狀態圖,在 idle 中偵測是否提出傳送要

求,若是 Txd_req 為 1,則表示提出傳送要求。這時將需傳送的資料由

DBUS 存入傳送暫存器 TXR 中,且 TXD 保持為 1。再來進入 start 中,

將 TXD 降為 0,表示為 RS232 的開始位元,將要傳送資料。接著進入

傳送狀態 D0~D7,分別將 TXR 中的資料依序由低位元至高位元從 TXD

輸出。最後在 stop 與 finish 中,將 TXD 升為 1,並發出訊號 txd_doneH,

告知 RS232Txd 已將資料轉換成 RS232 數位串列格式並傳送完畢,即完

成傳送 RS232 數位串列訊號的工作。RS232Txd 的電路程式如圖 5.29 與

圖 5.30 所示。

圖 5.28 RS232Rxd 的電路狀態圖

75
圖 5.29 RS232Txd 的電路程式圖

圖 5.30 RS232Txd 的電路程式圖

76
因為我們要處理的影像資料只有亮度訊號(Y)
,所以必須要將影像

資料亮度(Y)與彩度訊號(Cb、Cr)分離。因此設計可擷取亮度訊號

(Y)的數位電路 Y_hold 及可擷取彩度訊號(Cb、Cr)的數位電路

Cb_hold 、Cr_hold。

圖 5.31 為 Y_hold 的電路狀態圖,首先在 waite 狀態中偵測 start 訊

號是否為 1,若為 1 則告知電路 Y_hold,影像資料即將從輸入端輸入。

由於第 1 筆資料是彩度訊號 Cb,所以進入 Y_hold1 後狀態直接進入

Y_hold2。在 Y_hold2 中擷取亮度訊號並發出 Y_flag 訊號,之後進入

Y_hold3 中將計數器加 1,再回到 Y_hold2 中,重複 Y_hold1 與 Y_hold2。

這樣一共執行 720 次後回到 waite 狀態。即完成擷取一條 CCIR656 數位

訊號線的亮度訊號。Y_hold 的電路程式如圖 5.32 所示。

圖 5.31 Y_hold 的電路狀態圖

77
圖 5.32 Y_hold 的電路程式圖

78
圖 5.33 為 Cb_hold 的電路狀態圖,首先在 waite 狀態中偵測 start 訊

號是否為 1,若為 1 則告知電路 Cb_hold,影像資料即將從輸入端輸入。

接著進入 Cb_hold1 中擷取彩度訊號 Cb 並發出 Cb_flag 訊號。由於之後

的資料是亮度訊號與彩度訊號 Cr,所以直接狀態進入 Cb_hold2 與

Cb_hold3。之後進入 Cb_hold4 中將計數器加 1,再回到 Cb_hold1 中,

重複 Cb_hold1、Cb_hold2、Cb_hold3、Cb_hold4,這樣一共執行 360 次

後回到 waite 狀態。即完成擷取一條 CCIR656 數位訊號線的彩度訊號

Cb。Cb_hold 的電路程式如圖 5.34 所示。

圖 5.33 Cb_hold 的電路狀態圖

79
圖 5.34 Cb_hold 的電路程式圖

80
圖 5.35 Cr_hold 的電路狀態圖

圖 5.35 為 Cr_hold 的電路狀態圖,首先在 waite 狀態中偵測 start 訊

號是否為 1,若為 1 則告知電路 Cr_hold,影像資料即將從輸入端輸入。

由於第 3 筆資料才是彩度訊號 Cr,所以狀態直接進入 Cr_hold1 與

Cr_hold2。接著進入 Cr_hold3 中擷取彩度訊號 Cr 並發出 Cr_flag 訊號,

之後進入 Cr_hold4 中將計數器加 1。再來資料是亮度訊號與彩度訊號

Cb,因此狀態直接進入 Cr_hold5 與 Cr_hold6。之後回到 Cr_hold3 中,

重複 Cr_hold3、Cr_hold4、Cr_hold5、Cr_hold6,這樣共執行 360 次後回

到 waite 狀態。即完成擷取一條 CCIR656 數位訊號線的彩度訊號 Cr。

Cr_hold 的電路程式如圖 5.36 所示。

81
圖 5.36 Cr_hold 的電路程式圖

82
RS232

Cb latch
LUT
Line buffer
buffer
C
A
CCIR656
Mux Mux combine
Y latch Demux
Generator
LUT
Line buffer
buffer
D
B

Cr latch

RS232

圖 5.37 即時 Lookup Table 影像處理系統輸出模組電路示意圖

接著介紹輸出模組,圖5.37 是輸出模組電路示意圖。把影像資料做

Y、Cb、Cr的分離,將Y值當作LUT buffer的位置,把新的Y值讀取出,

取代原來的Y值。在combine電路中,將新的Y值與Cb、Cr重新合成為

CbYCrY的資料格式,再將資料送給電路CCIR656 generator。

CCIR656 generator 會將資料彙整成標準的數位視訊訊號 CCIR656。

最後在將 CCIR656 訊號傳送給 ADV7391 做視訊編碼成類比視訊訊號

NTSC,再經由螢幕做顯示,即完成即時 Lookup Table 影像處理的功能。

圖 5.38 是輸入即時 Lookup Table 影像處理之原圖,圖 5.39 是即時 Lookup

Table 影像處理之互補影像圖

83
圖 5.38 輸入即時 Lookup Table 影像處理之原圖

圖 5.39 即時 Lookup Table 影像處理之互補影像圖

84
我們針對即時Lookup Table影像處理做了第二各功能展示,那就是

Brightness Slicing([30])。圖5.40為原始影像,使用Brightness Slicing的方

法擷取電風扇,如圖5.41所示。

圖5.40 輸入即時Lookup Table影像處理之原圖

圖 5.41 即時 Lookup Table 影像處理之 Brightness Slicing 影像圖

85
5-3 即時 Sliding & Stretching 處理

圖 5.42 原圖與經過 Sliding & Stretching 處理圖([31])

圖 5.42 左邊是原圖,右邊是經過 Sliding & Stretching 處理後的圖

片。透過 Sliding & Stretching 處理,可以使低對比的影像變得比較清晰!

在即時影像中,若是擁有 Sliding & Stretching 處理電路,我們就可以立

即看到變清晰的畫面。因此為此目的,我們設計了即時 Sliding &

Stretching 處理系統。

86
在介紹設計電路之前,我們先介紹 Sliding & Stretching 的原理

([32]),圖 5.43 是 Sliding & Stretching 處理流程圖。□


1 圖在找尋一張畫

面中最亮值及最暗值。□
2 圖將 histogram 全部向左移動一個最暗值,再

將 histogram 乘上 number=[255/(max-min)],最後會得到□
3 圖,即完

成 Sliding & Stretching 處理。□


4 圖是輸入輸出的轉移曲線。

圖 5.43 Sliding & Stretching 處理流程圖

87
FPGA
CCIR656
Input
PHILIPS Module
SAA7144H2
NTSC IC

Control SDRAM
Signal SDRAM
Controller
Module

LUT buffer

Output
I2C Module

….
ANALOG DEVICES Sliding
NTSC ADV7391 &
CCIR656 Stretching
Module

Daughter Board Main Board

圖 5.44 即時 Sliding & Stretching 處理系統示意圖

圖 5.44 是即時 Sliding & Stretching 處理系統示意圖。以即時 Lookup

Table 影像處理的電路架構為主體,多加了 Sliding & Stretching 模組,其

餘模組內的數位電路大致上未變動。但是為了實現即時 Sliding &

Stretching 的功能,因此在輸入模組與輸出模組內增加了部分功能電路,

後續會一一介紹模組的功用。

88
圖 5.45 即時 Sliding & Stretching 處理系統輸入模組電路示意圖

圖 5.45 是輸入模組圖,電路 Active_video detection 會將 CCIR656

中帶有影像的資料擷取出來,暫時先存入輸入模組內所規劃的 Line

buffer A 與 Line buffer B。因為只針對亮度訊號做 Sliding & Stretching 處

理,因此輸入 Sliding & Stretching 模組的影像訊號必須只有亮度訊號。

所以在輸入模組內增加電路 Y_latch,把亮度資料獨立分離。

89
圖 5.46 是 Sliding & Stretching 的轉移公式說明圖,其轉移公式為

[I(x,y)-min]×[254/(max-min)],由於[254/(max-min)]必定是浮點數如□
1 圖

所示。但是數位電路沒有浮點數運算,只有整數運算。因此將 254 增加

2 個位數,除以 200 後得 127,即變成了整數運算。然而要重新求得 254,

只須將 200×127 得 25400 後,將後 2 個位數捨棄即可得到 254,如圖□


2

所示。圖□
3 是使用 16 進制的整數運算,0146×C8 得 FEB0 捨棄後面 2

個位元,雖然 FF 與 FE 有誤差,但使用此方式可將誤差降至最低。因此

依照此方式設計出可實現轉移公式[I(x,y)-min]×[254/(max-min)]的數位

電路。

圖 5.46 Sliding & Stretching 的轉移公式說明圖

90
圖 5.47 Sliding & Stretching 的轉移公式設計示意圖

91
圖 5.47 是 Sliding & Stretching 的轉移公式設計示意圖。state1 與

state2,將畫面中的亮度訊號最亮值與最暗值和其之間的差值存入暫存器

中。count 代表輸入的 Gray levels 範圍 01~FE,在 state3 中進行判斷,count

若是小於 min 則進入 state5,直接使 Req_Y 的值為 000100,之後在 state8

中將輸出 Req_Y 的第 8~15 位元並將 OK 訊號升為 1。count 若是大於

max 則進入 state6,直接使 Req_Y 的值為 00FE00,之後在 state8 中將輸

出 Req_Y 的第 8~15 位元並將 OK 訊號升為 1。count 若是大於 min 且小

於 max 則進入 state4,進行(max-min)×Req_K 的運算,此運算使用 16 進

制的整數運算,之後在 state8 中將輸出 Req_Y 的第 8~15 位元並將 OK

訊號升為 1。使用此設計即可實現 Sliding & Stretching 的轉移公式。依

據圖 5.47 將此電路設計實現,稱為 Y_new 電路。電路程式如圖 5.48 與

圖 5.49 所示。

92
圖 5.48 Y_new 電路程式圖

圖 5.49 Y_new 電路程式圖

93
接著介紹 Sliding & Stretching 模組,如圖 5.50 所示。其電路分

成:Fine_min,用來找尋畫面中亮度訊號最小值。Fine_max,用來找尋畫

面中亮度訊號最大值。Range,主要在計算畫面中亮度訊號最大值與亮

度訊號最小值之間的差值。div,計算亮度的放大倍率。Y_new,計算出

新的亮度資料,最後將資料存入 Y new buffer A 與 Y new buffer B。

Y data
Fine_min
Y new
buffer
A

range div Y_ new Demux


Y new
buffer
B
Fine_max

圖 5.50 Sliding & Stretching 模組電路示意圖

94
接著介紹輸出模組,圖5.51是輸出模組電路示意圖。主要電路架構

與資料傳遞方式都與即時Lookup Table影像處理系統輸出模組一樣,只

是新的Y值是由Sliding & Stretching模組計算得來。

圖 5.51 即時 Sliding & Stretching 處理系統輸出模組電路示意圖

95
在設計及介紹完即時 Sliding & Stretching 處理系統之後,我們必須

先要進行驗證,測試本次設計的 Sliding & Stretching 模組是否正確計算

出所需的值。因此我們使用電路 CCIR656 generator 取代輸入訊號,以自

行產生的標準 CCIR656 格式資料,傳送給即時 Sliding & Stretching 處理

系統進行測試,如圖 5.52 所示。我們共設計 4 組測試畫面,如表 5.1 所

示。

FPGA
CCIR656
Input
Module

Control
CCIR656 SDRAM
Signal SDRAM
Generator Controller
Module

LUT buffer

I2C Output
ANALOG DEVICES Module
….

ADV7391
Sliding
NTSC &
CCIR656 Stretching
Module

Daughter Board Main Board

圖 5.52 即時 Sliding & Stretching 處理系統測試電路示意圖

表 5.1 測試畫面資料表
差值 倍率
0B 0C 0D 0E 0F 10 11 12 13 14 9 1C
64 65 66 67 68 69 6A 6B 6C 6D 9 1C
Y值 E6 E7 E8 E9 EA EB EC ED EE EF 9 1C
64 BE 78 82 8C 96 A0 AA B4 BE 5A 2D
新Y值 1 1C 38 54 70 8D A9 C5 E1 FE

96
測試一:Y 值範圍 0b~14,圖 5.53 是輸入畫面。圖 5.54 是輸入畫面

的類比訊號波形圖。圖 5.55 是由邏輯分析儀所擷取到的最小 Y 值,可確

定為 0b。圖 5.56 是由邏輯分析儀所擷取到的最大 Y 值,可確定為 14。

圖 5.53 輸入畫面,有漸層的偏黑畫面

圖 5.54 輸入畫面的類比訊號波形圖

97
圖 5.55 由邏輯分析儀所擷取到的最小 Y 值

圖 5.56 由邏輯分析儀所擷取到的最大 Y 值

98
測試二:Y 值範圍 64~6d,圖 5.57 左邊是輸入畫面,右邊是輸入畫

面的類比訊號波形圖。圖 5.58 左邊是測試結果的畫面,右邊是測試結果

的類比訊號波形圖。

圖 5.57 (左) 有漸層的輸入畫面,(右) 輸入畫面的類比訊號波形圖

圖 5.58 (左) 測試結果,(右) 測試結果的類比訊號波形圖

99
測試三:Y 值範圍 e6~ef,圖 5.59 是輸入畫面。圖 5.60 是輸入畫面

的類比訊號波形圖。圖 5.61 是由邏輯分析儀所擷取到的最小 Y 值,可確

定為 e6。圖 5.62 是由邏輯分析儀所擷取到的最大 Y 值,可確定為 ef。

圖 5.59 輸入畫面,有漸層的偏亮畫面

圖 5.60 輸入畫面的類比訊號波形圖

100
圖 5.61 由邏輯分析儀所擷取到的最小 Y 值

圖 5.62 由邏輯分析儀所擷取到的最大 Y 值

101
測試四:Y 值範圍 64~be,圖 5.63 左邊是輸入畫面,右邊是輸入畫面

的類比訊號波形圖。圖 5.64 左邊是測試結果的畫面,右邊是測試結果的

類比訊號波形圖。

圖 5.63 (左) 輸入畫面,(右) 輸入畫面的類比訊號波形圖

圖 5.64 (左) 測試結果,(右) 測試結果的類比訊號波形圖

由以上 4 組測試畫面可知我們依照 Sliding & Stretching 的轉移公式

所設計的運算模組,成功的計算出轉移後的亮度。因此驗證即時 Sliding

& Stretching 處理系統功能正確。

102
由於我們的目標是即時影像處理,因此在經過測試畫面的驗證之

後,接著就是對即時影像進行實際的處理。所以我們設計了偏暗的即時

畫面給即時 Sliding & Stretching 處理系統,經由系統處理過後應將得到

改善的即時畫面。圖 5.65 左邊是將攝影機的光圈調低,使即時畫面偏

暗。圖 5.65 右邊是經過即時 Sliding & Stretching 處理系統處理完畢的結

果。

圖 5.65 (左)偏暗的即時影像,(右)由系統處理完畢的即時影像

由圖 5.65 可知即時 Sliding & Stretching 處理系統,成功的將偏暗的

即時畫面做即時的修正,証明即時 Sliding & Stretching 處理系統確實有

調整對比的功效。

103
第六章 結論與未來展望

在本論文中,我們設計了一個可以處理即時數位影像的平台,這個

平台使用內含大型 FPGA 晶片的 Cyclone II Starter Kit Development

Board,並結合我們自行設計的影像視訊處理輸出/入介面子板,依據此

平台完成了三個功能展示:

(1) 即時影像顯示,將輸入類比視訊訊號轉換成標準數位訊號

CCIR656,經由自行設計的數位電路,把影像資料存入 SDRAM 內,再

從 SDRAM 讀取出來顯示在螢幕上。

(2) 即時 Lookup Table 影像處理,以即時影像顯示為基礎架構,加

入 RS232 傳輸處理電路。可自行依據需求改變輸出的亮度,經由電腦建

立新的亮度表,透過 RS232 串列傳輸,將資料傳送給數位電路,即可立

即得到亮度改變的即時畫面。

(3) 即時 Sliding & Stretching 處理,以即時 Lookup Table 影像處理為

基礎架構,加入 Sliding & Stretching 處理電路。經由 Sliding & Stretching

處理電路可計算出 Sliding & Stretching 的轉換曲線,再將轉換曲線以

Lookup Table 的方式輸出,既可立即得到對比改變的即時畫面。

104
若要展望未來,即時數位影像處理平台,還可以做相當多關於影像

處理的系統,例如 Histogram Equalization 數位電路實現如圖 6.1 所示。

因為 SAA7144 有 4 組類比訊號輸入,因此可以設計視訊多工器,如圖

6.2 所示。因為 ADV7391 擁有處理高畫質視訊訊號的能力,因此可將觸

角延伸到高畫質視訊的領域中,所以可以將之前所展示的系統其輸出類

比視訊訊號改成高畫質視訊訊號,如圖 6.3、6.4、6.5 所示,若能將其實

現都是不錯的系統。

圖 6.1 即時 Histogram Equalization 處理系統

105
圖 6.2 即時視訊多工器系統

圖 6.3 將輸出改成 1080I 的即時顯示系統

106
CCIR656 FPGA
Input
PHILIPS Module
SAA7144H2
NTSC IC

Control SDRAM
Signal SDRAM
Controller
Module

LUT buffer

I2C Output
ANALOG DEVICES Module

….
1080i ADV7391
1080i
RS232
Module

Daughter Board Main Board

圖 6.4 將輸出改成 1080I 的即時 Lookup Table 影像處理系統

FPGA
CCIR656
Input
PHILIPS Module
SAA7144H2
NTSC IC

Control SDRAM
Signal SDRAM
Controller
Module

LUT buffer

Output
I2C Module
….

ANALOG DEVICES Sliding


1080i ADV7391 &
1080i Stretching
Module

Daughter Board Main Board

圖 6.5 將輸出改成 1080I 的即時 Sliding & Stretching 處理系統

107
參考文獻

[1] Alasdair Mcandrew, “Introduction To Digital Image Processing,”


pp.188-194.
[2] 張銘峰,“影像輔助高爾夫球表面全方位品管檢測系統之研發",
崑山科技大學機械工程系碩士論文, 民國九十三。
[3] 黃敏峰,“人臉追蹤法應用於監控系統之研究",國立成功大學電
機工程學系碩士論文,民國九十二年。
[4] 周宗慶,“醫學影像輸出膠片自動轉換陣列型數位影像資料",中
原大學電機工程學系碩士學位論文,民國九十一年。
[5] http://www.answers.com/FPGA?cat=technology
[6] http://zh.wikipedia.org/wiki/FPGA
[7] 賈證主,VHDL 數位系統設計與應用,台科大圖書股份有限公司,
民國九十三年。
[8] 林傳生,使用 VHDL 電路設計語言之數位電路設計,儒林圖書有限
公司,民國八十七年。
[9] 鄭信源,VHDL 數位電路設計基礎篇,儒林圖書有限公司,民國九
十二年。
[10] Keith Jack, “Video Demystified,” A Handbook for the Digital Engineer,
3nd Edition, Newnes. 2001.
[11] http://www.answers.com/topic/ntsc
[12] http://leotardi.no-ip.com/images/risoluzionivideo/800px-NTSC-PAL-SE
CAM.png
[13] http://www.hometheatersound.com/features/videonoise/pics/200108_int
erlace_graphic.jpg
[14] “Recommendation ITU-R BT.656-4,” Interfaces for Digital
Component Video Signals in 525-Line and 625-Line Television
Systems Operating at The 4:2:2 Level of Recommendation ITU-R
108
BT.601 (Part A), 1998.
[15] 許永和,介面設計與實習使用 Visual Basic,全華科技圖書股份有限
公司,民國九十四年。
[16] 陳慶逸、林柏辰,VHDL 數位電路實習與專題設計,文魁資訊股份
有限公司,民國九十二年。
[17] http://www.refurbished-laptops.biz/laptop-ports/rs232.html
[18] “Product Data Sheet of MT48LC4M32B2-6,” Micron Technology Inc.,
2001.
[19] “Product Data Sheet of A43L4616,” AMIC Technology, Corp., July.
2005.
[20] www.xinworks.com/bbs/job.php?action-download-pid-tpc-tid-1084-aid-
567.html
[21] “Cyclone II Starter Kit Development Board Reference Manual,”
GALXY FAR Corporation, May. 2006.
[22] “Product Data Sheet of SAA7144H, Rev. 01,” PHILIPS
Semiconductors, 21 April 2005.
[23] “Product Data Sheet of ADV7391, Rev. 0,” Analog Devices, 2006.
[24] e 科技雜誌,“ETlmags-Taiwan Version NO.55,” pp.40-47, July 2005.
[25] 張義和,Protel DXP 2004 電腦輔助電路設計全記錄,全華科技圖書
股份有限公司,民國九十四年。
[26] http://www.altera.com/
[27] http://vision.vein.hu/~kla/airplane.bmp
[28] Refael C. Gonzalez & Richard E. Woods, “Digital Image Process,”
Second Edition, pp. 78-79.
[29] Gregory A. Baxes, “Digital Image Process,” pp.69-72.
[30] Gregory A. Baxes, “Digital Image Process,” pp.77-78.
[31] http://www.cvc.uab.es/shared/teach/a20383/practiques/practica3/enunci
ado.htm
[32] Gregory A. Baxes, “Digital Image Process,” pp.73-75.
109
附錄一

PHILIPS SAA7144H 電路圖

110
附錄二

ANALOG DEVICES ADV7391 電路圖

111
附錄三

電源電路圖

112
附錄四

接腳規劃圖

113

You might also like