版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計 說 明 書</p><p> 課程設(shè)計名稱: EDA技術(shù)課程設(shè)計 </p><p> 題 目: 洗衣機控制電路 </p><p> 摘要:從課程設(shè)計要求來看,要求實現(xiàn)洗衣機的正轉(zhuǎn),反轉(zhuǎn),待機,當(dāng)顯示時間前5S時,正轉(zhuǎn)60S,待機5s,
2、反轉(zhuǎn)60s,如此一來周期就是130秒,并用三個LED燈和7段顯示器分別表示其工作狀態(tài)和顯示相應(yīng)工作狀態(tài)下的時間。本設(shè)計采用EDA技術(shù),通過FPGA芯片實現(xiàn)了洗衣機控制電路的設(shè)計,本文采用Verilog 硬件描述語言洗衣機控制電路,完成對電路的功能仿真。洗衣機控制電路包括控制電路,控制對象,狀態(tài)顯示電路,計時及報警電路??刂破魇窍到y(tǒng)的核心部件。它是一閉環(huán)系統(tǒng),內(nèi)部結(jié)構(gòu)有5s和60s信號產(chǎn)生器、狀態(tài)計數(shù)器、數(shù)據(jù)選擇器和狀態(tài)譯碼器,它能自動發(fā)
3、出順序循環(huán)控制信號(S、R、L),并同時完成在該狀態(tài)下計時功能。</p><p> 關(guān)鍵詞:EDA技術(shù)、FPGA芯片、硬件描述語言、控制器、7段顯示器</p><p> Abstract: From the curriculum design requirement to see, demanding the washing machines are turning, reverse,
4、 standby, when shows the time before 5 S, are turning 60 S, standby 5 S, 60 S, reverse,So cycle is 130 seconds, and three LED lamp and seven segment display said its working status and respectively corresponding work con
5、dition of that time. Design by EDA technology, through the FPGA chip realized the washing machine control circuit design, the paper Verilog hardware description language w</p><p> Keywords:Electronic Design
6、 Automatic technology,Flied Programmable,Gate Array,Hardware DescriptionLanguage, State Machine, Ring Counter;Controller, 7 section displays </p><p><b> 目 錄</b></p><p><b> 前言
7、2</b></p><p> 1.EDA技術(shù)發(fā)展及介紹3</p><p> 1.1EDA技術(shù)的介紹3</p><p> 1.2 EDA技術(shù)的發(fā)展3</p><p> 1.3 EDA技術(shù)的發(fā)展趨勢4</p><p> 2、總體方案設(shè)計5</p><p><
8、;b> 2.1設(shè)計內(nèi)容5</b></p><p> 2.2設(shè)計方案比較5</p><p><b> 2.3方案選擇6</b></p><p> .2.4 設(shè)計框圖7</p><p> 3、特殊器件的介紹8</p><p> 3.1 CPLD器件介紹8<
9、;/p><p> 3.2 FPGA器件介紹8</p><p> .4. 單元模塊及軟件設(shè)計10</p><p> 4.1 電路原理圖10</p><p> 4.2有源晶振電路10</p><p> 4.3供電電路11</p><p> 4.4 PS配置電路12</p&
10、gt;<p> 4.5 軟件設(shè)計12</p><p><b> 5.仿真17</b></p><p><b> 5.1仿真17</b></p><p> 5.2 生成的原理框圖:17</p><p> 6.系統(tǒng)調(diào)試及結(jié)果分析18</p><p&g
11、t; 7. 結(jié)論及心得體會19</p><p> 7.1設(shè)計小結(jié)19</p><p> 7.2 設(shè)計收獲19</p><p><b> 7.3 致謝19</b></p><p> 8. 參考文獻20</p><p><b> 前言</b></p&g
12、t;<p> 隨著電子技術(shù)的發(fā)展,人們的生活水平和質(zhì)量不斷提高,生活設(shè)備的智能化程度也越來越高,這些都離不開電子產(chǎn)品的進步?,F(xiàn)代電子產(chǎn)品在性能提高、復(fù)雜度增大的同時,價格卻一直呈下降趨勢,而且產(chǎn)品更新?lián)Q代的步伐也越來越快,實現(xiàn)這種進步的主要因素是生產(chǎn)制造技術(shù)和電子設(shè)計技術(shù)的發(fā)展。前者以微細加工技術(shù)為代表,目前已進展到深亞微米階段,可以在幾平方厘米的芯片上集成數(shù)千萬個晶體管。后者的核心就是EDA技術(shù),EDA是指以計算機為工
13、作平臺,融合應(yīng)用電子技術(shù)、計算機技術(shù)、智能化技術(shù)最新成果而研制成的電子CAD通用軟件包,主要能輔助進行三方面的設(shè)計工作:IC設(shè)計,電子電路設(shè)計,PCB設(shè)計。</p><p> 沒有EDA技術(shù)的支持,想要完成上述超大規(guī)模集成電路的設(shè)計制造是不可想象的,反過來,生產(chǎn)制造技術(shù)的不斷進步又必將對EDA技術(shù)提出新的要求。隨著電子技術(shù)的發(fā)展和人們對電子設(shè)計開發(fā)的難度及周期要求,EDA技術(shù)必將廣發(fā)應(yīng)用于電子設(shè)計的各個領(lǐng)域,因
14、此本設(shè)計也采用了EDA的設(shè)計方法,其設(shè)計的優(yōu)越性明顯高于傳統(tǒng)的設(shè)計方法。</p><p> 傳統(tǒng)的洗衣機控制電路是由減法計數(shù)器、時序控制電路、預(yù)置時間和編碼電路、數(shù)碼管顯示、譯碼器組成。當(dāng)秒計數(shù)器變?yōu)榱愕臅r候,去分鐘計數(shù)器上面借數(shù);與此同時,從十秒位轉(zhuǎn)化出來的信號進入移位寄存器后,LED燈表示出電機運轉(zhuǎn)狀態(tài);當(dāng)用戶設(shè)定的洗滌時間結(jié)束后,電路報警并清零;同時電機指示燈熄滅。</p><p&g
15、t; 本設(shè)計立足系統(tǒng)可靠性及穩(wěn)定性等高技術(shù)要求,采用FPGA芯片實現(xiàn)洗衣機控制電路,其電路設(shè)計比較簡單,外圍電路少,易于控制和檢查,較傳統(tǒng)的分離元件實現(xiàn)方式有著明顯的優(yōu)勢,尤其是其設(shè)計電路實現(xiàn)周期,其抗干擾及調(diào)試過程都很簡單。</p><p> 1.EDA技術(shù)發(fā)展及介紹</p><p> 1.1EDA技術(shù)的介紹</p><p> EDA是電子設(shè)計自動化(El
16、ectronic Design Automation)縮寫,是90年代初從CAD(計算機輔助設(shè)計)、CAM(計算機輔助制造)、CAT(計算機輔助測試)和CAE(計算機輔助工程)的概念發(fā)展而來的。EDA技術(shù)是以計算機為工具,根據(jù)硬件描述語言HDL( Hardware Description language)完成的設(shè)計文件,自動地完成邏輯編譯、化簡、分割、綜合及優(yōu)化、布局布線、仿真以及對于特定目標(biāo)芯片的適配編譯和編程下載等工作。</
17、p><p> HDL硬件描述語言就是指對硬件電路進行行為描述、寄存器傳輸描述或者結(jié)構(gòu)化描述的一種新興語言。它是文本的形式描述硬件電路的功能,信號連接關(guān)系以及時序關(guān)系。它雖然沒有圖形輸入那么直觀,但功能更強,可以進行大規(guī)模,多個芯片的數(shù)字系統(tǒng)的設(shè)計。設(shè)計者可利用HDL程序來描述所希望的電路系統(tǒng),規(guī)定器件結(jié)構(gòu)特征和電路的行為方式;然后利用綜合器和適配器將此程序編程能控制FPGA和CPLD內(nèi)部結(jié)構(gòu),并實現(xiàn)相應(yīng)邏輯功能的的
18、門級或更底層的結(jié)構(gòu)網(wǎng)表文件或下載文件。目前常用的HDL有ABEL,AHDL,VHDL和Verilog HDL等。 </p><p> 1.2 EDA技術(shù)的發(fā)展</p><p> 可將EDA技術(shù)分為三個階段。</p><p> ?。?)七十年代為CAD階段,人們開始用計算機輔助進行IC版圖編輯
19、、PCB布局布線,取代了手工操作,產(chǎn)生了計算機輔助設(shè)計的概念。</p><p> ?。?)八十年代為CAE階段,與CAD相比,除了純粹的圖形繪制功能外,又增加了電路功能設(shè)計和結(jié)構(gòu)設(shè)計,并且通過電氣連接網(wǎng)絡(luò)表將兩者結(jié)合在一起,實現(xiàn)了工程設(shè)計,這就是計算機輔助工程的概念。CAE的主要功能是:原理圖輸入,邏輯仿真,電路分析,自動布局布線,PCB后分析。</p><p> ?。?)九十年代為ESD
20、A階段,盡管CAD/CAE技術(shù)取得了巨大的成功,但并沒有把人從繁重的設(shè)計工作中徹底解放出來。在整個設(shè)計過程中,自動化和智能化程度還不高,各種EDA軟件界面千差萬別,學(xué)習(xí)使用困難,并且互不兼容,直接影響到設(shè)計環(huán)節(jié)間的銜接?;谝陨喜蛔?,人們開始追求:貫徹整個設(shè)計過程的自動化,這就是ESDA即電子系統(tǒng)設(shè)計自動化。</p><p> 1.3 EDA技術(shù)的發(fā)展趨勢</p><p> 從目前
21、的EDA技術(shù)來看,其發(fā)展趨勢是政府重視、使用普及、應(yīng)用廣泛、工具多樣、軟件功能強大。 </p><p> 中國EDA市場已漸趨成熟,不過大部分設(shè)計工程師面向的是PCB制板和小型ASIC領(lǐng)域,僅有小部分(約11%)的設(shè)計人員開發(fā)復(fù)雜的片上系統(tǒng)器件。為了與臺灣和美國的設(shè)計工程師形成更有力的競爭,中國的設(shè)計隊伍有必要引進和學(xué)習(xí)一些最新的EDA技術(shù)。 </p><p> 在信息通信領(lǐng)域,要優(yōu)先
22、發(fā)展高速寬帶信息網(wǎng)、深亞微米集成電路、新型元器件、計算機及軟件技術(shù)、第三代移動通信技術(shù)、信息管理、信息安全技術(shù),積極開拓以數(shù)字技術(shù)、網(wǎng)絡(luò)技術(shù)為基礎(chǔ)的新一代信息產(chǎn)品,發(fā)展新興產(chǎn)業(yè),培育新的經(jīng)濟增長點。要大力推進制造業(yè)信息化,積極開展計算機輔助設(shè)計(CAD)、計算機輔助工程(CAE)、計算機輔助工藝(CAPP)、計算機機輔助制造(CAM)、產(chǎn)品數(shù)據(jù)管理(PDM)、制造資源計劃(MRPII)及企業(yè)資源管理(ERP)等。有條件的企業(yè)可開展“網(wǎng)絡(luò)
23、制造”,便于合作設(shè)計、合作制造,參與國內(nèi)和國際競爭。開展“數(shù)控化”工程和“數(shù)字化”工程。自動化儀表的技術(shù)發(fā)展趨勢的測試技術(shù)、控制技術(shù)與計算機技術(shù)、通信技術(shù)進一步融合,形成測量、控制、通信與計算機(M3C)結(jié)構(gòu)。在ASIC和PLD設(shè)計方面,向超高速、高密度、低功耗、低電壓方面發(fā)展。 </p><p> 外設(shè)技術(shù)與EDA工程相結(jié)合的市場前景看好,如組合超大屏幕的相關(guān)連接,多屏幕技術(shù)也有所發(fā)展。 </p>
24、<p> 中國自1995年以來加速開發(fā)半導(dǎo)體產(chǎn)業(yè),先后建立了幾所設(shè)計中心,推動系列設(shè)計活動以應(yīng)對亞太地區(qū)其它EDA市場的競爭。 </p><p> 在EDA軟件開發(fā)方面,目前主要集中在美國。但各國也正在努力開發(fā)相應(yīng)的工具。日本、韓國都有ASIC設(shè)計工具,但不對外開放。中國華大集成電路設(shè)計中心,也提供IC設(shè)計軟件,但性能不是很強。相信在不久的將來會有更多更好的設(shè)計工具在各地開花并結(jié)果。據(jù)最新統(tǒng)計顯
25、示,中國和印度正在成為電子設(shè)計自動化領(lǐng)域發(fā)展最快的兩個市場,年夏合增長率分別達到了50%和30%。 </p><p> EDA技術(shù)發(fā)展迅猛,完全可以用日新月異來描述。EDA技術(shù)的應(yīng)用廣泛,現(xiàn)在已涉及到各行各業(yè)。EDA水平不斷提高,設(shè)計工具趨于完美的地步。EDA市場日趨成熟,但我國的研發(fā)水平仍很有限,尚需迎頭趕上。</p><p><b> 2、總體方案設(shè)計</b>
26、</p><p><b> 2.1設(shè)計內(nèi)容</b></p><p> 從課程設(shè)計要求來看,要求實現(xiàn)洗衣機的正轉(zhuǎn),反轉(zhuǎn),待機,當(dāng)顯示時間為5S時,正轉(zhuǎn)60S,待機5s,反轉(zhuǎn)60s,如此一來周期就是130秒,并用三個LED燈和7段顯示器分別表示其工作狀態(tài)和顯示相應(yīng)工作狀態(tài)下的時間。設(shè)定最大洗衣機的循環(huán)次數(shù)為15次,具有緊急情況的處理功能當(dāng)發(fā)生緊急情況時,立即轉(zhuǎn)入到待
27、機狀態(tài),緊急情況接觸后繼續(xù)執(zhí)行后續(xù)步驟。洗衣機設(shè)定循環(huán)次數(shù)遞減到零時立即報警,以表示洗衣機設(shè)定的循環(huán)次數(shù)已經(jīng)結(jié)束。</p><p> 本設(shè)計采用EDA技術(shù),通過FPGA芯片實現(xiàn)了洗衣機控制電路的設(shè)計,本文采用Verilog 硬件描述語言洗衣機控制電路,完成對電路的功能仿真。</p><p><b> 2.2設(shè)計方案比較</b></p><p&g
28、t; 方案一:單片機方案,單片機運用廣泛,特別是8051單片機,在控制領(lǐng)域經(jīng)久不衰,而且成本低廉。本設(shè)計要求中,可采用一塊51單片機作為核心,使用兩位數(shù)碼管,三個LED燈,一個蜂鳴器和一些驅(qū)動電路作為外圍設(shè)備,實現(xiàn)實驗要求功能。電路比較簡單。</p><p> 不過單片機編程復(fù)雜,軟件實現(xiàn)困難,入手不是很容易。而且對于本題要求,使用單片機會浪費資源,并不是十分經(jīng)濟,加之考慮到學(xué)習(xí)知識的水平,因此不選擇此方案。
29、</p><p> .2.2 單片機原理實現(xiàn)框圖</p><p> 方案二: FPGA方案,洗衣機控制器的設(shè)計主要是定時器的設(shè)計,由一片F(xiàn)PGA和外圍電路構(gòu)成了電器控制部分。FPGA接受鍵盤的控制命令,控制顯示工作狀態(tài)以及設(shè)定直流電機速度,正反轉(zhuǎn)控制,制動控制,起停控制和運動狀態(tài)控制。對FPGA芯片的變成采用模塊化的VHDL(硬件描述語言)進行設(shè)計,設(shè)計分為三層實現(xiàn),頂層實現(xiàn)整個芯片的
30、功能。頂層和中間層多數(shù)是由VHDL的元件例化語句實現(xiàn)。中間層由無刷直流電機控制,定時器,顯示控制,鍵盤掃描,水位控制以及對直流電機控制板進行速度設(shè)定,正反轉(zhuǎn)控制,起??刂频饶K組成,他們分別調(diào)用底層模塊。</p><p><b> 2.3方案選擇</b></p><p> 相對于單片機方案FPGA有以下優(yōu)點:1.運行速度快 FPGA內(nèi)部集成鎖項環(huán),可以把外部時鐘倍
31、頻,核心頻率可以到幾百M,而單片機運行速度低的多.在高速場合,單片機無法代替FPGA。</p><p> 2. FPGA內(nèi)部程序并行運行,有處理更復(fù)雜功能的能力,單片機程序是串行執(zhí)行的,執(zhí)行完一條才能執(zhí)行下一條,在處理突發(fā)事件時只能調(diào)用有限的中斷資源;而FPGA不同邏輯可以并行執(zhí)行,可以同時處理不同任務(wù),這就導(dǎo)致了FPGA工作更有效率。</p><p> 3. FPGA有大量軟核,可以
32、方便進行二次開發(fā),F(xiàn)PGA甚至包含單片機和DSP軟核,并且IO數(shù)僅受FPGA自身IO限制,所以,FPGA又是單片機和DSP的超集,也就是說,單片機和DSP能實現(xiàn)的功能,FPGA一般都能實現(xiàn)</p><p> 因此選用FPGA方案。</p><p> .2.4 設(shè)計框圖 </p><p> 圖2-1整個系統(tǒng)工作的原理框圖</p><p>
33、;<b> 、</b></p><p><b> 3、特殊器件的介紹</b></p><p> 3.1 CPLD器件介紹</p><p> CPLD是Complex Programmable Logic Device的縮寫,它是有最早的PLD器件發(fā)展形成的高密度可編程邏輯器件,它具有編程靈活、集成度高、設(shè)計開發(fā)周期
34、短、適用范圍寬、開發(fā)工具先進、設(shè)計制造成本低、對設(shè)計者的硬件經(jīng)驗要求低、標(biāo)準(zhǔn)產(chǎn)品無需測試、保密性強、價格大眾化等特點。 CPLD是一種用戶根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。其基本設(shè)計方法是借助集成開發(fā)軟件平臺,用原理圖、硬件描述語言等方法,生成相應(yīng)的目標(biāo)文件,通過下載電纜(“在系統(tǒng)”編程)將代碼傳送到目標(biāo)芯片中,實現(xiàn)設(shè)計的數(shù)字系統(tǒng)。</p><p> 許多公司都開發(fā)出了CPLD可編程邏輯器件。比較
35、典型的就是Altera、Lattice、Xilinx世界三大權(quán)威公司的產(chǎn)品。如 Altera公司的MAXII器件,就是其極具代表性的一類CPLD器件,是有史以來功耗最低、成本最低的CPLD。MAX II CPLD基于突破性的體系結(jié)構(gòu),在所有CPLD系列中,其單位I/O引腳的功耗和成本都是最低的。 </p><p> Altera公司的MAX7000A系列器件是高密度、高性能的EPLD,它是基于第二代MAX結(jié)構(gòu)
36、,采用CMOS EPROM工藝制造的。該系列的器件具有一定得典型性,其他結(jié)構(gòu)都與此結(jié)構(gòu)非常的類似。它包括邏輯陣列塊、宏單元、擴展乘積項、可編程連線陣列和IO控制部分。由于大多數(shù)CPLD是基于乘積項的“與或”結(jié)構(gòu),故適合設(shè)計組合邏輯電路。</p><p> 3.2 FPGA器件介紹</p><p> FPGA(Field-Programmable Gate Array)可以達到比PLD更
37、高的集成度,它是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進一步發(fā)展起來的,具有更復(fù)雜的布線結(jié)構(gòu)和邏輯實現(xiàn)。PLD器件和FPGA的主要區(qū)別在于PLD是通過修改具有固定內(nèi)連電路得邏輯功能來進行編程,而FPGA是通過修改一根或多根分割宏單元的基本功能塊的內(nèi)連線的布線來進行編程。它一般由可嵌入式陣列塊(EAB)、邏輯陣列塊(LAB)、快速互聯(lián)通道(Fast Track)、IO單元(IOE)組成。</p><p>
38、 Altera Cyclone II 采用全銅層、低K值、1.2伏SRAM工藝設(shè)計,裸片尺寸被盡可能最小的優(yōu)化。采用300毫米晶圓,以TSMC成功的90nm工藝技術(shù)為基礎(chǔ),Cyclone II 器件提供了4,608到68,416個邏輯單元(LE),并具有一整套最佳的功能,包括嵌入式18比特x18比特乘法器、專用外部存儲器接口電路、4kbit嵌入式存儲器塊、鎖相環(huán)(PLL)和高速差分I/O能力。Cyclone II 器件擴展了FPGA在
39、成本敏感性、大批量應(yīng)用領(lǐng)域的影響力,延續(xù)了第一代Cyclone器件系列的成功。</p><p> FPGA適合于時序邏輯電路的設(shè)計。</p><p> .4. 單元模塊及軟件設(shè)計</p><p><b> 4.1 電路原理圖</b></p><p><b> 圖4-1電路原理圖</b><
40、;/p><p> 洗衣機控制器電路主要有五大部分組成,包括:加法計數(shù)器、時序控制電路,預(yù)置時間和編碼電路,數(shù)碼管顯示,譯碼器組成。同時為了實現(xiàn)報警功能,可以加一個蜂鳴器。此最小系統(tǒng)設(shè)計包含了時鐘產(chǎn)生電路模塊、程序下載配置電路模塊、電源電路模塊,通過連線將各個模塊進行連接成最小系統(tǒng)。外部器件主要有蜂鳴器,數(shù)碼管,電機和led燈來顯示工作狀態(tài)。將外設(shè)與最小系統(tǒng)進行合理正確連接,即可實現(xiàn)本設(shè)計的電路原理要求。</p
41、><p><b> 4.2有源晶振電路</b></p><p> 圖4-2有源晶振電路</p><p> 為芯片提供時鐘用的是外部有有源晶振電路,如上圖3-1所示;有源晶振是用石英晶體組成的,石英晶片之所以能當(dāng)為振蕩器使用,是基于它的壓電效應(yīng):在晶片的兩個極上加一電場,會使晶體產(chǎn)生機械變形;在石英晶片上加上交變電壓,晶體就會產(chǎn)生機械振動,同時
42、機械變形振動又會產(chǎn)生交變電場,雖然這種交變電場的電壓極其微弱,但其振動頻率是十分穩(wěn)定的。當(dāng)外加交變電壓的頻率與晶片的固有頻率(由晶片的尺寸和形狀決定)相等時,機械振動的幅度將急劇增加,這種現(xiàn)象稱為“壓電諧振”。</p><p> 有源晶振是一個完整的振蕩器,里面除了石英晶體外,還有晶體管和阻容元件 。有源晶振自帶振蕩器,信號質(zhì)量好,比較穩(wěn)定,而且連接方式相對簡單(主要是做好電源濾波,通常使用一個電容和電感構(gòu)成的
43、PI型濾波網(wǎng)絡(luò),輸出端用一個小阻值的電阻過濾信號即可),不需要復(fù)雜的配置電路。相對于無源晶體,有源晶振的缺陷是其信號電平是固定的,需要選擇好合適輸出電平,靈活性較差,價格相對較高。有源晶振相比于無源晶體通常體積較大,但現(xiàn)在許多有源晶振是表貼的,體積和晶體相當(dāng),有的甚至比許多晶體還要小。</p><p><b> 4.3供電電路</b></p><p><b&g
44、t; 圖4-3供電電路</b></p><p> 供電電路使用LM1117-3.3和少量的外圍器件構(gòu)成的電路,如上圖3-2所示;是一個低壓差電壓調(diào)節(jié)器系列。其壓差在1.2V輸出,負載電流為800mA時為1.2V。它與國家半導(dǎo)體的工業(yè)標(biāo)準(zhǔn)器件LM317有相同的管腳排列。LM1117有可調(diào)電壓的版本,通過2個外部電阻可實現(xiàn)1.25~13.8V輸出電壓范圍。另外還有5個固定電壓輸出(1.8V、2.5V、
45、2.85V、3.3V和5V)的型號。LM1117提供電流限制和熱保護。電路包含1個齊納調(diào)節(jié)的帶隙參考電壓以確保輸出電壓的精度在±1%以內(nèi)。LM1117系列具有LLP、TO-263、SOT-223、TO-220和TO-252 D-PAK封裝。輸出端需要一個至少10uF的鉭電容來改善瞬態(tài)響應(yīng)和穩(wěn)定性。</p><p> 4.4 PS配置電路</p><p><b>
46、圖4-4 配置電路</b></p><p> 配置電路采用JTAG配置模式,如上圖3-3所示。該模式具有比其他配置模式更高的優(yōu)先級,在Cyclone系列FPGA的非JTAG配置過程中,一旦發(fā)起JTAG配置命令,則非JTAG配置被終止進入JTAG配置模式。</p><p> Cyclone器件有四個專用的JTAG配置引腳,TDI,TDO,TMS和TCK。TDI,TMS和TCK
47、引腳在FPGA內(nèi)部設(shè)有弱的上拉電阻(20-40K)。TDI引腳用于配置數(shù)據(jù)串行輸入,數(shù)據(jù)在TCK的上升沿移入FPGA;TDO用于配置數(shù)據(jù)串行輸出,數(shù)據(jù)在TCK的下降沿移出FPGA,TMS提供控制信號用于測試訪問(TAP)端口控制的狀態(tài)機的轉(zhuǎn)移;TCK則用于提供時鐘。</p><p><b> 4.5 軟件設(shè)計</b></p><p><b> 設(shè)計程序如
48、下:</b></p><p> module xiyiji1(clk50mhz,set,start,forward,back,waiting,led1,led2,led3,speaker,clk1hz,fs0,fs1);</p><p> input clk50mhz,set,start; //定義</p><p> output reg for
49、ward,back,waiting,clk1hz;</p><p> output reg led1,led2,led3,speaker;</p><p> output reg [3:0] fs0,fs1;</p><p> reg[3:0] num,count1,flag;</p><p> reg[25:0] counter,c
50、ount2;</p><p> reg[2:0] count;</p><p> always @(negedge set) //設(shè)定初始值</p><p><b> begin</b></p><p> if(set==0)</p><p><b> begin &l
51、t;/b></p><p> if(num==15)</p><p><b> num<=0;</b></p><p><b> else </b></p><p> num<=num+1; </p><p><b> end</
52、b></p><p><b> end </b></p><p> always @(posedge start or posedge clk50mhz) //工作狀態(tài)控制</p><p><b> begin</b></p><p> if(start==1)</p>
53、;<p><b> begin</b></p><p> case(flag)</p><p> 0: begin forward<=1;back<=0;waiting<=0;led1<=1;led2<=0;led3<=0; end</p><p> 1: begin forward&l
54、t;=0;back<=0;waiting<=1;led1<=0;led2<=0;led3<=1; end</p><p> 2: begin forward<=0;back<=1;waiting<=0;led1<=0;led2<=1;led3<=0; end</p><p> 3: begin forward<=0
55、;back<=0;waiting<=1;led1<=0;led2<=0;led3<=1; end</p><p> default:begin forward<=0;back<=0;waiting<=0;led1<=0;led2<=0;led3<=0;end</p><p><b> endcase</b
56、></p><p> if(count==3)</p><p><b> begin</b></p><p><b> count<=0;</b></p><p> count1<=count1+1;</p><p> if(count1==num
57、)</p><p><b> begin</b></p><p> speaker=1;</p><p> forward<=0;back<=0;waiting<=0;led2<=0;led3<=0;</p><p><b> end</b></p>
58、<p><b> end</b></p><p><b> else</b></p><p> count<=count+1;</p><p><b> end</b></p><p><b> end</b></p&g
59、t;<p> always @(posedge clk50mhz) //分頻,從50mhz分頻到1hz</p><p><b> begin</b></p><p> if(counter==50000000) </p><p><b> begin</b></p><p>
60、; counter<=0;</p><p> clk1hz<=~clk1hz;</p><p><b> end</b></p><p><b> else </b></p><p> counter<=counter+1;</p><p><
61、;b> end </b></p><p> always @(posedge clk1hz) </p><p><b> begin</b></p><p> if(count2==130)</p><p> count2<=0;</p><p><b>
62、; else</b></p><p><b> begin</b></p><p> count2<=count2+1;</p><p> case(count2)</p><p> 60: flag=0;</p><p> 65: flag=1;</p>
63、<p> 125:flag=2;</p><p> 130:flag=3;</p><p> default:flag=3;</p><p><b> endcase</b></p><p><b> end </b></p><p><b&g
64、t; end </b></p><p> reg fscarry0;</p><p> reg fscarry1;</p><p> always @(posedge clk1hz) //計時</p><p><b> begin</b></p><p> if(f
65、s0==9)</p><p><b> begin</b></p><p> fs0<=0;fscarry0<=1;</p><p><b> end</b></p><p><b> else</b></p><p><b&g
66、t; begin</b></p><p> fs0<=fs0+1;fscarry0<=0;</p><p><b> end</b></p><p><b> end</b></p><p> always @(posedge fscarry0)</p>
67、<p><b> begin</b></p><p> if(fs1==9)</p><p><b> begin</b></p><p> fs1<=0;fscarry1<=1;</p><p><b> end</b></p>
68、<p><b> else</b></p><p><b> begin</b></p><p> fs1<=fs1+1;fscarry1<=0;</p><p><b> end</b></p><p><b> end</
69、b></p><p> led ledfs0(fs0,led0);</p><p> led ledfs1(fs0,led1);</p><p><b> endmodule</b></p><p> module led(clk1hz,datain,ledout); //數(shù)碼管顯示</p>
70、<p> input clk1hz;</p><p> input [3:0] datain;</p><p> output reg[7:0] ledout;</p><p> always @(posedge clk1hz)</p><p><b> begin</b></p>
71、<p> case (datain)</p><p> 0:ledout<=7'b1000000;</p><p> 1:ledout<=7'b1111001;</p><p> 2:ledout<=7'b0100100;</p><p> 3:ledout<=7'b
72、0110000;</p><p> 4:ledout<=7'b0011001;</p><p> 5:ledout<=7'b0010010;</p><p> 6:ledout<=7'b0000010;</p><p> 7:ledout<=7'b1111000;</p&g
73、t;<p> 8:ledout<=7'b0000000;</p><p> 9:ledout<=7'b0010000;</p><p> 10:ledout<=7'b0001000;</p><p> 11:ledout<=7'b1000011;</p><p>
74、 12:ledout<=7'b1000110;</p><p> 13:ledout<=7'b0100001;</p><p> 14:ledout<=7'b0000110;</p><p> 15:ledout<=7'b0001110;</p><p> default:led
75、out<=7'b1000000;</p><p><b> endcase</b></p><p><b> end</b></p><p><b> Endmodule</b></p><p><b> 5.仿真</b></p
76、><p><b> 5.1仿真</b></p><p> 仿真波形圖如5-1:首先由外部輸入一個50Mhz的頻率,然后通過設(shè)置set為低時,對洗衣機的循環(huán)次數(shù)進行設(shè)定,然后設(shè)置start為高時,洗衣機開始工作,首先為待機(waiting為1),同時對應(yīng)的顯示狀態(tài)的led3亮</p><p> 圖5-1 仿真波形圖</p><
77、;p> 5.2 生成的原理框圖:</p><p> 圖5-2 生成的原理框圖 </p><p> 6.系統(tǒng)調(diào)試及結(jié)果分析</p><p> 在QuartusII軟件中,通過對所設(shè)計的硬件描述語言代碼進行波形仿真后,達到了預(yù)期效果,于是,我們在該軟件上進行下載配置設(shè)置。在Assignments菜單下選中Devices,在Family欄選擇ACEX1K,選
78、中EP1K30TC144-2器件。再在Assignments菜單下選中Pins按照相應(yīng)要求對管腳進行鎖定。最后在Tools菜單下,選中Programmer,對配置方式進行設(shè)置,這里選擇JTAG配置模式。選擇好要下載的硬件設(shè)備后點擊Start即可開始編程下載了。</p><p> 調(diào)試過程為在線調(diào)試。在通過調(diào)試中,我們發(fā)現(xiàn)了很多問題,現(xiàn)歸納如下:</p><p> 在軟件上能實現(xiàn)仿真的程
79、序不一定在硬件電路上就能運行,原因有很多,這里是由于電路中的時鐘頻率太快,若不增加一個分頻電路,洗衣機工作的延時時間很難控制那么長,故設(shè)計了一個50MHZ到1HZ的分頻電路。</p><p> 調(diào)試中的實際問題需要考慮,人同時按多個鍵的同步性,不能達到時鐘的精度,比如模擬鍵盤的輸入狀態(tài)是高電平有效,我們設(shè)計的結(jié)構(gòu)是按鍵按下為低,這是若要實現(xiàn)該電路的控制就需要同時按下2個鍵,為了使輸入狀態(tài)實現(xiàn)只需按下一個鍵的按鍵
80、控制,需要對按鍵邏輯取反。</p><p> 考慮到洗衣機工作時,所有可能出現(xiàn)的狀態(tài)。若同時發(fā)生幾個事件,我們需要優(yōu)先響應(yīng)的事件是什么。通過分析我們知道,停止工作的優(yōu)先級應(yīng)為最高,正常行駛的優(yōu)先級最低,故我們還需要對優(yōu)先級做出設(shè)定。在電路設(shè)計中則是利用帶優(yōu)先級的IF語句來控制輸入信號即可。</p><p> 由于分頻的運算很大,故增加分頻電路后,在QuartusII軟件中則不能進行正確
81、的仿真,可以直接將程序下載到電路板上去調(diào)試。</p><p> 7. 結(jié)論及心得體會</p><p><b> 7.1設(shè)計小結(jié)</b></p><p> 我們順利完成了本系統(tǒng)設(shè)計的要求及功能。在設(shè)計開始前我們對各個模塊進行了詳細的分析和設(shè)計準(zhǔn)備工作,設(shè)計過程中,我們相互協(xié)調(diào),積極參與完成各個技術(shù)實現(xiàn)的難點。本設(shè)計要求首先對洗衣機進
82、行設(shè)定循環(huán)次數(shù),按開始按鈕后,洗衣機的工作狀態(tài)依次是,先正轉(zhuǎn)60s和led1燈亮,待機5s和led2燈亮,反轉(zhuǎn)60s和led3燈亮,待機5s和led3燈亮,這個表示一個循環(huán)周期結(jié)束,設(shè)定次數(shù)減1,數(shù)碼管顯示洗衣機的工作時間。依次循環(huán)直到設(shè)定次數(shù)減到0,然后蜂鳴器響,洗衣機停止工作處于待機狀態(tài),數(shù)碼管顯示0。在整個的設(shè)計過程中遇到的困難,主要是當(dāng)我對程序的各個分模塊調(diào)試時,能夠成功運行,但是把程序綜合到一起時,出現(xiàn)了很多的錯誤,但是通過自
83、己一步步的調(diào)試,也終于調(diào)試成功了。</p><p><b> 7.2 設(shè)計收獲</b></p><p> 這次EDA對我來說是一項很大的挑戰(zhàn),看到題目后幾乎沒有思路,翻閱教材,查閱網(wǎng)上資料,以及詢問創(chuàng)新實驗室的朋友,才有了眉目,有了一定的思路。然后和小組成員經(jīng)過一番討論與驗證,最后形成了這個作業(yè)。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是
84、遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正的更好去理解知識,在這過程中可以說是困難重重,這畢竟是我第一次做有關(guān)于EDA方面的設(shè)計,遇到了各種各樣的問題,首先是程序編寫上有很多難點,其次是軟件的使用以及仿真時存在的操作失誤等等,雖然之前在實驗室用過此仿真軟件,但畢竟不是很熟悉。同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的只是理解的不夠深刻,掌握的不夠牢固。此次課程設(shè)計,學(xué)到了很多肯內(nèi)學(xué)不到的東西
85、,比如獨立思考解決問題,以及與同學(xué)的團隊協(xié)作能力,出現(xiàn)差錯的隨機應(yīng)變。同時也加深了我對所學(xué)知識的理解,能更好的運用到實踐當(dāng)中。</p><p><b> 7.3 致謝</b></p><p> 在老師們的辛勤指導(dǎo)下,我們小組同學(xué)積極討論和思考,完成本此課程設(shè)計,此次設(shè)計,使我們受益匪淺。在此我要感謝電氣信息學(xué)院提供這次課程設(shè)計的機會;感謝電氣信息學(xué)院各位老師的幫組
86、。在這里我要特別感謝**老師,在我們的設(shè)計過程中,至始至終都得到了**老師的悉心指導(dǎo),我們的設(shè)計才得以完成。</p><p><b> 8. 參考文獻</b></p><p> [1] 潘松著.EDA技術(shù)使用教程(第二版).北京:科學(xué)出版社,2005</p><p> [2] 章彬宏.EDA應(yīng)用技術(shù).北京:北京理工大學(xué)出版社,2006&l
87、t;/p><p> [3] 羅中華 楊戈.EDA與可編程實驗教程.重慶:重慶大學(xué)出版社,2005</p><p> [4] 劉艷萍 李志軍 高振斌 EDA應(yīng)用技術(shù)及應(yīng)用.北京:國防工業(yè)出版社.2005</p><p> [5] 謝自美 電子線路設(shè)計.實驗.測試 華中科技大學(xué)出版社</p><p> [6] 周立功 EDA實驗與實踐.沈陽&
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 洗衣機控制電路設(shè)計eda課程設(shè)計
- 課程設(shè)計---洗衣機控制電路
- 課程設(shè)計--- 洗衣機控制電路設(shè)計
- 課程設(shè)計--普通洗衣機的控制電路
- 簡易洗衣機控制電路設(shè)計--protel課程設(shè)計
- eda課程設(shè)計---洗衣機控制器
- eda課程設(shè)計報告--洗衣機
- 數(shù)字邏輯課程設(shè)計報告---洗衣機控制電路設(shè)計
- eda課程設(shè)計---洗衣機控制器設(shè)計
- 數(shù)電課程設(shè)計報告--洗衣機自動控制電路
- 洗衣機控制電路開題報告
- 簡易洗衣機控制課程設(shè)計
- eda課程設(shè)計---基于fpga的洗衣機控制器的設(shè)計
- 洗衣機課程設(shè)計
- 課程設(shè)計-洗衣機
- 洗衣機自動控制電路設(shè)計與實現(xiàn)
- 洗衣機控制器課程設(shè)計
- 洗衣機課程設(shè)計--波輪式自動洗衣機
- 洗衣機定時控制系統(tǒng)數(shù)字電路課程設(shè)計
- 洗衣機控制器課程設(shè)計
評論
0/150
提交評論