畢業(yè)論文-基于FPGA的藥品自動售貨機設(shè)計與實現(xiàn)_第1頁
畢業(yè)論文-基于FPGA的藥品自動售貨機設(shè)計與實現(xiàn)_第2頁
畢業(yè)論文-基于FPGA的藥品自動售貨機設(shè)計與實現(xiàn)_第3頁
畢業(yè)論文-基于FPGA的藥品自動售貨機設(shè)計與實現(xiàn)_第4頁
畢業(yè)論文-基于FPGA的藥品自動售貨機設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、大連東軟信息學(xué)院本科畢業(yè)設(shè)計(論文)論文題目論文題目:基于FPGA的藥品自動售貨機設(shè)計與實現(xiàn)系 所: 電子工程系 專 業(yè):電子信息工程(集成電路設(shè)計與系統(tǒng)方向) 學(xué)生姓名: 學(xué)生學(xué)號: 指導(dǎo)教師: 導(dǎo)師職稱: 講師 完成日期: 2014年4月28日 大連東軟信息學(xué)院Dalian Neusoft University of Information大連東軟信息學(xué)院畢業(yè)設(shè)計(論文) 摘要 IV基于FPGA的藥品自動售貨機設(shè)計與實現(xiàn)摘 要隨著經(jīng)濟發(fā)展,自動藥品售貨機市場的發(fā)展呈現(xiàn)出多元化及個性化的需求,通過自動藥品售貨機進行自助購買生活中非處方藥品正逐漸成為市民的生活需要。本設(shè)計是基于現(xiàn)場可編程門陣列

2、(FPGA,F(xiàn)ield-Programmable Gate Array)的藥品售貨機。FPGA內(nèi)部電路的編程設(shè)計采用硬件描述語言對自動藥品售貨機的功能進行描述;選擇ALTERA公司的FPGA芯片為目標器件。根據(jù)數(shù)字系統(tǒng)由上而下設(shè)計和實現(xiàn)的基本流程,包括整體流程圖的設(shè)計、數(shù)據(jù)通道和控制單元的設(shè)計、并用可綜合的Verilog語言實現(xiàn)、經(jīng)過ModelSIM做功能仿真、用Quartus進行綜合布局布線,最終下載到FPGA開發(fā)板進行實機驗證。并在設(shè)計過程中不斷對電路性能進行優(yōu)化。最終實現(xiàn)的自動藥品售貨機系統(tǒng)具有投入貨幣,能在七段數(shù)碼管上顯示所投入的貨幣金額,通過撥動開關(guān)能進行16種藥品的選擇,能提供找零

3、,以及退幣等功能,能滿足用戶在日常生活中的實際需求,同時本設(shè)計還新增了庫存不足的報警功能,這個設(shè)計能為藥品的提供者與購買者提供便利。另外本設(shè)計基于FPGA,其內(nèi)部硬件功能可通過編程改變,并且具有處理速度高等特點。關(guān)鍵詞:FPGA,由上而下,Verilog大連東軟信息學(xué)院畢業(yè)設(shè)計(論文) AbstractDesign and Implementation of Automatic Drug Vending Machine Based on FPGA AbstractWith the development of economy, automatic drug dispenser market a

4、ppears diversified and personalized demanding. To buy prescription drugs by automatic drug vending machine is gradually becoming peoples needs.The design is vending machine based on FPGA. The programming of FPGA internal circuit make use of hardware description language to describe functions of the

5、drugs vending machine , and FPGA chip from ALTERA company is selected as the target device. According to a basic top-down process of the digital system design and implementation, it includes the design of the overall flowchart, the design of data channel and control unit, and uses synthesizable Veri

6、log language to achive its target, does functional simulation by ModelSIM, does integrated layout by Quartus , eventually downloads the program to the FPGA develop board to verify. During the design process, the performance of the circuit is continuously optimized.Drugs vending system has money inpu

7、t function. It also can display the amount of money input by the seven-segment digital tube. Toggling switch can make the choice of 16 kinds of drugs. It also can give change and has other functions. It can meet the actual needs of users in daily life. Meanwhile, the design also added an alarm funct

8、ion when inventory are inadequate. This design can facilitate drug providers and purchasers. In addition, the interior hardware functions of this design which based on FPGA can be programmed to help achieve high speed.Key words: FPGA, Top-down, Verilog大連東軟信息學(xué)院畢業(yè)設(shè)計(論文) 目錄目 錄 TOC o 1-3 u 摘 要 PAGEREF _

9、Toc385774171 h IAbstract PAGEREF _Toc385774172 h II第1章緒 論 PAGEREF _Toc385774173 h 11.1 課題研究背景與意義 PAGEREF _Toc385774174 h 11.2 課題研究現(xiàn)狀 PAGEREF _Toc385774175 h 1第2章關(guān)鍵技術(shù)介紹 PAGEREF _Toc385774176 h 32.1 關(guān)鍵技術(shù)一 PAGEREF _Toc385774177 h 32.2 關(guān)鍵技術(shù)二 PAGEREF _Toc385774178 h 42.3 關(guān)鍵技術(shù)三 PAGEREF _Toc385774179 h 4第3

10、章系統(tǒng)需求分析 PAGEREF _Toc385774180 h 63.1 系統(tǒng)功能概述 PAGEREF _Toc385774181 h 63.2 系統(tǒng)功能需求 PAGEREF _Toc385774182 h 63.3 系統(tǒng)開發(fā)環(huán)境73.4 系統(tǒng)可行性分析 PAGEREF _Toc385774184 h 83.5 系統(tǒng)流程圖10第4章系統(tǒng)設(shè)計124.1 系統(tǒng)設(shè)計指導(dǎo)原則124.2 系統(tǒng)初步設(shè)計124.3 系統(tǒng)詳細設(shè)計 PAGEREF _Toc385774189 h 124.3.1 數(shù)據(jù)通道模塊設(shè)計154.3.2控制單元模塊設(shè)計184.4 芯片選擇194.5 顯示電路19第5章系統(tǒng)實現(xiàn)205.1

