基于 FPGA 的 USB 圖像采集控制器設(shè)計與實現(xiàn)_第1頁
基于 FPGA 的 USB 圖像采集控制器設(shè)計與實現(xiàn)_第2頁
基于 FPGA 的 USB 圖像采集控制器設(shè)計與實現(xiàn)_第3頁
基于 FPGA 的 USB 圖像采集控制器設(shè)計與實現(xiàn)_第4頁
基于 FPGA 的 USB 圖像采集控制器設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、題(中、英文)目 基于FPGA 的USB 圖像采集控制器設(shè)計與實現(xiàn)The Design and Implementation of USB Image 作者姓名 王宇鑫 學(xué)校指導(dǎo)教師姓名職稱 沈沛意 教授 工程領(lǐng)域 軟件工程 企業(yè)指導(dǎo)教師姓名職稱 劉曉林 高級工程師 提交論文日期 二一二年四月代號 分類號學(xué)號 密級10701 10092007 U D 編號西安電子科技大學(xué)學(xué)位論文創(chuàng)新性聲明秉承學(xué)校嚴謹?shù)膶W(xué)分和優(yōu)良的科學(xué)道德,本人聲明所呈交的論文是我個人在導(dǎo)師指導(dǎo)下進行的研究工作及取得的研究成果。盡我所知,除了文中特別加以標注和致謝中所羅列的內(nèi)容以外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果

2、;也不包含為獲得西安電子科技大學(xué)或其它教育機構(gòu)的學(xué)位或證書而使用過的材料。與我一同工作的同志對本研究所做的任何貢獻均已在論文中做了明確的說明并表示了謝意。申請學(xué)位論文與資料若有不實之處,本人承擔(dān)一切的法律責(zé)任。本人簽名: 日期西安電子科技大學(xué)關(guān)于論文使用授權(quán)的說明本人完全了解西安電子科技大學(xué)有關(guān)保留和使用學(xué)位論文的規(guī)定,即:研究生在校攻讀學(xué)位期間論文工作的知識產(chǎn)權(quán)單位屬西安電子科技大學(xué)。學(xué)校有權(quán)保留送交論文的復(fù)印件,允許查閱和借閱論文;學(xué)??梢怨颊撐牡娜炕虿糠謨?nèi)容,可以允許采用影印、縮印或其它復(fù)制手段保存論文。同時本人保證,畢業(yè)后結(jié)合學(xué)位論文研究課題再撰寫的文章一律署名單位為西安電子科技大

3、學(xué)。 (保密的論文在解密后遵守此規(guī)定)本學(xué)位論文屬于保密,在 年解密后適用本授權(quán)書。本人簽名: 日期導(dǎo)師簽名: 日期摘要摘要終端消費品研發(fā)過程中需要對屏幕圖片信息進行檢測以保證產(chǎn)品質(zhì)量。由于目前各種類型終端產(chǎn)品開發(fā)的芯片平臺不統(tǒng)一,存在沒有圖像數(shù)據(jù)傳輸接口或圖像數(shù)據(jù)接口傳輸時間過長等問題,實際測試工作效果欠佳。同時,隨著產(chǎn)品研發(fā)對獲取屏幕顯示圖像的自動化需求增多,原本傳統(tǒng)通過人工獲取屏幕數(shù)據(jù)信息的方式有被自動化方式所取代的趨勢,對LCD 屏幕圖像數(shù)據(jù)采集系統(tǒng)的設(shè)計實現(xiàn)已成必然的需求。本文目的旨在研究基于“FPGA+USB控制器”架構(gòu)的圖像數(shù)據(jù)采集系統(tǒng)設(shè)計與實現(xiàn)方法。針對實習(xí)公司對屏幕圖像數(shù)據(jù)采

4、集系統(tǒng)的功能需求特點,采用嵌入式設(shè)計的思想,通過對大量測試數(shù)據(jù)分析和需求澄清描述,建立系統(tǒng)工作原理設(shè)計方案,實現(xiàn)了設(shè)計的圖像采集系統(tǒng),并對系統(tǒng)的性能、軟件體系進行測試以保證滿足設(shè)計需求,最后基于設(shè)計部署一個自動化測試應(yīng)用方案。本項目的應(yīng)用,不僅保證實習(xí)公司測試工作的準確性、優(yōu)化測試流程,也使測試自動化率得到顯著提升。實驗結(jié)果及應(yīng)用效果表明,該系統(tǒng)的可行性和有效性達到設(shè)計要求,有著重要的現(xiàn)實意義和生產(chǎn)應(yīng)用價值。關(guān)鍵詞:圖像采集系統(tǒng) FPGA USB控制器 自動化測試基于FPGA 的USB 圖像采集控制器設(shè)計與實現(xiàn)AbstractAbstractThe development process of

5、 terminal consumer need to testing screen picture information in order to ensure product quality. Because of the variety of terminal product development microarray platforms are not unified, there is no image data transmission interface or image data interface transmission time too much, or any othe

6、r issues, the actual test is effecting of poor. At the same time, along with the product development to obtain screen display image automated demand increasing, the traditional manual access to the screen through the data information in a manner has been replaced by automation trend, on the LCD scre

7、en image data acquisition system design has become an inevitable demand.The paper aims to research a design and technique of the image processing data acquisition system based on the architecture of “FPGA+USB controller”. According to the practice of screen image data acquisition system function dem

8、and characteristics, use of embedded design, based on a large amount of test data analysis and demand clarify describe, establish the working principle of the system design, implementation of the image acquisition system. Testing for the system performance and software system to ensure meet the desi

