畢業(yè)設(shè)計(論文)基于FPGA的微機(jī)原理與接口技術(shù)試驗(yàn)平臺設(shè)計(8255和8253)_第1頁
畢業(yè)設(shè)計(論文)基于FPGA的微機(jī)原理與接口技術(shù)試驗(yàn)平臺設(shè)計(8255和8253)_第2頁
畢業(yè)設(shè)計(論文)基于FPGA的微機(jī)原理與接口技術(shù)試驗(yàn)平臺設(shè)計(8255和8253)_第3頁
畢業(yè)設(shè)計(論文)基于FPGA的微機(jī)原理與接口技術(shù)試驗(yàn)平臺設(shè)計(8255和8253)_第4頁
畢業(yè)設(shè)計(論文)基于FPGA的微機(jī)原理與接口技術(shù)試驗(yàn)平臺設(shè)計(8255和8253)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 基于fpga的微機(jī)原理與接口技術(shù)實(shí)驗(yàn)平臺設(shè)計專業(yè):計算機(jī)科學(xué)與技術(shù) 姓名: 指導(dǎo)老師:摘 要: 本文就基于fpga微機(jī)與接口實(shí)驗(yàn)平臺設(shè)計的問題,首先講述了fpga、vhdl以及modelsim開發(fā)軟件。其次構(gòu)建了整個實(shí)驗(yàn)平臺,包括fpga核心板的設(shè)計。在fpga基礎(chǔ)上,以可編程計數(shù)器/定時器8253和可編程并行控制器8255為例,并介紹了8255和8253接口芯片,用vhdl語言設(shè)計了8255和8253的功能,最后在modelsim se開發(fā)軟件上實(shí)現(xiàn)了編譯、調(diào)試、仿真。關(guān)鍵詞: fpga核心板,8253芯片,8255芯片,modelsim seabstractabstract: in th

2、is paper, based on the pc and the interface experimental platform fpga design problem, first about the fpga, vhdl and modelsim software development. secondly, the whole experiment platform was constructed, including the fpga core board design. based on the fpga, programmable counter / timers and pro

3、grammable parallel controllers 8253 8255, for example, and introduced the 8255 and 8253 interface chip, using vhdl language design 8255 and 8253 function, the last in modelsim se development the software compilation, debugging, simulation.keyword: fpga 8253chip 8255 chip modelsim se目錄基于fpga的微機(jī)原理與接口技

4、術(shù)實(shí)驗(yàn)平臺設(shè)計1第一章 緒論11.1研究背景11.2研究現(xiàn)狀21.3研究目的與意義31.4 本文的結(jié)構(gòu)框架及要解決的問題3第二章fpga、vhdl及開發(fā)環(huán)境簡介42.1 fpga簡介42.1.1定義42.1.2工作原理42.1.3 fpga芯片的內(nèi)部結(jié)構(gòu)52.2 vhdl概述52.2.1 vhdl的由來52.2.2 vhdl的特點(diǎn)52.2.3 vhdl的描述風(fēng)格62.2.4 vhdl基本程序結(jié)構(gòu)72.3 modelsim se72.3.1 版本類型72.3.2 仿真過程72.3.3 窗口組成8第三章 實(shí)驗(yàn)平臺的構(gòu)建83.1平臺的需求分析83.1.1 微機(jī)型號的選擇83.1.2平臺的使用對象83

5、.1.3平臺的仿真對象93.2 基于fpga的整個實(shí)驗(yàn)平臺的組成93.3 fpga核心板設(shè)計103.3.1 外存儲芯片113.3.2 時鐘與電源系統(tǒng)123.3.3 擴(kuò)展總線與調(diào)試元件123.4微機(jī)接口硬件實(shí)驗(yàn)123.4.1熟悉mut型實(shí)驗(yàn)箱133.4.2 8253定時器的應(yīng)用143.4.3 8255并行接口應(yīng)用143.4.4 8250串口實(shí)驗(yàn)15第四章 ip核的設(shè)計以及實(shí)驗(yàn)設(shè)計164.1 8255芯片介紹164.1.1 8255接口芯片的主要技術(shù)指標(biāo)164.1.2 8255接口芯片引腳功能174.1.3 8255接口芯片的內(nèi)部結(jié)構(gòu)184.2 8255可編程i/o接口芯片設(shè)計194.2.1 82

6、55的工作方式編程194.2.2控制寄存器的編程方法204.2.3 8255方式0的編程214.2.4 8255位操作224.3 8255io芯片的程序設(shè)計234.3.1鎖存器234.3.2三態(tài)緩沖器244.3.3組合控制邏輯及8255的vhdl語言描述244.4 8253芯片介紹254.4.1 定義254.4.2 8253接口芯片的主要技術(shù)指標(biāo)254.4.3 8253接口芯片引腳功能264.4.4 8253接口芯片的內(nèi)部結(jié)構(gòu)274.5 8253可編程i/o接口芯片設(shè)計284.5.1 8253的工作方式編程284.5.2控制寄存器的編程方法284.5.3工作方式選擇29第五章 編譯、調(diào)試、仿真

7、30第六章 本文總結(jié)31參考文獻(xiàn)32答 謝33第一章 緒論1.1研究背景世界上的第一個電子管式的計算機(jī)在1946年誕生,計算機(jī)從外部形狀、計算速度到內(nèi)部的結(jié)構(gòu)使用材料等都發(fā)生變化,并且微電子技術(shù)對計算機(jī)的發(fā)展非常重要。在計算機(jī)對人類社會影響越來越大的同時,學(xué)習(xí)計算機(jī)的基礎(chǔ)架構(gòu)和相關(guān)接口技術(shù),已成為十分基礎(chǔ)和必要的要求,微機(jī)原理與接口技術(shù)也已成為當(dāng)今大學(xué)本科計算機(jī)相關(guān)專業(yè)學(xué)生的必修課之一。隨著計算機(jī)技術(shù)的快速發(fā)展,人們生活的世界正逐步走向數(shù)字化、網(wǎng)絡(luò)化、信息化和智能化,計算機(jī)作為最重要的基礎(chǔ)設(shè)備為整個社會的高速發(fā)展提供了有力的支撐,計算機(jī)作為當(dāng)今社會一種最為常見的智能控制設(shè)備,已被幾乎所有產(chǎn)業(yè)廣

