投幣式郵票自動銷售控制系統(tǒng)設(shè)計_第1頁
投幣式郵票自動銷售控制系統(tǒng)設(shè)計_第2頁
投幣式郵票自動銷售控制系統(tǒng)設(shè)計_第3頁
投幣式郵票自動銷售控制系統(tǒng)設(shè)計_第4頁
投幣式郵票自動銷售控制系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第一章 設(shè)計指標1.1 設(shè)計要求.1.2 硬件環(huán)境.第二章 系統(tǒng)概述 2.1設(shè)計思想. 2.2可行性論證. 2.3各功能的組成 2.4總體工作過程第三章 單元電路設(shè)計與分析 3.1各單元電路的選擇 3.2設(shè)計及工作原理分析第四章 電路的組構(gòu)與調(diào)試 4.1 遇到的主要問題. 4.2 現(xiàn)象記錄及原因分析. 4.3 解決措施及效果 4.4 功能的測試方法、步驟、設(shè)備、記錄的數(shù)據(jù)第五章 結(jié)束語 5.1對設(shè)計題目的結(jié)論性意見及進一步改進的意向說明. 5.2 總結(jié)設(shè)計的收獲與體會. 附圖(電路總圖)參考文獻第1章 設(shè)計指標 1.1 設(shè)計要求(1)系統(tǒng)允許投入0.5元和一元2種硬幣,售出面值2元的郵票。 (

2、2)當(dāng)硬幣投入后,系統(tǒng)用七段LED數(shù)碼管顯示已投入的累計幣值。(3)當(dāng)投幣累計等于2元是,輸出郵票;大于2元時,輸出郵票并找零。 (4)輸出信號有效電平維持3秒時間,輸出信號無效后回到初始狀態(tài)(累計幣值為0),輸出信號期間不能再投幣。 (5)輸出信號有效時蜂鳴器以0.5秒鳴響,0.5秒間隔的方式發(fā)出提示音,輸出郵票是蜂鳴器的鳴響頻率為1KHz,輸出郵票并找零時蜂鳴器的鳴響頻率為2KHz。 (6)為保證系統(tǒng)上電時處于初始狀態(tài),設(shè)置一個狀態(tài)復(fù)位鍵。 1.2.硬件環(huán)境控制系統(tǒng)以FPGA實現(xiàn),用兩個脈沖按鍵分別模擬投入0.5元和1元兩種硬幣,用兩個發(fā)光二極管分別指示輸出郵票和找零。累計幣值用兩個七段L

3、ED數(shù)碼管顯示,顯示方式由所使用的FPGA開發(fā)裝置電路結(jié)構(gòu)決定。 第二章 系統(tǒng)概述 2.1設(shè)計思想投幣式自動售貨機的主要功能是累計投入的幣值并作出判斷,所以要求電路具有記憶功能,數(shù)字電路中的時序邏輯單元電路能夠運用電路“狀態(tài)”記憶輸入信號的變化歷程,因此本設(shè)計的基本思路是由觸發(fā)器構(gòu)成的時序“狀態(tài)機”。存儲電路可采用D觸發(fā)器或JK觸發(fā)器實現(xiàn);組合電路可選擇邏輯門、數(shù)據(jù)選擇器或存儲器(ROM)實現(xiàn)系統(tǒng)需要記憶的累計幣值最多可能有6種情況,因此狀態(tài)數(shù)可能達到6個。投幣式自動銷售機可以采用輸出受輸入信號和電路狀態(tài)同時控制的米利型時序電路實現(xiàn),也可以采用輸入信號僅控制電路狀態(tài)轉(zhuǎn)換,而輸出由狀態(tài)控制的莫爾

4、型時序電路實現(xiàn)。前者所需的狀態(tài)數(shù)少,后者的輸出信號與系統(tǒng)觸發(fā)時鐘同步。 2.2可行性論證 本實驗的狀態(tài)機的激勵控制方式有多種方案。 方案一:邏輯門實現(xiàn) 根據(jù)組合邏輯模塊的輸入、輸出的邏輯關(guān)系列出真值表,寫出各輸出函數(shù)表 達式并化簡,如果有邏輯門類型的限制則根據(jù)要求變換邏輯關(guān)系,然后由邏輯函數(shù)式畫出邏輯圖。 實現(xiàn)電路如下: 方案二:數(shù)據(jù)選擇器方式 方案三:只讀存儲器方式 存儲電路采用存儲器(ROM)實現(xiàn) 就是本實驗所用的方法。本方案使電路大大簡化,對初學(xué)者非常實用. 下面有詳細的說明。 2.3各功能的組成系統(tǒng)電路根據(jù)控制功能可分為:狀態(tài)與狀態(tài)碼確定、輸入信號處理、定時電路、狀態(tài)機的組合邏輯、累計

