版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、本科畢業(yè)論文(設(shè)計)題 目 基于 fpga 與色敏傳感器的顏色識別系統(tǒng)(數(shù)字部分)指導(dǎo)教師 職稱 學(xué)生姓名 學(xué)號 專 業(yè) 自動化 班級 (1) 院 (系)電子信息工程學(xué)院電子工程系完成時間 基于 fpga 與色敏傳感器的顏色識別系統(tǒng)(數(shù)字部分)摘要本論文主要介紹了顏色識別系統(tǒng), 本顏色識別系統(tǒng)主要實現(xiàn)對幾種典型顏色的自動識別.本設(shè)計基于 fpga 與色敏傳感器來實現(xiàn),包括模擬和數(shù)字兩個主要部分.模擬部分主要負(fù)責(zé)顏色信號的采集、放大,采集信號使用 cls9032 單晶硅雙結(jié)型色敏傳感器;數(shù)字部分主要負(fù)責(zé)顏色信號的處理和識別,也是本設(shè)計的核心部分,硬件使用 altera 公司的 niosii 處理
2、器 fpga 系統(tǒng)組建,軟件使用vhdl 語言編程。數(shù)字部分用到的核心部件是 fpga,不同于單片機。單片機(如 8051 系統(tǒng))每條指令都需要 12 個振蕩周期,fpga 只需要 2 個振蕩周期,所以同樣條件下,fpga 有更快的運行速度,這也是本設(shè)計的創(chuàng)新之處。關(guān)鍵詞關(guān)鍵詞:顏色傳感器;fpga;vhdl 語言;sensitive sensors based on fpga with color color identification system (digital part)abstract this paper introduces color identification syst
3、em, the primary color identification system to realize the automatic recognition of typical color. the design is based on sopc technology, the use niosii soft-core processor, including analog and digital two main parts. simulate some of the major responsible for the color signal acquisition, amplifi
4、cation, signal acquisition using cls9032 silicon color sensor with double-junction sensor; digital part is mainly responsible for the color signal processing and identification, the hardware using alteras niosii processor system formed, the software programming using vhdl language. digital part of t
5、he core component is used in fpga, different from the mcu. microcontroller (such as the 8051 system) each instruction requires 12 oscillation period, fpga only two oscillation period, so the same conditions, fpga with a faster speed, which is also the design innovations. keywords:color sensor ; fpga
6、; vhdl language;目 錄摘要iabstractii第 1 章 緒 論1第 2 章 eda 技術(shù)與 vhdl12.1 eda 技術(shù)1 2.1.1 eda 技術(shù)的含義1 2.1.2 eda 技術(shù)的發(fā)展歷史2 2.1.3 eda 技術(shù)的基本特征2 2.1.4 eda 技術(shù)的主要內(nèi)容3 2.1.5 eda 技術(shù)的設(shè)計流程5 2.2 vhdl 硬件描述語言72.2.1 vhdl 的特點72.2.2 vhdl 語言基礎(chǔ)知識8第 3 章 色敏傳感器與 fpga 的簡單介紹143.1 色敏傳感器143.2 fpga15 3.3 a/d16第四章 基于 fpga 與色敏傳感器的顏色識別系統(tǒng)(數(shù)字部
7、分)164.1 設(shè)計原理及工作要求164.2 模擬部分174.3 數(shù)字部分(重要)174.4 altera quartus ii 壞境下的仿真19結(jié)束語20致謝21參考文獻22(附 錄)23第 1 章 緒 論(稍增加一些內(nèi)容,緒論中主要寫論文的設(shè)計背景,意義,設(shè)計內(nèi)容及預(yù)期目標(biāo))在當(dāng)今的社會生活中,顏色識別得到越來越廣泛的應(yīng)用。各個領(lǐng)域的廣泛應(yīng)用需求使顏色識別技術(shù)有了長足的發(fā)展,結(jié)合其他技術(shù),可為工業(yè)控制、產(chǎn)品制造等多個行業(yè)更好地服務(wù)。目前,顏色識別技術(shù)主要是通過結(jié)構(gòu)簡單、使用方便的單片機來實現(xiàn),而本設(shè)計選用 fpga 來實現(xiàn),該系統(tǒng)可應(yīng)用于印染、油漆、汽車等行業(yè),也可以裝在自動生產(chǎn)線上對產(chǎn)品
8、的顏色進行監(jiān)測。這樣選擇的好處有以下幾點:fpga 芯片是并行運算的,每個振蕩周期都可以執(zhí)行任務(wù),而單片機(如 8051 系列)的每條指令都需要 12 個振蕩周期。例如,單片機 io 端口的變化最快也需要 24 個振蕩周期,而 fpga 只需要 2 個振蕩周期,所以同樣的振蕩周期下,fpga 速度更快。fpga 有豐富的 io 資源(一般有數(shù)百個 io 口),容易實現(xiàn)大規(guī)模系統(tǒng),可以方便地連接外設(shè)(比如多路 ad、da 等)。而單片機的 io 口有限,要進行仔細的資源分配、總線隔離。fpga 可以進行硬件重構(gòu),在功能擴展或性能改善方面也非常容易。本設(shè)計選用了 altera 公司的:niosli
9、 軟核,使用 sopc 的軟硬件綜合解決方案。與傳統(tǒng)的設(shè)計方法完全不同,從硬件和軟件整體設(shè)計上進行了極大的改進,使硬件電路更加簡單、有效、易于理解,軟件設(shè)計更輕松、可移植性更強。第 2 章 eda 技術(shù)與 vhdl(刪減第二章的內(nèi)容,篇幅不能超過 4 頁,且第二章不能只介紹 eda 相關(guān)的內(nèi)容,你論文中用到的傳感器類的相關(guān)知識也可以稍微描述一下,總體篇幅要不超過 4 頁)2.1 eda 技術(shù)2.1.1 eda 技術(shù)的含義eda 即電子設(shè)計自動化,是 electronic design automation 的英文縮寫。其發(fā)展歷程可分為:(1)手工設(shè)計階段(2)早期電子 cad 技術(shù)(3)電子設(shè)
10、計自動化(eda)技術(shù)(4)soc、esda 設(shè)計技術(shù)。 (其中 soc:system on a chip,esda:electronic system design automation) 它有廣義和狹義兩種定義方式,其廣義定義范圍包括:半導(dǎo)體工藝設(shè)計自動化、可編程器件設(shè)計自動化、電子系統(tǒng)設(shè)計自動化、印刷電路板設(shè)計自動化、仿真與測試、故障診斷自動化、形式驗證自動化,這些都通稱為 eda 工程。 eda 技術(shù)的狹義定義為以大規(guī)??删幊踢壿嬈骷樵O(shè)計載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達方式,以計算機、大規(guī)模可編程器件的開發(fā)軟件及實驗開發(fā)系統(tǒng)為設(shè)計工具,自動完成用軟件方式描述的電子系統(tǒng)到硬
11、件系統(tǒng)的邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化、布局布線、邏輯仿真,直至完成對于特定目標(biāo)芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T多學(xué)科融合的新技術(shù)。 2.1.2 eda 技術(shù)的發(fā)展歷史 20 世紀(jì) 90 年代,國際上電子和計算機技術(shù)較先進的國家,一直在積極探索新的電子電路設(shè)計方法,并在設(shè)計方法、工具等方面進行了徹底的變革,取得了巨大成功。在電子技術(shù)設(shè)計領(lǐng)域,可編程邏輯器件(如 cpld、fpga)的應(yīng)用,已得到廣泛的普及,這些器件為數(shù)字系統(tǒng)的設(shè)計帶來了極大的靈活性。這些器件可以通過軟件編程而對其硬件結(jié)構(gòu)和工作方式進行重構(gòu),從而使得硬件的設(shè)計可以如
12、同軟件設(shè)計那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計方法、設(shè)計過程和設(shè)計觀念,促進了 eda 技術(shù)的迅速發(fā)展。 eda 是電子設(shè)計自動化(electronic design automation)的縮寫,在 20世紀(jì) 90 年代初從計算機輔助設(shè)計(cad)、計算機輔助制造(cam)、計算機輔助測試(cat)和計算機輔助工程(cae)的概念發(fā)展而來的。eda 技術(shù)就是以計算機為工具,設(shè)計者在 eda 軟件平臺上,用硬件描述語言 hdl 完成設(shè)計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。eda
13、技術(shù)的出現(xiàn),極大地提高了電路設(shè)計的效率和可*性,減輕了設(shè)計者的勞動強度。2.1.3 eda 技術(shù)的基本特征eda 代表了當(dāng)今電子設(shè)計技術(shù)的最新發(fā)展方向,它的基本特征是:設(shè)計人員按照“自頂向下”的設(shè)計方法,對整個系統(tǒng)進行方案設(shè)計和功能劃分,系統(tǒng)的關(guān)鍵電路用一片或幾片專用集成電路(asic)實現(xiàn),然后采用硬件描述語言(hdl)完成系統(tǒng)行為級設(shè)計,最后通過綜合器和適配器生成最終的目標(biāo)器件,這樣的設(shè)計方法被稱為高層次的電子設(shè)計方法。下面介紹與 eda 基本特征有關(guān)的幾個概念。 1“自頂向下”的設(shè)計方法。10 年前,電子設(shè)計的基本思路還是選用標(biāo)準(zhǔn)集成電路“自底向上”地構(gòu)造出一個新的系統(tǒng),這樣的設(shè)計方法就
14、如同一磚一瓦建造金字塔,不僅效率低、成本高而且容易出錯。 高層次設(shè)計是一種“自頂向下”的全新設(shè)計方法,這種設(shè)計方法首先從系統(tǒng)設(shè)計人手,在頂層進行功能方框圖的劃分和結(jié)構(gòu)設(shè)計。在方框圖一級進行仿真、糾錯,并用硬件描述語言對高層次的系統(tǒng)行為進行描述,在系統(tǒng)一級進行驗證。然后,用綜合優(yōu)化工具生成具體門電路的網(wǎng)絡(luò)表,其對應(yīng)的物理實現(xiàn)級可以是印刷電路板或?qū)S眉呻娐?。由于設(shè)計的主要仿真和調(diào)試過程是在高層次上完成的,這既有利于早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計上的錯誤,避燃計工作的浪費,又減少了邏輯功能仿真的工作量,提高了設(shè)計的一次成功率。 2asic 設(shè)計?,F(xiàn)代電子產(chǎn)品的復(fù)雜度日益提高,一個電子系統(tǒng)可能由數(shù)萬個中小規(guī)模集成
15、電路構(gòu)成,這就帶來了體積大、功耗大、可靠性差的問題。解決這一問題的有效方法就是采用 asic 芯片進行設(shè)計。asic 按照設(shè)計方法的不同可分為全定制 asic、半定制 asc 和可紀(jì)程 asic(也稱為可編程邏輯器件)。 設(shè)計全定制 asic 芯片時,設(shè)計師要定義芯片上所有晶體管的幾何圖形和工藝規(guī)則,最后將設(shè)計結(jié)果交由 m 廠家去進行格模制造,做出產(chǎn)品。這種設(shè)計方法的優(yōu)點是芯片可以獲得最優(yōu)的性能,即面積利用率高、速度快、功耗低,而缺點是開發(fā)周期長,費用高,只適合大批量產(chǎn)品開發(fā)。 半定制 asic 芯片的版圖設(shè)計方法分為門陣列設(shè)計法和標(biāo)準(zhǔn)單元設(shè)計法,這兩種方法都是約束性的設(shè)計方法,其主要目的就是
16、簡化設(shè)計,以犧牲芯片性能為代價來縮短開發(fā)時間。2.1.4 eda 技術(shù)的主要內(nèi)容eda 技術(shù)涉及面廣,內(nèi)容豐富,從教學(xué)和實用的角度看,主要應(yīng)掌握如下四個方面的內(nèi)容:(1)大規(guī)??删幊踢壿嬈骷?;(2)硬件描述語言;(3)軟件開發(fā)工具;(4)實驗開發(fā)系統(tǒng)。其中,大規(guī)??删幊踢壿嬈骷抢胑da 技術(shù)進行電子系統(tǒng)設(shè)計的載體,硬件描述語言是利用 eda 技術(shù)進行電子系統(tǒng)設(shè)計的主要表達手段,軟件開發(fā)工具是利用 eda 技術(shù)進行電子系統(tǒng)設(shè)計的智能化的自動設(shè)計工具,實驗開發(fā)系統(tǒng)則是利用 eda 技術(shù)進行電子系統(tǒng)設(shè)計的下載工具及硬件驗證工具。(1) 大規(guī)模可編程邏輯器件可編程邏輯器件(簡稱 pld)是一種由用
17、戶編程以實現(xiàn)某種邏輯功能的新型邏輯器件。fpga 和 cpld 分別是現(xiàn)場可編程門陣列和復(fù)雜可編程邏輯器件的簡稱,現(xiàn)在,fpga 和 cpld 器件的應(yīng)用已十分廣泛,它們將隨著 eda 技術(shù)的發(fā)展而成為電子設(shè)計領(lǐng)域的重要角色。國際上生產(chǎn) fpga/cpld 的主流公司,并且在國內(nèi)占有市場份額較大的主要是 xilinx, altera, lattice 三家公司。xilinx 公司的 fpga 器件有 xc2000,xc3000,xc4000,xc4000e,xc4000xla, xc5200 系列等,可用門數(shù)為 120018000;altera 公司的 cpld 器件有flex600,flex
18、8000,flex10k,flex10ke 系列等,提供門數(shù)為500025000;lattice 公司的 isp-pld 器件有 isplsi1000, isplsi2000, isplsi3000, isplsi6000 系列等,集成度多達 25000 個 pld 等效門。fpga 在結(jié)構(gòu)上主要分為三個部分,即可編程邏輯單元,可編程輸入/輸出單元和可編程連線三個部分。cpld 在結(jié)構(gòu)上主要包括三個部分,即可編程宏單元,可編程輸入/輸出單元和可編程內(nèi)部連線。高集成度、高速度和高可靠性是 fpga/cpld 最明顯的特點,其時鐘延時可小至 ns 級,結(jié)合其并行工作方式,在超高速應(yīng)用領(lǐng)域和實時測控
19、方面有著非常廣闊的應(yīng)用前景。在高可靠應(yīng)用領(lǐng)域,如果設(shè)計得當(dāng),將不會存在類似于mcu 的復(fù)位不可靠和 pc 可能跑飛等問題。fpga/cpld 的高可靠性還表現(xiàn)在幾乎可將整個系統(tǒng)下載于同一芯片中,實現(xiàn)所謂片上系統(tǒng),從而大大縮小了體積,易于管理和屏蔽。由于 fpga/cpld 的集成規(guī)模非常大,可利用先進的 eda 工具進行電子系統(tǒng)設(shè)計和產(chǎn)品開發(fā)。由于開發(fā)工具的通用性、設(shè)計語言的標(biāo)準(zhǔn)化以及設(shè)計過程幾乎與所用器件的硬件結(jié)構(gòu)沒有關(guān)系,因而設(shè)計開發(fā)成功的各類邏輯功能塊軟件有很好的兼容性和可移植性。它幾乎可用于任何型號和規(guī)模 fpga/cpld中,從而使得產(chǎn)品設(shè)計效率大幅度提高??梢栽诤芏虝r間內(nèi)完成十分復(fù)
20、雜的系統(tǒng)設(shè)計,這正是產(chǎn)品快速進入市場最寶貴的特征。美國 it 公司認(rèn)為,一個asic80%的功能可用于 ip 核等現(xiàn)成邏輯合成。而未來大系統(tǒng)的 fpga/cpld 設(shè)計僅僅各類再應(yīng)用邏輯與 ip 核(core)的拼裝,其設(shè)計周期將更短。與 asic 設(shè)計相比,fpga/cpld 顯著的優(yōu)勢是開發(fā)周期短、投資風(fēng)險小、產(chǎn)品上市速度快、市場適應(yīng)能力強核硬件升級回旋余地大,而且當(dāng)產(chǎn)品定型核產(chǎn)量擴大后,可將在生產(chǎn)中達到充分檢驗的 vhdl 設(shè)計迅速實現(xiàn) asic 投產(chǎn)。對于一個開發(fā)項目,究竟是選擇 fpga 還是選擇 cpld 呢?主要看開發(fā)項目本身的需要。對于普通規(guī)模,且產(chǎn)量不是很大的產(chǎn)品項目,通常使
21、用cpld 比較好。對于大規(guī)模的邏輯設(shè)計 asic 設(shè)計,或單片系統(tǒng)設(shè)計,則多采用fpga。另外,fpga 掉電后將丟失原有的邏輯信息,所以在使用中需要為fpga 芯片配置一個專用 rom。(2)硬件描述語言(hdl) 常用的硬件描述語言有 vhdl、verilog、abel。vhdl:作為 ieee 的工業(yè)標(biāo)準(zhǔn)硬件描述語言,在電子工程領(lǐng)域,已成為事實上的通用硬件描述語言。verilog:支持的 eda 工具較多,適用于 rtl 級核門電路級的描述,其綜合過程較 vhdl 稍簡單,但其在高級描述方面不如 vhdl。 abel:一種支持各種不同輸入方式的 hdl,被廣泛于各種可編程邏輯器件的邏輯
22、功能設(shè)計,由于其語言描述的獨立性,因而適用于各種不同規(guī)模的可編程器件的設(shè)計。有專家認(rèn)為,在新世紀(jì)中,vhdl 與 verilog 語言將承擔(dān)幾乎全部的數(shù)字系統(tǒng)設(shè)計任務(wù)。(3)軟件開發(fā)工具目前比較流行的、主流廠家的 eda 的軟件工具有 altera 的 max+plus ii 、lattice 的 ispexpert、xilinx 的 foundation series。max+plus ii:支持原理圖、vhdl 和 verilog 語言文本文件,以及以波形與 edif 等格式的文件作為設(shè)計輸入,并支持這些文件的任意混合設(shè)計。它具有門級仿真器,可以進行功能仿真和時序仿真,能夠產(chǎn)生精確的仿真結(jié)
23、果。在適配之后,max+plus ii 生成供時序仿真用的 edif、vhdl 和 verilog 這三種不同格式的網(wǎng)表文件,它界面友好,使用便捷,被譽為業(yè)界最易學(xué)易用的 eda軟件,并支持主流的第三方 eda 工具,支持除 apex20k 系列之外的所有altera 公司的 fpga/cpld 大規(guī)模邏輯器件。ispexpert:ispexpert system 是 ispexpert 的主要集成環(huán)境。通過它可以進行 vhdl、verilog 及 abel 語言的設(shè)計輸入、綜合、適配、仿真和在系統(tǒng)下載。ispexpert system 是目前流行的 eda 軟件中最容易掌握的設(shè)計工具之一,它
24、界面友好,操作方便,功能強大,并與第三方 eda 工具兼容良好。foundation series:xilinx 公司最新集成開發(fā)的 eda 工具。它采用自動化的、完整的集成設(shè)計環(huán)境。foundation 項目管理器集成了 xilinx 實現(xiàn)工具,并包含了強大的 synopsys fpga express 綜合系統(tǒng),是業(yè)界最強大的 eda 設(shè)計工具之一。(4)實驗開發(fā)系統(tǒng)提供芯片下載電路及 eda 實驗/開發(fā)的外圍資源(類似于用于單片機開發(fā)的仿真器) ,供硬件驗證用。一般包括:a)實驗或開發(fā)所需的各類基本信號發(fā)生模塊,包括時鐘、脈沖、高低電平等;b)fpga/cpld 輸出信息顯示模塊,包括數(shù)
25、據(jù)顯示、發(fā)光管顯示、聲響指示等;c)監(jiān)控程序模塊,提供“電路重構(gòu)軟配置”;d)目標(biāo)芯片適配座以及上面的 fpga/cpld 目標(biāo)芯片和編程下載電路。2.1.5 eda 技術(shù)的設(shè)計流程可以從傳統(tǒng)設(shè)計方法和 eda 設(shè)計方法的區(qū)別說明eda 設(shè)計方法的優(yōu)勢:(1 1)設(shè)設(shè)計計思思想想不不同同:(2)eda 是采用自上而下(top - down)的設(shè)計方法。 自上而下是指將數(shù)字系統(tǒng)的整體逐步分解為各個子系統(tǒng)和模塊,若子系統(tǒng)規(guī)模較大,則還需將子系統(tǒng)進一步分解為更小的子系統(tǒng)和???,層層分解,直至整個系統(tǒng)中各個子系統(tǒng)關(guān)系合理,并便于邏輯電路級的設(shè)計和實現(xiàn)為止。自上而下設(shè)計中可逐層描述,逐層仿真,保證滿足系
26、統(tǒng)指標(biāo)。 傳統(tǒng)設(shè)計方法是采用自下而上(bottom up)的設(shè)計方法。 (2 2)與與傳傳統(tǒng)統(tǒng)的的基基于于電電路路板板的的設(shè)設(shè)計計方方法法不不同同,e ed da a 技技術(shù)術(shù)是是基基于于芯芯片片的的設(shè)設(shè)計計方方法法。(3 3)描描述述方方式式不不同同: 傳統(tǒng)設(shè)計方法采用電路圖為主; eda 設(shè)計方法以硬件描述語言(hdl_ hard description language)為主。( 4 4)設(shè)設(shè)計計手手段段不不同同: 傳統(tǒng)設(shè)計方法以手工設(shè)計為主;eda 設(shè)計方法其方案驗證與設(shè)計、系統(tǒng)邏輯綜合、布局布線、性能仿真、器件編程等均由 eda 工具一體化完成。2.2 vhdl 硬件描述語言2.2.
27、1 vhdl 的特點vhdl 是一種用普通文本形式設(shè)計數(shù)字系統(tǒng)的硬件描述語言,主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,可以在任何文字處理軟件環(huán)境中編輯。除了含有許多具有硬件特征的語句外,其形式、描述風(fēng)格及語法十分類似于計算機高級語言。vhdl 程序?qū)⒁豁椆こ淘O(shè)計項目(或稱設(shè)計實體)分成描述外部端口信號的可視部分和描述端口信號之間邏輯關(guān)系的內(nèi)部不可視部分,這種將設(shè)計項目分成內(nèi)、外兩個部分的概念是硬件描述語言(hdl)的基本特征。當(dāng)一個設(shè)計項目定義了外部界面(端口) ,在其內(nèi)部設(shè)計完成后,其他的設(shè)計就可以利用外部端口直接調(diào)用這個項目。vhdl 的主要特點如下:(1)作為 hdl 的第一個國際
28、標(biāo)準(zhǔn),vhdl 具有很強的可移植性。(2)具有豐富的模擬仿真語句和庫函數(shù),隨時可對設(shè)計進行仿真模擬,因而能將設(shè)計中的錯誤消除在電路系統(tǒng)裝配之前,在設(shè)計早期就能檢查設(shè)計系統(tǒng)功能的可行性,有很強的預(yù)測能力。(3)vhdl 有良好的可讀性,接近高級語言,容易理解。(4)系統(tǒng)設(shè)計與硬件結(jié)構(gòu)無關(guān),方便了工藝的轉(zhuǎn)換,也不會因工藝變化而使描述過時。(5)支持模塊化設(shè)計,可將大規(guī)模設(shè)計項目分解成若干個小項目,還可以把已有的設(shè)計項目作為一個模塊調(diào)用。(6)對于用 vhdl 完成的一個確定設(shè)計,可以利用 eda 工具進行邏輯綜合和優(yōu)化,并能自動地把 vhdl 描述轉(zhuǎn)變成門電路級網(wǎng)表文件。(7)設(shè)計靈活,修改方便,
29、同時也便于設(shè)計結(jié)果的交流、保存和重用,產(chǎn)品開發(fā)速度快,成本低。vhdl 是一種快速的電路設(shè)計工具,其功能涵蓋了電路描述、電路合成、電路仿真等設(shè)計工作。vhdl 具有極強的描述能力,能支持系統(tǒng)行為級、寄存器傳輸級和邏輯門電路級三個不同層次的設(shè)計,能夠完成從上層到下層(從抽象到具體)逐層描述的結(jié)構(gòu)化設(shè)計思想。用 vhdl 設(shè)計電路主要的工作過程是:1)編輯。用文本編輯器輸入設(shè)計的源文件(為了提高輸入效率,可用某些專用編輯器) 。2)編譯。用編譯工具將文本文件編譯成代碼文件,并檢查語法錯誤。3)功能仿真(前仿真) 。在編譯前進行邏輯功能驗證,此時的仿真沒有延時,對于初步的功能檢測非常方便。4)綜合。
30、將設(shè)計的源文件用自動綜合工具由語言轉(zhuǎn)換為實際的電路圖(門電路級網(wǎng)表) ,但此時還沒有在芯片中形成真正的電路,就好像是把設(shè)計者腦海中的電路畫成了原理圖。5)布局、布線。用已生成的網(wǎng)表文件,再根據(jù) cpld(或 fpga)器件的容量和結(jié)構(gòu),用自動布局布線工具進行電路設(shè)計。首先根據(jù)網(wǎng)表文件內(nèi)容和器件結(jié)構(gòu)確定邏輯門的位置,然后再根據(jù)網(wǎng)表提供的門連接關(guān)系,把各個門的輸入輸出連接起來,類似于設(shè)計 pcb(印刷電路板)時的布局布線工作。最后生成一個供器件編程(或配置)的文件,同時還會在設(shè)計項目中增加一些時序信息,以便于后仿真。6)后仿真(時序仿真) 。這是與實際器件工作情況基本相同的仿真,用來確定設(shè)計在經(jīng)過
31、布局、布線之后,是否仍能滿足設(shè)計要求。如果設(shè)計的電路時延滿足要求,則可以進行器件編程(或配置) 。2.2.2 vhdl 語言基礎(chǔ)知識1.vhdl 的基本結(jié)構(gòu)一個 vhdl 程序必須包括實體(entity)和結(jié)構(gòu)體(architecture) 。一個設(shè)計實體可看成一個盒子,通過它只能了解其外部輸入及輸出端口,無法知道盒子里的東西,而結(jié)構(gòu)體則用來描述盒子內(nèi)部的詳細內(nèi)容。至于完整的vhdl 程序是什么樣,實際上并沒有統(tǒng)一的標(biāo)準(zhǔn),因為不同的程序設(shè)計目的可以有不同的程序結(jié)構(gòu)。除實體和結(jié)構(gòu)體外,多數(shù)程序還要包含庫和程序包部分。實體中定義了一個設(shè)計模塊的外部輸入和輸出端口,即模塊(或元件)的外部特征,描述了
32、一個元件或一個模塊與其他部分(模塊)之間的連接關(guān)系,可以看作是輸入輸出信號和芯片管腳信息。一個設(shè)計可以有多個實體,只有處于最高層的實體稱為頂層實體,eda 工具的編譯和仿真都是對頂層實體進行的。處于低層的各個實體都可作為單個元件,被高層實體調(diào)用。結(jié)構(gòu)體主要用來說明元件內(nèi)部的具體結(jié)構(gòu),即對元件內(nèi)部的邏輯功能進行說明,是程序設(shè)計的核心部分。庫是程序包的集合,不同的庫有不同類型的程序包。程序包用來定義結(jié)構(gòu)體和實體中要用到的數(shù)據(jù)類型、元件和子程序等?!纠?6-1】用 vhdl 設(shè)計一個非門(反向器) 。非門即 y = a,設(shè)反相器的 vhdl 的文件名是 not1.vhd,其中的.vhd 是 vhdl
33、程序文件的擴展名。程序結(jié)構(gòu)如下:-庫和程序包部分library ieee; -打開 ieee 庫use ieee.std_logic_1164.all; -調(diào)用庫中 std_logic_1164 程序包 -實體部分entity not1 is -實體名為 not1port ( -端口說明a:in std_logic; -定義端口類型和數(shù)據(jù)類型y:out std_logic) ;end not1; -實體結(jié)束-結(jié)構(gòu)體部分architecture inv of not1 is -結(jié)構(gòu)體名為 invbeginy = not a; -將 a 取反后賦值給輸出端口 yend inv; -結(jié)構(gòu)體結(jié)束這是一
34、個完整的 vhdl 源程序?qū)嵗?。其中的第一部分是庫和程序包,是用vhdl 編寫的共享文件,定義結(jié)構(gòu)體和實體中要用到的數(shù)據(jù)類型、元件、子程序等,放在名為 ieee 的庫中。第二部分是實體,相當(dāng)于定義電路單元的管腳信息。實體名是自己任意取的,但要注意要與項目名和文件名相同,并符合標(biāo)識符規(guī)則。實體以 entity 開頭,以 end 結(jié)束。第三部分是結(jié)構(gòu)體,用來描述電路的內(nèi)部結(jié)構(gòu)和邏輯功能。結(jié)構(gòu)體名也是任意取的,結(jié)構(gòu)體以 architecture 開頭,以 end 結(jié)束。begin 是開始描述實體端口邏輯關(guān)系的標(biāo)志,有行為描述、數(shù)據(jù)流(也稱寄存器)描述和結(jié)構(gòu)描述三種描述方式,這里采用的是數(shù)據(jù)流描述方式
35、。符號=是信號賦值運算符,從電路角度看就是表示信號傳輸;not 是關(guān)鍵字,表示取反(對后面的信號 a 操作) ,結(jié)構(gòu)體實現(xiàn)了將 a 取反后傳送到輸出端 y 的功能。兩條短劃線是注釋標(biāo)識符,其右側(cè)內(nèi)容是對程序的具體注釋,并不執(zhí)行。所有語句都是以分號結(jié)束,另外程序中不區(qū)分字母的大小寫?!纠?6-2】用 vhdl 設(shè)計一個將輸入端信號直接送到輸出端輸出的程序。entity mybody is -mybody 是實體名port ( -定義端口in1 :in bit; output1 :out bit ); end mybody; -實體結(jié)束 architecture myprog of mybody
36、is -結(jié)構(gòu)體名 myprog begin -結(jié)構(gòu)體開始o(jì)utput1 = in1; -輸入狀態(tài)直接送到輸出end myprog; -結(jié)構(gòu)體結(jié)束程序的 15 行構(gòu)成實體部分,mybody 是實體名。port 是關(guān)鍵字(或保留字) ,定義了實體(元件)的端口(相當(dāng)于管腳)信息。in1 是一個管腳(位信號)名稱,自己定義,in 表示信號傳輸方向是輸入,bit 是數(shù)據(jù)類型名稱,其取值范圍是0 、 1 。output1 也是一個管腳名稱,out 表示輸出。end 是結(jié)束標(biāo)志,只有一個實體時其右邊的實體名稱 mybody 可以省略。程序的 69 行構(gòu)成結(jié)構(gòu)體部分,of mybody 說明結(jié)構(gòu)體是屬于實體
37、mybody,of 右邊的實體名稱必須與實體部分的實體名稱相同。begin 是結(jié)構(gòu)體開始的標(biāo)志,該關(guān)鍵字是必須的。end myprog 是結(jié)構(gòu)體結(jié)束標(biāo)志,只有一個結(jié)構(gòu)體時結(jié)構(gòu)體名 myprog 可省略。由于例 6-2 實體中信號使用的數(shù)據(jù)類型(bit)和結(jié)構(gòu)體中的運算符(=)都是默認(rèn)類型,所以程序文件可省略庫和程序包。2.vhdl 的庫和程序包一庫庫是專門用于存放預(yù)先編譯好的程序包的地方,對應(yīng)一個文件目錄,程序包的文件就放在此目錄中,其功能相當(dāng)于共享資源的倉庫,所有已完成的設(shè)計資源只有存入某個“庫”內(nèi)才可以被其他實體共享。庫的說明總是放在設(shè)計單元的最前面,表示該庫資源對以下的設(shè)計單元開放。庫語
38、句格式如下:library 庫名 ;常用的庫有 ieee 庫、std 庫和 work 庫。(1)ieee 庫:是 vhdl 設(shè)計中最常用的資源庫,包含 ieee 標(biāo)準(zhǔn)的std_logic_1164、numeric_bit、numeric_std 以及其他一些支持工業(yè)標(biāo)準(zhǔn)的程序包。其中最重要和最常用的是 std_logic_1164 程序包,大部分程序都是以此程序包中設(shè)定的標(biāo)準(zhǔn)為設(shè)計基礎(chǔ)。(2)std 庫:是 vhdl 的標(biāo)準(zhǔn)庫,vhdl 在編譯過程中會自動調(diào)用這個庫,所以使用時不需要用語句另外說明。(3)work 庫:是用戶在進行 vhdl 設(shè)計時的現(xiàn)行工作庫,用戶的設(shè)計成果將自動保存在這個庫
39、中,是用戶自己的倉庫,同 std 庫一樣,使用該庫不需要任何說明。二程序包程序包是用 vhdl 語言編寫的一段程序,可以供其他設(shè)計單元調(diào)用和共享,相當(dāng)于公用的“工具箱” ,各種數(shù)據(jù)類型、子程序等一旦放入了程序包,就成為共享的“工具” ,類似于 c 語言的頭文件,使用它可以減少代碼的輸入量,使程序結(jié)構(gòu)清晰。在一個設(shè)計中,實體部分所定義的數(shù)據(jù)類型、常量和子程序可以在相應(yīng)的結(jié)構(gòu)體中使用,但在一個實體的聲明部分和結(jié)構(gòu)體部分中定義的數(shù)據(jù)類型、常量及子程序卻不能被其他設(shè)計單元使用。因此,程序包的作用是可以使一組數(shù)據(jù)類型、常量和子程序能夠被多個設(shè)計單元使用。程序包分為包頭和包體兩部分。包頭(也稱程序包說明)
40、是對包中使用的數(shù)據(jù)類型、元件、函數(shù)和子程序進行定義,其形式與實體定義類似。包體規(guī)定了程序包的實際功能,存放函數(shù)和過程的程序體,而且還允許建立內(nèi)部的子程序、內(nèi)部變量和數(shù)據(jù)類型。包頭、包體均以關(guān)鍵字 package 開頭。程序包格式如下。包頭格式:package 程序包名 is包頭說明語句end 程序包名;包體格式:package body 程序包名 is包體說明語句end 程序包名;調(diào)用程序包的通用模式為:use 庫名.程序包名.all;常用預(yù)定義程序包有以下四個:(1)std_logic_1164 程序包std_logic_1164 程序包定義了一些數(shù)據(jù)類型、子類型和函數(shù)。數(shù)據(jù)類型包括:std
41、_ulogic、std_ulogic _vector、std_logic 和 std_logic _vector,用的最多最廣的是 std_logic 和 std_logic_vector 數(shù)據(jù)類型。調(diào)用 std_logic_1164 程序包中的項目需要使用以下語句:library ieee;use ieee.std_logic_1164.all;該程序包預(yù)先在 ieee 庫中編譯,是 ieee 庫中最常用的標(biāo)準(zhǔn)程序包,其數(shù)據(jù)類型能夠滿足工業(yè)標(biāo)準(zhǔn),非常適合 cpld(或 fpga)器件的多值邏輯設(shè)計結(jié)構(gòu)。(2)std_logic_arith 程序包該程序包是美國 synopsys 公司的程序包
42、,預(yù)先編譯在 ieee 庫中。主要是在std_logic_1164 程序包的基礎(chǔ)上擴展了 unsigned(無符號) 、signed(符號)和 small_int(短整型)三個數(shù)據(jù)類型,并定義了相關(guān)的算術(shù)運算符和轉(zhuǎn)換函數(shù)。(3)std_logic_signed 程序包該程序包預(yù)先編譯在 ieee 庫中,也是 synopsys 公司的程序包。主要定義有符號數(shù)的運算,重載后可用于 integer(整數(shù)) 、std_logic(標(biāo)準(zhǔn)邏輯位)和std_logic _vector(標(biāo)準(zhǔn)邏輯位向量)之間的混合運算,并且定義了std_logic _vector 到 integer 的轉(zhuǎn)換函數(shù)。(4)std_
43、logic_unsigned 程序包該程序包用來定義無符號數(shù)的運算,其他功能與 std_logic_signed 相似。3.vhdl 的實體vhdl 描述的對象稱為實體,是設(shè)計中最基本的模塊。實體提供一個設(shè)計單元的公共信息(相當(dāng)于方框圖) 。實體具體代表什么幾乎沒有限制,可以是任意復(fù)雜的系統(tǒng)、一塊電路板、一個芯片、一個單元電路等等。如果對系統(tǒng)自頂向下分層來劃分模塊,則各層的設(shè)計模塊都可作為實體。實體的格式如下:entity 實體名 isgeneric(類屬說明)port(端口說明) end 實體名;實體名代表該電路的元件名稱,所以最好根據(jù)電路功能來定義。例如:對于 4位二進制計數(shù)器,實體名可以
44、定義為 counter4b,這樣容易分析程序。一類屬說明類屬說明是實體說明的一個可選項(可選項用表示) ,主要為設(shè)計實體指定參數(shù),可以用來定義端口寬度、實體中元件的數(shù)目、器件延遲時間等。使用類屬說明可以使設(shè)計具有通用性。例如,在設(shè)計中有一些參數(shù)事先不能確定,為了簡化設(shè)計和減少 vhdl 源代碼的書寫量,通常編寫通用的 vhdl 源代碼,源代碼中這些參數(shù)是待定的,在仿真時只要用 generic 語句將待定參數(shù)初始化即可。下面是一個使用類屬說明的例子?!纠?6-3】設(shè)計一個二輸入與門,兩個信號相與后,經(jīng)過指定的延遲時間才送到輸出端。其實體與結(jié)構(gòu)體如下:entity gand2 is -實體名為 a
45、ndgeneric (delay:time) ; -類屬說明,delay 是常數(shù)名,為時間類型 port ( a,b :in bit;c :out bit) ;end gand2;architecture behave of gand2 isbeginc = a and b after ( delay ); -a 和 b 與運算后,延遲 delay 輸出end behave;實際器件從輸入到輸出必然存在延時,但不同型號器件的延遲時間不同,因此可以在源代碼中用類屬說明語句指定待定參數(shù)。after 是關(guān)鍵字,表示延遲。當(dāng)調(diào)用這個二輸入與門元件時,可以使用 generic 語句將參數(shù)初始化為不同的值
46、。類屬說明一定放在端口說明的前面。類屬說明語句的格式如下:generic(常數(shù)名 1:數(shù)據(jù)類型 1:= 設(shè)定值 1;常數(shù)名 n:數(shù)據(jù)類型 n:= 設(shè)定值 n) ;如上例改寫成:generic(delay:time:= 10 ns) ;表示 a 和 b 與運算后經(jīng) 10 ns 延時才輸出。二端口說明端口說明也是實體說明的一個可選項,負(fù)責(zé)對實體中輸入和輸出端口進行描述。實體與外界交流的信息必須通過端口輸入或輸出,端口的功能相當(dāng)于元件的一個管腳。實體中的每一個輸入、輸出信號都被稱為一個端口,一個端口就是一個數(shù)據(jù)對象。端口可以被賦值,也可以作為信號用在邏輯表達式中。端口說明語句格式如下:port(端口
47、信號名 1:端口模式 1 數(shù)據(jù)類型 1;端口信號名 n:端口模式 n 數(shù)據(jù)類型 n) ;端口信號名是設(shè)計者為實體的每一個對外通道所取的名字;端口模式是指這些通道上的信號傳輸方向,共有四種傳輸方向,如表 6-1 所示。表 6-1 端口信號傳輸方向方向定義說明in單向輸入模式,將變量或信號信息通過該端口讀入實體out單向輸出模式,信號通過該端口從實體輸出inout雙向輸入輸出模式,既可以輸入端口,還可以輸出端口buffer緩沖輸出模式,具有回讀功能的輸出模式,可以輸入端口,也可以輸出端口其中,in 相當(dāng)于電路中的只允許輸入的管腳;out 相當(dāng)于只允許輸出的管腳;inout 相當(dāng)于雙向管腳,是在普通
48、輸出端口基礎(chǔ)上增加了一個三態(tài)輸出緩沖器和一個輸入緩沖器構(gòu)成的,既可以作輸入端口,也可以作輸出端口;buffer是帶有輸出緩沖器并可以回讀的管腳,是 inout 的子集,buffer 作輸入端口使用時,信號不是由外部輸入,而是從輸出端口反饋得到,即 buffer 類的信號在輸出到外部電路的同時,也可以被實體本身的結(jié)構(gòu)體讀入,這種類型的信號常用來描述帶反饋的邏輯電路,如計數(shù)器等。數(shù)據(jù)類型指的是端口信號的類型,常用數(shù)據(jù)類型如表 6-2 所示。表 6-2 常用端口數(shù)據(jù)類型4.vhdl 的結(jié)構(gòu)體一個實體中可以有一個結(jié)構(gòu)體,也可以有多個結(jié)構(gòu)體,但各個結(jié)構(gòu)體不應(yīng)有重名,結(jié)構(gòu)體之間沒有順序上的差別。結(jié)構(gòu)體用來
49、描述設(shè)計實體的內(nèi)部結(jié)構(gòu)或行為,是實體的一個重要組成部分,定義了實體的具體功能,規(guī)定了實體中的信號數(shù)據(jù)流程,確定了實體中內(nèi)部元件的連接關(guān)系。結(jié)構(gòu)體用三種方式對設(shè)計實體進行描述,分別是行為描述、寄存器傳輸描述和結(jié)構(gòu)描述。其格式如下:關(guān)鍵字說明boolean布爾類型,取值有 false、true 兩種,只用于關(guān)系運算,不能用于計算bit二進制位類型,取值只能是 0、1,由 standard程序包定義bit_vector位向量類型,表示一組二進制數(shù),常用來描述地址總線、數(shù)據(jù)總線等端口std_logic工業(yè)標(biāo)準(zhǔn)的邏輯類型,取值 0、1、x、z 等,由std_logic_1164 程序包定義std_log
50、ic_vector工業(yè)標(biāo)準(zhǔn)的邏輯向量類型,是 std_logic 的組合integer整數(shù)類型,可用作循環(huán)的指針或常數(shù),通常不用作 i/o 信號architecture 結(jié)構(gòu)體名 of 實體名 is結(jié)構(gòu)體說明部分;begin功能描述語句;end 結(jié)構(gòu)體名;結(jié)構(gòu)體說明部分是一個可選項,位于關(guān)鍵字 architecture 和 begin 之間,用來對結(jié)構(gòu)體內(nèi)部所使用的信號、常數(shù)、元件、函數(shù)和過程加以說明。要注意的是,所說明的內(nèi)容只能用于這個結(jié)構(gòu)體,若要使這些說明也能被其他實體或結(jié)構(gòu)體所引用,則需要先把它們放入程序包。在結(jié)構(gòu)體中也不要把常量、變量或信號定義成與實體端口相同的名稱。位于 begin
51、和 end 之間的結(jié)構(gòu)體功能描述語句是必需的,具體描述結(jié)構(gòu)體(電路)的行為(功能)及其連接關(guān)系,主要使用信號賦值、塊(block) 、進程(process) 、元件例化(component map)及子程序調(diào)用等 5 類語句。【例 6-4】通過中間信號 m 實現(xiàn)輸入端到輸出端的數(shù)據(jù)傳輸。entity mybody is -實體名為 mybodyport( in1 :in bit; -定義端口output1 :out bit );end mybody;architecture myprog of mybody is -結(jié)構(gòu)體名為 myprogsignal m:bit; -定義中間信號 mbegi
52、nm = in1; -輸入信號傳送給中間信號output1 = m; -中間信號送給輸出信號end myprog;第 3 章 色敏傳感器與 fpga 的簡單介紹(移至第二章)3.1 色敏傳感器本設(shè)計中采用的色敏傳感器是 cls9032。該傳感器有 2 個垂直連接的 pn結(jié),其厚度可以給色敏傳感器起到一個光學(xué)濾波器的作用。波長較短的光在硅的表面就被吸收了,而波長較長的光到達深一些的位置才會被吸收?;谶@種光譜的敏感性,根據(jù)光的波長來選擇信號(顏色)。使用 2 個光電二極管之間的對數(shù)電流比作為信號處理的方法。不同顏色的光照射時,該色敏傳感器紅、綠、藍區(qū) 3 個引腳都會輸出電流信號,但是相應(yīng)顏色的引
53、腳輸出的電流信號會比其他引腳輸出的電流信號強。利用這種原理能夠有效地避免外界環(huán)境造成的輸出電流的起伏,因此這種器件具有較高的可靠性。 在距離色敏傳感器 15 cm 處,分別用紅、綠、藍 3 種顏色的光源直接照射,檢測經(jīng)過模擬部分處理后的輸出電壓信號。實際測試數(shù)據(jù)如表 1 所列。3.2 fpgafpga 采用了邏輯單元陣列 lca(logic cell array)這樣一個概念,內(nèi)部包括可配置邏輯模塊 clb(configurable logic block) 、輸出輸入模塊 iob(input output block)和內(nèi)部連線(interconnect)三個部分。fpga 的基本特點主要有
54、: 1)采用 fpga 設(shè)計 asic 電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。 2)fpga 可做其它全定制或半定制 asic 電路的中試樣片。 3)fpga 內(nèi)部有豐富的觸發(fā)器和 io 引腳。 4)fpga 是 asic 電路中設(shè)計周期最短、開發(fā)費用最低、風(fēng)險最小的器件之一。 5) fpga 采用高速 chmos 工藝,功耗低,可以與 cmos、ttl 電平兼容。 可以說,fpga 芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。 fpga 是由存放在片內(nèi) ram 中的程序來設(shè)置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的 ram 進行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程
55、方式。 加電時,fpga 芯片將 eprom 中數(shù)據(jù)讀入片內(nèi)編程 ram 中,配置完成后,fpga 進入工作狀態(tài)。掉電后,fpga 恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,fpga 能夠反復(fù)使用。fpga 的編程無須專用的 fpga 編程器,只須用通用的 eprom、prom 編程器即可。當(dāng)需要修改 fpga 功能時,只需換一片 eprom 即可。這樣,同一片 fpga,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,fpga 的使用非常靈活。 fpga 芯片是并行運算的,每個振蕩周期都可以執(zhí)行任務(wù),而單片機(如 8051 系列)的每條指令都需要 12 個振蕩周期。例如,單片機 io 端口的變化最快
56、也需要 24 個振蕩周期,而 fpga 只需要 2 個振蕩周期,所以同樣的振蕩周期下,fpga 速度更快。 fpga 有豐富的 io 資源(一般有數(shù)百個 io 口),容易實現(xiàn)大規(guī)模系統(tǒng),可以方便地連接外設(shè)(比如多路 ad、da 等)。而單片機的 io 口有限,要進行仔細的資源分配、總線隔離。 fpga 可以進行硬件重構(gòu),在功能擴展或性能改善方面也非常容易。 本設(shè)計選用了 altera 公司的:niosli 軟核,使用 sopc 的軟硬件綜合解決方案。與傳統(tǒng)的設(shè)計方法完全不同,從硬件和軟件整體設(shè)計上進行了極大的改進,使硬件電路更加簡單、有效、易于理解,軟件設(shè)計更輕松、可移植性更強。3.3 a/d
57、a/d 轉(zhuǎn)換器是數(shù)字化測量和顯示儀表的重要組成部分,其轉(zhuǎn)換速度、精度和分辨率,直接影響著測量結(jié)果和顯示的質(zhì)量指標(biāo)。本設(shè)計采用的 a/d 轉(zhuǎn)換器是 adc0809,adc0809 是 cmos 的 8 位 a/d 轉(zhuǎn)換器,片內(nèi)有 8 路模擬開關(guān),可控制 8 個模擬量中的一個進入轉(zhuǎn)換器中。adc0809 的分辨率為 8 位,轉(zhuǎn)換時間約含鎖存器控制的 8 路多路開關(guān),輸出有三態(tài)緩沖控制,單 5v 電源供電。adc0809 以其易于集成,分辨率較高、轉(zhuǎn)換速度較快的特點而得到了廣泛的應(yīng)用。在實際使用中通常采用微處理器或單片機實現(xiàn)對 a/d 器件的采樣控制。 第四章 基于 fpga 與色敏傳感器的顏色識別
58、系統(tǒng)(數(shù)字部分)的設(shè)計(本章主要介紹系統(tǒng)的整體功能設(shè)計及各部分的具體程序?qū)崿F(xiàn),(本章主要介紹系統(tǒng)的整體功能設(shè)計及各部分的具體程序?qū)崿F(xiàn),是論文的重點,請重點修改?。┦钦撐牡闹攸c,請重點修改?。?.1 設(shè)計原理及工作要求設(shè)計原理 圖,表都要按照章節(jié)排序!如圖 1 所示,顏色識別系統(tǒng)主要由模擬和數(shù)字兩部分組成。模擬部分主要用來轉(zhuǎn)換光電信號、放大信號和濾除噪聲。數(shù)字部分主要用來對 ad 采樣進來的數(shù)字信號 實現(xiàn)中值濾波、查對數(shù)表、求對數(shù)比,以及顯示等操作。 圖自己重新畫!先介紹整體!整體系統(tǒng)流程的介紹要清晰,系統(tǒng)如何工作,如何實現(xiàn),用什么樣的器件,器件之間如何連接,都需要介紹!在介紹完整體的基礎(chǔ)上說明
59、哪些屬于數(shù)字部分,哪些屬于模擬部分,你負(fù)責(zé)哪些部分的工作!4.2 模擬部分(略)去掉,不是你的工作不需要介紹!4.3 數(shù)字部分(重要)1.本次設(shè)計的核心地方是數(shù)字部分,系統(tǒng)的搭建是基于 altera 公司的niosii 處理器。電壓信號經(jīng)過濾波處理,被傳送到 ad 轉(zhuǎn)換器,經(jīng)過 ad 轉(zhuǎn)換得到數(shù)字信號,為數(shù)字部分對信號的識別處理作準(zhǔn)備。根據(jù)所選用的色敏傳感器的工作原理,用 sopc 系統(tǒng)進行控制,對 3 路模擬電路信號進行同步的 ad 轉(zhuǎn)換以增強系統(tǒng)準(zhǔn)確性。在保證可靠性和精度的前提下,為降低系統(tǒng)成本,滿足對輸入數(shù)字信號倍數(shù) 的要求,ad 轉(zhuǎn)換器選用 8 位串行輸出的 adc0809 轉(zhuǎn)換器。采
60、用 niosii 軟核搭建的 fpga 系統(tǒng)處理數(shù)字信號,主要經(jīng)過以下操作: 中值濾波,進一步去除干擾信號; 查對數(shù)表,查數(shù)據(jù)所對應(yīng)的對數(shù)值; 求對數(shù)比,對分別采集到的 2 個數(shù)據(jù)求對數(shù)比,為判斷是哪種顏色提供依據(jù); 顯示顏色識別結(jié)果,亮不同的燈來表明所識別出來的不同顏色。 2.硬件設(shè)計硬件設(shè)計(用你現(xiàn)在的系統(tǒng)介紹!不要拿別人的東西過(用你現(xiàn)在的系統(tǒng)介紹!不要拿別人的東西過來直接寫?。┓植浇榻B,來直接寫?。┓植浇榻B,a/d 怎么做,怎么做,fpga 中做哪些工作,中做哪些工作,顯示怎么做,多清晰的一個系統(tǒng),被你搞得這么亂!這部分才顯示怎么做,多清晰的一個系統(tǒng),被你搞得這么亂!這部分才是論文的重
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年撬裝加油站智能化加油體驗館建設(shè)合同范本3篇
- 二零二五版林權(quán)抵押貸款業(yè)務(wù)操作流程及風(fēng)險控制合同4篇
- SaaS平臺定制技術(shù)服務(wù)合同樣本版B版
- 2025年度智能網(wǎng)聯(lián)車輛牌照租用服務(wù)協(xié)議4篇
- 探索實踐教學(xué)的未來方向-基于職教實訓(xùn)室的視角
- 二零二五版風(fēng)險投資對賭協(xié)議書編制指南3篇
- 小區(qū)超市促銷活動的規(guī)劃與實施匯報
- 生活即教育理論在小學(xué)德育工作中的實踐與應(yīng)用
- 食堂設(shè)備購買及租賃合同(2025年度)2篇
- 二零二五版新能源電站弱電設(shè)施安裝與維護合同4篇
- 湖北省黃石市陽新縣2024-2025學(xué)年八年級上學(xué)期數(shù)學(xué)期末考試題 含答案
- 硝化棉是天然纖維素硝化棉制造行業(yè)分析報告
- 央視網(wǎng)2025亞冬會營銷方案
- 《無砟軌道施工與組織》 課件 第十講雙塊式無砟軌道施工工藝
- 江蘇省南京市、鹽城市2023-2024學(xué)年高三上學(xué)期期末調(diào)研測試+英語+ 含答案
- 2024新版《藥品管理法》培訓(xùn)課件
- 《阻燃材料與技術(shù)》課件 第7講 阻燃橡膠材料
- 爆炸物運輸安全保障方案
- 江蘇省南京市2025屆高三學(xué)業(yè)水平調(diào)研考試數(shù)學(xué)試卷(解析版)
- 鉗工考試題及參考答案
- 移動商務(wù)內(nèi)容運營(吳洪貴)任務(wù)五 引發(fā)用戶共鳴外部條件的把控
評論
0/150
提交評論