基于FPGA的視頻信號(hào)采集與處理系統(tǒng)方案_第1頁(yè)
基于FPGA的視頻信號(hào)采集與處理系統(tǒng)方案_第2頁(yè)
基于FPGA的視頻信號(hào)采集與處理系統(tǒng)方案_第3頁(yè)
基于FPGA的視頻信號(hào)采集與處理系統(tǒng)方案_第4頁(yè)
基于FPGA的視頻信號(hào)采集與處理系統(tǒng)方案_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 PAGE44 / NUMPAGES49基于FPGA的視頻信號(hào)采集與處理系統(tǒng)摘 要圖像是人類獲取和交換信息的主要來(lái)源?,F(xiàn)如今,圖像處理的應(yīng)用領(lǐng)域已經(jīng)涉與到人類生活和工作的方方面面,如航天和航空技術(shù)、工業(yè)和工程、軍事公安、生物醫(yī)學(xué)工程等等。在圖像處理系統(tǒng)中,實(shí)時(shí)圖像的采集是整個(gè)系統(tǒng)的前端部分,也是整個(gè)系統(tǒng)最重要的部分。前端的圖像采集速度與質(zhì)量,直接影響到圖像處理系統(tǒng)后端的算法處理與應(yīng)用。本文主要設(shè)計(jì)圖像處理系統(tǒng)的前端部分,即視頻信號(hào)的采集。本文設(shè)計(jì)中采用CMOS圖像傳感器OV7670對(duì)外界圖像進(jìn)行實(shí)時(shí)采集,通過(guò)FPGA部設(shè)計(jì)的初始化模塊對(duì)圖像傳感器輸出信號(hào)的格式進(jìn)行配置。根據(jù)其輸出信號(hào)的時(shí)序,在

2、FPGA部設(shè)計(jì)采集單元。采集到的數(shù)據(jù)一路送到TFT液晶屏上進(jìn)行實(shí)時(shí)顯示,另一路送入SRAM緩存。當(dāng)一幀圖像存儲(chǔ)完成后,在NIOS II軟核中對(duì)圖像進(jìn)行處理,并將處理結(jié)果以圖片的方式,存儲(chǔ)到外部存儲(chǔ)器SD卡中。關(guān)鍵字:FPGA; 實(shí)時(shí)圖像; CMOS; 圖像采集AbstractThe image is human access and exchanges the primary source of information.Nowadays, Image processing applications have involved human life and all aspects of the

3、work, such as aerospace and aviation technology, industry and engineering, military police, biomedical engineering and so on. In the image processing system,Real-time image collection is the head part of the whole system, is also the most important part of the whole system. Part of the image acquisi

4、tion speed and quality, directly affect the image processing system and the algorithm after processing and the application.This paper mainly designs image processing system, namely the head part of video signal collection.This paper applied to the design of CMOS image sensor to the outside world OV7

5、670 real-time image acquisition. Through the FPGA design inside the initialization of the module of image sensor output signal format configuration. According to its output signal timing, In the FPGA design inside acquisition cell. The data collected one way to TFT LCD screen on the real-time displa

6、y, and the other way into an SRAM cache, when a frame image storage completed, processing the image in the NIOS II MCU. And the result of processing, storage to external storage SD card.Key words:FPGA;Real-time image;CMOS;Image acquisition目 錄TOC o 1-3 h z uHYPERLINK l _Toc2958508541 前言 PAGEREF _Toc2

7、95850854 h 1HYPERLINK l _Toc2958508551.1 數(shù)字圖像處理發(fā)展史 PAGEREF _Toc295850855 h 1HYPERLINK l _Toc2958508561.2 系統(tǒng)整體設(shè)計(jì) PAGEREF _Toc295850856 h 3HYPERLINK l _Toc2958508572 CMOS原理和特性與CMOS攝像頭的基本結(jié)構(gòu) PAGEREF _Toc295850857 h 4HYPERLINK l _Toc2958508582.1 CMOS原理與特性 PAGEREF _Toc295850858 h 4HYPERLINK l _Toc29585085

8、92.1.1 CMOS數(shù)字圖像傳感器基本原理 PAGEREF _Toc295850859 h 4HYPERLINK l _Toc2958508602.1.2 CMOS圖像傳感器的特性 PAGEREF _Toc295850860 h 5HYPERLINK l _Toc2958508612.2 COMS傳感器的基本結(jié)構(gòu) PAGEREF _Toc295850861 h 6HYPERLINK l _Toc2958508622.2.1 OV7670簡(jiǎn)介 PAGEREF _Toc295850862 h 6HYPERLINK l _Toc2958508632.2.2 OV7670部結(jié)構(gòu) PAGEREF _T

9、oc295850863 h 8HYPERLINK l _Toc2958508643 系統(tǒng)設(shè)計(jì)與硬件實(shí)現(xiàn) PAGEREF _Toc295850864 h 12HYPERLINK l _Toc2958508653.1 系統(tǒng)結(jié)構(gòu)與工作流程 PAGEREF _Toc295850865 h 12HYPERLINK l _Toc2958508663.1.1系統(tǒng)結(jié)構(gòu) PAGEREF _Toc295850866 h 12HYPERLINK l _Toc2958508673.1.2系統(tǒng)工作流程 PAGEREF _Toc295850867 h 12HYPERLINK l _Toc2958508683.2器件選型與

10、硬件電路實(shí)現(xiàn) PAGEREF _Toc295850868 h 12HYPERLINK l _Toc2958508693.2.1 FPGA選型 PAGEREF _Toc295850869 h 12HYPERLINK l _Toc2958508703.2.2 FPGA配置電路 PAGEREF _Toc295850870 h 13HYPERLINK l _Toc2958508713.2.3 SDRAM電路實(shí)現(xiàn) PAGEREF _Toc295850871 h 15HYPERLINK l _Toc2958508723.2.4 SRAM電路實(shí)現(xiàn) PAGEREF _Toc295850872 h 17HYPE

11、RLINK l _Toc2958508733.2.5其他硬件電路 PAGEREF _Toc295850873 h 18HYPERLINK l _Toc2958508744 系統(tǒng)軟件設(shè)計(jì) PAGEREF _Toc295850874 h 19HYPERLINK l _Toc2958508754.1 軟件設(shè)計(jì)概述 PAGEREF _Toc295850875 h 19HYPERLINK l _Toc2958508764.2 VHDL簡(jiǎn)介與特點(diǎn) PAGEREF _Toc295850876 h 20HYPERLINK l _Toc2958508774.3 OV7670初始化模塊 PAGEREF _Toc2

12、95850877 h 21HYPERLINK l _Toc2958508784.4 OV7670數(shù)據(jù)采集模塊 PAGEREF _Toc295850878 h 23HYPERLINK l _Toc2958508794.5 SRAM控制模塊和TFT液晶控制模塊 PAGEREF _Toc295850879 h 25HYPERLINK l _Toc2958508804.6 MCU單元設(shè)計(jì) PAGEREF _Toc295850880 h 26HYPERLINK l _Toc2958508814.6.1 SOPC Builder簡(jiǎn)介 PAGEREF _Toc295850881 h 26HYPERLINK