9、gn demand, at last based on the final design deployment of a test automation applications. The project application not only to ensure the practice company test the accuracy of the work, optimize the test flow, but also make the test automation rate significantly improved. Experimental results and ap

10、plication show that, the system is feasible and effective to meet the design requirements, which has important practical significance and application value.Key words: Image Acquisition System, FPGA, USB controller, Automatic Testing基于FPGA 的USB 圖像采集控制器設(shè)計與實現(xiàn)目錄目錄第一章 緒論 . . 11.1 選題的背景 . . 11.2 課題的研究意義 .

11、 . 11.3 課題的研究現(xiàn)狀 . . 21.4 論文的研究內(nèi)容 . . 61.5 論文的章節(jié)安排 . . 6第二章 相關(guān)理論與技術(shù) . . 92.1 FPGA開發(fā)設(shè)計流程 . 92.2 Cyclone III FPGA基本結(jié)構(gòu) . 102.3 USB通信開發(fā)軟件體系 . 152.4 USB控制器EZ-USB FX2軟件架構(gòu) . . 202.5 本章小結(jié) . . 22第三章 系統(tǒng)需求與總體設(shè)計. 233.1 系統(tǒng)需求 . . 233.2 傳統(tǒng)圖像數(shù)據(jù)采集系統(tǒng)架構(gòu)方案分析 . . 233.3 本項目系統(tǒng)設(shè)計方案及優(yōu)缺點分析 . . 253.4 系統(tǒng)總體設(shè)計方案工作流程 . . 273.5 本章小

12、結(jié) . . 29第四章 系統(tǒng)硬件設(shè)計與實現(xiàn). 314.1 系統(tǒng)單板主要模塊接口電路設(shè)計 . . 31基于FPGA 的USB 圖像采集控制器設(shè)計與實現(xiàn)4.2 FPGA模塊的硬件電路設(shè)計 . 344.3 USB控制器模塊的硬件電路設(shè)計 . . 404.4 本章小結(jié) . . 45第五章 系統(tǒng)軟件設(shè)計與實現(xiàn) . 475.1 FPGA的加載配置方式 . 475.2 FPGA模塊邏輯軟件設(shè)計及實現(xiàn) . 495.3 USB控制器模塊軟件設(shè)計及實現(xiàn) . . 555.4 PC端主機應(yīng)用程序設(shè)計及實現(xiàn) . . 585.5 本章小結(jié) . . 70第六章 系統(tǒng)測試與應(yīng)用 . 716.1 圖像數(shù)據(jù)采集系統(tǒng)測試驗證 .

13、. 716.2 圖像數(shù)據(jù)采集系統(tǒng)典型應(yīng)用 . . 766.3 本章小結(jié) . . 78目錄第七章 總結(jié)與展望 . . 797.1 工作總結(jié) . . 797.2 展望 . . 80致謝 . . 81參考文獻 . . 83第一章 緒論 1第一章 緒論1.1 選題的背景隨著信息通訊和電子科技的進步,嵌入式設(shè)計技術(shù)也隨之得到飛速發(fā)展和應(yīng)用,要求嵌入式設(shè)計系統(tǒng)不僅要處理內(nèi)部的數(shù)據(jù),也要接收和處理來自外部硬件的信息,例如圖像、音頻采集卡以及外部存儲設(shè)備的數(shù)據(jù)。由于這些設(shè)備的數(shù)據(jù)量往往都比較大,這對嵌入式設(shè)計與外設(shè)之間的傳輸系統(tǒng)提出了更高的要求:系統(tǒng)不僅需要具有較高的傳輸速度,而且與接口必須簡單易用,同時能實

14、現(xiàn)對數(shù)據(jù)的實時處理。傳統(tǒng)的外設(shè)通訊接口如PCI 總線或RS-232總線很難再滿足嵌入式系統(tǒng)高速傳輸及多擴展的要求:PCI 總線雖然傳輸率可達到133MHz ,但擴展槽有限且插拔不方便;RS-232總線雖然連接方便,可是帶寬非常有限,最高傳輸速率只有128Kbps ,而且一條RS-232串口通信電纜只能連接1個物理設(shè)備。而USB 技術(shù)正是順應(yīng)這一要求提出應(yīng)用的:其具有較高的傳輸速度,實現(xiàn)了真正意義上的“即插即用(Plug & Play )”,并且最多可以連接127個外設(shè),十分適用于高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計1?,F(xiàn)場可編程門陣列(FPGA )是近二十幾年出現(xiàn)的一種新型可編程邏輯器件。FPGA 既集成了

15、門陣列邏輯器件密度高和通用性強的優(yōu)點,又具備可編程邏輯器件的可編程特性。從1985年美國Xilinx 公司首家推出后,F(xiàn)PGA 就倍受青睞,并得到迅速發(fā)展,現(xiàn)已廣泛應(yīng)用于通信、計算機、圖像處理等諸多領(lǐng)域。FPGA 最大的特點是結(jié)構(gòu)靈活,有較強的通用性,適于模塊化設(shè)計,提高算法效率,同時其開發(fā)周期較短,系統(tǒng)易于維護,適合于實時數(shù)據(jù)處理,廣泛應(yīng)用于一些包含大運算量的算法處理中2。因此結(jié)合USB 和FPGA 技術(shù)來實現(xiàn)數(shù)據(jù)采集、傳輸與處理系統(tǒng)是一種很好的嵌入式實時圖像采集處理方案。1.2 課題的研究意義圖像數(shù)據(jù)采集是獲取信息來源的重要途徑之一,是現(xiàn)代信息技術(shù)發(fā)展的重要基礎(chǔ)和研究熱點,高速、快捷的采集

