畢業(yè)設(shè)計(論文)基于FPGA的航空設(shè)備綜合檢測儀_第1頁
畢業(yè)設(shè)計(論文)基于FPGA的航空設(shè)備綜合檢測儀_第2頁
畢業(yè)設(shè)計(論文)基于FPGA的航空設(shè)備綜合檢測儀_第3頁
畢業(yè)設(shè)計(論文)基于FPGA的航空設(shè)備綜合檢測儀_第4頁
畢業(yè)設(shè)計(論文)基于FPGA的航空設(shè)備綜合檢測儀_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、南昌航空大學(xué)學(xué)士學(xué)位論文1 緒論1.1 引言隨著新技術(shù)的發(fā)展,航空維修檢測技術(shù)經(jīng)歷了從原始的五官檢測到現(xiàn)今的機內(nèi)自檢測、自診斷技術(shù)與人工智能測試的過程。在這個過程中,機載設(shè)備日益增多,航空裝備日趨復(fù)雜,比如現(xiàn)今飛機在電氣控制中大量采用電磁閥、電動機構(gòu)、控制活門等控制設(shè)備,分別用于操縱、燃油、環(huán)控等系統(tǒng)中。這些設(shè)備的起動電壓、工作電壓、門限電壓以及各狀態(tài)下的電壓和電流值等性能參數(shù)在其安全范圍內(nèi)能保證飛機安全飛行,但性能指標(biāo)一旦超出安全范圍,如果不能被及時檢測并更換設(shè)備,將會干擾和危害飛機的飛行控制、通信導(dǎo)航等系統(tǒng),降低設(shè)備的帶負(fù)載能力,嚴(yán)重時會導(dǎo)致飛機失靈,從而釀成不可挽回的重大飛行事故。所以設(shè)

2、備性能參數(shù)超標(biāo)與否是威脅飛行安全的重要因素之一,并受到越來越多機務(wù)維護(hù)工作者的關(guān)注。在高技術(shù)條件下,為了及時、準(zhǔn)確、定性的判斷設(shè)備性能參數(shù)超標(biāo)與否,需要研制一種切實可行的航空設(shè)備檢測方法,設(shè)計一種客觀、準(zhǔn)確、快速、方便的航空設(shè)備綜合檢測儀。而航空設(shè)備綜合智能檢測儀必須有一個與所有被測設(shè)備均能相互連接的復(fù)用接口,本文就對航空設(shè)備綜合檢測儀復(fù)用接口進(jìn)行了分析,設(shè)計了一種航空設(shè)備綜合檢測儀的復(fù)用接口。 通常航空設(shè)備綜合檢測儀的復(fù)用接口的控制電路由傳統(tǒng)的集成電路組成,因此帶來了體積大、成本高、可靠性低等缺點,本文采取了vhdl硬件描述語言1 設(shè)計了一種基于fpga的航空設(shè)備綜合檢測儀的復(fù)用接口。本設(shè)計

3、的特色就在于使用了vhdl硬件描述語言。大概來說,vhdl語言具有如下優(yōu)點:可讀性強、可移植性強、與工藝無關(guān)、覆蓋面廣、成本低、具有多層次描述功能。vhdl語言硬件描述能力強,設(shè)計效率高,具有較高的抽象描述能力。設(shè)計的原始描述可以非常簡練,經(jīng)過層層加強后,最終可成為直接付諸生產(chǎn)的電路或版圖參數(shù)描述。其使用期長,不會因工藝變化而使描述過時,因為vhdl的硬件描述與工藝無關(guān),當(dāng)工藝改變時,不必像電路原理圖一樣要重新設(shè)計而造成資源浪費,只需修改相應(yīng)程序中的屬性參數(shù)即可。一般來說,一個大規(guī)模的設(shè)計很難由一個人獨立完成,必須將設(shè)計任務(wù)分解為各個模塊,再由多人共同承擔(dān)相應(yīng)模塊的設(shè)計任務(wù),而vhdl支持大規(guī)

4、模設(shè)計的分解和已有設(shè)計的再利用,這就為大規(guī)模設(shè)計提供了很大的方便。在使用vhdl語言時,應(yīng)該注重理解其三個精髓:軟件的數(shù)據(jù)類型與硬件電路的唯一性、硬件行為的并行性決定了vhdl的語言的并行性、軟件仿真的順序性與硬件行為的并行性。1.2 航空設(shè)備檢測技術(shù)簡介 檢測技術(shù)14是一門科學(xué),是航空維修工程技術(shù)的重要組成部分。維修檢測技術(shù)的發(fā)展,直接影響到維修思想、維修方式,甚至維修體制的變革。檢測是應(yīng)用一定手段(檢測設(shè)備、工具和方法),按照一定的標(biāo)準(zhǔn),對裝備的狀況進(jìn)行判斷的過程。航空技術(shù)裝備的檢測是維修性設(shè)計的極為重要的組成部分。按照檢測目的,通常劃分為鑒定性檢測、診斷性檢測和預(yù)防性檢測。檢測如按發(fā)展過

5、程又可分為離位檢測、原位檢測、故障機內(nèi)檢測、綜合測試與維修系統(tǒng),以及人工智能專家系統(tǒng)。另外,無損檢測也是檢測中的一項重要技術(shù),它是針對航空技術(shù)裝備中材料方面的裂紋故障和缺陷故障而使用的一項檢測技術(shù)。無損檢測現(xiàn)在主要使用的技術(shù)手段可分為超聲波、磁粉、電渦流、滲透、x射線等。這幾年有些公司又采用了激光全息照相技術(shù)、超聲c掃瞄和連續(xù)運動x射線照相設(shè)備。超聲c掃瞄比非自動化設(shè)備效率高10倍,連續(xù)運動x射線照相設(shè)備比靜止的高4倍,而全息照相設(shè)備還可以檢查復(fù)合材料面板與夾芯之間的膠接質(zhì)量。 隨著科技的日益發(fā)展,航空測試新技術(shù)更是接踵而來。比如新型傳感器技術(shù)就有智能傳感器、光纖傳感器、機器人傳感器以及磁傳感