5、幣值顯示電路。1、 各模塊的主要功能:(1) 狀態(tài)機采用米利型時序電路,四種幣值累計需要四個狀態(tài)記憶。設(shè)定狀態(tài)A為廚師狀態(tài)幣值累計為0元;狀態(tài)B表示投入幣值累計0.5元;狀態(tài)C表示已累計1元;狀態(tài)D表示已累計1.5元;輸入0.5元,輸出郵票,投入1元,輸出郵票并找零投入1 元,輸出郵票投入1 元 A B C D無幣投入投入0.5 元無幣投入投入0.5 元投入0.5 元無幣投入無幣投入(2)輸入信號處理,本設(shè)計采用兩個按鍵分別模擬兩種不同幣值的硬幣,產(chǎn)生兩路開關(guān)量脈沖信號。選擇合適的邏輯門可將兩路脈沖綜合為一路,采用數(shù)字單穩(wěn)態(tài)電路對信號進行同步化處理,既能消除按鍵抖動,又可將綜合后的投幣信號M歸

6、化為寬度是一個CP脈沖周期的狀態(tài)觸發(fā)信號Y。(3)定時電路,采用定時計數(shù)器產(chǎn)生,系統(tǒng)進入狀態(tài)E或F時允許循環(huán)周期為3秒的定時計數(shù)器開始計時,當(dāng)定時時間到時計數(shù)器產(chǎn)生溢出信號Co觸發(fā)狀態(tài)轉(zhuǎn)換。(4)狀態(tài)機的組合邏輯部分,可以采用只讀存儲器ROM實現(xiàn),根據(jù)狀態(tài)編碼,可列出系統(tǒng)的狀態(tài)轉(zhuǎn)移表。根據(jù)狀態(tài)轉(zhuǎn)移表以及ROM的輸入,輸出連接關(guān)系可建立ROM的數(shù)據(jù)存儲器表。 A3 A2 A1 A0 16*4 ROM q3 q2 q1 q0 D1 Q1 D0 Q0X1X2CPZ2Z1 2.4總體工作過程 參考設(shè)計原理框圖如下: 第三章 單元電路設(shè)計與分析 3.1各單元電路的選擇 (1)、信號處理電路 如圖所示的數(shù)

7、字單穩(wěn)態(tài)觸發(fā)電路可以實現(xiàn)對信號寬度的整形功能。輸入信號x1 , x2為高電平后的第一個CP的上升沿時out1和out2回到低電平。所以當(dāng)x1,x2的正脈沖寬度大于一個CP周期時,out1,out2輸出的是一個與CP同步,寬度恒定為1個CP周期(與x1,x2寬度無關(guān))的正脈沖。 另外本電路還加了一個清零端E,能實現(xiàn)定時3s的功能。(2) 、定時控制電路仿真結(jié)果:采用同步置數(shù)法。置數(shù)法是通過控制同步置數(shù)端LD和預(yù)置輸入端DCBA來實現(xiàn)模M計數(shù)器。由于置數(shù)狀態(tài)可在N個狀態(tài)中任選,因此實現(xiàn)的方案很多。我選擇了同步置0法(使用前M個狀態(tài)計數(shù))來實現(xiàn)輸出3S的信號。選用S0,S1,S2,S3共4個狀態(tài)計數(shù)

8、,計到S3狀態(tài)時使LD=0,等下一個CP來到時置0,即返回S0狀態(tài)。雖是模4的計數(shù)器,但當(dāng)S3到達時3S引腳就會立即輸出一個低電平信號,實現(xiàn)到達3s時停止計數(shù),當(dāng)然,定時3S還要靠時能端P. T 配合控制的。(3) 狀態(tài)機電路觸發(fā)器的每個激勵和電路的每個輸出都由存儲器的一位數(shù)據(jù)輸出控制端控制,存儲器的地址由電路的輸入X和狀態(tài)機的狀態(tài)變量Q控制。所以,若用只讀存儲器ROM實現(xiàn)組合邏輯模塊,存儲器的地址碼位數(shù)是i+n,輸出數(shù)據(jù)位數(shù)是j+m,存儲容量是(j+m)*(i+n)。存儲器中每個單元的存儲內(nèi)容是對應(yīng)電路輸入和狀態(tài)機現(xiàn)態(tài)某個組合時的次態(tài)和輸入邏輯值,所以,存儲器中存儲的信息就是邏輯狀態(tài)表。若用