13、l _Toc2958508824.6.2主控制單元MCU的實(shí)現(xiàn) PAGEREF _Toc295850882 h 28HYPERLINK l _Toc2958508834.7 NIOS II軟件開(kāi)發(fā) PAGEREF _Toc295850883 h 29HYPERLINK l _Toc2958508844.7.1 NIOS II集成開(kāi)發(fā)環(huán)境 PAGEREF _Toc295850884 h 29HYPERLINK l _Toc2958508854.7.2 MCU軟件設(shè)計(jì) PAGEREF _Toc295850885 h 30HYPERLINK l _Toc2958508864.7.3簡(jiǎn)單運(yùn)動(dòng)檢測(cè) PA

14、GEREF _Toc295850886 h 31HYPERLINK l _Toc2958508874.7.4 BMP圖片存儲(chǔ) PAGEREF _Toc295850887 h 32HYPERLINK l _Toc2958508885 總結(jié)與展望 PAGEREF _Toc295850888 h 34HYPERLINK l _Toc295850889參考文獻(xiàn) PAGEREF _Toc295850889 h 35HYPERLINK l _Toc295850890附錄 1 PAGEREF _Toc295850890 h 36HYPERLINK l _Toc295850891附錄 2 PAGEREF _T

15、oc295850891 h 43HYPERLINK l _Toc295850892致 PAGEREF _Toc295850892 h 441 前 言1.1 數(shù)字圖像處理發(fā)展史數(shù)字圖像處理技術(shù)起源于20世紀(jì)20年代,當(dāng)時(shí)通過(guò)海底電纜從英國(guó)倫敦到美國(guó)紐約傳輸了一幅照片,它采用了數(shù)字壓縮技術(shù)。就1920年的技術(shù)水平看,如果不壓縮,傳一幅圖片要一個(gè)星期時(shí)間,壓縮后只需要3小時(shí)。1964年美國(guó)的噴氣推進(jìn)實(shí)驗(yàn)室處理了太空船“徘徊者七號(hào)”發(fā)回的月球照片,這標(biāo)志著第三代計(jì)算機(jī)問(wèn)世后數(shù)字圖像處理概念開(kāi)始得到應(yīng)用。其后,數(shù)字圖像處理技術(shù)得到迅速發(fā)展,目前已成為工程學(xué)、計(jì)算機(jī)科學(xué)、信息科學(xué)、統(tǒng)計(jì)學(xué)、物理學(xué)、化學(xué)、生

16、物學(xué)、醫(yī)學(xué)甚至社會(huì)科學(xué)等領(lǐng)域各學(xué)科之間學(xué)習(xí)和研究的對(duì)象。從70年代中期開(kāi)始,隨著計(jì)算機(jī)技術(shù)和人工智能、思維科學(xué)研究的迅速發(fā)展,數(shù)字圖像處理向更高、更深層次發(fā)展。人們已開(kāi)始研究如何用計(jì)算機(jī)系統(tǒng)解釋圖像,實(shí)現(xiàn)類似人類視覺(jué)系統(tǒng)理解外部世界。如今圖像處理技術(shù)已給人類帶來(lái)了巨大的經(jīng)濟(jì)效益和社會(huì)效益。而在圖像處理系統(tǒng)中,圖像采集是圖像處理最重要的前提。前端的圖像采集速度與質(zhì)量,直接影響到圖像處理系統(tǒng)后端的算法處理與應(yīng)用。圖像采集卡是常用的圖像輸入設(shè)備,通常占用PC機(jī)總線的一個(gè)插槽。它主要包括圖像存儲(chǔ)器單元、CCD或CMOS攝像頭接口、PC機(jī)總線接口等。傳統(tǒng)的圖像采集卡大多數(shù)采用PCI接口,這種圖像采集卡適

17、用于將模擬信號(hào)經(jīng)A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號(hào),或本身就是數(shù)字信號(hào),再通過(guò)PCI接口傳輸至PC機(jī),進(jìn)行圖像處理。但使用嵌入式系統(tǒng)實(shí)現(xiàn)圖像采集和處理時(shí),帶有PCI接口的圖像采集卡就不適用。另外在圖像處理的實(shí)時(shí)性方面,一般的所用的PC軟件或MCU軟件方法已不能滿足要求,究其原因就是因?yàn)槠浔举|(zhì)是順序執(zhí)行指令,不能做開(kāi)并行處理。而一般采集的圖像數(shù)據(jù)量較大,運(yùn)算量也相應(yīng)比較大。另一方面,現(xiàn)今的圖像處理應(yīng)用也向嵌入式小型化方向發(fā)展。因此,現(xiàn)場(chǎng)可編程門陣列(FPGA,F(xiàn)ieldProgrammable Gate Array)以其較高的并行處理能力、豐富的部資源和較大的靈活性,在視頻圖像處理方面,顯現(xiàn)出獨(dú)特的優(yōu)勢(shì)

18、。FPGA,即現(xiàn)場(chǎng)可編程門陣列是用戶自編程ASIC的一種,它使用戶可以在現(xiàn)場(chǎng)通過(guò)編程形成自己所需要的ASIC,并可不斷對(duì)自己已經(jīng)提出的要求或初始設(shè)計(jì)進(jìn)行更改。1985年,Xilinx公司推出了世界上第一款FPGA,在隨后的20多年的發(fā)展過(guò)程中,F(xiàn)PGA硬件體系結(jié)構(gòu)和軟件開(kāi)發(fā)工具都在不斷的完善,成熟?,F(xiàn)在如今,Xilinx、Altera等世界頂級(jí)廠商已經(jīng)將FPGA器件的集成度提高到一個(gè)新的水平。此外,F(xiàn)PGA還嵌入用戶可以自己定制的軟核CPU,加上完整和多平臺(tái)設(shè)計(jì)環(huán)境,還可以利用第三方的綜合、仿真工具,提高了設(shè)計(jì)效率,縮短了設(shè)計(jì)周期。隨著現(xiàn)代大容量、高密度、高速度FPGA的出現(xiàn),在這些FPGA中

19、一般都嵌有可配置的高速RAM、PLL以與硬件乘法器等DSP專用IP模塊,而且在原有邏輯宏單元的基礎(chǔ)上嵌入了許多面向DSP的專用模塊,結(jié)合這些硬件資源使DSP開(kāi)發(fā)者能十分容易地在一片F(xiàn)PGA上實(shí)現(xiàn)整個(gè)DSP系統(tǒng),使得之前主要由DSP完成數(shù)字圖像處理算法,對(duì)數(shù)字圖像進(jìn)行算法級(jí)處理的系統(tǒng),完全可以在一片F(xiàn)PGA 上來(lái)實(shí)現(xiàn),大大縮減了外部硬件電路。同時(shí)FPGA中能嵌入高速的ROM和RAM模塊,實(shí)現(xiàn)高達(dá)10Mb/s的讀寫速率(Altera公司的Stratix系列),F(xiàn)PGA的設(shè)計(jì)非常靈活,通用DSP芯片通常只有14個(gè)乘法器,而在FPGA中可以配置數(shù)十個(gè)乘法器(例如Altera公司最新的低成本的Cyclo

20、neII系列FPGA可以提供多達(dá)150個(gè)1818位的乘法器),用來(lái)實(shí)現(xiàn)通用的DSP功能。很多FPGA供應(yīng)商提供了專用的開(kāi)發(fā)軟件(例如Altera公司的DSP Builder),以MATLAB工具箱的形式出現(xiàn),利用MATLAB中的Simulink工具進(jìn)行圖像化設(shè)計(jì),建立各種數(shù)字信號(hào)DSP模型,完成后利用DSP Builder將其轉(zhuǎn)換成硬件描述性語(yǔ)言VHDL,通過(guò)綜合、下載,最后得到能實(shí)現(xiàn)DSP功能的FPGA電路,使得DSP算法處理開(kāi)發(fā)變得簡(jiǎn)單。1.2 系統(tǒng)整體設(shè)計(jì)本文主要研究是基于FPGA設(shè)計(jì)一個(gè)完整和視頻信號(hào)采集與存儲(chǔ)系統(tǒng)。本系統(tǒng)能夠?qū)崟r(shí)采集數(shù)據(jù),其圖像的質(zhì)量可以通過(guò)對(duì)數(shù)字圖像傳感器進(jìn)行配置初