6、器和紅外傳感器。還有新發(fā)現(xiàn)的聲、光、磁方面的最新技術(shù)手段都可用與測試領(lǐng)域。總之現(xiàn)代測試領(lǐng)域的技術(shù)綜合利用了各種高技術(shù)成果,諸如低功耗高速高密度器件,大容量存儲器件、人工智能器件、容錯芯片、高性能微處理機,內(nèi)有豐富控制程序與選進(jìn)控制算法的數(shù)字式控制器以及激光與光纖技術(shù)等。在這些高技術(shù)產(chǎn)品為基礎(chǔ)上,還發(fā)展了先進(jìn)的傳感器技術(shù)、人工智能技術(shù)以及動態(tài)實時建模技術(shù)。不久,現(xiàn)代測試系統(tǒng)將是一種非常靈活的系統(tǒng),可按需要隨意組配成大、中、小型系統(tǒng),而且其應(yīng)用將深入到各個領(lǐng)域。 1.3 課題研究內(nèi)容及方案隨著人類對太空領(lǐng)域的不斷探索,對航空設(shè)備的要求也越來越高。在航空領(lǐng)域中,任何疏忽都會造成重大損失甚至人員傷亡。

7、縱觀諸多因素,除對操作者素質(zhì)的要求比較高之外,對智能儀器的依賴也十分大。因此,具有體積小、成本低、可靠性高等特點的設(shè)備越來越受到人們的青睞,尤其是可靠性和體積方面。鑒于此,本文提出了一種基于fpga航空設(shè)備綜合檢測儀復(fù)用接口的設(shè)計方案。雖然,該復(fù)用接口只是航空檢測儀的一部分,但因為設(shè)計的接口多樣而使工作變得繁重。本文復(fù)用接口集成在單芯片中,包括了普通設(shè)備的四位數(shù)據(jù)接口、八位數(shù)據(jù)接口、十六位數(shù)據(jù)接口及三十二位數(shù)據(jù)接口,其中各接口除了具備傳統(tǒng)的串行和并行接口外,還加入了串并轉(zhuǎn)換接口和并串轉(zhuǎn)換接口功能。設(shè)計方案如下:(1)用矩陣開關(guān)來切換各接口,完成接口地址尋址的功能并輸出狀態(tài)信息和控制信息。(2)

8、根據(jù)不同接口設(shè)計不同的接口電路。(3)將各子模塊綜合到一個模塊中并用quartus ii軟件進(jìn)行仿真,根據(jù)仿真情況對電路進(jìn)行修改,直到實現(xiàn)功能。2 設(shè)計要點2.1 數(shù)字系統(tǒng)設(shè)計技術(shù)近些年數(shù)字系統(tǒng)的設(shè)計方法發(fā)生了深刻的變化。傳統(tǒng)的數(shù)字系統(tǒng)通常是采用搭積木式的方式設(shè)計的,即由一些固定功能的器件加上一定的外圍電路構(gòu)成模塊,由這些模塊進(jìn)一步形成各種功能電路,進(jìn)而構(gòu)成系統(tǒng)。構(gòu)成系統(tǒng)的“搭積木”是各種標(biāo)準(zhǔn)芯片,如74/54(ttl)、4000/4500系列(cmos)芯片等,這些芯片的功能是固定的,用戶只能根據(jù)需要從這些標(biāo)準(zhǔn)器件中選擇,并按照推薦的電路搭成系統(tǒng)。在設(shè)計時,幾乎沒有靈活性可言,設(shè)計一個系統(tǒng)的

9、芯片種類多且數(shù)量大。pld器件和eda技術(shù)的出現(xiàn),改變了這種傳統(tǒng)的設(shè)計思路,使人們可以立足于pld芯片來實現(xiàn)各種不同功能的電路,新的設(shè)計方法能夠由設(shè)計者自己定義器件內(nèi)部邏輯和引腳,將原來由電路板設(shè)計完成的工作大部分放在芯片設(shè)計中進(jìn)行。這樣不僅可以通過芯片設(shè)計實現(xiàn)各種數(shù)字邏輯功能,而且由于管腳定義的靈活性,減輕了原理圖和印制電路板設(shè)計的工作量和難度,增加了設(shè)計的自由度,提高了效率。同時這種設(shè)計減少了所需芯片的種類和數(shù)量,縮小了體積,降低了功耗,提高了系統(tǒng)的可靠性。在基于eda技術(shù)的設(shè)計11中,通常有兩種設(shè)計思路,一種是自頂向下的設(shè)計思路,一種是自底向上的設(shè)計思路。(1) top-down設(shè)計to

10、p-down設(shè)計,即自頂向下的設(shè)計。這種設(shè)計方法首先從系統(tǒng)設(shè)計入手,在頂層進(jìn)行功能方框圖的劃分和結(jié)構(gòu)設(shè)計。在功能級進(jìn)行仿真、糾錯,并用硬件描述語言對高層次的系統(tǒng)行為進(jìn)行描述,然后用綜合工具轉(zhuǎn)化為具體門電路網(wǎng)表,其對應(yīng)的物理實現(xiàn)可以是pld器件或?qū)S玫募呻娐罚╝sic)。由于設(shè)計的主要仿真和調(diào)試是在高層次完成的,這一方面有利于早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計上的錯誤,避免設(shè)計工作的浪費,同時也減少了邏輯功能仿真的工作量,提高了設(shè)計工作的一次成功率。在top-down的設(shè)計中,將設(shè)計分成幾個不同的層次:系統(tǒng)級、功能級、門級、開關(guān)級等,按照自上而下的順序,在不同的層次上,對系統(tǒng)進(jìn)行設(shè)計與仿真。top-down的設(shè)