9、ROM實現(xiàn)米利型狀態(tài)機的組合邏輯關(guān)系,ROM的容量為16*4,地址碼和數(shù)據(jù)各為4位。如果以電路輸入X2X1和觸發(fā)器Q1Q0控制ROM的地址A3A0,ROM的數(shù)據(jù)輸出q3q0控制電路輸出Z2Z1和觸發(fā)器激勵D1D0,根據(jù)狀態(tài)轉(zhuǎn)移表可列ROM的存儲數(shù)據(jù)表如下圖:狀態(tài)機電路如上圖。由于ROM的地址受輸入信號控制,當(dāng)輸入改變時ROM的輸出必須馬上作出響應(yīng),以使狀態(tài)機的觸發(fā)脈沖有效時正確的激勵信號已建立,所以在建立ROM器件時可以不設(shè)置端口控制時鐘。如果器件型號限定始終必選,則時鐘頻率應(yīng)遠高于狀態(tài)機的觸發(fā)時鐘頻率,使ROM的輸出延時可以忽略,呈組合邏輯特性。本電路加入了一個清零端,能手動清零復(fù)位。 (4

10、)、顯示譯碼動態(tài)掃描控制和累計幣值顯示電路subdesign yimaqi (data_in3.0 :input;a,b,c,d,e,f,g :output;)begintabledata_in3.0 =>a,b,c,d,e,f,g; b"0000" =>1,1,1,1,1,1,0; b"0001" =>0,1,1,0,0,0,0; b"0010" =>1,1,0,1,1,0,1; b"0011" =>1,1,1,1,0,0,1; b"0100" =>0,1,

11、1,0,0,1,1; b"0101" =>1,0,1,1,0,1,1; b"0110" =>1,0,1,1,1,1,1; b"0111" =>1,1,1,0,0,0,0; b"1000" =>1,1,1,1,1,1,1; b"1001" =>1,1,1,1,0,1,1; b"1010" =>1,1,1,0,1,1,1; b"1011" =>1,0,0,1,1,1,0; b"1100" =>

12、0,0,0,1,1,1,0; b"1101" =>1,1,0,0,1,1,1; b"1110" =>0,1,1,1,0,1,1; b"1111" =>0,0,0,0,0,0,0; end table; end; 根據(jù)動態(tài)掃描顯示電路設(shè)計改編,由于第一位的數(shù)碼管只需要顯示0和1這兩個數(shù)字,所以輸入端A1只需要0000和0001兩種狀態(tài);第二個數(shù)碼管只需要顯示0和5這兩個數(shù)字,所以輸入端A2只需要0000和0101兩個狀態(tài);第三,四位數(shù)碼管需全滅,所以保持全1狀態(tài)即可。(5) 、分頻電路首先設(shè)計一個分頻器,采用7490構(gòu)

13、成5421BCD碼十進制計數(shù)器實現(xiàn)十分頻電路,將FPGA開發(fā)裝置上的基準時鐘OSC分成10MHZ1MHZ及2KZ共9個脈沖信號。(6) 輸出控制Z1表示輸出郵票,Z2表示輸出郵票又找零。當(dāng)Z1=1,Z2=0時,選擇C1輸出,即輸出1KHZ信號;當(dāng)Z1=0,Z2=1時,選擇C3輸出,即輸出2KHZ信號。當(dāng)然蜂鳴器由本電路的OUT端和1hz脈沖共同控制,這樣能實現(xiàn)間隔鳴叫的效果。 3.2設(shè)計及工作原理分析第4章 電路的組構(gòu)與調(diào)試4.1 遇到的主要問題 1、數(shù)碼管顯示亂碼 2、按鍵模擬投幣后數(shù)碼管顯示一段時間后又清零 3、出郵票時不能鎖住按鍵輸入。 4、按鍵不能復(fù)位 5、系統(tǒng)沒有通4.2 現(xiàn)象記錄及

14、原因分析 1、按鍵后數(shù)碼管顯示含有除了0,1,5之外的數(shù)字,并且有一定的規(guī)律,比如含有8,或9. 這是由于譯碼器編程時賦值有錯誤,屬于編程錯誤。 2、按鍵模擬投幣后數(shù)碼管顯示一段時間后又清零,比如,按0.5元的按鍵,數(shù)碼管顯示0.5過以后數(shù)碼管又變成0.0,。這是由于D觸發(fā)器的清零端連接的問題,當(dāng)按鍵后3s顯示正常,但3s后就會清零,因為我發(fā)現(xiàn)D觸發(fā)器的清零端連接到3s的輸出端了。所以3S后就會復(fù)位(變成0.0). 3、投幣到2元后就會出郵票,這個期間再按鍵數(shù)碼管還會變化,說明出郵票時沒有把輸入端鎖起來。 4、把輸入信號的D觸發(fā)器的清零端連接一個負脈沖按鍵,但按復(fù)位鍵后沒有反應(yīng),這是因為按鍵信