21、始化,以得到最佳圖像。之后送入FPGA,一方面在TFT液晶屏上實(shí)時(shí)顯示,另一方面在存入SRAM緩存,然后在NIOS II軟核中對(duì)其進(jìn)行處理,之后以圖片的格式存入SD卡?;鞠到y(tǒng)框圖如圖1-1所示:圖1-1 系統(tǒng)框圖所應(yīng)用場(chǎng)合如圖1-2所示。:圖1-2 參考應(yīng)用場(chǎng)合2 CMOS原理和特性與CMOS攝像頭的基本結(jié)構(gòu)2.1 CMOS原理與特性CMOS(Complementary Metal-Oxide-Semiconductor)圖像傳感器是在60年代末期出現(xiàn)的,但由于其性能的不完善嚴(yán)重影響了圖像質(zhì)量,從而制約了它的發(fā)展和應(yīng)用。在70年代和80年代,CCD在可見(jiàn)光成像方面取得了主角的地位。進(jìn)入到90

22、年代,由于對(duì)小型化、低功耗和低成本成像系統(tǒng)消費(fèi)需求的增加和芯片制造技術(shù)和信號(hào)處理技術(shù)的發(fā)展,為新一代低噪聲、優(yōu)質(zhì)圖像和高彩色還原度的CMOS傳感器的開(kāi)發(fā)鋪平了道路,CMOS圖像傳感器成為固體圖像傳感器的研究開(kāi)發(fā)熱點(diǎn),CMOS傳感器的性能也因此大大提高。CMOS圖像傳感器的迅速發(fā)展并商業(yè)化得益于成熟的CMOS工藝,目前國(guó)外諸多公司和科研機(jī)構(gòu)已經(jīng)開(kāi)發(fā)出不同光學(xué)格式、多種類型的CMOS圖像傳感器,并將其應(yīng)用于光譜學(xué)、X射線檢測(cè)、天文學(xué)(觀測(cè)研究)、空間探測(cè)、國(guó)防、醫(yī)學(xué)、工業(yè)等不同的領(lǐng)域。2.1.1CMOS數(shù)字圖像傳感器基本原理CMOS數(shù)字?jǐn)z像頭是由CMOS數(shù)字圖像傳感器芯片、芯片外圍電路和光學(xué)鏡頭組

23、成的。在通常情況下,圖像傳感器芯片的性能就決定了攝像機(jī)的性能。典型的CMOS圖像傳感器芯片是由像素感光陣列與輔助電路構(gòu)成,其結(jié)構(gòu)如圖2-1所示。其中像素感光陣列主要完成光電轉(zhuǎn)換功能,實(shí)現(xiàn)圖像的采集,是芯片的核心組成部分。輔助電路主要完成驅(qū)動(dòng)信號(hào)的產(chǎn)生、光電信號(hào)的處理和信號(hào)輸出等任務(wù),是芯片實(shí)現(xiàn)各種功能的關(guān)鍵電路。圖2-1 CMOS圖像傳感器基本組成原理像素感光陣列是由光電二極管和MOS場(chǎng)效應(yīng)管陣列構(gòu)成的集成電路。在實(shí)際工作中,CMOS圖像傳感器首先在行選擇譯碼器的控制下依次接通被選中行的像素模擬開(kāi)關(guān),圖像信號(hào)通過(guò)行開(kāi)關(guān)傳送到列線上,再通過(guò)列選擇譯碼器的控制傳送到放大器。經(jīng)過(guò)處理的模擬信號(hào)最后由

24、A/D轉(zhuǎn)換器進(jìn)行模數(shù)轉(zhuǎn)換,再經(jīng)預(yù)處理電路處理后通過(guò)接口電路輸出。2.1.2CMOS圖像傳感器的特性(1)光照特性CMOS傳感器的主要應(yīng)用也是圖像的采集,也要求能夠適應(yīng)更寬的光照圍。因此也必須采用非線性的處理方法和自動(dòng)調(diào)整曝光時(shí)間與自動(dòng)增益等處理方法。結(jié)果與CCD相機(jī)一樣損失了光電轉(zhuǎn)換的線性,正因?yàn)榇隧?xiàng),它也受限于灰度的測(cè)量。(2)輸出特性CMOS圖像傳感器的突出優(yōu)點(diǎn)在于輸出特性,它可以部分輸出任意區(qū)域圍的圖像。(并非所有CMOS傳感器都具有這個(gè)功能,如果生產(chǎn)廠家沒(méi)有給您提供)這個(gè)特性在跟蹤、尋的、搜索與室外拍照等的應(yīng)用前景非常之好。也是CCD傳感器所無(wú)法辦到的。(3)光譜響應(yīng)光譜響應(yīng)受半導(dǎo)體材

25、料限制,同種硅材料的光譜響應(yīng)基本一致,與CCD的光譜響應(yīng)基本一致。(4)光敏單元的不均勻性光敏單元的不均勻性是CMOS圖像傳感器的弱項(xiàng),因?yàn)樗墓饷魡卧幌馛CD那樣嚴(yán)格的在同一硅片上用同樣的制造工藝嚴(yán)格制造,因此遠(yuǎn)不如CCD的光敏單元的一致性好,但是它部集成單元多,處理能力強(qiáng)能夠彌補(bǔ)這個(gè)缺陷。2.2 COMS傳感器的基本結(jié)構(gòu)2.2.1 OV7670簡(jiǎn)介下面以O(shè)mniVision公司的OV7670圖像傳感器為例,來(lái)說(shuō)明COMS傳感器的基本結(jié)構(gòu)。OV7670 CAMERACHIPTM圖像傳感器,體積小、工作電壓低,提供單片VGA攝像頭和影像處理器的所有功能。通過(guò)SCCB 總線控制部寄存器,可以使

26、OV7670輸出整幀、子采樣、取窗口等方式的各種分辨率的圖像數(shù)據(jù)。SCCB是OmniVision公司定制的串行攝像頭控制總線(Serial camera control bus),它用于對(duì)攝像頭的寄存器進(jìn)行讀寫,以達(dá)到對(duì)攝像頭輸出圖像的控制。兩線制SCCB與I2C總線類似,是一種雙向二線制同步串行總線。SCCB的數(shù)據(jù)傳輸由微處理器控制,微處理器能夠發(fā)出數(shù)據(jù)傳輸啟動(dòng)信號(hào)、時(shí)鐘信號(hào)以與傳送結(jié)束時(shí)的停止信號(hào)。SCCB接口有兩個(gè)管腳,SIO_C是SCCB時(shí)鐘輸入信號(hào),它的最大頻率為400KZ,SIO_D是SCCB數(shù)據(jù)輸入輸出口,根據(jù)協(xié)議把參數(shù)寫入寄存器和讀取寄存器的數(shù)值。SCCB的時(shí)序圖,如下圖2-2