11、計必須經(jīng)過“設(shè)計驗證修改再驗證”的過程,不斷反復(fù),直到得到的結(jié)果能夠完全實現(xiàn)所需要的邏輯功能,并且在速度、功耗、價格和可靠性方面實現(xiàn)較為合理的平衡。不過,這種設(shè)計也并非絕對的,在設(shè)計過程中,有時也需要自下而上的方法,就是在系統(tǒng)化分和分解的基礎(chǔ)上,先進(jìn)行底層單元設(shè)計然后再逐步向上進(jìn)行功能模塊、子系統(tǒng)的設(shè)計,直至構(gòu)成整個系統(tǒng)。(2)bottom-up設(shè)計bottom-up設(shè)計,即自底向上的設(shè)計,這是一種傳統(tǒng)的設(shè)計思路。這種設(shè)計方式,一般是設(shè)計者選擇標(biāo)準(zhǔn)集成電路,或者將各種基本單元,如各種門以及加法器、計數(shù)器等模塊做成基本單元庫,調(diào)用這些基本單元,逐級向上組合,直到設(shè)計出滿足自己需要的系統(tǒng)為止。這樣

12、的設(shè)計方法就如同一磚一瓦建造金字塔,不僅效率低、成本高,而且容易出錯。top-down的設(shè)計由于更符合人們邏輯思維的習(xí)慣,也容易使設(shè)計者對復(fù)雜的系統(tǒng)進(jìn)行合理的劃分與不斷優(yōu)化,因此是目前設(shè)計思想的主流。而bottom-up的設(shè)計往往使設(shè)計者關(guān)注了細(xì)節(jié),而對整個系統(tǒng)缺乏了規(guī)劃,當(dāng)設(shè)計出行問題時,如果要修改的話,就會比較麻煩,甚至前功盡棄,不得不從頭再來。因此,在數(shù)字系統(tǒng)的設(shè)計中,主要采用top-down的設(shè)計思路,而以bottom-up設(shè)計為輔。(3)ip復(fù)用技術(shù)與soc當(dāng)電子系統(tǒng)的設(shè)計越來越向高層次發(fā)展的時候,基于ip復(fù)用(ip reuse)的設(shè)計技術(shù)越來越顯示出優(yōu)越性。ip(intellect

13、ual property),其原來的含義是指知識產(chǎn)權(quán)、著作權(quán)等,在ic設(shè)計領(lǐng)域可將其理解為實現(xiàn)某種功能的設(shè)計,ip核則是指完成某種功能設(shè)計的模塊。ip核分為硬核、固核和軟核三種類型。軟核指的是在寄存器級或門級對電路功能用hdl進(jìn)行描述,表現(xiàn)為vhdl或verilog hdl代碼,軟核與生產(chǎn)工藝無關(guān),不涉及物理實現(xiàn),為后續(xù)設(shè)計留有很大的空間,增大了ip核的靈活性和適應(yīng)性。用戶可以對軟件的功能加以裁剪以符合特定的應(yīng)用,也可以對軟核的參數(shù)進(jìn)行設(shè)置,包括總線寬度、存儲器容量、使能或禁止功能塊等。硬核指的是以版圖形式實現(xiàn)的設(shè)計模塊,它基于一定的設(shè)計工藝,通常用gdsii格式表示,不同的客戶可以根據(jù)自己的

14、需要選用特定生產(chǎn)工藝下的硬核。固核是完成了綜合的功能塊,通常以網(wǎng)表的形式提交客戶使用。軟核使用靈活,但其可預(yù)測性差,延時不一定能達(dá)到要求;硬核可靠性高,能確保性能,如速度、功耗,能夠很快的投入使用。 2.2 現(xiàn)場可編程門陣列fpga全稱field programmable gate array,即現(xiàn)場可編程門陣列1,它是作為專用集成電路 (asic)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路有限的缺點。fpga采用了邏輯單元陣列l(wèi)ca(logic cell array)這樣一個新概念,內(nèi)部包括可配置邏輯模塊clb(configurable logic

15、block)、輸出輸入模塊iob(input output block)和內(nèi)部連線(interconnect)三個部分。fpga由可編程邏輯單元陣列、布線資源和可編程的i/o單元陣列構(gòu)成,一個fpga包含豐富的邏輯門、寄存器和i/o資源。一片fpga芯片就可以實現(xiàn)數(shù)百片甚至更多個標(biāo)準(zhǔn)數(shù)字集成電路所實現(xiàn)的系統(tǒng)。fpga的結(jié)構(gòu)靈活,其邏輯單元、可編程內(nèi)部連線和i/o單元都可以由用戶編程,可以實現(xiàn)任何邏輯功能,滿足各種設(shè)計需求。其速度快,功耗低,通用性強,特別適用于復(fù)雜系統(tǒng)的設(shè)計。使用fpga還可以實現(xiàn)動態(tài)配置、在線系統(tǒng)重構(gòu)及硬件軟化、軟件硬化等功能。2.2.1 fpga的基本特點(1)fpga的容

16、量較大,包含大量的邏輯單元、內(nèi)嵌存儲器,以及一些其他高級特點,適合比較復(fù)雜的時序邏輯的應(yīng)用,比如,嵌入式cpu、數(shù)據(jù)處理等,它的現(xiàn)場可編程,還可以配合單片機或dsp工作;(2)fpga提供了充足的有效邏輯容量密度,不僅大大減少印刷電路板的空間,大大降低系統(tǒng)功耗,同時大大提高了系統(tǒng)設(shè)計的工藝可實現(xiàn)性和產(chǎn)品的可取性;(3)fpga內(nèi)部采用片段連接(segment interconnect),采用這種連接可以充分利用其繞線功能;(4)fpga是asic電路中設(shè)計周期最短、開發(fā)費用最低、風(fēng)險最小的器件之一;(5)fpga采用高速chmos工藝,功耗低,可以與cmos、ttl電平兼容。fpga除了具有a