8、泛的使用,并不斷擴(kuò)展著它的應(yīng)用前景。在微機(jī)原理與接口技術(shù)相關(guān)教學(xué)工作中,實(shí)驗(yàn)教學(xué)是一個十分重要的環(huán)節(jié),尤其是在對相應(yīng)應(yīng)用型人才的培養(yǎng)過程中,實(shí)驗(yàn)教學(xué)的效果直接影響著教學(xué)質(zhì)量。如果學(xué)生在實(shí)驗(yàn)這個環(huán)節(jié)上得不到足夠的時間來進(jìn)行實(shí)踐和創(chuàng)新,就不能深刻地理解課本上的理論知識,還可能會對這門課程的學(xué)習(xí)缺乏興趣。那么再想勝任之后更為復(fù)雜的工程項(xiàng)目就變得更加困難,甚至無法實(shí)現(xiàn)。與此同時,國內(nèi)高校為了提高教學(xué)質(zhì)量,也都在積極的尋求回避實(shí)驗(yàn)室的高成本支出。于是,基于計算機(jī)仿真技術(shù)的虛擬實(shí)驗(yàn)解決方案和虛擬實(shí)驗(yàn)室技術(shù)成為了教育界關(guān)注的焦點(diǎn)。1.2研究現(xiàn)狀虛擬實(shí)驗(yàn)室這個概念雖然僅提出了二十年左右,但是擁有著廣闊的發(fā)展前

9、景,世界各地的實(shí)驗(yàn)室都在著力進(jìn)行相關(guān)的研究與開發(fā)工作。國外的很多大學(xué)都已經(jīng)建立了遠(yuǎn)程虛擬實(shí)驗(yàn)室。國外虛擬實(shí)驗(yàn)室中典型成果有:美國linois大學(xué)的nmrscope系統(tǒng),任何擁有授權(quán)的用戶都可以通過互聯(lián)網(wǎng)來訪問該系統(tǒng),從而使用系統(tǒng)內(nèi)的虛擬儀器。例如,某用戶想使用該系統(tǒng)中的虛擬核磁共振儀,那么該用戶首先需要獲得該大學(xué)的授權(quán),然后向nmrscope系統(tǒng)提交一個實(shí)驗(yàn)樣品,系統(tǒng)會返回一些儀器的設(shè)置表格和功能清單,用戶按照實(shí)驗(yàn)步驟進(jìn)行相關(guān)的實(shí)驗(yàn)操作后,就能夠看到系統(tǒng)生成的實(shí)驗(yàn)結(jié)果,整個實(shí)驗(yàn)過程是通過遠(yuǎn)程虛擬實(shí)驗(yàn)實(shí)現(xiàn)的。vetl(virtual environment technology laborato

10、ry)實(shí)驗(yàn)室,在教育方面、訓(xùn)練方向和科學(xué)工程的數(shù)據(jù)可視化都能應(yīng)用虛擬現(xiàn)實(shí)技術(shù),并且該技術(shù)能用vetl實(shí)驗(yàn)室來完成。休斯敦大學(xué)與nasa/jhnson航天中心合作,一起建立了該實(shí)驗(yàn)室。其研究成果主要為以下幾個方面:科學(xué)教育領(lǐng)域中的虛擬現(xiàn)實(shí)技術(shù),該虛擬實(shí)驗(yàn)室研究了生物分子、海洋、物理天體、原子核等多個科學(xué)領(lǐng)域。開發(fā)了一款虛擬三維環(huán)境工具,對使用者的要求很低,用戶可使用該工具簡單的創(chuàng)建多感知的、連接到特定硬件上的虛擬三維環(huán)境。國內(nèi)虛擬實(shí)驗(yàn)與國際方面相比發(fā)展速度緩慢,為了緊跟國際虛擬實(shí)驗(yàn)室的發(fā)展,中國的許多大學(xué)逐漸開始注重相關(guān)方面實(shí)驗(yàn)室的建設(shè),并引起了教育部的重視。例如,北郵與北京潤尼爾網(wǎng)絡(luò)科技有限公

11、司一起研究了網(wǎng)絡(luò)模擬實(shí)驗(yàn)室owvlab,該實(shí)驗(yàn)室在網(wǎng)絡(luò)教學(xué)方面已經(jīng)開始使用。因此我國的模擬實(shí)驗(yàn)室的研究、設(shè)計以及推廣應(yīng)用范圍較窄還不成熟,技術(shù)方面需要需要想國外虛擬實(shí)驗(yàn)室深入學(xué)習(xí)與研究。1.3研究目的與意義微機(jī)原理與接口技術(shù)是一門理論與實(shí)踐相輔相承的課程,除了通過教師在課堂上對理論層次的講解,還需要學(xué)生通過實(shí)驗(yàn)環(huán)節(jié)來具體實(shí)踐,以達(dá)到提高學(xué)生應(yīng)用開發(fā)能力的教學(xué)目標(biāo)。然而,由于我國各高校目前普遍存在擴(kuò)招后學(xué)生人數(shù)不斷增加,而絕大部分高校的資金成本預(yù)算又不足,造成了實(shí)驗(yàn)室的實(shí)驗(yàn)設(shè)備不能及時地補(bǔ)充和更新,且實(shí)驗(yàn)器材又是易損難修的設(shè)備。 如果學(xué)生在實(shí)驗(yàn)這個環(huán)節(jié)上得不到足夠的時間來進(jìn)行實(shí)踐和創(chuàng)新,就不能深