27、所示: 圖2-2 SCCB控制協(xié)議OV7670攝像頭的VGA圖像最高達(dá)到30幀/秒。用戶可以完全控制圖像質(zhì)量、數(shù)據(jù)格式和傳輸方式。所有圖像處理功能過(guò)程包括伽瑪曲線、白平衡、飽和度、色度等都可以通過(guò)SCCB接口編程。OmmiVision 圖像傳感器應(yīng)用獨(dú)有的傳感器技術(shù),通過(guò)減少或消除光學(xué)或電子缺陷如固定圖案噪聲、托尾、浮散等,提高圖像質(zhì)量,得到清晰的穩(wěn)定的彩色圖像。其主要性能參數(shù),如表2-1所示:表2-1 OV7670性能參數(shù)2.2.2 OV7670部結(jié)構(gòu)其部功能模塊如圖2-3所示:圖2-3 OV7670部組成其中包括:(1)感光陣列(共有656x488個(gè)像素,其中在YUV的模式中,有效像素為6

28、40 x480個(gè)),如圖2-4所示,顯示了一個(gè)斷面的圖像傳感器陣列圖2-4 一個(gè)斷面圖像傳感器陣列(2)模擬信號(hào)處理該模塊執(zhí)行所有模擬功能,包括:自動(dòng)增益自動(dòng)白平衡A/D轉(zhuǎn)換原始的信號(hào)經(jīng)過(guò)模擬處理器模塊之后,分g和BR兩路進(jìn)入一個(gè)10 位的A/D 轉(zhuǎn)換器,A/D 轉(zhuǎn)換器工作在12M頻率,與像素頻率完全同步,(轉(zhuǎn)換的頻率和幀率有關(guān))。除A/D轉(zhuǎn)換器外,該模塊還有以下兩個(gè)功能:(3)黑電平校正(BLC)(4)U/V通道延遲(5)A/D圍控制A/D圍乘積和A/D的圍控制共同設(shè)置A/D的圍和最大值,允許用戶根據(jù)應(yīng)用調(diào)整圖片的亮度。(6)測(cè)試圖案發(fā)生器測(cè)試圖案發(fā)生器有如下功能:八色彩色條圖案漸變至黑白彩

29、色條圖案輸出腳移位“1”(7)數(shù)字信號(hào)處理器該模塊控制由原始信號(hào)插值到RGB 信號(hào)的過(guò)程,并控制一些圖像質(zhì)量:邊緣銳化(二維高通濾波器)顏色空間轉(zhuǎn)換(原始信號(hào)到RGB 或者YUV/YCbYCr)RGB色彩矩陣以消除串?dāng)_色相和飽和度的控制黑/白點(diǎn)補(bǔ)償降噪鏡頭補(bǔ)償可編程的伽瑪十位到八位數(shù)據(jù)轉(zhuǎn)換(8)圖像縮放這個(gè)模塊按照預(yù)先設(shè)置的要求輸出數(shù)據(jù)格式,能將YUV/RGB信號(hào)從VGA縮小到CIF以下的任何尺寸。(9)時(shí)序發(fā)生器通常時(shí)序發(fā)生器有以下功能:陣列控制和幀率發(fā)生部信號(hào)發(fā)生器和分布幀率的時(shí)序自動(dòng)曝光控制輸出外部時(shí)序(VSYNC, HREF/HSYNC和PCLK)其輸出外部時(shí)序如圖2-5所示:水平時(shí)序

30、:圖2-5 OV7670輸出水平時(shí)序VGA框架時(shí)序如圖2-6所示:圖2-6 OV7670輸出VGA框架時(shí)序(10)數(shù)字視頻端口寄存器COM21:0調(diào)節(jié)IOL/IOH的驅(qū)動(dòng)電流,以適應(yīng)用戶的負(fù)載。(11)SCCB接口用于對(duì)OV7670部各個(gè)寄存器的讀與寫。(12)LED和閃光燈輸出控制OV7670/OV7171有閃光燈模式,控制外接閃光燈或閃光LED的工作。3 系統(tǒng)設(shè)計(jì)與硬件實(shí)現(xiàn)3.1 系統(tǒng)結(jié)構(gòu)與工作流程3.1.1系統(tǒng)結(jié)構(gòu)在前言中已經(jīng)提到,本系統(tǒng)的主要是基于FPGA架構(gòu)的,由FPGA作為核心控制與處理單元,其余外部設(shè)備與芯片包括SRAM存儲(chǔ)器、SDRAM存儲(chǔ)器、EPCS4配置芯片、TFT液晶顯示

31、屏等。系統(tǒng)框圖如圖3-1所示,圖3-1 系統(tǒng)總體框架3.1.2系統(tǒng)工作流程(1)系統(tǒng)上電,F(xiàn)PGA通過(guò)配置芯片完成硬件電路配置;(2)硬件電路配置完畢,F(xiàn)PGA部的特定模塊對(duì)OV7670和TFT液晶屏進(jìn)行寄存器的配置初始化設(shè)置;(3)初始化設(shè)置完畢,啟動(dòng)OV7670,F(xiàn)PGA采集圖像數(shù)據(jù)到FPGA部,經(jīng)過(guò)格式轉(zhuǎn)換后,一路存入SRAM緩存,一路直接在TFT液晶屏上實(shí)時(shí)顯示。(4)一幀圖像數(shù)據(jù)全部存入SRAM后,F(xiàn)PGA部的NIOS II軟核讀取SRAM圖像數(shù)據(jù)并解析,處理后以圖片格式存入SD卡中。3.2器件選型與硬件電路實(shí)現(xiàn)3.2.1 FPGA選型FPGA是該系統(tǒng)的核心,由于本系統(tǒng)目前只是完成簡(jiǎn)

32、單的圖像處理,故FPGA選用Altera公司的低成本FPGA Cyclone lI系列器件。Cyclone II系列器件簡(jiǎn)介如表3-l所示。表3-1 Cyclone II系列FPGA參數(shù)對(duì)比Cyclone II器件采用90nm工藝制造,它延續(xù) Cyclone的低成本定位,在邏輯容量、PLL、乘法器和I/O數(shù)量上都較Cyclone有了很大的提高,應(yīng)用Cyclone II進(jìn)行圖像處理開(kāi)發(fā)有如下優(yōu)點(diǎn):(1)低成本高性能,適應(yīng)圖像處理要求較高的需要。Cyclone II器件架構(gòu)是專門為低成本設(shè)計(jì)優(yōu)化的,提供了大量的邏輯單元(LE),密度超過(guò)第一代Cyclone FPGA三倍;其部的邏輯資源可以用來(lái)實(shí)現(xiàn)

33、復(fù)雜的應(yīng)用。與其他低成本90nm FPGA相比,Cyclone II FPGA快60,是市場(chǎng)上性能最好的低成本90nm FPGA。(2)豐富的嵌存儲(chǔ)器資源,適應(yīng)大量圖像數(shù)據(jù)存取的需要。Cyclone lI FPGA基于流行的M4K存儲(chǔ)器塊,提供大量的嵌入式存儲(chǔ)器,支持多種操作模式的配置,包括RAM、ROM、FIFO緩沖器以與單端口和雙端口模式。(3)豐富的硬件乘法器,適應(yīng)圖像處理算法的需要。Cyclone II FPGA提供了大量的比特乘法器,可用于實(shí)現(xiàn)通用DSP功能。出于成本與系統(tǒng)實(shí)現(xiàn)功能的考慮,本系統(tǒng)的FPGA目前暫時(shí)選用EP2C8Q208C8。3.2.2 FPGA配置電路由于目前的FPG