16、傳輸數(shù)據(jù)則是圖像處理問題中的經(jīng)典技術(shù)難題之一。目前學(xué)術(shù)界已有的算法大多通過軟件實現(xiàn),如何將這些算法用硬件電路實現(xiàn),并實現(xiàn)數(shù)據(jù)實時處理與高速傳輸是未來發(fā)展的一個方向。因此,設(shè)計一個可用于圖像原始數(shù)據(jù)采集、具有實時數(shù)據(jù)傳輸和處理功能電路系統(tǒng)具有很重要的作用;另一方面,如果能在實現(xiàn)數(shù)據(jù)采集、高速傳輸?shù)南到y(tǒng)上進行功能擴展應(yīng)用,例如本文討論的自動化測試場景,其將具有更實際、更廣闊的應(yīng)用領(lǐng)域與社會經(jīng)濟價值意義?;贔PGA 的USB 圖像采集控制器設(shè)計與實現(xiàn) 2 基于所在實習(xí)公司的實際工作需求,對圖像數(shù)據(jù)采集系統(tǒng)進行軟硬件設(shè)計實現(xiàn),考慮到后期圖像數(shù)據(jù)采集系統(tǒng)可用于公司自動化測試體系方面的發(fā)展需要,本設(shè)計結(jié)

17、合USB 和FPGA 技術(shù),同時充分利用USB 控制器提供的高速總線特性解決傳輸速率低和FPGA 可編程的設(shè)計靈活性解決應(yīng)用場景接口的兼容性問題。由于系統(tǒng)實現(xiàn)中使用的CYPRESS 公司EZ-USB FX2(CY7C68013)型號USB 控制器全面支持USB2.0協(xié)議,使得基于該USB 控制器的從屬FIFO 通道FPGA 接口可以在高速(480Mb/s)方式下,把需要的圖像數(shù)據(jù)信息從FPGA 端傳輸給上位機,其通信方式與傳統(tǒng)串口輸出調(diào)試原理相同,但克服了傳輸速度慢、信息獲取有誤的瓶頸問題,滿足公司應(yīng)用場景的指標需求,具有數(shù)據(jù)高速傳輸、可進行采集數(shù)據(jù)擴展應(yīng)用的實際優(yōu)勢,最后通過上位機PC 端的

18、后臺封裝命令,調(diào)用相關(guān)接口來實現(xiàn)數(shù)據(jù)采集系統(tǒng)在自動化測試場景的應(yīng)用。1.3 課題的研究現(xiàn)狀目前基于計算機的圖像采集系統(tǒng)有兩種實現(xiàn)形式:一種是采用插板卡的形式與計算機接口通信,采集信息傳輸?shù)桨蹇ㄟM行處理,數(shù)字化后傳入PC 機。典型應(yīng)用就是PCI 接口的圖像/視頻采集卡,通過PCI 系統(tǒng)總線與PC 機相連(或者制成板卡直接插在PC 機主板插槽上)這種總線傳輸方式速度比較快,但可占用的PC 接口資源有限而且需要對接口卡的硬件資源(地址、內(nèi)存、中斷、DMA 等)進行合理配置,因此不易進行擴展3;另外,采用插卡式的傳輸板在安裝的時候都必須先停機然后拆卸機箱,安裝和配置過程人工手動處理繁瑣,當擴展卡多時經(jīng)

19、常出現(xiàn)無法正常配置而影響系統(tǒng)的運行。另一種基于計算機的圖像采集系統(tǒng)實現(xiàn)形式是采用與計算機相對獨立的圖像采集設(shè)備完成圖像的數(shù)字化,數(shù)字圖像數(shù)據(jù)經(jīng)過各種接口傳輸?shù)接嬎銠C中進行單獨處理。由于后者更適合構(gòu)建靈活方便的圖像采集系統(tǒng),很快得到迅速發(fā)展,可以找到采用各式接口的基于計算機的圖像采集系統(tǒng)應(yīng)用方案。例如目前廣泛應(yīng)用在監(jiān)控領(lǐng)域的網(wǎng)絡(luò)攝像機一般采用CMOS 圖像傳感器和嵌入式系統(tǒng)相結(jié)合的構(gòu)造,圖像傳感器采集的圖像數(shù)據(jù)經(jīng)過嵌入式微處理器的處理后,經(jīng)過網(wǎng)絡(luò)接口進行傳輸4。此外,一些高端的數(shù)碼相機采用1394接口將數(shù)字圖像數(shù)據(jù)傳入計算機。在一些特殊應(yīng)用場合如圖像監(jiān)控5、軍事應(yīng)用等方面,圖像數(shù)據(jù)是經(jīng)過無線傳輸

20、的。而國內(nèi)最常見消費類電子產(chǎn)品攝像頭也是采取相對獨立設(shè)備的低端圖像采集系統(tǒng),此類產(chǎn)品多通過USB1.1接口與計算機相連,數(shù)據(jù)傳輸速率最大12Mbps 。由于所使用的芯片集成度高,其結(jié)構(gòu)非常簡單,一般只有兩部分組成:鏡頭和CMOS 圖像傳第一章 緒論 3感器組件;集成有USB1.1接口的專用多媒體芯片6。由于USB 采用差分信號傳輸,具有良好的可靠性,設(shè)備控制、管理和數(shù)據(jù)交換由PC 機按USB 協(xié)議進行,幾乎不占用資源,對系統(tǒng)運行影響很小。應(yīng)用USB 總線還可以清除PC 上過多的I/O端口,以一個串行通道取代,使PC 與外設(shè)之間的連接更容易7。因此采用USB 與PC 機連接是數(shù)據(jù)傳輸?shù)囊粋€必然趨