12、刻地理解課本上的理論知識,還可能會對這門課程的學(xué)習(xí)缺乏興趣。那么再想勝任之后更為復(fù)雜的工程項(xiàng)目就變得更加困難,甚至無法實(shí)現(xiàn)。與此同時,國內(nèi)高校為了提高教學(xué)質(zhì)量,也都在積極的尋求回避實(shí)驗(yàn)室的高成本支出。1.4 本文的結(jié)構(gòu)框架及要解決的問題 首先研究fpga的工作原理以及fpga芯片的內(nèi)部結(jié)構(gòu),以及vhdl硬件編程語言的由來、特點(diǎn)、描述風(fēng)格和基本和基本程序結(jié)構(gòu),modelsim主要版本類型、如何進(jìn)行仿真以及窗口組成。其次構(gòu)建了整個實(shí)驗(yàn)平臺,主要包括fpga核心板的設(shè)計與實(shí)現(xiàn),微機(jī)接口ip核開發(fā)及實(shí)驗(yàn)設(shè)計,實(shí)驗(yàn)程序開發(fā)工具的設(shè)計與實(shí)現(xiàn)三個部分。解決了如下問題:(1)fpga的核心板的功能分析、結(jié)構(gòu)組

13、成以及核心器件的選用(2)外存儲片的選用,電壓的確定(3)擴(kuò)展總線與調(diào)試元件的設(shè)計(4)各器件在實(shí)驗(yàn)平臺上的布局最后以8255接口芯片的功能設(shè)計為例進(jìn)行說明,包括工作方式的編程、控制寄存器的編程方法,8255芯片的程序設(shè)計包括鎖存器、三態(tài)緩沖器、組合控制邏輯,8255接口芯片的vhdl言語描述。并解決了如下問題:(1)如何調(diào)用vhdl語言的ieee庫。(2)如何用enyiyt對8255芯片的外部端口進(jìn)行描述,即對輸入、輸出端口進(jìn)行說明。(3)如何用architecture描述8255芯片的電路功能與結(jié)構(gòu),可分為:行為描述、邏輯(數(shù)據(jù)流)描述、結(jié)構(gòu)描述。(4)用process語句對構(gòu)造體的行為作

14、具體描述。 (5)用modelsim se軟件進(jìn)行仿真并對結(jié)果進(jìn)行分析。第二章fpga、vhdl及開發(fā)環(huán)境簡介2.1 fpga簡介2.1.1定義fpga即現(xiàn)場可編程門陣列,它是在pal、gal、cpld等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。2.1.2工作原理 fpga采用了邏輯單元陣列l(wèi)ca,內(nèi)部包括可配置邏輯模塊clb、輸入輸出模塊iob、和內(nèi)部連線(interconnect)三個部分。2.1.3 fpga芯片的內(nèi)部結(jié)構(gòu)可編程輸入輸出單元(iob)、可配置邏輯塊(clb)、 數(shù)字時鐘管理模塊(dcm)、嵌入式塊ram(bram)、豐富的布線資源(全局布線資源、長線資源、短線資源、分布式的布線

15、資源)、底層內(nèi)嵌功能單元、內(nèi)嵌專用硬核。2.2 vhdl概述2.2.1 vhdl的由來因?yàn)殡p方使用的硬件編程語言各不相同,兼容性非常差,研究的成果不能互相借鑒使用,致使公司開發(fā)硬件成本很高。為解決這個問題,1983年提出了硬件描述語言標(biāo)準(zhǔn)化的問題。經(jīng)過ieee組織的多年的修訂,成立了很多vhdl版本如87版、93版等。要想完全學(xué)會vhdl語言,需要大量的時間來研究,并且要有c語言基礎(chǔ),會進(jìn)行二進(jìn)制數(shù)值計算,懂?dāng)?shù)字電路以及一些計算機(jī)基礎(chǔ)知識。2.2.2 vhdl的特點(diǎn) vhdl語言是一種硬件描述語言,和其他高級語言許多形似之處。該語言與硬件密切相關(guān),在進(jìn)行集成電路設(shè)計時,應(yīng)特別注意節(jié)省硬件資源。

16、vhdl語言中的語句大部分是并行語句,但其語句格式和c語言有非常大的相似之處。具體特點(diǎn)如下:1、vhdl語言以行為描述為特點(diǎn),對電子實(shí)體的各種功能,從非常抽象的角度進(jìn)行描述,即行為描述。2、vhdl語言以結(jié)構(gòu)化為特點(diǎn),因而能從比較具體的角度描述電子實(shí)體的結(jié)構(gòu),即結(jié)構(gòu)描述。3、vhdl語言以混合描述為特點(diǎn),可以從抽象到具體全方位描述電子實(shí)體,以滿足設(shè)計人員的需求。4、vhdl語言重復(fù)性好,其描述與具體的生產(chǎn)工藝沒有關(guān)系,不同的生產(chǎn)工藝與不同的工作庫相對應(yīng)。只要設(shè)計合理,生產(chǎn)工藝進(jìn)步,便可采用新的工作庫。重新布版布圖便能使用。5、vhdl語言可讀性好,是一種高級語言描述電子實(shí)體,容易理解。vhdl

17、語言被認(rèn)為既可以設(shè)計實(shí)現(xiàn),有可以技術(shù)說明,集設(shè)計與說明之優(yōu)點(diǎn)。2.2.3 vhdl的描述風(fēng)格在vhdl結(jié)構(gòu)體中,有3種不同的描述方法分別為:邏輯(數(shù)據(jù)流)描述、行為描述、結(jié)構(gòu)描述。此三種方法相互配合共同完成vhdl結(jié)構(gòu)體的設(shè)計。數(shù)據(jù)流描述,以電子實(shí)體的邏輯表達(dá)式、邏輯真值為依據(jù),并對電子實(shí)體進(jìn)行描述。邏輯描述用與:并行信號賦值語句及其其他表達(dá)形式,即條件賦值語句和選擇信號賦值語句。邏輯描述特點(diǎn)鮮明即程序結(jié)構(gòu)簡單、容易邏輯綜合、綜合效果最優(yōu)化。行為描述不包含電子實(shí)體內(nèi)部的任何結(jié)構(gòu)信息,故行為描述語句多種多樣、各不相同。進(jìn)程語句是構(gòu)造體行為描述的最基本語句,它對硬件依賴程度較低而且程序結(jié)構(gòu)簡單。結(jié)

