歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOCX文檔下載  

EDA自動售貨機(jī)設(shè)計

  • 資源ID:20453025       資源大小:291.06KB        全文頁數(shù):24頁
  • 資源格式: DOCX        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

EDA自動售貨機(jī)設(shè)計

摘要人類社會已進(jìn)入到高度發(fā)達(dá)的信息化社會, 信息社會的發(fā)展離不開電子產(chǎn)品的進(jìn)步?,F(xiàn)代電子產(chǎn)品在性能提高、復(fù)雜度增大的同時,價格卻一直呈下降趨勢,而且產(chǎn)品更新?lián)Q代的步伐也越來越快, 實現(xiàn)這種進(jìn)步的主要原因就是生產(chǎn)制造技術(shù)和電子設(shè)計技術(shù)的發(fā)展。自動售貨是 20 世紀(jì) 70 年代在日本、 歐美發(fā)展起來的一種全新的消費(fèi)方式, 自動售貨機(jī)又被稱為 24 小時營業(yè)的微型自助超市,它的售貨領(lǐng)域非常廣泛,是發(fā)達(dá)國家商品零售的一種主要方式。 本設(shè)計要實現(xiàn)自動售貨機(jī)的基本功能,如投幣處理、 商品選擇、購貨撤銷、異常退幣、計算存貨等功能。采用VHDL硬件描述語言編程的設(shè)計方法設(shè)計系統(tǒng)核心電路的硬件程序,與一般的軟件開發(fā)不同,VHDL 編程更需要熟悉一些底層的硬件知識,特別是數(shù)字邏輯電路的設(shè)計,因此 VHDL編程的方法、思路都要更多的與硬件電路聯(lián)系起來。 完成系統(tǒng)各個功能模塊的硬件程序設(shè)計后, 在軟件平臺上進(jìn)行編譯和電路仿真,最后生成的目標(biāo)文件下載到實驗臺內(nèi)的 FPGA芯片以實現(xiàn)該系統(tǒng),并在實驗臺上對設(shè)計進(jìn)行驗證。關(guān)鍵字 :自動售貨機(jī);VHDL編程;編譯;電路仿真AbstractHuman society has entered into a highly developed information community, social development of information on electronic products progress. the modern electronic products in the performance, the increased complexity of the same time, the price has been a downward trend, and the pace of product faster and faster, the realization of this progress is that of manufacturing technology and electronic design of technology.The coin is in the 70s of 20th century in japan, and develop a new and vending machine is called open 24 hours in the cafeteria, it is very widespread area of sale in retail in the developed countries, is a major way. this is designed to enable automatic machines in the basic functionality, such as a coin, choose and purchases of goods, money is retired, stock and functions. Complete system of the various functional modules of hardware, software design process in the compilation and circuit emulation, the target file download to the test stand in the chip to implement the system fpga, and on the stage of design validation.Keywords: Vending machine; Vhdl programming ; Compilation ; Circuitsimulation- 1 -目錄引言 .- 3 -1 EDA技術(shù)簡介 .- 10 -1.1 EDA 技術(shù)的發(fā)展概況 .- 10 -1.2 EDA 技術(shù)的基本特征 .- 10 -1.2.1“自頂向下”的設(shè)計方法 .- 11 -1.2.2高層次設(shè)計 .- 11 -2 工作原理 .- 11 -2. 1任務(wù)概述 .- 11 -2.2系統(tǒng)設(shè)計 - 12 -2.3系統(tǒng)組成方框圖 .- 12 -2.4工作過程 .- 12 -3 設(shè)計方案 .- 13 -3.1自動售貨機(jī) VHDL程序 .- 13 -3.2各功能部件系統(tǒng)仿真圖 .- 16 -結(jié) 論 .- 19 -參考文獻(xiàn) .- 20 - 2 -引言自動售貨機(jī)能夠根據(jù)投入錢幣自動收貨的機(jī)器,是商業(yè)自動化的常用設(shè)備。不受時間、地點(diǎn)的限制,能節(jié)省人力物力。 現(xiàn)代售貨機(jī)的功能、 結(jié)構(gòu)根據(jù)商品的種類而異。貨幣裝置時售貨機(jī)的核心, 其主要功能是確認(rèn)投入幣數(shù)及面值,計算余額,找兌余額。因此,自動售貨機(jī)在商業(yè),食品業(yè)越來越普及,更方便消費(fèi)者購買自己所需的商品。使用方便、可靠、節(jié)省人力的自動售貨機(jī)將在社會生活中成為一種趨勢。新浪騰訊 ?QQ 空間搜 狐 網(wǎng) 易谷 歌鳳 凰 網(wǎng)新浪微博新 華 網(wǎng)人 民 網(wǎng)中國移動 中國政府網(wǎng)人 人 網(wǎng)開 心 網(wǎng)天涯社區(qū)汽車之家 4399 游戲太平洋電腦東方財富 中華英才網(wǎng) 中 彩 網(wǎng)賽 爾 號智聯(lián)招聘 攜程旅行網(wǎng)CNTV 中國電信58 同城淘 寶 網(wǎng)湖南衛(wèi)視 大眾點(diǎn)評網(wǎng)工商銀行 凡客誠品中關(guān)村在線國美電器 易 車 網(wǎng) 去哪兒網(wǎng)京東商城 蘇寧易購新功能刷卡購物功能:在網(wǎng)絡(luò)環(huán)境支持情況下,具備多種電子支付功能,如信用卡、儲值卡、手機(jī)卡等刷卡消費(fèi)。多種貨幣識別功能:電控系統(tǒng)可以配合紙幣、硬幣識別器增加代金券功能,可以識別紙質(zhì)和硬幣類型的代金券。數(shù)據(jù)下載功能:應(yīng)用 USB技術(shù),使用一個優(yōu)盤,就能輕松下載售貨機(jī)的運(yùn)營信息,然后使用PC機(jī)對下載的數(shù)據(jù)進(jìn)行處理,便于運(yùn)營商掌握不同地區(qū)、不同機(jī)器、不同商品的售賣情況。- 3 -無線網(wǎng)絡(luò)運(yùn)營管理功能:將自動售貨機(jī)當(dāng)前運(yùn)營的數(shù)據(jù),包括系統(tǒng)狀態(tài)、系統(tǒng)故障、料道故障、缺貨情況、銷售數(shù)據(jù)通過安裝在自動售貨機(jī)上的GPRS模塊無線傳輸?shù)绞圬洐C(jī)網(wǎng)絡(luò)服務(wù)器,運(yùn)營人員可以在任何一臺聯(lián)網(wǎng)的電腦上掌握售貨機(jī)的這些信息,實現(xiàn)自動售貨機(jī)的大規(guī)模運(yùn)營和網(wǎng)絡(luò)化管理。EDA技術(shù)是以計算機(jī)為工具完成數(shù)字系統(tǒng)的邏輯綜合、布局布線和設(shè)計仿真等工作。電路設(shè)計者只需要完成對系統(tǒng)功能的描述,就可以由計算機(jī)軟件進(jìn)行系統(tǒng)處理,最后得到設(shè)計結(jié)果, 并且修改設(shè)計方案如同修改軟件一樣方便。 利用 EDA工具可以極大地提高設(shè)計效率。利用硬件描述語言編程來表示邏輯器件及系統(tǒng)硬件的功能和行為, 是 EDA設(shè)計方法的一個重要特征。 VHDL(Very High Speed Integrated Circuit HardwareDescription Language,超高速集成電路硬件描述語言)是硬件描述語言的一種,對系統(tǒng)硬件的描述功能很強(qiáng)而語法又比較簡單。 VHDL具有強(qiáng)大的行為描述能力,設(shè)計者可以不懂硬件的結(jié)構(gòu), 只需集中精力進(jìn)行電子系統(tǒng)的設(shè)計和性能優(yōu)化; 具有方便的邏輯仿真與調(diào)試功能, 在設(shè)計早期就能查驗系統(tǒng)的功能, 方便地比較各種方案的可行性及其優(yōu)劣。目前, VHDL作為 IEEE 的工業(yè)標(biāo)準(zhǔn)硬件描述語言,得到眾多 EDA公司的支持,在電子工程領(lǐng)域已經(jīng)成為事實上通用硬件描述語言。本文采用 VHDL作為工具描述了自動售貨機(jī)控制模塊的邏輯控制電路, 并在 FPGA 上實現(xiàn)。該自動售貨機(jī)能夠根據(jù)投入硬幣額度, 按預(yù)定的要求在投入硬幣大于規(guī)定值時送出飲料并找零。設(shè)計方案本文所設(shè)計的簡易自動售貨機(jī)可銷售礦泉水,假設(shè)每瓶 1.5 元。設(shè)兩個投幣孔,分別接收 1 元和 5 角兩種硬幣, 兩個輸出口, 分別輸出購買的商品和找零。 假設(shè)每次只能投入一枚 1 元或 5 角硬幣,投入 1 元 5 角硬幣后機(jī)器自動給出一瓶礦泉水; 投入2 元硬幣后,在給出一瓶礦泉水的同時找回一枚 5 角的硬幣。另外設(shè)置一復(fù)位按鈕,當(dāng)復(fù)位按鈕按下時,自動售貨機(jī)回到初始狀態(tài)。開發(fā)軟件選用功能強(qiáng)大的Altera公司的最新可編程邏輯器件開發(fā)工具QuartusII 8.0 ,實現(xiàn)芯片選用 Altera 公司 FLEX10K系列的 EPF10K10LC84-;4首先在計算機(jī)上完成程序設(shè)計、 編譯及時序仿真, 然后將經(jīng)過驗證的設(shè)計文件下載到選擇的可編程邏輯器件中,并在電子設(shè)計自動化實驗系統(tǒng)中進(jìn)行硬件模擬和測試。狀態(tài)機(jī) VHDL程序設(shè)計- 4 -0 表示不輸出貨物或不找零。有限狀態(tài)機(jī) FSM( Finite State Machine )及其設(shè)計技術(shù)是實用數(shù)字系統(tǒng)設(shè)計中實現(xiàn)高效率、高可靠邏輯控制的重要途徑。 傳統(tǒng)的狀態(tài)機(jī)設(shè)計方法需進(jìn)行繁瑣的狀態(tài)分配、繪制狀態(tài)表、簡化次態(tài)方程等,而利用 VHDL可以避免這些煩瑣的過程,直接利用狀態(tài)轉(zhuǎn)換圖進(jìn)行狀態(tài)機(jī)的描述。此外,與 VHDL的其他描述方式相比,狀態(tài)機(jī)的VHDL表述豐富多樣,程序?qū)哟畏置?,結(jié)構(gòu)清晰,易讀易懂;在排錯、修改和模塊移植方面也有其獨(dú)到的特點(diǎn)。狀態(tài)機(jī)有摩爾( Moore)型和米立( Mealy)型兩種。 Moore 型狀態(tài)機(jī)的輸出信號只與當(dāng)前狀態(tài)有關(guān); Mealy 型狀態(tài)機(jī)的輸出信號不僅與當(dāng)前狀態(tài)有關(guān),還與輸入信號有關(guān)。結(jié)合本文設(shè)計, 由于輸出僅與狀態(tài)有關(guān), 選用了 Moore 型狀態(tài)機(jī)設(shè)計自動售貨機(jī)控制模塊,狀態(tài)轉(zhuǎn)換圖如圖 1 所示。圖 1 自動售貨機(jī)狀態(tài)轉(zhuǎn)換圖1)狀態(tài)定義: S0 表示初態(tài), S1 表示投入 5 角硬幣, S2 表示投入 1 元硬幣, S3 表示投入 1 元 5 角硬幣, S4 表示投入 2 元硬幣。2)輸入信號:取投幣信號為輸入邏輯變量,用兩位的矢量 state_inputs 表示。 state_inputs (0)表示投入 1 元硬幣, state_inputs ( 1)表示投入 5 角硬幣。輸入信號為 1 表示投入硬幣,輸入信號為 0 表示未投入硬幣。3)輸出信號:給出礦泉水和找零為兩個輸出變量,用兩位的矢量 comb_outputs 表示。 comb_outputs( 0)表示輸出貨物, comb_outputs( 1)表示找 5 角零錢。輸出信號為 1 表示輸出貨物或找零,輸出信號為EDA技術(shù)是以計算機(jī)為工具完成數(shù)字系統(tǒng)的邏輯綜合、 布局布線和設(shè)計仿真等工作。電路設(shè)計者只需要完成對系統(tǒng)功能的描述,就可以由計算機(jī)軟件進(jìn)行系統(tǒng)處理,最后得到設(shè)計結(jié)果, 并且修改設(shè)計方案如同修改軟件一樣方便。 利用 EDA工具可以極大地提高設(shè)計效率。利用硬件描述語言編程來表示邏輯器件及系統(tǒng)硬件的功能和行為, 是 EDA設(shè)計方法的一個重要特征。 VHDL(Very High Speed Integrated Circuit HardwareDescription Language,超高速集成電路硬件描述語言)是硬件描述語言的一種,對系統(tǒng)硬件的描述功能很強(qiáng)而語法又比較簡單。 VHDL具有強(qiáng)大的行為描述能力,設(shè)計者可以不懂硬件的結(jié)構(gòu), 只需集中精力進(jìn)行電子系統(tǒng)的設(shè)計和性能優(yōu)化; 具有方便的邏輯仿真與調(diào)試功能, 在設(shè)計早期就能查驗系統(tǒng)的功能, 方便地比較各種方案的可行性及其優(yōu)劣。目前, VHDL作為 IEEE 的工業(yè)標(biāo)準(zhǔn)硬件描述語言,得到眾多 EDA公司的支持,在電子工程領(lǐng)域已經(jīng)成為事實上通用硬件描述語言。本文采用 VHDL作為工具描述了自動售貨機(jī)控制模塊的邏輯控制電路, 并在 FPGA 上實現(xiàn)。該自動售貨機(jī)能夠根據(jù)投入硬幣額度, 按預(yù)定的要求在投入硬幣大于規(guī)定值時送出飲料并找零。- 5 -設(shè)計方案本文所設(shè)計的簡易自動售貨機(jī)可銷售礦泉水,假設(shè)每瓶1.5 元。設(shè)兩個投幣孔,分別接收 1 元和 5 角兩種硬幣, 兩個輸出口, 分別輸出購買的商品和找零。 假設(shè)每次只能投入一枚 1 元或 5 角硬幣,投入 1 元 5 角硬幣后機(jī)器自動給出一瓶礦泉水; 投入2 元硬幣后,在給出一瓶礦泉水的同時找回一枚 5 角的硬幣。另外設(shè)置一復(fù)位按鈕,當(dāng)復(fù)位按鈕按下時,自動售貨機(jī)回到初始狀態(tài)。開發(fā)軟件選用功能強(qiáng)大的 Altera 公司的最新可編程邏輯器件開發(fā)工具 Quartus II 8.0 ,實現(xiàn)芯片選用 Altera 公司 FLEX10K系列的 EPF10K10LC84-;4首先在計算機(jī)上完成程序設(shè)計、 編譯及時序仿真, 然后將經(jīng)過驗證的設(shè)計文件下載到選擇的可編程邏輯器件中,并在電子設(shè)計自動化實驗系統(tǒng)中進(jìn)行硬件模擬和測試。狀態(tài)機(jī) VHDL程序設(shè)計有限狀態(tài)機(jī) FSM( Finite State Machine )及其設(shè)計技術(shù)是實用數(shù)字系統(tǒng)設(shè)計中實現(xiàn)高效率、高可靠邏輯控制的重要途徑。 傳統(tǒng)的狀態(tài)機(jī)設(shè)計方法需進(jìn)行繁瑣的狀態(tài)分配、繪制狀態(tài)表、簡化次態(tài)方程等,而利用 VHDL可以避免這些煩瑣的過程,直接利用狀態(tài)轉(zhuǎn)換圖進(jìn)行狀態(tài)機(jī)的描述。此外,與 VHDL的其他描述方式相比,狀態(tài)機(jī)的VHDL表述豐富多樣,程序?qū)哟畏置?,結(jié)構(gòu)清晰,易讀易懂;在排錯、修改和模塊移植方面也有其獨(dú)到的特點(diǎn)。狀態(tài)機(jī)有摩爾( Moore)型和米立( Mealy)型兩種。 Moore 型狀態(tài)機(jī)的輸出信號只與當(dāng)前狀態(tài)有關(guān); Mealy 型狀態(tài)機(jī)的輸出信號不僅與當(dāng)前狀態(tài)有關(guān),還與輸入信號有關(guān)。結(jié)合本文設(shè)計, 由于輸出僅與狀態(tài)有關(guān), 選用了 Moore 型狀態(tài)機(jī)設(shè)計自動售貨機(jī)控制模塊,狀態(tài)轉(zhuǎn)換圖如圖 1 所示。圖 1 自動售貨機(jī)狀態(tài)轉(zhuǎn)換圖1)狀態(tài)定義: S0 表示初態(tài), S1 表示投入 5 角硬幣, S2 表示投入 1 元硬幣, S3 表示投入 1 元 5 角硬幣, S4 表示投入 2 元硬幣。2)輸入信號:取投幣信號為輸入邏輯變量,用兩位的矢量 state_inputs 表示。 state_inputs (0)表示投入 1 元硬幣, state_inputs ( 1)表示投入 5 角硬幣。輸入信號為 1 表示投入硬幣,輸入信號為 0 表示未投入硬幣。3)輸出信號:給出礦泉水和找零為兩個輸出變量,用兩位的矢量 comb_outputs 表示。 comb_outputs( 0)表示輸出貨物, comb_outputs( 1)表示找 5 角零錢。輸出信號為 1 表示輸出貨物或找零,輸出信號為 0 表示不輸出貨物或不找零。根據(jù)圖 1 所示的狀態(tài)轉(zhuǎn)換圖,用 VHDL中的 CASE_WHEN結(jié)構(gòu)和 IF_THEN_ELSE語句實現(xiàn)控制功能,源程序如下:- 6 -LIBRARY IEEE; - 庫和程序包的使用說明USE IEEE.STD_LOGIC_1164.ALL;ENTITY sellmachine IS - 實體定義PORT(clk , reset : IN std_logic;state_inputs:IN std_logic_vector( 0 TO 1 );comb_outputs:OUT std_logic_vector(0 TO 1 ) ;END sellmachine;ARCHITECTURE state OF sellmachine IS - 結(jié)構(gòu)體TYPE fsm_st IS ( S0,S1, S2,S3,S4) ; -狀態(tài)枚舉類型定義SIGNAL current_state , next_state:fsm_st; -狀態(tài)信號的定義BEGINreg:PROCESS(reset ,clk ) -時序進(jìn)程BEGINIF reset= 1 THEN current_state =S0; - 異步復(fù)位ELSIF rising_edge (clk ) THENcurrent_state =next_state; -狀態(tài)轉(zhuǎn)換END IF;END PROCESS;corn:PROCESS( current_state,state_inputs) - 組合進(jìn)程BEGINCASE current_state ISWHEN S0=comb_outputs =“00”;- 現(xiàn)態(tài) S0IF state_inputs =“00” THEN next_state =S0; - 輸入不同,次態(tài)不同- 7 -ELSIF state_inputs=“01” THEN next_state =S1;ELSIF state_inputs=“10” T HEN next_state =S2;END IF;WHEN S1=comb_outputs =“00”; - 現(xiàn)態(tài) S1IF state_inputs =“00” THEN next_state =S1; -輸入不同,次態(tài)不同ELSIF state_inputs=“01” THEN next_state =S2;ELSIF state_inputs=“10” THEN next_state =S3;END IF;WHEN S2=comb_outputs =“00”; - 現(xiàn)態(tài) S2IF state_inputs =“00” THEN next_state =S2; -輸入不同,次態(tài)不同ELSIF state_inputs=“01” THEN next_state =S3;ELSIF state_inputs=“10” THEN next_state =S4;END IF;WHEN S3=comb_outputs =“10”; - 現(xiàn)態(tài) S3IF state_inputs =“00” THEN next_state =S0; -輸入不同,次態(tài)不同ELSIF state_inputs=“01” THEN next_state =S1;ELSIF state_inputs=“10” THEN next_state =S2;END IF;WHEN S4=comb_outputs =“11”; - 現(xiàn)態(tài) S4IF state_inputs =“00” THEN next_state =S0; -輸入不同,次態(tài)不同ELSIF state_inputs=“01” THEN next_state =S1;ELSIF state_inputs=“10” THEN next_state =S2;END IF;- 8 -END CASE;END PROCESS;END state;編譯、仿真及FPGA實現(xiàn)在 Altera 公司的可編程邏輯器件集成開發(fā)平臺 Quartus II 8.0 下完成程序的編輯、編譯并進(jìn)行時序仿真。1)編譯:編譯是 EDA設(shè)計中的核心環(huán)節(jié)。 軟件將對設(shè)計輸入文件進(jìn)行邏輯化簡、綜合和優(yōu)化, 適當(dāng)?shù)赜靡黄蚨嗥骷M(jìn)行適配,最后產(chǎn)生編程用的編程文件。主要包括設(shè)計編譯和檢查、邏輯優(yōu)化和綜合、適配和分割、布局和布線、生成編程數(shù)據(jù)文件等過程。自動售貨機(jī)控制模塊 VHDL文件編譯報告如圖 2 所示。圖 2 編譯報告報告中給出了進(jìn)行編譯的時間、 采用的開發(fā)軟件的版本、 頂層設(shè)計實體名、 選用器件的系列和型號、時序分析情況、占用資源情況及引腳使用情況等信息。2)時序仿真:編譯后對系統(tǒng)和各模塊進(jìn)行時序仿真,分析其時序關(guān)系,估計設(shè)計的性能及檢查和消除競爭冒險是非常有必要的。仿真前,先利用波形編輯器建立波形文件,仿真結(jié)果將會生成報告文件和輸出信號波形,從中便可以觀察到各個節(jié)點(diǎn)的信號變化。若發(fā)現(xiàn)錯誤, 則返回設(shè)計輸入中修改設(shè)計邏輯。自動售貨機(jī)控制模塊仿真波形如圖 3 所示。圖 3 時序仿真波形3) FPGA實現(xiàn):將編譯階段生成的編程數(shù)據(jù)文件通過 Quartus II 下載到芯片EPF10K10LC84-4中,并在電子設(shè)計自動化實驗系統(tǒng)中進(jìn)行測試得到了正確的結(jié)果。- 9 -基于 EDA的自動售貨機(jī)的控制系統(tǒng)1 EDA 技術(shù)簡介EDA( ElectronicDesign Automation ),即電子設(shè)計自動化,是指利用計算機(jī)完成電子系統(tǒng)的設(shè)計。 EDA技術(shù)是以計算機(jī)和微電子技術(shù)為先導(dǎo)的,匯集了計算機(jī)圖形學(xué)、拓?fù)鋵W(xué)、邏輯學(xué)、微電子工藝與結(jié)構(gòu)學(xué)和計算數(shù)學(xué)等多種計算機(jī)應(yīng)用學(xué)科最新成果的先進(jìn)技術(shù)。 EDA技術(shù)以計算機(jī)為工具,代替人完成數(shù)字系統(tǒng)的邏輯綜合、布局布線和設(shè)計仿真等工作。 設(shè)計人員只需要完成對系統(tǒng)功能的描述, 就可以由計算機(jī)軟件進(jìn)行處理,得到設(shè)計結(jié)果, 而且修改設(shè)計如同修改軟件一樣方便, 可以極大地提高設(shè)計效率 1 。1.1 EDA 技術(shù)的發(fā)展概況從 20 世紀(jì) 60 年代中期開始, 人們就不斷開發(fā)出各種計算機(jī)輔助設(shè)計工具來幫助設(shè)計人員進(jìn)行電子系統(tǒng)的設(shè)計。 電路理論和半導(dǎo)體工藝水平的提高, 對 EDA技術(shù)的發(fā)展起到了巨大的作用,使 EDA作用范圍從 PCB板設(shè)計延伸到電子線路和集成電路設(shè)計,直至整個系統(tǒng)的設(shè)計,也使 IC 芯片系統(tǒng)應(yīng)用、電路制作和整個電子生產(chǎn)過程都集成在一個環(huán)境之中。 根據(jù)電子設(shè)計技術(shù)的發(fā)展特征, EDA技術(shù)發(fā)展大致分為三個階段 2 。1.2 EDA 技術(shù)的基本特征EDA技術(shù)代表了當(dāng)今電子設(shè)計技術(shù)的最新發(fā)展方向,它的基本特征是:設(shè)計人員按照“自頂向下”的設(shè)計方法,對整個系統(tǒng)進(jìn)行方案設(shè)計和功能劃分,系統(tǒng)的關(guān)鍵電- 10 -路用一片或幾片專用集成電路(ASIC)實現(xiàn),然后采用硬件描述語言(HDL)完成系統(tǒng)行為級設(shè)計,最后通過綜合器和適配器生成最終的目標(biāo)器件3 。這樣的設(shè)計方法被稱為高層次的電子設(shè)計方法。下面介紹與EDA基本特征有關(guān)的幾個概念。1.2.1“自頂向下”的設(shè)計方法10 年前,電子設(shè)計的基本思路還是選擇標(biāo)準(zhǔn)集成電路“自底向上” (Bottom-Up)地構(gòu) 造出一個新的系統(tǒng),這樣的設(shè)計方法就如同一磚一瓦地建造金字塔,不僅效率低、成本高而且還容易出錯。1.2.2 高層次設(shè)計高層次設(shè)計提供了一種“自頂向下” (Top-Down)的全新的設(shè)計方法,這種設(shè)計方法首先從系統(tǒng)設(shè)計入手, 在頂層進(jìn)行功能方框圖的劃分和結(jié)構(gòu)設(shè)計。 在方框圖一級進(jìn)行仿真、糾錯,并用硬件描述語言對高層次的系統(tǒng)行為進(jìn)行描述, 在系統(tǒng)一級進(jìn)行驗證。然后用綜合優(yōu)化工具生成具體門電路的網(wǎng)表, 其對應(yīng)的物理實現(xiàn)級可以是印刷電路板或?qū)S眉呻娐贰?由于設(shè)計的主要仿真和調(diào)試過程是在高層次上完成的, 這不僅有利于早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計上的錯誤, 避免設(shè)計工作的浪費(fèi), 而且也減少了邏輯功能仿真的工作量,提高了設(shè)計的一次成功率。2 工作原理2. 1 任務(wù)概述自動售貨是 20 世紀(jì) 70 年代在日本、 歐美發(fā)展起來的一種全新的消費(fèi)方式, 自動售貨機(jī)又被稱為 24 小時營業(yè)的微型自助超市,它的售貨領(lǐng)域非常廣泛,是發(fā)達(dá)國家商品零售的一種主要方式。 自動售貨機(jī)作為一種先進(jìn)的消費(fèi)方式, 已經(jīng)成為城市現(xiàn)代文明發(fā)達(dá)程度的重要標(biāo)志,其新穎、時尚的購物方式, 24 小時營業(yè)的特點(diǎn)給人們生活帶來了便利, 美化了城市環(huán)境, 受到消費(fèi)者的歡迎。 但是在我國自動售貨機(jī)的普及還不及發(fā)達(dá)國家, 主要原因是我國 EDA技術(shù)的應(yīng)用水平長期落后于發(fā)達(dá)國家。 本設(shè)計要實現(xiàn)自動售貨機(jī)的基本功能,可以實現(xiàn)投幣處理、計算投幣總額、輸出商品、輸出找零的控制。- 11 -2.2 系統(tǒng)設(shè)計設(shè)計一臺自動售貨機(jī) ,要求具備貨物信息存儲 、進(jìn)程控制、硬幣處理、余額計算、自動找零、狀態(tài)顯示等功能。該系統(tǒng)能完成貨物信息存儲,進(jìn)程控制,硬幣處理,余額計算,顯示等功能。該系統(tǒng)可以管理四種貨物 ,每種的數(shù)量和單價在初始化時輸入,在存儲器中存儲。用戶可以用硬幣進(jìn)行購物,按鍵進(jìn)行選擇。系統(tǒng)根據(jù)用戶輸入的貨幣,判斷錢幣是否夠,錢幣足夠則根據(jù)顧客的要求自動售貨,錢幣不足則給出提示并退出。系統(tǒng)自動的計算出應(yīng)找錢幣余額、庫存數(shù)量并顯示。2.3 系統(tǒng)組成方框圖系統(tǒng)按功能分為:分頻模塊;控制模塊;譯碼模塊;譯碼顯示模塊。系統(tǒng)組成方框圖2.4 工作過程首先由售貨員把自動售貨機(jī)里的每種商品的數(shù)量和單價通過set 鍵和 sel 鍵置入到 RAM里。然后顧客通過sel 鍵對所需要購買的商品進(jìn)行選擇,選定以后通過 get 鍵進(jìn)行購買,再按 finish 鍵取回找?guī)牛瑫r結(jié)束此次交易。按 get 鍵時,如果投的錢數(shù)等于或則大于所購買的商品單價,則自動售貨機(jī)會給出所購買的商品;如果投的錢數(shù)不夠,自動售貨機(jī)不做響應(yīng),繼續(xù)等待顧客的下次操作。顧客的下次操作可以繼續(xù)投幣,直到錢數(shù)到達(dá)所要的商品單價進(jìn)行購買;也可以直接按 finish 鍵退幣。- 12 -3 設(shè)計方案3.1 自動售貨機(jī)VHDL程序- 文件名: AUTO.vhd。- 功能:硬幣處理,余額計算,輸出商品。- 說明:顯示的錢數(shù) coin 的 以 5 角為單位。library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity AUTO isport ( clk:in std_logic;-系統(tǒng)時鐘set,get,sel,finish: in std_logic;-設(shè)定、買、選擇、完成信號coin0,coin1: in std_logic;-5角硬幣、 1 元硬幣price,quantity :in std_logic_vector(3 downto 0); -價格、數(shù)量數(shù)據(jù)item0 , act:out std_logic_vector(3 downto 0);-顯示、開關(guān)信號y0,y1 :out std_logic_vector(6 downto 0); -錢數(shù)、商品數(shù)量顯示數(shù)據(jù)act10,act5 :out std_logic);-1元硬幣、 5 角硬幣end AUTO;architecture behav of AUTO istype ram_type is array(3 downto 0)of std_logic_vector(7 downto 0);signal ram :ram_type;-定義 RAMsignal item: std_logic_vector(1 downto 0);-商品種類signal coin: std_logic_vector(3 downto 0);-幣數(shù)計數(shù)器signal pri,qua:std_logic_vector(3 downto 0);-商品單價、數(shù)量signal clk1: std_logic;-控制系統(tǒng)的時鐘信號begincom:process(set,clk1)variable quan:std_logic_vector(3 downto 0);beginifset=1thenram(conv_integer(item)<=price&quantity;act<="0000"- 13 -把商品的單價、數(shù)量置入到RAMelsif clk1event and clk1=1 then act5<=0; act10<=0;if coin0=1 thenif coin<"1001"then coin<=coin+1; -投入 5 角硬幣, coin 自加 1else coin<="0000"end if;elsif coin1=1 thenif coin<"1001"then coin<=coin+2;-投入 1 元硬幣, coin 自加 2else coin<="0000"end if;elsif sel=1 then item<=item+1;-對商品進(jìn)行循環(huán)選擇elsif get=1 then-對商品進(jìn)行購買if qua>"0000" and coin>=pri then coin<=coin-pri;quan:=quan-1;ram(conv_integer(item)<=pri & quan;ifitem="00" then act<="1000"-購買時,自動售貨機(jī)對4 種商品的操作elsif item="01" then act<="0100"elsif item="10" then act<="0010"elsif item="11" then act<="0001"end if;end if;elsif finish=1 then-結(jié)束交易,退幣(找?guī)牛﹊f coin>“0001” then act10<=1;coin<=coin-2;-此 IF 語句完成找?guī)挪僮鱡lsif coin>"0000" then act5<=1; coin<=coin-1;else act5<=0; act10<=0;end if;elsif get=0 then act<="0000"for i in 4 to 7 looppri(i-4)<=ram (conv_integer(item)(i);-商品單價的讀取end loop;for i in 0 to 3 loopquan(i):=ram(conv_integer(item)(i);-商品數(shù)量的讀取- 14 -end loop;end if;end if;qua<=quan;end process com;m32:process(clk)-此進(jìn)程完成對 32Mhz的脈沖分頻variable q: std_logic_vector( 24 downto 0);beginif clkevent and clk=1 then q:=q+1;end if;if q="111111111111111111111111" then clk1<=1;else clk1<=0;end if;end process m32;code0:process(item)-商品指示燈譯碼begincase item iswhen "00"=>item0<="0111"when "01"=>item0<="1011"when "10"=>item0<="1101"when others=>item0<="1110"end case;end processcode1: process (coin)-錢數(shù)的 BCD到七段碼的譯碼Begincase coin iswhen "0000"=>y0<="0000001"when "0001"=>y0<="1001111"when "0010"=>y0<="0010010"when "0011"=>y0<="0000110"when "0100"=>y0<="1001100"when "0101"=>y0<="0100100"when "0110"=>y0<="0100000"when "0111"=>y0<="0001111"- 15 -when "1000"=>y0<="0000000"when "1001"=>y0<="0000100"when others=>y0<="1111111"end case;end process;code2: process (qua) - 單價的 BCD到七段碼的譯碼 Begincase qua iswhen "0000"=>y1<="0000001"when "0001"=>y1<="1001111"when "0010"=>y1<="0010010"when "0011"=>y1<="0000110"when "0100"=>y1<="1001100"when "0101"=>y1<="0100100"when "0110"=>y1<="0100000"when "0111"=>y1<="0001111"when "1000"=>y1<="0000000"when "1001"=>y1<="0000100"when others=>y1<="1111111"end case;end process;end behav;3.2 各功能部件系統(tǒng)仿真圖通過軟件仿真,得出如下仿真圖:- 16 -系統(tǒng)仿真全圖- 17 -系統(tǒng)仿真圖 -商品種類選擇部分系統(tǒng)仿真圖 -投幣部分系統(tǒng)仿真圖 -購買、找?guī)沤Y(jié)束交易部- 18 -結(jié)論這次設(shè)計完成了。再設(shè)計中遇到了種種問題,在自己查閱資料及老師的幫助下一一攻克了。在即將開設(shè) EDA專業(yè)課程時, 為了能夠更加熟練的掌握本課程,選擇了這個學(xué)年設(shè)計。在設(shè)計過程中,通過自己的動手及查閱了相關(guān)資料,初步了解了VHDL語言的編程, 并熟悉了相關(guān)軟件的使用。 本次學(xué)年設(shè)計我學(xué)到了不少新的東西, 也發(fā)現(xiàn)了大量的問題, 有些在設(shè)計過程中已經(jīng)解決, 有些還有待今后慢慢學(xué)習(xí)。 學(xué)習(xí)中會有更多的問題,有更多的難點(diǎn),但也會有更多的收獲。 這次設(shè)計不僅提高了動手能力,更培養(yǎng)了自學(xué) ,獨(dú)立思考和處理問題的能力。 為以后的學(xué)習(xí)和工作提供了幫助。 由于我的水平有限, 學(xué)年設(shè)計還并不十分完善, 論文還有許多疏漏, 懇請各位老師批評指正。- 19 -參考文獻(xiàn)1 鄭燕 . 基于 VHDL語言與 Quartus 軟件的可編程邏輯器件應(yīng)用與開發(fā).2007.2 楊曉慧 . 基于 FPGA的 EDA/SOPC技術(shù)與 VHDL.2007.3 張霞 VHDL在現(xiàn)代 EDA中的應(yīng)用 2001.4 潘松、黃繼業(yè) EDA技術(shù)實用教程 20025 李志方 EDA技術(shù)簡介 .2001 - 20 -

注意事項

本文(EDA自動售貨機(jī)設(shè)計)為本站會員(緣***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!