21、勢。隨著電子技術(shù)的發(fā)展,電子系統(tǒng)的設(shè)計方法正從傳統(tǒng)的分立元件設(shè)計方法逐步發(fā)展成基于集成芯片的EDA 技術(shù)設(shè)計,系統(tǒng)一體化已成為電子系統(tǒng)設(shè)計的主流。FPGA 是當今流行的可編程專用集成電路(ASIC )之一,F(xiàn)PGA 具有靜態(tài)可重復(fù)編程和動態(tài)系統(tǒng)重構(gòu)的特性,使得它的功能像軟件一樣通過編程實現(xiàn)。另外FPGA 很好的實現(xiàn)數(shù)字信號的并行處理,在一些復(fù)雜控制領(lǐng)域和數(shù)字算法處理上具有很大的優(yōu)勢,因此在選擇數(shù)據(jù)采集及處理系統(tǒng)芯片時FPGA 就成為首選??傊?,在數(shù)據(jù)采集傳輸處理系統(tǒng)中結(jié)合USB 和FPGA 的各自優(yōu)勢技術(shù),通過設(shè)計硬件電路來實現(xiàn)數(shù)據(jù)采集傳輸和處理將會使系統(tǒng)的應(yīng)用更加廣泛方便,具有更高的效率。基

22、于FPGA 的USB 圖像采集控制器設(shè)計與實現(xiàn) 4 年11月新一代的USB 3.0標準已經(jīng)正式完成并公開發(fā)布,新規(guī)范提供十倍于USB 2.0的傳輸速度和更高的節(jié)能效率,最大傳輸帶寬高達5.0Gbps ,也就是640MB/s,同時在使用A 型的接口時向下兼容,可廣泛用于PC 外圍設(shè)備和消費電子產(chǎn)品。USB 協(xié)議規(guī)定設(shè)備通過一個4針的標準插頭,采用菊花鏈形式把所有的外設(shè)連接起來。USB 的傳輸速度要比標準的串行口快得多,使連接到計算機上的設(shè)備共同分享USB 的帶寬。USB 的分時處理機制真正在硬件意義上實現(xiàn)了計算機設(shè)備的即插即用,最多能同時連入127個USB 設(shè)備。雖然通信功能強大,但USB 數(shù)據(jù)

23、傳輸只有四條線,兩條是電源線(VCC 與GND ),兩條是差分數(shù)據(jù)信號線(D+與D-)9。隨著USB 設(shè)備種類的迅速增加,設(shè)備與設(shè)備之間的直接數(shù)據(jù)傳輸變得越來越迫切,USB 2.0 OTG(On-The-Go )技術(shù)應(yīng)運而生,它于2001年12月底制定,賦予了設(shè)備雙重身份,也就是說它既可以作為主機,又可以作為設(shè)備,其實質(zhì)是在設(shè)備中增加了一個嵌入式計算機來執(zhí)行主機任務(wù)。USB 2.0 OTG的標準,可以使USB 標準突破原先USB 必需主機控制端的限制,從而可以把兩臺USB 設(shè)備任意互連。由于USB 2.0 OTG標準和現(xiàn)行的USB 2.0/USB 1.1標準互通,使得一般信息、家電產(chǎn)品所采用的

24、芯片只要支持USB 2.0 OTG標準,便可與同樣支持USB 2.0 OTG標準的便攜式設(shè)備通過線纜互連,在理論上達到每秒480 Mb/s的傳輸效能(由于可能會有內(nèi)部損耗,故實際傳輸值會略差別于理論值)10。正是由于通用串行總線(USB )具有快速、雙向、大批量傳輸、廉價以及可實現(xiàn)熱插拔等諸多優(yōu)點,大量基于USB2.0標準的芯片、產(chǎn)品涌入市場。Cypress 公司FX2架構(gòu)系列芯片之一的CY7C68013就是最早符合USB2.0標準的微控制器,它集成了符合USB2.0標準的收發(fā)器、串行接口引擎(SIE )、增強型8051內(nèi)核以及可編程的外圍接口11。實現(xiàn)基于USB2.0的接口數(shù)據(jù)通信,CY7C

25、68013可根據(jù)應(yīng)用場景特性配置成3種不同的接口模式:Ports (端口模式)、GPIF Master (可編程接口模式)和Slave FIFO(主從模式),其中,后兩種模式利用其內(nèi)部集成的可獨立于微處理器而自動處理USB 事務(wù)的硬件(USB 核),數(shù)據(jù)的傳輸通過執(zhí)行USB 本身的協(xié)議來完成,微處理器可不參與數(shù)據(jù)傳輸,從而使數(shù)據(jù)的傳輸速率大大提高,同時簡化了固件代碼的開發(fā),由于克服了微處理器這個“帶寬瓶頸”,因而廣泛應(yīng)用于大批量的數(shù)據(jù)傳輸,如圖像、視頻等信號采集領(lǐng)域。FPGA (Field Programmable Gate Array)即現(xiàn)場可編程門陣列,是一種可編程邏輯器件。FPGA 在上

26、世紀90年代得到快速的發(fā)展,并且到目前為止己經(jīng)成為實現(xiàn)嵌入式數(shù)字系統(tǒng)的主流硬件平臺之一。作為ASIC 領(lǐng)域中的一種半定制電路,F(xiàn)PGA 的出現(xiàn)既解決了定制電路的不足,又克服了原有可編程器件(如PLD 、CPLD 等)門第一章 緒論 5電路較少的缺點,因此在嵌入式領(lǐng)域得到了廣泛應(yīng)用。FPGA 是通過邏輯組合來實現(xiàn)各種功能的器件,幾乎可以進行任何類型的處理;對于常用的數(shù)字信號處理,有些FPGA 專門還提供DSP 模塊來實現(xiàn)加速;FPGA 的并行處理架構(gòu)非常適合圖像處理、數(shù)字信號處理等運算密集的應(yīng)用;用某款芯片無法滿足要求時,還可以通過使用同樣封裝且容量更大的FPGA 芯片來提供更高的處理能力,既可

