




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、大連東軟信息學(xué)院本科畢業(yè)設(shè)計(論文)論文題目論文題目:基于FPGA的智能溫度采集控制器的設(shè)計與實現(xiàn)系 所: 電子工程系 專 業(yè):電子信息工程(集成電路設(shè)計與系統(tǒng)方向) 學(xué)生姓名: 學(xué)生學(xué)號: 指導(dǎo)教師: 導(dǎo)師職稱: 講師 完成日期: 2014年 4月 28日 大連東軟信息學(xué)院Dalian 大連東軟信息學(xué)院畢業(yè)設(shè)計(論文) 摘要 IV基于FPGA的智能溫度采集控制器的設(shè)計與實現(xiàn)摘 要溫度是重要的生活、工作中的參考數(shù)據(jù)。溫度的采集與控制,對于農(nóng)作物的生長、工業(yè)生產(chǎn)都有著非常重要的意義。隨著科技的發(fā)展,檢測與測量技術(shù)已經(jīng)趨于智能化,傳統(tǒng)的采用單片機技術(shù)進行溫度測量方法,由于檢測過程繁瑣、檢測周期長、
2、檢測結(jié)果誤差率高等原因,已經(jīng)不能滿足人們對每天繁多的溫度智能采集控制任務(wù)的需求,主要體現(xiàn)在數(shù)據(jù)采集和處理方面卻存在著抗干擾性差、速度慢等缺點,使測量系統(tǒng)的穩(wěn)定性和實時性受到了很大的影響。因此設(shè)計一套高效的、智能的、檢測精度較高的溫度采集控制系統(tǒng),是目前急需要解決的。在大學(xué)的四年當(dāng)中,接受了專業(yè)老師的教導(dǎo),學(xué)習(xí)了包括數(shù)字電路,數(shù)字信號處理,高級數(shù)字系統(tǒng)設(shè)計與驗證(verilog),SoC,電路分析,VLSI,混合集成電路設(shè)計等課程,并借助Xilinx ISE8.2i、ModelSim等軟件的強大性能設(shè)計并實現(xiàn)了基于FPGA的溫度采集控制器,對其進行電路的設(shè)計和功能仿真。但是此項目只是在實驗設(shè)計階
3、段進行試驗,不支持商業(yè)生產(chǎn)等步驟。 關(guān)鍵詞:溫度采集,F(xiàn)PGA,Verilog,控制電路大連東軟信息學(xué)院畢業(yè)設(shè)計(論文) AbstractDesign and Implementation of Intelligent Temperature Acquisition Controller Based on FPGAAbstractTemperature is important in the life and work of reference data. The acquisition and control of temperature, for the growth of crops,
4、industrial production has a very important significance. As technology of development, detection and measurement technology has tends to smart of, traditional of used single tablets machine technology for temperature measurement method, due to detection process cumbersome, and detection cycle long,
5、and detection results errors rate high causes, has cannot meet people on daily range of temperature smart collection control task of needs, main reflected in data acquisition and processing aspects is exists with anti-interference sexual poor, and speed slow, disadvantages, makes measurement system
6、of stability and real-time sexual was has is big of effects. Therefore, an efficient, intelligent design, testing high accuracy temperature data acquisition control system was urgently needed to resolve.In the university thoughts, received professional teachers teach, learn a digital circuit, digita
7、l signal processing, the design and verification of digital systems (Verilog), SoC, circuit analysis, VLSI, hybrid integrated circuit design courses, and with a strong performance design for Xilinx ISE8.2i, ModelSim and other software and the realization of temperature acquisition controller based o
8、n FPGA, design and function of the simulation circuit. But this project is in the design stage of testing, does not support the commercial production.Key words: Temperature acquisition, FPGA, Verilog, The control circuit大連東軟信息學(xué)院畢業(yè)設(shè)計(論文) 目錄目 錄 TOC o 1-3 u 摘 要 PAGEREF _Toc386368739 h IAbstract PAGEREF
9、 _Toc386368740 h II第1章緒 論 PAGEREF _Toc386368741 h 11.1 課題研究背景與意義 PAGEREF _Toc386368742 h 11.2 課題研究現(xiàn)狀 PAGEREF _Toc386368743 h 1第2章關(guān)鍵技術(shù)介紹 PAGEREF _Toc386368744 h 32.1 關(guān)鍵性開發(fā)技術(shù)的介紹 PAGEREF _Toc386368745 h 32.1.1自上而下設(shè)計 PAGEREF _Toc386368746 h 32.1.2 FPGA PAGEREF _Toc386368747 h 42.1.3 硬件描述語言HDL PAGEREF _T
10、oc386368748 h 42.2 開發(fā)軟件 PAGEREF _Toc386368749 h 52.2.1 Xilinx ISE與ModelSim PAGEREF _Toc386368750 h 52.2.3 Microsoft Office Visio PAGEREF _Toc386368751 h 6第3章系統(tǒng)需求分析 PAGEREF _Toc386368752 h 73.1功能概述 PAGEREF _Toc386368753 h 73.2 系統(tǒng)開發(fā)環(huán)境 PAGEREF _Toc386368754 h 73.2.1硬件配置 PAGEREF _Toc386368755 h 73.2.2軟件
11、環(huán)境 PAGEREF _Toc386368756 h 73.3 系統(tǒng)可行性分析 PAGEREF _Toc386368757 h 8第4章系統(tǒng)設(shè)計 PAGEREF _Toc386368758 h 104.1系統(tǒng)功能結(jié)構(gòu)設(shè)計 PAGEREF _Toc386368759 h 104.2系統(tǒng)模塊設(shè)計 PAGEREF _Toc386368760 h 104.2.1溫度采集模塊設(shè)計 PAGEREF _Toc386368761 h 114.2.2控制模塊設(shè)計 PAGEREF _Toc386368762 h 114.2.3顯示模塊設(shè)計 PAGEREF _Toc386368763 h 124.2.4分頻模塊設(shè)計
12、 PAGEREF _Toc386368764 h 12第5章系統(tǒng)實現(xiàn) PAGEREF _Toc386368765 h 135.1分頻模塊的實現(xiàn) PAGEREF _Toc386368766 h 135.2溫度采集模塊的實現(xiàn) PAGEREF _Toc386368767 h 145.3顯示模塊的實現(xiàn) PAGEREF _Toc386368768 h 16第6章系統(tǒng)測試 PAGEREF _Toc386368769 h 186.1測試概述 PAGEREF _Toc386368770 h 186.2采集模塊仿真 PAGEREF _Toc386368771 h 186.3顯示模塊仿真 PAGEREF _Toc
13、386368772 h 186.4控制模塊仿真 PAGEREF _Toc386368773 h 186.5測試結(jié)果 PAGEREF _Toc386368774 h 19第7章結(jié)論 PAGEREF _Toc386368775 h 20參考文獻 PAGEREF _Toc386368776 h 21致 謝 PAGEREF _Toc386368777 h 22大連東軟信息學(xué)院畢業(yè)設(shè)計(論文)- 第1章緒 論1.1 課題研究背景與意義測量技術(shù)由來己久,伴隨著信息化時代的到來,社會不同領(lǐng)域多學(xué)科的逐步完善,在人類活動的各個領(lǐng)域都有使用測量的影子。最簡單來說從家用生活中每個人都可以接觸到的電表、水表、煤氣表
14、,實時病人監(jiān)護系統(tǒng)、汽車上的參數(shù)指示儀表,到當(dāng)前比較尖端的科學(xué)技術(shù),比如航空飛機駕駛室的各種導(dǎo)航和顯示儀表以及神舟飛船上的推進器控制裝置等等。與此同時,隨著科學(xué)技術(shù)的飛速發(fā)展,測量技術(shù)以多樣化的形式的滲透進其他學(xué)科當(dāng)中去,與其他學(xué)科一起得到了長足的發(fā)展。當(dāng)今數(shù)字電子技術(shù)的飛速發(fā)展,溫度控制電路是適用于測量某特殊設(shè)備內(nèi)部電子部件工作溫度的一類集成電路,沒有自動測量系統(tǒng)之前的測試手段一般是使用人工的手段逐點測量,但當(dāng)測量精度要求較高且測試任務(wù)量比較大時,人工的傳統(tǒng)的測試方法就會顯出很多問題,如存在測量誤差大,測量效率低下,不可維護性等缺點。在目前狀況下,開發(fā)一種使用方便,安全性高,穩(wěn)定性好的測量方
15、法就顯得十分有必要。目前使用較多的是基于單片機技術(shù),以單片機為主要器件,其編碼器與譯碼器的生成為軟件模式。在實際應(yīng)用中,這類系統(tǒng)的可靠性比較差。而基于FPGA的溫度采集控制器,可用硬件電路實現(xiàn)系統(tǒng)構(gòu)造代替軟件,與單片機相比的可靠性有更多的保障。FPGA一般來說比ASIC(專用集成芯片)的速度要慢,但是可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價,并且具有容量大、體積小、功耗低、速度快、使用靈活、設(shè)計周期短等優(yōu)秀性能??紤]到各方面因素,基于FPGA的設(shè)計更適合,更方便。這款溫度采集控制器就是在這樣的背景下應(yīng)運而生的,在設(shè)計的過程中涉及了信號處理,verilog語言,電路分析,VLSI
16、等基礎(chǔ)專業(yè)知識,剛好將大學(xué)所學(xué)知識應(yīng)用到實踐中。 1.2 課題研究現(xiàn)狀智能控制系統(tǒng)是某些具有仿人智能的工程控制和信息處理系統(tǒng),它與人工智能的發(fā)展緊密聯(lián)系。智能控制是一門新興的前沿交叉學(xué)科,它能夠用到的地方非常多。智能可以總結(jié)為:能高效快速的采集、傳輸、處理和利用信息,從而多么惡劣環(huán)境下都能成功的實現(xiàn)預(yù)期目的。目前國內(nèi)溫控儀表的發(fā)展,相對國外而言在性能方面還存在一定的差距,它們之間最大的區(qū)別,主要是在控制和算法方面,具體的表現(xiàn)是國內(nèi)的溫控器在全部的量程范圍內(nèi)溫度的控制精度相對較低,適應(yīng)惡劣幻境的能力較差。這種劣勢的造成是多方面原因引起的,對于不同的溫度控制目標(biāo),由于控制算法的問題而導(dǎo)致控制精度不
17、確定等。甘肅大學(xué)的趙紫靜研究了一種基于PID溫度控制技術(shù)的X射線發(fā)生器。這種發(fā)生器需要將其精度控制在0.5左右,才能保證器件輸出的X射線波長不發(fā)生超出要求的飄移,否則,X射線波長的超范圍飄移將使整個設(shè)備難以正常使用。在溫控過程中,由于難以建立控制對象的精確數(shù)學(xué)模型,所以可以用PID技術(shù)根據(jù)預(yù)先設(shè)定好的控制規(guī)律不停地自動調(diào)節(jié)控制量以使被控系統(tǒng)朝著設(shè)定的平衡狀態(tài)過渡,最后達到控制范圍精度內(nèi)的穩(wěn)定動態(tài)平衡。昆明理工大學(xué)信息工程與自動化學(xué)院的王清海等在鍋爐溫度控制研究中將神經(jīng)網(wǎng)絡(luò)PID與Lab VIEW人機交互結(jié)合,實現(xiàn)對鍋爐溫度的數(shù)據(jù)采集、控制和現(xiàn)實,提高了鍋爐溫控系統(tǒng)的效率。 大連東軟信息學(xué)院畢業(yè)
18、設(shè)計(論文)第2章關(guān)鍵技術(shù)介紹2.1 關(guān)鍵性開發(fā)技術(shù)的介紹2.1.1自上而下設(shè)計數(shù)字系統(tǒng)的設(shè)計方法一般分為自上而下設(shè)計和自下而上設(shè)計兩大類。一般自上而下的設(shè)計是從系統(tǒng)級開始,系統(tǒng)被劃分為若干基本單元,然后每個基本單元又被劃分為下一層次的若干基本單元,以此類推,一直到可以直接用EDA元件庫中的基本元件來實現(xiàn)為止。在某種意義上講,自下而上的設(shè)計過程可以看作是自上而下設(shè)計的逆過程。同樣自下而上設(shè)計也是從系統(tǒng)級開始的,就是從設(shè)計樹的樹根開始對整個設(shè)計進行逐次劃分,但是必須從已經(jīng)存在的基本單元出發(fā),所以劃分時首先考慮的是單元是否存在。最終設(shè)計最底層的單元或者是已經(jīng)制造出來的單元,或者是已開發(fā)好的單元或者
19、是可以通過外購得到的基本單元。自下而上的設(shè)計流程包括:首先獨立的設(shè)計和優(yōu)化每個子模塊,然后在頂層的設(shè)計中集成所有已經(jīng)優(yōu)化好的子模塊,最后進行總體設(shè)計的驗證。在綜合和優(yōu)化之后可以將每個子模塊具有的單獨的網(wǎng)表整合在頂層的設(shè)計中。這樣在頂層模塊設(shè)計中,各個子模塊之間的性能都不會相互影響。與此同時,由于在高層次進行設(shè)計的主要仿真和調(diào)試過程,所以能夠盡早的發(fā)現(xiàn)結(jié)構(gòu)設(shè)計上的錯誤,減少了設(shè)計工作的浪費,同時又減少了模塊邏輯仿真的工作量。圖2.1為自上而下(top-down)的設(shè)計樹示意圖。圖2.1 自上而下的設(shè)計樹示意圖本論文對溫度采集控制器的設(shè)計,就是采用自上而下(top-down) 的正向設(shè)計方法。根據(jù)
20、自上而下的設(shè)計思想,對系統(tǒng)進行功能模塊劃分并優(yōu)化。各個功能模塊之間相互獨立并且可以相互引用,最后將各模塊集成到一個頂層模塊中,形成一個完整的系統(tǒng)。2.1.2 FPGA FPGA(Field Programmable Gate Array),即現(xiàn)場可編程門陣列。它是專用集成電路中的一種半定制電路。FPGA具有三種可編程資源的特點:I/O是可編程的,用戶可以設(shè)置引腳是輸入/出、COMS/TTL電平、可以決定是否有上拉或者信號激變情況、速率快慢等等;邏輯是可編程的,也就是說它中間的排成行和列的邏輯單元是可編程的,可以實現(xiàn)組合邏輯電路和時許邏輯電路,在邏輯塊里實現(xiàn)組合邏輯塊和集成元件觸發(fā)器;可編程的互
21、聯(lián)線資源,在貫穿了行和列的邏輯塊之間,分布的或連線可編程。具備了這三種可編程資源后,就構(gòu)成了FPGA,同時根據(jù)它的邏輯查表實現(xiàn),編程SRAM方式實現(xiàn)和邏輯通過多路開關(guān)實現(xiàn),編程通過熔絲通斷實現(xiàn)分為SRAM查表和多路開關(guān)反熔絲兩種結(jié)構(gòu),目前SRAM工藝的運用更為普遍。一般的FPGA構(gòu)成分為:數(shù)字時鐘管理模塊(DCM)、可編程輸入/出單元(IOB)、布局布線、邏輯單元(CLB)、RAM、底層功能單元和專用硬件模版等。FPGA一般來說比專用集成電路的速度要慢,無法完成更復(fù)雜的設(shè)計,并且會消耗更多的電能。但是,F(xiàn)PGA具有很多優(yōu)點,比如可以快速成品,而且其內(nèi)部邏輯可以被設(shè)計者反復(fù)修改,從而改正程序中的
22、錯誤,此外,使用FPGA進行除錯的成本較低。在現(xiàn)在的FPGA開發(fā)應(yīng)用中,全球知名的FPGA生產(chǎn)廠商有:Altera,Xilinx,Actel,Lattice,Atmel等。這幾家公司生產(chǎn)的FPGA在內(nèi)部結(jié)構(gòu)和模塊上都有所區(qū)別,使用的開發(fā)環(huán)境也不一樣,在應(yīng)用的過程中需要加以區(qū)分。 2.1.3 硬件描述語言HDL 硬件描述語言(HDL,hardware description language)是一種硬件描述語言,以文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語言,用它可以表示邏輯電路圖、邏輯表達式,還可以表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。 HDL和VHDL是世界上最流行的兩種硬件描述語言,都是在20
23、世紀(jì)80年代中期開發(fā)出來的。HDL 語言具有下述描述能力:設(shè)計的行為特性、設(shè)計的數(shù)據(jù)流特性、設(shè)計的結(jié)構(gòu)組成以及包含響應(yīng)監(jiān)控和設(shè)計驗證方面的時延和波形產(chǎn)生機制。所有這些都使用同一種建模語言。此外,HDL語言提供了編程語言接口,通過該接口可以在模擬、驗證期間從設(shè)計外部訪問設(shè)計,包括模擬的具體控制和運行。HDL語言不僅定義了語法,而且對每個語法結(jié)構(gòu)都定義了清晰的模擬、仿真語義。因此,用這種語言編寫的模型能夠使用Verilog仿真器進行驗證。HDL語言與C語言在操作與語法中有許多相似的地方,同時也有許多獨特的地方,例如向量形式的線網(wǎng)和寄存器、過程中的非阻塞賦值等。HDL經(jīng)過不斷的修改與擴展提供了許多新
24、的功能,例如敏感列表、多維數(shù)組、生成語句塊、命名端口連接等。目前,Verilog-2001是Verilog的最主流版本,被大多數(shù)商業(yè)電子設(shè)計自動化軟件包支持。2.2 開發(fā)軟件2.2.1 Xilinx ISE與ModelSimISE的全稱為Integrated Software Environment,即“集成軟件環(huán)境”,是Xilinx公司生產(chǎn)的硬件設(shè)計工具。ISE的主要功能包括設(shè)計輸入、綜合、仿真、實現(xiàn)和下載。包括了FPGA開發(fā)的全部功能,其功能完全可以使工作的時候不借用任何第三方EDA軟件。設(shè)計輸入;設(shè)計輸入是工程設(shè)計的第一步,ISE提供的設(shè)計輸入方式有硬件描述語言(HDL)和原理圖輸入方法
25、。HDL輸入法是設(shè)計方法中最常用的方法。他的優(yōu)點是利用自上而下的設(shè)計方法,方便模塊的劃分而且可移植性好,可以重復(fù)利用。ISE提供了非常豐富的電路元件庫,在圖形編輯器中利用各種元器件和連接線可以非常方便的做出原理圖。但是這種方法的可維護性差不利用模塊重用,而且升級的時候模塊需要全部改動。綜合:綜合是將行為和功能層次表達的電子系統(tǒng)轉(zhuǎn)化為低層次模塊的組合。一般來說,綜合是針對VHDL來說的,即將VHDL描述的模型、算法、行為和功能描述轉(zhuǎn)換為FPGA/CPLD基本結(jié)構(gòu)相對應(yīng)的網(wǎng)表文件,即構(gòu)成對應(yīng)的映射關(guān)系。ISE提供的綜合工具有自身的綜合工具XST,Synplicity公司的Synplify/Synp
26、lify Pro,Synopsys公司的FPGA Compiler II/ Express,和 Exemplar Logic公司的 LeonardoSpectrum等,仿真:仿真是通過觀察波形圖的各個輸入輸出信號來確定是否滿足設(shè)計要求。ISE具有圖形化波形編輯器可以實現(xiàn)仿真功能,同時也可以使用Model Tech公司的Modelsim進行仿真。實現(xiàn):實現(xiàn)是通過時序分析、管腳定義增量設(shè)計等將邏輯網(wǎng)表適配到具體器件上。具體實現(xiàn)過程為翻譯、映射、布局布線等。下載:下載即編程就是將已經(jīng)仿真實現(xiàn)的程序下載到開發(fā)板上,進行在線調(diào)試或者說將生成的配置文件寫入芯片中進行測試。ISE提供的下載工具是BitGen
27、。ModelSim是Mentor公司生產(chǎn)的最受用戶歡迎的HDL語言仿真軟件之一,它能給用戶提供優(yōu)良的仿真環(huán)境,并且還能單內(nèi)核支持VHDL、Verilog混合仿真。它的編譯仿真速度是業(yè)界最快的,仿真時只需要加入design,然后編寫相應(yīng)的testbench文件就可以進行,簡單方便,容易上手。功能強大的Xilinx ISE8.2i和ModelSim通常在基于FPGA的設(shè)計中應(yīng)用比較廣泛,是最熱門的兩款仿真軟件。因為在大學(xué)四年的學(xué)習(xí)過程中更多學(xué)習(xí)使用的是Xilinx ISE8.2i,而且鑒于可操作性比較賽靈思操作更為簡便,軟件更為熟悉性能,所以在此次畢業(yè)項目的測試階段采用的是Xilinx ISE8.
28、2i。2.2.3 Microsoft Office VisioOffice Visio是一款功能強大的繪圖軟件,對于IT和商務(wù)專業(yè)人員就復(fù)雜信息、系統(tǒng)和流程進行可視化處理、分析和交流。Microsoft Office Visio能創(chuàng)建具有專業(yè)外觀圖表,能記錄分析信息、數(shù)據(jù)、系統(tǒng)和過程。Visio與其他圖形軟件相比具有更高的可視性與直觀性,并且操作簡單對使用者無技能基礎(chǔ)要求。應(yīng)用此軟件,可以繪制多鐘圖表,包括組織結(jié)構(gòu)圖、日程表、日歷和甘特圖。在進行項目設(shè)計過程時,通過Visio可以方便快捷的完成系統(tǒng)框圖、流程圖和狀態(tài)機等各種圖形的繪制工作,是學(xué)習(xí)、工作人員擁護的優(yōu)秀綠色軟件。該軟件具有標(biāo)準(zhǔn)圖標(biāo),
29、可以使用現(xiàn)有的數(shù)據(jù)生成各種標(biāo)準(zhǔn)圖標(biāo),如組織結(jié)構(gòu)圖、日程表、日歷等。并且自帶幫助文件Office Visio 2007便于IT和商務(wù)專業(yè)人員就復(fù)雜的信息、系統(tǒng)和流程進行可視化操作,通過這種圖標(biāo),可以促進對系統(tǒng)以及流程的深入認知。最為客觀的是,Office Visio 2007具有兩個獨立的版本:professional與standard兩個版本。雖然他們的基本功能一致,但是professional版本包含的功能模塊在standard版本里都有。不像其他軟件,Office Visio 2007可以通過編程或跟其他程序集成的方式拓展,用以滿足不同情況下的需求。這一功能使得軟件更具人性化,受到廣大軟件
30、工作者的愛好。在Visio 2007的軟件開發(fā)工具包(SDK)中,有可以滿足人們需要的各種自定義應(yīng)用程序開發(fā)示例、工具和文檔,同時提供了普遍適用的可重用函數(shù)、類和過程,而且支持多種語言開發(fā),其中就包括了Microsoft Visual Basic、Visual Basic.NET、Microsoft Visual C#.NET和Microsoft Visual C+。第3章系統(tǒng)需求分析3.1功能概述本設(shè)計以Quartus 為開發(fā)環(huán)境,采用Verilog HDL語言,完成了智能溫度采集控制器的設(shè)計。該溫度采集控制器能將輸入的溫度值顯示出來并進行比較,判斷是否進行加熱。根據(jù)需求分析所設(shè)計的溫度采集
31、控制的原理圖,如圖3.1所示。按鍵輸入模擬的溫度通過顯示模塊顯示出來,控制模塊與預(yù)設(shè)溫度比較,確定是否加熱和加熱多長時間。圖3.1 系統(tǒng)原理圖3.2 系統(tǒng)開發(fā)環(huán)境 3.2.1硬件配置本次系統(tǒng)設(shè)計采用的FPGA開發(fā)板為Altera公司針對大學(xué)教學(xué)及研究機構(gòu)推出的黑金開發(fā)板,提供了豐富的外設(shè)及多媒體特性,并具有靈活而可靠的外圍接口設(shè)計,其設(shè)計和制造完全按照工業(yè)標(biāo)準(zhǔn)進行,可靠性高,展示了其豐富的平臺資源。核心的FPGA芯片為Altera Cyclone III EP3C25E144I7 芯片,它包含114,480 個邏輯單元,432 M9K 內(nèi)存模塊,3888 Kbits 嵌入式存儲器位,4 個鎖相
32、環(huán)。儲存用的芯片有:2MB (1Mx16) SRAM,128MB (32Mx32bit) SDRAM,8 位8MB (4Mx16) Flash 存儲器,配置為8-bit 工作模式,32Kb EEPROM。擁有4個按鈕,18個滑動開關(guān),18個紅色發(fā)光二極管,9個綠色發(fā)光二極管,8個七段數(shù)碼管,162字符液晶顯示屏。通用串行總線USB控制模塊以及A、B型接口,SD(提供SPI 模式和4位SD模式)接口,IR紅外模塊,10/100/1000M自適應(yīng)以太網(wǎng)絡(luò)適配器,RS-232標(biāo)準(zhǔn)串口,PS/2鍵盤接口,可配置I/O標(biāo)準(zhǔn)接口。3.2.2軟件環(huán)境Quartus II 軟件是Altera公司的綜合性的PL
33、D開發(fā) HYPERLINK /view/37.htm t _blank 軟件。它具有強大的功能:支持原理圖、VHDL語言、Verilog HDL語言以及AHDL(Altera Hardware Description Language)等多種設(shè)計輸入形式,并且內(nèi)嵌有仿真器,從而可以使之完成從設(shè)計輸入到硬件配置的完整的設(shè)計流程。Quartus II軟件除了可以在XP、Linux以及Unix上使用,還可以利用Tcl HYPERLINK /view/54.htm t _blank 腳本完成設(shè)計流程,它提供了完整的用戶圖形界面設(shè)計方案。Quartus II軟件還具有運行速度快、功能集中、界面統(tǒng)一、簡單
34、易用等特點。Quartus II軟件支持Altera公司的IP核,它包含LPM/MegaFunction等宏功能模塊庫,從而使用戶可以方便的利用成熟的模塊,不僅簡化了設(shè)計的復(fù)雜性、而且加快了設(shè)計的速度。Quartus II良好支持第三方的EDA工具,使用戶可以在設(shè)計流程的各個階段快速的使用第三方的EDA工具。此外,Quartus II軟件、DSP Builder工具、MATLAB、Simulink等相結(jié)合,也使之可以方便地實現(xiàn)各種復(fù)雜的DSP應(yīng)用系統(tǒng)。 Maxplus II是Altera公司的上一代設(shè)計軟件,已經(jīng)由于其出色的易用性而在業(yè)界得到了廣泛的應(yīng)用。如今Altera公司已經(jīng)停止了對Max
35、plus II軟件的更新支持,Quartus II軟件與之相比更是支持器件類型的豐富和圖形界面的改變。許多諸如SignalTap II、Chip Editor和RTL Viewer的輔助設(shè)計工具,SOPC和HardCopy的設(shè)計流程,Maxplus II友好的圖形界面及簡便的使用方法均已經(jīng)集成在了Altera開發(fā)的Quartus II軟件中。因此Quartus II軟件作為一種優(yōu)秀的可編程邏輯的設(shè)計環(huán)境, 因其強大的設(shè)計能力和直觀易用的接口,被越來越多的 HYPERLINK /view/3114367.htm t _blank 數(shù)字系統(tǒng)設(shè)計者所接受。3.3 系統(tǒng)可行性分析智能溫度采集控制器采用
36、Verilog HDL編寫,根據(jù)EDA工具自動生成。要設(shè)計完成該項目需要懂得數(shù)字電路,SoC,高級數(shù)字系統(tǒng)設(shè)計與驗證,硬件編程語言等軟硬件相關(guān)知識。并且,能夠較為熟練的使用Visio,Xilinx ISE,ModelSim,Quartus II等硬件設(shè)計及仿真驗證相關(guān)軟件工具,然后要對各種比賽賽制有一定了解與清晰的設(shè)計思路,并具備相應(yīng)的開發(fā)器件與設(shè)備。從頂層進行功能劃分和結(jié)構(gòu)設(shè)計。對整個系統(tǒng)有一定的認識后,開始著手整體流程圖的設(shè)計。然后,通過流程圖提煉出相應(yīng)的控制單元和數(shù)據(jù)通道。數(shù)據(jù)通道的各個模塊包括:溫度采集模塊、控制模塊、顯示模塊、分頻模塊??刂茊卧糠钟捎邢逘顟B(tài)機來實現(xiàn),合理涉及各個狀態(tài)
37、轉(zhuǎn)移??刂茊卧l(fā)送數(shù)據(jù)通道所需的控制信號,接收來自數(shù)據(jù)通道的狀態(tài)信號,監(jiān)控整個測試過程的運行;數(shù)據(jù)通道處理來自控制單元的控制信號,并把處理的結(jié)果反饋給控制單元。此外,外圍電路即顯示控制電路和按鍵控制電路可以使調(diào)節(jié)和顯示很方便。使用Altera公司開發(fā)的Quartus軟件,對每個模塊進行開發(fā)。通過常用仿真軟件ModelSim對設(shè)計的所有模塊進行仿真測試,確保整個開發(fā)流程順利進行。最后在FPGA開發(fā)板上進行功能測試,并且不斷地進行優(yōu)化。其中用硬件描述語言開發(fā)FPGA的主要流程如下:(1)設(shè)計輸入:用原理圖輸入方式、文本編輯器方式或者HDL編輯環(huán)境等都可以做為設(shè)計輸入。(2)功能仿真:將設(shè)計文件放入
38、HDL仿真軟件進行功能仿真,檢查邏輯功能是否正確可以通過。對于一個獨立的設(shè)計項目而言,仿真文件的提供足可以證明設(shè)計的完整性。(3)邏輯綜合:進行綜合時需要把源文件調(diào)入綜合軟件中,就是把該語言轉(zhuǎn)換成若干個最簡化的布爾表達式,邏輯綜合后將會生成一個EDA工業(yè)標(biāo)準(zhǔn)文件*.edf。該文件即可用于之后的布局布線工作。在綜合前可以加上若干的約束條件,以便不斷的對時間或位置進行優(yōu)化。(4)布局和布線:進行布線時,只需將*.edf文件放入器件商提供的軟件中,就是把設(shè)計好的邏輯安放到FPGA內(nèi)。此時,將用到邏輯綜合生成的網(wǎng)表,并且根據(jù)CPLD/FPGA廠商的器件容量、結(jié)構(gòu)等進行布局、布線。首先各個設(shè)計中的門,根
39、據(jù)網(wǎng)表和結(jié)構(gòu)被安置在在元器件的某個特定的部位,然后,按照網(wǎng)表中規(guī)定的所有門之間相互的連接關(guān)系,把每個門相對應(yīng)的輸入和輸出連接在一起。最后輸出一個可編程的文件。這就完成了在設(shè)計PCB時的布局布線。(5)時序的仿真:這一步需利用在上一步中得到的參數(shù),然后使用仿真軟件對電路的時序的正確性進行驗證。一旦設(shè)計的電路不滿足要求的話,需要反復(fù)修改直到解決所有問題,否則就可以到下一步。(6)器件編程的下載:CPLD/FPGA中最終要實現(xiàn)的是在器件中進行編程設(shè)計。系統(tǒng)設(shè)計其實是把物理的設(shè)計實現(xiàn)轉(zhuǎn)換成了相應(yīng)的二進制文件。該編程的用于對FPGA進行通常編程方式包括:硬件調(diào)試器、JTAG編程器、PROM文件等三種。通
40、常情況下,進行編程和下載程序的時候采用JTAG的方式比較多。使用Altera公司開發(fā)的Quartus 軟件,對每個模塊進行開發(fā)。通過常用仿真軟件ModelSim對設(shè)計的所有模塊進行仿真測試,確保整個開發(fā)流程順利進行。最后在進行整體的功能測試,并且不斷地進行優(yōu)化。第4章系統(tǒng)設(shè)計4.1系統(tǒng)功能結(jié)構(gòu)設(shè)計根據(jù)需求分析所設(shè)計的溫度采集控制器的外部結(jié)構(gòu)圖,如圖4.1所示。該系統(tǒng)模擬了15個溫度值, 10、20、30、40、45、50、55、60、65 、70、75 、80、85、90、 95。當(dāng)輸入的溫度低于55時系統(tǒng)開始加熱并計時。當(dāng)溫度值為10時加熱50秒;當(dāng)溫度值為20時加熱40秒,當(dāng)溫度值為30時
41、加熱30秒;當(dāng)溫度值為40時加熱20秒;當(dāng)溫度值為45時加熱10秒;當(dāng)溫度值為50時加熱5秒;溫度值在55以上時只顯示不加熱。圖4.1 系統(tǒng)外部結(jié)構(gòu)圖各端口詳細說明見表3.1:表3.1 系統(tǒng)模塊端口說明信號 I/O寬度功能描述clkI1外部輸入50Hz時鐘信號Rst_nI1系統(tǒng)復(fù)位信號Key_in1I1按鍵1信號Key_in2I1按鍵2信號Key_in3I1按鍵3信號Key_in4I1按鍵4信號Rten_smg_dataO8顯示數(shù)據(jù)Sm_bit_rO4選擇要工作的數(shù)碼管spO1加熱4.2系統(tǒng)模塊設(shè)計該溫度采集控制器中主要包括四個模塊:1.溫度采集模塊 2.控制模塊 3.溫度顯示模塊4.分頻模塊
42、。如圖4.2所示。圖4.2 系統(tǒng)主要模塊4.2.1溫度采集模塊設(shè)計該模塊的功能是通過該模塊的按鍵消抖功能將處理過的數(shù)據(jù)交給下一個模塊。因為通常按鍵所用開關(guān)是機械開關(guān),當(dāng)機械觸點斷開、按下時,由于開關(guān)的機械作用,一個開關(guān)在按下時不會立刻接通,在松開時也不能立刻斷開。因此在按下或斷開的瞬間都會有一些不穩(wěn)定的信號產(chǎn)生,為了不產(chǎn)生這種現(xiàn)象而作的措施就是按鍵消抖。溫度采集模塊如圖4.3所示。圖4.2溫度采集模塊其中clk為系統(tǒng)時鐘信號,rst_n為復(fù)位信號,clk_jianpan為模塊工作時鐘,key_in1、key_in2、key_in3、key_in4為4個按鍵的輸入信號,key_o1、key_o2
43、、key_o3、key_o4為經(jīng)過按鍵消抖處理后的輸出信號。4.2.2控制模塊設(shè)計該模塊的功能是當(dāng)輸入的溫度低于55時系統(tǒng)開始加熱并計時。當(dāng)溫度值為10時加熱50秒;當(dāng)溫度值為20時加熱40秒,當(dāng)溫度值為30時加熱30秒;當(dāng)溫度值為40時加熱20秒;當(dāng)溫度值為45時加熱10秒;當(dāng)溫度值為50時加熱5秒;溫度值在55以上時只顯示不加熱。控制模塊如圖4.3所示。圖4.3控制模塊其中clk為系統(tǒng)時鐘信號,rst_n為復(fù)位信號,key_o1、key_o2、key_o3、key_o4為經(jīng)過按鍵消抖處理后的輸出信號。Second為加熱時間信號,wen_du為溫度值信號,sp加熱信號。4.2.3顯示模塊設(shè)計
44、該模塊的功能是根據(jù)將輸入的溫度值產(chǎn)生驅(qū)動數(shù)碼管工作的控制信號實現(xiàn)數(shù)碼管的顯示。顯示模塊如圖4.4所示。圖4.4顯示模塊其中Second為加熱時間信號,wen_du為溫度值信號,rst_n為復(fù)位信號,clk_xianshi為顯示模塊工作時鐘,rten_smg_data為驅(qū)動數(shù)碼管顯示的數(shù)值,sm_bit為選擇工作的數(shù)碼管。4.2.4分頻模塊設(shè)計該模塊的功能是將系統(tǒng)時鐘作為輸入,經(jīng)過分頻后產(chǎn)生適合其它各個模塊需要的頻率。將時鐘頻率從50MHz一個變?yōu)?000Hz給顯示模塊,一個變?yōu)?00Hz給溫度采集。分頻模塊如圖4.5所示。圖4.5分頻模塊其中clk為系統(tǒng)時鐘信號,rst_n為復(fù)位信號,clk_
45、xianshi為顯示模塊工作時鐘,clk_jianpan為模擬采集模塊工作時鐘大連東軟信息學(xué)院畢業(yè)設(shè)計(論文)第5章系統(tǒng)實現(xiàn)5.1分頻模塊的實現(xiàn)分頻模塊關(guān)鍵代碼如下:always ( posedge clk or negedge rst_n ) if( !rst_n ) begincount2 = 20d0;clk_anjian = 1b0;/復(fù)位endelse if( count2 = 20d1000000 ) begincount2 = 20d0;clk_anjian = clk_anjian; /將按鍵采集模塊的工作頻率分為500Hzendelsecount2 = count2 + 1b
46、1;/計數(shù)器加一always ( posedge clk or negedge rst_n ) beginif( !rst_n ) begincount3 = 16d0;clk_xianshi = 1b0;/復(fù)位endelse if( count3 = 16d50000 ) begincount3 = 16d0;clk_xianshi =clk_xianshi; /將顯示模塊的工作頻率分為1000Hzendelsecount3 = count3 + 1b1;計數(shù)器加一end其中clk為外部時鐘50MHz,程序工作時每當(dāng)外部時鐘到來時計數(shù)器計數(shù)一次,當(dāng)計數(shù)到100000時按鍵工作時鐘反轉(zhuǎn)一次,當(dāng)
47、計數(shù)器計數(shù)到50000時顯示模塊反轉(zhuǎn)一次,從而達到分頻功能。5.2溫度采集模塊的實現(xiàn)溫度采集模塊關(guān)鍵代碼如下:always ( posedge clk_jianpan or negedge rst_n )if ( !rst_n ) begintemp_r11 = d0;/復(fù)位emp_r12 = d0;temp_r13 = d0; endelse begintemp_r11 = key_i1;/對第一個按鍵取值temp_r12= temp_r11;temp_r13 = temp_r12; endassign key1 = (temp_r11) & temp_r12 & temp_r13;/判斷是
48、否出現(xiàn)下降沿always ( posedge clk or negedge rst_n )if ( !rst_n ) key_r1 = 1b0;/復(fù)位else key_r1 = key1; assign key_o_1 = key1 & (key_r1); /確定第一個按鍵按下always ( posedge clk_jianpan or negedge rst_n )if ( !rst_n ) begintemp_r21 = d0;/復(fù)位temp_r22 = d0;temp_r23 = d0; endelse begintemp_r21 = key_i2;/對第二個按鍵取值temp_r22=
49、 temp_r21;temp_r23 = temp_r22; endassign key2 = (temp_r21) & temp_r22 & temp_r23;/判斷是否出現(xiàn)下降沿always ( posedge clk or negedge rst_n )if ( !rst_n ) key_r2 = 1b0;/復(fù)位else key_r2 = key2;assign key_o_2 = key2 & (key_r2);/確定第二個按鍵按下 always ( posedge clk_jianpan or negedge rst_n )if ( !rst_n ) begintemp_r31 =
50、d0;/復(fù)位temp_r32 = d0;temp_r33 = d0; endelse begintemp_r31 = key_i3;/對第三個按鍵取值temp_r32= temp_r31;temp_r33 = temp_r32; endassign key3 = (temp_r31) & temp_r32 & temp_r33;/判斷是否出現(xiàn)下降沿always ( posedge clk or negedge rst_n )if ( !rst_n ) key_r3 = 1b0;/復(fù)位else key_r3 = key3;assign key_o_3 = key3 & (key_r3);/確定第
51、三個按鍵按下 always ( posedge clk_jianpan or negedge rst_n )if ( !rst_n ) begintemp_r41 = d0;/復(fù)位temp_r42 = d0;temp_r43 = d0; endelse begintemp_r41 = key_i4;/對第四個按鍵取值temp_r42= temp_r41;temp_r43 = temp_r42; endassign key4 = (temp_r41) & temp_r42 & temp_r43;/判斷是否出現(xiàn)下降沿always ( posedge clk or negedge rst_n )if
52、 ( !rst_n ) key_r4 = 1b0;/復(fù)位else key_r4 = key4;assign key_o_4 = key4 & (key_r4); /確定第四個按鍵按下采集模塊通過對每個按鍵連續(xù)取值,當(dāng)按鍵取值出現(xiàn)下降沿的時候,判定按鍵已經(jīng)按下并對按鍵賦值。5.3顯示模塊的實現(xiàn)顯示模塊關(guān)鍵代碼如下:always ( posedge clk_xianshi or negedge rst_n ) if( !rst_n ) cnt_dis = 3d0; else beginif( cnt_dis = 3d3 ) cnt_dis = 3d0;elsecnt_dis = cnt_dis +
53、 1b1; endalways ( * ) if( !rst_n ) disp_dat = 4d0;elsebegincase( cnt_dis ) 3d0: disp_dat = second3:0;/時間的個位3d1: disp_dat = second7:4;/時間的十位3d2:disp_dat = wen_du3:0;/溫度的個位3d3:disp_dat = wen_du7:4;/溫度的十位default :disp_dat = 4d0;endcaseendalways ( * ) f( !rst_n )sm_bit_r = 4b1111;elsecase( cnt_dis )/選擇工
54、作的數(shù)碼管 3d0: sm_bit_r = 4b0001;3d1: sm_bit_r = 4b0010;3d2: sm_bit_r = 4b0100;3d3: sm_bit_r = 4b1000;default : sm_bit_r = 4b1111;endcasealways ( * )if( !rst_n )rten_smg_data = 8d0;else case( disp_dat )/數(shù)碼管要顯示的數(shù)字4d0 : rten_smg_data = _0;4d1 : rten_smg_data = _1;4d2 : rten_smg_data = _2;4d3 : rten_smg_da
55、ta = _3; 4d4 : rten_smg_data = _4;4d5 : rten_smg_data = _5; 4d6 : rten_smg_data = _6; 4d7 : rten_smg_data = _7; 4d8 : rten_smg_data = _8; 4d9 : rten_smg_data = _9; default :通過動態(tài)掃描確定工作的數(shù)碼管,并輪流向各個數(shù)碼管送出數(shù)據(jù)。利用數(shù)碼管工作時在人眼的視覺停留效果,讓人的感覺好像每個數(shù)碼管都在同時顯示。第6章系統(tǒng)測試6.1測試概述仿真是一項十分重要的工作,在整個系統(tǒng)設(shè)計中占據(jù)重要的位置。通過對各個模塊和整體系統(tǒng)的仿真可以
56、及時發(fā)現(xiàn)和解決設(shè)計中的許多問題,所以對系統(tǒng)的設(shè)計具有極其重要的意義。下面將結(jié)合本系統(tǒng)開發(fā)對系統(tǒng)進行了整體和模塊仿真。6.2采集模塊仿真溫度采集模塊仿真圖如圖6.1所示:圖6.1溫度采集模塊仿真圖從圖中可以看出當(dāng)key_2輸入信號從上升沿變?yōu)橄陆笛氐臅r候,key_o2從下降沿變成上升沿,從而判定按鍵2按下一次。6.3顯示模塊仿真顯示模塊仿真圖如圖6.2所示:圖6.2顯示模塊仿真圖當(dāng)輸入加熱時間輸入00000000,溫度值00100000時,數(shù)碼管顯示數(shù)字0。符合設(shè)計要求。6.4控制模塊仿真控制模塊仿真圖如圖6.3所示:圖6.3控制模塊仿真圖當(dāng)按鍵2按下即模擬輸入溫度30度時,數(shù)碼管顯示溫度值30
57、,并加熱30秒,輸出一個加熱信號。分頻模塊仿真圖如圖6.4所示:圖6.4分頻模塊仿真圖從圖中可以看出,分頻模塊將系統(tǒng)時鐘分為一個500Hz的溫度采集模塊工作時鐘和一個1000Hz的顯示模塊工作時鐘。6.5測試結(jié)果將程序下載到FPGA電路中觀察實物演示,硬件電路如圖6.5。當(dāng)輸入溫度為10度時系統(tǒng)控制開始計時加熱50秒,成功實現(xiàn)預(yù)期目標(biāo)。圖6.5硬件電路第7章結(jié)論為了方便快捷的測量溫度控制電路的性能,結(jié)合當(dāng)前測試技術(shù)的發(fā)展,文中設(shè)計了一種基于FPGA的溫度控制電路測量系統(tǒng),搭建硬件測試平臺,編寫了相應(yīng)的軟件控制程序。此測量系統(tǒng)的設(shè)計方案有效的解決了當(dāng)前溫度控制電路測量方面的效率低下、測量系統(tǒng)龐大
58、等問題,使溫度控制電路有一個可靠、便捷的測試平臺,因此本系統(tǒng)有很好的應(yīng)用前景。本文主要做了以下幾方面的工作:(1)首先介紹了測量技術(shù)的理論,詳細闡述了測量系統(tǒng)和可編程邏輯器件的發(fā)展概況,然后介紹了溫度控制電路測量技術(shù)的現(xiàn)狀,并做以比較,提出了基于FPGA的溫度控制電路測量系統(tǒng)的設(shè)計思路。(2)較為概括的介紹了FPGA、HDL和開發(fā)軟件的相關(guān)知識,設(shè)計流程。(3)進行了溫度控制電路測量系統(tǒng)的外圍硬件模塊電路設(shè)計,并且介紹了系統(tǒng)的工作過程,根據(jù)硬件設(shè)計的思路,畫出了部分電路原理圖,在查閱資料后,完成溫度控制電路測量系統(tǒng)的硬件選型與配置,最后對系統(tǒng)中主要單元電路進行了開發(fā)和設(shè)計。參考文獻1 孫曉凌高級數(shù)字系統(tǒng)設(shè)計與驗證M,大
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年小自考公共事業(yè)管理必考知識點試題及答案
- 2017年廣東b證試題及答案
- 汽車空調(diào)系統(tǒng)的維修與保養(yǎng)試題及答案
- 2024年美容師考試技能提升同步公務(wù)員省考試題及答案
- 2024年二手車評估師的考前心理調(diào)節(jié)技巧試題及答案
- 2024年汽車美容師個人職業(yè)定位試題及答案
- 汽車美容師時效性服務(wù)與客戶體驗試題及答案
- 食品檢驗實驗室管理試題及答案
- 2020年mpacc英語試題及答案
- 寵物營養(yǎng)師最常見誤區(qū)試題及答案
- 【教案】第五課+雅與俗的交流-經(jīng)濟、科技發(fā)展與美術(shù)作品的關(guān)系+教學(xué)設(shè)計高中美術(shù)湘美版(2019)美術(shù)鑒賞
- 醫(yī)院網(wǎng)絡(luò)布線改造施工方案
- 普通診所污水、污物、糞便處理方案及周邊環(huán)境情況說明
- 人教版高中數(shù)學(xué)必修一全冊復(fù)習(xí)人教版課件
- 《勸學(xué)》學(xué)業(yè)水平考試復(fù)習(xí)(學(xué)生版)
- 兒童保健科疾病診療常規(guī)診療規(guī)范
- 商標(biāo)注冊委托協(xié)議書
- 2023年中考語文備考之名著閱讀《鋼鐵是怎樣煉成的》2022年中考真題集合
- 鋁合金門窗質(zhì)量管理體系及保證措施
- 員工宿舍物業(yè)管理服務(wù)方案
- SpaceClaim.中文教程完整版
評論
0/150
提交評論