freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

本科畢業(yè)論文-自動售貨機控制系統(tǒng)的設(shè)計與仿真-文庫吧

2025-05-16 09:34 本頁面


【正文】 了通用的硬件描述語言。 VHDL 是一種無 關(guān)設(shè)計平臺、無關(guān)具體的硬件電路的語言。跟一般的高級語言類似,不過卻有著一般高級語言沒有的具有硬件特性的語句,能很好的描述數(shù)字電路的功能和結(jié)構(gòu)。 VHDL 的結(jié)構(gòu)特點是設(shè)計一項工程或?qū)嶓w,一個元件、一個系統(tǒng)或者一個電路模塊都可以設(shè)計成為一個實體,被設(shè)計好的實體可以很方便的被調(diào)用,這是 VHDL 很大的一個特點。 與其他的硬件描述語言相比, VHDL 有以下特點: ? 設(shè)計好的模塊可以任意無數(shù)次的被調(diào)用,很好的做到了資源共享和重復(fù)利用這一點,大大減少了設(shè)計人員的工作量和工作時間。 自動售貨機控制系統(tǒng)的設(shè)計與仿真 6 ? 語言的設(shè)計描述與器件無關(guān),設(shè)計人員在進行電路的 設(shè)計的時候,可以把精力放在優(yōu)化電路上而不用先去考慮器件的選擇, VHDL 可以采用不同的器件來實現(xiàn)已經(jīng)描述好的電路設(shè)計。 ? 語言功能強大,設(shè)計方法靈活,支持各式各樣的設(shè)計方法,無論是自頂向下還是自底向上的設(shè)計方式在 VHDL 中都可以靈活的被運用。同時,模塊化設(shè)計,層次化設(shè)計等設(shè)計方法也是被支持的。 ? 具有很強的移植能力,對于同一個 VHDL 程序,它可以在不同的工作平臺、綜合器、模擬器之間相互移植。 一個完整的 VHDL 程序代碼結(jié)構(gòu)包括 4 個模塊,庫和程序包的模塊、實體模塊、結(jié)構(gòu)體模塊、配置結(jié)構(gòu)模塊。其結(jié)構(gòu)圖如 圖 所示: QuartusⅡ軟件 QuartusⅡ是由 Altera 公司開發(fā)的一種 EDA 工具,是經(jīng)過 A+plus、然后到 MAX+plus,再到 MAX+plusⅡ發(fā)展而來的。 QuartusⅡ支持多種輸入方式,例如原理圖輸入,硬件編程語言輸入等,在使用 QuartusⅡ軟件時,它會將設(shè)計人員設(shè)計好的硬件編程語言或者原理圖等自動轉(zhuǎn)換目標(biāo)文件,最后將目標(biāo)文件下載到器件中。通過 DSP Builder 工具,QuartusⅡ能很好的跟 Matlab、 Simulink 等結(jié)合起來,從而能夠方便快捷的實現(xiàn)不同的DSP 系統(tǒng)的設(shè)計。因為有 著簡單直接的入口和很強的設(shè)計能力,以及使用靈活、方便快捷的優(yōu)點,所以很受廣大設(shè)計者的青睞。 QuartusⅡ軟件有以下特點: 自動售貨機控制系統(tǒng)的設(shè)計與仿真 7 ? 支持多平臺的設(shè)計輸入,結(jié)合其處理和驗證功能使其成為一個全集化的開發(fā)平臺,讓開發(fā)周期變短。 ? 是一個 與結(jié)構(gòu)無關(guān)的開發(fā)工具, QuartusⅡ通過把 Cyclone、 APEX、 Mercury 等設(shè)計環(huán)境轉(zhuǎn)化為所需要的格式,真真正正的成為唯一一個與結(jié)構(gòu)無關(guān)的開發(fā)工具。 ? 具有很 具有全面的可設(shè)計開發(fā)資源,是一個集 系統(tǒng)設(shè)計、軟件開發(fā)、邏輯設(shè)計于一體的綜合性開發(fā)平臺。 QuartusⅡ的編程設(shè)計流程 圖 所示 : Modelsim 仿真工具 Modelsim 提供了可以與其他 EDA 工具(如 QuartusⅡ)的接口工具。 Modelsim 支持Verilog、 vhdl 或者二者相結(jié)合的混合。針對不同的使用環(huán)境, Modeislm 分為不同的版本,常見的版本有: Modelsim AE、 Modelsim ASE、 Modelsim SE 等。在本文的設(shè)計的版本是 Modelsim 版本。 VHDL 的仿真流程如 圖 所示,首先在 VHDl 仿真器中對已設(shè)計好的 VHDL 源代碼進行編譯,等到代碼被編譯正確后就會被轉(zhuǎn)換為中間格式 ,中間數(shù)據(jù)的結(jié)果將會保存在仿真數(shù)據(jù)庫中,一般來說, VHDL 源代碼在編譯好的仿真庫就是 WORK庫。設(shè)計者通過編寫 TestBeach 文件來干預(yù)仿真的過程,在本文的設(shè)計中,計時通過編寫不同的 TestBeach 文件來對不同的模塊代碼進行仿真測試。 自動售貨機控制系統(tǒng)的設(shè)計與仿真 8 3 系統(tǒng)總體方案 設(shè)計要求 ? 本文設(shè)計的售貨機系統(tǒng)中只有一種,價格為 13 元; ? 可以投入三種不同的貨幣來購買商品,分別是 1 元、 5 元、 10 元; ? 每次只允許購買一個商品,若想要購買多個商品,則需要重復(fù)執(zhí)行購買操作; ? 售貨機的顯示器會實時更新顯示總共投入的貨幣的總額 ; ? 當(dāng)投入貨幣后,如果不想購買商品了則可以通過按取消鍵來退還投入的貨幣,否則就按確定鍵來獲取商品; ? 設(shè)置兩個指示燈,分別是購買指示燈和取消指示燈,當(dāng)顧客按下確定鍵后購買指示燈亮起;若顧客按下取消鍵,則取消指示燈亮起; 總體設(shè)計 通過分析系統(tǒng)的設(shè)計要求以及考慮到系統(tǒng)本身,本文對整個總動售貨機系統(tǒng)采用自頂向下的設(shè)計方法,自頂向下的設(shè)計方法如 圖 所示,采用自頂向下的設(shè)計方法的優(yōu)點是很明顯的。由于系統(tǒng)設(shè)計從頂層開始,所以在進行設(shè)計時就清楚實現(xiàn)整個系統(tǒng)的性能狀況。隨著設(shè)計向下一級進行,系統(tǒng)的性能就能進一步得到 細化和表達,并且可以根據(jù)個人需要隨時修改和調(diào)整,縮短了設(shè)計周期。 對整個系統(tǒng)的頂層文件進行如下端口設(shè)計: ? 輸入端口: clk,輸入時鐘信號; rst,復(fù)位信號; C1,投入一張 1 元貨幣; C5,投入一張 5 元貨幣; C10,投入一張 10 元貨幣; ok_in,確認(rèn)信號; cancel_in,取消信號。 ? 輸出端口: led_buy,確認(rèn)購買指示燈; led_cancel,取消購買指示燈; en_deliver,出貨信號; led1,投入貨幣總數(shù)的個位數(shù)(單位是元); led10,投入貨幣總數(shù)的十位數(shù)(單位是元)。 ? 內(nèi)部可讀輸出端口: RC1,1 元退幣控制信號; RC5,5 元退幣控制信號; RC10,10元退幣控制信號。 自動售貨機控制系統(tǒng)的設(shè)計與仿真 9 端口原理圖如圖所示: 在確定了整個系統(tǒng)的輸入輸出端口后,給出自動售貨機的系統(tǒng)內(nèi)部的工作原理 : 當(dāng)系統(tǒng)接收到復(fù)位信號后,其他所有的控制信號和標(biāo)識信號都清空為零,系統(tǒng)處于等待指令的狀態(tài)。 當(dāng)系統(tǒng)接收到相關(guān)信號輸入時,系統(tǒng)開始工作。顧客確定購買商品時,開始投入貨幣,當(dāng)投入貨幣為 1 元、 5 元、 10 元時,將分別產(chǎn)生一個時鐘寬度的信號 C C C10。所投入的貨幣總額會實時計算并通過顯示器顯示出來。 當(dāng)顧客確定購買商品并按下確認(rèn)鍵的 時候,自動售貨機會產(chǎn)生一個時鐘信號 ok_in,而且由 led_buy 控制的代表確認(rèn)購買的指示燈會閃爍。如果投入貨幣的總額大于商品價格時,則送出商品并計算出余額操作退出余額,此時出貨指示燈閃爍。如果投入的貨幣不足以支付商品價格,自動售貨機會退還所有貨幣。 當(dāng)顧客投入貨幣又不想購買商品時,就可以通過按下取消鍵來取消購買,這時系統(tǒng)會產(chǎn)生一個時鐘信號 cancel_in,同時通過找零控制模塊來執(zhí)行相應(yīng)操作退還貨幣。如果確認(rèn)鍵或者取消鍵被按下后,自動售貨機會產(chǎn)生一個 lock_out_entry 內(nèi)部信號,當(dāng)發(fā)出信號后,所有 的操作都是無效的。 當(dāng)完成所有的操作后,將產(chǎn)生一個 clear 清除信號,此時所有的信號都會被清除,自動售貨機開始等待下一次操作。 整個系統(tǒng)的投幣購物流程如圖所示: 自動售貨機控制系統(tǒng)的設(shè)計與仿真 10 將整個系統(tǒng)劃分成六個模塊,分別是購買余額計算模塊、找零控制模塊、確認(rèn)取消模塊、總額加和模塊、鎖定模塊和顯示模塊。各模塊的功能: 余額計算模塊: 當(dāng)顧客確認(rèn)購買商品并按下了售貨機的確認(rèn)鍵后,找零模塊就開始計算出應(yīng)該退還的余額。 找零控制模塊: 在顧客確定購買商品后執(zhí)行找零操作,或者是在顧客取消購買后執(zhí)行退還原款操作。 確認(rèn)取消模塊: 顧客在選擇購買商品 或者取消購買商品后,將輸入的確認(rèn)信號或者取消信號分別轉(zhuǎn)換成單時鐘周期的控制信號,并且控制相對應(yīng)的信號燈的亮和不亮。 總額加和模塊: 不斷的更新并計算售貨機收到的總貨幣數(shù)量。 鎖定模塊: 可以按下確認(rèn)鍵或者取消鍵,當(dāng)其中任意一個鍵被按下后,整個自動售貨機系統(tǒng)的按鍵的輸入都是無效的。 顯示模塊: 通過控制兩個顯示器( led1 和 led10)來顯示所投入貨幣的總額。 整個自動售貨機的內(nèi)部工作過程的總體框圖如圖所示: 對每一個子模塊進行 VHDL 設(shè)計,然后對其進行編譯,再編譯沒有錯誤后,通過編寫TestBeach 文件來 對其進行仿真測試來驗證每一個模塊的功能是否正確。 在頂層文件的 自動售貨機控制系統(tǒng)的設(shè)計與仿真 11 vhdl 程序設(shè)計中,通過特定的例化語句將已經(jīng)設(shè)計好的 6 個子模塊進行例化,然后直接對各個模塊進行調(diào)用,整個頂層程序的設(shè)計就是通過調(diào)用底層的 6 個模塊來實現(xiàn)的, 完成頂層設(shè)計后再對整個系統(tǒng)進行仿真測試。 自動售貨機控制系統(tǒng)的設(shè)計與仿真 12 4 軟件設(shè)計及仿真測試 ( ok_cancel 模塊) 設(shè)計思想及工作原理 在確認(rèn)取消模塊中,顧客可以在投幣之后選擇繼續(xù)購買商品或者取消購買商品,若確定購買則會產(chǎn)生一個確認(rèn)信號,而該模塊可以把該信號轉(zhuǎn)換成單時鐘的控制信號, 同時確定購買 led_buy 顯示燈會亮;同樣,若顧客按下取消健,則該模塊會將輸入的取消信號轉(zhuǎn)換單時鐘周期的控制信號,同時確定購買 cancel_buy 顯示燈會變亮。 確認(rèn)取消模塊有以下輸入端口: ? 輸入端口: clk,輸入時鐘信號; rst,復(fù)位信號; clear,清除信號;lock_out_entry,鎖定信號; ok_in,確認(rèn)信號; cancel_in,取消信號。 ? 輸出端口: ok,內(nèi)部時鐘確認(rèn)控制信號; cancel,內(nèi)部時鐘取消控制信號; led_buy,確認(rèn)購買指示燈控制信號; led_cancel,取消購買指示燈控制 信號。 電路原理圖如圖所示: 該模塊的工作過程如下:首先系統(tǒng)復(fù)位,等待確認(rèn)購買信號或者取消購買信號的輸入,當(dāng)收到信號后,系統(tǒng)會根據(jù)接收到的信號立即生成一個相對應(yīng)的內(nèi)部控制信號 ok信號或者 cancel 信號。同時,指示燈會根據(jù)接收到的控制信號 led_buy 或者 led_cancel來顯示燈的亮和滅。此過程中,當(dāng)系統(tǒng)第一次接收到確認(rèn)購買信號或者取消信號后,將會岸上產(chǎn)生一個鎖定信號 lock_out_entry,當(dāng)接收到此信號后,整個系統(tǒng)的所有操作都會無效,直到系統(tǒng)執(zhí)行完畢,模塊接收到清零信號后,所有信號都會被清空 歸零。 由 QuqrtusⅡ軟件內(nèi)部生成的 RTL 電路圖如圖所示: 自動售貨機控制系統(tǒng)的設(shè)計與仿真 13 仿真測試 對確認(rèn)取消模塊進行仿真測試后,得到如圖所示的仿真波形圖: 對所得到的仿真波形圖進行分析:在 15ns 前,系統(tǒng)復(fù)位;在 30ns 的時候,系統(tǒng)接收到一個確認(rèn)購買的信號,此時會生成 ok 信號,即一個時鐘的內(nèi)部控制信號,同一時間,會發(fā)出一個控制信號 led_buy,以此來控制購買指示燈亮。在時間為 31ns時,可以看到系統(tǒng)發(fā)出了一個鎖定信號 lock_out_entry,當(dāng)系統(tǒng)接收到該信號后,其他所有的按鍵操作都將被視為無效,所以在 40ns 時輸入的 cancel 信號不會被響應(yīng);在 60ns 時操作執(zhí)行完畢,系統(tǒng)接收到一個 clear 的控制信號,此時鎖定信號歸零,同時 led_buy 控制信號歸零。 ( refund 模塊) 自動售貨機控制系統(tǒng)的設(shè)計與仿真 14 設(shè)計思想及工作原理 找零控制模塊有以下輸入端口: ? 輸入端口: clk,輸入時鐘信號; rst,復(fù)位信號; clear,清除信號; ok,接收到確認(rèn)信號; cancel,接收到取消信號; sum1,表示接收到的投入 1 元貨幣的信號;sum_5,接收到的投入 5 元貨幣的信號; sum10,表示接收到的投入 10 元貨幣的信號 ; sum,投入貨幣總和信號; Rsum1,退出 1 元貨幣的數(shù)量; Rsum5,退出 5 元貨幣的數(shù)量; Rsum10,退出 10 元貨幣的數(shù)量; ? 輸出端口: en_deliver,給貨控制信號; RC1,退幣 1 元的信號; RC5,退幣 5 元的信號; RC10,退幣 10 元的信號。 電路原理圖如圖所示: 當(dāng)系統(tǒng)接收到確認(rèn)取消模塊發(fā)來的確認(rèn)購買信號時,則該模塊開始執(zhí)行找零過程,同時發(fā)出給貨控制信號 en_deliver,當(dāng)找零操作完成后系統(tǒng)發(fā)出清零信號;當(dāng)系統(tǒng)接收到其他模塊發(fā)出的取消購買信號后,則該模塊開始執(zhí)行退幣操作,模塊會根據(jù)投入的 貨幣發(fā)出不同的退幣控制信號,從而完成所有貨幣的退還,操作完成后系統(tǒng)發(fā)出清零信號。 由 QuqrtusⅡ軟件內(nèi)部生成的 RTL 電路圖如圖所示: 自動售貨機控制系統(tǒng)的設(shè)計與仿真 15 仿真測試 對找零控制模塊的仿真有 2 種情況: 確認(rèn)購買操作; 系統(tǒng)執(zhí)行取消購買操作,得到如圖所示的仿真波形圖: 分析上圖中的波形圖可以看出:在 5ns
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1