27、以保持管腳的兼容性,又無須對PCB 板進行修改;FPGA 的可編程性使設(shè)計工程師可以隨時對設(shè)計進行修改,即使在產(chǎn)品部署后也能對設(shè)計錯誤進行更正;FPGA 不但可以完成MCU 和DSP 的各種功能,還可以根據(jù)需要生成新的功能,或者調(diào)配各項功能之間的資源配比,使同一個硬件電路設(shè)計可以滿足不同的應(yīng)用需求;FPGA 還可以利用現(xiàn)成的處理器內(nèi)核,直接生成軟處理器,并在其上運行操作系統(tǒng)。用戶可以通過硬件設(shè)計語言來對FPGA 進行編程和配置,以實現(xiàn)某些特定功能,并且FPGA 可以被反復(fù)擦寫。在修改和升級數(shù)字系統(tǒng)時,不需要再改變PCB 電路板和芯片,這樣既縮短了系統(tǒng)設(shè)計的周期,提高了實現(xiàn)的靈活性,又降低了成本

28、。由于FPGA 需要被反復(fù)配置,所以它實現(xiàn)電路邏輯的基本結(jié)構(gòu)不能像ASIC 那樣通過與非門來完成,而是采用一種易于反復(fù)配置的被稱作查找表的結(jié)構(gòu)。目前,主流的FPGA 芯片都采用了基于SRAM 工藝的查找表結(jié)構(gòu),當然也有一些芯片采用基于Flash 或者熔絲與反熔絲工藝的查找表結(jié)構(gòu)12。目前,在FPGA 市場占有率最高的兩大公司是Xilinx 和Altera 。它們生產(chǎn)的FPGA 都是基于SRAM 工藝的,掉電時程序會丟失,在使用時需要一個片外非易失性存儲器來保存程序。FPGA 是由存放在片內(nèi)的RAM 來設(shè)置其功能的,工作時需要先對片內(nèi)RAM 進行編程。FPGA 主要有以下幾種配置模式:并行模式、

29、主從模式、串行模式、外設(shè)模式,用戶可根據(jù)不同的配置模式,采用不同的編程方式。每次上電時,F(xiàn)PGA 將片外存儲器中的配置比特流讀入片內(nèi)RAM ,完成配置后進入工作狀態(tài);掉電后,F(xiàn)PGA 內(nèi)部邏輯配置將消失。這使得FPGA 不僅能反復(fù)使用,還無需專門的FPGA 編程器,只需EPROM 、PROM 編程器13。由于FPGA 通過邏輯組合實現(xiàn)功能,其功耗和成本一般高于MCU 和DSP 。隨著FPGA 的制造工藝向65nm 、45nm 和更先進的工藝發(fā)展,F(xiàn)PGA 的器件成本越來越低。在幾年前,F(xiàn)PGA 給人的印象一直是價格高高在上,除了通信、航天、軍工、工業(yè)等少數(shù)行業(yè),F(xiàn)PGA 更多地是在扮演原型驗證

30、開發(fā)的角色,在消費類電子等更廣大的市場中遲遲未打開局面。隨著Xilinx 和Altera 等公司競相采用新的制造工藝,價格在很多應(yīng)用中已不再是障礙,特別是在一些需要特定功能的應(yīng)用中,用FPGA 成為一個非常實際的選擇。Cyclone 系列FPGA 是Altera 公司設(shè)計生產(chǎn)的產(chǎn)品,具有多款芯片,門數(shù)在10萬到160萬之間, 本設(shè)計將以Cyclone III系列的EP3C120F780芯片作為主控芯片來實現(xiàn)硬件電路的設(shè)計?;贔PGA 的USB 圖像采集控制器設(shè)計與實現(xiàn) 6 1.4 論文的研究內(nèi)容本項目主要是所在實習(xí)公司根據(jù)市場、產(chǎn)品需求而進行的研發(fā)應(yīng)用工程,目前業(yè)界基于類似應(yīng)用場景的相關(guān)工具

31、并不存在,缺乏可借鑒改進的經(jīng)驗,從產(chǎn)品成果來講屬于自主創(chuàng)新型工程開發(fā)。本項目設(shè)計目的在于:解決無平臺差異的LCD 屏幕圖像獲取需求,通過外設(shè)單板完成帶屏類產(chǎn)品的屏幕數(shù)據(jù)獲取,在PC 端完成數(shù)據(jù)處理并輸出指定格式屏幕數(shù)據(jù)圖片,為自動化測試執(zhí)行收集有效的判斷信息,實現(xiàn)自動化測試應(yīng)用。結(jié)合上述實際需求,在查閱大量類似數(shù)據(jù)采集系統(tǒng)設(shè)計方案后,本文提出基于“FPGA+USB控制器”架構(gòu)的圖像數(shù)據(jù)采集傳輸系統(tǒng)方案;同時在系統(tǒng)工具應(yīng)用時基于面向?qū)ο箝_發(fā)思想,設(shè)計封裝相應(yīng)的用戶接口類,便于自動化測試系統(tǒng)的建立調(diào)用。本文在整個系統(tǒng)硬件單板和軟件體系設(shè)計實現(xiàn)過程中主要完成以下研究工作:1、圖像數(shù)據(jù)采集系統(tǒng)設(shè)計方案