18、構(gòu)描述是最常用的描述方法之一,就是把一個復(fù)雜的電子實(shí)體按電路功能不同劃分成若干模塊。2.2.4 vhdl基本程序結(jié)構(gòu)如果需要完整的vhdl程序需要有以下幾個方面組成:庫:經(jīng)編譯后的數(shù)據(jù)集合,它存放包集合定義、實(shí)體定義、構(gòu)造體定義和配置定義,總是放在設(shè)計單元的最前面。程序包:聲明在設(shè)計中用到的數(shù)據(jù)類型、字程序包等。實(shí)體:定義輸入輸出端口。結(jié)構(gòu)體:是一個基本設(shè)計單元的實(shí)體,它具體說明了該基本設(shè)計單元的行為、元件及內(nèi)部結(jié)構(gòu)的連接關(guān)系,也就是說它定義了設(shè)計單元的具體功能。配置:為實(shí)體選定某個特定結(jié)構(gòu)體。2.3 modelsim se2.3.1 版本類型modelsim pe:是用在windows平臺下

19、面。modelsim le:是用在linux平臺下面modelsim se:在aix, hp-ux, linux ,solaris,windows平臺下都可以用,另外se版本比另外兩種版本功能多一些。2.3.2 仿真過程(1)建立工程:file-new-project(2)添加源文件和testbench并編譯 :add exisiting file,將待訪問的文件添加至工程。 (3)啟動仿真并查看結(jié)果:在project視圖中右鍵單擊,選擇菜單-compile-compileall。(4)調(diào)試:在源文件中設(shè)置斷點(diǎn),訪問至斷點(diǎn)時,會暫停。2.3.3 窗口組成modelsim窗口眾多,功能較復(fù)雜,其

20、中常用的窗口有7類窗口分別為:主窗口(main)、源代碼窗口(source)、結(jié)構(gòu)窗口(struct)、進(jìn)程窗口(process)、波形列表窗口(wave)、數(shù)據(jù)流窗口(dataflow)、信號和變量窗口(signal&variable)。第3章 實(shí)驗(yàn)平臺的構(gòu)建3.1平臺的需求分析在實(shí)驗(yàn)平臺的設(shè)計之前,為了更好的實(shí)現(xiàn)微機(jī)接口實(shí)驗(yàn)平臺的功能,滿足實(shí)驗(yàn)要求以及使學(xué)生深入了解微機(jī)原理課程,要進(jìn)行對實(shí)驗(yàn)平臺需求的分析,主要從三個方面講述包括微機(jī)型號的決定、什么對象可以用該平臺和仿真對象。3.1.1 微機(jī)型號的選擇 該實(shí)驗(yàn)平臺配置8086微處理器,因大多數(shù)高校的微機(jī)原理與接口技術(shù)理論實(shí)用教程都是以808

21、6處理器為基礎(chǔ),所以配置8086處理器能夠與微機(jī)接口這門課程更好的配合使用。3.1.2平臺的使用對象本平臺主要在教師資源不夠、資金不充足以至于不能夠維護(hù)實(shí)驗(yàn)室的大學(xué)。配有微機(jī)原理與接口實(shí)驗(yàn)室各種硬件,但是希望更加容易使用的設(shè)備以配合教學(xué)的高校。3.1.3平臺的仿真對象總結(jié)微機(jī)接口實(shí)驗(yàn)室用到的各種硬件,本實(shí)驗(yàn)平臺需要仿真的對象包括8086處理器、設(shè)備實(shí)驗(yàn)臺(8255并行口、8259中斷控制器、8253定時器、led燈、數(shù)碼管、單脈沖源、電源等)。3.2 基于fpga的整個實(shí)驗(yàn)平臺的組成本文所設(shè)計的實(shí)驗(yàn)平臺主要有以下幾個模塊組成:(1) fpga核心板:并且實(shí)現(xiàn)一個usb接口,便于與pc機(jī)連接。(

22、2) x86核心板:有一個rs232接口,與pc機(jī)連接并且用來下載實(shí)驗(yàn)程序。(3) 2個組模塊:用于連接fpga核心板和x86核心板,使2個核心板與外圍接口芯片連接,這樣可以大大節(jié)省底板空間。(4) pc機(jī)、x86核心板、底板、擴(kuò)展總線接口:x86核心板實(shí)現(xiàn)了fpga核心板與x86核心板的通信,并用擴(kuò)展總線接口連接到底板。整個實(shí)驗(yàn)平臺如圖3.1所示:圖3.1 實(shí)驗(yàn)平臺結(jié)構(gòu)3.3 fpga核心板設(shè)計本文整個實(shí)驗(yàn)平臺的硬件核心部分是fpga核心板,下面就整個 fpga核心板設(shè)計、功能分析,來介紹其主要的功能模塊和完整的結(jié)構(gòu)框架。其整體結(jié)構(gòu)如圖3.2所示圖3.2 fpga結(jié)構(gòu)框架fpga核心器件選用

23、的是altera公司的cydone11epzc20芯片,該芯片處理效率高,而且邏輯單元非常多,并且價格低廉。該芯片主要有輸入輸出單元、乘法器、存儲器、邏輯陣列塊組成。因?yàn)槲C(jī)接口實(shí)驗(yàn)所要傳輸?shù)臄?shù)據(jù)一般較小,所以其能滿足實(shí)驗(yàn)的要求。其內(nèi)部組成結(jié)構(gòu)如圖3.3所示圖3.3 cydone11epzc20芯片內(nèi)部結(jié)構(gòu)3.3.1 外存儲芯片本實(shí)驗(yàn)平臺結(jié)合引腳的數(shù)目以及fpga上要與外圍存儲部件兼容的要求,選用如下3種類型的存儲芯片如圖3.4所示,該三種芯片引腳總和為102,因此需要fpga上的102個i/o引腳,所以fpga核心板只剩下26個引腳。為了節(jié)省引腳資源,必須要采用復(fù)用的方法。并且接口芯片與fp

