版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、大連海事大學畢 業(yè) 論 文裝訂線二一四年六月基于FPGA的自動售貨機控制器設計 專業(yè)班級: 電子信息工程3班 姓 名: 林 慧 指導老師: 嚴 飛 信息科學技術學院摘 要隨著科學技術的迅猛發(fā)展、人們生活水平的逐日提高,自動售貨機作為自動化商業(yè)機械的代表被廣泛用于公共場所自動售貨,給人們的生活帶來了極大的方便。本文介紹的是基于FPGA的自動售貨機控制器的軟件設計,此自動售貨機控制器包含八個大模塊:購物模塊,定價模塊,投幣模塊,比價模塊,計時模塊,復位模塊,購物顯示模塊以及數碼管顯示模塊。投入錢幣并通過鍵盤選擇后再經比價處理模塊,將對應的出貨找零信息通過LED燈和數碼管顯示模塊反映。本設計借助于V
2、HDL語言來編程實現八個模塊的基本功能,在Quartus II軟件中實現模塊的設計、編譯、綜合、優(yōu)化、仿真直至生成器件之后下載到 FPGA目標芯片上。在ZY11EDA13BE實驗系統(tǒng)中完成自動售貨機的功能實現,通過開關、鍵盤等完成購物請求、投幣等操作,通過數碼管及指示燈顯示系統(tǒng)運行結果,從而可以更清晰地觀察到自動售貨機的運行情況。關鍵詞:自動售貨機控制器;EDA;FPGA;QuartusII;VHDLIABSTRACTWith the rapid development of science and technology as well as peoples living standards
3、rise day by day. As a representative of commercial machinery automation vending ,the vending machine business is widely used in public places ,has bought great convenience to peoples lives. This paper describes the software design and hardware design based on FPGA vending machine controller, the ven
4、ding machine controller module consists mainly of eight modules: shopping module, price module, coin module, timing module, price comparison module, reset module, shopping display module and digital display module. After parity processing module for selected commodity prices and the amount of invest
5、ment comparison, the corresponding change information delivery through LED lights and the digital display module display.This design using VHDL hardware description language programming to describe the basic function of eight modules. Performed on the Quartus II software platform for design, compila
6、tion, integration, optimization, simulation and ultimately the resulting object files downloaded to the target FPGA chip. Completing the realization of the function of the vending machine in the ZY11EDA13BE experimental system. Coin, shopping request through the switch, keyboard and the other operat
7、ions. Through digital tube and light display system running result, which can be observed more clearly the vending machine operation.Keywords: vending machine controller; EDA; FPGA; QuartusII; VHDL 目 錄第1章 緒論11.1自動售貨機的起源11.2自動售貨機的現狀與發(fā)展11.3自動售貨機的研究方向21.4課題研究任務21.5 本章小結2第2章 開發(fā)設計基礎32.1 EDA技術簡介32.2 FPGA簡
8、介32.3 VHDL語言概述4 2.3.1 VHDL語言特點4 2.3.2 VHDL的優(yōu)勢42.4 Quartus II軟件介紹52.5 硬件介紹52.6 本章小結6第3章 自動售貨機設計方案73.1 自動售貨機整體描述7 3.1.1 自動售貨機功能要求7 3.1.2 自動售貨機系統(tǒng)總框圖7 3.1.3 自動售貨機基本流程圖83.2 購物模塊10 3.2.1 購物模塊整體描述10 3.2.2 掃描元件13 3.2.3 編譯元件13 3.2.4 數據處理元件14 3.2.5 購物數碼管譯碼元件153.3 定價模塊16 3.3.1 定價模塊整體描述16 3.3.2 定價元件17 3.3.3 價格B
9、CD譯碼元件18 3.3.4 價格數碼管譯碼元件193.4 投幣模塊19 3.4.1 投幣模塊整體描述19 3.4.2 投幣二進制譯碼元件21 3.4.3 投幣BCD譯碼元件22 3.4.4 投幣數碼管譯碼元件233.5 計時模塊24 3.5.1 計時模塊基本流程圖24 3.5.2 計時模塊生成器件24 3.5.3 計時模塊總功能描述24 3.5.4. 仿真結果253.6 比價模塊25 3.6.1 比價模塊整體描述25 3.6.2 比價元件273.7 復位模塊30 3.7.1 復位模塊生成器件30 3.7.2 復位模塊總功能描述30 3.7.3 仿真結果313.8 購物顯示模塊32 3.8.1
10、 購物顯示模塊生成器件32 3.8.2 購物顯示模塊總功能描述33 3.8.3 購物顯示模塊波形仿真333.9 數碼管顯示模塊343.10 頂層原理圖343.11 本章小結36第4章 下載調試與結果驗證374.1 下載調試374.2 輸出顯示38 4.2.1所購商品金額大于投幣金額38 4.2.2所購商品金額等于投幣金額38 4.2.3所購商品金額小于投幣金額39 4.2.4有投幣無商品選擇404.3 本章小結40第5章 總結41參 考 文 獻42致 謝43IV基于FPGA的自動售貨機控制器設計基于FPGA的自動售貨機控制器設計第1章 緒論1.1自動售貨機的起源公元前3紀元時,希臘科學家希羅為
11、教堂發(fā)放圣水,設制了一個圣水壺。任何人只要投入一枚5德拉克瑪的硬幣,壺嘴中便會吐出一定量的圣水。當時的善男信女無不為這神壺如此靈驗而目瞪口呆,認為是神靈在顯現,向它的兒女收現錢。希羅發(fā)明了這個神壺,實際上就是一架自動售貨機。日本誕生的第一臺自動售貨機是明治時期的發(fā)明家表谷高七發(fā)明的,用來銷售香煙等。該自動售貨機于1890年(明治23年)獲得了專利,但未投入實際使用。之后,表谷于1904年(明治37年)完成了郵票明信片自動售貨機,被遞信(相當于現在的郵政省)采用。該機器的外殼為木材并進行了裝飾,是將郵票銷售、明信片銷售、投信郵筒三種功能一體化的頗具特色的設備。1.2自動售貨機的現狀與發(fā)展 隨著現
12、代社會生活節(jié)奏的不斷加快,人們對現代化生活工具的依賴也日益增強,在日常生活工作、學習中,對效率的要求也愈來愈高,這也就是自動售貨機等一系列的自動裝置如今廣泛應用的原因1。20世紀80年代以來,自動售貨機在美、日等發(fā)達國家得到了迅速的普及和發(fā)展。在美國,運營商就多達10800家,并且具有與大飲料商、大食品商的合作經驗2。在日本,由于自動售貨機無所不在,二十四小時供應,所以它很受特別忙碌的人的歡迎3。在加拿大,自動售貨機有相當一部分已不采用投幣的方式,而是應用一種具有先進信息功能的紐扣式觸摸技術。在英國,國內的銀行和信用機構還專門推出一種自動售貨機卡。自動售貨機在西方發(fā)達國家及日韓等國已經發(fā)展成為
13、一個相對成熟的零售業(yè),而對于中國來說尚處于導入時期。近些年,自動售貨機在我國大中城市發(fā)展勢頭迅猛,其前景非常廣闊4。車站、碼頭、酒店賓館、大學校園、街道等地方隨處可見自動售貨機。據資料,廣州市區(qū)內擺放的1500臺囊括各種品牌的自動售貨機還不足以滿足地鐵和公交車站的需求。新開發(fā)出的無線自動售貨機除了更方便售賣貨品之外,還被視為一種傳播廣泛的廣告媒介1。隨著我國零售業(yè)態(tài)的不斷發(fā)展和2010年上海世博會的推動,我國無店鋪銷售業(yè)態(tài)的發(fā)展獲得了更好的環(huán)境和契機。特別是跨國企業(yè)的加入,進一步刺激和帶動我國自動售貨機產業(yè)的發(fā)展。1.3自動售貨機的研究方向自動售貨機的機體內部結構已經相當完善,現在,自動售貨機
14、產業(yè)正在走向信息化并進一步實現合理化。例如實行聯(lián)機方式,通過電話線路將自動售貨機內的庫存信息及時地傳送各營業(yè)點的電腦中,從而確保了商品的發(fā)送、補充以及商品選定的順利進行。并且,為防止地球暖化,自動售貨機的開發(fā)致力于能源的節(jié)省,節(jié)能型清涼飲料自動售貨機成為該行業(yè)的主流。進入21世紀時,自動售貨機也將進一步向節(jié)省資源和能源以及高功能化的方向發(fā)展。自動售貨機的最終發(fā)展目標是為人們生活帶來最大限度的便利,因此這不光是實現其最基礎的功能,更重要的是不能給工作生活帶來任何不良影響5。1.4課題研究任務本文設計的自動售貨機采用VHDL語言在Quartus II軟件平臺上進行編程、編譯、綜合優(yōu)化和仿真,最后將
15、生成器件下載到FPGA目標芯片上,在ZY11EDA13BE實驗系統(tǒng)中完成自動售貨機控制系統(tǒng)的功能實現,通過開關、鍵盤等完成購物請求和貨幣投入,通過數碼管及指示燈顯示系統(tǒng)運行結果。1.5 本章小結本章主要介紹了自動售貨機的發(fā)展歷史,發(fā)展現狀及研究方向,對自動售貨機的歷史由來、發(fā)展有基本了解。簡要說明了本次課題設計的研究任務,對之后設計有一定深度的了解。第2章 開發(fā)設計基礎2.1 EDA技術簡介EDA(Electronic Design Automation)技術與計算機、集成電路、電子系統(tǒng)設計的發(fā)展密切相關,匯集了計算機科學領域的大多數最新研究成果,以高性能的計算機作為工作平臺,開發(fā)出來的一整套
16、電子設計系統(tǒng)軟件。對特定芯片進行適配編譯,邏輯映射,編程下載等工作,最后形成集成電子系統(tǒng)或專用集成芯片6。EDA技術使得設計者僅需使用硬件描述語言和EDA軟件即只使用軟件的方式便能完成對系統(tǒng)硬件功能的設計實現,這是電子設計技術史上的一個巨大進步7。EDA技術具有以下四個特點:(1) 采用硬件描述語言進行設計,語言的標準化,更適合于描述規(guī)模大、功能復雜的數字系統(tǒng)。(2) 邏輯綜合與優(yōu)化,提高設計效率。(3) 開放性和標準化,有利于大規(guī)模、有組織的設計開發(fā)工作。(4) 更完備的庫,使EDA工具有更強大的設計能力和更高的設計效率。EDA技術與傳統(tǒng)電子設計對比在產品設計理念,設計技術,系統(tǒng)硬件構成,軟
17、件架構和知識產權等方面更具優(yōu)勢,屬于高層次的電子設計方法,因此EDA技術能得到更廣泛的應用8。2.2 FPGA簡介現場可編程門陣列(Field Programmable Gate Arrays,FPGA)是一種新型可編程使用的信號處理器件,經由使用者改變配置信息從而定義其功能。相較于傳統(tǒng)數字電路系統(tǒng),FPGA具有可編程、高速和高可靠性等優(yōu)點,過器件內部的可編程輸入/輸出端口和基本可編程邏輯單元,把電路扳機的設計嵌入至芯片中施行,優(yōu)化電路性能,本質上增強了設計的靈活性和效率9?;镜腇PGA設計流程主要涵蓋設計定義,邏輯綜合,邏輯仿真驗證,板級仿真驗證與調試等步驟10。隨著微電子技術、EDA技術
18、、以及應用系統(tǒng)需求的發(fā)展,FPGA正在逐漸成為數字系統(tǒng)開發(fā)的平臺,并將在以下方面繼續(xù)完善和提高:(1) 高集成度、大容量、低成本、低電壓、低功耗。(2) 資源多樣化。(3) 適用于片上系統(tǒng):處理器、高速串行I/O、DSP等。(4) 深亞微米工藝的使用。目前基于90nm工藝的FPGA已經商用,正向65nm挺進。(5) 各種軟硬IP庫的發(fā)展和完善。2.3 VHDL語言概述1982年,超高速集成電路硬件描述語言VHDL(Very-High-Speed Integrated Circuit Hard-Ware Description Language)最初是由美國國防部提出的硬件描述語言。VHDL在1
19、987年底被國際電氣電子工程師協(xié)會(The Institute of Electrical and Electronics Engineers, IEEE)和美國國防部確定為標準硬件描述語言11。VHDL語言通常含有以下三個部分:庫(Library),實體(Entity)定義區(qū),結構體(Architecture)定義區(qū)11。庫(Library)聲明區(qū)內存放了可供其他程序調用的經編譯的數據,實體定義,構造體定義,程序包等資源。實體(Entity)用來描述所設計芯片外觀,有I/O端口和參數的定義,是首要設計單元。相同的器件可以有不同的實現,但是只能對應一個實體12。結構體(Architecture
20、)描述所設計芯片的邏輯功能,不同描述方式僅體現在編寫程序上,其結構體構造是完全相同的。一個設計實體可能有多個結構體11。2.3.1 VHDL語言特點VHDL語言進行數字邏輯電路的設計與傳統(tǒng)電路設計方法相比具有如下的特征11。(1) 可移植性好。對同一硬件電路的語言描述,對于不同模擬器、綜合器或是工作平臺也采用相同描述。(2) 硬件描述能力強大。具有多層次的電路設計描述功能,同時支持慣性延遲和傳輸延遲,能準確建立硬件電路的模型。(3) 易于共享。將預先設計好的模塊可以放在庫中,之后的設計便可以直接調用。(4) 功能強大,設計方式多樣??捎糜陂T級、電路級甚至系統(tǒng)級的描述、仿真和設計,隨時判斷設計系
21、統(tǒng)功能的可行性。2.3.2 VHDL的優(yōu)勢(1) VHDL的行為描述能力更強,因而成為系統(tǒng)設計領域最佳的硬件描述語言。(2) 豐富的仿真語句和庫函數,使其可對設計進行仿真模擬。(3) 具有相對獨立性,設計者可不必懂硬件的結構,也不必管理最終設計實現的目標器件是什么。(4) VHDL語句的行為描述能力和程序結構決定了它具有支持大規(guī)模設計的分解和已有設計的再利用功能。2.4 Quartus II軟件介紹Altera的Quartus II可編程邏輯軟件屬于第四代PLD開發(fā)平臺。該平臺支持一個工作組環(huán)境下的設計要求,其中包括支持基于Internet的協(xié)作設計。Quartus平臺與Cadence、Exe
22、mplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供應商的開發(fā)工具相兼容。改進了軟件的LogicLock模塊設計功能,增添了FastFit編譯選項,推進了網絡編輯性能,而且提升了調試能力。Quartus II 通過和DSP Builder工具與Matlab/Simulink相結合,可以方便地實現各種DSP應用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設計、嵌入式軟件開發(fā)、可編程邏輯設計于一體,是一種綜合性的開發(fā)平臺。Quartus II原理圖輸入設計的步驟如下:(1) 建立工程項目(工程目錄、名稱和選擇合適器件)(2) 編
23、輯設計圖形文件(放置元件、連線、設定輸入輸出管腳名稱)(3) 編譯設計圖形文件(檢查電路是否有錯誤)(4) 時序仿真設計文件(得到仿真波形驗證設計結果)(5) 生成元件符號2.5 硬件介紹本實驗設計硬件部分采用ZY11EDA13BE實驗系統(tǒng)來實現,核心芯片是EPF1K30QC208-2。實驗主板布局圖如圖2.1所示。本次設計采用了實驗系統(tǒng)中的核心芯片EPF1K30QC208-2、電源模塊、數字可調信號源、開關按鍵模塊、鍵盤模塊、LED顯示模塊以及數碼管顯示模塊。圖2.1 ZY11EDA13BE實驗系統(tǒng)圖2.6 本章小結本章主要對本課題研究的自動售貨機設計過程中涉及的軟硬件平臺和工具進行介紹。了
24、解了EDA技術的作用、實現的功能特點,同時介紹了FPGA的主要功能和原理,EDA綜合工具Quartus II軟件及對編程需要使用到的VHDL語言進行了介紹,并對本設計所用的教學實驗設備ZY11EDA13BE進行了簡要介紹。第3章 自動售貨機設計方案3.1 自動售貨機整體描述3.1.1 自動售貨機功能要求本次設計的基于FPGA的自動售貨機在ZY11EDA13BE實驗系統(tǒng)中完成功能驗證,主要是使用4*4鍵盤模塊來進行自動售貨機的購物選擇,使用LED指示燈來進行出貨找零的信號顯示,使用開關按鍵來進行模擬投幣,使用數碼管來進行購物選擇、商品售價、投幣金額、找零金額的顯示,使用數字可調信號源來調節(jié)時鐘信
25、號和分頻延時信號。自動售貨機的具體功能要求如下:(1) 共銷售24種不同價位的商品。(2) 可以識別:硬幣、紙幣,投入的硬幣識別金額為1元,投入的紙幣識別金額為1元,5元,10元,20元。(3) 投入的錢幣總額數碼管實時顯示。(4) 每次只能購買一件商品。(5) 通過小鍵盤顧客可以選擇商品的編號,例如選擇24號商品,則需要在小鍵盤上先按下2,然后再按下4,最后按下確認鍵(A),進而實現商品的選擇與購買。(6) 當投入的總金額小于顧客選擇商品的售價時,自動售貨機可以繼續(xù)投幣,當投入的總金額大于或者等于顧客選擇的商品售價時,自動售貨機鎖定鍵盤和投幣,出貨,扣除商品售價,并且找零,找零金額在數碼管上
26、顯示出來。(7) 在投幣狀態(tài)下13秒內沒有任何操作,則自動進入結算狀態(tài),退回錢幣。在選擇狀態(tài)下35秒內沒有任何操作,則自動回到初始狀態(tài),鍵盤和數碼管清零。(8) 有兩個LED顯示燈,分別顯示出貨與找零兩種狀態(tài)。3.1.2 自動售貨機系統(tǒng)總框圖數碼管顯示模塊購物模塊(掃描)(按鍵輸入)(去抖)計時模塊定價模塊(賦值)投幣模塊(按鍵輸入)(去抖)復位模塊(LED)比價模塊(比價)(LED)購物顯示模塊圖3.1 自動售貨機系統(tǒng)總框圖本文所設計的自動售貨機如圖3.1所示,共有8個模塊,分別是購物模塊,定價模塊,投幣模塊,計時模塊,比價模塊,復位模塊,購物顯示模塊,數碼管顯示模塊。其中復位模塊主要對投幣
27、模塊,購物模塊,定價模塊,比價模塊進行重置清零,保證系統(tǒng)的穩(wěn)定運行,所以該模塊是整個系統(tǒng)必不可少的成分。3.1.3 自動售貨機基本流程圖自動售貨機系統(tǒng)基本流程圖如圖3.2所示。開始系統(tǒng)初始化商品價格顯示投幣售價?錢幣累加并顯示是否投幣?選擇商品?確認購買? 退幣出貨找零 結束否是是是是否否否圖3.2 自動售貨機基本流程圖系統(tǒng)初始化后先進行自檢,然后監(jiān)測是否投入錢幣。當有錢幣投入時,系統(tǒng)則自動累加投幣的總額,并在數碼管上顯示。當無錢幣投入時,若有按鍵輸入則進入商品選擇狀態(tài)。如果沒有選擇商品,則13秒后自動退幣。如果選擇了商品但是不在選擇范圍內,則購物模塊清零,重新選擇。若選擇的商品在選擇范圍內,
28、系統(tǒng)則會調出賣家定價并顯示,而后系統(tǒng)會把投幣總額與所選擇商品的單價進行比較,如果投幣總額低于商品單價時,會給一定的再投幣時間。如果投幣總額不低于商品單價時,則系統(tǒng)進入結算狀態(tài)。如果選擇商品沒有按下確認鍵則13秒后自動退幣,如果已經選擇了商品并按下確認鍵,則系統(tǒng)進行相應的出貨找零。本文所設計的自動售貨機有8個模塊,分別是購物模塊,定價模塊,投幣模塊,計時模塊,比價模塊,復位模塊,購物顯示模塊,數碼管顯示模塊。下面分別介紹各個模塊。3.2 購物模塊購物模塊是消費者使用鍵盤進行商品選擇消費的模塊。通過4*4矩陣鍵盤輸入選擇商品號數,再按下確認鍵(A),即可實現商品的選擇。因為本設計能銷售0124號商
29、品,所以選擇兩個數碼管進行顯示。通常矩陣式鍵盤都是單片機控制,本模塊提供的鍵盤模塊完全用CPLD/FPGA控制,I/O分布原理圖如圖3.3所示:圖3.3 I/O分布原理圖3.2.1 購物模塊整體描述3.2.1.1 購物模塊基本流程圖購物模塊基本流程圖如圖3.4所示。開始系統(tǒng)初始化是否重置?使能有效?鍵盤掃描找到閉合鍵?去抖動計算鍵值閉合鍵釋放?是否確認?是否結束輸出信號是是是是否否否否圖3.4 購物模塊基本流程圖3.2.1.2 購物模塊生成器件圖3.5 購物模塊基本流程圖購物模塊生成器件圖如圖3.5所示。輸入信號: (1)start1:購物重置信號 (2)enin1:購物使能信號(3)clk1
30、:時鐘信號 (4)kbrow1:4*4矩陣鍵盤4位列輸入信號(5)restart1:購物復位信號輸出信號:(1)shuju1:購物8位二進制累加信號 (2)jen1:購物計時觸發(fā)信號(3)scan1:購物數碼管掃描信號 (4)kbcol1:4*4矩陣鍵盤4位行輸出信號(5)seg71:購物數碼管顯示信號3.2.1.3 購物模塊總功能描述購物重置信號有效時,該模塊清零重置。當購物重置信號無效時,購物模塊監(jiān)控購物信號的輸入。若購物使能信號無效,則自動鎖定鍵盤,系統(tǒng)無法接受按鍵輸入信號,此模塊不工作。當購物重置信號無效、購物使能信號有效,且有時間觸發(fā)時,系統(tǒng)經由輸出鍵盤行動態(tài)掃描信號獲取按鍵的鍵值并
31、輸出鍵盤的行掃描信號。當有按鍵按下時,掃描到所選的列信號,把列信號與狀態(tài)信號進行比對,最終確定鍵盤的行掃描信號,確定按鍵的鍵值。若檢測到已按下確認按鍵(A),先判斷按下鍵值是否符合設定,若檢測值大于24,即超過設計的限定范圍,該模塊將輸出“00111111”給購物數碼管顯示信號和相對應的購物數碼管掃描信號,同時購物計時使能信號會輸出給計時模塊,此時購物數碼管清零,顧客可以重新輸入。若檢測值不大于24,則把鍵值編譯成BCD碼再經譯碼后輸出給數碼管,同時把對應的數碼管掃描信號輸出給數碼管,將購物8位二進制累加信號輸出給價格模塊,把購物計時使能信號輸出給計時模塊。如果沒有按下確認按鍵(A),則只把鍵
32、值編譯成BCD碼通過譯碼后輸出給數碼管,同時把相應的購物數碼管掃描信號輸出給數碼管,不把鍵盤8位二進制累加信號輸出給定價模塊。為了解決顧客在購物選擇過程中可能會按下錯誤數字的問題,特別設定一個購物復位信號,當購物復位信號有效時,對應數碼管清零,顧客可以重新選擇。另外,此模塊內帶有的按鍵消抖的功能可以提高鍵值鍵入的準確性。3.2.1.4 購物模塊組成元件購物模塊是由掃描元件,編譯元件,數據處理元件,購物數碼管譯碼元件這四個元件組成。接下來分塊介紹各元件。3.2.2 掃描元件3.2.2.1 功能描述掃描元件的作用是將輸出相對應的4*4矩陣鍵盤4位行輸出信號給4*4矩陣鍵盤。3.2.2.2 主要信號
33、輸入信號:(1)clk:時鐘信號 (2)kbrow:4*4矩陣鍵盤4位列輸入信號輸出信號:(1)en:使能信號 (2)state:購物狀態(tài)信號(3)kbcol:4*4矩陣鍵盤4位行輸出信號3.2.2.3 仿真結果圖3.6 掃描元件波形仿真圖掃描元件波形仿真圖如圖3.6所示。當kbrow為“1000”(相當于按鍵按下不松開),en的輸出信號為“0”, kbcol為“0001”, state為“00”。仿真波形符合設計要求。3.2.3 編譯元件3.2.3.1 功能描述編譯元件的作用是把4*4矩陣鍵盤4位列輸入信號通過與4*4矩陣鍵盤4位行輸出信號的對應編譯成相應的4位二進制碼。3.2.3.2 元件
34、主要信號輸入信號:(1)clk:時鐘信號 (2)brow:4*4矩陣鍵盤4位列輸入信號(3)tate:購物狀態(tài)信號輸出信號:at:購物數碼管顯示信號3.2.3.3 仿真結果圖3.7 編譯元件波形仿真圖編譯元件波形仿真圖如圖4.4所示。kbrow為“0001”, state為“10”,即kbcol為“0100”,所以得到at為“01111111”,即等于7。仿真波形符合設計要求。3.2.4 數據處理元件3.2.4.1 功能描述數據處理元件的作用是先對按鍵進行消抖,而后接受編譯元件的4位二進制碼,進行二進制相加后得到購物8位二進制信號后逐位輸出滿足限定的4位BCD碼數據,購物8位二進制信號及購物數
35、碼管掃描信號。3.2.4.2 元件主要信號輸入信號:(1)clk:時鐘信號 (2)n:使能信號(3)enin:購物使能信號 (4)da: 4位二進制譯碼(5)start:購物重置信號輸出信號:(1)data: BCD碼 (2)shuju:購物8位二進制累加信號(3)scan:時掃描信號 (4)jen:購物計時觸發(fā)信號3.2.4.3 仿真結果圖3.8 數據處理元件波形仿真圖數據處理元件波形仿真圖如圖3.8所示。da輸入“0001”,進行移位數碼管輸出, data輸出“0000”時,scan對應為“111”; data輸出“0001” 時,scan對應為“110”,因為clk設定的不精確,仿真存在
36、一定誤差。由于存在消抖延時,所以在延時結束時,jen有效。仿真波形基本符合程序設計要求。3.2.5 購物數碼管譯碼元件3.2.5.1 功能描述購物數碼管譯碼元件的作用是把數據處理元件生成的4位BCD碼編譯成適合數碼管顯示的購物數碼管顯示信號,且輸出相對應的購物數碼管掃描信號。本文所設計的自動售貨機要求這兩個數碼管要能顯示09這9個數字。3.2.5.2 元件主要信號輸入信號: data: BCD碼輸出信號: seg7:數碼管顯示信號3.2.5.3 仿真結果圖3.9 購物數碼管譯碼元件波形仿真圖購物數碼管譯碼元件波形仿真圖如圖3.9所示。data輸入為“0000”時,購物數碼管譯碼元件把該信號編譯
37、成seg7為“00111111”,在數碼管上顯示為“0”,仿真波形符合程序設計要求。3.3 定價模塊定價模塊是將商家事先給貨物定價調出的模塊。當顧客在鍵盤上輸入符合限定范圍內的商品號數時,購物模塊將購物8位二進制累加信號輸出給定價模塊。定價模塊將對應的商品價格輸出,并通過數碼管顯示。3.3.1 定價模塊整體描述3.3.1.1 定價模塊基本流程圖定價模塊基本流程圖如圖3.10所示。開始初始設置是否重置?始能有效?商品售價顯示輸出信號結束是否否是圖3.10 定價模塊基本流程圖3.3.1.2 定價模塊生成器件圖3.11定價模塊生成器件圖定價模塊生成器件圖如圖3.11所示。輸入信號: (1)en1:價
38、格使能信號 (2)start1:價格重置信號(3)xuanze1:選擇商品信號 (4)clk1:時鐘信號輸出信號:(1)seg71:價格數碼管顯示信號 (2)scan1:價格數碼管掃描信號(3)jiawei1:價格8位二進制信號 (4)ren1:價格計時觸發(fā)信號3.3.1.3 定價模塊總功能描述當價格重置信號有效時,定價模塊重置清零。當價格重置信號無效時,定價模塊監(jiān)控商品選擇信號的輸入。當價格使能信號無效時,商品信號無法被接收,此模塊不工作。當價格重置信號無效且價格使能信號有效,并有時鐘觸發(fā)時,系統(tǒng)讀取選擇商品信號,并給其賦原先定價,即價格8位二進制信號輸出給比價模塊,價格計時觸發(fā)信號輸出給計
39、時模塊。同時將價格8位二進制信號進行BCD碼的編譯,先將價格8位二進制信號轉換成十進制信號,而后對該十進制信號進行10的取模,得到該十進制信號的十位數。對十進制信號進行10的取余則能得到該十進制信號的個位數,最后把得到的十位數和個位數分別轉換成4位二進制碼,得到對應的BCD碼后把價格數碼管掃描信號和價格數碼管顯示信號輸出給購物顯示模塊。表3.1為本次設計設定的商品售價。賣家可通過改變程序代碼改變定價。表3. 1 商品價格商品號D2零售價/元D0商品號f零售價/元商品號f零售價/元0101009151717020111006180603010110101901304011120122001705
40、1101311521115061211412022123071301512123130081411602824083.3.1.4 定價模塊組成元件定價模塊主要是由3個元件組成的,分別是定價元件,價格BCD譯碼元件,價格數碼管譯碼元件。接下來分塊介紹各元件。3.3.2 定價元件3.3.2.1 功能描述定價元件的作用是把不同選擇的8位二進制信號賦予具體數額的8位二進制信號,并把這些8位二進制信號傳遞給價格BCD譯碼元件。3.3.2.2 主要信號輸入信號:(1)clk:時鐘信號 (2)xuanze:選擇商品信號輸出信號: price:價格8位二進制信號3.3.2.3 仿真結果圖3.12 定價元件波形
41、仿真圖定價元件波形仿真圖如圖3.12所示。當xuanze為“00000110”(即選擇6號商品)且有時鐘觸發(fā)時,price為“00000010”(即2元),在數碼管上顯示為“02”。仿真波形符合程序設計要求。3.3.3 價格BCD譯碼元件3.3.3.1 功能描述價格賦值元件的作用是把定價元件傳遞來的具體數額的8位二進制金額信號傳輸給比價模塊,同時編譯其所對應的BCD碼,并把該BCD碼傳遞給價格數碼管譯碼元件。3.3.3.2 主要信號輸入信號:(1)en:使能信號 (2)clk:時鐘信號(3)start:重置信號 (4)da:8位二進制信號輸出信號:(1)jiawei:價格8位二進制信號 (2)
42、scan:數碼管掃描信號(3)data:BCD碼3.3.3.3 仿真結果圖3.13 價格BCD譯碼元件波形仿真圖價格BCD譯碼元件波形仿真圖如圖3.13所示。da輸入“00000010”,進行移位數碼管輸出, data輸出“0000”時,scan對應為“101”; data輸出“0010” 時,scan對應為“100”,因為clk設定的不精確,仿真存在一定誤差。仿真波形基本符合程序設計要求。3.3.4 價格數碼管譯碼元件3.3.4.1 功能描述價格數碼管譯碼元件的作用是把價格BCD譯碼元件傳遞來的BCD碼進行編譯,使之適合在數碼管顯示,同時輸出相對應的數碼管掃描信號,從而配合在數碼管上顯示相關
43、的數據。3.3.4.2 主要信號輸入信號: data: BCD碼輸出信號: seg7:數碼管顯示信號3.3.4.3 仿真結果圖3.14 價格數碼管元件波形仿真圖價格數碼管譯碼元件波形仿真圖如圖3.14。data為“0001”時,元件將其編譯為“00000110”,輸出seg7,數碼管上顯示數字“1”,仿真波形符合設計要求。3.4 投幣模塊投幣模塊是消費者將錢幣投入自動售貨機的模塊。不同位置的開關按鍵觸發(fā)相當于不同價位金額的投幣操作,投入的硬幣識別金額為1元,投入的紙幣識別金額為1元,5元,10元,20元,一共有5個開關。本次設計中設定商品的最高售價只有兩位,因此用兩個數碼管對投幣金額進行顯示。
44、3.4.1 投幣模塊整體描述3.4.1.1 投幣模塊基本流程圖投幣模塊基本流程圖如圖3.15所示。開始系統(tǒng)初始化是否重置?使能有效?輸出信號投幣開關再觸發(fā)?編譯累加紙幣二十元去抖動硬幣一元紙幣一元紙幣十元投幣開關觸發(fā)?結束紙幣五元否是是是是否否否圖3.15 投幣模塊基本流程圖3.4.1.2 投幣模塊生成器件圖3.16 投幣模塊生成器件圖投幣模塊生成器件圖如圖3.16所示。輸入信號: (1)start1:投幣重置信號 (2)clk1:時鐘信號(3)en1:投幣使能信號 (4)restart1:投幣復位信號(5)a1,b1,c1,d1,e1:5個開關信號(依次代表硬幣一元,紙幣一元、五元、十元、二
45、十元)輸出信號:(1)ten1:投幣計時觸發(fā)信號 (2)seg71:投幣數碼管顯示信號(3)shuju1:投幣8位二進制累加信號 (4)scan1:投幣數碼管掃描信號(5)led1:退幣指示信號3.4.1.3 投幣模塊總功能描述當投幣重置信號有效時,投幣模塊清零重置。當投幣重置信號無效時,投幣模塊監(jiān)測是否有開關信號的輸入。若投幣使能信號無效,此模塊不工作。當投幣重置信號無效且投幣使能信號有效時,若同時存在時鐘信號和開關觸發(fā),就把開關信號進行分析,將得到的二進制信號進行累加。先將累加得到的投幣8位二進制累加信號轉換成十進制信號,然后對該十進制信號進行10的取模,得到該十進制信號的十位數,對該十進
46、制信號進行10的取余,得到該十進制信號的個位數,最后把得到的十位數和個位數分別轉換成4位二進制碼,得到對應的BCD碼,再把對應的BCD碼通過譯碼得到投幣數碼管顯示信號和投幣數碼管掃描信號輸出給數碼管,并將累加后的投幣8位二進制累加信號傳輸給比價模塊,把投幣計時觸發(fā)信號輸出給計時模塊。為了解決顧客在投幣過程中可能會突然不想繼續(xù)購買的問題,特別設定一個投幣復位信號,當投幣復位信號有效時,對應數碼管清零,退幣信號燈亮,將所投入錢幣全部退還。另外,此模塊內帶有的消抖的功能可以提高數據的準確性。3.4.1.4 投幣模塊組成元件投幣模塊主要是由3個元件組成的,分別是投幣二進制譯碼元件,投幣BCD譯碼元件,
47、數碼管譯碼元件。接下來分塊介紹各元件。3.4.2 投幣二進制譯碼元件3.4.2.1 功能描述投幣二進制譯碼元件的作用是將表示不同金額的二進制開關信號編譯成有具體數額的8位二進制信號,并將其傳遞給投幣BCD譯碼元件。3.4.2.2 主要信號輸入信號:(1)clk:時鐘信號 (2)a2,b2,c2,d2,e2:5個開關信號(依次代表硬幣一元,紙幣一元、五元、十元、二十元)輸出信號: sum:8位二進制信號3.4.2.3 仿真結果圖3.17 投幣二進制譯碼元件波形仿真圖投幣二進制譯碼元件波形仿真圖如圖3.17所示。當a2有效當a2有效且其他開關沒有觸發(fā),編譯后sum為“00000001”,波形仿真符
48、合程序要求。3.4.3 投幣BCD譯碼元件3.4.3.1 功能描述投幣BCD譯碼元件的作用是將投幣二進制譯碼元件傳遞來的8位二進制金額信號進行累加,將累加后的8位二進制信號傳輸給比價模塊。同時將編譯后得到的BCD碼傳遞給投幣數碼管譯碼元件。3.4.3.2 主要信號輸入信號:(1)clk:時鐘信號 (2)a,b,c,d,e:5個開關按鍵信號(3)en:投幣按鍵使能信號 (4)start:投幣重置信號(5)da:8位二進制信號 (6)restart:投幣復位信號輸出信號:(1)data:BCD碼 (2)ten:投幣計時觸發(fā)信號(3)scan:投幣數碼管掃描信號 (4)shuju:投幣8位二進制累加
49、信3.4.3.3 仿真結果圖3.18 投幣BCD譯碼元件波形仿真圖投幣BCD譯碼元件波形仿真圖如圖3.18所示。由于存在消抖作用,所以該元件無法仿真出波形。3.4.4投幣數碼管譯碼元件3.4.4.1 功能描述投幣數碼管譯碼元件的作用是把投幣BCD譯碼元件傳遞來的BCD碼進行編譯,輸出對應的數碼管掃描信號,在相對應的數碼管上顯示投幣金額。3.4.4.2 主要信號輸入信號: data: BCD碼輸出信號: seg7:數碼管顯示信號3.4.4.3 仿真結果圖3.19 投幣數碼管譯碼元件波形仿真圖投幣數碼管譯碼元件波形仿真圖如圖3.19。data為“0001”時,元件將其編譯為seg7,即 “0000
50、0110”,在數碼管上顯示數字“1”,仿真波形符合設計要求。3.5 計時模塊計時模塊的主要作用是計時并判斷是否輸出超時信號。3.5.1 計時模塊基本流程圖計時模塊基本流程圖如圖3.20所示。開始系統(tǒng)初始化是否觸發(fā)?計時是否超時?輸出超時信號否結束是是否圖3.20 計時模塊基本流程圖3.5.2 計時模塊生成器件圖3.21 計時模塊生成器件圖計時模塊生成器件圖如圖3.21所示。輸入信號: (1)clk1:時鐘信號 (2)cen:計時觸發(fā)信號輸出信號: restart:超時信號3.5.3 計時模塊總功能描述當計時觸發(fā)信號無效時,此模塊不運行。當計時模塊接受的計時觸發(fā)信號有效時,在時鐘信號觸發(fā)下,開始
51、計時,本模塊的時鐘信號設置為1Hz,計時36秒,當達到36秒時,計時模塊重置清零,并輸出超時信號給重置模塊,不再接受計時觸發(fā)信號,停止計時。3.5.4. 仿真結果圖3.22 計時模塊波形仿真圖計時模塊波形仿真圖如圖3.22。cen有效時,在clk觸發(fā)下,計時模塊開始計數計時。當達到36次時,計時模塊輸出有效的restart,仿真符合設計要求3.6 比價模塊比價模塊主要是把投幣模塊與定價模塊傳來的的8位二進制累加信號進行比價處理。3.6.1 比價模塊整體描述3.6.1.1 比價模塊基本流程圖比價模塊基本流程圖如圖3.23。開始結束初始化退幣輸出信號是否重置?投幣售價?出貨退幣投幣=售價?出貨否是
52、是是否否圖3.23 比價模塊基本流程圖3.6.1.2 比價模塊生成器件圖3.24 比價模塊生成器件圖比價模塊生成器件圖如圖3.24所示。輸入信號: (1)start1:比價重置信號 (2)da11:投幣8位二進制累加信號(3)da21:價格8位二進制信號 (4)clk1:時鐘信號輸出信號:(1)seg71:找零數碼管顯示信號 (2)scan1:找零數碼管掃描信號(3)led 11:出貨LED燈顯示信號 (4)led21:找零LED燈顯示信號(5)js1:比價運行信號 (6)sen1:比價使能信號(7)tui1:退幣信號3.6.1.3 比價模塊總功能描述當重置信號有效時,該模塊清零重置。當重置信號無效時,在時間信號
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年醫(yī)學基礎知識預測模擬題及答案解析
- 鄉(xiāng)村學?;A設施改善方案
- 施工安全教育培訓方案
- 道路智能導航系統(tǒng)集成方案
- 立體綠化設計與施工方案
- 園林景觀智能管理系統(tǒng)方案
- 市政項目竣工驗收方案
- 道路橋梁加固改造方案
- 灑水車安全培訓
- 隧道交通組織管理技術方案
- 河北省邢臺市2025-2026學年七年級上學期期末考試歷史試卷(含答案)
- 2026屆南通市高二數學第一學期期末統(tǒng)考試題含解析
- 寫字樓保潔培訓課件
- 2026中國電信四川公用信息產業(yè)有限責任公司社會成熟人才招聘備考題庫有完整答案詳解
- 計量宣貫培訓制度
- 2026中國電信四川公用信息產業(yè)有限責任公司社會成熟人才招聘備考題庫有答案詳解
- (2025年)新疆公開遴選公務員筆試題及答案解析
- 《老年服務禮儀與溝通技巧》-《老年服務禮儀與溝通技巧》-老年服務禮儀與溝通技巧
- 2026.05.01施行的中華人民共和國漁業(yè)法(2025修訂)課件
- 原始股認購協(xié)議書
- GB/T 32893-201610 kV及以上電力用戶變電站運行管理規(guī)范
評論
0/150
提交評論