32、的研究。具體的研究內(nèi)容包括:業(yè)界成熟的圖像數(shù)據(jù)采集系統(tǒng)設(shè)計架構(gòu)方案及應(yīng)用現(xiàn)狀,閱讀并分析了大量有關(guān)圖像數(shù)據(jù)采集系統(tǒng)的資料及學(xué)術(shù)論文,結(jié)合已有理論及項目需求特點進行詳細的業(yè)務(wù)、功能分析,完成本文提出的圖像數(shù)據(jù)采集系統(tǒng)整體設(shè)計以及系統(tǒng)應(yīng)用實現(xiàn)。2、設(shè)計并實現(xiàn)系統(tǒng)硬件外設(shè)單板。具體的研究內(nèi)容包括設(shè)計單板PCB 整體布局、接口電路、FPGA 采集模塊和USB 控制器模塊的板級布局。3、設(shè)計并實現(xiàn)系統(tǒng)硬件外設(shè)單板初始化及功能加載。具體的研究內(nèi)容包括FPGA 配置加載、USB 控制器固件初始化、對硬件外設(shè)單板進行初始化調(diào)試,完成系統(tǒng)設(shè)備的枚舉加載。4、設(shè)計并實現(xiàn)系統(tǒng)軟件體系結(jié)構(gòu)。具體研究內(nèi)容包括FPGA

33、模塊的邏輯實現(xiàn)、基于USB 控制器開發(fā)框架的PC 端主機應(yīng)用程序設(shè)計實現(xiàn)、封裝自動化用戶接口命令。5、根據(jù)用戶需求完成對系統(tǒng)功能的測試驗證工作,同時部署一個圖像采集系統(tǒng)自動化測試應(yīng)用方案,驗證本系統(tǒng)應(yīng)用場景的有效性及實用性。1.5 論文的章節(jié)安排本論文共分七章,各章節(jié)主要內(nèi)容組織如下:第一章:緒論。給出課題的研究背景、意義及其研究現(xiàn)狀,提出本論文的主要研究內(nèi)容;第二章:相關(guān)理論與技術(shù)。簡要描述了本論文研究過程中涉及到的關(guān)鍵理論、技術(shù)。主要包括:第一部分,F(xiàn)PGA 開發(fā)設(shè)計流程;介紹FPGA 開發(fā)的基本流程、編第一章 緒論 7譯工作及相關(guān)概念等。第二部分,Cyclone III FPGA基本結(jié)構(gòu)

34、;簡要介紹Cyclone III 系列FPGA 芯片特點及其在本設(shè)計中的應(yīng)用。第三部分,USB 通信開發(fā)軟件體系;介紹關(guān)于USB 設(shè)備通信的軟件體系分層結(jié)構(gòu)及各層的作用。第四部分,USB 控制器EZ-USB FX2軟件架構(gòu),主要講解USB 控制器模塊主芯片開發(fā)的軟件相關(guān)技術(shù);第三章:系統(tǒng)需求和總體設(shè)計。首先對項目具體功能需求進行詳細分析,提出了系統(tǒng)總體架構(gòu)方案及功能結(jié)構(gòu)圖;第四章:系統(tǒng)硬件設(shè)計與實現(xiàn)。重點介紹系統(tǒng)外設(shè)單板工具PCB 布局及硬件系統(tǒng)設(shè)計實現(xiàn);第五章:系統(tǒng)軟件設(shè)計與實現(xiàn)。這部分是本論文的重點,對系統(tǒng)軟件體系及各主要功能模塊詳細設(shè)計實現(xiàn)進行論述,特別是給用戶封裝的自動化命令實現(xiàn)部分;

35、第六章:系統(tǒng)測試與應(yīng)用。給出系統(tǒng)的運行環(huán)境,同時針對第三章中系統(tǒng)需求指標重點進行測試。隨后給出本文設(shè)計系統(tǒng)的一個具體自動化應(yīng)用部署方案,并且給出應(yīng)用評測結(jié)果;第七章:總結(jié)與展望。對本論文所完成的工作成果進行總結(jié),對存在的問題提出建議,并對下一步改進工作提出展望?;贔PGA 的USB 圖像采集控制器設(shè)計與實現(xiàn) 8第二章 相關(guān)理論與技術(shù) 9第二章 相關(guān)理論與技術(shù)2.1 FPGA開發(fā)設(shè)計流程完整的FPGA 設(shè)計流程包括電路設(shè)計輸入、綜合優(yōu)化、布局布線、時序分析仿真、板級仿真驗證、調(diào)試加載配置等主要步驟,一系列設(shè)計活動和編譯工作主要借助于專門的開發(fā)工具進行。Quartus II是Altera 公司推