17、sic的特點之外,還具有以下幾個優(yōu)點:(1)隨著vlsi工藝的不斷提高,單一芯片內(nèi)部可以容納上百萬個晶體管,fpga芯片的規(guī)模也越來越大,起單片邏輯門數(shù)已達(dá)到上百萬門,它能實現(xiàn)的功能也越來越多,同時也可以實現(xiàn)系統(tǒng)集成;(2)fpga芯片在出廠之前都做過百分之百的測試,不需要設(shè)計人員承擔(dān)投片風(fēng)險和費用,設(shè)計人員只需在自己的實驗室里即可通過相關(guān)的軟硬件環(huán)境來完成芯片的最終功能設(shè)計。所以,fpga投入?。?3)用戶可以反復(fù)地編程、擦拭、使用,或者在外圍電路不動的情況下用不同軟件來實現(xiàn)不同的功能;(4)fpga在運算執(zhí)行方式上可以根據(jù)現(xiàn)實運算方式的不同而不同,所以其運算的速度遠(yuǎn)高于單片機。 可以說,f

18、pga芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。2.2.2 cyclone fpga簡介altera 在最初階段,聽取了客戶的建議,設(shè)計了全新的cyclone器件滿足的大批量應(yīng)用所需的特殊功能、容量、性能和加個水平。全球標(biāo)準(zhǔn)、平臺趨同、交互和技術(shù)改進(jìn)等新的市場趨勢不斷促進(jìn)了對成本核算方案的需求,有史以來成本最低的fpga-cyclone器件為某些市場的客戶提供了必需的價格水平和功能,在市場上創(chuàng)新是根本,搶先面市就確定了領(lǐng)導(dǎo)對位。cyclone8器件采用成優(yōu)化的全銅1.5vs ram工藝。cyclone具有多達(dá)288kb的片內(nèi)ram并集成了一些復(fù)雜的功能。cyclone器件具有多個全

19、功能pll,能夠管理板極的時鐘網(wǎng)絡(luò)和同工業(yè)標(biāo)準(zhǔn)外部存儲器相連的專用i/o接口。altera的nios嵌入處理器和完整的ip庫也可以用于cyclone器件開發(fā)。實際上,在cyclone器件系列具有容量和性能的極佳組合,每個le的價格不到1.5美元,是相競爭的fpga的一半,涉及消費類產(chǎn)品、通信、計算機外設(shè)、汽車和工業(yè)市場等大批量應(yīng)用系統(tǒng)。設(shè)計者正在利用可編程邏輯的靈活性、經(jīng)濟(jì)性和及時面市的優(yōu)勢。本設(shè)計選用atlera公司 cyclone ii系列的ep2c70p896c6芯片,該芯片的核心電壓為5v,包含68416個le單元和1152000個存儲單元,具有622個管腳;該芯片所具有的資源足以完成

20、本設(shè)計。2.3 硬件描述語言2.3.1 硬件描述語言概述硬件描述語言的發(fā)展至今已有幾十年的歷史,并已經(jīng)成功地應(yīng)用到系統(tǒng)仿真、驗證和設(shè)計、綜合等方面。目前常用的硬件描述語言有vhdl、veriloghdl、abel等。其中veriloghdl起源于集成電路的設(shè)計,abel起源于可編程邏輯器件的設(shè)計,而vhdl則起源于vhsic計劃,這是美國國防部于1980年制定的,目標(biāo)是為下一代集成電路的設(shè)計和制造而制定的一種新的描述方法。vhsic計劃和同期的arpar(先進(jìn)的計算機體系結(jié)構(gòu))計劃,成為后來信息高速公路計劃的基礎(chǔ)。vhdl是ieee標(biāo)準(zhǔn)化的硬件描述語言,并且已經(jīng)成為系統(tǒng)描述的國際公認(rèn)標(biāo)準(zhǔn),得到

21、眾多eda公司的支持。2.3.2 vhdl語言vhdl主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,它是目前標(biāo)準(zhǔn)化程度最高的一種硬件描述語言。vhdl10有兩個標(biāo)準(zhǔn)版本,最早是在1987年底,ieee公布了vhdl的標(biāo)準(zhǔn)版本ieee-1076。1993年,ieee對vhdl進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力發(fā)面擴展了vhdl的內(nèi)容,公布了新版本的vhdl,即ieee標(biāo)準(zhǔn)的1076-1993版本。這兩種版本在書寫格式上有細(xì)微差別,不過絕大部分eda軟件都支持這兩種版本的書寫格式。1997年,能夠同時描述數(shù)字和模擬集成電路的vhdl語言標(biāo)準(zhǔn)ieee1076.1發(fā)布,即vhdl-ams。 v

22、hdl是一種全方位的硬件描述語言,包括從系統(tǒng)到電路的所有設(shè)計層次。在描述風(fēng)格上,vhdl支持結(jié)構(gòu)、數(shù)據(jù)流和行為三種描述形式的混合描述。行為描述以過程語句來表達(dá),數(shù)據(jù)流描述實際上是rtl級語言的擴展,因此vhdl幾乎覆蓋了以往各種語句描述語言的功能,整個自頂向下或由底向上的電路設(shè)計過程都可以用vhdl完成。vhdl除具備一般的hdl優(yōu)點外,其特點是:(1)通用性好,支持面廣。由于它是工業(yè)標(biāo)準(zhǔn),凡大型cad軟件都推出支持vhdl的設(shè)計環(huán)境。因此用vhdl描述的設(shè)計文件,可用不同的設(shè)計工具。(2)復(fù)用性好。在用vhdl語言設(shè)計系統(tǒng)硬件時,沒有嵌入與工藝有關(guān)的信息。當(dāng)門級或門級以上的層次通過仿真驗證后