11、數(shù)據(jù)通道模塊205.2 控制單元模塊20第6章系統(tǒng)測試226.1 數(shù)據(jù)通道仿真226.2 控制單元仿真256.3 系統(tǒng)整體仿真25第7章結(jié)論26參考文獻27致 謝28大連東軟信息學(xué)院畢業(yè)設(shè)計(論文)- 第1章緒 論1.1 課題研究背景與意義隨著經(jīng)濟發(fā)展,傳統(tǒng)的固定地點人員售貨方式暴露出許多弊端:人力資源需求大;受所需服務(wù)地點,地理條件的限制;而且在服務(wù)時間上不能最大限度的服務(wù)于消費者。自動售貨機的出現(xiàn)解決了這些難題。自動售貨機市場的發(fā)展呈現(xiàn)出多元化及個性化的需求,通過自動售貨機進行自助購物正逐漸成為市民的一種新的消費時尚和追求高品質(zhì)生活的需要。自動售貨機的售貨領(lǐng)域非常廣泛,是發(fā)達國家商品零售的

12、一種主要方式。自動售貨機作為一種先進的消費方式,已經(jīng)成為城市現(xiàn)代文明發(fā)達程度的重要標志,其新穎、時尚的購物方式,24小時營業(yè)的特點給人們生活帶來了便利,美化了城市環(huán)境,受到消費者的歡迎。如此多的優(yōu)點使得自動售貨機在世界范圍內(nèi)得到廣泛的應(yīng)用?,F(xiàn)在生活的快節(jié)奏讓人們都越來越追求方便,對于日常必備品的需求也更加的追求便利。因此對于必備的常用藥品需求也不再是滿足于傳統(tǒng)的商店里購買,但對于目前的市場,自動藥品售貨機的市場依然是呈現(xiàn)一種空白的區(qū)域。面對一些非處方藥,一些家里必備的感冒藥品,更多的人希望能在就近取得,藥品自動售貨機的出現(xiàn)解決了這方面的問題,并且藥品自動售貨機24小時營業(yè)的特點也給人們生活帶來

13、了很多的便利,解決了人們晚間生病時對于藥品的需求。藥品自動售貨機能解決人們?nèi)粘K幤焚徺I的問題,大大的提高了人們生活的方便性。傳統(tǒng)的自動售貨機控制系統(tǒng)采用單片機作為控制核心,不僅需要在輸入輸出接口上做大量的工作,而且系統(tǒng)的抗干擾性也比較差。FPGA具有可靠性高、編程簡單、維護方便等優(yōu)點,已在工業(yè)控制領(lǐng)域得到廣泛應(yīng)用。但是在我國自動售貨機的普及還不及發(fā)達國家,主要原因是我國電子設(shè)計自動化(EDA,Electronic Design Automation)技術(shù)的應(yīng)用水平長期落后于發(fā)達國家。本設(shè)計要實現(xiàn)自動售貨機的基本功能,可以實現(xiàn)投幣處理、計算投幣總額、輸出商品、輸出找零的控制。1.2 課題研究現(xiàn)狀

14、在中國,自動售貨機將成為一個潛在的巨大產(chǎn)業(yè),繼百貨商店、超市之后掀起第三次零售業(yè)革命,其前景非常廣闊。售賣的商品可根據(jù)擺放場所的需要量身定制,包括冷熱飲料、零食、藥品及國外進口的特色商品等。并且,通過這種高智能的自動售貨機,可以將各類相關(guān)信息反饋給商家與客戶,大大的提高了效率。此外,還支持各類金額的結(jié)算功能,為人們的生活提供了便利。 在2004年,國內(nèi)開始出現(xiàn)能通過手機購買商品的無線自動售貨機。這種新款的自動售貨機,還能提供一種新型的廣告宣傳形式。在國外,自動售貨機的發(fā)展相對于中國而言比較成熟。日本的自動售貨業(yè)已經(jīng)有2000多種機型、6000多種商品。在美國,運營商就多達10800家,并且與大

15、型的飲料代理商,食品代理商進行合作。大大拓寬了自動售貨機的產(chǎn)品種類,也為代理商拓寬了銷售的渠道。現(xiàn)在市場上大多數(shù)的人看到的還是對于食品的銷售,本設(shè)計是針對與藥品的自動售貨機。在日常生活中,對于一些家庭常用藥可以通過自動售貨機來購買,大大的人們的日常生活提供了方便。傳統(tǒng)的自動售貨機控制系統(tǒng)采用單片機作為控制核心,不僅需要在輸入輸出接口上做大量的工作,而且系統(tǒng)的抗干擾性也比較差。本設(shè)計是基于FPGA自動售貨機控制器,以EDA技術(shù)的基本特征為基礎(chǔ),用Verilog語言開發(fā)自動售貨機系統(tǒng)設(shè)計。 大連東軟信息學(xué)院畢業(yè)設(shè)計(論文)第2章關(guān)鍵技術(shù)介紹基于EDA技術(shù)的基本特征為基礎(chǔ)而設(shè)計,并且是通過硬件描述語

16、言Verilog針對藥品自動售貨機進行系統(tǒng)的設(shè)計。2.1 關(guān)鍵技術(shù)一EDA(Electronic Design Automation)是電子設(shè)計自動化縮寫,是90年代開始對于計算機輔助設(shè)計(CAD,Computer Aided Design),計算機輔助制造(CAM,Computer Aided Manufacturing),計算機輔助測試(CAT,Computer Aided Testing)和計算機輔助工程(CAE,Computer Aided Engineering)這三者的概念繼承和發(fā)展。計算機是EDA技術(shù)的工具,硬件描述語言(HDL,Hardware Description lang

17、uage)是完成EDA設(shè)計文件的基礎(chǔ),EDA技術(shù)可以自動地完成邏輯編譯、化簡、分割、綜合及優(yōu)化、布局布線、仿真以及對于特定目標芯片的適配編譯和編程下載等工作?;贓DA工具的FPGA開發(fā)流程如下列所示:(1)首先對與文本或者/原理圖進行編輯與修改。第一步利用EDA工具的文本或圖形編輯器將設(shè)計者的設(shè)計大致思想用文本或圖形的方式進行表達。(2)然后編譯。完成設(shè)計描述后就可以通過編譯器進行排錯編譯,變成所指定的文本格式,同時為下一步進行準備工作。(3)綜合。這項技術(shù)是將軟件設(shè)計同硬件的可實現(xiàn)性進行對應(yīng),綜合的這一個過程是將軟件轉(zhuǎn)化為硬件電路的關(guān)鍵性一步。綜合后HDL綜合器可生成ENIF,XNF或VH