34、A大多采用SRAMI藝,系統(tǒng)掉電后SRAM部的數(shù)據(jù)將丟失,無(wú)法保存,因此必須通過(guò)外部配置,才能再次對(duì)FPGA部的多路器、邏輯、互連線結(jié)點(diǎn)和RAM初始化容進(jìn)行編程。下面簡(jiǎn)單介紹一下FPGA的三種配置方式。FPGA主動(dòng)方式在主動(dòng)方式下,配置過(guò)程如下:FPGA主動(dòng)輸出控制和同步信號(hào)(包括配置時(shí)鐘)給Altera專用的串行配置芯片(EPCSl和EPCS4等),配置芯片在收到命令后,將配置數(shù)據(jù)發(fā)送到FPGA。要支持的這種主動(dòng)方式,Altera FPGA只能夠與Altem公司提供的主動(dòng)串行芯片(EPCS系列)配合使用,Altem稱這種配置方式為主動(dòng)串行AS(Active Serial)模式。AS方式下配置

35、芯片與FPGA相連的信號(hào)有:串行時(shí)鐘輸入(DCLK),AS控制信號(hào)輸入(ASDI),片選信號(hào)(nCS),串行數(shù)據(jù)輸出。FPGA被動(dòng)方式在被動(dòng)方式下,由系統(tǒng)中的其他設(shè)備,如Altem的配置芯片(EPC系列)、微處理器、CPLD等發(fā)起并控制配置過(guò)程,F(xiàn)PGA處于完全被動(dòng)的地位。FPGA接收配置時(shí)鐘、配置命令和配置數(shù)據(jù),給出配置的狀態(tài)信號(hào)以與配置完成指示信號(hào)等。被動(dòng)方式可以具體細(xì)分為以下多種模式,包括被動(dòng)串行PS(Passive Serial)、快速被動(dòng)并行FPP(Fast Passive Parallel)、被動(dòng)并行同步PPS(Passive Paraltel Synchronous)、被動(dòng)并行異

36、步PPA(Passive Parallel Asynchronous),以與被動(dòng)串行異步PSA(Passive SerialAsynchronous)。上述模式這里不再詳述。PS方式下配置設(shè)備與FPGA相連的信號(hào)有:DCLK(配置時(shí)鐘),DATA0(配置數(shù)據(jù)),nCONFIG(配置命令),nSTATUS(狀態(tài)信號(hào)),CONF DONE(配置完成指示)。JTAG方式JTAG是IEEE 11491邊界掃描測(cè)試的標(biāo)準(zhǔn)接嗣。絕大多數(shù)的Altera FPGA都支持由JTAG口進(jìn)行配置,并支持JAM STAPL標(biāo)準(zhǔn),JTAG配置方式比其他任何一種配置方式的優(yōu)先級(jí)都高。扶JTAG接疊進(jìn)行配置可以使用Alte

37、ra的下載電纜,通過(guò)Quartos II工具下載,也可以采用微處理器來(lái)模擬JTAG時(shí)序進(jìn)行配置。JTAG方式下FPGA需要用到以下信號(hào):TDI(測(cè)試數(shù)據(jù)的輸入),TDO(測(cè)試數(shù)據(jù)的輸出),TMS(模式控制管腳,決定JTAG電路部的TAP狀態(tài)機(jī)的跳轉(zhuǎn)),TCK(測(cè)試時(shí)鐘)。Cyclone II的器件都支持上述三種配置方式,本系統(tǒng)可以通過(guò)不同的下載接口可以選擇采用AS方式還是JTAG方式。電路原理圖如圖3-2所示。圖3-2 FPGA配置電路3.2.3SDRAM電路實(shí)現(xiàn)本系統(tǒng)FPGA部設(shè)計(jì)有NIOS II 軟核,SDRAM主要用來(lái)存放軟件MCU中的軟件程序,軟核CPU中設(shè)計(jì)的復(fù)位基地址Reset V

38、evtor與中斷向量基地址Exception Vector,都定義在SDRAM上,即通常說(shuō)的存。如下圖3-3所示:圖3-3 SDRAM設(shè)置在Altera公司FPGA開(kāi)發(fā)軟件quartus ii中,集成有SOPC Bulider。SOPC(System On Programmable Chip,可編程片上系統(tǒng))是Altera公司提出的一種靈活、高效的SOC解決方案,是一種新的軟硬件協(xié)同設(shè)計(jì)的系統(tǒng)設(shè)計(jì)技術(shù)。它將處理器、存儲(chǔ)器、I/O口、LVDS和CDR等系統(tǒng)設(shè)計(jì)需要的功能模塊集成到一個(gè)可編程器件上,構(gòu)成一個(gè)可編程片上系統(tǒng)。本系統(tǒng)所用的SDRAM控制器,就是在SOPC Builder中生成,大大減小

39、了開(kāi)發(fā)難度 。對(duì)于本系統(tǒng)而言,只需要一片SDRAM(K4S641632),其大小為64Mb(1M16Bit4Bank)。FPGA與SDRAM的連接比較簡(jiǎn)單,只需要在FPGA部實(shí)現(xiàn)SDRAM控制器并且配置FPGA相應(yīng)引腳為SDRAM對(duì)應(yīng)的引腳,即A0A10,BA0一BAl,DQ15:0,CLK,CKE,aWE,nCAS,nRAS,LDQM,UDQM,然后將上述引腳與SDRAM相連即可。電路原理圖如圖3-4所示。圖3-4 SDRAM硬件電路圖3.2.4SRAM電路實(shí)現(xiàn)在該系統(tǒng)中,SRAM主要用來(lái)做為圖像數(shù)據(jù)的緩存,用以之后軟核CPU對(duì)圖像的處理工作。本系統(tǒng)采用一片IS61LV25616-10T S

40、RAM芯片即可達(dá)到系統(tǒng)要求,F(xiàn)PGA與SRAM的連接如下圖3-5所示,此模塊最主要的是其控制器的設(shè)計(jì),將在下一章軟件設(shè)計(jì)時(shí)詳細(xì)說(shuō)明。圖3-5 SRAM硬件電路圖3.2.5其他硬件電路上面將幾個(gè)比較復(fù)雜的模塊詳細(xì)說(shuō)明了一下,剩余的幾個(gè)模塊,如OV7670、TFT液晶、SD卡。這幾個(gè)與FPGA之間都只是簡(jiǎn)單的接線連接,在這里就不再詳細(xì)敘述。這幾個(gè)模塊最重要的是軟件設(shè)計(jì),將在下一章詳細(xì)說(shuō)明。4 系統(tǒng)軟件設(shè)計(jì)4.1 軟件設(shè)計(jì)概述本系統(tǒng)軟件設(shè)計(jì)主要分兩部分,一部分是由硬件描述語(yǔ)言設(shè)計(jì)的系統(tǒng)各個(gè)外部的控制模塊,如PLL、MCU主控模塊、OV7670初始化模塊、0V7670數(shù)據(jù)采集模塊、SRAM控制、TFT