15、號到數(shù)碼管顯示有一定的傳輸時間,在到達數(shù)碼管顯示電路之前輸入信號已被鎖起來。 5、無論怎么按鍵,數(shù)碼管都沒有反應(yīng),系統(tǒng)沒有調(diào)通,這是因為我的ROM制作有錯誤。4.3 解決措施及效果 1、把譯碼器的編程正確修改后,數(shù)碼管顯示就正常了。按相應(yīng)的按鍵會顯示預(yù)期的結(jié)果。 2、把D觸發(fā)器的清零端連接到郵票輸出端并加一個反相器,這樣只有當(dāng)?shù)竭_2元,出郵票時才會清零。 3、在輸入信號處理的D清零端引出一個使能端,經(jīng)過反相器連接到郵票的輸出端,連好后,出郵票時就可以鎖住按鍵輸入了。 4、把復(fù)位按鍵連接到ROM 后面的D觸發(fā)器的清零端,或者在3s鎖存信號的傳輸線上加一個D觸發(fā)器,并用低頻率的脈沖控制時鐘信號。

16、連好后就可以按鍵復(fù)位了。 5、找同學(xué)進行詢問學(xué)習(xí)后,掌握了制作ROM的正確方法,重新制作好后,系統(tǒng)就通了。4.4 功能的測試方法、步驟、設(shè)備、記錄的數(shù)據(jù) 1、測試方法:直接通過按鍵,觀察數(shù)碼管顯示是否正確,LED顯示是否正常,蜂鳴器鳴叫是否正確。 2、步驟: (1) 按下X1(0.5元)鍵顯示正常后再按復(fù)位鍵看是否能復(fù)位(數(shù)碼管變成0.0),能復(fù)位進入第二步。 (2)按下X1連續(xù)4次,正常的話應(yīng)該是:L1(LED)亮,蜂鳴器以1KHZ的頻率間隔鳴叫,并且持續(xù)3S,在這3S內(nèi),按X1或X2鍵系統(tǒng)都沒有變化,如滿足上述陳述,說明正常,進入第三步。 (3)按下X2連續(xù)2次,觀察和步驟二的一樣的現(xiàn)象。

17、如果正常,進入第四步進行測試。 (4)隨機按下X1或X2直到出現(xiàn)上述現(xiàn)象為止,觀察是否滿足要求。3、 設(shè)備:按鍵,LED,數(shù)碼管,蜂鳴器。4、 記錄數(shù)據(jù):無第5章 結(jié)束語 5.1對設(shè)計題目的結(jié)論性意見及進一步改進的意向說明 此設(shè)計已初步實現(xiàn)了自動販賣郵票的系統(tǒng)的設(shè)計,本設(shè)計較貼近生活。用按鍵模擬投幣的過程使設(shè)計進行了簡化,實際運用時加上投幣識別模塊,并再進行適當(dāng)?shù)膬?yōu)化,便可以方便人們的生活。 當(dāng)然,本電路的設(shè)計還有待進一步的優(yōu)化。 5.2 總結(jié)設(shè)計的收獲與體會 通過本次設(shè)計,進一步的了解了數(shù)字電路設(shè)計的整個過程。從首先分析設(shè)計需求到確定整個時序,進行單元模塊設(shè)計進一步分模塊設(shè)計,從軟件仿真找出錯誤到程序下載,再進行硬件調(diào)試。這整個過程都需要設(shè)計人員對于硬件設(shè)備,軟件設(shè)備以及設(shè)計需求相當(dāng)熟悉。在此次設(shè)計中,遇到了很多困難,對于FPGA硬件不熟悉,整個軟件環(huán)境又十分陌生,通過老師講解以及自己仔細翻閱資料,與同學(xué)相互討論才使此次設(shè)計最終能比較圓滿的完成。根據(jù)此次設(shè)計,作為設(shè)計者也能體驗到,任何一個設(shè)計都是從無到有,從軟件仿真中有許多errors和warnings最終才一一解決??梢圆浑y發(fā)現(xiàn),清楚設(shè)計思路以及排查各個模塊與整個模塊的銜

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論