36、出的新一代PGGA 綜合開發(fā)工具,它集成了Altera 的FPGA 開發(fā)流程中涉及的所有工具和第三方軟件接口,提供完整的多平臺設(shè)計環(huán)境,通過此綜合開發(fā)工具可以輕易的滿足特殊設(shè)計要求,設(shè)計者可以很方便的創(chuàng)建、組織和管理自己的設(shè)計。下面結(jié)合Quartus II軟件的使用來說明FPGA 開發(fā)設(shè)計和編譯等相關(guān)工作。1. 設(shè)計輸入電路設(shè)計輸入是指通過某些規(guī)范的描述方法將電路構(gòu)思輸入給EDA 工具的過程。Quartus II設(shè)計軟件支持多種格式的輸入方法,其中包括原理圖式圖形輸入、硬件描述語言(AHDL 、VHDL 、Verilog HDL等)、Core 輸入方式等,同時使用分配編輯器(Assignmen

37、t Editor)設(shè)定初始設(shè)計約束條件。2. 綜合優(yōu)化綜合優(yōu)化是將HDL 語言、原理圖等設(shè)計輸入翻譯成由與、或、非門、RAM 、觸發(fā)器等基本邏輯單元總稱的邏輯連接,并根據(jù)目標與要求(約束條件)優(yōu)化所生成的邏輯連接。Quartus II綜合優(yōu)化輸出.edf 或.vqm 等標準格式網(wǎng)表文件,供布局布線器實現(xiàn),除了可以用Quartus II軟件的Analysis&Synthesis命令綜合外,還可以使用第三方綜合工具生成與Quartus II配合使用的.edf 或.vqm 格式的網(wǎng)表文件。3. 布局布線布局(Place )是指將網(wǎng)表中的硬件原語或低層單元合理的適配到FPGA 內(nèi)部的固有硬件結(jié)構(gòu)上,布

38、局的優(yōu)劣對設(shè)計的最終實現(xiàn)結(jié)果(度和面積)方面影響較大。布線(Route )是指根據(jù)布局的拓撲結(jié)構(gòu),利用FPGA 內(nèi)部各種連線資源,合理正確連接各個元件的過程。4. 時序分析仿真一般來說布線后仿真能較好的反應(yīng)芯片的實際工作情況,通過檢查設(shè)計時序與FPGA 的實際運行情況是否一致,以確保設(shè)計的可靠性與穩(wěn)定性。在Quartus II編譯過程的最后階段會自動運行時序分析器,編譯結(jié)束后會自動報告時序分析結(jié)果。通過時序分析器可以分析整個設(shè)計的性能,并且對關(guān)鍵路徑進行跟蹤定位。Quartus II支持多種仿真方法,波形方式輸入是Quartus II主要的仿真輸入方式,可以提供直觀、簡潔的仿真向量。Quart

39、us II中最主要的波基于FPGA 的USB 圖像采集控制器設(shè)計與實現(xiàn) 10 形文件是.vwf 格式,也兼容.vec 和.tbl 格式的輸入文件。Quartus II 還支持TCL/TK腳本文件的輸入和通過第三方仿真工具支持Verilog HDL或VHDL 文本的測試向量,Quartus II支持的第三方仿真工具有Modelsim 、VERILG-XL 、VCS 、VSS 等14。5. 板級仿真、驗證有些高速電路設(shè)計時,需要使用第三方的板級驗證工具進行仿真與驗證,如Mentor Tau、Forte Design-Timeing Designer等,這樣做的目的在于較好的分析高速設(shè)備的信號完整性

40、、電磁干擾等電路特性,提高FPGA 運行性能。6. 調(diào)試、加載配置通過時序分析和仿真,證實設(shè)計滿足要求和功能,就可以使用Quartus II工具完成設(shè)計的最后階段在線調(diào)試或者將生成的配置文件寫入芯片中進行測試。示波器和邏輯分析儀是邏輯設(shè)計的主要調(diào)試工具,對于相對簡單的設(shè)計,使用Quartus II內(nèi)置的SignalTap II對設(shè)計進行在線邏輯分析。SignalTa II是一種FPGA 在線片內(nèi)信號分析工具,它的主要功能是通過JTAG 口在線實時的讀出FPGA 的內(nèi)部信號。編譯完成后Quartus II除了生成用于仿真和延時分析的文件外,還生成Altera 器件的配置文件,通過下載該文件完成器

41、件的配置加載。2.2 Cyclone III FPGA基本結(jié)構(gòu)隨著相關(guān)電子科學(xué)技術(shù)的不斷發(fā)展,可編程邏輯器件FPGA 的資源和功能越來越豐富,設(shè)計日趨方便,很多FPGA 器件中可嵌入多種處理器核和復(fù)雜的邏輯模塊,從而靈活高效地實現(xiàn)更多功能和接口,并在復(fù)雜的數(shù)字系統(tǒng)設(shè)計中發(fā)揮越來越重要的作用15。FPAG 具有的可重復(fù)編程能力、靈活的體系結(jié)構(gòu)、豐富的觸發(fā)器及布線資源等一系列的特點,使得它可以滿足電子產(chǎn)品設(shè)計的諸多特殊需求,本項目方案中圖像采集功能就是借助Altera 公司的低成本Cyclone III系列FPGA 設(shè)計實現(xiàn)的。Altera 公司采用65-nm 低功耗(LP )工藝技術(shù)生產(chǎn)的Cyc

42、lone III 系列FPGA 器件結(jié)構(gòu)如圖2.1所示,主要由以行列形式排列的邏輯陣列塊(Logic Array Block,簡稱LAB )、嵌入式存儲器塊(Memory Blocks)、嵌入式乘法器(Embedded Multipliers )、輸入輸出單元(Input/Output Elements,IOE )及全功能鎖相環(huán)(Phase-Locked Loops)等模塊組成。其中,LAB 模塊用于完成FPGA 的邏輯功能,IOE 模塊用于提供外部引腳與內(nèi)部邏輯輸入輸出單元間的接口,存儲器塊M9K RAM主要完成FPGA 內(nèi)部數(shù)據(jù)的隨機存取,DLL 保證FPGA 內(nèi)部的時鐘控制和管理,所有體