18、DL等格式的網(wǎng)表文件,最基本的門電路結(jié)構(gòu)是從門級開始對其進行描述的。(4)適配。將綜合后的網(wǎng)表文件通過FPGA或者較復(fù)雜的邏輯元件(CPLD,Complex Programable Logic Device)布局布線的適配器,對其具體的目標器件進行邏輯映射操作,其中包括的操作有底層器件配置,邏輯分割,邏輯優(yōu)化,布局布線。(5)功能仿真和時序仿真。該不仿真實接近真實器件運行的方針,仿真過程已將器件的硬件特性考慮進去了,因此仿真精度要高的多。(6)下載。如果以上的所有過程都沒有發(fā)現(xiàn)問題,就可以將適配器產(chǎn)生的下載文件通過FPGA/CPLD下載電纜載入目標芯片F(xiàn)PGA或CPLD中。(7)硬件仿真與測試

19、。Quartus II軟件可以在XP、Linux以及Unix上使用,除了可以使用Tcl腳本完成設(shè)計流程外,提供了完善的用戶圖形界面設(shè)計方式。具有運行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點。2.2 關(guān)鍵技術(shù)二FPGA(FieldProgrammable Gate Array),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC,Application Specific Integrated Circuit)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。構(gòu)成數(shù)字邏輯系統(tǒng)最基本

20、的單元是與門、或門、非門等,而門電路是由用二極管、 HYPERLINK /tech/zmdj/300010220012/30911.html t _blank 三極管和 HYPERLINK /tech/qtdz/200010160031/28957.html t _blank 電阻等元件構(gòu)成的,然后與門、或門、非門又構(gòu)成了各種觸發(fā)器實現(xiàn)狀態(tài)記憶。FPGA同樣也屬于數(shù)字邏輯電路的一種,也是由最基本的元件構(gòu)成的。因此FPGA打破了傳統(tǒng)的電子裝置的歷史,如今不僅面積與成本都大大的減小,可靠性得到了大幅度的提升。FPGA的特點如下列所示:(1)采用FPGA設(shè)計ASIC電路(專用集成電路),用戶不需要投