23、,再用相應(yīng)的工具將設(shè)計映射成不同的工藝(如moscmos等)。這樣,在工藝更新時,就無須修改原程序,只要改變相應(yīng)的映射工具就行了。因此vhdl設(shè)計模塊便于在不同的設(shè)計場合重復(fù)使用。(3)可靠性好。vhdl文件兼技術(shù)文檔與實體設(shè)計于一身,可讀性好,既是技術(shù)說明,又是設(shè)計實現(xiàn),從而保證了二者的一致性。2.4 接口技術(shù)概述2.4.1 接口概念接口2(interface)是微處理器cpu與外部設(shè)備、存儲器或者兩種外部設(shè)備之間或者兩種機器之間通過系統(tǒng)總線進(jìn)行連接的邏輯電路,它是cpu與外界進(jìn)行信息交換的中轉(zhuǎn)站。比如原始數(shù)據(jù)或源程序通過接口從輸入設(shè)備(例如鍵盤)輸入;運算結(jié)果通過接口輸出到輸出設(shè)備(例如打

24、印機、顯示器);控制命令通過接口送到被控對象(例如步進(jìn)電機);現(xiàn)場采集的信息通過接口傳送進(jìn)來(例如溫度值或轉(zhuǎn)數(shù)值)。要使外部設(shè)備正常工作,一是要設(shè)計正確的接口電路,二是要編制相應(yīng)的軟件。可以說微機接口技術(shù)是采用硬件和軟件相結(jié)合的方法來研究微處理器如何與外部世界進(jìn)行最佳耦合與匹配,以便在cpu與外部世界之間進(jìn)行高效、可靠的信息交換技術(shù)。 2.4.2 接口的功能外部設(shè)備的種類繁多,可以是機械式的、電子式的、機電式的、磁電式的以及光電式的等。輸入輸出的信息多種多樣,有數(shù)字信號、模擬信號以及開關(guān)信號等;信息傳輸?shù)乃俣纫膊幌嗤?,手動鍵盤輸入速度為秒級,而磁盤輸入可達(dá)1兆字節(jié)/秒至數(shù)十兆字節(jié)/秒,不同外設(shè)

25、處理信息的信息也相差懸殊。另外,微型計算機與不同的外部設(shè)備之間所傳輸?shù)男畔⒏袷胶碗娖礁叩鸵彩嵌喾N多樣的。這就形成了外設(shè)接口電路的多樣性和復(fù)雜性。cpu與外設(shè)之間的接口主要有如下功能。1 數(shù)據(jù)的寄存和緩沖功能為了解決主機高速與外設(shè)低速的矛盾,避免因速度不一致而丟失數(shù)據(jù),使cpu的工作效率得到充分發(fā)揮,接口內(nèi)設(shè)置數(shù)據(jù)寄存器或者用ram芯片組成數(shù)據(jù)緩沖區(qū),使之成為數(shù)據(jù)交換的中轉(zhuǎn)站。接口的數(shù)據(jù)保持能力在一定程度上緩解了主機與外設(shè)之間速度差異所造成的沖突,并為主機與外設(shè)的批量數(shù)據(jù)傳輸創(chuàng)造了條件(“數(shù)據(jù)口”)。2 對外設(shè)的控制和監(jiān)測能力接口接受cpu送來的命令字或控制字,再有接口電路對命令代碼進(jìn)行識別和分

26、析,并分解成若干個控制命令,實施對外部設(shè)備的控制和管理(“命令口”)。外部設(shè)備的工作狀況以狀態(tài)字或應(yīng)答信號通過接口返回給cpu,以“握手聯(lián)絡(luò)”過程來保證主機與外設(shè)輸入/輸出操作的同步于協(xié)調(diào)(“狀態(tài)口”)。3 設(shè)備選擇功能系統(tǒng)中一般帶有多種外設(shè),同一種外設(shè)可能也有多臺,而cpu在同一時刻只能與一臺外設(shè)交換信息,這就要借助接口中的地址譯碼電路對外設(shè)進(jìn)行尋址。只有被選中的外設(shè)才能與cpu進(jìn)行數(shù)據(jù)交換。4 信號轉(zhuǎn)換功能外部設(shè)備大都是復(fù)雜的機電設(shè)備,其所需的控制信號和所能提供的狀態(tài)信號往往同微機的總線信號不兼容,尤其是連接不同公司生產(chǎn)的芯片時,信號轉(zhuǎn)換就不可避免。信號轉(zhuǎn)換包括cpu信號與外設(shè)信號在模擬數(shù)

27、字信號上、時序配合上、數(shù)據(jù)格式上以及電平匹配上等的轉(zhuǎn)換。此外,為了防止干擾,常常使用光電耦合和繼電器計數(shù)等,使主機與外設(shè)在電氣上隔離。5 中斷管理或dma管理功能為了滿足實時性和主機與外設(shè)并行工作的要求,需要采用中斷傳送的方式;為了提高傳送的速率有時又采用dma傳送方式。這就要求接口有產(chǎn)生中斷請求和dma請求的能力以及中斷管理和dma管理的能力。6 可編程功能對一些通用的、功能齊全的接口電路,應(yīng)該具有可編程的能力,即可用軟件來選用多功能接口電路的某些功能,以適應(yīng)具體工作的要求,這也是近代接口電路的發(fā)展方向。并非每種接口都要求具備上述功能,對不同配置和不同用途的微機系統(tǒng),其接口功能不同,接口電路

28、的復(fù)雜程度也大不相同。但是,設(shè)備選擇、數(shù)據(jù)寄存于緩沖以及輸入/輸出操作的同步能力是各接口都應(yīng)具備的基本功能。2.4.3 cpu與外設(shè)之間傳送的信息一個簡單的、基本的外設(shè)接口框圖如圖2.1所示。外設(shè)接口一邊通過三總線(即db、ab、cb)同cpu連接,一邊通過三種信息數(shù)據(jù)信息、控制信息、和狀態(tài)信息同外設(shè)聯(lián)系cpu通過外設(shè)接口同外設(shè)交換的信息就是這三種。1 數(shù)據(jù)信息(data)微機中的數(shù)據(jù)信息大致包括三種基本類型。(1)數(shù)字量 以二進(jìn)制碼形式提供的信息,通常是8位、16位、和32位數(shù)據(jù)。(2)模擬量 當(dāng)微機用于控制時,諸如溫度、壓力、流量及位移等各種非電量現(xiàn)場信號。這些模擬量必須先經(jīng)過a/d轉(zhuǎn)換后