24、ga的工作電壓均為3.3v。圖3.4 存儲芯片3.3.2 時鐘與電源系統(tǒng)fpga核心板需要提供3.3v和1.2v的供電,fpga核心板采用4層pcb設(shè)計,中間兩層為電源層和地層,3.3v和1.2v將電源層分割為兩部分使用。共有16個引腳在cyclonellepzczoq24ocs芯片上,并且配置2個晶振,共三方面的使用。一部分用于時鐘信號的輸入,另一部分用于連接fpga芯片和下載電路,剩下的用于輸入引腳和底板。3.3.3 擴(kuò)展總線與調(diào)試元件 通過共用sram和flash芯片的數(shù)據(jù)總線和地址總線,最終可以提供給底板的io引腳有64個。為便于系統(tǒng)升級,fpga核心板與底板之間的接口采用96腳插針。

25、fpga核心板配有4個led燈和4個按鍵,分別與fpga的1/0引腳相連。3.4微機(jī)接口硬件實(shí)驗(yàn)微機(jī)原理與接口技術(shù)的教學(xué)實(shí)驗(yàn)內(nèi)容十分豐富,可以很好的調(diào)動學(xué)生的學(xué)習(xí)熱情,在感興趣的情況下完成各項(xiàng)實(shí)驗(yàn)教學(xué)活動,微機(jī)原理與接口技術(shù)實(shí)驗(yàn)又分為軟件實(shí)驗(yàn)和硬件實(shí)驗(yàn),本節(jié)中的實(shí)驗(yàn)主要是指微機(jī)原理與接口技術(shù)硬件實(shí)驗(yàn)。微機(jī)接口硬件實(shí)驗(yàn)使用微型計算機(jī)搭配相應(yīng)的實(shí)驗(yàn)箱/實(shí)驗(yàn)臺來進(jìn)行實(shí)驗(yàn)教學(xué)活動的特點(diǎn),決定了其高可拓展性,因?yàn)槲C(jī)型號和實(shí)驗(yàn)箱/實(shí)驗(yàn)臺的型號繁多,其組合更是多種多樣,在挑選過程中,微機(jī)和實(shí)驗(yàn)箱/實(shí)驗(yàn)臺的搭配十分關(guān)鍵。由于微機(jī)原理與接口技術(shù)實(shí)驗(yàn)的高可拓展性,本節(jié)只能就其基礎(chǔ)實(shí)驗(yàn)進(jìn)行簡單的介紹,硬件環(huán)境應(yīng)用

26、的是8086處理器和mut型實(shí)驗(yàn)箱,具體實(shí)驗(yàn)如下。3.4.1熟悉mut型實(shí)驗(yàn)箱1、實(shí)驗(yàn)?zāi)康模?)通過該實(shí)驗(yàn)掌握端口的地址譯碼電路。(2)通過實(shí)驗(yàn)了解和熟悉mut型實(shí)驗(yàn)箱,功能及使用方法。2、實(shí)驗(yàn)內(nèi)容完成1/0端口地址譯碼電路的設(shè)計,能夠譯出y0為230h-23ih,yl為232h-233h,y2為234h-235h,y3為236h-237h.y7為23eh-23fh的口地址譯碼電路。3、實(shí)驗(yàn)步驟步驟一、按提前畫好的電路連接線路。步驟二、接好芯片電源(+3v)。步驟三、檢查線路無誤后,輸入程序。4、實(shí)驗(yàn)器材(1)mut型實(shí)驗(yàn)箱(2)微機(jī)一臺(3)示波器一臺(4)芯片74ls00、74ls138、

27、74ls1393.4.2 8253定時器的應(yīng)用1、 實(shí)驗(yàn)?zāi)康模?)了解8253定時器的編程原理。(2)用示波器觀察8253在不同工作方式下的的波形圖。2、實(shí)驗(yàn)內(nèi)容(1)觀察8253定時器輸出波形并檢測門控信號(gate)對波形的作用 步驟一、進(jìn)行硬件連接 步驟二、定時器0為工作方式1并編程。 步驟三、定時器1為工作方式1(可編程單穩(wěn))。 步驟四、記錄定時器0與定時器1的輸出波形(2)利用實(shí)驗(yàn)臺上8253計數(shù)器0的工作方式3做個實(shí)時時鐘。3、 實(shí)驗(yàn)步驟(1)按圖連線,經(jīng)查無誤后方可開啟電源。(2)運(yùn)行調(diào)試程序,程序無誤,即應(yīng)產(chǎn)生時鐘顯示。4、實(shí)驗(yàn)器材(1)pc機(jī)一臺(2)mut型實(shí)驗(yàn)箱(3)82

28、53芯片(實(shí)驗(yàn)箱上已有)(4)萬用表,示波器,導(dǎo)線若干3.4.3 8255并行接口應(yīng)用l、實(shí)驗(yàn)?zāi)康模?)掌握8255的功能及方式o、1的實(shí)現(xiàn)。(2)熟悉8255與cpu的接口。2、實(shí)驗(yàn)內(nèi)容方式1的實(shí)現(xiàn),實(shí)驗(yàn)步驟: 步驟一、首先連線8255中a端口地址218h,b端口地址219h,c端口地址21ah,控制地址21bh。 步驟二、在此調(diào)試程序,并按單次脈沖(發(fā)中斷),觀察led是否與此時的開關(guān)kl一ks狀態(tài)一樣。 步驟三、改變kl一ks狀態(tài),重復(fù)2,進(jìn)行觀察。3、實(shí)驗(yàn)器材(1)pc機(jī)一臺(2)mut型實(shí)驗(yàn)箱(3)示波器(4)萬用表3.4.4 8250串口實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康?(1)了解串行通信的基本原

