畢業(yè)論文:基于fpga的視頻圖像分割技術(shù)—系統(tǒng)設(shè)計(jì)
題目:基于fpga的視頻圖像分割技術(shù)—系統(tǒng)設(shè)計(jì)
院(系) 信息科學(xué)與工程學(xué)院
專 業(yè) 電子信息工程
屆 別 2012屆
摘 要
隨著多媒體技術(shù)的發(fā)展 ,視頻圖像得到了廣泛應(yīng)用. 而視頻分割技術(shù)更是為視頻理解、視頻編碼等領(lǐng)域廣泛應(yīng)用. 所謂視頻分割就是把視頻中重要的或人們感興趣的物體或?qū)ο?(Video Object, VO)與背景分割開來 ,或者說就是要?jiǎng)澇龇謩e具有一致屬性的一個(gè)個(gè)區(qū)域 ,同時(shí)區(qū)分背景區(qū)域和前景區(qū)域.早期的多畫面分割器設(shè)計(jì)使用了很多的模擬器件,這時(shí)的電路開發(fā)周期長(zhǎng),產(chǎn)品的調(diào)試,修改升級(jí)比較困難,成本較高。在這里采用FPGA芯片,完成圖像的處理和硬件電路各個(gè)部分工作的協(xié)調(diào),從而提高系統(tǒng)的集成度和性能。
本
論文首先根據(jù)視頻信號(hào)的處理過程和典型視頻圖像處理系統(tǒng)的構(gòu)成提出了基于FPGA的視頻圖像處理系統(tǒng)總體框圖,主要由視頻信號(hào)輸入模塊,視頻信號(hào)處理模塊和視頻信號(hào)輸出模塊3個(gè)部分組成。然后分別具體介紹每個(gè)模塊的結(jié)構(gòu)功能:視頻輸入模塊采用視頻解碼芯片AD9983A將采集的多路模擬視頻信號(hào)轉(zhuǎn)換成8位RGB數(shù)字信號(hào)送到FPGA,實(shí)現(xiàn)高分辨率視頻圖像的采集;視頻處理模塊主要由Lattice公司的 ECP2M系列LFE2M20SE芯片完成,根據(jù)需要對(duì)輸入的數(shù)字視頻信號(hào)進(jìn)行處理,完成視頻信號(hào)的分割與合成;視頻輸出模塊將 FPGA 處理后的信號(hào)經(jīng)過ch7301視頻編碼芯片驅(qū)動(dòng)輸出到顯示器。
圖像分割算法繁多,運(yùn)動(dòng)圖像的分割可先分解為一幀幀圖像,然后利用時(shí)-空?qǐng)D像的灰度和梯度信息進(jìn)行分割。本文利用MAILAB,實(shí)現(xiàn)了簡(jiǎn)單背景下一幀圖像的分割。
關(guān)鍵詞:現(xiàn)場(chǎng)可編程邏輯門陣列;視頻信號(hào);圖像分割與合成
ABSTRACT
With the development of multimedia technology, video is widely used. And video segmentation technology has a e*tensive use in the field of video understanding, and video coding applications .Video segmentation is to separate the mportant or interesting object ( Video Object, VO ) in the video from background.. Or that is to divide areas with the same attribute , and distinguish background and foreground regions . Early divider design use a lot of analog circuit, development cycle is very long . It is difficult for product to test and modify to upgrade . Cost is high. Here the FPGA chip help complete image processing and coordinate the hardware circuit ,so as to improve the system integration and performance.
In this paper according to the video signal processing and typical video signal image processing system,I design a video image processing system diagram which is based on FPGA.It mainly consists of input modular,a video signal processing modular and the video signal output modular. Then introducing structure and function of each modular. The video input modular uses AD9983A video decoder chip to collect the analog video signal and convert it into a 8 bit RGB digital signal for FPGA, achieving
high video signal capture resolution; Video processing modular is mainly composed of LFE2M20SE chip which belong to Lattice companys ECP2M series, completing video signal segmentation and synthesis to meet the need of digital video signal processing; Video output modular send the signal after FPGA processing to ch7301,
and drive the output to a monitor.
There are a lot of Image segmentation algorithm. Segmentation
……(新文秘網(wǎng)http://jey722.cn省略3976字,正式會(huì)員可完整閱讀)……
176 144 25344
計(jì)算機(jī)圖形 QVGA 320 240 76800
廣播 CIF 352 288 101376
計(jì)算機(jī)圖形 VGA 640 480 307200
廣播 NTSC 720 480 345600
廣播 PAL 720 576 414720
計(jì)算機(jī)圖形 SVGA 800 600 480000
計(jì)算機(jī)圖形 *GA 1024 768 786432
廣播 HDTV 1280 720 921600
計(jì)算機(jī)圖形 S*GA 1280 1024 1310720
計(jì)算機(jī)圖形 U*GA 1600 1200 1920000
計(jì)算機(jī)圖形 Q*GA 2048 1536 3145728
表1 常見的屏幕分辨率和幀率的比較
隔行掃描方式源于早期的模擬電視廣播技術(shù), 這種技術(shù)需要對(duì)圖像進(jìn)行快速掃描,以便最大限度地降低視覺上的閃爍感,但是當(dāng)時(shí)可以運(yùn)用的技術(shù)并不能以如此之快的速度對(duì)整個(gè)屏幕進(jìn)行刷新。于是,將每幀圖像進(jìn)行“交錯(cuò)”排列或分為兩場(chǎng),一個(gè)由奇數(shù)掃描線構(gòu)成, 而另一個(gè)由偶數(shù)掃描線構(gòu)成。
NTSC/(PAL)的幀刷新速率設(shè)定為約 30/(25)幀/秒。于是,大片圖像區(qū)域的刷新率為 60(50)Hz,而局部區(qū)域的刷新率為 30(25)Hz,這也是出于節(jié)省帶寬的折中考慮,因?yàn)槿搜蹖?duì)大面積區(qū)域的閃爍更為敏感。
隔行掃描方式不僅會(huì)產(chǎn)生閃爍現(xiàn)象,也會(huì)帶來其它問題。例如,掃描線本身也常常可見。因?yàn)?NTSC 中每場(chǎng)信號(hào)就是 1/60s 時(shí)間間隔內(nèi)的快照,故一幅視頻幀通常包括兩個(gè)不同的時(shí)間場(chǎng)。當(dāng)正常觀看顯示屏?xí)r,這并不是一個(gè)問題,因?yàn)樗尸F(xiàn)的視頻在時(shí)間上是近似一致的。然而,當(dāng)畫面中存在運(yùn)動(dòng)物體時(shí),把隔行場(chǎng)轉(zhuǎn)換為逐行幀(即解交織過程),會(huì)產(chǎn)生鋸齒邊緣。解交織過程非常重要,因?yàn)閷⒁曨l幀作為一系列相鄰的線來處理,這將帶來更高的效率。
隨著數(shù)字電視的出現(xiàn),逐行(即非隔行)掃描已經(jīng)成為一種具有更高圖像品質(zhì)的流行的輸入和輸出視頻格式。在這種方式下,整幅圖像將從上到下依次刷新,其掃描速率約為相應(yīng)隔行系統(tǒng)的掃描速率的兩倍, 這消除了隔行掃描產(chǎn)生的許多弊病。在逐行掃描中,由兩場(chǎng)信號(hào)來表示一幀視頻的方式不再使用。
1.1.3視頻編碼格式ITU‐R BT.601 和 ITU‐R BT656。
每個(gè) BT.601 像素分量(Y、Cr 或 Cb)被量化為8或者10 bit 信息,NTSC 和PAL的有效視頻畫面中每行有 720 個(gè)像素。不過,它們?cè)诖怪狈直媛史矫娲嬖诓町悺?0 幀/s 的 NTSC 有 525 行(線)(包括垂直消隱或者回掃區(qū)),而PAL 有625 行線,25 幀/s 。
ITU-R BT.656 (前 CCIR-656) BT.601規(guī)劃了對(duì)視頻進(jìn)行數(shù)字編碼的方法, 而BT.656則實(shí)際定義了實(shí)施BT.601所必需的物理接口和數(shù)據(jù)流。它同時(shí)定
義了位并行和位串行模式。位并行模式只需要27MHz的時(shí)鐘(在NTSC 30 幀/s條件下)以及8或10條連線(具體取決于像素的分辨率)。所有的同步化信號(hào)都嵌入到數(shù)據(jù)流中,因此無需額外添加硬件連線。
圖1.1示出了ITU-R BT. 656中分別針對(duì)525/60 (NTSC) 和625/50(PAL) 系統(tǒng)的幀劃分方法的特性 。
行數(shù) F V H H
1-3,
311-312 1 1 1 0
23-310
264-282 0 1 1 0
20-263 0 0 1 0
283-525 1 0 1 0
垂直消隱
場(chǎng)1 有效視頻
垂直消隱
場(chǎng)2 有效數(shù)據(jù)
525
垂直消隱
場(chǎng)1 有效視頻
垂直消隱
場(chǎng)2 有效數(shù)據(jù)
垂直消隱
行數(shù) F V H H
1-22,
266-282 0 1 1 0
4-19 0 0 1 0
313-315
624-625 1 1 1 0
336-623 1 0 1 0
1
圖1.1 ITU-RBT.656幀劃分
在BT.656標(biāo)準(zhǔn)中,水平(H) 、垂直(V)和場(chǎng)(F)信號(hào)作為嵌入到視頻數(shù)據(jù)流中的一串字節(jié)來發(fā)送,這一串字節(jié)構(gòu)成了一個(gè)控制字。有效視頻起點(diǎn)(SAV)和有效視頻終點(diǎn)(EAV)信號(hào)指示了每行讀入的數(shù)據(jù)單元的開始和結(jié)束。SAV出現(xiàn)在H發(fā)生1-0切換時(shí),EAV出現(xiàn)在H發(fā)生0-1切換時(shí)。 整個(gè)視頻場(chǎng)由有效的視頻+水平消隱(EAV和SAV代碼之間的空間)以及垂直消隱(V=1的空間)組成。
視頻的場(chǎng)從F位的切換開始。 “奇數(shù)場(chǎng)”由F=0表示,而F=1則表示偶數(shù)場(chǎng)。逐行掃描的視頻并不區(qū)分場(chǎng)1和場(chǎng)2, 而隔行掃描的視頻則要求專門對(duì)每個(gè)場(chǎng)進(jìn)行獨(dú)立的處理,因?yàn)槊總(gè)場(chǎng)交替的掃描行組合起來最終形成實(shí)際的視頻圖像。
8-bit Data 10-bitData
D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
Preamble 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
Control Byte 1 F V H P3 P2 P1 P0 0 0
表2更為詳細(xì)地示出了SAV和EAV代碼。請(qǐng)注意,視頻數(shù)據(jù)有一個(gè)由三個(gè)字節(jié)構(gòu)成的前導(dǎo)碼(8bit視頻是0*FF, 0*00,0*00,,而10bit視頻則是0*3FF, 0*000, 0*000),后面跟隨著*Y狀態(tài)字,這個(gè)字除了包含F(xiàn)(場(chǎng)), V(垂直消隱) 和 H (水平消隱)位之外,還包含了4個(gè)保護(hù)位,以實(shí)現(xiàn)單位錯(cuò)誤的檢測(cè)和糾正。請(qǐng)注意,F(xiàn)和V只能作為EAV序列的一部分來變化(即,從H = 0切換到H = 1)。請(qǐng)注意,對(duì)于10bit視頻來說,增加的兩位實(shí)際上是最低位,而不是最高位。
表2 SAV/EAV前導(dǎo)碼
•F = 0 ,場(chǎng) 1 •F = 1, 場(chǎng) 2
•V = 1 垂直消隱期間 •V = 0 未在垂直消隱期內(nèi)
•H = 0 SAV •H = 1 EAV
•P3 = V *OR H •P2 = F *OR H
•P1 = F *OR V •P0 = F *OR V *OR H
1.1.4視頻信號(hào)的處理過程
一幅平面圖像可以看成是由許許多多的小單元組成,在圖像處理系統(tǒng)中,這些組成畫面的細(xì)小單元稱為像素。像素越小,單位面積上的像素?cái)?shù)目就越多,由
其構(gòu)成的圖像就越清晰。電視系統(tǒng)中把構(gòu)成一幅圖像的各像素傳送一遍稱為進(jìn)行了一個(gè)幀處理,或稱為傳送了一幀。將組成一幀圖像的像素,按順序轉(zhuǎn)換成電信號(hào)的過程稱為掃描。在PAL制中,圖像掃描是隔行的,即一幀圖像分兩次掃描,
掃描到的兩幅圖像分別稱作奇數(shù)場(chǎng)和偶數(shù)場(chǎng)。視頻圖像信號(hào)的處理過程就是拍攝視頻信號(hào)的逆過程。攝像頭輸出的是標(biāo)準(zhǔn)PAL制電視信號(hào)。攝像頭通過光電轉(zhuǎn)換實(shí)現(xiàn)圖像到視頻信號(hào)的轉(zhuǎn)換,也就是掃描的過程。攝像頭每掃描一行圖像,加入一個(gè)行脈沖,每掃描完一場(chǎng)圖像加入一個(gè)場(chǎng)同步信號(hào)。同時(shí)為了保證掃描逆程光柵不顯示,應(yīng)加入和同步信號(hào)同周期的消隱信號(hào)。對(duì)視頻信號(hào)進(jìn)行處理,需要先進(jìn)行A/D轉(zhuǎn)換、行/場(chǎng)同步信號(hào)的分離等步驟。采用專用的視頻信號(hào)進(jìn)行轉(zhuǎn)換,然后再啟用工具處理數(shù)字圖像信號(hào)并得到需要的結(jié)果。最后將結(jié)果用適當(dāng)?shù)姆绞竭M(jìn)行傳輸。
視頻信號(hào)處理流程如下圖1.2所示。
圖1.2 視頻信號(hào)處理基本流程
PAL制電視信號(hào)轉(zhuǎn)化為數(shù)字視頻信號(hào)后,控制信號(hào)有三個(gè):場(chǎng)參考電壓信號(hào)VREF,行參考電壓信號(hào)HREF,奇偶場(chǎng)信號(hào)ODD。VREF高電平表示有效圖像信號(hào)。ODD信號(hào)高電平表示為奇數(shù)場(chǎng),低電平表示偶數(shù)場(chǎng)。H REF信號(hào)表示一行有效的圖像數(shù)據(jù),一行圖像數(shù)據(jù)包括720個(gè)像素。
1.2視頻圖像分割處理系統(tǒng)設(shè)計(jì)
系統(tǒng)結(jié)構(gòu)如圖1.3所示,從系統(tǒng)結(jié)構(gòu)圖可以看出,系統(tǒng)主要包括視頻信號(hào)輸入模塊,視頻信號(hào)處理模塊和視頻信號(hào)輸出模塊等3個(gè)部分組成。各個(gè)模塊主要功能為:視頻輸入模塊將采集的多路視頻信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)送到FPGA;視頻處理模塊主要由FPGA完成,根據(jù)需要對(duì)輸入的數(shù)字視頻信號(hào)進(jìn)行處理;視頻輸出模塊將FPGA處理后的信號(hào)輸出到顯示器。
實(shí)際電路板如下圖所示:
第二章 具體電路設(shè)計(jì)分析
2.1視頻源
本電路由兩個(gè)VGA接口輸入模擬視頻信號(hào),VGA接口是一種D型接口,上面共有15針空,分成三排,每排五個(gè)。VGA接口是顯卡上應(yīng)用最為廣泛的接口類型,
多數(shù)的顯卡都帶有此種接口。接口實(shí)物圖及引腳定義如表1所示:
管腳 定義
1 紅基色red
2 綠基色green
3 藍(lán)基色blue
4 地址碼ID Bit(也有部分是RES,或者為ID2顯示器標(biāo)示位2)
5 自測(cè)試(一般為GND)
6 紅地
7 綠地
8 藍(lán)地
9 保留
10 數(shù)字地
11 地址碼(ID0顯示器標(biāo)示位0)
12 地址碼(ID1顯示器標(biāo)示位1)
13 行同步
14 場(chǎng)同步
15 地址碼(ID3顯示器標(biāo)示位3)
模式 場(chǎng)掃描時(shí)序
刷新速率 像素時(shí)間 場(chǎng)周期 同步脈沖 后肩 有效時(shí)間 前肩
Pi*
width Frame
period Sync
pulse Back
porch Active
time Front
porth
O P Q R S
Hz us us lin us lin us lin us lin us lin
640*480 60 0.039683 16667 525 63 2 952 30 15365 484 286 9
640*480 72 0.032103 13889 520 80 3 694 26 12927 484 187 7
720*400 70 0.035352 14286 449 64 2 1018 32 12854 404 350 11
720*350 70 0.035352 14286 449 64 2 1814 57 11263 354 1145 36
800*600 56 0.027902 17857 625 57 2 571 20 17257 604 - -1
800*600 60 0.025132 16667 628 106 4 557 21 16030 604 - -1
800*600 72 0.020052 13889 666 125 6 438 21 12596 604 730 35
640*480 75 0.031746 13333 525 51 2 762 30 12292 484 229 9
640*480 66 0.033403 15152 525 87 3 1068 37 13968 484 29 1
模式 行掃描時(shí)序
分辨率 刷新
速率 像素
時(shí)間 行周期 同步脈沖 后肩 有效時(shí)間 前沿
A B C D E
Hz us us pi* us pi* us pi* us pi* us pi*
640*480 60 0.039683 31.75 800 3.81 96 1.786 45 25.635 646 0.516 13
640*480 72 0.032103 26.71 832 1.28 40 4.013 125 20.738 646 0.674 21
720*400 70 0.035352 31.82 900 3.82 108 1.803 51 25.666 726 0.530 15
720*350 70 0.035352 31.82 900 3.82 108 1.803 51 25.666 726 0.530 15
800*600 56 0.027902 28.57 1024 2.01 72 3.488 125 22.489 806 0.586 21
800*600 60 0.025132 26.54 1056 3.22 128 2.136 85 20.256 806 0.930 37
800*600 72 0.020052 20.85 1040 2.42 120 1.223 61 16.162 806 1.063 53
640*480 75 0.031746 25.40 800 3.05 96 1.429 45 20.508 646 0.413 13
640*480 66 0.033403 28.86 864 2.14 64 3.106 93 21.578 646 2.038 61
下面選一種最常用的VGA(640*480,60 Hz)圖像格式的信號(hào)時(shí)序來分析解釋:
(1)場(chǎng)掃描(又稱為“垂直掃描” )周期
場(chǎng)掃描周期TVSYNC是指顯示器掃描一幀完整畫面需要的時(shí)間。該周期通過Vsync場(chǎng)同步信號(hào)來同步。每場(chǎng)有一個(gè)低電平場(chǎng)同步脈沖,該脈沖的寬度tWV=63μs(2行)。場(chǎng)周期=1s/60hz=16.683ms,每場(chǎng)525行(line)。其中480行(有些資料為484行)為有效顯示行,45行(有些資料為41行)為場(chǎng)消隱期。場(chǎng)消隱期包括場(chǎng)同步時(shí)間(低電平場(chǎng)同步脈沖)tWV(2行)、場(chǎng)消隱前肩(又稱“前沿”)tHV(13行)(有些資料為9行)、場(chǎng)消隱后肩(又稱“后沿”)tVH(30行),共45行。
(2)行掃描(又稱為“水平掃描”)周期
行掃描周期THSYNC是指顯示器掃描一行需要的時(shí)間。該周期通過Hsync行同步信號(hào)來同步。每行有一個(gè)低電平行同步脈沖,該脈沖的寬度tWH=3.81μs(96像素)。行周期=16.683ms/525行=31.78μs,每行800像素(pi*)。其中640像素(有些資料為646像素)為有效顯示區(qū),160像素(有些資料為154像素)為行消隱期。行消隱期包括行同步時(shí)間(低電平行同步脈沖)tWH(96像素),行消隱前肩(又稱“前沿”)tHC(19像素)(有些資料為13像素)和行消隱后肩(又稱“后沿”)tCH(45像素),共160像素。
(3)復(fù)合消隱信號(hào)
復(fù)合消隱信號(hào)是行消隱信號(hào)和場(chǎng)消隱信號(hào)的邏輯與,在有效顯示期復(fù)合消隱信號(hào)為高電平,在非顯示區(qū)域它是低電平。
2.2視頻輸入模塊
2.2.1 模數(shù)轉(zhuǎn)換器AD9983
2.2.1.1主用芯片簡(jiǎn)介
AD9983(以下簡(jiǎn)稱AD,如圖2.1)為美國(guó)Analog Devices公司生產(chǎn)的3路8位模數(shù)轉(zhuǎn)換器件,最大轉(zhuǎn)換率達(dá)170MS/s(百萬(wàn)次采樣/每秒),多用于捕獲個(gè)人計(jì)算機(jī)或
工作站的RGB信號(hào)。近年來,在視頻信號(hào)處理領(lǐng)域得到廣泛的應(yīng)用。AD內(nèi)含60個(gè)寄存器00H-3CH,用來對(duì)AD進(jìn)行初始化和控制。針對(duì)不同的應(yīng)用環(huán)境,這些寄
圖2.1 AD9983
存器需寫入相應(yīng)的值,才能使AD正常工作。AD的初始化是其工程應(yīng)用的前提。AD初始化過程依靠AD9983的SDA(Pin 66)和SCL(Pin67)引腳進(jìn)行,時(shí)序符合I2C總線的時(shí)序標(biāo)準(zhǔn)。我們可直接采用帶有I2C總線接口的單片機(jī)對(duì)AD進(jìn)行初始化,但是目前帶有I2C總線接口的單片機(jī)數(shù)量較少并且價(jià)格普遍較高。對(duì)于不帶I2C總線接口的單片機(jī),我們可以采用模擬I2C總線技術(shù)使用其普通I/O口來模擬I2C總線時(shí)序,實(shí)現(xiàn)對(duì)外圍器件的讀、寫操作。
2.2.1.2 、I2C總線傳輸協(xié)議簡(jiǎn)介
I2C是Philips公司推出的芯片間串行傳輸總線,以兩根連線(SDA和SCL)即可實(shí)現(xiàn)完善的全雙工同步數(shù)據(jù)傳送,具有規(guī)范完整、結(jié)構(gòu)獨(dú)立和使用簡(jiǎn)單等特點(diǎn)。I2C總線的時(shí)鐘線SCL和數(shù)據(jù)線SDA均為雙向傳輸線。數(shù)據(jù)線上每傳輸一位數(shù)據(jù)都要求時(shí)鐘線上有1個(gè)時(shí)鐘脈沖與其相對(duì)應(yīng)。
I2C總線數(shù)據(jù)傳送包括三種重要的時(shí)序狀態(tài)起始信號(hào)、終止信號(hào)和應(yīng)答信號(hào):
起始信號(hào):在時(shí)鐘線保持高電平期間,數(shù)據(jù)線出現(xiàn)由高電平向低電平變化時(shí)啟動(dòng)I2C總線;
終止信號(hào):在時(shí)鐘線保持高電平期間,數(shù)據(jù)線出現(xiàn)由低電平向高電平變化時(shí)停止I2C總線;
應(yīng)答信號(hào):I2C總線數(shù)據(jù)傳送時(shí),每傳送一個(gè)字節(jié)數(shù)據(jù)后都必須有應(yīng)答信號(hào),應(yīng)答信號(hào)在第9個(gè)時(shí)鐘位上出現(xiàn),接收器輸出低電平為應(yīng)答信號(hào)(A),輸出高電平則為非應(yīng)答信號(hào)(/A)。
2.2.1.3、AD進(jìn)行初始化
采用單片機(jī)MSP430F135對(duì)AD進(jìn)行初始化,必須解決以下幾個(gè)問題:首先是產(chǎn)生I2C總線的時(shí)鐘信號(hào);其次是實(shí)現(xiàn)I2C總線的開始信號(hào)、停止信號(hào)、位傳輸信號(hào)和判斷應(yīng)答信號(hào);再次是要確定AD9983A不同寄存器的設(shè)置數(shù)據(jù)。
1、I2C總線時(shí)鐘的產(chǎn)生
一般情況下,F(xiàn)PGA的時(shí)鐘頻率較高,常為幾十MHz,而I2C總線的時(shí)鐘頻率為幾百kHz,用圖2.2的方式可借助于FPGA的時(shí)鐘獲得I2C總線的時(shí)鐘。需要說明的是,圖中工作時(shí)鐘的頻率應(yīng)為I2C總線時(shí)鐘頻率的M倍。這是因?yàn)橄到y(tǒng)中的任何一個(gè)I2C總線上的信號(hào)都是用M個(gè)工作時(shí)鐘的周期來完成,而D觸發(fā)器則是為了確保工作時(shí)鐘的占空比為50%而設(shè)計(jì)的。【11】
圖2.2 12C總線時(shí)鐘產(chǎn)生圖
假設(shè)FPGA時(shí)鐘為125MHz,I2C總線時(shí)鐘為200 kHz,M為8,則工作時(shí)鐘為1.6 MHz,再考慮到D觸發(fā)器相當(dāng)于2分頻,則
N= 125MHz/(200 kHz*8*2) = 391
2、關(guān)鍵信號(hào)的產(chǎn)生和傳輸
根據(jù)前面對(duì)I2C總線開始信號(hào)的討論,利用8個(gè)工作時(shí)鐘產(chǎn)生一個(gè)I2C總線信號(hào),很容易設(shè)計(jì)出I2C總線的開始信號(hào)。即規(guī)定:第1個(gè)脈沖上升沿到第3個(gè)脈沖上升沿之間,SCL為低、SDA為高;第3個(gè)脈沖上升沿到第5個(gè)脈沖上升沿之間,SCL為高、SDA為高;第5個(gè)脈沖上升沿到第7個(gè)脈沖上升沿之間,SCL為高、SDA為低;第7個(gè)脈沖上升沿到第9個(gè)脈沖上升沿之間,SCL為低、SDA為低。這樣經(jīng)過8個(gè)脈沖周期,就可產(chǎn)生一個(gè)開始信號(hào)!11】
停止信號(hào)也很容易照此設(shè)計(jì),在此不再累贅。
而對(duì)于數(shù)據(jù)bit位的傳輸,根據(jù)I2C總線規(guī)范要求,在數(shù)據(jù)位的傳輸過程中,
SDA信號(hào)在SCL信號(hào)為高電平期間不容許發(fā)生跳變,可用SCL高電平期間的前、后各1個(gè)脈沖來作為數(shù)據(jù)的建立時(shí)間和保持時(shí)間。由此得到如圖6所示的數(shù)據(jù)bit的傳輸設(shè)計(jì)。
3、 AD9983A寄存器的設(shè)置
對(duì)AD9983A進(jìn)行初始化本質(zhì)上是對(duì)AD9983A內(nèi)部的每個(gè)寄存器的每一位寫入相應(yīng)的數(shù)值,AD9983A其中每個(gè)寄存器都有一個(gè)子地址。在對(duì)多個(gè)連續(xù)的寄存器進(jìn)行操作時(shí),寄存器地址有自動(dòng)加1功能,所以確定第1個(gè)子地址后,可以不考慮地址的變化,順序?qū)懭敫骷拇嫫鞯臄?shù)值即可實(shí)現(xiàn)寄存器的連續(xù)設(shè)置。另外,在對(duì)AD9983A初始化時(shí),還需要確定從地址,而從地址由硬件連接圖決定,當(dāng)芯片引腳A0(pin22)信號(hào)是低電平時(shí),表示AD9983A的寫地址為4CH。芯片的各個(gè)寄存器的意義可以參考附錄AD9983A的文檔資料 ……(未完,全文共62086字,當(dāng)前僅顯示11167字,請(qǐng)閱讀下面提示信息。
收藏《畢業(yè)論文:基于fpga的視頻圖像分割技術(shù)—系統(tǒng)設(shè)計(jì)》)