29、才能輸入微機;微機的控制輸出先經(jīng)過d/a轉(zhuǎn)換后才能去控制執(zhí)行機構(gòu)。(3)開關(guān)量 這是一些只有兩個狀態(tài)的量,如開關(guān)的合與斷以及l(fā)ed的亮與滅等。開關(guān)量只要用一位二進(jìn)制數(shù)即可表示,故8位數(shù)據(jù)總線的微機一次輸入或輸出可控制8個開關(guān)量。 2 狀態(tài)信息表示外設(shè)當(dāng)前所處的工作狀態(tài),例如ready(就緒信號)表示輸入設(shè)備已經(jīng)準(zhǔn)備好數(shù)據(jù),busy(忙信號)表示輸出設(shè)備是否能接收信息。 3 控制信息 控制信息是由cpu發(fā)出的用于控制外設(shè)接口工作方式,以及外設(shè)的啟動和停止的信息。數(shù)據(jù)信息、狀態(tài)信息和控制信息通常都以數(shù)據(jù)形式通過cpu的數(shù)據(jù)總線同cpu進(jìn)行傳送,這些信息分別存放在外設(shè)接口的不同類型的寄存器中。cpu

30、同外設(shè)之間的信息傳送實質(zhì)上是對這些寄存器進(jìn)行“讀”或“寫”操作?!敖涌凇敝羞@些可以和cpu進(jìn)行讀或?qū)懙募拇嫫鞅环Q為“端口”(port)。按存放信息的類型,這些端口可分為“數(shù)據(jù)口”、“狀態(tài)口”與“控制口”,分別存放數(shù)據(jù)信息、狀態(tài)信息和控制信息。在一個外設(shè)接口中往往需要有幾個端口才能滿足和協(xié)調(diào)外設(shè)工作,cpu通過訪問這些端口來了解外設(shè)的狀態(tài)、控制外設(shè)的工作以及外設(shè)之間的數(shù)據(jù)傳輸。cpu數(shù)據(jù)端口控制端口狀態(tài)端口譯碼外設(shè)cbdbab接口電路數(shù)據(jù)信息控制信息狀態(tài)信息圖 2.1 接口、端口作用示意圖3 開發(fā)平臺介紹3.1 開發(fā)軟件quartus ii9是altera公司的綜合性pld開發(fā)軟件,支持原理圖、

31、vhdl、veriloghdl以及ahdl等多種設(shè)計輸入形式,內(nèi)嵌自帶的綜合器以及仿真器,可以完成從設(shè)計到硬件配置的完整pld設(shè)計流程。它可以在windows xp、linux以及unix上使用,除了可以使用tcl腳本完成設(shè)計流程外,它還提供了完善的的用戶界面設(shè)計形式;具有運行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點。3.2基本設(shè)計流程3.2.1編輯設(shè)計文件及創(chuàng)建工程 (1)建立工程文件任何一項設(shè)計都是一項工程(project),都必須首先為此工程建立一個放置與其相關(guān)的所有設(shè)計文件的文件夾,此文件夾將被eda軟件默認(rèn)為工作庫。一般,不同的設(shè)計項目最好放在不同的文件夾中,而同一工程的所有文件都

32、必須放在同一文件夾中。在建立文件夾后就可以將設(shè)計文件通過quartus ii文本編輯器編輯并存盤。 altera公司的quartus ii 提供的各種原理圖庫進(jìn)行設(shè)計輸入是一種最為直接的輸入方式。若要使用這種輸入方式,應(yīng)采用自頂向下邏輯分塊,把大規(guī)模的電路劃分成若干小塊。一般而言,如果對系統(tǒng)很了解,并且系統(tǒng)速率較高,或在大系統(tǒng)中對時間特性要求較高的部分,可以采用這種方法。原理圖輸入效率較低,但容易實現(xiàn)仿真,便于信號的觀察以及電路的調(diào)整,在此不作詳述。(2)創(chuàng)建工程使用new project wizard命令可以為工程指定工作目錄、分配工程名稱以及指定最高層設(shè)計實體的名稱,還可以指定要在工程中使

33、用的設(shè)計文件、其他源文件、用戶庫和eda工具以及目標(biāo)器件系列和具體器件等。建立工程后,可以在工具欄的project add/remove files project頁在工程中添加、刪除和設(shè)計其他文件,在執(zhí)行quartus ii的 analysis &synthesis 期間,quartus ii將按add/remove files project頁中顯示的順序處理文件。3.2.2 全程編譯quartus ii編譯器是由一系列處理模塊構(gòu)成的,這些模塊負(fù)責(zé)對設(shè)計項目的檢錯,邏輯綜合、結(jié)構(gòu)綜合、輸出結(jié)果的編輯配置,以及時序分析。在這一過程中,將設(shè)計項目適配到fpga/cpld目標(biāo)器中,同時產(chǎn)生多種用

34、途的輸出文件,如功能和時序信息文件、器件編程的目標(biāo)文件等。編譯器首先檢查出工程設(shè)計文件中可能的錯誤信息,供設(shè)計者排除;然后產(chǎn)生一個結(jié)構(gòu)化的以網(wǎng)表形式的電路原理圖文件。編譯前首先選擇processing菜單的start compilation 命令,啟動全程編譯,這里所謂的全程編譯(compilation)是指以上提到的quartus ii對設(shè)計輸入的多項處理工作,其中包括排錯、數(shù)據(jù)網(wǎng)表文件提取、邏輯綜合、適配、裝配文件(仿真文件和編程配置文件)生成,以及基于目標(biāo)器件的工程時序分析等。編譯過程中要注意工程管理下方的processing欄中的編譯信息,如果工程的文件有錯,啟動編譯后在下方的proc

35、essing處理欄中顯示出來。對于processing欄中顯示的語句格式錯誤,可雙擊錯誤信息條文,即彈出對應(yīng)的vhdl文件,在深色標(biāo)記條處即為文件中的錯誤,再次進(jìn)行編譯直至排除所有錯誤。如果編譯成功,可以看到工程管理窗的左上角顯示了工程的層次結(jié)構(gòu)和其中的結(jié)構(gòu)模塊耗用的邏輯宏單元數(shù);在此欄下是編譯處理流程,包括數(shù)據(jù)網(wǎng)表建立、邏輯綜合、適配、配置文件裝配和時序分析等;最下欄是編譯處理信息;中欄(compilation report)是編譯報告項目選擇菜單,單擊其中各項可以詳細(xì)了解編譯與分析結(jié)果。3.2.3 時序仿真(1) 打開波形編輯器。選擇file new 命令,在new 對話框中選擇other