41、液晶顯示控制等。另一部分是NIOS II軟核中的程序設(shè)計(jì),主要包括:SD卡控制、圖像算法處理等。系統(tǒng)框圖如下圖4-1所示:圖4-1 FPGA部功能模塊連接圖系統(tǒng)啟動(dòng)后,MCU先完成對(duì)TFT液晶的初始化設(shè)置,然后OV7670初始化模塊完成對(duì)OV7670部各寄存器的配置;完成后產(chǎn)生一個(gè)信號(hào),通知MCU單元0V7670已初始化完畢,然后MCU啟動(dòng)OV7670采集模塊和TFT控制模塊,實(shí)現(xiàn)圖像的實(shí)時(shí)顯示。另一方面,OV7670采集到的數(shù)據(jù),也送入SRAM控制模塊,一幀圖像數(shù)據(jù)全部存入SRAM后,F(xiàn)PGA部的NIOS II軟核讀取SRAM圖像數(shù)據(jù)并解析,處理后以圖片格式存入SD卡中。另外,PLL(Pha

42、se Locked Loop,鎖相環(huán))模塊提供三路不同的頻率信號(hào),為驅(qū)動(dòng)其他模塊提供。4.2 VHDL簡(jiǎn)介與特點(diǎn)VHDL(Very-High-SpeedIntegrated Circuit HardwareDescription Language,超高速集成電路硬件描述語(yǔ)言)誕生于1982年。1987年底,VHDL被IEEE和美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語(yǔ)言 。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語(yǔ)句外,VHDL的語(yǔ)言形式、描述風(fēng)格以與語(yǔ)法是十分類似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言。與其他硬件描述語(yǔ)言相比,VHDL具有以下特點(diǎn): 功能強(qiáng)大、設(shè)計(jì)靈活VHDL具有

43、功能強(qiáng)大的語(yǔ)言結(jié)構(gòu),可以用簡(jiǎn)潔明確的源代碼來(lái)描述復(fù)雜的邏輯控制。它具有多層次的設(shè)計(jì)描述功能,層層細(xì)化,最后可直接生成電路級(jí)描述。VHDL支持同步電路、異步電路和隨機(jī)電路的設(shè)計(jì),這是其他硬件描述語(yǔ)言所不能比擬的。VHDL還支持各種設(shè)計(jì)方法,既支持自底向上的設(shè)計(jì),又支持自頂向下的設(shè)計(jì);既支持模塊化設(shè)計(jì),又支持層次化設(shè)計(jì)。 支持廣泛、易于修改由于VHDL已經(jīng)成為IEEE標(biāo)準(zhǔn)所規(guī)的硬件描述語(yǔ)言,目前大多數(shù)EDA工具幾乎都支持VHDL,這為VHDL的進(jìn)一步推廣和廣泛應(yīng)用奠定了基礎(chǔ)。在硬件電路設(shè)計(jì)過(guò)程中,主要的設(shè)計(jì)文件是用VHDL編寫的源代碼,因?yàn)閂HDL易讀和結(jié)構(gòu)化,所以易于修改設(shè)計(jì)。 強(qiáng)大的系統(tǒng)硬件描

44、述能力VHDL具有多層次的設(shè)計(jì)描述功能,既可以描述系統(tǒng)級(jí)電路,又可以描述門級(jí)電路。而描述既可以采用行為描述、寄存器傳輸描述或結(jié)構(gòu)描述,也可以采用三者混合的混合級(jí)描述。另外,VHDL支持慣性延遲和傳輸延遲,還可以準(zhǔn)確地建立硬件電路模型。VHDL支持預(yù)定義的和自定義的數(shù)據(jù)類型,給硬件描述帶來(lái)較大的自由度,使設(shè)計(jì)人員能夠方便地創(chuàng)建高層次的系統(tǒng)模型。 獨(dú)立于器件的設(shè)計(jì)、與工藝無(wú)關(guān)設(shè)計(jì)人員用VHDL進(jìn)行設(shè)計(jì)時(shí),不需要首先考慮選擇完成設(shè)計(jì)的器件,就可以集中精力進(jìn)行設(shè)計(jì)的優(yōu)化。當(dāng)設(shè)計(jì)描述完成后,可以用多種不同的器件結(jié)構(gòu)來(lái)實(shí)現(xiàn)其功能。 很強(qiáng)的移植能力VHDL是一種標(biāo)準(zhǔn)化的硬件描述語(yǔ)言,同一個(gè)設(shè)計(jì)描述可以被不同

45、的工具所支持,使得設(shè)計(jì)描述的移植成為可能。 易于共享和復(fù)用VHDL采用基于庫(kù)(Library)的設(shè)計(jì)方法,可以建立各種可再次利用的模塊。這些模塊可以預(yù)先設(shè)計(jì)或使用以前設(shè)計(jì)中的存檔模塊,將這些模塊存放到庫(kù)中,就可以在以后的設(shè)計(jì)中進(jìn)行復(fù)用,可以使設(shè)計(jì)成果在設(shè)計(jì)人員之間進(jìn)行交流和共享,減少硬件電路設(shè)計(jì)。4.3 OV7670初始化模塊如前方所述,OV7670攝像頭有很強(qiáng)大圖像處理功能過(guò)程,包括伽瑪曲線、白平衡、飽和度、色度等,而這些功能,都是通過(guò)SCCB接口對(duì)OV7670部的上百個(gè)寄存器進(jìn)行配置而控制。SCCB接口有兩個(gè)管腳,SIO_C是SCCB時(shí)鐘輸入信號(hào),它的最大頻率為400KZ,SIO_D是SC

46、CB數(shù)據(jù)輸入輸出口,根據(jù)協(xié)議把參數(shù)寫入寄存器和讀取寄存器的數(shù)值。SCCB傳輸時(shí)序圖已在前方給出過(guò),在這里為敘述方面再列一下。如下圖4-2所示。圖4-2 SCCB控制協(xié)議在本系統(tǒng)中,按上圖時(shí)序,設(shè)計(jì)配置方案,利用VHDL硬件描述語(yǔ)言設(shè)計(jì)的專用OV7670初始化模塊。該模塊包含兩個(gè)部分,底層部分專門用來(lái)實(shí)現(xiàn)SCCB控制傳輸,向OV7670傳送上層模塊傳送過(guò)來(lái)的初始化數(shù)據(jù)。傳輸?shù)臄?shù)據(jù)幀格式如下圖4-3所示:圖4-3 OV7670初始化數(shù)據(jù)幀格式按照?qǐng)D4-2所示,系統(tǒng)啟動(dòng)時(shí),SIC_C為高電平,即為1時(shí) , 把SIO_D為設(shè)置為1,開(kāi)始傳輸時(shí),SIO_D拉低為0,然后再把SIC_C拉低,表明一幀數(shù)據(jù)開(kāi)

47、始傳輸, 之后把依次把寄存器的地址和初始化數(shù)據(jù)送到SIO_D總線上,在時(shí)鐘SIC_C的驅(qū)動(dòng)下,寫入到OV7670。每設(shè)置一個(gè)寄存器,就調(diào)用一次該底層模塊,直接最終,完成對(duì)OV7670的初始化。發(fā)出初始化完成cmos_finish信號(hào)。其在quartus ii中生成的模塊如下圖4-4所示:圖4-4 OV7670初始化模塊在本系統(tǒng)中的MCU單元中,也設(shè)計(jì)有利用C語(yǔ)言設(shè)計(jì)實(shí)現(xiàn)該功能,在實(shí)際應(yīng)用時(shí),也可使用。兩方案,任選一種。利用VHDL設(shè)計(jì)的硬件初始化模塊,靈活穩(wěn)定,可按要求重新配置,不會(huì)占用MCU的周期指定,這樣就在MCU的軟件設(shè)計(jì)中,只需要著重考慮圖像算法的處理。大大減輕了MCU的負(fù)擔(dān)。仿真結(jié)果

