




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 本科生畢業(yè)論文(設(shè)計(jì)) 題目:基于 saa7113 的圖像灰度 信息采集系統(tǒng) 學(xué) 院 電子信息工程學(xué)院 學(xué)科門類 工學(xué) 專 業(yè) 通信工程 學(xué) 號(hào) 2005444175 姓 名 鄧學(xué)群 指導(dǎo)教師 田曉燕 裝 訂 線 2009 年 05 月 15 日 基于基于 saa7113saa7113 的圖像灰度信息采集系統(tǒng)的圖像灰度信息采集系統(tǒng) 摘摘 要要 針對(duì)目前視頻圖像采集數(shù)據(jù)量大時(shí),處理速度慢,執(zhí)行效率低的問(wèn)題。本論文提出 了基于 saa7113 的圖像灰度信息采集系統(tǒng)。本系統(tǒng)由 fpga 作為圖像采集的主要控制部分, 完成圖像的預(yù)處理。fpga 由于其在完成復(fù)雜邏輯運(yùn)算時(shí)的優(yōu)異表現(xiàn),成為系統(tǒng)控制芯
2、片 的首選。saa7113 則作為視頻轉(zhuǎn)換芯片,它把采集到的模擬轉(zhuǎn)換成數(shù)字信號(hào)提供給后級(jí)處 理芯片,是此系統(tǒng)必不可少的一部分。 本文主要闡述了圖像采集系統(tǒng)的總體構(gòu)成,詳細(xì)討論了 fpga 內(nèi)部邏輯的設(shè)計(jì),介紹 了 saa7113 圖像編碼芯片在圖像處理系統(tǒng)中的應(yīng)用。fpga 內(nèi)部邏輯設(shè)計(jì)是本文的重點(diǎn)和 核心。在對(duì) saa7113 初始化時(shí),要通過(guò) i2c 進(jìn)行初始化,因此詳細(xì)介紹了 i2c 總線,并在 fpga 內(nèi)部模擬 i2c 總線控制器。 通過(guò)實(shí)際的運(yùn)行,證明了該設(shè)計(jì)實(shí)現(xiàn)簡(jiǎn)單,運(yùn)行良好,基本可以滿足圖像采集的要 求。 關(guān)鍵詞關(guān)鍵詞:圖像采集;可編程邏輯器件;i2c;vhdl abstrac
3、t video image acquisition for the current large volume of data, the processing speed slow, the problem of low efficiency, this paper presents the saa7113-based image acquisition system information. the system as the image acquisition by the fpga to control the main part of the pre-treatment image. f
4、pga as a result of its complex logic operations at the time of performance, becoming the first choice for system control chips. saa7113 chip as video conversion, it collected into the analog to digital signal processing chips after the class is an essential part of this system. fpga in the system as
5、 the main image collection control part and complete image acquisition .becasue of the outstanding performance in complex logic operation ,fpga becomhing the peferred system contol chip.this paper described the overall image acquisition system consists detailed discussed the fpgas internal logic des
6、ign intorduced the saa7113 image decoding chips applicationgs in image processing ststem .the fpgas internal logic design is the focus and core in this paper .during the initialization of the saa7113,it will use the i2c .so it described the detail of i2c bus ,and simulation i2c bus controller within
7、 the fpga . through the actual operation,it proved that the design ang implem entation is simple ,better operation and can meet the requirements of the real-time image acquisition. keywords: image acquisition fpga i2c vhdl 目目 錄錄 一 引 言 .1 1 1.1 圖像采集系統(tǒng)的發(fā)展.1 1.2 圖像采集系統(tǒng)的應(yīng)用.1 1.3 本論文主要工作.2 二 開發(fā)工具簡(jiǎn)介.3 3 2
8、.1 fpga 的開發(fā)流程及使用的工具5-9.3 2.1.1 fpga 的開發(fā)流程.3 2.1.2 fpga 開發(fā)工具.4 2.2 signaltap 簡(jiǎn)介及使用流程.4 三 視頻編碼芯片部分設(shè)計(jì).5 5 3.1 視頻芯片介紹.5 3.1.1 saa7113 基本原理.5 3.1.2 saa7113 主要功能及特點(diǎn).6 3.1.3 saa7113 內(nèi)部結(jié)構(gòu)圖.6 3.1.4 saa7113 工作流程.7 3.2 i2c 總線介紹.8 3.2.1 i2c 總線的工作原理.8 3.2.2 i2c 總線的通信時(shí)序.8 3.3 本章總結(jié).9 四視頻圖像采集模塊設(shè)計(jì).1010 4.1 采集模塊實(shí)現(xiàn)框圖.
9、10 4.2 視頻采集芯片 saa7113 初始化.10 4.2.1 saa7113 的寄存器的介紹.10 4.2.2 saa7113 初始化及數(shù)據(jù)采集模塊.14 4.3 本章總結(jié).22 五 全文工作總結(jié)及未來(lái)展望.2323 5.1 本文工作總結(jié).23 5.2 未來(lái)展望.23 謝 辭.2424 參考文獻(xiàn).2525 一 引 言 1.1 圖像采集系統(tǒng)的發(fā)展 早在本世紀(jì) 20 年代,人們利用巴特藍(lán)(bartlane)電纜圖片傳輸系統(tǒng),經(jīng) 過(guò)大西洋傳送了第一幅數(shù)字圖像。隨后人們始終對(duì)圖像處理技術(shù)和它的各種應(yīng)用 懷有濃厚的興趣,并對(duì)提高圖像質(zhì)量的技術(shù)進(jìn)行了探索,這種努力一直持續(xù)到 40 年后。1964
10、年,美國(guó)噴射推進(jìn)實(shí)驗(yàn)室(jpl)進(jìn)行太空探測(cè)工作,他們對(duì)航天探 測(cè)器徘徊者 7 號(hào)在 1964 年發(fā)回的幾千張?jiān)虑蛘掌?,使用圖像處理技術(shù),如幾何 校正、灰度變換、去除噪聲等方法進(jìn)行處理,并考慮了太陽(yáng)位置和月球環(huán)境的影 響,由計(jì)算機(jī)成功地繪制出月球表面地圖,獲得了巨大成功。在以后的宇航空間 技術(shù)中,如對(duì)火星、土星等星球的探測(cè)研究中,數(shù)字圖像處理技術(shù)都發(fā)揮了巨大 的作用。 到了 70 年代,圖像處理技術(shù)在空間遙感領(lǐng)域中的應(yīng)用研究所取得的巨大成 就,引起了世界各國(guó)的廣泛關(guān)注。數(shù)字圖像處理取得的另一個(gè)巨大成就是在醫(yī)學(xué) 上獲得的成果。1972 年英國(guó) emi 公司工程師 housfield 發(fā)明了用于頭
11、顱診斷的 x 射線計(jì)算機(jī)斷層攝影裝置,簡(jiǎn)稱 ct(computertomograph) 。ct 的基本方法是根 據(jù)人的頭部截面的投影,經(jīng)計(jì)算機(jī)處理來(lái)重建截面圖像,稱為圖像重建。1975 年 emi 公司又成功研制出全身用的 ct 裝置,獲得了人體各個(gè)部位鮮明清晰的斷 層圖像。1979 年,這項(xiàng)無(wú)損傷診斷技術(shù)獲得了諾貝爾獎(jiǎng),說(shuō)明它對(duì)人類做出了劃 時(shí)代的貢獻(xiàn)。 從 20 世紀(jì) 70 年代中期開始,隨著計(jì)算機(jī)技術(shù)和人工智能、思維科學(xué)研究的 迅速發(fā)展,數(shù)字圖像處理向更高、更深層次發(fā)展。很多國(guó)家,特別是發(fā)達(dá)國(guó)家投 入更多的人力、物力研究計(jì)算機(jī)視覺(圖像理解)領(lǐng)域,取得了不少重要的研究 成果。其中代表性的
12、成果是 20 世紀(jì) 70 年代末 mit 的 marr 提出的視覺計(jì)算理論, 這個(gè)理論成為計(jì)算機(jī)視覺領(lǐng)域其后十多年的主導(dǎo)思想。 這里特別要指出,從 20 世紀(jì) 90 年代以來(lái),計(jì)算智能信息處理技術(shù)獲得了飛 速的發(fā)展,它在數(shù)字圖像處理和計(jì)算機(jī)視覺領(lǐng)域中獲得了越來(lái)越廣泛的應(yīng)用,取 得了許多引人注目的突破性成果。這些成果不僅推動(dòng)了計(jì)算智能信息處理技術(shù)的 進(jìn)一步發(fā)展,而且給數(shù)字圖像處理和計(jì)算機(jī)視覺開辟了不少新的研究領(lǐng)域。 1.2 圖像采集系統(tǒng)的應(yīng)用 圖像信息是人類獲取的最重要的信息之一,圖像采集在數(shù)字圖像處理、圖像 識(shí)別等領(lǐng)域應(yīng)用十分廣泛??梢詮囊韵聨讉€(gè)方面來(lái)體現(xiàn): (1)在通信領(lǐng)域的應(yīng)用。當(dāng)前通信的
13、主要發(fā)展方向是聲音、文字、圖像和數(shù) 據(jù)相結(jié)合的多媒體通信,其中以視頻圖像通信最為復(fù)雜和困難,因?yàn)槠?數(shù)據(jù)量十分巨大,如傳送彩色電視信號(hào)的速率達(dá) 100mb/s 以上。要將這 樣高的速率的數(shù)據(jù)實(shí)時(shí)傳送出去,必須采用圖像壓縮編碼技術(shù)。 (2)在生物醫(yī)學(xué)領(lǐng)域的應(yīng)用。它的直觀、無(wú)創(chuàng)傷、安全方便等優(yōu)點(diǎn)受到了人 們的普遍歡迎和接受。除了最成功的 x 射線、ct 技術(shù)之外,還有一類是 對(duì)醫(yī)用顯微圖像的處理分析,即自動(dòng)細(xì)胞分析儀,如紅細(xì)胞、白細(xì)胞分 類,染色體分析、癌細(xì)胞識(shí)別以及超聲波圖像的分析等。圖像采集卡可 以用于 b 超、ct、病理分析等; (3)在軍事、公安領(lǐng)域的應(yīng)用。在軍事方面主要用于導(dǎo)彈的精確制導(dǎo)
14、、具有 圖像、傳輸、存儲(chǔ)和顯示的軍事自動(dòng)化、指揮系統(tǒng)等;在公安業(yè)務(wù)方面 實(shí)時(shí)監(jiān)控、案件偵破、指紋識(shí)別、人臉識(shí)別、虹膜識(shí)別以及交通流量監(jiān) 控、銀行防盜等。特別是目前已全面投入運(yùn)行的高速公路不停車自動(dòng)收 費(fèi)系統(tǒng)中的車輛和車牌的自動(dòng)識(shí)別4。 1.3 本論文主要工作 本論文主要圍繞圖像的采集部分,在研究了所選用 fpga 的基礎(chǔ)上,按照系 統(tǒng)的要求,完成視頻編碼芯片的初始化,以及 fpga 內(nèi)部邏輯的設(shè)計(jì)和驗(yàn)證。本 文圍繞圖像采集系統(tǒng)的研究將做如下的工作: (1)學(xué)習(xí)了解 fpga 器件的基本原理和特點(diǎn),掌握 fpga 的設(shè)計(jì)流程,學(xué)習(xí)硬件 描述語(yǔ)言和設(shè)計(jì)技巧。 (2)通過(guò)分析系統(tǒng),完成 fpga 控
15、制邏輯的設(shè)計(jì)和編寫。 (3)研究圖像編碼芯片,完成圖像采集芯片的初始化。 論文的主要內(nèi)容如下: 第一章對(duì)數(shù)字圖像處理的應(yīng)用和發(fā)展, 介紹了 fpga 的開發(fā)流程和使用的開 發(fā)工具,為后面的章節(jié)做準(zhǔn)備。 第二章主要對(duì)圖像采集系統(tǒng)的整體構(gòu)造做了介紹,同時(shí)還制定了系統(tǒng)要達(dá)到 的性能指標(biāo)。 第三章研究了視頻編碼芯片 saa7113,和初始化時(shí)用到的 i2c 協(xié)議做了詳細(xì) 的介紹,為后面 fpga 初始化 saa7113 做準(zhǔn)備。 第四章為論文的重點(diǎn),本章對(duì) fpga 進(jìn)行設(shè)計(jì),完成了 saa7113 的初始化, 圖像采集的設(shè)計(jì),對(duì)各個(gè)模塊進(jìn)行了詳細(xì)的介紹。 第五章是對(duì)全文的工作進(jìn)行總結(jié),并提出了進(jìn)一步
16、工作的設(shè)想。 二 開發(fā)工具簡(jiǎn)介 2.1 fpga 的開發(fā)流程及使用的工具5-9 fpga 設(shè)計(jì)流程分為設(shè)計(jì)規(guī)范、設(shè)計(jì)輸入、功能仿真、綜合設(shè)計(jì)、布局布線、 時(shí)序仿真、下載驗(yàn)證等步驟。 2.1.1 fpga 的開發(fā)流程 (1)設(shè)計(jì)輸入 設(shè)計(jì)輸入是 cpld/fpga 開發(fā)階段的第一步,他完成了器件的硬件描述。設(shè)計(jì) 輸入包括使用硬件描述語(yǔ)言(hdl)、原理圖輸入兩種方式。hdl 輸入方式現(xiàn)今設(shè)計(jì) 大規(guī)模數(shù)字集成電路的良好形式,主要的硬件描述語(yǔ)言有 vhdl 與 verilong hdl 兩種形式,hdl 描述在狀態(tài)機(jī)、控制邏輯、總線功能方面較強(qiáng)。而原理圖輸入在 頂層設(shè)計(jì)、數(shù)據(jù)通路邏輯、手工最優(yōu)化電路
17、等方面具有圖形化強(qiáng)、便于理解、單 元節(jié)省等特點(diǎn)。 (2)功能和時(shí)序仿真 功能仿真是用戶所設(shè)計(jì)的電路在綜合之前首先進(jìn)行邏輯功能的驗(yàn)證,只是初 步驗(yàn)證系統(tǒng)的邏輯功能。它可以在設(shè)計(jì)初期糾正設(shè)計(jì)中的錯(cuò)誤,一般來(lái)說(shuō),每一 層原理圖、每一個(gè)用戶自生成模塊都要進(jìn)行功能仿以便及時(shí)發(fā)現(xiàn)錯(cuò)誤。 時(shí)序仿真是在對(duì)設(shè)計(jì)進(jìn)行映射、布局布線之后進(jìn)行的,這時(shí)有關(guān)的器件延遲、 連線延遲等時(shí)序參數(shù)被提取,生成延遲文件,并將延遲文件反應(yīng)到仿真模型中去。 如果仿真結(jié)果顯示由于延時(shí)影響而造成邏輯錯(cuò)誤,就需要在設(shè)計(jì)輸入時(shí)對(duì)關(guān)鍵電 路進(jìn)行設(shè)計(jì)約束,最終消除延時(shí)對(duì)電路的影響。 (3)綜合設(shè)計(jì) 綜合就是針對(duì)給定的電路實(shí)現(xiàn)功能和實(shí)現(xiàn)此電路的約束
18、條件,如速度、功耗 及電路類型等,通過(guò)計(jì)算機(jī)進(jìn)行優(yōu)化,獲得一個(gè)滿足上述要求的電路設(shè)計(jì)方案, 綜合過(guò)程是把設(shè)計(jì)實(shí)現(xiàn)到芯片中的過(guò)程,把設(shè)計(jì)分割、映射、布局到器件的各個(gè) 功能。整個(gè)過(guò)程為:網(wǎng)表的轉(zhuǎn)換-映射-布局布線-產(chǎn)生時(shí)序數(shù)據(jù)-產(chǎn)生配置文件 5 個(gè)步驟。 (4)下載驗(yàn)證 下載是在功能仿真與時(shí)序仿真正確的前提下,將綜合形成的位流下載到具體 的 fpga 芯片中,也叫芯片配置。將 fpga 配置信息加載到 fpga 內(nèi)部后,通過(guò)外 部觀測(cè)設(shè)備來(lái)驗(yàn)證 fpga 實(shí)現(xiàn)的功能。通過(guò)下載驗(yàn)證后,可認(rèn)為基于 fpga 的系統(tǒng) 設(shè)計(jì)任務(wù)基本完成。 2.1.2 fpga 開發(fā)工具 開發(fā)工具是開發(fā)人員和 fpga 之
19、間聯(lián)系的橋梁和紐帶,是開發(fā) fpga 不可缺少 的工具?,F(xiàn)在 fpga 開發(fā)工具有很多,如 maxplus ii、quartus ii、xilinx 公司 的 ise 等,這些開發(fā)環(huán)境都是由 fpga 的芯片廠家提供的,基本上都可以完成所 有的設(shè)計(jì)輸入,仿真,綜合,布線下載等工作。本設(shè)計(jì)采用了前兩種環(huán)境, maxplus ii 和 quartus ii。 maxplus ii 是美國(guó) altera 公司自行設(shè)計(jì)的一種 cae 軟件工具,它使用起來(lái) 方便快捷,入門快,便于操作和上手,是新學(xué)者的首選。所以本設(shè)計(jì)的前期程序 的編寫采用了此款軟件。 quartus ii 設(shè)計(jì)軟件提供了完全集成切與電路
20、結(jié)構(gòu)無(wú)關(guān)的開發(fā)包環(huán)境,它提 供了數(shù)字邏輯設(shè)計(jì)所需的全部特性。另外,它所提供的仿真環(huán)境也是 maxplus ii 所不具備的,在不餓設(shè)計(jì)的實(shí)測(cè)階段采用的是 quartus ii 軟件。利用此軟件能 夠讀出寄存器的值,從而很好的觀察試驗(yàn)情況。 2.2 signaltap 簡(jiǎn)介及使用流程 隨著 fpga 容量的增大,fpga 的設(shè)計(jì)日益復(fù)雜,設(shè)計(jì)調(diào)試成為一個(gè)很繁重的 任務(wù)。伴隨著 eda 工具的快速發(fā)展,一種新的調(diào)試工具 quartus ii 中的 signaltap ii 滿足了 fpga 開發(fā)中硬件調(diào)試的要求。 signaltap ii 將邏輯分析模塊嵌入到 fpga 中,邏輯分析模塊對(duì)待測(cè)節(jié)點(diǎn)
21、的 數(shù)據(jù)進(jìn)行捕獲,數(shù)據(jù)通過(guò) jtag 接口從 fpga 傳送到 quartus ii 軟件中顯示。 在完成設(shè)計(jì)并編譯工程后,建立 signaltap ii (.stp)文件并加入工程、配 置 stp 文件、編譯并下載設(shè)計(jì)到 fpga、在 quartus ii 軟件中顯示被測(cè)信號(hào)的波 形、在測(cè)試完畢后將該邏輯分析儀從項(xiàng)目中刪除,配置 signaltap ii 文件主要 有設(shè)計(jì)人員在完成設(shè)計(jì)并編譯工程后,建立 signaltap ii (.stp)文件并加入工 程、配置 stp 文件、編譯并下載設(shè)計(jì)到 fpga、在 quartus ii 軟件中顯示被測(cè)信 號(hào)的波形、在測(cè)試完畢后將該邏輯分析儀從項(xiàng)目
22、中刪除。設(shè)置 signaltap ii 文 件主要分為采樣時(shí)鐘,設(shè)置被測(cè)信號(hào),配置采樣深度、確定 ram 的大小,觸發(fā)級(jí) 別,觸發(fā)條件,設(shè)置采集緩沖模式幾步。將 stp 文件同原有的設(shè)計(jì)下載到 fpga 中,在 quartus ii 中 signaltap ii 窗口下查看邏輯分析儀捕獲結(jié)果。 三 視頻編碼芯片部分設(shè)計(jì) 3.1 視頻芯片介紹 saa7113 是飛利浦公司視頻解碼系列芯片的一種,在很多視頻產(chǎn)品,如電視 卡、mpeg-2、mpeg-4 中都有應(yīng)用。saa7113 的主要作用是把輸入的模擬視頻信號(hào) 解碼成標(biāo)準(zhǔn)的“vpo”數(shù)字信號(hào),相當(dāng)于一種“a/d”器件。saa7113 兼容全球各
23、種視頻標(biāo)準(zhǔn),在我國(guó)應(yīng)用時(shí)必須根據(jù)我國(guó)的視頻標(biāo)準(zhǔn)來(lái)配置內(nèi)部的寄存器,即初 始化,否則 saa7113 就不能按要求輸出,可以說(shuō)對(duì) saa7113 進(jìn)行研發(fā)的主要工 作就是如何初始化。對(duì) saa7113 初始化需要通過(guò) i2c 總線進(jìn)行。 saa7113 是一款功能強(qiáng)大且操作簡(jiǎn)單的 9 位 a/d 視頻輸入處理芯片,并行 8 位輸出,并且支持隔行掃描、多種數(shù)據(jù)輸出格式的視頻解碼器。該芯片采用 cmos 工藝,通過(guò) i2c 總線配置芯片內(nèi)部寄存器。它內(nèi)部包含兩路模擬處理通道,能實(shí) 現(xiàn)視頻信號(hào)源選擇、抗混疊濾波、a/d 轉(zhuǎn)換、自動(dòng)箝位、自動(dòng)增益控制(agc)、時(shí) 鐘發(fā)生(cgc)、多制式解碼、亮度/對(duì)
24、比度/飽和度控制(bcs)和多標(biāo)準(zhǔn) vbi 數(shù)據(jù)解 碼等。 3.1.1 saa7113 基本原理 saa7113 是一種視頻解碼芯片,它可以輸入4 路模擬視頻信號(hào),通過(guò)內(nèi)部寄 存器的不同配置可以對(duì)4 路輸入進(jìn)行轉(zhuǎn)換,輸入可以為4路cvbs 或2 路s 視頻 (y/c)信號(hào),輸出8 位“vpo”總線,為標(biāo)準(zhǔn)的itu656、yuv 4:2:2 格式。 saa7113 兼容pal、ntsc、secam多種制式,可以自動(dòng)檢測(cè)場(chǎng)頻適用的50或 60hz,可以在pal、ntsc之間自動(dòng)切換。saa7113 內(nèi)部具有一系列寄存器,可以 配置為不同的參數(shù),對(duì)色度、亮度等的控制都是通過(guò)對(duì)相應(yīng)寄存器改寫不同的值,
25、 寄存器的讀寫需要通過(guò)i2c總線進(jìn)行。 saa7113 的模擬與數(shù)字部分均采用+3.3v 供電,數(shù)字i/o接口可兼容+5v,正 常工作時(shí)功耗0.4w, 空閑為0.07w。saa7113 需外接24.576mhz晶體,內(nèi)部具有鎖 相環(huán)(pll),可輸出27mhz 的系統(tǒng)時(shí)鐘。芯片具有上電自動(dòng)復(fù)位功能,另有外部 復(fù)位管腳(ce),低電平復(fù)位,復(fù)位以后輸出總線變?yōu)槿龖B(tài),待復(fù)位信號(hào)變高后自 動(dòng)恢復(fù),時(shí)鐘丟失、電源電壓降低都會(huì)引起芯片的自動(dòng)復(fù)位。 另有外部復(fù)位管腳(ce) ,低電平復(fù)位,復(fù)位以后輸出總線變?yōu)槿龖B(tài),待復(fù) 位信號(hào)變高后自動(dòng)恢復(fù),時(shí)鐘丟失、電源電壓降低都會(huì)引起芯片的自動(dòng)復(fù)位。 saa7113為
26、qfp44封裝。視頻圖像由saa7113進(jìn)行a/d變換和視頻解碼后輸出ccir 601標(biāo)準(zhǔn)的視頻數(shù)據(jù)流送給fpga,包括: 16位圖像數(shù)據(jù)(高位為y信號(hào),低8位為uv信號(hào)交叉出現(xiàn)) ; 行同步信號(hào)hs(在行消隱期間為高電平,其它時(shí)間為低電平) ; 場(chǎng)同步信號(hào)vs(在場(chǎng)消隱期間為高電平,其它時(shí)間為低電平) ; 行參考信號(hào)href(行數(shù)據(jù)有效期間為高電平) 。 在pal制下,標(biāo)準(zhǔn)的ccir601視頻數(shù)據(jù)為864點(diǎn)行*625行場(chǎng)*50場(chǎng),一場(chǎng)分 為兩幀,分別為奇數(shù)行和偶數(shù)行。其中每行有效數(shù)據(jù)為720個(gè)點(diǎn),即href維持720 個(gè)點(diǎn)。 saa7113的典型應(yīng)用如圖3-1所示。 圖3-1 saa7113
27、典型電路 3.1.2 saa7113 主要功能及特點(diǎn) (1)具有四路模擬輸入通道,并可以進(jìn)行內(nèi)部模擬信號(hào)源選擇; (2)對(duì)所選的 cvbs(或 y/c)通道可編程實(shí)現(xiàn)靜態(tài)增益控制或者自動(dòng)增益控制,且 有兩個(gè)內(nèi)置的模擬抗混疊濾波器; (3)兩個(gè) 9 位 cmos 模數(shù)轉(zhuǎn)換器,數(shù)字化的 cvbs 或 y/c 信號(hào)通過(guò) i2c 總線控制輸出 到 vpo 口; (4)可自動(dòng)檢測(cè) 50hz 和 60hz 場(chǎng)頻視頻信號(hào),在 pal 和 ntsc 制式間自動(dòng)切換; (5)vpo 總線輸出標(biāo)準(zhǔn)工 tu656yuv4:2:2 格式的數(shù)字視頻; (6)對(duì)不同制式標(biāo)準(zhǔn)只需要一個(gè) 24.576mhz 的晶振; (7)
28、由外部控制器控制讀寫的 i2c 總線,最高速率可達(dá) 4o0kbit/s; (8)低功耗(0.5w),低電壓(3.3v),小封裝(qfp44); 3.1.3 saa7113 內(nèi)部結(jié)構(gòu)圖 從它的結(jié)構(gòu)框圖(圖 3-2)可以看出,它主要由模擬信號(hào)處理及 a/d 轉(zhuǎn)換模塊、亮 度信號(hào)處理模塊、色度信號(hào)處理模塊、同步信號(hào)分離模塊、輸出信號(hào)格式轉(zhuǎn)換模 塊、i2c 總線控制模塊、及時(shí)鐘生成模塊和邊界掃描測(cè)試模塊等組成。對(duì)于其信 號(hào)引腳,ai11、ai12、ai21、ai22 為四路模擬輸入通道,ai1d、ai2d 為 y/g 視 頻信號(hào)輸入通道。aout 為用于測(cè)試模擬通道的測(cè)試輸出通道,vp00vp07 為
29、解 碼輸出通道 ,這些通道的選擇幾個(gè)是配置都是通過(guò) i2c 來(lái)完成的。有同步分離電 路輸出的 rts0、rts1 是多功能輸出通道,其輸出功能的定義是由內(nèi)部配置寄存 器的配置字決定的;rtc0 為實(shí)時(shí)控制輸出通道包括系統(tǒng)時(shí)鐘頻率信息、場(chǎng)頻、奇 偶信號(hào)序列、解碼狀態(tài)等信息。另外,sda 為 i2c 總線控制器的數(shù)據(jù)輸入/出端, scl 為串行時(shí)鐘輸入端,llc 為行鎖定系統(tǒng)時(shí)鐘頻率輸出信號(hào),頻率為 27mhz;xtal1、xtal2 為外部晶振連接口。其它的分別為模擬和數(shù)字信號(hào)的電源 和接地接口。 圖 3-2 saa7113 內(nèi)部結(jié)構(gòu)圖 3.1.4 saa7113 工作流程 saa7113 在上
30、電后,必須有前端處理器通過(guò) i2c 串行總線對(duì)其內(nèi)部寄存器進(jìn) 行初始化配置,才能進(jìn)行正常工作。當(dāng)前端處理器提供 i2c 總線接口時(shí)。 scl、sda 信號(hào)線可以直接與 saa7113 的相應(yīng)引腳相連。如果前端處理器不具備 i2c 總線接口時(shí),有兩種解決方法具備工總線接口,有兩種解決方法:(1)采用 i2c 串行總線控制器,將一般的并行總線與 i2c 串行總線對(duì)接:(2)利用前端處理 器的 i/o 口線編程虛擬實(shí)現(xiàn) i2c 總線接口,直接與 saa7113 連接??紤]到成本、 集成度等各種原因。本設(shè)計(jì)中采用后一種方法,利用 fpga 的多功能口通過(guò)軟件 編程虛擬實(shí)現(xiàn) i2c 總線接口,直接控制
31、saa7113 的寄存器配置。下面先簡(jiǎn)單介紹 i2c 總線接口協(xié)議。 3.2 i2c 總線介紹 i2c(inter-ic)總線是由飛利浦公司為了在 ic 之間進(jìn)行控制而開發(fā)的一種總 線標(biāo)準(zhǔn),由兩條雙向串行總線(scl、sda)構(gòu)成,簡(jiǎn)單高效,可以完成多個(gè)器件之 間短距離內(nèi)隨機(jī)通信。i2c 總線上數(shù)據(jù)的傳輸速率在標(biāo)準(zhǔn)模式下可達(dá) 100kbit/s, 在快速模式下可達(dá) 400kbit/s,在高速模式下可達(dá) 3.4mbit/s。其中,100kbit/s 和 400kbit/s 這兩種模式是直接支持的,對(duì)于 3.4mbit/s 模式需要專門的 i/o 支 持10。 i2c 總線不僅僅是一種內(nèi)部連接總線
32、,從某種程度來(lái)說(shuō),他是一種串行通信 連接協(xié)議。要實(shí)現(xiàn) i2c 總線,需要了解 i2c 總線的工作原理與通信時(shí)序。 3.2.1 i2c 總線的工作原理 i2c 總線具有如下特征。 (1) 兩條總線線路:串行數(shù)據(jù)線 sda 和串行時(shí)鐘線 scl,可發(fā)送和接收數(shù)據(jù)。 (2) 總線模式包括主發(fā)模式、從發(fā)模式和從接收模式。i2c 總線有自己的協(xié)議, 協(xié)議允許總線接入多個(gè)器件,并支持多主工作。總線中的器件既可以作為主器件, 也可以作為從器件,既可以是發(fā)送器,也可以是接收器。主器件的功能是啟動(dòng)在 總線上傳送數(shù)據(jù),并產(chǎn)生時(shí)鐘脈沖,以允許與被尋址的器件進(jìn)行數(shù)據(jù)傳送。一般 而言,然和器件均能成為從器件,只有微控制
33、器才能成為主控器件。i2c 總線允 許連接多個(gè)微控制器,但顯然不能同時(shí)存在兩個(gè)主器件,那么先控制總線的微控 制器成為主控器件。可能有幾個(gè)微控制器同時(shí)企圖控制總線成為主器件,這就產(chǎn) 生了總線競(jìng)爭(zhēng)的協(xié)議,競(jìng)爭(zhēng)成功的器件成為主器件,其它則退出。競(jìng)爭(zhēng)過(guò)程中, 數(shù)據(jù)不會(huì)被破壞、丟失。數(shù)據(jù)只能在主、從器件間傳送,結(jié)束后,主、從期間將 釋放總線,退出主、從器件角色??偩€上存在主、從器件時(shí),總線處于忙的狀態(tài), 反之,總線處于空閑狀態(tài)。 (3) 連接到總線上每個(gè)器件都有唯一的地址,通過(guò)地址,主機(jī)可對(duì)從機(jī)進(jìn)行尋址。 (4) 存在沖突檢測(cè)和仲裁機(jī)制以保證數(shù)據(jù)傳輸?shù)耐暾院头€(wěn)定性。 (5) 標(biāo)準(zhǔn)模式下數(shù)據(jù)傳輸速率可達(dá)
34、 100kbps,快速模式下可達(dá) 400kbps,高速模式 下可達(dá) 3.4mbps。 3.2.2 i2c 總線的通信時(shí)序 i2c 總線的工作時(shí)序如圖 3-3 所示 利用 i2c 總線進(jìn)行數(shù)據(jù)通信時(shí),應(yīng)遵守如下基本操作。 空閑時(shí),總線處于不忙狀態(tài)。當(dāng)數(shù)據(jù)總線 sda 和始終總線 scl 都為高電平時(shí), 為不忙狀態(tài)。 當(dāng) scl 為高電平,sda 電平由低變高時(shí),數(shù)據(jù)傳送開始。所有的操作必須在開 始之后進(jìn)行。 當(dāng) scl 為高電平,sda 電平由低變高時(shí),數(shù)據(jù)傳送結(jié)束。在結(jié)束條件下,所有 的操作都不能進(jìn)行。 數(shù)據(jù)的有效轉(zhuǎn)換開始后,當(dāng)時(shí)鐘線 scl 為高電平時(shí),數(shù)據(jù)線 sda 必須保持穩(wěn) 定。若數(shù)據(jù)
35、線 sda 改變時(shí),必須在詩(shī)中 scl 為低電平時(shí)方可進(jìn)行。 圖 3-3 i2c 工作時(shí)序 當(dāng) scl 為高點(diǎn)平時(shí),sda 發(fā)生由高到低跳變定義為起始條件;當(dāng) scl 為高電 平時(shí),sda 發(fā)生地禱告跳變定義為停止條件。任意期間在總線空閑時(shí),一旦產(chǎn)生 起始條件,即開始控制總線而成為主器件,此時(shí),總線處于忙狀態(tài),其他器件不 能在產(chǎn)生起始條件。主器件傳送數(shù)據(jù)結(jié)束后,即產(chǎn)生停止條件,退出主器件角色, 經(jīng)過(guò)一定時(shí)間后,總線處于空閑狀態(tài)。在一個(gè)通信過(guò)程中,應(yīng)該有一個(gè)起始條件 和一個(gè)停止條件,如果在二者之間有起始條件產(chǎn)生,該條件被稱為重復(fù)起始條件。 每次發(fā)送到 i2c 總線 sda 上的數(shù)據(jù)必須是一個(gè)字節(jié)
36、,傳輸?shù)臄?shù)據(jù)字節(jié)暗按照 由高位到低位的順序發(fā)送,每發(fā)送一個(gè)字節(jié)必須跟一個(gè)響應(yīng)位。主器件在 scl 上 產(chǎn)生 8 個(gè)脈沖,第 9 個(gè)脈沖低電平期間,發(fā)送器件釋放 sda 線,即置高 sda。接 收器件則把 sda 線拉成低電平,已給出一個(gè)接收確認(rèn)位,即開始下一個(gè)字節(jié)的傳 送,下一個(gè)字節(jié)的第一個(gè)脈沖低電平期間,接收器件釋放 sda。因此,每個(gè)字節(jié) 傳送需要 9 個(gè)脈沖,每次傳輸?shù)淖止?jié)數(shù)不受限制的。在響應(yīng)時(shí)鐘脈沖周期期間, 如果從器件不能及時(shí)響應(yīng),則從器件始終保持高電平。 3.3 本章總結(jié) 本章詳細(xì)的介紹了芯片 saa7113 的原理,功能結(jié)構(gòu)特點(diǎn),工作流程等,另外還 對(duì) i2c 總線的工作時(shí)序和原
37、理進(jìn)行了詳細(xì)的介紹,讓我們從理論上有了一定的理 性認(rèn)識(shí),同時(shí)也是為后面的章節(jié)做準(zhǔn)備工作。 四視頻圖像采集模塊設(shè)計(jì) 4.1 采集模塊實(shí)現(xiàn)框圖 視頻采集的框圖如圖 4-1 所示 ccd 攝像頭 視頻輸入 處理芯片 saa7113 fpga采集模塊 信號(hào) 輸入 數(shù)據(jù) 時(shí)鐘 數(shù)據(jù)輸出 圖 4-1 視頻采集框圖 視頻圖像采集模塊的主要作用是接收來(lái)自 ccd 攝像頭的 pal 制全電視信號(hào) (cvbs),經(jīng)視頻輸入處理芯片 saa7113,輸出 itu-656 4:2:2 格式的數(shù)字化圖像 數(shù)據(jù),itu-656 格式是 itu(international teleeommunieations union
38、國(guó)際電信 聯(lián)盟)推薦的數(shù)字視頻數(shù)據(jù)格式。完成視頻信號(hào)從模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換、 圖像信號(hào)與其他復(fù)合消隱信號(hào)、復(fù)合同步信號(hào)分離、視頻信號(hào)的格式轉(zhuǎn)換等操作, 最終提供后端可以處理的數(shù)字視頻數(shù)據(jù)。 因此本章主要內(nèi)容為可分為利用 i2c 總線對(duì)視頻輸入處理芯片 saa7113 的初 始化配置,采用軟件的方式控制 saa7113 采集圖像數(shù)據(jù),最終將采集的圖像數(shù)據(jù) 存儲(chǔ)三個(gè)方面。 4.2 視頻采集芯片 saa7113 初始化 本設(shè)計(jì)中 saa7113 的初始化是利用 i2c 總線來(lái)實(shí)現(xiàn)的,使之開始正常工作。從 全電視信號(hào)端口引進(jìn)的電視信號(hào)構(gòu)成極為復(fù)雜。我們采用了 philips 公司的視頻 輸入處理芯
39、片 saa7113 來(lái)完成數(shù)據(jù)的 a/d 轉(zhuǎn)換。fpga 通過(guò) i2c 總線和 saa7113 相 連接,可以輕松的對(duì)其進(jìn)行配置,以獲取需要的數(shù)據(jù)信息。 4.2.1 saa7113 的寄存器的介紹 saa7113 的地址從 00h 開始,其中 14h、18h1eh、20h3fh、63hffh 均 為保留地址,沒有用到,00h、1fh、60h62h 為只讀寄存器,只有以下寄存器可 以讀寫:01h05h(前端輸入通道部分) ,06h13h、15h17h(解碼部分) , 40h60h(常規(guī)分離數(shù)據(jù)部分) 。 表 4-1 對(duì) saa7113 中的寄存器進(jìn)行簡(jiǎn)要說(shuō)明,其中默認(rèn)值為芯片復(fù)位后的寄 存器默認(rèn)
40、值,設(shè)置值為可以適用于我國(guó) pal 制式的設(shè)置參數(shù),這些參數(shù)只供參考, 詳細(xì)信息請(qǐng)參考 saa7113 數(shù)據(jù)手冊(cè),有些參數(shù)如灰度等可以根據(jù)用戶的需要適當(dāng) 更改。 表 4-1 saa7113 各寄存器介紹 地址寄存器功能默認(rèn) 值 設(shè)置 值 配置功能闡述 00h 版本號(hào)只讀 01h 水平增量延遲 08h08h 02h 模擬輸入控制 1 c0hc0h 選模式 0,輸入通道選擇 ai11,輸入復(fù)合視 頻信號(hào),然后更新關(guān),放大器及抗鋸齒波濾 波器啟動(dòng)。 03h 04h 05h 模擬輸入控制 2 模擬輸入控制 3 模擬輸入控制 4 33h 00h 00h 33h 00h 00h 自動(dòng)增益通過(guò)模式 0-3
41、控制,并且啟用,增 白控制關(guān),長(zhǎng)垂直空白,正常相位。 靜態(tài)增益控制通道 1 取值,約-3db 靜態(tài)增益控制通道 2 取值,約-3db 06h 水平同步開始 e9hebh 對(duì)應(yīng)不同的延遲時(shí)間 07h 水平同步停止 0dhe0h 對(duì)應(yīng)不同的延遲時(shí)間 08h 同步控制 98hb8h 垂直噪聲設(shè)為正常模式,水平 pll 關(guān),水平 時(shí)間為快速模式,50hz,625 幀,自動(dòng)場(chǎng)頻檢 測(cè)。 09h 0ah 0bh 0ch 明度控制 亮度控制 對(duì)比度 色度-飽和度 01h 80h 47h 40h 01h 80h 47h 42h 光圈:0.25,水平更新每場(chǎng)一次,光度處理 工作,中心頻率 4.1mhz,前置濾波
42、不用, cvbs 模式 取值 128(中間值,ccir 標(biāo)準(zhǔn))(范圍:0- 255) 取值 1.109(ccir 標(biāo)準(zhǔn))(范圍-2+2) 取值 1.0(ccir 標(biāo)準(zhǔn))(范圍-2+2) 0dh 色相控制 00h01h 取值 0(范圍:-180+178) 0eh 色度控制 01h01h 正常帶寬(800khz),fctc 正常速度,梳狀濾 波器工作,palbghin 制式,不能清除 dto 自動(dòng)色度控制 0fh 色度獲取控制 2ah0fh 10h 11h 格式/延遲補(bǔ)償 輸出控制 1 00h 0ch 00h 0ch 亮度延遲取值 0,urln 長(zhǎng)度 286 標(biāo)準(zhǔn) itu656 格式 彩色輸出自動(dòng)
43、控制,vpo 輸出不受控制, rts0,rts1,rtc0 工作,vpo 可以輸出 12h 13h 14h 15h 16h 輸出控制 2 輸出控制 3 保留 vgate 開始 vgate 停止 01h 00h 00h 00h 00h a7h 00h 00h 00h 00h rts0、rts1 的輸出信號(hào)選擇 模擬輸出信號(hào)的控制 vgate 的起始脈沖取值 vgate 的停止脈沖取值 17h vgate 高位控制 00h00h 配合 15h、16h 使用 18-1eh 1fh 20-3fh 40h 保留 解碼器狀態(tài) 保留 分離器控制 1 00h 只讀 00h 00h 00h 00h 02h 分離
44、器時(shí)鐘選擇 13.5mhz,振幅自動(dòng)搜索, 允許一幀代碼錯(cuò)誤,場(chǎng)頻適合與 50hz 41-57h lcr 寄存器 ffhffh 默認(rèn)值 58h 可編程幀編碼 00h00h 默認(rèn)值 59h 分離器的水平偏置 54h54h 默認(rèn)值 5ah 分離器的垂直偏置 07h07h 適合于 50hz,625 行 5bh 場(chǎng)偏置、5a 高位 83h83h 默認(rèn)值 5c-5dh 5eh 5fh 60h 61h 保留 分離器數(shù)據(jù)鑒別碼 保留 分離器狀態(tài) 1 分離器狀態(tài) 2 00h 00h 00h 只讀 只讀 00h 00h 00h 62h 只讀 saa7113 的寄存器配置通過(guò) i2c 總線進(jìn)行,遵守 i2c 總線
45、協(xié)議,下面從讀、寫 兩方面來(lái)說(shuō)明操作格式: 對(duì) saa7113 寄存器的寫操作如表 4-2: 表 4-2 saa7113 寄存器的寫操作 sslave address wack-ssubaddressack-sdataack-sp 寫控制字時(shí),首先產(chǎn)生一個(gè)開始信號(hào),送出 4a(器件地址+寫)的指令,收到一個(gè) 應(yīng)答位之后,送出要進(jìn)行寫操作的從地址,同樣收到應(yīng)答位后,輸出要寫的內(nèi)容, 再次收到應(yīng)答,產(chǎn)生停止信號(hào)。 對(duì) saa7113 寄存器的讀操作如表 4-3: 表 4-3 saa7113 寄存器的讀操作 sslave address wack-ssubaddressack-s srslave a
46、ddress rack-sdataack-mp 對(duì) saa7113 控制字寄存器讀操作比寫操作復(fù)雜,分為兩步進(jìn)行:首先產(chǎn)生一 個(gè)開始信號(hào),完成對(duì)器件地址和從地址的寫操作,主器件收到應(yīng)答位之后,接著 需要重新發(fā)送一個(gè)開始信號(hào)和 4bh(器件地址+讀)字節(jié),saa7113 收到后發(fā)出應(yīng)答 信號(hào),從地址的控制字單元數(shù)據(jù)從 sda 線上輸出,開始接收數(shù)據(jù);數(shù)據(jù)傳輸結(jié)束 時(shí)發(fā)停止信號(hào)。 說(shuō)明: s:起始位,條件是 scl 高電平是 sda 有下降沿; sr:重復(fù)設(shè)一個(gè)起始位 slave address w:saa7113 芯片地址+寫標(biāo)志,0100 1010=4ah,若 rts0 通過(guò) 3.3k 電阻接
47、地,則為 48h; slave address r:saa7113 芯片地址+寫標(biāo)志,0100 1011=4bh,若 rts0 通過(guò) 3.3k 電阻接地,則為 49h; ack-s:saa7113 產(chǎn)生的回應(yīng)信號(hào); ack-m:主機(jī)產(chǎn)生的回應(yīng)信號(hào); subaddress:寄存器地址; p:停止位,條件是 scl 高電平時(shí) sda 有上升沿; 整個(gè) saa7113 配置流程圖如圖 4-2 所示 初始狀態(tài) 程序初始化 是否完成 寫器件地址及讀寫信號(hào) 是否應(yīng)答 寫配置數(shù)據(jù) 是否應(yīng)答 是否完成 否 否否 錯(cuò)誤狀態(tài) 圖 4-2 saa7113 配置流程 4.2.2 saa7113 初始化及數(shù)據(jù)采集模塊
48、saa7113 芯片廣泛的應(yīng)用在計(jì)算機(jī)視頻采集、多媒體、數(shù)字電視、圖像處理、 可視電話等領(lǐng)域。saa7113 通過(guò) i2c 總線接受外部控制器的完全控制,對(duì) saa7113 研發(fā)主要是初始化,而初始化工作要通過(guò) i2c 總線來(lái)進(jìn)行。因此 fpga 要完成的主 要工作就是對(duì) i2c 總線控制器的設(shè)計(jì)。 考慮到課題中的實(shí)際應(yīng)用,該 i2c 總線模型如下:?jiǎn)沃鞑僮?,只?shí)現(xiàn)簡(jiǎn)單的 寫和讀操作,寫地址連續(xù),沒有競(jìng)爭(zhēng)和仲裁,是很簡(jiǎn)單的 i2c 總線系統(tǒng)。 i2c 總線控制器的設(shè)計(jì) 由 i2c 總線規(guī)范中完成一次完整的數(shù)據(jù)傳輸圖 4-3 可知,可以將整個(gè)過(guò)程 分為 5 個(gè)狀態(tài):(1)起始,(2)寫數(shù)(0或者
49、1),(3)應(yīng)答,(4)暫停,(5) 結(jié)束。針對(duì) saa7113 進(jìn)行初始化,需要在 i2c 總線上傳輸共有 34 個(gè)字節(jié):從器件 地址(7bits)和寫操作位(1bits)占一個(gè)字節(jié),基地址參數(shù)占一個(gè)字節(jié),再加上內(nèi) 部地址連續(xù) 32 個(gè)寄存器(每個(gè)寄存器此而一個(gè)直接數(shù)據(jù)),寫完最后地 34 個(gè)字節(jié) 后產(chǎn)生一個(gè)信號(hào),作為初始化結(jié)束信號(hào)9101112。 整個(gè)初始化 saa7113 的具體狀態(tài)轉(zhuǎn)換過(guò)程如圖 4-3 所示。 idlewrite readack startstop 圖 4-3 i2c 總線狀態(tài)轉(zhuǎn)移圖 該模塊是由兩個(gè)實(shí)體組成的,i2c_core 和 i2c。其中,i2c 是整個(gè)設(shè)計(jì)的外形
50、; i2c_core 是 i2c 的核,它的功能是用來(lái)實(shí)現(xiàn)將數(shù)據(jù)按照 i2c 協(xié)議的格式進(jìn)行轉(zhuǎn)換。 下面介紹 i2c_core 和 i2c。 i2c_core 的設(shè)計(jì)實(shí)現(xiàn) i2c_core 實(shí)體的功能是將命令和數(shù)據(jù)按照 i2c 協(xié)議進(jìn)行相應(yīng)的傳輸。圖 4-4 給出了 i2c 總線的時(shí)序狀態(tài)轉(zhuǎn)移圖。 idle wr_c wr_a wr_b wr_d rd_d rd_c rd_b rd_d stop_c stop_b stop_a st_d st_c st_b st_a 圖 4-4 i2c 總線時(shí)需狀態(tài)轉(zhuǎn)移圖 該模塊的實(shí)體部分: entity i2c_core is port ( clk : in
51、 std_logic; nreset : in std_logic; clk_cnt : in unsigned(7 downto 0); cmd : in std_logic_vector(2 downto 0); cmd_ack : out std_logic; busy : out std_logic; din : in std_logic; dout : out std_logic; scl : inout std_logic; sda : inout std_logic ); end entity i2c_core; 圖 4-5 生成的 i2c_core 元件 對(duì)實(shí)體的簡(jiǎn)要說(shuō)明: (
52、1) clk_cnt:因?yàn)?i2c 協(xié)議規(guī)定傳輸數(shù)據(jù)以字節(jié)為單位,因此在傳輸數(shù)據(jù)時(shí) 需要對(duì)時(shí)鐘進(jìn)行計(jì)數(shù),以此來(lái)判斷每個(gè)字節(jié)是否已經(jīng)傳輸完畢。當(dāng)一個(gè)字節(jié)傳輸 完畢以后,就應(yīng)該有一個(gè) cmd_ack 信號(hào)。 (2)scl 和 sda:因?yàn)?i2c 協(xié)議規(guī)定傳送數(shù)據(jù)都由兩根線進(jìn)行,因此 sda 應(yīng)該 為雙向數(shù)據(jù)線。而 scl 之所以是雙向的,是因?yàn)?i2c_core 與 i2c 進(jìn)行數(shù)據(jù)傳輸 時(shí),有數(shù)據(jù)由 i2c 主動(dòng)向 i2c_core 傳輸,也有數(shù)據(jù)由 i2c_core 主動(dòng)向 i2c 傳輸, 因此這兩個(gè)端口都是雙向的。 i2c 模塊的設(shè)計(jì)實(shí)現(xiàn) i2c 模塊是整個(gè) i2c 設(shè)計(jì)的頂層模塊,它通過(guò)
53、調(diào)用 i2c_core 模塊來(lái)完成需要 的功能。下面是 i2c 模塊的實(shí)體部分 entity simple_i2c is port ( clk : in std_logic; ena : in std_logic; nreset : in std_logic; clk_cnt : in unsigned(7 downto 0); - 4x scl - input signals start, stop, read, write, ack_in : std_logic; din : in std_logic_vector(7 downto 0); - output signals cmd_ack
54、 : out std_logic; ack_out : out std_logic; dout : out std_logic_vector(7 downto 0); - i2c signals scl : inout std_logic; sda : inout std_logic ); end entity simple_i2c; 圖 4-6 生成的 simple_i2c 元件 該程序中,包括了一個(gè)進(jìn)程和一個(gè)狀態(tài)機(jī) (1)進(jìn)程 shift_register:作用是將數(shù)據(jù)進(jìn)行串行移位。如果在時(shí)鐘上升沿檢測(cè) 到 ld=1,那么就將數(shù)據(jù) din 送到移位寄存器 sr;否則如果 shift=1,則
55、 sr 向左 移一位,低位由 core_rxd 補(bǔ)充。 (2)狀態(tài)機(jī):有六種狀態(tài)。包括:idle,start,write,read,ack,stop。 (a)idle 狀態(tài) 當(dāng) idle 時(shí),首先判斷 go 語(yǔ)句是否等于 1,go 語(yǔ)句是用來(lái)判 斷是否有讀寫請(qǐng)求的。如果有,再判斷主機(jī)是否有響應(yīng),當(dāng)主機(jī)沒有響應(yīng)時(shí),把 go 語(yǔ)句賦值為 1。當(dāng) go 語(yǔ)句為 1 時(shí),就意味著有命令請(qǐng)求,然后判斷是 start,write 或 read,并做響應(yīng)處理。 (b)start 狀態(tài) 當(dāng) start 時(shí),首先判斷 i2c_core 的 core_ack 是否為 1,如 果是判斷 read 狀態(tài)是否為 1,如
56、果為 1,執(zhí)行讀操作,否則執(zhí)行寫操作。 (c)write 狀態(tài) 當(dāng) write 時(shí),首先判斷 i2c_core 的 core_ack 是否為 1,如 果是,計(jì)數(shù)器減 1,同時(shí)移位寄存器 sr 的最高位值賦給 icore_txd,并有 icore_txd 賦值給 core_txd。當(dāng)計(jì)數(shù)器為 0 時(shí),通知系統(tǒng)發(fā)送 ack 信號(hào)。 (d)read 狀態(tài) 當(dāng) read 時(shí),首先判斷 core_ack 是否為 1,如果是,計(jì)數(shù)器 減 1,當(dāng)計(jì)數(shù)器為 0 時(shí),通知系統(tǒng)發(fā)送 ack 信號(hào)。 (e)ack 狀態(tài) 當(dāng) ack 時(shí),并且收到 i2c_core 的 core_ack 時(shí),判斷 stop 是 否為
57、1:當(dāng) stop 狀態(tài)為 1,發(fā)送 stop 命令;當(dāng) stop 狀態(tài)為 0,發(fā)送空閑命令。 (f)stop 狀態(tài) 當(dāng)為 stop 狀態(tài)是,系統(tǒng)自動(dòng)處于空閑狀態(tài)。程序的最后還有 一部分同步電路,作用是將信內(nèi)部信號(hào)在 clk 的上升沿送到外部信號(hào)引腳上。 初始化數(shù)據(jù)存放方案 對(duì)于 i2c 總線初始化 saa7113 的初始化數(shù)據(jù),可以連續(xù)的存放在 rom 中。本 設(shè)計(jì)是采用定制的方法來(lái)設(shè)計(jì) rom。其生成的元件如圖 4-7 所示。 圖 4-7 生成的 rom 元件 圖 4-8 i2c 模塊總線連接圖 初始化數(shù)據(jù)存放的驗(yàn)證 當(dāng)初始化完成后,我們必須驗(yàn)證它的正確性。本論文采用的是讀回寄存器單 元的值
58、,與配置值比較來(lái)驗(yàn)證正確性,然后再次改寫寄存器的值,再次讀回來(lái)驗(yàn) 證 i2c 總線的正確性。下面以 41h 單元為例來(lái)簡(jiǎn)要的說(shuō)明一下利用 i2c 總線對(duì) saa7113 芯片的初始化過(guò)程,并對(duì)初始化完成后的 41h 單元讀回進(jìn)行比較,來(lái)說(shuō) 明 i2c 作用及對(duì)初始化完成的正確性。 下圖為 41h 單元初始狀態(tài)的值 圖 4-9 41h 初始值 從圖 4-9 可以看出 i2c_data 可以讀出 4bh(器件地址+讀)如圖 4-10 所示,這 代表此次操作為讀操作。從 iic_read_ctg 引腳可以看出 ack 全部為低電平,這 說(shuō)明 i2c 總線與 saa7113 之間的通信正常,采集的數(shù)據(jù)
59、為 41h(如圖 4-11 所示)單 元的數(shù)據(jù)。在 data_read 引腳讀回的值并不全為1 ,然后我們?cè)谟^察改寫后的 41h 單元的數(shù)據(jù),如圖 4-12 所示。 圖 4-10 器件地址+讀(4b) 圖 4-11 i2c 總線上傳送的地址數(shù)據(jù)及應(yīng)答信號(hào) 對(duì) 41h 單元寫 ff 后讀回的值從圖 4-12 可以讀出,它的值全部為1 ,這說(shuō) 明我們寫寄存器成功,同時(shí)也代表著 i2c 總線與 saa7113 之間的通信不存在問(wèn)題。 為接下來(lái)的圖像采集做好了準(zhǔn)備工作。 圖 4-12 41h 改寫后的值 圖像的采集 圖像采集部分是本設(shè)計(jì)的最后部分,在做好初始化等工作后就可以直接采集 圖像。本設(shè)計(jì) cc
60、d 采集輸出的是 pal 制式的模擬視頻信號(hào),幀頻為 25 幀/秒,分 辨率為 720*576。經(jīng) saa7113a/d 轉(zhuǎn)換成 yuv4:2:2 的數(shù)字視頻信號(hào),其輸出視 頻流格式滿足 itu-601 建議,位寬為 8bit,碼流速率為 27mbps。由于時(shí)間精力 有限,本設(shè)計(jì)把 ccd 攝像頭所采集到的數(shù)據(jù)讀回來(lái),從寄存器來(lái)看它所采集的圖 像。開始采集視頻時(shí),saa7113 輸出視頻圖像通過(guò) 8 位總線 vpo 傳輸給 fpga。由 于 pal 制電視信號(hào)是隔行掃描,分為奇數(shù)場(chǎng)和偶數(shù)場(chǎng)傳輸,數(shù)字化以后仍然格式 不變,因此需要將奇數(shù)場(chǎng)和偶數(shù)場(chǎng)的數(shù)據(jù)還原成一幅圖像。本設(shè)計(jì)通過(guò)分析視頻 數(shù)據(jù)流中
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南省石林彝族自治縣民族中學(xué)2025年物理高一下期末學(xué)業(yè)水平測(cè)試試題含解析
- 中國(guó)硅酸鹽水泥行業(yè)發(fā)展監(jiān)測(cè)及投資戰(zhàn)略研究報(bào)告
- 氨壓力表閥行業(yè)深度研究分析報(bào)告(2024-2030版)
- 2025年中國(guó)套鍋行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y方向研究報(bào)告
- 2025年中國(guó)電液舵機(jī)行業(yè)發(fā)展前景預(yù)測(cè)及投資規(guī)劃建議報(bào)告
- 2024年金屬基超硬材料項(xiàng)目資金籌措計(jì)劃書代可行性研究報(bào)告
- 藁城區(qū)早婚管理辦法細(xì)則
- 融媒體中心檔案管理辦法
- 衡水市市容考核管理辦法
- 裝飾裝修供應(yīng)商管理辦法
- 2025屆高三英語(yǔ)一輪復(fù)習(xí)人教版(2019)選擇性必修第一冊(cè)單詞默寫紙
- 第二單元 主題活動(dòng)一《我是聰明的消費(fèi)者》(說(shuō)課稿)-2023-2024學(xué)年四年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)內(nèi)蒙古版
- 2024年物聯(lián)網(wǎng)平臺(tái)開發(fā)與運(yùn)營(yíng)服務(wù)合同3篇
- 建設(shè)單位安全質(zhì)量管理制度
- 《教育系統(tǒng)重大事故隱患判定指南》知識(shí)培訓(xùn)
- 2022-2023學(xué)年天津市濱海新區(qū)高一(下)期末語(yǔ)文試卷
- 2024年中國(guó)安全應(yīng)急產(chǎn)業(yè)發(fā)展研究報(bào)告
- 大學(xué)物理實(shí)驗(yàn)-拓展提高篇 課件 實(shí)驗(yàn)3.9-太陽(yáng)能電池特性實(shí)驗(yàn)
- 2024年優(yōu)居房產(chǎn)加盟業(yè)務(wù)保密協(xié)議3篇
- 中國(guó)當(dāng)代文學(xué)專題-003-國(guó)開機(jī)考復(fù)習(xí)資料
- 企業(yè)自然災(zāi)害安全應(yīng)急預(yù)案
評(píng)論
0/150
提交評(píng)論