36、 files中的vector waveform files選項,單擊ok按鈕,即打開空白的波形編輯器。(2)設(shè)置仿真時間區(qū)域,對于時序仿真來說,將仿真時間設(shè)置在一個合理的時間區(qū)域上十分重要。通常設(shè)置時間范圍在數(shù)十微秒間。首先在edit菜單中選擇end time命令,即彈出對話框。設(shè)置好時間后單擊ok按鈕結(jié)束設(shè)置。(3)將工程的端口信號節(jié)點選入波形編輯器中。方法是首先選擇view菜單中的utility windows子菜單中的node finder命令。在fliter下拉表中選pins:all選項(通常已經(jīng)默認(rèn)選此項),然后單擊list按鈕,于是在nodes found列表框中顯示設(shè)計中的工程所

37、有端口引腳名。(4) 波形文件存盤。選擇filessave as命令。(5) 編輯輸入波形。(6)總線數(shù)據(jù)格式設(shè)置。(7)仿真方式的選擇。在quartus ii軟件中有兩種仿真方式:功能仿真和時序仿真。方法是:在菜單欄中選擇processingsimulation tool 命令即彈出仿真方式選擇窗口,在窗口simulation mode處是時序仿真和功能仿真選擇窗口。選擇好后,單擊generate functional netlist按鈕,再單擊“確定”按鈕,最后單擊start按鈕,即完成仿真方式的確定。(8)仿真器參數(shù)設(shè)計。選擇assignmentsetting命令,即彈出仿真參數(shù)設(shè)置窗口

38、。(9)啟動仿真器。所有設(shè)置完畢后,選擇processingstart simulation命令。(10)觀察仿真結(jié)果。仿真波形文件simulation report通常會自動彈出仿真結(jié)果。在窗口中單擊右鍵選擇zoomfit in windows命令則可看到整個屏幕。為了能對工程進(jìn)行硬件測試,應(yīng)將其輸入輸出信號鎖定在芯片確定的引腳上,編譯下載后還必須配置芯片進(jìn)行編譯,完成fpga的最終開發(fā)。引腳設(shè)定在菜單欄中選擇assigmentassigment editor命令,及彈出編輯器窗口,在category欄中選擇pin選項。引腳設(shè)定后,必須再編譯一次。編譯后,會生成sof格式配置文件,對fpga

39、進(jìn)行配置模式有:jtag,passive serial,active serial和in-socket.4 復(fù)用接口電路設(shè)計4.1復(fù)用接口電路總體結(jié)構(gòu)設(shè)計在本文中,復(fù)用接口由矩陣開關(guān)電路和接口電路組成。其中,矩陣開關(guān)電路設(shè)計主要由三部分組成:鍵盤接口電路和數(shù)字按鍵顯示電路及接口控制電路。接口電路設(shè)計主要由四部分組成:四位數(shù)據(jù)接口電路、八位數(shù)據(jù)接口電路、十六位數(shù)據(jù)接口電路及三十二位數(shù)據(jù)接口電路。其中,鍵盤接口電路包括時鐘產(chǎn)生電路、鍵盤掃描電路、鍵盤譯碼電路;四位數(shù)據(jù)接口電路包括并行接口、串行接口、串并轉(zhuǎn)換接口及并串轉(zhuǎn)換接口。八位數(shù)據(jù)接口電路包括并行接口、串行接口、串并轉(zhuǎn)換接口及并串轉(zhuǎn)換接口。同樣

40、十六位數(shù)據(jù)接口及三十二位數(shù)據(jù)接口也包括并行接口、串行接口、串并轉(zhuǎn)換接口及并串轉(zhuǎn)換接口。而且各數(shù)據(jù)接口電路都包含幀同步數(shù)字19生成模塊,實現(xiàn)了數(shù)據(jù)的幀同步傳輸。本設(shè)計復(fù)用接口實現(xiàn)的主要功能為:當(dāng)系統(tǒng)上電后,由矩陣開關(guān)輸入所要選擇的接口相對應(yīng)的鍵值,按下鍵后,就會打開相應(yīng)的接口,而后被測設(shè)備中的數(shù)據(jù)就可經(jīng)接口電路傳輸?shù)轿C系統(tǒng)中(鍵值與接口關(guān)系見附錄c)。4.2 矩陣開關(guān)電路設(shè)計4.2.1 矩陣式鍵盤的工作原理矩陣式鍵盤采用常用的行列格式,5x5矩陣鍵盤的面板配置及外圍接點電路26如圖4.1所示。鍵盤上的每一個按鍵是一個開關(guān)電路,當(dāng)有鍵被按下,且獲得相應(yīng)的掃描信號時,接點會呈現(xiàn)邏輯0狀態(tài)。因為每個

41、輸出接口都接到了電壓為+5v電源電圖4.1 矩陣鍵盤的面板配置及外圍接點電路路上,沒有鍵按下時,則會呈現(xiàn)由電源電路經(jīng)1k歐姆上拉電阻后給定的高電平狀態(tài),即邏輯1狀態(tài)。掃描信號由key_drv進(jìn)入鍵盤,變化的順序依次是11110 11101 11011 10111 01111 11110。每次掃描一行,依次周而復(fù)始。若掃描信號為11110,代表目前正在掃描第一行,如果該行沒有按鍵按下,則key_in4key_in0輸出的值為11111;反之,當(dāng)有鍵按下時,如“1”按鍵被按下,則由key_in4key_in0讀出的值為11110。同樣可列出其它按鍵與數(shù)碼的關(guān)系,如表41所示。表 4.1按鍵鍵值與數(shù)

42、碼的關(guān)系掃描輸入編碼key_drv4key_drv0 鍵盤輸出編碼按鍵編碼按鍵鍵值key_in4key_in011110 111101111011110 1 111011111011101 2 110111111011011 3 101111111010111 4 11101 11110 1110111110 5 11101 1110111101 6 11011 1110111011 7 10111 1110110111 8 10111 11110 1011111110 9 11101 1011111101 10 11011 1011111011 11 10111 1011110111 12