48、如圖4-5所示:圖4-5 初始化仿真時(shí)序4.4 OV7670數(shù)據(jù)采集模塊在初始化程序中,我們已經(jīng)把OV7670配置為,輸出QVGA格式,16位圖像數(shù)據(jù)格式為RGB565。OV7670QVGA輸出時(shí)序,如下圖4-6所示:圖4-6 OV7670 QVGA輸出時(shí)序其中VSYNC為幀同步信號(hào),HREF為行同步信號(hào),只有按照上圖中嚴(yán)格的時(shí)序,即OV7670輸出的時(shí)序,我們才能采集到正確的圖像數(shù)據(jù)。采集到的RGB565格式數(shù)據(jù)符合下圖標(biāo)準(zhǔn)如4-7所示,圖4-7 RGB565數(shù)據(jù)輸出格式采集到的數(shù)據(jù),經(jīng)過(guò)部處理,直接送到TFT顯示屏上進(jìn)行實(shí)時(shí)顯示,TFT液晶顯示屏的初始化將在后面介紹的MCU單元中進(jìn)行,配置

49、為可直接顯示數(shù)據(jù)采集模塊處理過(guò)的圖像數(shù)據(jù)。4.5 SRAM控制模塊和TFT液晶控制模塊此模塊包含兩部分,一部分的功能是用來(lái)轉(zhuǎn)換MCU和寫SRAM模塊對(duì)外部SRAM的控制。另一部分就是SRAM寫入控制模塊,此模塊在OV7670數(shù)據(jù)采集模塊的WR和DATA_VALID等幾個(gè)信號(hào)線的控制下,完成對(duì)SRAM的圖像數(shù)據(jù)寫入。開(kāi)始時(shí),MCU發(fā)出SRAM為空的信號(hào),轉(zhuǎn)換模塊將其轉(zhuǎn)換到對(duì)SRAM進(jìn)行圖像數(shù)據(jù)寫入。當(dāng)一幀圖像寫入完成之后,轉(zhuǎn)換模塊將功能切換到MCU可讀SRAM數(shù)據(jù),從而對(duì)SRAM存儲(chǔ)的圖像進(jìn)行算法處理。在Quartus II中生成的模塊電路如圖4-8所示:圖4-8 SRAM控制模塊TFT液晶控制

50、模塊的功能只是將控制權(quán)從MCU轉(zhuǎn)換到OV7670數(shù)據(jù)采集模塊,系統(tǒng)啟動(dòng)后,MCU中的軟件完成對(duì)TFT液晶顯示屏的初始化,包括背光、顏色、初始寫入的坐標(biāo)等一系列設(shè)置。完成之后,將TFT的控制交給OV7670數(shù)據(jù)采集模塊,因?yàn)樵贠V7670O數(shù)據(jù)采集模塊中,已經(jīng)完成所需的數(shù)據(jù)格式轉(zhuǎn)換,所以這時(shí)TFT液晶可實(shí)時(shí)顯示到采集的圖像。4.6 MCU單元設(shè)計(jì)4.6.1 SOPC Builder簡(jiǎn)介SOPC Builder 是Altera公司推出的一種可加快在PLD實(shí)現(xiàn)嵌入式處理器相關(guān)設(shè)計(jì)的工具。它是一個(gè)革命性的系統(tǒng)級(jí)開(kāi)發(fā)工具,其功能與PC應(yīng)用程序中的“引導(dǎo)模板”類似,旨在提高設(shè)計(jì)者的效率。設(shè)計(jì)者可確定所需要

51、的處理器模塊和參數(shù),并據(jù)此創(chuàng)建一個(gè)處理器的完整存儲(chǔ)器映射。設(shè)計(jì)者還可以選擇所需的IP外圍電路,如存儲(chǔ)器控制器、I/O控制器和定時(shí)器等模塊。SOPC Builder可以快速地開(kāi)發(fā)定制新方案,重建已經(jīng)存在的方案,并為其添加新的功能,提高系統(tǒng)的性能。通過(guò)自動(dòng)集成系統(tǒng)組件,SOPC Builder允許用戶將工作的重點(diǎn)集中到系統(tǒng)級(jí)的需求上,而不是從事把一系列的組件裝配在一起這種普通的、手工的工作。所有版本的Altera Quartus的設(shè)計(jì)軟件都已經(jīng)包含了SOPC Builder。設(shè)計(jì)者采用SOPC Builder,能夠在一個(gè)工具定義一個(gè)從硬件到軟件的完整系統(tǒng),而花費(fèi)的時(shí)間僅僅是傳統(tǒng)SOC設(shè)計(jì)的幾分之一

52、。SOPC Builder提供了一個(gè)強(qiáng)大的平臺(tái),用于組建一個(gè)在模塊級(jí)和組件級(jí)定義的系統(tǒng)。SOPC Builder的組件庫(kù)包含了從簡(jiǎn)單的固定邏輯的功能塊到復(fù)雜的、參數(shù)化的、可以動(dòng)態(tài)生成的子系統(tǒng)等一系列的組件。這些組件可以是從Altera或其他合作伙伴處購(gòu)買來(lái)的IP核,其中一些IP核是可以免費(fèi)下載用來(lái)做評(píng)估的;用戶還可簡(jiǎn)單地創(chuàng)建他們自己定制的SOPC Builder組件。SOPC Builder建的IP核庫(kù)是OpenCore Plus版的業(yè)界領(lǐng)先的Nios/Nios嵌入式軟核處理器。所有的Quartus用戶都能夠把一個(gè)基于Nios/Nios處理器的系統(tǒng)經(jīng)過(guò)生成、仿真和編譯進(jìn)而下載到Altera F

53、PGA中,進(jìn)行實(shí)時(shí)評(píng)估和驗(yàn)證。SOPC Builder庫(kù)中已有的組件包括:(1) 處理器:包括片處理器和片外處理器的接口。(2) IP與外設(shè):包括通用的微控制器外設(shè),通信外設(shè),多種接口(存儲(chǔ)器接口、橋接口、ASSP、ASIC),數(shù)字信號(hào)處理(DSP)IP和硬件加速外設(shè)。如圖4-9所示,SOPC Builder 的設(shè)計(jì)流程包括兩個(gè)階段:配置(框圖左邊所示)和生成(框圖右邊所示)。它是利用Class PTF和System PTF這兩個(gè)文件來(lái)配置和生成系統(tǒng)流程的。SOPC Builder GUI引導(dǎo)用戶完成兩部分的配置:部件配置和系統(tǒng)配置。部件配置需要匯總參數(shù),Class PTF文件標(biāo)準(zhǔn)包括了為這一