21、片生產(chǎn),就能得到合用的 HYPERLINK /doc/2573081.html t _blank 芯片。(2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。(3)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。(4)FPGA是ASIC電路中設(shè)計周期最短、開發(fā)費用最低、風(fēng)險最小的器件之一。(5)FPGA采用高速CMOS工藝,功耗低,可以與CMOS、TTL電平兼容??梢哉f,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、 HYPERLINK /doc/6675136.html t _blank 可靠性的最佳選擇之一。FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的RAM進行

22、 HYPERLINK /doc/3390106.html t _blank 編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。2.3 關(guān)鍵技術(shù)三數(shù)字系統(tǒng)的設(shè)計方法通常分為自上而下設(shè)計和自下而上設(shè)計兩大

23、類。一般自上而下的設(shè)計是從系統(tǒng)級開始,系統(tǒng)被劃分為若干基本單元,然后每個基本單元又被劃分為下一層次的若干基本單元,以此類推,一直到可以直接用EDA元件庫中的基本元件來實現(xiàn)為止。在某種意義上講,自下而上的設(shè)計過程可以看作是自上而下設(shè)計的逆過程。同樣自下而上設(shè)計也是從系統(tǒng)級開始的,就是從設(shè)計樹的樹根開始對整個設(shè)計進行逐次劃分,但是必須從已經(jīng)存在的基本單元出發(fā),所以劃分時首先考慮的是單元是否存在。最終設(shè)計最底層的單元或者是已經(jīng)制造出來的單元,或者是已開發(fā)好的單元或者是可以通過外購得到的基本單元。自下而上的設(shè)計流程包括:首先獨立的設(shè)計和優(yōu)化每個子模塊,然后在頂層的設(shè)計中集成所有已經(jīng)優(yōu)化好的子模塊,最后

24、進行總體設(shè)計的驗證。在綜合和優(yōu)化之后可以將每個子模塊具有的單獨的網(wǎng)表整合在頂層的設(shè)計中。這樣在頂層模塊設(shè)計中,各個子模塊之間的性能都不會相互影響。與此同時,由于在高層次進行設(shè)計的主要仿真和調(diào)試過程,所以能夠盡早的發(fā)現(xiàn)結(jié)構(gòu)設(shè)計上的錯誤,減少了設(shè)計工作的浪費,同時又減少了模塊邏輯仿真的工作量。圖2.1為自上而下(top-down)的設(shè)計樹示意圖。圖2.1 自上而下的設(shè)計樹示意圖本論文是對于藥品自動售貨機的設(shè)計,就是采用自上而下(top-down)的正向設(shè)計方法。根據(jù)自上而下的設(shè)計思想,對系統(tǒng)進行功能模塊劃分并優(yōu)化。各個功能模塊之間相互獨立并且可以相互引用,最后將各模塊集成到一個頂層模塊中,形成一個

25、完整的系統(tǒng)。大連東軟信息學(xué)院畢業(yè)設(shè)計(論文) 第3章系統(tǒng)需求分析3.1 系統(tǒng)功能概述本設(shè)計是以Quartus 為開發(fā)環(huán)境,采用EDA技術(shù)和Verilog語言,最終下載到FPGA開發(fā)板上做實機驗證。本設(shè)計可以實現(xiàn)投幣,顯示金額,選擇貨幣,找零,退幣跟庫存不足報警的功能。3.2 系統(tǒng)功能需求根據(jù)功能需求確定本系統(tǒng)的功能模塊。通過3個按鍵來選擇輸入的貨幣價格,三個按鍵分別為1、5、10。同時四個撥動開關(guān)來選擇貨物。并且顯示電路中可以顯示投入貨幣的金額跟買完物品后的金額,如果貨物庫存空缺,led燈會報警。功能模塊圖如圖3.1所示,該設(shè)計主要包含12個模塊:(1)分頻模塊。主要是將輸入的時鐘經(jīng)過分頻,輸

26、入到各個其他模塊。(2)投幣模塊。是利用外部輸入的金額,通過該模塊,將其轉(zhuǎn)換成二進制的代碼,再進入到下一模塊。(3)數(shù)據(jù)比較模塊。數(shù)據(jù)比較模塊是用于庫存是否大于0而準備的。(4)減法模塊。減法模塊是執(zhí)行庫存減1的效果。(5)輸入貨幣寄存模塊。這個模塊相當于一個計數(shù)的寄存器,可以準確計算投幣的數(shù)額,來確??値胖?。(6)輸出顯示譯碼模塊。將輸入的值分別顯示到兩個七段數(shù)碼管上,一個輸出十位數(shù),一個輸出個位數(shù)字。(7)貨物選擇模塊。通過外部的四個撥動開關(guān)完成商品選擇,在接收到對應(yīng)四個撥動開關(guān)的信號時進行編譯。(8)二選一選擇模塊。實現(xiàn)的功能就是選擇是將投幣的值輸出還是該退幣的金額進行輸出。(9)庫存隨

27、機存取存儲器(Ram,Random Access Memory)模塊。這個模塊中存儲了每樣物品的庫存,并且能夠更新貨物的庫存。(10)貨物只讀寄存器(Rom,Read-Only Memory)模塊。存儲了每種貨物的價格,輸出連接加法器模塊。(11)加法器模塊。是來輸出輸入的貨幣金額跟物品的價格進行比較。(12)控制模塊。控制各個動作所要執(zhí)行的命令。 圖3.1 功能模塊圖3.3 系統(tǒng)開發(fā)環(huán)境本系統(tǒng)將在FPGA開發(fā)板上進行驗證,目前主流的FPGA有XILINX、ALTERA和ACTEL三家公司的產(chǎn)品。由于他們在可編程單元和互聯(lián)資源的結(jié)構(gòu)設(shè)計上各有特色,從而為使用者提供了靈活的選擇。Cyclone

28、II系列的器件是Altera公司開發(fā)的低成本Cyclone系列的第二代產(chǎn)品,因此,Cyclone II FPGA的成本也比第一代Cyclone器件降低了近30%,而且其邏輯容量也大3倍多。一般Cyclone II器件的容量有約460868416個邏輯單元,并且具有新的增強特性,其中包括1.1Mbit的嵌入存儲器、150個嵌入1818乘法器、支持外部存儲器接口及差分和單端的I/O標準等等。如今隨著EDA技術(shù)的不斷發(fā)展,采用硬件描述語言來設(shè)計CPLD/FPGA已經(jīng)逐漸成為一種趨勢。其中,硬件描述語言HDL就是一種采用形式化的方法來描述數(shù)字電路和設(shè)計數(shù)字邏輯系統(tǒng)的語言。對于數(shù)字邏輯電路設(shè)計者,首先可

29、以采用這種語言來描述自己的設(shè)計思想,接著使用電子設(shè)計自動化的工具完成仿真工作,然后自動綜合到門級電路,最后使用專門設(shè)計的集成電路(ASIC,Application Specific Integrated Circuit)和FPGA實現(xiàn)其預(yù)期的功能。目前,這種高層次的設(shè)計(High-Level-Design)的方法被業(yè)界廣泛的采用。硬件描述語言發(fā)展到今天大約已經(jīng)有了二十年多年的歷史,而且它被成功地應(yīng)用到設(shè)計的各個階段,例如仿真驗證和綜合階段等。后來到80年代左右,業(yè)界竟然出現(xiàn)了上百種硬件描述語言,但是他們卻對設(shè)計自動化起到了很好的促進作用。由于這些復(fù)雜的語言通常各自面向特定的設(shè)計領(lǐng)域與層次,并且

30、眾多的語言也使很多的用戶無從選擇,最終只有VHDL和Verilog HDL兩種語言適應(yīng)了趨勢的要求先后成為了IEEE的標準。1983年,Gateway Design Automation公司為其模擬器產(chǎn)品開發(fā)了Verilog HDL語言。當時它僅是一種專用的語言,但是由于該公司的模擬器仿真器產(chǎn)品被廣泛的應(yīng)用,使得Verilog HDL這種便于使用并且很實用的硬件描述語言逐漸被后來眾多的設(shè)計者接受。由此Verilog語言在1995年成為了IEEE標準,它被稱為IEEE Std1364-1995。Verilog HDL語言是一種用于從算法級門級到開關(guān)級的多種抽象設(shè)計層次的數(shù)字系統(tǒng)建模語言。Veri

31、log HDL具有以下描述的能力包括:設(shè)計數(shù)據(jù)流的特性、設(shè)計行為特性、結(jié)構(gòu)組成與包含響應(yīng)的監(jiān)控以及設(shè)計驗證方面的時延等。而所有的這些能力都可以使用同一種語言。此外,Verilog HDL語言提供的編程接口能夠在模擬和驗證期間由設(shè)計的外部進行設(shè)計的訪問。Quartus II軟件是Altera公司的綜合性的PLD開發(fā) HYPERLINK /view/37.htm t _blank 軟件。它具有強大的功能:支持原理圖、VHDL語言、Verilog HDL語言以及Altera公司用于描述數(shù)字邏輯的硬件描述語言(AHDL,Altera Hardware Description Language)等多種設(shè)

32、計輸入形式,并且軟件內(nèi)部嵌入綜合以及仿真器,從而可以使之完成從設(shè)計輸入到硬件配置的完整的設(shè)計流程。Quartus II軟件除了可以在XP、Linux以及Unix上使用,還可以利用Tcl HYPERLINK /view/54.htm t _blank 腳本完成設(shè)計流程,它提供了完整的用戶圖形界面設(shè)計方案。Quartus II軟件還具有運行速度快、功能集中、界面統(tǒng)一、簡單易用等特點。Quartus II軟件支持Altera公司的IP核,它包含參數(shù)化模塊庫(LPM,Library of Parameterized Modules)/Mega Function等宏功能模塊庫,從而使用戶可以方便的利用成

33、熟的模塊,不僅簡化了設(shè)計的復(fù)雜性、而且加快了設(shè)計的速度。Quartus II良好支持第三方的EDA工具,使用戶可以在設(shè)計流程的各個階段快速的使用第三方的EDA工具。Quartus II軟件作為一種優(yōu)秀的可編程邏輯的設(shè)計環(huán)境,因其強大的設(shè)計能力和直觀易用的接口,被越來越多的 HYPERLINK /view/3114367.htm t _blank 數(shù)字系統(tǒng)設(shè)計者所接受。3.4 系統(tǒng)可行性分析本論文是采用的自上向下的設(shè)計思想,從系統(tǒng)級設(shè)計入手。從頂層進行功能劃分和結(jié)構(gòu)設(shè)計。對整個系統(tǒng)有一定的認識后,開始著手整體流程圖的設(shè)計。然后,通過流程圖提煉出相應(yīng)的控制單元和數(shù)據(jù)通道。數(shù)據(jù)通道的各個模塊包括:寄

34、存器模塊、算術(shù)運算器模塊、二選一選擇器模塊、減法器模塊、譯碼器模塊、比較器模塊,貨物價格存儲器模塊、貨物選擇模塊。控制單元部分由狀態(tài)機來實現(xiàn),合理涉及各個狀態(tài)轉(zhuǎn)移??刂茊卧l(fā)送數(shù)據(jù)通道所需的控制信號,接收來自數(shù)據(jù)通道的狀態(tài)信號,監(jiān)控整個測試過程的運行;數(shù)據(jù)通道處理來自控制單元的控制信號,并把處理的結(jié)果反饋給控制單元。使用Altera公司開發(fā)的Quartus軟件,對每個模塊進行開發(fā)。通過常用仿真軟件ModelSim對設(shè)計的所有模塊進行仿真測試,確保整個開發(fā)流程順利進行。最后在FPGA開發(fā)板上進行功能測試,并且不斷地進行優(yōu)化。本系統(tǒng)是采用verilog語言來實現(xiàn),經(jīng)過ModelSim做功能仿真,用

35、Quartus進行布局布線,將自動售貨機按照模塊來劃分。本系統(tǒng)將基于FPGA的開發(fā)板上進行驗證。因為本系統(tǒng)是FPGA的實際應(yīng)用,需要掌握verilog語言,編寫相關(guān)的程序,同時需要對EDA開發(fā)工具的熟練使用。其中用硬件描述語言開發(fā)FPGA的主要流程如下:設(shè)計輸入:用原理圖輸入方式、文本編輯器方式或者HDL編輯環(huán)境等都可以做為設(shè)計輸入。功能仿真:將設(shè)計文件放入HDL仿真軟件進行功能仿真,檢查邏輯功能是否正確可以通過。對于一個獨立的設(shè)計項目而言,仿真文件的提供足可以證明設(shè)計的完整性。邏輯綜合:進行綜合時需要把源文件調(diào)入綜合軟件中,就是把該語言轉(zhuǎn)換成若干個最簡化的布爾表達式,邏輯綜合后將會生成一個E

36、DA工業(yè)標準文件*.edf。該文件即可用于之后的布局布線工作。在綜合前可以加上若干的約束條件,以便不斷的對時間或位置進行優(yōu)化。布局和布線:進行布線時,只需將*.edf文件放入器件商提供的軟件中,就是把設(shè)計好的邏輯安放到FPGA內(nèi)。此時,將用到邏輯綜合生成的網(wǎng)表,并且根據(jù)CPLD/FPGA廠商的器件容量、結(jié)構(gòu)等進行布局、布線。首先各個設(shè)計中的門根據(jù)網(wǎng)表和結(jié)構(gòu)被安置在在元器件的某個特定的部位,然后,按照網(wǎng)表中規(guī)定的所有門之間相互的連接關(guān)系,把每個門相對應(yīng)的輸入和輸出連接在一起。最后輸出一個可編程的文件。這就完成了在設(shè)計印制線路板(PCB,Printed Circuit Board)時的布局布線。時

37、序的仿真:這一步需利用在上一步中得到的參數(shù),然后使用仿真軟件對電路的時序的正確性進行驗證。一旦設(shè)計的電路不滿足要求的話,需要反復(fù)修改直到解決所有問題,否則就可以到下一步。器件編程的下載:CPLD/FPGA中最終要實現(xiàn)的是在器件中進行編程設(shè)計。系統(tǒng)設(shè)計其實是把物理的設(shè)計實現(xiàn)轉(zhuǎn)換成了相應(yīng)的二進制文件。該編程用于對FPGA進行通常編程方式包括:硬件調(diào)試器、國際標準測試協(xié)議(JTAG,Joint Test Action Group)編程器、PROM文件等三種。通常情況下,進行編程和下載燒寫程序的時候采用JTAG的方式比較多。使用Altera公司開發(fā)的Quartus 軟件,對每個模塊進行開發(fā)。通過常用仿

38、真軟件ModelSim對設(shè)計的所有模塊進行仿真測試,確保整個開發(fā)流程順利進行。最后在進行整體的功能測試,并且不斷地進行優(yōu)化。因此本課題的選擇是可行的。3.5系統(tǒng)流程圖En6=1?En6=1?Original inventoryOriginal inventory-1idleEn2=1?initializewwwaaadSelect goodsok=1?Out goodsQuit=1&clear=0Refund moneyWaiting for the coinWaiting for the coinnnSelect goodsSelect goodsnnyyOut goodsOut goods

39、Quit=0&clear=0Quit=0&clear=0ynyyynyyyyRefund moneyRefund money圖3.2 系統(tǒng)流程圖首先,該系統(tǒng)進入空閑狀態(tài),然后進入初始化狀態(tài),對整個系統(tǒng)做初始化處理。初始化的處理后使整個系統(tǒng)進入默認的工作狀態(tài)也就是如圖所示的等待投幣狀態(tài);然后,判斷使能信號en2是否有效,有效的話系統(tǒng)進入選貨狀態(tài),否則回到等待投幣狀態(tài)等待投幣;其次,進入選貨狀態(tài)后,先判斷ok信號是否有效,有效則進入出貨的狀態(tài),否則保持在選貨狀態(tài);接著,進入出貨狀態(tài)后,判斷退幣信號與清零信號是否同時有效,有效則進入退幣狀態(tài),否則再次判斷退幣信號與清零信號同時無效時,則進入選貨狀態(tài),

40、再則若只有清零信號有效,進入等待退幣狀態(tài);在出貨的同時判斷使能信號是否有效,有效庫存減1,否則保持原值。最后,進入退幣狀態(tài)后無條件跳轉(zhuǎn)到等待投幣狀態(tài)。第4章系統(tǒng)設(shè)計4.1 系統(tǒng)設(shè)計指導(dǎo)原則本設(shè)計是基于FPGA的藥品自動售貨機的設(shè)計。該設(shè)計可以實現(xiàn)投入貨幣,顯示貨幣投入的金額以及要找零的金額。選擇藥品,找零,退幣以及庫存不足的報警功能。本設(shè)計是根據(jù)數(shù)字系統(tǒng)由上而下設(shè)計和實現(xiàn)的基本流程,包括整體流程圖的設(shè)計、數(shù)據(jù)通道和控制單元的設(shè)計、并用可綜合的Verilog語言實現(xiàn)、經(jīng)過ModelSIM做功能仿真、用Quartus進行綜合布局布線,最終下載到FPGA開發(fā)板進行實機驗證。并在設(shè)計過程中不斷對電路性

41、能進行優(yōu)化。4.2 系統(tǒng)初步設(shè)計通過外部的三個按鍵來進行投幣的操作,投幣的金額分別為1元、5元、10元。并將這三個外部的輸入信號通過一個譯碼器(decoder)轉(zhuǎn)化成位寬為4位的二進制數(shù)。當時鐘信號有效時,如果使能信號(en1)有效,則將投入的金額進行累加,直到投幣這一個過程結(jié)束。選擇貨物是通過外部的四個撥動開關(guān)來控制,當時鐘信號有效時,并且使能信號(en2)有效,將撥動開關(guān)置為要選購的藥品,就可以對out_g這個變量進行賦值操作。例如感冒藥的序號為1000,就將外部的四個撥動開關(guān)置為1000,則所選擇的為感冒藥,并且1000會賦值給out_g這個變量。再將這個變量通過rom來找到對應(yīng)的藥品的

42、價格,再將藥品對應(yīng)的價格賦值給另一個變量。然后將投入貨幣的金額與藥品的價格進行比較,判斷其是否為大于0的值,并且等到時鐘到來的時刻,且使能信號(en3)與投入貨幣的金額與藥品的價格大于0同時有效的時候,將其的差值賦值給out_c這個變量。并且執(zhí)行出貨,在出貨的同時,系統(tǒng)內(nèi)部ram會進行庫存減去一的操作,若庫存為零時,led燈就會亮起,起報警的功能。最后將這個變量與之前投入貨幣的金額功能進入到一個二選一的選擇器中,當使能信號(en4)有效時,會將找零的金額通過一個譯碼器輸入到七段數(shù)碼管中,讓其顯示要找零的金額。反之則會將之前投入的貨幣金額輸入到七段數(shù)碼管中,讓其顯示投幣的金額。4.3 系統(tǒng)詳細設(shè)

43、計自動藥品售貨機的設(shè)計見圖4.1,端口包括與外圍控制電路與顯示電路連接的端口。自動藥品售貨機模塊分為2個子模塊,分別是數(shù)據(jù)通道和控制單元。圖4.1為自動售貨機的整體模塊。圖4.1 自動藥品售貨機整體模塊自動售貨機模塊管腳詳細端口說明見表4.1。表4.1 自動售貨機模塊管腳信號I/O寬度功能描述input_1I1外部通過按鍵來實現(xiàn)輸入金額為1元input_5I1外部通過按鍵來實現(xiàn)輸入金額為5元input_10I1外部通過按鍵來實現(xiàn)輸入金額為10元goods_1I 1外部通過撥動開關(guān)來實現(xiàn)輸入選擇喜歡的商品序號goods_2I1外部通過撥動開關(guān)來實現(xiàn)輸入選擇喜歡的商品序號goods_3I1外部通過

44、撥動開關(guān)來實現(xiàn)輸入選擇喜歡的商品序號goods_4I1外部通過撥動開關(guān)來實現(xiàn)輸入選擇喜歡的商品序號en2I1使能信號okI1確認買貨信號quitI1確認退幣信號clk1I1外部輸入50MHz時鐘信號rst1I1系統(tǒng)復(fù)位信號out_d1O7與七段數(shù)碼管相連,輸出十位數(shù)out_d2O7與七段數(shù)碼管相連,輸出個位數(shù)out_d3O7與LED相連,實現(xiàn)報警數(shù)據(jù)通道模塊圖見4.2。圖4.2 數(shù)據(jù)通道模塊圖數(shù)據(jù)通道詳細管腳說明請見表4.2。表4.2 數(shù)據(jù)通道管腳信號I/O寬度功能描述clkI1將外部輸入的50HZ時鐘信號分頻完后的信號clk_50I1外部輸入50MHz時鐘信號en1I1使能信號en3I 1使

45、能信號en4I1使能信號en6I1使能信號quitI1確認退幣信號restI1重置信號en2I1使能信號clearI1清零信號input_1I1外部通過按鍵來實現(xiàn)輸入金額為1元input_5I1外部通過按鍵來實現(xiàn)輸入金額為5元input_10I1外部通過按鍵來實現(xiàn)輸入金額為10元good_1I1外部通過撥動開關(guān)來實現(xiàn)輸入選擇喜歡的商品序號good_2I1外部通過撥動開關(guān)來實現(xiàn)輸入選擇喜歡的商品序號good_3I1外部通過撥動開關(guān)來實現(xiàn)輸入選擇喜歡的商品序號good_4I1外部通過撥動開關(guān)來實現(xiàn)輸入選擇喜歡的商品序號out_d1O7與七段數(shù)碼管相連,輸出十位數(shù)out_d2O7與七段數(shù)碼管相連,輸

46、出個位數(shù)out_d3O7與LED相連,實現(xiàn)報警en5O1使能信號havegoodsO1確定是否商品有庫存的信號clk_1O1將外部輸入的50HZ時鐘信號分頻完后的信號clearO1清零信號控制單元模塊圖見4.3。圖4.3 控制單元模塊圖控制單元詳細管腳說明請見表4.3。表4.3 控制單元管腳信號I/O寬度功能描述clkI1外部輸入的50HZ時鐘信號okI1確認買貨信號en2I1使能信號en5I 1使能信號havegoodsI1確定是否商品有庫存的信號clearI1清零信號quitI1確認退幣信號restI1重置信號自動藥品售貨機模塊連接圖見4.4。圖4.4 自動藥品售貨機模塊連接圖4.3.1

47、數(shù)據(jù)通道模塊設(shè)計如圖4.5所示,數(shù)據(jù)通道中包含11個小的模塊,分別是分頻模塊,投幣模塊,數(shù)據(jù)比較模塊,減法模塊,輸入貨幣寄存模塊,輸出顯示譯碼模塊,貨物選擇模塊,二選一選擇模塊,庫存Ram模塊,貨物Rom模塊,加法器模塊。圖4.5 數(shù)據(jù)通道內(nèi)部模塊圖時鐘分頻模塊是利用外來的時鐘信號clk生成時鐘信號clk1并送往其他各個部件。其中rst_1是復(fù)位信號。clk1信號是用作輸入貨幣寄存模塊,貨物選擇模塊,庫存Ram模塊,加法器模塊和狀態(tài)控制器的時鐘信號。時鐘分頻模塊見圖4.6。圖4.6 時鐘分頻模塊投幣模塊是利用外部輸入的數(shù)據(jù),將其轉(zhuǎn)換成二進制的代碼,輸出給輸入貨幣寄存模塊。input_1,inp

48、ut_5 ,input_10分別為不同數(shù)額的輸入信號。投幣模塊見圖4.7。圖4.7 投幣模塊數(shù)據(jù)比較模塊是用于庫存是否大于0而準備的,當庫存如果大于0時,則led燈不會亮起,如果庫存小于0時,led燈則會亮起,起報警作用。數(shù)據(jù)比較模塊見圖4.8。圖4.8 數(shù)據(jù)比較模塊減法模塊是執(zhí)行庫存減1的效果,en_6是由狀態(tài)機控制的,是在出貨的同時,令en_6有效,并且執(zhí)行庫存減1的操作,將其的結(jié)果輸出給貨物ram模塊。減法模塊見圖4.9。圖4.9 減法模塊輸入貨幣寄存器模塊,這個模塊相當于一個計數(shù)的寄存器,可以準確計算投幣的數(shù)額,來確??値胖?。當清零信號或者復(fù)位信號有效時,都將值賦值為0。en1是有狀態(tài)

49、控制器控制的,當en1有效時,來計算投幣的數(shù)額,輸出信號是輸出總幣值。輸入貨幣寄存模塊見圖4.10。圖4.10 輸入貨幣寄存模塊輸出顯示譯碼模塊是將輸入的值分別顯示到兩個七段數(shù)碼管上,一個輸出十位數(shù),一個輸出個位數(shù)字。輸出顯示譯碼模塊見圖4.11。圖4.11 輸出顯示譯碼模塊貨物選擇模塊是通過外部的四個撥動開關(guān)完成商品選擇,在接收到對應(yīng)四個撥動開關(guān)的信號時進行編譯,rest為0時并且使能信號en2有效時,商品可以進行選擇。當en2無效時,四個商品選擇鍵無效。貨物選擇模塊見圖4.12。圖4.12 貨物選擇模塊二選一選擇模塊所實現(xiàn)的功能就是選擇是將投幣的值輸出還是該退幣的金額進行輸出。當使能信號有

50、效的時候就是將投入的金額輸出,當使能信號無效時就將該退幣的金額進行輸出。二選一選擇模塊見圖4.13。圖4.13 二選一選擇模塊庫存Ram模塊是經(jīng)過ip核生成的一個模塊,這個模塊中存儲了每樣物品的庫存,并且能夠更新貨物的庫存。庫存Ram模塊見圖4.14。圖4.14 庫存Ram模塊貨物Rom模塊是存儲了每種貨物的價格,輸出連接加法器模塊。貨物Rom模塊見圖4.15。圖4.15 貨物Rom模塊加法器模塊主要實現(xiàn)的功能是來輸出輸入的貨幣金額跟物品的價格進行比較,看是否大于等于0,如若等于或大于0時則將他倆的差值輸出。加法器模塊見圖4.16。圖4.16 加法器模塊4.3.2控制單元模塊設(shè)計 狀態(tài)轉(zhuǎn)換圖,

51、見圖4.17所示。根據(jù)藥品自動售貨機的特點,將設(shè)計系統(tǒng)分為了5種狀態(tài),分別為等待投幣狀態(tài),投幣狀態(tài),選擇藥品狀態(tài),輸出藥品狀態(tài)和空閑狀態(tài)。同時還有一個庫存狀態(tài)。系統(tǒng)首先進入等待投幣狀態(tài),如果使能信號en2有效,系統(tǒng)進入選貨狀態(tài),如果判斷ok信號有效,則進入出貨的狀態(tài),如果退幣信號與清零信號同時有效,有效則進入退幣狀態(tài),在出貨的同時判斷使能信號是否有效,有效庫存減1,否則保持原值。最后進入退幣狀態(tài)后無條件跳轉(zhuǎn)到等待投幣狀態(tài)。圖4.17 狀態(tài)轉(zhuǎn)換圖狀態(tài)說明圖見圖4.18。圖4.18 狀態(tài)說明圖4.4 FPGA開發(fā)板本文所用到的FPGA開發(fā)板是采用Altera公司推出的Cyclone系列芯片EP2C

52、8Q208C8芯片作為核心處理器進行設(shè)計,Cyclone系列芯片可以說是目前市場上性價比較高的芯片,比第一代的EP1C6或者EP1C12等芯片無論在芯片的設(shè)計上還是內(nèi)部的邏輯資源上都有了很大的改進,同時價格也可以被廣大的客戶所接受。該學(xué)習(xí)板包含時鐘,蜂鳴器8個LED燈顯示,5個按鍵開關(guān),因此該板子作為學(xué)習(xí)版是最合適不過的,滿足我們學(xué)生各方面的需求。4.5 顯示電路本設(shè)計是要將貨幣的金額進行顯示,因此需要通過7段數(shù)碼管來顯示,七段數(shù)碼管圖如4.19所示。圖4.19 七段數(shù)碼管圖大連東軟信息學(xué)院畢業(yè)設(shè)計(論文)第5章系統(tǒng)實現(xiàn)5.1數(shù)據(jù)通道實例化代碼module top(input_1,input_

53、5,input_10,goods_1,goods_2,goods_3,goods_4,en2,ok,quit,clk1,Rst1,out_d1,out_d2,out_d3,rest);input input_1,input_5,input_10,goods_1,goods_2,goods_3,goods_4,clk1,Rst1,en2,ok,quit,rest; /輸入信號output 6:0out_d1,out_d2,out_d3;/輸出信號wire 3:0a,j;/ 定義線性的變量用于實例化時,連接不同的模塊wire 6:0b,c,e,f;wire d,clk;wire 3:0q,q_1;

54、wire en1,en2,en3,en4,ok,quit,havegoods,change;wire 4:0k;assign k=1b0,j;decoder de(.input_1(input_1),.input_5(input_5),.input_10(input_10),.out_m(a);/實例化投幣模塊money mon(.input_m(a),.clk(clk),.rest(rest),.clear(d),.en1(en1),.outmoney(b); /實例化貨幣寄存模塊add ad(.input_a(b),.goods_u(e),.out_c(c),.clk(clk),.rest

55、(rest),.en3(en3),.en5(en5),.en2(en2); /實例化加法模塊decoder_2 de_2(.input_d2(f),.out_d1(out_d1),.out_d2(out_d2); /實例化輸出顯示譯碼模塊goods_select go_s(.goods_1(goods_1),.goods_2(goods_2),.goods_3(goods_3),.goods_4(goods_4),.en2(en2),.clk(clk),.rest(rest),.out_g(j); /實例化貨物選擇模塊goods_rom go_r(.input_g(j),.goods_m(e)

56、; /實例化貨物金額存儲模塊select_2 sel(.s_a(c),.s_b(b),.o_c(f),.en4(en4); /實例化二選一選擇模塊compare co(.input_co(f),.clear(d),.quit(quit),.q(q),.havegoods(havegoods),.out_d3(out_d3); /實例化比較模塊machine mach(.clk(clk),.rest(rest),.en1(en1),.en3(en3),.en4(en4),.clear(d),.quit(quit),.ok(ok),.en2(en2),.en5(en5),.en6(en6),.ha

57、vegoods(havegoods),.change(change); /實例化狀態(tài)機模塊sub sub(.q(q),.en6(en6),.q_1(q_1); /實例化減法模塊goods_ram goods_ram(.address(k),.clock(clk),.data(q_1),.wren(en3&(b-e0),.q(q);/實例化貨物庫存模塊hz t_hz(.clk_50(clk1),.clk_1(clk),.Rst1(Rst1); /實例化時鐘分頻模塊endmodule5.2控制單元模塊module machine(clk,rest,en1,en3,en4,clear,quit,ok

58、,en2,en5,en6,havegoods,change/*money_ld*/);input clk,rest,clear,quit,ok,en2,en5,havegoods;output en1,en3,en4,change,en6;reg2:0state,nextstate;wire en1,en2,en3,en4,havegoods;parameter Idle=3b000,Get_m=3b001,Select_g=3b010,Out_g=3b011,free=3b100,Out_m=3b100;/定義各個參數(shù)的值assign en1=(en2=0)?1b1:1b0;/判斷en2信號

59、是否等于0,若為0,則en1有效assign en3=(state=Select_g)?1b1:1b0;assign en4=(state=Get_m)?1b0:1b1;assign en6=(havegoods=1)?1b1:1b0;assign change=(state=free)?1b1:1b0;always(posedge clk)if(rest)state=Idle;else state=nextstate;always(*)case(state) Idle:nextstate=Get_m;./初始化的下一個狀態(tài)是投幣 Get_m:if(en2=1)/判斷使能信號是否有效 next

60、state=Select_g;/下一個狀態(tài)是選擇商品 else nextstate=Get_m; Select_g:if(ok=1)/判斷ok信號是否有效 nextstate=Out_g;/下一個狀態(tài)是出貨 else if(quit=1)/若退幣信號有效 nextstate=Out_m;/下一狀態(tài)為出幣 else nextstate=Select_g; Out_g:if(en5=1) begin/判斷使能信號是否有效 if(quit=1)&(clear=0)/判斷清零信號無效且退幣信號有效時 nextstate=free;/下一狀態(tài)為等待狀態(tài) else if(quit=0)&(clear=0)

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論