43、系結(jié)構(gòu)都含有高效的互聯(lián)和低偏移時鐘網(wǎng)絡(luò),為時鐘和數(shù)據(jù)信號結(jié)構(gòu)提供鏈接,各模塊之間也可實現(xiàn)各種速度的信號互連。第二章 相關(guān)理論與技術(shù)11 圖2.1 Cyclone III FPGA結(jié)構(gòu)圖1. 邏輯陣列塊(Logic Array Block,LAB )Cyclone III系列FPGA 中,邏輯單元(Logic Element,LE )是LAB 的基本結(jié)構(gòu)組件,也是可以實現(xiàn)用戶邏輯定制的最基本資源單位。一個LE 主要包括了四輸入查找表(Look-Up-Table ,LUT )、可編程寄存器(D 觸發(fā)器)、進位鏈連接和寄存器鏈連接。LE 結(jié)構(gòu)如圖2.2所示。 圖2.2 LE結(jié)構(gòu)示意圖FPGA 設(shè)計中

44、最常用的結(jié)構(gòu)就是查找表(Look-Up-Table )結(jié)構(gòu),Cyclone III FPGA 的LE 中使用的LUT 主要實現(xiàn)任意四輸入組合邏輯,其本質(zhì)上可視為是RAM 。每一個LUT 相當于一個有4位地址線的16x1的RAM ,當用戶程序描述一個邏輯電路后,F(xiàn)PGA 開發(fā)工具會自動計算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫入RAM ,每基于FPGA 的USB 圖像采集控制器設(shè)計與實現(xiàn) 12 輸入一個信號進行邏輯運算就等于輸入一個地址進行查表,找出地址對應(yīng)的內(nèi)容,然后輸出即可??删幊碳拇嫫魍ㄟ^程序可配置為異步或者同步觸發(fā)器。進位鏈連接能夠驅(qū)動本塊、行、列等結(jié)構(gòu)部分互連,而寄存器鏈連接支持寄存

45、器打包和反饋。LE 有兩種工作模式:一是普通工作模式,適用于一般的邏輯處理;二是算術(shù)工作模式,適用于實現(xiàn)加法器、累加器、計數(shù)器和比較器等復(fù)雜運算。通常衡量FPGA 的資源大小,就是看設(shè)計使用芯片的LE 數(shù)目。Cyclone III系列芯片里面16個LE 組成一個LAB ,LAB 以行列形式在FPGA 器件中排列,LAB 結(jié)構(gòu)示意如圖2.3所示。每個LAB 都有LAB 控制信號,按照順序排列在FPGA 內(nèi)部,負責(zé)清除、時鐘使能、復(fù)位等功能。LAB 內(nèi)部之間的LE 數(shù)據(jù)通信通過寄存器進位鏈(Register chain)傳輸連在一起;各個LAB 之間通過行或者列互聯(lián)信號通信驅(qū)動。 圖2.3 LAB

46、結(jié)構(gòu)示意圖2. 輸入輸出單元(Input/Output Elements,IOE )Cyclone III系列FPGA 的IOE 配置在邏輯陣列塊的行和列的末端,可以提供各種類型的單端或差分邏輯輸入輸出。IOE 內(nèi)部特性包含:4/8個IO Bank,每個Bank 可獨立配置IO 標準,I/O管腳均被安置在LAB 行-列結(jié)構(gòu)的邊緣;提供九種封裝標準,使I/O管腳支持多種標準的單源信號和差分信號,例如66MHz 或33MHz ,64bit 或32bit 的PCI ;每個IOE 都包含一個雙向I/O緩沖器和一個三態(tài)寄存器以便寄存輸入/輸出使能信號,更詳細的IOE 結(jié)構(gòu)特點如圖2.4所示。第二章 相關(guān)

47、理論與技術(shù)13 圖2.4 IOE結(jié)構(gòu)特點示意圖Cyclone III FPGA的I/O接口資源相當豐富,可以根據(jù)REF 電平接收或輸出不同的電平標準的信號,如3.3V LVTTL、2.5V LVDS、LVPECL 或者SSTL-2等,并且可以通過程序設(shè)置驅(qū)動電流強弱、片內(nèi)OTC 、差分匹配、DDR 輸出等,還支持片內(nèi)上拉電阻、輸入輸出延時等特性。3. 嵌入式存儲器模塊(Memory Blocks)Cyclone III系列FPGA 的嵌入式存儲器由排列為列型結(jié)構(gòu)的M9K RAM(Memory 9Kbits RAM)構(gòu)成,即每一塊存儲器有9K 數(shù)據(jù)(其實只有8192位,加上校驗位為9216位)。

48、這個模塊可實現(xiàn)多種類型的存儲模式,包括帶或不帶實現(xiàn)奇偶校驗功能,如時鐘使能的真雙端口、簡單雙端口或者單端口存儲器RAM 、ROM 或FIFO (First In First Out先入先出)緩沖。支持每端口獨立的讀寫時能、可變的端口位寬、寫字節(jié)使能及可自主配置形式等特性。4. 嵌入式乘法器(Embedded Multipliers)Cyclone III 系列FPGA 有嵌入式硬件乘法器模塊,可以用來實現(xiàn)FFT 、DCT 、FIR 等數(shù)字信號處理,高效地用于音頻、視頻信號處理等場景。每個嵌入式乘法器可以配制成“兩個99”或“一個1818”兩種模式乘法器,當數(shù)據(jù)寬度大于18時,采用多個乘法器合并實現(xiàn)。VHDL 或者Verilog HDL硬件程序設(shè)計語言里面的乘號,在FPGA 軟件綜合時會自動采用乘法器替代。5. 全功能鎖相環(huán)(Phase-Locked Loops)Cyclone III 系列FPGA 含有4個增強PLL 提供高級時鐘管理功能,可以實現(xiàn)FPGA 片內(nèi)的時鐘倍頻、分頻或者移相,也可實現(xiàn)高速差

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論