54、要求定義GUI的格式。當(dāng)需要時(shí),SOPC Builder讀取該格式,產(chǎn)生相應(yīng)的部件向?qū)?Component Wizard),收集所需的用戶數(shù)據(jù)。然后SOPCBuilder把收集的參數(shù)值存放在System PTF文件中。系統(tǒng)配置是指把用戶提供的有關(guān)處理器的配置、外設(shè)連接等數(shù)據(jù)寫入System PTF中。當(dāng)這兩部分配置都完成后,SOPC Builder進(jìn)入到生成階段,生成設(shè)計(jì)的輸出文件。SOPC Builder查閱每個(gè)ClassPTF文件,允許相關(guān)的部件生成程序,它們會(huì)正確地輸出特定系統(tǒng)配置的硬件和/或軟件文件。簡(jiǎn)單的部件生成程序可能每次都會(huì)輸出一樣的文件,更多的可配置部件則會(huì)根據(jù)用戶輸入生成完全

55、不同的結(jié)構(gòu)。例如,Nios處理器中包括的UART可以配置為軟件控制波特率,以更多門換取更大的靈活性。這種配置選項(xiàng)由用戶在部件配置階段進(jìn)行設(shè)置,根據(jù)這個(gè)設(shè)計(jì),UART生成程序產(chǎn)生所需UART的硬件描述。在生成階段的最后一步,SOPC Builder創(chuàng)建適合于系統(tǒng)部件的總線結(jié)構(gòu),把所有的部件連接在一起。圖4-9 SOPC開(kāi)發(fā)基本順序4.6.2主控制單元MCU的實(shí)現(xiàn)本系統(tǒng)利用SOPC Builder設(shè)計(jì)一個(gè)MCU,用以實(shí)現(xiàn)各個(gè)功能模塊之間的協(xié)調(diào)工作以與圖像的處理、SD卡的控制功能。如圖4-10所示,這是在SOPC Builder中設(shè)計(jì)的系統(tǒng)元件頁(yè),其中包括JTAG調(diào)試接口、Onchipmemory、

56、SDRAM控制、EPCS Flash控制等一系列單元,這些個(gè)模塊都可以在SOPC Builder的自帶元件庫(kù)中找到,并按自己系統(tǒng)的要求進(jìn)行配置。圖4-10 MCU系統(tǒng)元件圖另外一個(gè)就是,SD卡模塊。SD卡(Secure Digital Memory Card),中文翻譯為安全數(shù)碼卡,是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備,它被廣泛地于便攜式裝置上使用,例如數(shù)碼相機(jī)、個(gè)人數(shù)碼助理(PDA)和多媒體播放器等。大小猶如一郵票的SD記憶卡,重量只有2克,但卻擁有高記憶容量、快速數(shù)據(jù)傳輸率、極大的移動(dòng)靈活性以與很好的安全性。在本系統(tǒng)中,包含的SD卡控制模塊,在系統(tǒng)中Library中沒(méi)有,就需要我們自

57、己往工程中添加了,根據(jù)Avalon總線協(xié)議,添加的SD卡控制模塊如下圖4-11所示:圖4-11 MCU中SD卡控制模塊之后就可以生成我們所需的MCU控制塊,添加到我們之前設(shè)計(jì)的VHDL模塊之中,將各個(gè)模塊連接起來(lái),就形成本系統(tǒng)的底層硬件。最后,我們?cè)贜IOS II IDE集成開(kāi)發(fā)環(huán)境中,針對(duì)我們的系統(tǒng),開(kāi)發(fā)軟件程序。4.7 NIOS II軟件開(kāi)發(fā)在之前設(shè)計(jì)的硬件的組成的小系統(tǒng),各個(gè)模塊之間功能相互獨(dú)立,就像一臺(tái)沒(méi)有操作系統(tǒng)的計(jì)算機(jī)一樣,無(wú)法運(yùn)行起來(lái),現(xiàn)在就需要在MCU里面編寫程序,協(xié)調(diào)和控制各個(gè)模塊,完成我們最終的設(shè)計(jì)。4.7.1 NIOS II集成開(kāi)發(fā)環(huán)境Nios II集成開(kāi)發(fā)環(huán)境(IDE)

58、是Nios II系列嵌入式處理器的基本軟件開(kāi)發(fā)工具。所有軟件開(kāi)發(fā)任務(wù)都可以Nios II IDE下完成,包括編輯、編譯和調(diào)試程序。Nios II IDE提供了一個(gè)統(tǒng)一的開(kāi)發(fā)平臺(tái),用于所有Nios II處理器系統(tǒng)。僅僅通過(guò)一臺(tái)PC機(jī)、一片Altera的FPGA以與一根JTAG下載電纜,軟件開(kāi)發(fā)人員就能夠往Nios II 處理器系統(tǒng)寫入程序以與和Nios II處理器系統(tǒng)進(jìn)行通訊。4.7.2 MCU軟件設(shè)計(jì)NIOS II軟核MCU加電啟動(dòng)后,要完成對(duì)TFT液晶屏的初始化、裝載SD卡等系統(tǒng)初始化操作,之后等待OV7670初始化完成信號(hào),OV7670初始化完成后,使能外部的OV770數(shù)據(jù)采集模塊、TFT

59、液晶屏和SRAM寫入模塊。此時(shí),TFT液晶屏上面實(shí)時(shí)顯示采集到的畫面,并且外部模塊一直在向SRAM寫入圖像數(shù)據(jù)。而在MCU部的程序,要等待SRAM寫滿信號(hào)的到來(lái)。當(dāng)SRAM寫滿信號(hào)到來(lái)后,硬件控制器已經(jīng)將一幀數(shù)據(jù)寫入到SRAM中,系統(tǒng)禁止寫SRAM,開(kāi)始對(duì)讀取SRAM中的一幀數(shù)據(jù),將其存入到一個(gè)數(shù)組中。之后進(jìn)行圖像處理,計(jì)算誤差后,將該幀圖像存入SD卡,這樣,一個(gè)循環(huán)結(jié)束。程序流程圖4-12如下所示:圖4-12 MCU中程序流程圖4.7.3簡(jiǎn)單運(yùn)動(dòng)檢測(cè)首先介紹一下RGB色彩模式與YUV色彩模式。RGB色彩模式是工業(yè)界的一種顏色標(biāo)準(zhǔn),是通過(guò)對(duì)紅(R)、綠(G)、藍(lán)(B)三個(gè)顏色通道的變化以與它們

60、相互之間的疊加來(lái)得到各式各樣的顏色的,RGB即是代表紅、綠、藍(lán)三個(gè)通道的顏色,這個(gè)標(biāo)準(zhǔn)幾乎包括了人類視力所能感知的所有顏色,是目前運(yùn)用最廣的顏色系統(tǒng)之一。YUV是被歐洲電視系統(tǒng)所采用的一種顏色編碼方法(屬于PAL),是PAL和SECAM模擬彩色電視制式采用的顏色空間。在現(xiàn)代彩色電視系統(tǒng)中,通常采用三管彩色攝影機(jī)或彩色CCD攝影機(jī)進(jìn)行取像,然后把取得的彩色圖像信號(hào)經(jīng)分色、分別放大校正后得到RGB,再經(jīng)過(guò)矩陣變換電路得到亮度信號(hào)Y和兩個(gè)色差信號(hào)RY(即U)、BY(即V),最后發(fā)送端將亮度和色差三個(gè)信號(hào)分別進(jìn)行編碼,用同一信道發(fā)送出去。這種色彩的表示方法就是所謂的YUV色彩空間表示。采用YUV色彩空

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論