29、理和8250工作方法。 (2)了解rs-232串行接口的標(biāo)準(zhǔn)及怎么連接。 (3)掌握8250芯片的編程方法和原理。2、實(shí)驗(yàn)內(nèi)容 當(dāng)mut型實(shí)驗(yàn)箱與pc機(jī)(上位機(jī))能夠串行通信時,主機(jī)每次下傳一個字符,如通訊正常則下位機(jī)返回一個相同的字符,如果不正確,則無返回或者不相同。3、實(shí)驗(yàn)步驟 (1)實(shí)驗(yàn)接線 利用串口電纜連接實(shí)驗(yàn)箱的串口和計算機(jī)的串口(com1或com2)(2)編寫程序 (3)在實(shí)驗(yàn)箱上配有編譯系統(tǒng),下載并運(yùn)行實(shí)驗(yàn)程序。(4)實(shí)驗(yàn)箱退出系統(tǒng)。4、實(shí)驗(yàn)設(shè)備(1)pc機(jī)一臺(2)mut型實(shí)驗(yàn)箱(3)示波器第四章 ip核的設(shè)計以及實(shí)驗(yàn)設(shè)計 四個典型接口芯片ip核的設(shè)計,包括可編程串行控制器82

30、50,可編程計數(shù)器/定時器8253,可編程并行控制器8255,及相應(yīng)的實(shí)驗(yàn)設(shè)計。下面以8255接口芯片和8253接口芯片為例進(jìn)行說明4.1 8255芯片介紹4.1.1 8255接口芯片的主要技術(shù)指標(biāo)8255是有美國intel設(shè)計生產(chǎn)的多功能可編程i/o接口芯片,其主要技術(shù)指標(biāo)如下:(1) 與intel公司設(shè)計生產(chǎn)的微處理器和單片機(jī)完全兼容,也可以用于其他微處理器和單片機(jī)作i/o接口擴(kuò)展。(2) 其輸入輸出接口邏輯電平與tlt系列集成電路兼容。(3) 時序特征進(jìn)行了改進(jìn)。讀寫采用異步操作,增強(qiáng)其兼容性。(4) 對控制寄存器的控制位(二進(jìn)制位)可用直接置1或0進(jìn)行操作,改善了對pc口的控制特征。(

31、5) 提高i/o口的電流驅(qū)動能力。(6) 簡化硬件電路結(jié)構(gòu)。(7) 采用40腳封裝。4.1.2 8255接口芯片引腳功能8255芯片雙列直插封裝引腳排列如圖4.1所示,每個引腳的功能定義如下:圖4.1 8255引腳d0d7:8位三態(tài)雙向數(shù)據(jù)總線,傳送輸入和輸出8位數(shù)據(jù) :讀信號線,當(dāng)該腳輸入低電平時,允許微處理器或單片機(jī)讀出8255相關(guān)寄存器的數(shù)據(jù)。:寫信號線,當(dāng)該腳輸入低電平時,允許通過數(shù)據(jù)總線傳送的數(shù)據(jù)寫入8255對應(yīng)的數(shù)據(jù)寄存器。 :片選線,當(dāng)該腳輸入低電平時,允許微處理器、單片機(jī)與8255進(jìn)行數(shù)據(jù)傳輸。reset:復(fù)位線,當(dāng)該腳輸入高電平時,所有內(nèi)部寄存器清零,i/o口均被置為輸入方式

32、。a0,a1:低位地址線,通過內(nèi)部譯碼輸出4條選擇線與片選線(高位地址選擇)組合,以確定內(nèi)部4組寄存器的地址。pa0pa7:8條并行線輸入輸出線,稱pa口。pb0pb7:8條并行線輸入輸出線,稱pb口。pc0pc7:8條多功能i/o線,稱為pc口。4.1.3 8255接口芯片的內(nèi)部結(jié)構(gòu)數(shù)據(jù)總線緩沖器有8位三態(tài)雙向緩沖器組成,用于與外圍進(jìn)行8位并行數(shù)據(jù)傳輸??刂萍拇嫫魇?位只寫鎖存器,存儲用于對8255的工作方式和位 操作編程的控制字。地址譯碼器有2輸入(a1、a0)4輸入譯碼器組成、譯碼器4條輸出(低位地址)選擇線與片選(cs)線(高位地址選擇)組合,以確定內(nèi)部4組寄存器的地址。i/o口控制邏

33、輯有a、b兩組控制邏輯組成,實(shí)現(xiàn)i/o口的方式選擇和輸入等功能的控制。i/o口輸入輸出鎖存器與緩沖器有3組8位鎖存器和寄存器組成,其輸入輸出狀態(tài)有a、b兩組控制邏輯決定。讀、寫、片選、復(fù)位控制線完成讀數(shù)據(jù)、寫數(shù)據(jù)、地址選擇、復(fù)位狀態(tài)等操作。8255芯片的內(nèi)核結(jié)構(gòu)框圖如圖4.2:圖4.2 8255內(nèi)部結(jié)構(gòu)4.2 8255可編程i/o接口芯片設(shè)計4.2.1 8255的工作方式編程8255共有3種工作方式:方式0、方式1和方式2,。3個io口的工作方式有對應(yīng)的控制寄存器編程實(shí)現(xiàn)。方式0基本輸入輸出方式,方式0常用于無條件查詢傳送。工作方式0的時序要求如圖4.3:圖4.3 工作方式0的時序方式1選通輸

34、入輸出方式,方式1常用于條件查詢傳送或中斷傳送。工作方式1的時序要求如圖4.4:圖4.4 工作方式1的時序方式2雙向輸入輸出方式,方式2常用于條件查詢傳送或中斷傳送。工作方式2的時序要求如圖4.5:圖4.5 工作方式2的時序4.2.2控制寄存器的編程方法控制寄存器是8位可編程寄存器,其編程方法如下: bit 7 6 5 4 3 2 1 0 控制寄存器: bit 6 5 0 0 -pa 口、pc4pc7編為方式0 0 1 -pa口、pc4pc7編為方式1 1 x -pa口、pc4pc7編為方式2 4.2.3 8255方式0的編程8255方式0的編程方法如下:把控制寄存器的bit7位置1,是825

35、5處于工作方式選擇狀態(tài)。bit2=0 pb口,pc0pc3變?yōu)榉绞?。bit6、5=00 pa口,pc4口pc7編為方式0。由bit0編程決定pc口低四位(pc0pc3)輸出(bit0=0)和輸入(bit0=1)的方向。由bit1編程決定pb口8位io線的輸出(bit1=0)和輸入(bit0=1)的方向。由bit3編程決定pc口4位(pc4pc7)輸出(bit3=0)和輸入(bit3=1)的方向。由bit4 編程決定pa口8條io線的輸出(bit4=0)和輸入(bit4=1)的方向。例如:把8255編為方式0,a編為輸出,b口編為輸入,c口的低4位編為輸出,高4位變?yōu)檩斎搿?刂萍拇嫫鲬?yīng)設(shè)置為:

36、 bit 7 6 5 4 3 2 1 0 100010104.2.4 8255位操作8255位控制寄存器的最高為 bit7=1時,用bit0、bit1、bit3、bit4四個二進(jìn)制編程,分別控制pc口的低4位、pb口8位、pc口高4位和pa口8位io的輸出、輸入方向。其輸出是按pa、pb、pc三個口分別輸出8位二進(jìn)制數(shù),不能給每條i/o線單獨(dú)編程,實(shí)現(xiàn)每條io線的輸出清零或置1。 位增加8255對io線輸出控制的靈活性,當(dāng)最高位bit7=0時,8255定義一種位操作方式,通過編程決定pc口每條io線的清零或置1,但每次只能確定pc口一條io線的輸出值,其編程方法如下:控制寄存器: bit 7

37、6 5 4 3 2 1 0 0xx xx bit 3 2 1 pc口對應(yīng)位 0 0 0 pc0 0 0 1 pc1 0 1 0 pc2 0 1 1 pc3 1 0 0 pc4 1 0 1 pc5 1 1 0 pc6 1 1 1 pc74.3 8255io芯片的程序設(shè)計從8255的內(nèi)部結(jié)構(gòu)框圖可知,該芯片有鎖存器、三態(tài)輸入器和組合邏輯電路組成。4.3.1鎖存器在8255芯片中需要定義5個鎖存器用于數(shù)據(jù)鎖存。pa_latch:8位pa口輸出鎖存器;pb_latch:8位pa口輸出鎖存器;pcl_latch:pc口低4位輸出鎖存器;pch_latch: pc口高4位輸出鎖存器;ctrreg: pc口

38、高4位輸出鎖存器;4.3.2三態(tài)緩沖器在8255芯片中需要定義4個雙向數(shù)據(jù)緩沖器:d:8位雙向數(shù)據(jù)總線數(shù)據(jù)緩沖器;pa:pa口;pb:pb口;pc:pc口;4.3.3組合控制邏輯及8255的vhdl語言描述由片選cs與a1、a0組成的2輸入(a1、a0)和4輸出譯碼器,決定4組寄存器的地址。讀、寫、復(fù)位線的控制邏輯電路。8255接口芯片程序設(shè)計由3部分組成:(1) 庫語句描述:調(diào)用ieee標(biāo)準(zhǔn)資源庫中的三個子程序包:std_logic_1164、std_logic_arith和std_logic_uniged子程序包,以滿足設(shè)計的需要。 代碼:library ieee; use ieee.st

39、d_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;(2)8255接口芯片實(shí)體描述。外部端口包括rd(讀)、wr(寫)、cs(片選)、reset(復(fù)位)、a1、a0(低2位地址線)、d(8位雙向數(shù)據(jù)線)、pa(8位pa口io線)、pb(8位pb口io線)、pcl(低4位pc口io線)和pch(高4位pc口io線)等。 實(shí)體描述:entity ppi is port(reset,rd,wr,cs,a0,a1:in std_logic; pa:inout std_logic_vector(7

40、 downto 0); pb:inout std_logic_vector(7 downto 0); pcl:inout std_logic_vector(3 downto 0); pch:inout std_logic_vector(3 downto 0); d:inout std_logic_vector(7 downto 0);end ppi;(3)8255接口芯片的構(gòu)造描述。有讀進(jìn)程、寫進(jìn)程、pa口進(jìn)程、pb口進(jìn)程和pc口進(jìn)程等5個進(jìn)程組成。4.4 8253芯片介紹4.4.1 定義8253芯片是intel公司生產(chǎn)的為其微處理器配套的通用課編程i/o接口芯片。這類芯片一般只能與本公司設(shè)計

41、的微處理器或單片機(jī)連接i/o接口擴(kuò)展。4.4.2 8253接口芯片的主要技術(shù)指標(biāo)8253是有美國intel設(shè)計生產(chǎn)的多功能可編程i/o接口芯片,其主要技術(shù)指標(biāo)如下:(8) 一個8253接口芯片共有3個16位的技術(shù)通道,它們是相互獨(dú)立的,并且每個計數(shù)器由2個8位的計數(shù)器組成。(9) 技術(shù)頻率為02.6mhz。(10) 計數(shù)格式為二進(jìn)制或bcd。(11) 每個計數(shù)通道有6種工作方式。(12) 可有軟件或硬件控制開始計數(shù)或停止計數(shù)。4.4.3 8253接口芯片引腳功能8253芯片雙列直插封裝引腳排列如圖4.6所示,每個引腳的功能定義如下:(1)數(shù)據(jù)總線緩沖器(8位、三態(tài)、雙向)。(2)讀/寫控制邏輯

42、。cs:片選信號,低電平有效。rd:讀信號,低電平有效。wr:寫信號,低電平有效。a1、a0:端口選擇信號。(3)三個通道。(4)一個控制寄存器。(5)與外設(shè)的接口引線:clk信號時鐘輸入、gate信號門控輸入、out計數(shù)輸出端。圖4.6 8253引腳4.4.4 8253接口芯片的內(nèi)部結(jié)構(gòu)8253內(nèi)部結(jié)構(gòu)如圖4.7所示,包括數(shù)據(jù)總線緩沖器、讀寫邏輯電路、控制字寄存器和計數(shù)器。圖4.7 8253內(nèi)部結(jié)構(gòu) 4.5 8253可編程i/o接口芯片設(shè)計4.5.1 8253的工作方式編程8253共有6種工作方式:方式0、方式1、方式2、方式3、方式4和方式5。4.5.2控制寄存器的編程方法控制寄存器是8位

43、可編程寄存器,其編程方法如圖4.8圖4.8控制寄存器(1) d7、d6:計數(shù)器選擇位。8253芯片共有3個計數(shù)通道(通道0、通道1和通道2),它們相互獨(dú)立,并且都有一個控制寄存器。具體分配如圖4.9。sc1sc0所選計數(shù)器00110101計數(shù)器0計數(shù)器1計數(shù)器2無意義圖4.9 計數(shù)器選位(2) d5、d4:讀寫指示位具體分配如圖4.10。 rw1rw0讀寫格式00110101鎖定當(dāng)前計數(shù)值只讀寫低8位只讀寫高8位先讀寫低8位,再讀寫高8位圖4.10 讀寫指示位4.5.3工作方式選擇d3、d2、d1:工作方式選擇位m2、m1、m0。8253接口芯片共有6種工作方式可供選擇,具體選擇哪種工作方式如

44、圖4.11所示。d0:數(shù)值計數(shù)格式位,用來選擇計數(shù)格式。d0=0,計數(shù)器按二進(jìn)制格式進(jìn)行計數(shù);d0=1,計數(shù)器按bcd碼格式進(jìn)行計數(shù)。m2m1m0工作方式選擇00xx11001100010101方式0方式1方式2方式3方式4方式5圖4.11 工作方式選位第五章 編譯、調(diào)試、仿真本文的所有模塊均用vhdl語言編寫,并在modelsim開發(fā)環(huán)境下編譯、調(diào)試、仿真、優(yōu)化。8255接口芯片其仿真波形如圖5.1所示。圖5.1 8255仿真圖開始先在reset端設(shè)置高電平,使8255接口芯片復(fù)位,所以所有端口都處于輸入方式。向數(shù)據(jù)總線d0d7輸入ffh,再將數(shù)據(jù)寫入c口,在寫操作完成后c口變?yōu)閒fh。然后