43、10111 111101011111110 13 11101 1011111101 14 11011 1011111011 15 10111 1011110111 16 01111 01111 0111101111 復(fù)位其中沒有給出定義的鍵視為擴展鍵,當(dāng)要實現(xiàn)其他功能時可對鍵盤進(jìn)行擴展。如果有按鍵被按下時,則將讀出的值送至編碼電路進(jìn)行編碼。按鍵具體功能見附錄c。4.2.2 時鐘產(chǎn)生電路及仿真時鐘產(chǎn)生電路的結(jié)構(gòu)特點是由存儲電路和組合電路兩部分組成,或通俗地說由觸發(fā)器和門電路組成,如圖4.2所示。時鐘電路的狀態(tài)是由存儲電路來記憶的,因而在時鐘電路中,觸發(fā)器是必不可少的。組 合 電 路存 儲 電 路

44、輸入輸出圖4.2 時鐘電路的結(jié)構(gòu)框圖在本文中,考慮到數(shù)據(jù)的傳輸延遲,將系統(tǒng)時鐘作了五十分頻,然后作為掃描電路的時鐘輸入。經(jīng)quartus ii仿真后的結(jié)果及生成的rtl電路如圖4.3、4.4所示,源程序如下:69library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity clkgen isport(clk:in std_logic; clk_scan: out std_logic);end entity clkgen;architectu

45、re one of clkgen issignal cnt:integer range 0 to 49;beginprocess(clk)beginif clkevent and clk=1 then if cnt=49 then cnt=0; else cnt=49/2 then clk_scan=1; else clk_scan=0;end if;end if;end process;end;圖4.3 時鐘產(chǎn)生電路時序仿真波形圖圖4.4 時鐘產(chǎn)生電路rtl電路圖從波形圖4.3可以看出,clk_sacn得到的波形頻率是時鐘脈沖信號的1/50,也就是將時鐘脈沖信號clk頻率除50。4.2.3

46、鍵盤掃描電路設(shè)計及仿真掃描電路是用來提供鍵盤掃描信號(表4.1中的key_drv4 key_drv0)的電路,掃描信號變化的順序依次為“111101110l110111011101111 11110”,并依次循環(huán)掃描。掃描時,掃描信號都只會給其中一行賦低電平信號依次分別掃描四列按鍵,當(dāng)掃描信號為11110時,掃描第一行按鍵。當(dāng)掃描信號為11101時,掃描第二行按鍵。當(dāng)掃描信號為11011時,掃描第三行按鍵。當(dāng)掃描信號為10111時,掃描第四行按鍵。當(dāng)掃描信號為01111時,掃描第五行按鍵。每掃描一行按鍵,都會產(chǎn)生由key_drv4 key_drv0和key_in4key_in0組成的鍵值編碼,

47、然后交由鍵值譯碼電路完成譯碼。掃描電路仿真波形見圖4.5,rtl圖見圖4.6。掃描電路的源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity keyscan isport(clk_scan:in std_logic;key_drv:out std_logic_vector(4 downto 0);end entity keyscan;architecture one of keyscan isconstant s0: s

48、td_logic_vector(4 downto 0):=11110;constant s1: std_logic_vector(4 downto 0):=11101;constant s2: std_logic_vector(4 downto 0):=11011;constant s3: std_logic_vector(4 downto 0):=10111;constant s4: std_logic_vector(4 downto 0):=01111;signal present_state:std_logic_vector(4 downto 0);signal next_state:s

49、td_logic_vector(4 downto 0);beginprocess(clk_scan)beginifclk_scanevent and clk_scan=1 then present_statenext_statenext_statenext_statenext_statenext_statenext_state=s0;end case;end process;key_drv=present_state;end;南昌航空大學(xué)學(xué)士學(xué)位論文圖4.5 按鍵掃描程序波形仿真圖圖4.6 按鍵掃描模塊的rtl圖 觀察圖4.5掃描電路仿真圖可見,該電路實現(xiàn)了掃描功能。4.2.4 鍵盤譯碼電路設(shè)

50、計及仿真上述鍵盤中,每個按健都有自己相應(yīng)的功能。本文中主要分為數(shù)字鍵和復(fù)位鍵,數(shù)字按鍵主要用來輸入數(shù)字,但是我們知道鍵值的編碼不能直接為我們所用,必須配備一個鍵盤譯碼電路來規(guī)劃每個按健的輸出值,以便執(zhí)行相應(yīng)動作。本設(shè)計中鍵盤譯碼電路各參數(shù)4如表4.3所示。表4.2 鍵 盤 參 數(shù) 表掃描輸入編碼key_drv4key_drv0 鍵盤輸出編碼鍵盤譯碼數(shù)碼管編碼鍵值譯碼輸出key_in4key_in011110 1111001111110000110 00001 1110101111111011011 00010 1101101111111001111 00011 1011101111111100

51、110 00100 11101 11110 01111111101101 00101 11101 01111111111101 00110 11011 01111110000111 00111 10111 01111111111111 01000 10111 11110 01111111110111 01001 11101 00001100111111 01010 11011 00001100000110 01011 10111 00001101011011 01100 10111 11110 00001101001111 01101 11101 00001101100110 01110 11

52、011 00001101101101 01111 10111 00001101111101 10000 01111 01111 01111110111111 10001 在本文譯碼電路中,所譯出的碼有兩種用途,一種是數(shù)碼管所需的數(shù)碼管譯碼,一種是鍵值譯碼,如表4.3所示。特別強調(diào)的是本文把復(fù)位功能鍵的數(shù)碼管譯碼譯為01111110111111,鍵值譯碼為10001。源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity keydecoder isport(key_in:in std_logic_vector(4 downto 0); key_drv:in std_logic_vector(4 downto 0); clk:in std_logic; keyvalue: out std_logic_vector(4 downto 0); key_

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論