版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于FPGA的聲場(chǎng)測(cè)試儀設(shè)計(jì)</p><p><b> 摘要</b></p><p> 自FPGA誕生以來,伴隨著硬件描述語言的發(fā)展及器件性能的提升,F(xiàn)PGA運(yùn)用越來越廣泛,在某些領(lǐng)域已經(jīng)取代了單片機(jī)、DSP等嵌入式設(shè)備并運(yùn)用到了各種產(chǎn)品中。本系統(tǒng)以SOPC技術(shù)為核心,輔以必要的數(shù)模轉(zhuǎn)換電路,以及相關(guān)的外圍模擬電路,構(gòu)成了一個(gè)基于SOPC技術(shù)
2、的聲場(chǎng)測(cè)定系統(tǒng)。其主要功能模塊有信號(hào)處理模塊、信號(hào)采集模塊、VGA控制模塊、鎖相環(huán)模塊、數(shù)據(jù)讀取模塊、數(shù)據(jù)轉(zhuǎn)換模塊。整個(gè)系統(tǒng)使用Quartus II和SOPC Builder軟件進(jìn)行設(shè)計(jì),包括Nios II處理器、Flash接口、SDRAM接口等。采用C語言編程實(shí)現(xiàn)數(shù)據(jù)在片外存儲(chǔ)器之間的傳輸、VGA的顯示以及信號(hào)采集。設(shè)計(jì)最終下載到Altera公司的Cyclone II系列FPGA中,設(shè)計(jì)靈活,調(diào)試方便。</p><
3、p> 關(guān)鍵詞:聲場(chǎng)測(cè)試 FPGA Nios II SOPC VGA接口 位圖文件結(jié)構(gòu)</p><p> Design of the sound field detector based on FPGA</p><p><b> Abstract</b></p><p> FPGA, short for Field-Prog
4、rammable Gate Array, accompany with the development of hardware description language, has been applied significantly broadly.It has taken the place of singlechip 、DSP in some aspects and has been applied to various kin
5、ds of products.The center part of the system is technology of SOPC.With necessary D/A circuit and analog circuit.It constructed a sound field detector based on SOPC.Its main function blocks are VGA control block, PLL blo
6、ck, signal pickup block,signal pro</p><p> Key Words: Sound Field Detector FPGA Nios II SOPC VGA Interface BMP File</p><p><b> 目錄</b></p><p><b> 1、緒論1<
7、/b></p><p> 1.1選題的背景和意義1</p><p> 1.2系統(tǒng)功能的實(shí)現(xiàn)方法2</p><p> 1.3主要的問題3</p><p> 2、技術(shù)背景及方案選擇4</p><p> 2.1核心器件解決方案:FPGA4</p><p> 2.1.
8、1發(fā)展歷史4</p><p> 2.1.2行業(yè)的發(fā)展方向5</p><p> 2.1.3 Altera的低成本FPGA5</p><p> 2.1.4 Nios II處理器6</p><p> 2.1.5高效的企業(yè)級(jí)開發(fā)平臺(tái)Altera Complete Design Suite7</p><p>
9、 2.1.6 VHDL語言介紹8</p><p> 2.1.7 C語言介紹10</p><p> 2.1.8 VHDL與C語言的區(qū)別11</p><p> 2.1.9 FPGA設(shè)計(jì)流程11</p><p> 2.2顯示接口及顯示設(shè)備的選擇:帶有VGA接口的液晶顯示器12</p><p> 2.2.
10、1顯示接口的發(fā)展與種類12</p><p> 2.2.2數(shù)字接口與模擬接口的比較14</p><p> 2.2.3選擇結(jié)論:VGA接口15</p><p> 2.3圖像格式及圖像處理技術(shù)15</p><p> 2.3.1 TIFF圖像格式15</p><p> 2.3.2 PCX圖像格式16&l
11、t;/p><p> 2.3.3 GIF圖像格式16</p><p> 2.3.4 BMP圖像格式17</p><p> 2.3.5圖像處理21</p><p><b> 3、設(shè)計(jì)實(shí)現(xiàn)27</b></p><p> 3.1模擬部分電路設(shè)計(jì)27</p><p>
12、 3.1.1 MIC放大模塊設(shè)計(jì)27</p><p> 3.1.2比較模塊設(shè)計(jì)29</p><p> 3.2 VGA顯示模塊設(shè)計(jì)31</p><p> 3.2.1 VGA接口定義31</p><p> 3.2.1 VGA接口及外圍電路設(shè)計(jì)33</p><p> 3.2.3 ADV7123應(yīng)用34
13、</p><p> 3.2.4 VGA顯示接口原理35</p><p> 3.2.5 VGA時(shí)序信號(hào)的產(chǎn)生38</p><p> 3.3 FPGA系統(tǒng)設(shè)計(jì)39</p><p> 3.3.1鎖相環(huán)模塊41</p><p> 3.3.2 VGA控制模塊44</p><p> 3
14、.4 NiosⅡ軟核設(shè)計(jì)53</p><p> 3.4.1圖像數(shù)據(jù)55</p><p> 3.4.2主控制程序55</p><p> 3.4.3聲音處理55</p><p><b> 4、總結(jié)57</b></p><p> 4.1 語音放大模塊功能描述57</p>
15、<p> 4.2 顯示功能模塊描述57</p><p> 4.3 控制模塊功能描述58</p><p> 4.4 經(jīng)驗(yàn)總結(jié)59</p><p><b> 致謝61</b></p><p><b> 參考文獻(xiàn)62</b></p><p> 附
16、錄:主要程序63</p><p><b> 1、緒論</b></p><p><b> 選題的背景和意義</b></p><p> 科技因生活而改變,就像人類自生所追求的更高、更快、更強(qiáng)一樣,IT產(chǎn)業(yè)也在創(chuàng)造著一次又一次的飛躍。</p><p> 電子技術(shù)的演進(jìn)是科技發(fā)展的源泉,隨著半導(dǎo)體
17、業(yè)數(shù)十年的發(fā)展,整機(jī)制造商和半導(dǎo)體供應(yīng)商的需求和服務(wù)都在發(fā)生著變化。從整機(jī)制造商來看,其需求層次已由器件、參考設(shè)計(jì)上升到總體解決方案,包括硬件、軟件,甚至外形等工業(yè)設(shè)計(jì),這對(duì)半導(dǎo)體廠商提出更高的要求;另一方面,半導(dǎo)體供應(yīng)商面臨更多的挑戰(zhàn),包括更高的集成度、更低的功耗、更低的成本。</p><p> 平臺(tái)解決方案的重要性和業(yè)界的接受程度日益明顯。領(lǐng)先的半導(dǎo)體公司紛紛推出了各具特色的平臺(tái)產(chǎn)品,其優(yōu)勢(shì)體現(xiàn)在強(qiáng)大的功能
18、、廣泛的第三方軟件和硬件支持、產(chǎn)品的可延續(xù)性和升級(jí)性等。</p><p> 可靠、高效、低功耗是電子產(chǎn)業(yè)的永久追求,從目前一些領(lǐng)先的硬件制造商來看,提高效率,降低成本仍然是主要目標(biāo)。</p><p> 可編程技術(shù)器件將與平臺(tái)半導(dǎo)體解決方案形成更激烈的競(jìng)爭(zhēng)態(tài)勢(shì),并促進(jìn)FPGA/CPLD器件密度的進(jìn)一步提高,以及面向特定應(yīng)用的新型器的研發(fā)??焖俚漠a(chǎn)品更新周期和不斷的升級(jí)造就了可編程器件的迅
19、速發(fā)展,對(duì)于樣品階段以及一些新興電子產(chǎn)品來說,將一直保持其靈活、快速的優(yōu)勢(shì),而當(dāng)進(jìn)入快速成長(zhǎng)和成熟期的階段,可編程器件公司的策略是低成本可編程器件或類似ASIC的掩膜器件來進(jìn)一步延伸其產(chǎn)品的生命周期。而這對(duì)于制造商的利益在于可以無縫地移植代碼,并順利地進(jìn)入批量生產(chǎn)。</p><p> EDA工具和半導(dǎo)體IP成為半導(dǎo)體工業(yè)發(fā)展的重要支持力量。半導(dǎo)體工藝向90nm以及65nm、45nm直至32nm的進(jìn)程大大增加了芯
20、片復(fù)雜度,而其它需求,如采用CMOS工藝實(shí)現(xiàn)模擬和射頻電路、DFM、DFT等,對(duì)EDA工具提出了更高的要求。SiP是半導(dǎo)體廠商可以考慮的一種重要模式。與此同時(shí),半導(dǎo)體IP,尤其是一些被業(yè)界廣泛認(rèn)同的內(nèi)核,正成為快速推出IC(單IP內(nèi)核或多IP內(nèi)核)的一條捷徑。</p><p> 模擬器件仍然無處不在。數(shù)字家庭中的無線連接、新潮便攜數(shù)碼產(chǎn)品中的音頻電路、電源管理、信號(hào)通路使模擬器件的重要性日益突顯,我們看到的趨勢(shì)
21、是在數(shù)字世界中創(chuàng)造了更多的模擬應(yīng)用,放大器、ADC/DAC、接口都是明顯的例子。未來,我們應(yīng)該更關(guān)注的是模擬及數(shù)字器件將如何不斷融合的發(fā)展進(jìn)程??梢哉f本次設(shè)計(jì)的聲音測(cè)定系統(tǒng)是一個(gè)典型的數(shù)模器件充分融合的產(chǎn)物。</p><p><b> 系統(tǒng)功能的實(shí)現(xiàn)方法</b></p><p> 本次設(shè)計(jì)中,聲音采集以及信號(hào)放大是需要模擬電路來完成的這是因?yàn)橐纛l信號(hào)很小,要實(shí)現(xiàn)這
22、么小的信號(hào)的數(shù)字化并進(jìn)行處理,需要精度很高的AD轉(zhuǎn)換芯片。這樣整個(gè)系統(tǒng)的成本不得不考慮。</p><p> 在數(shù)字器件部分,主要是用VHDL語言來實(shí)現(xiàn),在后續(xù)章節(jié)中會(huì)對(duì)這門語言做簡(jiǎn)要介紹,這里將從理論方面簡(jiǎn)單介紹VHDL語言的編程思想。</p><p> VHDL語言面向的對(duì)象器件是FPGA。這種語言一樣有著豐富的語法,豐富的關(guān)鍵字,豐富的控制語句等等,雖然這種語言的語法規(guī)范是十分的嚴(yán)
23、格。但是,并不是所有你寫出的程序都可以運(yùn)行。這和C語言大不一樣。C語言編寫出現(xiàn)問題可能會(huì)造成死循環(huán)或者是系統(tǒng)資源浪費(fèi),而VHDL語言則是,如果你寫的程序在時(shí)序上有問題,則根本不能再器件內(nèi)運(yùn)行起來。想要寫出優(yōu)秀的VHDL程序,不但需要你對(duì)語法十分的了解,更需要你對(duì)數(shù)字邏輯電路有著豐富的知識(shí)和一定的設(shè)計(jì)經(jīng)驗(yàn)。這也是VHDL設(shè)計(jì)門檻比較高的原因。</p><p> 這個(gè)方案的核心部分在于其使用了NiosⅡ軟核。Nio
24、sⅡ嵌入式處理器是Altera公司于2004年6月推出的第二代用于可編程邏輯器件的可配置的軟核處理器,在CycloneII器件下,性能最高可達(dá)56 DMIPS。NiosⅡ是基于哈弗結(jié)構(gòu)的RISC通用嵌入式處理器軟核,能與用戶邏輯相結(jié)合,編程至Altera的FPGA 中。處理器具有32位指令集,32位數(shù)據(jù)通道和可配置的指令以及數(shù)據(jù)緩沖。他特別為可編程邏輯進(jìn)行了優(yōu)化設(shè)計(jì),也為可編程單芯片系統(tǒng)(SOPC)設(shè)計(jì)了一套綜合解決方案。NiosⅡ處理
25、器系列包括3種內(nèi)核:高性能的快速內(nèi)核(NiosⅡ/f);低成本經(jīng)濟(jì)型內(nèi)核(NiosⅡ/e);性能/成本折中的標(biāo)準(zhǔn)內(nèi)核(NiosⅡ/s)。</p><p> 在NiosⅡ中,又使用到了C語言,類似C語言這樣的計(jì)算機(jī)語言,多是轉(zhuǎn)化為匯編語言之后又計(jì)算機(jī)逐條的執(zhí)行其中的指令。這樣的執(zhí)行效率不是很高,但是隨著數(shù)字IC的執(zhí)行效能越來越高,這種問題也被淡化。</p><p><b> 主
26、要的問題</b></p><p> 系統(tǒng)設(shè)計(jì)完成后,如何能夠穩(wěn)定高效地工作以及完成既定的功能。</p><p> 在設(shè)計(jì)過程中,圖像顯示是一個(gè)很關(guān)鍵的問題。從可編程器件方面看。門陣列固然有其速度上的優(yōu)勢(shì),在控制上,其強(qiáng)大的靈活性以及可定制性已經(jīng)能夠完全替代傳統(tǒng)數(shù)字電路。在信號(hào)處理上,其強(qiáng)大的處理能力已經(jīng)超過大部分DSP。但是對(duì)于控制VGA顯示來說,大量的圖像數(shù)據(jù)量、相對(duì)復(fù)雜
27、的VGA時(shí)序控制對(duì)硬件來說是個(gè)挑戰(zhàn)。對(duì)于個(gè)人來說,若想在顯示器上顯示16位圖像,利用VHDL描述難度太大。最終選擇了嵌入NiosⅡ內(nèi)核做為解決方案。</p><p> 2、技術(shù)背景及方案選擇</p><p> 核心器件解決方案:FPGA</p><p><b> 2.1.1發(fā)展歷史</b></p><p> FP
28、GA(現(xiàn)場(chǎng)可編程門陣列)與 CPLD(復(fù)雜可編程邏輯器件)都是可編程邏輯器件,它們是在PAL,GAL等邏輯器件的基礎(chǔ)之上發(fā)展起來的。同以往的PAL,GAL等相比較,F(xiàn)PGA/CPLD的規(guī)模比較大,它可以替代幾十甚至幾千塊通用IC芯片。</p><p> 自1985年Xilinx公司推出第一片F(xiàn)PGA至今,F(xiàn)PGA已經(jīng)歷了十幾年的發(fā)展歷史。在這十幾年的發(fā)展過程中,以FPGA為代表的數(shù)字系統(tǒng)現(xiàn)場(chǎng)集成技術(shù)取得了驚人的
29、發(fā)展:現(xiàn)場(chǎng)可編程邏輯器件從最初的1200個(gè)可利用門,發(fā)展到90年代的25萬個(gè)可利用門,乃至現(xiàn)在國(guó)際上現(xiàn)場(chǎng)可編程邏輯器件的著名廠商Altera公司、Xilinx公司早就陸續(xù)推出了數(shù)百萬門的單片F(xiàn)PGA芯片?,F(xiàn)在現(xiàn)場(chǎng)可編程器件的集成度已經(jīng)提高到一個(gè)新的水平。</p><p> 縱觀現(xiàn)場(chǎng)可編程邏輯器件的發(fā)展歷史,其之所以具有巨大的市場(chǎng)吸引力,根本在于:FPGA不僅可以解決電子系統(tǒng)小型化、低功耗、高可靠性等問題,而且其
30、開發(fā)周期短、開發(fā)軟件投入少、芯片價(jià)格不斷降低,促使FPGA越來越多地取代了ASIC的市場(chǎng),特別是對(duì)小批量、多品種的產(chǎn)品需求,使FPGA成為首選。</p><p> 尤其是最近幾年,F(xiàn)PGA的主要廠商Altera、Xilinx等不斷更新優(yōu)化產(chǎn)品架構(gòu)和生產(chǎn)工藝,不斷降低FPGA的功耗和系統(tǒng)成本,推出了很多高性能低價(jià)位的解決方案,將市場(chǎng)從傳統(tǒng)的高端通信擴(kuò)展到汽車和消費(fèi)類電子產(chǎn)品。</p><p&g
31、t; 2.1.2行業(yè)的發(fā)展方向</p><p> 目前,F(xiàn)PGA的主要發(fā)展動(dòng)向是:隨著大規(guī)?,F(xiàn)場(chǎng)可編程邏輯器件的發(fā)展,系統(tǒng)設(shè)計(jì)進(jìn)入"片上可編程系統(tǒng)"(SOPC)的新紀(jì)元;芯片朝著高密度、低壓、低功耗方向挺進(jìn);國(guó)際各大公司都在積極擴(kuò)充其IP庫(kù),以優(yōu)化的資源更好的滿足用戶的需求,擴(kuò)大市場(chǎng);特別是引人注目的所謂FPGA動(dòng)態(tài)可重構(gòu)技術(shù)的開拓,將推動(dòng)數(shù)字系統(tǒng)設(shè)計(jì)觀念的巨大轉(zhuǎn)變。</p>
32、<p> 在生產(chǎn)工藝方面,這幾年來FPGA市場(chǎng)的飛速增長(zhǎng)和一代代新工藝新產(chǎn)品的不斷推出,F(xiàn)PGA產(chǎn)品的邏輯單元越來越多,性能越來越高,而單位成本和功耗卻越來越低,這是因?yàn)楝F(xiàn)在FPGA廠商相繼采用90nm的制造工藝生產(chǎn)新一代的FPGA產(chǎn)品。先進(jìn)的90nm制造工藝在物理上達(dá)到了一個(gè)新的極限,但是,克服了這一極限的挑戰(zhàn)后,產(chǎn)品成熟量產(chǎn),將大大降低。</p><p> 在高端處理方面,F(xiàn)PGA將挑戰(zhàn)DSP
33、。從本質(zhì)上來講,F(xiàn)PGA更象一個(gè)應(yīng)用平臺(tái),的新應(yīng)用層出不窮,復(fù)雜性越來越大,客戶對(duì)速度、功能、效率的要求越來越高,比如集成DSP模塊,同樣的價(jià)格下,Altera的FPGA能夠處理的接收器通道比高端的DSP處理器高幾十倍以上。但相對(duì)DSP來說,它的封裝及總成本仍然昂貴,想要從高端市場(chǎng)走入低端應(yīng)用尚需時(shí)日。</p><p> 2.1.3 Altera的低成本FPGA</p><p> Al
34、tera的主流FPGA分為兩大類,一種側(cè)重低成本應(yīng)用,容量中等,性能可以滿足一般的邏輯設(shè)計(jì)要求,如Cyclone;還有一種側(cè)重于高性能應(yīng)用,容量大,性能能滿足各類高端應(yīng)用,如Startix,StratixII等,用戶可以根據(jù)自己實(shí)際應(yīng)用要求進(jìn)行選擇。 在性能可以滿足的情況下,優(yōu)先選擇低成本器件。例如本系統(tǒng)所選擇的Cyclone II EP2C35F672。</p><p> FPGA具有靈活性和及時(shí)面市的優(yōu)勢(shì),
35、Altera的Cyclone器件系列便是在低成本FPGA中占據(jù)領(lǐng)導(dǎo)地位的,它提供了低風(fēng)險(xiǎn)和低成本的解決方案,在Quarters開發(fā)軟件的支持下,它無疑是中低規(guī)模設(shè)計(jì)中最具吸引力的替代方案。也是本次設(shè)計(jì)采用的設(shè)計(jì)器件。后文將詳細(xì)介紹Cyclone的詳細(xì)參數(shù)及技術(shù)細(xì)節(jié)。</p><p> 2.1.4 Nios II處理器</p><p> Altera推出了Nios II系列32位RSIC
36、嵌入式處理器。Nios II系列軟核處理器是Altera的第二代FPGA嵌入式處理器,其性能超過200DMIPS,在Altera FPGA中實(shí)現(xiàn)僅需35美分。Altera的Stratix 、Stratix GX、 Stratix II和 Cyclone系列FPGA全面支持Nios II處理器,以后推出的FPGA器件也將支持Nios II。</p><p> Nios II系列支持使用專用指令。專用指令是用戶增加
37、的硬件模塊,它增加了算術(shù)邏輯單元(ALU)。用戶能為系統(tǒng)中使用的每個(gè)Nios II處理器創(chuàng)建多達(dá)256個(gè)專用指令,這使得設(shè)計(jì)者能夠細(xì)致地調(diào)整系統(tǒng)硬件以滿足性能目標(biāo)。專用指令邏輯和本身Nios II指令相同,能夠從多達(dá)兩個(gè)源寄存器取值,可選擇將結(jié)果寫回目標(biāo)寄存器。同時(shí),Nios II系列支持60多個(gè)外設(shè)選項(xiàng),開發(fā)者能夠選擇合適的外設(shè),獲得最合適的處理器、外設(shè)和接口組合,而不必支付根本不使用的硅片功能。 </p><p&
38、gt; Nios II系列能夠滿足任何應(yīng)用32位嵌入式微處理器的需要,客戶可以將第一代Nios處理器設(shè)計(jì)移植到某種Nios II處理器上,Altera將長(zhǎng)期支持現(xiàn)有FPGA系列上的第一代Nios處理器。另外,Altera提供了一鍵式移植選項(xiàng),可以升級(jí)至Nios II系列。Nios II處理器也能夠在HardCopy器件中實(shí)現(xiàn),Altera還為基于Nios II處理器的系統(tǒng)提供ASIC的移植方式。</p><p>
39、; Nios II處理器具有完善的軟件開發(fā)套件,包括編譯器、集成開發(fā)環(huán)境(IDE)、JTAG調(diào)試器、實(shí)時(shí)操作系統(tǒng)(RTOS)和TCP/IP協(xié)議棧。設(shè)計(jì)者能夠用Altera Quartus II開發(fā)軟件中的SOPC Builder系統(tǒng)開發(fā)工具很容易地創(chuàng)建專用的處理器系統(tǒng),并能夠根據(jù)系統(tǒng)的需求添加Nios II處理器核的數(shù)量。 </p><p> 使用Nios II軟件開發(fā)工具能夠?yàn)镹ios II系統(tǒng)構(gòu)建軟件,即
40、一鍵式自動(dòng)生成適用于系統(tǒng)硬件的專用C/C++運(yùn)行環(huán)境。Nios II集成開發(fā)環(huán)境(IDE)提供了許多軟件模板,簡(jiǎn)化了項(xiàng)目設(shè)置。此外,Nios II開發(fā)套件包括兩個(gè)第三方實(shí)時(shí)操作系統(tǒng)(RTOS)——MicroC/OS-II(Micrium),Nucleus Plus(ATI/Mentor)以及供網(wǎng)絡(luò)應(yīng)用使用的TCP/IP協(xié)議棧。 </p><p> 長(zhǎng)期以來,Altera一直推行嵌入式處理器戰(zhàn)略的原因是,隨著應(yīng)用
41、的ASIC開發(fā)日益受到成本的困擾,OEM日漸轉(zhuǎn)向FPGA來構(gòu)建自己的系統(tǒng)。這些系統(tǒng)中絕大多數(shù)需要一個(gè)處理器,而Altera正是為設(shè)計(jì)者提供了為FPGA優(yōu)化的靈活的嵌入式處理器方案,可以滿足16位和32位嵌入式處理器市場(chǎng)的需求。</p><p> 在FPGA中使用軟核處理器比硬核的優(yōu)勢(shì)在于,硬核實(shí)現(xiàn)沒有靈活性,通常無法使用最新的技術(shù)。隨著系統(tǒng)日益先進(jìn),基于標(biāo)準(zhǔn)處理器的方案會(huì)被淘汰,而基于Nios II處理器的方案
42、是基于HDL源碼構(gòu)建的,能夠修改以滿足新的系統(tǒng)需求,避免了被淘汰的命運(yùn)。將處理器實(shí)現(xiàn)為HDL的IP核,開發(fā)者能夠完全定制CPU和外設(shè),獲得恰好滿足需求的處理器。</p><p> 2.1.5高效的企業(yè)級(jí)開發(fā)平臺(tái)Altera Complete Design Suite</p><p> Ahera開發(fā)了整套工具(包括SOPC Builder,NiosⅡ集成設(shè)計(jì)環(huán)境和QuartusⅡ開發(fā)軟
43、件)幫助用戶加速硬件和軟件的開發(fā),實(shí)現(xiàn)完整的基于可編程邏輯的SOPC解決方案</p><p> Quartus II 8.0是目前進(jìn)行Altera的CPLD、FPGA和結(jié)構(gòu)化ASIC設(shè)計(jì)的最佳軟件,具有強(qiáng)的的功能及良好的易用性。相比較傳統(tǒng)的 Max+plusII 軟件和早期版本的Quarters軟件,它有更好的性能表現(xiàn),更多的功能,能夠?qū)PLD和FPGA器件的最新系列進(jìn)行設(shè)計(jì)。 它能夠支持全系列的MAX
44、74; II CPLD以及Cyclone?、Stratix? 和 Stratix II FPGA 以及 HardCopy?結(jié)構(gòu)化Asic,支持 MAX、FLEX® 和 ACEX® 設(shè)計(jì)。</p><p> SOPC Builder是在Altera FPGA中實(shí)施IP的關(guān)鍵工具。該系統(tǒng)級(jí)工具使用Altera的MegaWizard技術(shù)自動(dòng)生成Avalon的交換架構(gòu),將設(shè)計(jì)中的不同功能模塊連接在一
45、起。SOPC Builder還會(huì)生成定制軟件開發(fā)工具,根據(jù)需要為由NiosⅡ處理器控制的功能模塊提供合適的軟件頭文件。</p><p> NiosⅡ IDE是NlosⅡ軟核處理器的主要開發(fā)工具。他為軟件開發(fā)提供了一個(gè)集成的設(shè)計(jì)開發(fā)環(huán)境,包括一個(gè)具有工程管理、源代碼開發(fā)、基于JTAG調(diào)試功能的圖形用戶界面(GUI),大大簡(jiǎn)化了大量復(fù)雜的NiosⅡ 處理器設(shè)計(jì)。</p><p> 2.1.
46、6 VHDL語言介紹</p><p> VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,誕生于1982年。1987年底,VHDL被IEEE和美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言 。自IEEE公布了VHDL的標(biāo)準(zhǔn)版本,IEEE-1076(簡(jiǎn)稱87版)之后,各EDA公司相繼推出了自己的VHDL設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)
47、工具可以和VHDL接口。此后VHDL在電子設(shè)計(jì)領(lǐng)域得到了廣泛的接受,并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語言。1993年,IEEE對(duì)VHDL進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標(biāo)準(zhǔn)的1076-1993版本,(簡(jiǎn)稱93版)?,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,又得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語言。有專家認(rèn)為,在新
48、的世紀(jì)中,VHDL于Verilog語言將承擔(dān)起大部分的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。</p><p> VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級(jí)語言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實(shí)體的內(nèi)
49、部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。應(yīng)用VHDL進(jìn)行工程設(shè)計(jì)的優(yōu)點(diǎn)是多方面的。</p><p> ?。?)與其他的硬件描述語言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語言。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模
50、電子系統(tǒng)的重要保證。</p><p> ?。?)VHDL豐富的仿真語句和庫(kù)函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。</p><p> ?。?)VHDL語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場(chǎng)需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個(gè)代發(fā)組共同并行工作才能實(shí)現(xiàn)。</p>
51、<p> (4)對(duì)于用VHDL完成的一個(gè)確定的設(shè)計(jì),可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動(dòng)的把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表。</p><p> ?。?)VHDL對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。</p><p> 2.1.7 C語言介紹</p><p> C語言是一
52、種計(jì)算機(jī)程序設(shè)計(jì)語言。它既有高級(jí)語言的特點(diǎn),又具有匯編語言的特點(diǎn)。它可以作為系統(tǒng)設(shè)計(jì)語言,編寫工作系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。因此,它的應(yīng)用范圍廣泛。主要有以下特點(diǎn):</p><p> 1、C語言在很多方面都可以用,不僅僅是在軟件開發(fā)上,各類科研都是需要用到C語言的。具體應(yīng)用比如我是學(xué)硬件的,單片機(jī)以及嵌入式系統(tǒng)都可以用C來開發(fā)。C 語言發(fā)展如此迅速, 而且成為最受
53、歡迎的語言之一, 主要因?yàn)樗哂袕?qiáng)大的功能。特別是加入一些匯編語言子程序后,更能顯示C 語言的優(yōu)勢(shì)。歸納起來C 語言具有下列特點(diǎn): C是中級(jí)語言它把高級(jí)語言的基本結(jié)構(gòu)和語句與低級(jí)語言的實(shí)用性結(jié)合起來。C 語言可以象匯編語言一樣對(duì)位、字節(jié)和地址進(jìn)行操作, 而這三者是計(jì)算機(jī)最基本的工作單元。</p><p> 2、C是結(jié)構(gòu)式語言結(jié)構(gòu)式語言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化, 即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立
54、。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦? 便于使用、維護(hù)以及調(diào)試。C 語言是以函數(shù)形式提供給用戶的, 這些函數(shù)可方便的調(diào)用, 并具有多種循環(huán)、條件語句控制程序流向, 從而使程序完全結(jié)構(gòu)化。</p><p> 3、C語言功能齊全C 語言具有各種各樣的數(shù)據(jù)類型, 并引入了指針概念, 可使程序效率更高。另外C 語言也具有強(qiáng)大的圖形功能, 支持多種顯示器和驅(qū)動(dòng)器。而且計(jì)算功能、邏輯判斷功能也比較強(qiáng)大, 可以實(shí)現(xiàn)決策目的編游戲
55、,編3D游戲,做數(shù)據(jù)庫(kù),做聯(lián)眾世界,做聊天室,做PHOTOSHOP做FLASH,做3DMAX。</p><p> 4、C語言適用范圍大C 語言還有一個(gè)突出的優(yōu)點(diǎn)就是適合于多種操作系統(tǒng), 如DOS、UNIX,也適用于多種機(jī)型。C語言對(duì)操作系統(tǒng)和系統(tǒng)使用程序以及需要對(duì)硬件進(jìn)行操作的場(chǎng)合,用C語言明顯優(yōu)于其它解釋型高級(jí)語言,有一些大型應(yīng)用軟件也是用C語言編寫的。C語言具有繪圖能力強(qiáng),可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力
56、,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動(dòng)畫。它是數(shù)值計(jì)算的高級(jí)語言。</p><p> 2.1.8 VHDL與C語言的區(qū)別</p><p> vhdl是一門硬件描述語言,采用的是自頂向下的設(shè)計(jì)思想,即先描述一個(gè)電路的總體功能,然后給予具體地實(shí)現(xiàn)。就像搭建電路一樣,先給出總體框圖然后分塊實(shí)現(xiàn)。一個(gè)電路當(dāng)然就有級(jí)聯(lián)的和并聯(lián)電路就是所謂的用“并行語句和順序語句”來描述。而c語言目前還沒有一
57、個(gè)編譯器能把它翻譯為硬件描述語言,盡管Verilog有點(diǎn)像c所謂象是他們的設(shè)計(jì)思路有點(diǎn)象,具體的語法規(guī)則還是有很大差異。c語言目前幾乎都是在cpu中運(yùn)行所以只能按指令的形式按順序執(zhí)行下來。</p><p> 2.1.9 FPGA設(shè)計(jì)流程</p><p> 在FPGA系統(tǒng)設(shè)計(jì)完成前,有2個(gè)不同的階段:設(shè)計(jì)階段、調(diào)試和檢驗(yàn)階段,如圖2.1所示。設(shè)計(jì)階段的主要任務(wù)是輸入、仿真和實(shí)現(xiàn);調(diào)試和檢
58、驗(yàn)階段的主要任務(wù)是檢驗(yàn)設(shè)計(jì),校正發(fā)現(xiàn)的錯(cuò)誤。</p><p> 圖2. 1 FPGA設(shè)計(jì)流程圖</p><p> 顯示接口及顯示設(shè)備的選擇:帶有VGA接口的液晶顯示器</p><p> VGA數(shù)據(jù)線VGA(Video Graphics Array)是IBM于1987年提出的一個(gè)使用模擬信號(hào)的電腦顯示標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)已對(duì)于現(xiàn)今的個(gè)人電腦市場(chǎng)已經(jīng)十分過時(shí)。即使如此,
59、VGA仍然是最多制造商所共同支援的一個(gè)低標(biāo)準(zhǔn),個(gè)人電腦在加載自己的獨(dú)特驅(qū)動(dòng)程式之前,都必須支援VGA的標(biāo)準(zhǔn)。</p><p> 2.2.1顯示接口的發(fā)展與種類</p><p> VGA接口:VGA的英文全稱是Video Graphic Array,即顯示繪圖陣列。VGA支持在640X480的較高分辨率下同時(shí)顯示16種色彩或256種灰度,同時(shí)在320X240分辨率下可以同時(shí)顯示256種顏
60、色,這在當(dāng)時(shí)絕對(duì)是巨大的飛躍。我們的眼球?qū)︻伾拿舾羞h(yuǎn)大于分辨率,所以即使分辨率較低圖像依然生動(dòng)鮮明。VGA由于良好的性能迅速開始流行,廠商們紛紛在VGA基礎(chǔ)上加以擴(kuò)充,如將顯存提高至1M并使其支持更高分辨率如800X600或1024X768,這些擴(kuò)充的模式就稱之為VESA(Video Electronics Standards Association,視頻電子標(biāo)準(zhǔn)協(xié)會(huì))的Super VGA模式,簡(jiǎn)稱SVGA,現(xiàn)在的顯卡和顯示器都支持S
61、VGA模式。不管是VGA還是SVGA,使用的連線都是15針的梯形插頭,傳輸模擬信號(hào)。</p><p> AV接口:AV接口實(shí)現(xiàn)了音頻和視頻的分離傳輸,這就避免了因?yàn)橐?視頻混合干擾而導(dǎo)致的圖像質(zhì)量下降,但由于AV 接口傳輸?shù)娜匀皇且环N亮度/色度(Y/C)混合的視頻信號(hào),仍然需要顯示設(shè)備對(duì)其進(jìn)行亮/ 色分離和色度解碼才能成像,這種先混合再分離的過程必然會(huì)造成色彩信號(hào)的損失,色度信號(hào)和亮度信號(hào)也會(huì)有很大的機(jī)會(huì)相互干
62、擾從而影響最終輸出的圖像質(zhì)量。AV還具有一定生命力,但由于它本身Y/C混合這一不可克服的缺點(diǎn)因此無法在一些追求視覺極限的場(chǎng)合中使用。</p><p> DVI接口:DVI接口的英文全稱是Digital Visual Interface,其標(biāo)準(zhǔn)是1999年由Intel、Compaq、IBM、HP、NEC、Fujitsu等公司共同組成數(shù)字顯示工作組DDWG(Digital Display Working Group
63、)推出的數(shù)字顯示接口。它的基礎(chǔ)是Silicon Image公司的Panel Link接口技術(shù),Panel Link接口技術(shù)采用的是最小化傳輸差分信號(hào)(Transition Minimized Differential Signaling,TMDS)作為基本電氣連接。計(jì)算機(jī)中生成的圖像信息傳送到顯示處理單元(顯卡)中,經(jīng)處理并編碼成數(shù)據(jù)信號(hào),數(shù)據(jù)信號(hào)中包含了一些像素信息、同步信息以及一些控制信息,信息通過3個(gè)通道輸出。同時(shí)還有一個(gè)通道用來
64、傳送使發(fā)送和接收端同步的時(shí)鐘信號(hào)。每一個(gè)通道中數(shù)據(jù)以差分信號(hào)方式傳輸,因此每一個(gè)通道需要2根傳輸線。由于采用差分信號(hào)傳輸,數(shù)據(jù)發(fā)送和接收中識(shí)別的都是壓差信號(hào),因此傳輸線纜長(zhǎng)度對(duì)信號(hào)影響較小,可以實(shí)現(xiàn)遠(yuǎn)距離的數(shù)據(jù)傳輸。在接收端對(duì)接收到的數(shù)據(jù)進(jìn)行解碼,并處理生成圖像信息供數(shù)字顯示設(shè)備顯示。在DVI標(biāo)準(zhǔn)</p><p> HDMI接口:HDMI,英文全稱是High Definition Multimedia Inte
65、rface,中文名稱是高清晰多媒體接口的縮寫。2002年4月,日立、松下、飛利浦、索尼、湯姆遜、東芝和Silicon Image七家公司聯(lián)合組成HDMI組織。HDMI能高品質(zhì)地傳輸未經(jīng)壓縮的高清視頻和多聲道音頻數(shù)據(jù),最高數(shù)據(jù)傳輸速度為5Gbps。同時(shí)無需在信號(hào)傳送前進(jìn)行數(shù)/?;蛘吣?數(shù)轉(zhuǎn)換,可以保證最高質(zhì)量的影音信號(hào)傳送。HDMI不僅可以滿足目前最高畫質(zhì)1080P的分辨率,還能支持DVD Audio等最先進(jìn)的數(shù)字音頻格式,支持八聲道96
66、kHz或立體聲192kHz數(shù)碼音頻傳送,而且只用一條HDMI線連接,免除數(shù)字音頻接線。同時(shí)HDMI標(biāo)準(zhǔn)所具備的額外空間可以應(yīng)用在日后升級(jí)的音視頻格式中。足以應(yīng)付一個(gè)1080p的視頻和一個(gè)8聲道的音頻信號(hào)。而因?yàn)橐粋€(gè)1080p的視頻和一個(gè)8聲道的音頻信號(hào)需求少于4GB/s,因此HDMI還有很大余量。這允許它可以用一個(gè)電纜分別連接DVD播放器,接收器和PRR。此外HDMI支持EDID、DDC2B,因此具有HDMI的設(shè)備具有“即插即用”的特點(diǎn)
67、,信號(hào)源和顯示設(shè)備之間會(huì)</p><p> 2.2.2數(shù)字接口與模擬接口的比較</p><p> DVI接口的傳輸信號(hào)采用全數(shù)字格式,與之對(duì)應(yīng)的是采用模擬信號(hào)的VGA接口。VGA和DVI的區(qū)別,VGA模擬信號(hào)的傳輸首先是將電腦內(nèi)的數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào),將信號(hào)發(fā)送到LCD顯示器,而顯示器再將該模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),形成畫面展示在大家面前,正因?yàn)槿绱耍虚g的信號(hào)丟失嚴(yán)重,雖然可以通過軟
68、件的方法修復(fù)部分畫面,但是隨著顯示器的分辨率越高畫面就會(huì)越模糊。一般模擬信號(hào)在超過1280×1024分辨率以上的情況下就會(huì)出現(xiàn)明顯的誤差,分辨率越高越嚴(yán)重。而DVI數(shù)字接口可以直接將電腦信號(hào)傳輸給顯示器,中間幾乎沒有信號(hào)損失,不過在800×600這種分辨率下,和模擬信號(hào)的效果幾乎沒有差別,這也就是很多人覺得DVI接口沒有用處的原因。</p><p> 2.2.3選擇結(jié)論:VGA接口</
69、p><p> VGA和DVI做為目前最常見的接口,占領(lǐng)著市場(chǎng)的大部分份額。但是數(shù)字接口的優(yōu)勢(shì)是傳統(tǒng)模擬接口無法代替的。VGA接口很長(zhǎng)一段時(shí)間內(nèi)將會(huì)存在于小尺寸面板及低端LCD顯示器中。</p><p> 本系統(tǒng)是僅需工作在640*480分辨率下,本著就地取材的出發(fā)點(diǎn),選擇了帶有VGA接口的15英寸LCD顯示器。從開發(fā)平臺(tái)方面來說本身已經(jīng)內(nèi)置了VGA接口,從新設(shè)計(jì)DVI接口已不必要。<
70、/p><p> 圖像格式及圖像處理技術(shù)</p><p> 計(jì)算機(jī)圖像格式的發(fā)展一直是相關(guān)領(lǐng)域內(nèi)發(fā)展較快的一個(gè)部分。通過改進(jìn)圖像算法,單幅圖像占用空間越來越小,還原能力越來越高,當(dāng)然算法越來越復(fù)雜,這需要性能更高的硬件解碼。但是來作為Windows下的標(biāo)準(zhǔn)文件格式,bmp文件一直具有十分基礎(chǔ)和重要的地位。</p><p> 2.3.1 TIFF圖像格式</p&
71、gt;<p> TIFF圖像格式:擴(kuò)展名是TIF,全名是Tagged Image File Format。它是一種非失真的壓縮格式(最高也只能做到2~3倍的壓縮比)能保持原有圖像的顏色及層次,但占用空間卻很大。例如一個(gè)200萬像素的圖像,差不多要占用6MB的存儲(chǔ)容量,故TIFF常被應(yīng)用于較專業(yè)的用途,如書籍出版、海報(bào)等,極少應(yīng)用于互聯(lián)網(wǎng)上。</p><p> 2.3.2 PCX圖像格式</
72、p><p> PCX這種圖像文件的形成是有一個(gè)發(fā)展過程的。最先的PCX雛形是出現(xiàn)在ZSOFT公司推出的名叫PC PAINBRUSH的用于繪畫的商業(yè)軟件包中。以后, 微軟公司將其移植到 Windows環(huán)境中,成為Windows系統(tǒng)中一個(gè)子功能。PCX是最早支持彩色圖像的一種文件格式,現(xiàn)在最高可以支持256種彩色。PCX圖像文件由文件頭和實(shí)際圖像數(shù)據(jù)構(gòu)成。文件頭由128字節(jié)組成,描述版本信息和圖像顯示設(shè)備的橫向、縱向分
73、辨率,以及調(diào)色板等信息:在實(shí)際圖像數(shù)據(jù)中,表示圖像數(shù)據(jù)類型和彩色類型。PCX圖像文件中的數(shù)據(jù)都是用PCXREL技術(shù)壓縮后的圖像數(shù)據(jù)。由于這種文件格式出現(xiàn)較早,它不支持真彩色。PCX文件采用RLE行程編碼,文件體中存放的是壓縮后的圖像數(shù)據(jù)。因此,將采集到的圖像數(shù)據(jù)寫成PCX文件格式時(shí),要對(duì)其進(jìn)行RLE編碼:而讀取一個(gè)PCX文件時(shí)首先要對(duì)其進(jìn)行 RLE解碼,才能進(jìn)一步顯示和處理。</p><p> 2.3.3 GI
74、F圖像格式</p><p> GIF(Graphics Interchange Format)的原義是"圖像互換格式",是CompuServe公司在 1987年開發(fā)的圖像文件格式。GIF文件的數(shù)據(jù),是一種基于LZW算法的連續(xù)色調(diào)的無損壓縮格式。其壓縮率一般在50%左右,它不屬于任何應(yīng)用程序。目前幾乎所有相關(guān)軟件都支持它,公共領(lǐng)域有大量的軟件在使用GIF圖像文件。GIF圖像文件的數(shù)據(jù)是經(jīng)過壓縮
75、的,而且是采用了可變長(zhǎng)度等壓縮算法。所以GIF的圖像深度從lbit到8bit,也即GIF最多支持256種色彩的圖像。GIF格式的另一個(gè)特點(diǎn)是其在一個(gè)GIF文件中可以存多幅彩色圖像,如果把存于一個(gè)文件中的多幅圖像數(shù)據(jù)逐幅讀出并顯示到屏幕上,就可構(gòu)成一種最簡(jiǎn)單的動(dòng)畫。GIF解碼較快,因?yàn)椴捎酶粜写娣诺腉IF圖像,在邊解碼邊顯示的時(shí)候可分成四遍掃描。第一遍掃描雖然只顯示了整個(gè)圖像的八分之一,第二遍的掃描后也只顯示了1/4,但這已經(jīng)把整幅圖像的
76、概貌顯示出來了。在顯示GIF圖像時(shí),隔行存放的圖像會(huì)給您感覺到它的顯示速度似乎要比其他圖像快一些,這是隔行存放的優(yōu)點(diǎn)。</p><p> 2.3.4 BMP圖像格式</p><p> BMP是英文Bitmap(位圖)的簡(jiǎn)寫,它是Windows操作系統(tǒng)中的標(biāo)準(zhǔn)圖像文件格式,能夠被多種Windows應(yīng)用程序所支持。隨著Windows操作系統(tǒng)的流行與豐富的Windows應(yīng)用程序的開發(fā),BMP
77、位圖格式理所當(dāng)然地被廣泛應(yīng)用。這種格式的特點(diǎn)是包含的圖像信息較豐富,幾乎不進(jìn)行壓縮,但由此帶來的問題是占用磁盤空間過大。</p><p> BMP文件由4部分組成:位圖文件頭(bitmap-file header)、位圖信息頭(bitmap-information header)、顏色表(color table)、顏色點(diǎn)陣數(shù)據(jù)(bits data)。24位真彩色位圖沒有顏色表,所以只有1、2、4這三部分。用Ul
78、traEdit打開MyBmp.bmp,可以看到這個(gè)文件的全部數(shù)據(jù)如下圖所示:</p><p> 圖2. 2 位圖結(jié)構(gòu)</p><p> 位圖文件頭結(jié)構(gòu)定義如下:</p><p> typedef struct tagBITMAPFILEHEADER{</p><p> WORDbfType; // 位圖文件的類型,必須為BM</
79、p><p> DWORD bfSize; // 位圖文件的大小,以字節(jié)為單位</p><p> WORDbfReserved1; // 位圖文件保留字,必須為0</p><p> WORDbfReserved2; // 位圖文件保留字,必須為0</p><p> DWORD bfOffBits; // 位圖數(shù)據(jù)的起始位置,以相對(duì)于位圖文件
80、頭的偏移量表示,以字節(jié)為單位</p><p> } BITMAPFILEHEADER;</p><p> 表2. 1 位圖文件頭結(jié)構(gòu)</p><p> 位圖信息頭結(jié)構(gòu)定義如下:</p><p> typedef struct tagBITMAPINFOHEADER{</p><p> DWORD biSize
81、; // 本結(jié)構(gòu)所占用字節(jié)數(shù)</p><p> LONGbiWidth; // 位圖的寬度,以像素為單位</p><p> LONGbiHeight; // 位圖的高度,以像素為單位</p><p> WORD biPlanes; // 目標(biāo)設(shè)備的級(jí)別,必須為1</p><p> WORD biBitCount// 每個(gè)像素所需的位數(shù)
82、,必須是1(雙色),4(16色),8(256色)或24(真彩色)之一</p><p> DWORD biCompression; // 位圖壓縮類型,必須是 0(不壓縮),1(BI_RLE8壓縮類型)或2(BI_RLE4壓縮類型)之一</p><p> DWORD biSizeImage; // 位圖的大小,以字節(jié)為單位</p><p> LONGbiXPel
83、sPerMeter; // 位圖水平分辨率,每米像素?cái)?shù)</p><p> LONGbiYPelsPerMeter; // 位圖垂直分辨率,每米像素?cái)?shù)</p><p> DWORD biClrUsed;// 位圖實(shí)際使用的顏色表中的顏色數(shù)</p><p> DWORD biClrImportant;// 位圖顯示過程中重要的顏色數(shù)</p><
84、p> } BITMAPINFOHEADER;</p><p> 表2. 2位圖信息頭結(jié)構(gòu)</p><p><b> 圖2. 3</b></p><p><b> 顏色表定義:</b></p><p> typedef struct tagRGBQUAD {</p>&l
85、t;p> BYTErgbBlue;// 藍(lán)色的亮度(值范圍為0-255)</p><p> BYTErgbGreen; // 綠色的亮度(值范圍為0-255)</p><p> BYTErgbRed; // 紅色的亮度(值范圍為0-255)</p><p> BYTErgbReserved;// 保留,必須為0</p><p>
86、 } RGBQUAD;</p><p> 顏色表中RGBQUAD結(jié)構(gòu)數(shù)據(jù)的個(gè)數(shù)有biBitCount來確定:</p><p> 當(dāng)biBitCount=1,4,8時(shí),分別有2,16,256個(gè)表項(xiàng);當(dāng)biBitCount=24時(shí),沒有顏色表項(xiàng)。位圖信息頭和顏色表組成位圖信息,BITMAPINFO結(jié)構(gòu)定義如下:</p><p> typedef struct t
87、agBITMAPINFO {</p><p> BITMAPINFOHEADER bmiHeader; // 位圖信息頭</p><p> RGBQUAD bmiColors[1]; // 顏色表</p><p> } BITMAPINFO;</p><p> 顏色點(diǎn)陣數(shù)據(jù):位圖全部的像素,是按照自下向上,自左向右的順序排列的。<
88、;/p><p> 圖2. 4 顏色點(diǎn)陣數(shù)據(jù)</p><p> RGB數(shù)據(jù)是順序顛倒的,原始數(shù)據(jù)按B、G、R的順序來排列。</p><p><b> 2.3.5圖像處理</b></p><p> 本系統(tǒng)中,C語言扮演了主要角色。從NIOSⅡ系統(tǒng)的構(gòu)建到最終的圖像顯示都是由C語言編寫完成。</p><
89、p> 對(duì)于系統(tǒng)中使用的圖像數(shù)據(jù),需要對(duì)BMP圖像進(jìn)行數(shù)據(jù)處理。大致流程如圖2.5:</p><p> 圖2. 5 圖像處理流程圖</p><p> 本系統(tǒng)是通過三組MIC來確定有效范圍內(nèi)音源的發(fā)聲方位。在VGA顯示中將屏幕分割成六個(gè)區(qū)域,成扇形輻射。六個(gè)扇區(qū)分別代表測(cè)試環(huán)境中的六個(gè)方位。當(dāng)系統(tǒng)判斷到某一方位有符合的聲音產(chǎn)生時(shí),屏幕上相應(yīng)的扇區(qū)會(huì)成亮藍(lán)色。圖2.6為photosh
90、op中制作出來的效果。</p><p> 圖2. 6 photoshop生成位圖</p><p> GetBmpData是一個(gè)位圖與數(shù)據(jù)轉(zhuǎn)換程序。其特點(diǎn)是可以將BMP圖像根據(jù)實(shí)際需要采用不同的數(shù)據(jù)存儲(chǔ)形式。圖2.7為其操作界面。</p><p> 本系統(tǒng)中使用了640*480分辨率的圖像,顏色深度為16位,這是基于硬件和顯示效果上的考慮。由于板載FLASH容量
91、為64MB,若采用24位高分辨率圖像的話,存儲(chǔ)空間顯然不夠。VGA控制器以每秒50HZ的速度刷新圖像,如果單個(gè)圖像過大,就需要更大的帶寬,對(duì)于FPGA來說也是一種負(fù)擔(dān)。其次在顯示效果上,對(duì)于15英寸的顯示器來說640*480與1280*1024時(shí)顯示的圖像并沒有明顯區(qū)別,當(dāng)然文字除外。綜上所述,可以說640*480@16是最合適的方案。</p><p> 圖2. 7 GetBmpData操作界面</p&g
92、t;<p> 通過GetBmpData,我們可以得到.C格式的數(shù)據(jù)。從數(shù)據(jù)上看,24位的BMP數(shù)據(jù)與16位的BMP數(shù)據(jù)有明顯的區(qū)別。圖2.8、圖2.9分別為24bit數(shù)據(jù)和16bit數(shù)據(jù)。其中,24bit數(shù)據(jù)通過3組16進(jìn)制數(shù)來描述一個(gè)點(diǎn)的色深,</p><p> 如圖2.8中藍(lán)框部分0x00h、0x45h、0x6ah代表了第一行第一個(gè)像素中RGB三色的深度。每種顏色用兩位十六進(jìn)制數(shù)來表示。圖2
93、.9藍(lán)框部分0xa2h、0xa0h則是在16bit下代表了第一行第一個(gè)像素中RGB三色的深度。而這兩種表示方法都是同一幅圖像不同算法下的體現(xiàn)。16位圖和24位圖在數(shù)據(jù)表現(xiàn)上有明顯的不同。24位圖可以用6位十六進(jìn)制數(shù)來表示,換算成二進(jìn)制數(shù)則為24位,RGB三色分別用8位二進(jìn)制數(shù)來表示。而對(duì)于16位圖像來說,RGB用相同的位數(shù)來表示是不可能的,因此也出現(xiàn)了R5G6B5、B6G5R5等組合。本次將16位圖轉(zhuǎn)換成B5G6R5 的形式。</
94、p><p> 圖2. 8 24位圖像結(jié)構(gòu)</p><p> 圖2. 9 16位圖像結(jié)構(gòu)</p><p> 將數(shù)據(jù)處理完成后將其加載至NIOS工作區(qū)中:</p><p> unsigned short bmpdata3[] = { </p><p> 0xa2a0
95、,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,</p><p> 0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,</p><p> 0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,</p>
96、<p> ............</p><p> ............</p><p><b> };</b></p><p> 至于格式的限定以及讀取的方式在vga_example.c中有嚴(yán)格的限定。</p><p><b> 3、設(shè)計(jì)實(shí)現(xiàn)</b></p>
97、<p> 3.1模擬部分電路設(shè)計(jì)</p><p> MIC輸入的電流信號(hào)很小,需要經(jīng)過放大才可以進(jìn)行處理。音頻信號(hào)有其特有的特點(diǎn),因此這里可以使用特殊用途的音頻放大器。前文已經(jīng)描述過器件的選擇過程,這里文章將詳細(xì)討論這些模擬電路的設(shè)計(jì)。</p><p> 本系統(tǒng)中FPGA的輸入端并沒有采用AD對(duì)信號(hào)進(jìn)行采樣,這考慮到了一個(gè)時(shí)間延遲的問題。在聲音的傳播中,聲音的速度是340
98、m/s。在設(shè)計(jì)過程中我們假設(shè)三個(gè)MIC的距離在1m,成等邊三角形分布。如果在距離最近MIC一米的地方有一個(gè)聲源,其到達(dá)第一個(gè)MIC的時(shí)間是2.94ms,到達(dá)最遠(yuǎn)MIC的時(shí)間將超過6ms。但是三者的時(shí)間差則會(huì)在2ms之內(nèi)。多通道串行AD的最大問題在于其工作方式上。</p><p> 多通道串行AD的工作原理是,當(dāng)?shù)谝煌ǖ赖臄?shù)據(jù)轉(zhuǎn)換傳送完畢后進(jìn)入下一通道的數(shù)據(jù)轉(zhuǎn)換。在這個(gè)期間每個(gè)通道的數(shù)據(jù)會(huì)產(chǎn)生時(shí)間差。對(duì)于FPGA
99、來說,它讀取的信號(hào)是單路串行的,再經(jīng)過內(nèi)部的數(shù)據(jù)處理,必然又會(huì)產(chǎn)生另一個(gè)時(shí)間差。兩者相疊加時(shí)間差將會(huì)無法控制,最終可能出現(xiàn)NIOS核中讀取三路MIC的數(shù)據(jù)不在同一時(shí)間段。而在聲音采樣中也就是聲音不同步問題。</p><p> 最終采用的方案是MIC采集聲音信號(hào)后進(jìn)行放大并比較直接進(jìn)入FPGA,這樣三組MIC將保持理論上的同步。當(dāng)然這樣帶來了其他的問題,比如我們只能采集到高低電平而不能采集到聲音的幅度。</
100、p><p> 3.1.1 MIC放大模塊設(shè)計(jì)</p><p> LM386是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的音頻功率放大器,主要應(yīng)用于低電壓消費(fèi)類產(chǎn)品。為使外圍元件最少,電壓增益內(nèi)置為20。通過在1、8管腳外接電容、電阻,便可將電壓增益調(diào)為任意值,最大增益為200。輸入端以地位參考,同時(shí)輸出端被自動(dòng)偏置到電源電壓的一半。</p><p> 圖3. 1 LM386的原理圖&
101、lt;/p><p> 全芯片有8個(gè)管腳。6和4為供電和接地端接入5V和GND。1和8間通過加入電阻和電容可以調(diào)節(jié)放大倍數(shù)。圖3.2為標(biāo)準(zhǔn)連接圖,3和2管腳是放大器輸入端的正負(fù)輸入借口,2腳直接接地沒有漏電力流過大的問題。7管腳是旁路管腳,可以用于電路測(cè)試。5腳為輸出管腳,是放大信號(hào)的輸出。</p><p> 圖3. 2 LM386應(yīng)用電路</p><p> 圖3.
102、3為根據(jù)實(shí)際情況設(shè)計(jì)的兩級(jí)放大圖。圖中共有三組放大電路,這對(duì)應(yīng)三組相同的MIC,每一級(jí)放大25倍。兩級(jí)總共放大倍數(shù)為625倍,若MIC的輸入電壓為5mv,經(jīng)過放大后電壓應(yīng)在3.1V左右。</p><p><b> 圖3. 3設(shè)計(jì)電路</b></p><p> 3.1.2比較模塊設(shè)計(jì)</p><p> LM339內(nèi)部包括有四個(gè)獨(dú)立的、高增益
103、、內(nèi)部頻率補(bǔ)償?shù)碾p運(yùn)算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無關(guān)。它的使用范圍包括傳感放大器、直流增益模塊和其他所有可用單電源供電的使用運(yùn)算放大器的場(chǎng)合。圖3.4為L(zhǎng)M339原理圖。</p><p> 圖3. 4 LM339原理圖</p><p> 本系統(tǒng)將使用一片LM339構(gòu)成三組滯回比較器。在LM339中,四個(gè)運(yùn)算
104、放大器為并發(fā)操作,不會(huì)有先后問題,這也在很大程度消除了器件帶來的時(shí)間延遲的影響。圖3.5為系統(tǒng)中運(yùn)用到的比較電路</p><p> 圖3. 5比較器設(shè)計(jì)電路</p><p> 系統(tǒng)這里需要做的是一個(gè)滯回比較器,作用是將前端放大的聲音信號(hào)轉(zhuǎn)換為電平信號(hào)。使用滯回比較器的原因是被比較的電壓VEE可調(diào),同時(shí)滯回比較對(duì)信號(hào)有一個(gè)保持效果,能夠?yàn)V除瞬間的環(huán)境噪音或芯片自身帶來的毛刺現(xiàn)象。同時(shí)我們
105、把比較電壓設(shè)定在一個(gè)比較高的門限值,這樣能夠很好地濾除環(huán)境底噪。</p><p> LM339最大的好處就是其輸出是一個(gè)穩(wěn)定的電平,不需要在輸出端加穩(wěn)壓二極管便可達(dá)到效果。</p><p> 輸出接口的穩(wěn)壓管能夠?qū)⑤敵鲭妷籂恐圃?.3V以上。加上輸出電阻的幫助,這塊運(yùn)放與后級(jí)FPGA3.3vI/O口的兼容性完全符合要求。</p><p> 3.2 VGA顯示模
106、塊設(shè)計(jì)</p><p> 3.2.1 VGA接口定義</p><p> 表3. 1 VGA接口物理定義</p><p> 顯示器輸入信號(hào)采用15針的VGA接口,表3.1為接口中的管腳分配,在系統(tǒng)設(shè)計(jì)中將通過對(duì)FPGA管腳分配將其與VGA對(duì)應(yīng)管腳聯(lián)通。</p><p> 下圖3.1中所示為VGA接口構(gòu)造。這個(gè)接口已經(jīng)存在于開發(fā)板中,只要
107、進(jìn)行管腳分配就可調(diào)用。</p><p> 圖3. 6VGA接口構(gòu)造</p><p> 15針D型顯示器信號(hào)電纜連接器針腳說明如下:</p><p> 第1,2,3腳輸人圖像的三基色模擬信號(hào),它們是幅值為0.7V(峰-峰值)的正信號(hào),輸入阻抗為75Ω;</p><p> 第6,7,8腳分別接紅、綠、藍(lán)三信號(hào)線的屏蔽線;</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)--基于fpga的失真度測(cè)試儀字
- 基于fpga的環(huán)境測(cè)試儀系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---ph測(cè)試儀的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----電容測(cè)試儀設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--糧食水分測(cè)試儀的設(shè)計(jì)
- 【畢業(yè)設(shè)計(jì)】酒精測(cè)試儀畢業(yè)設(shè)計(jì)(論文)
- 電阻測(cè)試儀畢業(yè)設(shè)計(jì)---簡(jiǎn)易自動(dòng)電阻測(cè)試儀
- 畢業(yè)論文——基于fpga的集成塊測(cè)試儀設(shè)計(jì)
- 酒精濃度測(cè)試儀設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于FPGA的誤碼率測(cè)試儀設(shè)計(jì).pdf
- 基于單片機(jī)的酒精測(cè)試儀的設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)----dsp的糧食水分測(cè)試儀設(shè)計(jì)
- 數(shù)字脈搏測(cè)試儀畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的酒精濃度測(cè)試儀設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于FPGA的ICT在線測(cè)試儀硬件設(shè)計(jì).pdf
- 基于FPGA的誤碼率測(cè)試儀的設(shè)計(jì).pdf
- 畢業(yè)設(shè)計(jì)--co測(cè)試儀軟件設(shè)計(jì)
- 基于FPGA的LCR參數(shù)測(cè)試儀設(shè)計(jì)與實(shí)現(xiàn).pdf
- 畢業(yè)設(shè)計(jì)-- 高壓開關(guān)測(cè)試儀的研究與設(shè)計(jì)
- 基于FPGA的信道誤碼測(cè)試儀設(shè)計(jì)與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論