45、再向控制寄存器寫位控控制字02h。該字表明將pc1位清零。在寫操作完成后,pcl變?yōu)閐h,表明pcl位已經(jīng)清零。再改變a口的輸入數(shù)據(jù),使其成為66h,并將該值寫入b口,讀a口將得到66h的值并從d0d7輸出。改變d0d7數(shù)據(jù)上的值,使其成為99h,并將該值寫入b口,那么在該操作完成后,在b口的輸出端可以得到99h輸出值。8253接口芯片計數(shù)器0工作方式5(硬件觸通方式)的仿真波形如圖5.2所示。先寫入控制字00011010,當(dāng)gate為低時,寫入計數(shù)初值00000110,此時out為高。當(dāng)計數(shù)值為0時,out變?yōu)榈?,保持一個時鐘脈沖寬度后,out變?yōu)楦?。在計?shù)期間,gate的上升沿將重置初值并

46、減一計數(shù)。圖5.2 8253仿真圖第六章 本文總結(jié)本文講述了研究背景、研究現(xiàn)狀、研究的目的與意義以及本文要研究的主要內(nèi)容和主要的解決方法。 描述了fpga的工作原理以及fpga芯片的內(nèi)部結(jié)構(gòu),vhdl硬件編程語言的由來、特點(diǎn)、描述風(fēng)格和基本和基本程序結(jié)構(gòu),modelsim主要版本類型以及如何進(jìn)行仿真以及窗口組成。并且構(gòu)建了整個實(shí)驗(yàn)平臺,主要包括fpga核心板的設(shè)計與實(shí)現(xiàn),微機(jī)接口ip核開發(fā)及實(shí)驗(yàn)設(shè)計,需要做的實(shí)驗(yàn)以及實(shí)驗(yàn)平臺要實(shí)現(xiàn)的功能。最后介紹了5255與5253接口芯片以及vhdl語言的功能設(shè)計并對接口芯片的功能進(jìn)行編譯、調(diào)試、仿真。參考文獻(xiàn)1 王彬 數(shù)字化背景下的中國音樂發(fā)展,載大眾文藝

47、2010年第10期,第14頁。2 樂清華,雷明,謝佑國等 基于網(wǎng)絡(luò)的遠(yuǎn)程監(jiān)控實(shí)驗(yàn)系統(tǒng),載實(shí)驗(yàn)室研究與探索2006年第11期,第48頁。3 顧志蘭 對微機(jī)原理教學(xué)中激發(fā)學(xué)生學(xué)習(xí)潛力的探索,載鹽城工學(xué)院學(xué)報 2004年第02期,第14頁。4 尹立云談虛擬實(shí)驗(yàn)設(shè)備在實(shí)驗(yàn)教學(xué)中的應(yīng)用,載中國現(xiàn)代教育裝備2005年第08期,第710頁。5 劉春玉 自動調(diào)節(jié)pdf控制系統(tǒng)的實(shí)驗(yàn)研究,載西南交通大學(xué)第14頁。6 楊傳賀 基于fpga的控制的電壓采集與顯示系統(tǒng)的設(shè)計,載數(shù)字技術(shù)與應(yīng)用2011年第09期,第14頁。7 呂曉蘭 vhdl語言在現(xiàn)代數(shù)字系統(tǒng)設(shè)計中的應(yīng)用,載茂名學(xué)院學(xué)報2006年第04期,第14頁。8

48、 吳湘笛 紅外視頻目標(biāo)檢測系統(tǒng)中fpga單元設(shè)計與實(shí)現(xiàn),載電子科技大學(xué)。附件: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity ppi is port(reset,rd,wr,cs,a0,a1:in std_logic; pa:inout std_logic_vector(7 downto 0); pb:inout std_logic_vector(7 downto 0); pcl:inout std_logic_vector

49、(3 downto 0); pch:inout std_logic_vector(3 downto 0); d:inout std_logic_vector(7 downto 0);end ppi;architecture behavioral of ppi is signal internal_bus:std_logic_vector(7 downto 0); signal st,ad,flag:std_logic_vector(1 downto 0); signal ctrreg:std_logic_vector(7 downto 0); signal pa_latch,pb_latch,pc_latch:std_logic_vector(7 downto 0);begin process(rd,cs) begin st=ctrreg(3)&ctrreg(0); if(cs=0and rd=0)then if(a

溫馨提示

  • 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

提交評論