




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE大學(xué)畢業(yè)設(shè)計(jì)(論文)題目:基于ARM的PCI總線通信功能設(shè)計(jì)指導(dǎo)教師:職稱:學(xué)生姓名:學(xué)號(hào):專業(yè):院(系):完成時(shí)間:2011年5月25日年月日
摘要本文詳細(xì)介紹了基于AT91RM9200單片機(jī)的PCI總線通信功能的設(shè)計(jì),包括硬件設(shè)計(jì)和軟件設(shè)計(jì)兩部分。通信功能的設(shè)計(jì)著重于單片機(jī)與上位機(jī)之間通過(guò)PCI總線進(jìn)行的數(shù)據(jù)傳送。本次設(shè)計(jì)在于用比較容易掌握的單片機(jī)來(lái)實(shí)現(xiàn)PCI控制器的功能,在PCI總線的簡(jiǎn)單運(yùn)用場(chǎng)合,大大簡(jiǎn)化了設(shè)計(jì)的復(fù)雜程度。設(shè)計(jì)的實(shí)現(xiàn)是利用單片機(jī)的I/O口與PCI總線的控制信號(hào)線以及地址/數(shù)據(jù)信號(hào)線等直接相連,用對(duì)單片機(jī)的編程來(lái)控制數(shù)據(jù)的傳輸。文中介紹了PCI總線的基本概念,一些重要信號(hào)的定義,以及PCI總線事務(wù)的時(shí)序。單片機(jī)部分介紹了型號(hào)的選擇,選擇了AT91RM9200單片機(jī)的理由和AT91RM9200單片機(jī)的基本知識(shí)。本次設(shè)計(jì)選擇AM29LV160和57V561620作為AT91RM9200外接存儲(chǔ)器。設(shè)計(jì)的結(jié)果是成功的完成了原理圖繪制和PCB版圖的設(shè)計(jì),和實(shí)驗(yàn)仿真。關(guān)鍵詞:PCI總線單片機(jī)
AbstractThispaperintroducesindetailthecommunicationfunctiondesignofthePCIbusbasedonAT91RM9200MCU,includinghardwaredesignandsoftwaredesign.CommunicationfunctiondesignfocusesonthedatatransferbetweenSCMandPCbyPCIbus.ThedesignistouseMCUtorealizethefunctionofPCIcontroller,whichiseasiertomaster.InthesimpleuseofthePCIbus,thisdesignwillgreatlysimplifythecomplexity.TherealizationofthedesignistomaketheI/OportofMCUdirectlyconnectedwiththecontrolandaddress/datasignallinesofthePCIbus.ItcontrolsthedatatransmissionbyprogrammingMCU.ThispaperintroducesthebasicconceptofPCIbus,someimportantsignals,andthedefinitionofthetimingPCIbusaffairs.Thisarticleatfirstintroducesthechoiceofmicrocontrollermodel,andthenintroducesthereasonthatAT91RM9200isselectedandthebasicknowledgeofAT91RM9200.IchooseAM29LV160HYand57V561620asthememoryofAT91RM9200.Theresultofthedesigniscompleting
thedrawingofschematicdiagram,thedesignofPCBlayoutandsimulation.Keywords:PCIbus;MCU
目錄TOC\o"1-3"\f\h\z\u第一章緒論 11.1引言 11.2設(shè)計(jì)方案 2HYPERLINK\l"_Toc294169064"1.2.1設(shè)計(jì)框圖 21.2.2設(shè)計(jì)要求 2第二章器件相關(guān)知識(shí) 32.1PCI總線 32.1.1PCI總線的基本概念 32.1.2PCI總線的主要性能 42.1.3PCI總線的特點(diǎn) 42.1.4PCI總線的部分信號(hào)定義 52.1.5PCI總線事務(wù)的時(shí)序 82.2單片機(jī) PAGEREF_Toc294169073\h92.2.1單片機(jī)芯片型號(hào)的選擇 92.2.2AT91RM9200芯片簡(jiǎn)介 92.2.3AT91RM9200的主要模塊及存儲(chǔ)器的選擇 10第三章硬件設(shè)計(jì)部分 113.1原理圖的繪制 113.1.1AT91RM9200 4169079\h113.1.2AT91RM9200單片機(jī)所需電路 123.1.3HY57V561620 153.1.4AM29LV160 PAGEREF_Toc294169082\h163.1.5PCI總線 173.2PCB版圖設(shè)計(jì) 173.2.1元件的封裝 173.2.2PCB版圖設(shè)計(jì) 17第四章軟件設(shè)計(jì)部分 194.1軟件編程流程圖 194.2單片機(jī)初始化過(guò)程 194.2.1BootLoader流程 204.2.2BootLoader各個(gè)子流程闡述 20HYPERLINK\l"_Toc294169092"第五章軟件仿真與實(shí)驗(yàn) 23第六章設(shè)計(jì)總結(jié) 25致謝 26參考文獻(xiàn) PAGEREF_Toc294169095\h27附錄A 28附錄B 29附錄C 30PAGE30第一章緒論1.1引言PCI總線是一種高性能的局部總線,是為了滿足外設(shè)間以及外設(shè)與主機(jī)間高速數(shù)據(jù)傳輸而提出來(lái)的。PCI總線為系統(tǒng)提供了一個(gè)高速的數(shù)據(jù)傳輸通道,系統(tǒng)的各設(shè)備可以直接或者間接的連接其上,設(shè)備間通過(guò)局部總線可以完成數(shù)據(jù)的快速傳遞。在數(shù)字圖形、圖像和語(yǔ)音處理,以及高速實(shí)時(shí)數(shù)據(jù)采集與處理等對(duì)數(shù)據(jù)傳輸率要求較高的應(yīng)用中,采用PCI總線來(lái)進(jìn)行數(shù)據(jù)傳輸,可以解決原有的標(biāo)準(zhǔn)總線數(shù)據(jù)傳輸率低帶來(lái)的瓶頸問(wèn)題。目前,PCI總線是個(gè)人電腦中使用最為廣泛的接口,即使后續(xù)的PCIExpress總線逐步取代PCI總線成為PC局部總線的主流,也不能掩蓋PCI總線的光芒。從軟件層面上看,PCIExpress總線與PCI總線基本兼容;從硬件層面上看,PCIExpress總線在很大程度上繼承了PCI總線的設(shè)計(jì)思路。因此,PCI總線依然是軟硬件工程師在進(jìn)行處理器系統(tǒng)的開(kāi)發(fā)與設(shè)計(jì)時(shí)必須掌握的一條局部總線。對(duì)我們來(lái)說(shuō),研究PCI總線是有著十分重要的現(xiàn)實(shí)意義的。利用軟硬件具體實(shí)現(xiàn)了通過(guò)PCI總線進(jìn)行的通信,就可以熟練掌握PCI總線的通信過(guò)程,對(duì)PCI總線有更深層次的理解。PCI總線規(guī)范允許在計(jì)算機(jī)內(nèi)安裝多達(dá)10個(gè)遵從PCI規(guī)范的擴(kuò)展卡。此外,PCI總線系統(tǒng)要求有一個(gè)PCI控制卡,必須安裝在PCI插槽內(nèi)。在本次的設(shè)計(jì)中,利用單片機(jī)來(lái)實(shí)現(xiàn)PCI控制卡和外接設(shè)備的功能,單片機(jī)通過(guò)PCI總線與上位機(jī)之間進(jìn)行通信。具體來(lái)說(shuō)就是,單片機(jī)通過(guò)PCI總線向上位機(jī)發(fā)送數(shù)據(jù),上位機(jī)通過(guò)PCI總線來(lái)接收單片機(jī)發(fā)來(lái)的數(shù)據(jù),上位機(jī)也可以通過(guò)PCI總線向單片機(jī)發(fā)送數(shù)據(jù),上位機(jī)和單片機(jī)之間通過(guò)PCI總線實(shí)現(xiàn)雙向通信。利用單片機(jī)進(jìn)行設(shè)計(jì)是在保證用PCI總線實(shí)現(xiàn)通信功能的基礎(chǔ)上,盡可能的簡(jiǎn)化外接設(shè)備,以使PCI總線的應(yīng)用更加方便。單片機(jī)即嵌入式控制器(EMCU),是將CPU,存儲(chǔ)器和各種輸入輸出接口集成在一塊半導(dǎo)體硅片上具有一臺(tái)計(jì)算機(jī)屬性的集成電路芯片。單片機(jī)自問(wèn)世以來(lái),以其極高的性能價(jià)格比,受到人們的重視和關(guān)注,發(fā)展很快。單片機(jī)體積小,重量輕,抗干擾能力強(qiáng),環(huán)境要求不高,價(jià)格低廉,可靠性高,靈活性好,開(kāi)發(fā)較為容易。由于這些優(yōu)點(diǎn),單片機(jī)已廣泛地應(yīng)用在工業(yè)自動(dòng)化控制、自動(dòng)檢測(cè)、智能儀器儀表、家用電子、電力電子、機(jī)電一體化設(shè)備等各個(gè)方面。而且,近些年來(lái),單片機(jī)發(fā)展很快,能實(shí)現(xiàn)的功能越來(lái)越強(qiáng)大,所以掌握單片機(jī)的結(jié)構(gòu)和使用編程方法也是必不可少的。選用單片機(jī)在本次設(shè)計(jì)中也是一大特色,既可以熟練掌握PCI總線的工作過(guò)程,也可以在設(shè)計(jì)過(guò)程中增強(qiáng)單片機(jī)的運(yùn)用能力。在選擇哪一個(gè)具體型號(hào)單片機(jī)的時(shí)候,對(duì)目前廣泛應(yīng)用的幾種單片機(jī)的不同功能也有了很多的了解,對(duì)于以后的工作和學(xué)習(xí)有了很大的幫助。本次設(shè)計(jì)包括PCI總線基礎(chǔ)知識(shí)的學(xué)習(xí),單片機(jī)型號(hào)的選擇,原理圖的繪制,PCB版圖的設(shè)計(jì),仿真與總結(jié)。1.2設(shè)計(jì)方案1.2.1設(shè)計(jì)框圖單片機(jī)通過(guò)PCI總線與上位機(jī)實(shí)現(xiàn)通信的設(shè)計(jì)框圖如圖1所示:圖1設(shè)計(jì)框圖1.2.2設(shè)計(jì)要求要使通信功能能夠順利實(shí)現(xiàn),選用的單片機(jī)必須滿足以下要求:1.能夠傳送一個(gè)32的數(shù)據(jù);2.工作頻率至少是PCI總線工作頻率的三倍,才能滿足時(shí)序匹配;3.單片資源豐富,接口應(yīng)該足夠PCI總線使用4.在滿足以上兩點(diǎn)的情況下選擇功能比較少,易于掌握的單片機(jī);5.選擇市面上比較常見(jiàn),價(jià)格也相對(duì)便宜的單片機(jī)。
第二章器件相關(guān)知識(shí)2.1PCI總線2.1.1PCI總線的基本概念PCI是由Intel公司1991年推出的一種局部總線。局部總線英文全稱是PeripheralComponentInterconnection。PCI是一種由Intel公司推出的用于定義局部總線的規(guī)范。從結(jié)構(gòu)上看,PCI是在CPU和原來(lái)的系統(tǒng)總線之間插入的一級(jí)總線,具體由一個(gè)橋接電路實(shí)現(xiàn)對(duì)這一層的管理,并實(shí)現(xiàn)上下之間的接口以協(xié)調(diào)數(shù)據(jù)的傳送。管理器提供了信號(hào)緩沖,使之能支持10種外設(shè),并能在高時(shí)鐘頻率下保持高性能,它為顯卡,聲卡,網(wǎng)卡,MODEM等設(shè)備提供了連接接口,它的工作頻率為33MHz/66MHz。PCI總線也支持總線主控技術(shù),允許智能設(shè)備在需要時(shí)取得總線控制權(quán),以加速數(shù)據(jù)傳送。PCI系統(tǒng)總線的構(gòu)成如圖2所示:圖2PCI總線構(gòu)成PCI是是目前個(gè)人電腦中使用最為廣泛的接口,幾乎所有的主板產(chǎn)品上都帶有這種插槽。PCI插槽也是主板帶有最多數(shù)量的插槽類型,在目前流行的臺(tái)式機(jī)主板上,ATX結(jié)構(gòu)的主板一般帶有5~6個(gè)PCI插槽,而小一點(diǎn)的MATX主板也都帶有2~3個(gè)PCI插槽,可見(jiàn)其應(yīng)用的廣泛性。電腦中的PCI插槽如圖3所示,圖中白色的插槽即為PCI插槽。圖3PCI插槽最早提出的PCI總線工作在33MHz頻率之下,傳輸帶寬達(dá)到了133MB/s,基本上滿足了當(dāng)時(shí)處理器的發(fā)展需要。隨著對(duì)更高性能的要求,1993年又提出了64bit的PCI總線,后來(lái)又提出把PCI總線的頻率提升到66MHz。目前廣泛采用的是32bit、33MHz的PCI總線,64bit的PCI插槽更多應(yīng)用于服務(wù)器產(chǎn)品。本次設(shè)計(jì)中采用的是32bit、33MHz的PCI總線。當(dāng)PCI總線進(jìn)行操作時(shí),發(fā)起者(Master)先置REQ#,當(dāng)?shù)玫街俨闷鳎ˋrbiter)的許可時(shí)(GNT#),會(huì)將FRAME#置低,并在AD總線上放置Slave地址,同時(shí)C/BE#放置命令信號(hào),說(shuō)明接下來(lái)的傳輸類型。所有PCI總線上的設(shè)備都需對(duì)此地址譯碼,被選中的設(shè)備要置DEVSEL#以聲明自己被選中。然后當(dāng)IRDY#與TRDY#信號(hào)都已經(jīng)置低,可以傳輸數(shù)據(jù)。當(dāng)Master數(shù)據(jù)傳輸結(jié)束前,將FRAME#置高以表明只剩最后一組數(shù)據(jù)要傳輸,并在傳完數(shù)據(jù)后放開(kāi)IRDY#以釋放總線控制權(quán)。2.1.2PCI總線的主要性能(1)支持10臺(tái)外設(shè);(2)總線時(shí)鐘頻率33.3MHz/66MHz;(3)最大數(shù)據(jù)傳輸速率133MB/s;(4)時(shí)鐘同步方式;(5)與CPU及時(shí)鐘頻率無(wú)關(guān);(6)總線寬度32位(5V)/64位(3.3V);(7)能自動(dòng)識(shí)別外設(shè)。2.1.3PCI總線的特點(diǎn)PC機(jī)上的PCI總線以33MHz的時(shí)鐘頻率操作,采用32位數(shù)據(jù)總線,數(shù)據(jù)傳輸帶寬可高達(dá)133MB/s,能支持奔騰級(jí)電腦的圖形數(shù)據(jù)傳輸。PCI總線采用地址/數(shù)據(jù)總線復(fù)用方式,在總線規(guī)模較小的前提下,保證了總線的高性能。PCI總線是一種可自動(dòng)配置的總線,即具有即插即用功能。PCI總線是獨(dú)立于CPU的局部總線,因此,在進(jìn)行PCI總線接口的開(kāi)發(fā)與應(yīng)用時(shí),可以不必關(guān)心CPU的具體結(jié)構(gòu)和時(shí)序,只需按照PCI總線標(biāo)準(zhǔn)設(shè)計(jì)即可。PCI總線有如下顯著的特點(diǎn):(1)線性突發(fā)傳輸;(2)同步總線操作;(3)多總線主控方式;(4)不受處理器限制;(5)兼容性強(qiáng);(6)預(yù)留了發(fā)展空間;(7)自動(dòng)配置功能;(8)編碼總線命令;(9)地址/數(shù)據(jù)總線復(fù)用;(10)高性能價(jià)格比;(11)立足現(xiàn)在放眼未來(lái)的標(biāo)準(zhǔn)。2.1.4PCI總線的部分信號(hào)定義PCI總線是一條共享總線,在一條PCI總線上可以掛接多個(gè)PCI設(shè)備。這些PCI設(shè)備通過(guò)一系列信號(hào)與PCI總線相連,這些信號(hào)由地址/數(shù)據(jù)信號(hào)、控制信號(hào)、仲裁信號(hào)、中斷信號(hào)等多種信號(hào)組成。PCI總線信號(hào)的定義與分類如圖4所示(1)系統(tǒng)信號(hào)=1\*GB3①CLK(clock)(IN)PCI系統(tǒng)時(shí)鐘信號(hào),輸入。PCI總線上的所有操作都是與PCI時(shí)鐘信號(hào)同步的,系統(tǒng)在CLK的上升沿采樣PCI上設(shè)備的所有輸入信號(hào)。時(shí)鐘信號(hào)的頻率范圍是0MHz~33MHz,或33.33MHz~66.66MHz。而66MHz時(shí)鐘僅支持3.3V的信號(hào)環(huán)境。時(shí)鐘僅在節(jié)省電源狀態(tài)下才會(huì)停止。=2\*GB3②RST#(reset)(IN)復(fù)位信號(hào),輸入,低電平有效。當(dāng)復(fù)位信號(hào)有效時(shí),將所有PCI專用的寄存器、定時(shí)器和信號(hào)復(fù)位到指定狀態(tài)。一般情況下,全部輸出信號(hào)處于高阻狀態(tài)。圖4PCI總線信號(hào)的定義和分類(2)地址和數(shù)據(jù)信號(hào)=1\*GB3①AD[31:0]信號(hào)PCI總線復(fù)用地址與數(shù)據(jù)信號(hào)。PCI總線事務(wù)在啟動(dòng)后的第一個(gè)時(shí)鐘周期傳送地址,這個(gè)地址是PCI總線域的存儲(chǔ)器地址或者I/O地址;而在下一個(gè)時(shí)鐘周期傳送數(shù)據(jù)。傳送地址的時(shí)鐘周期也被稱為地址周期,而傳送數(shù)據(jù)的時(shí)鐘周期也被稱為數(shù)據(jù)周期。PCI總線支持突發(fā)傳送,即在一個(gè)地址周期之后,可以緊跟多個(gè)數(shù)據(jù)周期。=2\*GB3②C/BE[3::0]#總線復(fù)用命令與字節(jié)選通引腳在地址周期中,C/BE[3:0]信號(hào)表示PCI總線的命令。在數(shù)據(jù)周期,C/BE[3:0]引腳輸出字節(jié)選通信號(hào),其中C/BE3、C/BE2、C/BE1和C/BE0與數(shù)據(jù)的字節(jié)3、2、1和0對(duì)應(yīng)。使用這組信號(hào)可以對(duì)PCI設(shè)備進(jìn)行單個(gè)字節(jié)、字和雙字訪問(wèn)。PCI總線通過(guò)C/BE[3:0]#信號(hào)定義了多個(gè)總線事務(wù),四條線可表示16種不同的總線命令。(3)接口控制信號(hào)在PCI總線中,接口控制信號(hào)的主要作用是保證數(shù)據(jù)的正常傳遞,并根據(jù)PCI主從設(shè)備的狀態(tài),暫停、終止或者正常完成當(dāng)前總線事物,其主要信號(hào)如下。=1\*GB3①FRAME#信號(hào)該信號(hào)指示一個(gè)PCI總線事物的開(kāi)始與結(jié)束。當(dāng)PCI設(shè)備獲得總線的使用權(quán)后,將置該信號(hào)為有效,即置為低,啟動(dòng)PCI總線事務(wù),當(dāng)結(jié)束總線事務(wù)時(shí),將置該信號(hào)無(wú)效,即置為高。PCI設(shè)備只有通過(guò)仲裁獲得當(dāng)前PCI總線的使用權(quán)后,才能驅(qū)動(dòng)該信號(hào)=2\*GB3②IRDY#信號(hào)該信號(hào)由PCI主設(shè)備(包括HOST主橋)驅(qū)動(dòng),該信號(hào)有效時(shí)表示PCI主設(shè)備的數(shù)據(jù)已經(jīng)準(zhǔn)備完畢。如果當(dāng)前PCI總線事務(wù)為寫(xiě)事務(wù),表示數(shù)據(jù)已經(jīng)在AD[31:0]上有效;如果為讀事務(wù),表示PCI目標(biāo)設(shè)備已經(jīng)準(zhǔn)備好接收緩沖,目標(biāo)設(shè)備可以將數(shù)據(jù)發(fā)送到AD[31:0]上。=3\*GB3③TRDY#信號(hào)該信號(hào)由目標(biāo)設(shè)備驅(qū)動(dòng),該信號(hào)有效時(shí)表示目標(biāo)設(shè)備已經(jīng)將數(shù)據(jù)準(zhǔn)備完畢。如果當(dāng)前PCI總線事務(wù)為寫(xiě)事務(wù),表示目標(biāo)設(shè)備已經(jīng)準(zhǔn)備好接收緩沖,可以將AD[31:0]上的數(shù)據(jù)寫(xiě)入目標(biāo)設(shè)備;如果為讀事務(wù),表示PCI設(shè)備需要的數(shù)據(jù)已經(jīng)在AD[31:0]上有效。該信號(hào)可以和IRDY#信號(hào)聯(lián)合使用,在PCI總線事務(wù)上插入等待周期,對(duì)PCI總線的數(shù)據(jù)傳送進(jìn)行控制。=4\*GB3④IDSEL信號(hào)PCI總線在進(jìn)行配置讀寫(xiě)總線事務(wù)時(shí),使用該信號(hào)選擇PCI目標(biāo)設(shè)備。配置讀寫(xiě)總線事務(wù)與存儲(chǔ)器讀寫(xiě)總線事務(wù)在實(shí)現(xiàn)上略有不同。在PCI總線中,存儲(chǔ)器讀寫(xiě)總線事務(wù)使用地址譯碼方式訪問(wèn)外部設(shè)備。而配置讀寫(xiě)總線事務(wù)使用“ID譯碼方式”訪問(wèn)PCI設(shè)備,即通過(guò)PCI設(shè)備的總線號(hào)、設(shè)備號(hào)和寄存器號(hào)來(lái)訪問(wèn)PCI設(shè)備的配置空間。(4)仲裁信號(hào)PCI設(shè)備使用該組信號(hào)進(jìn)行總線仲裁,并獲得PCI總線的使用權(quán)。只有PCI主設(shè)備需要使用該組信號(hào),而PCI從設(shè)備可以不使用總線仲裁信號(hào)。這組信號(hào)由REQ#和GNT#組成。其中PCI主設(shè)備的REQ#和GNT#信號(hào)與PCI總線的仲裁器直接相連,如圖5所示。圖5仲裁器與PCI設(shè)備的連接關(guān)系2.1.5PCI總線事務(wù)的時(shí)序圖6PCI總線事務(wù)的時(shí)序PCI總線使用它的各種信號(hào)進(jìn)行數(shù)據(jù)和配置信息的傳遞,一個(gè)PCI總線事務(wù)的基本訪問(wèn)時(shí)序如圖6所示,與PCI總線事務(wù)相關(guān)的控制信號(hào)有FRAME#、IRDY#、TRDY#、DEVSEL#等其他信號(hào)。當(dāng)一個(gè)PCI主設(shè)備需要使用PCI總線時(shí),首先需要發(fā)送REQ#信號(hào),通過(guò)總線仲裁獲得總線的使用權(quán),即GNT#信號(hào)有效后,使用以下步驟完成一個(gè)完整PCI總線事務(wù),對(duì)目標(biāo)設(shè)備進(jìn)行存儲(chǔ)器或者I/O地址空間的讀寫(xiě)訪問(wèn)。(1)當(dāng)PCI主設(shè)備獲得總線使用權(quán)之后,將在CLK1的上升沿置FRAME#信號(hào)有效,啟動(dòng)PCI總線事務(wù)。當(dāng)PCI總線事務(wù)結(jié)束后,F(xiàn)RAME#信號(hào)將被置為無(wú)效。(2)PCI總線周期的第一個(gè)時(shí)鐘周期(CLK1的上升沿到CLK2的上升沿之間)為地址周期。在地址周期中,PCI主設(shè)備將要訪問(wèn)的目的地址和總線命令分別驅(qū)動(dòng)到AD[31:0]和C/BE#信號(hào)上。如果當(dāng)然總線命令是配置讀寫(xiě),那么IDSEL信號(hào)線也被置為有效。(3)當(dāng)IRDY#、TRDY#和DEVSEL#信號(hào)都有效后,總線事務(wù)將使用數(shù)據(jù)周期進(jìn)行數(shù)據(jù)傳遞。當(dāng)IRDY#和TRDY#信號(hào)沒(méi)有同時(shí)有效時(shí),PCI總線不能進(jìn)行數(shù)據(jù)傳遞,PCI總線使用這兩個(gè)信號(hào)進(jìn)行傳送控制。(4)PCI總線支持突發(fā)周期,因此在地址周期之后可以有多個(gè)數(shù)據(jù)周期,可以傳送多組數(shù)據(jù)。而且目標(biāo)設(shè)備并不知道突發(fā)周期的長(zhǎng)度,如果目標(biāo)設(shè)備不能繼續(xù)接收數(shù)據(jù),可以disconnect(斷連)當(dāng)前總線事務(wù)。值得注意的是,只有存儲(chǔ)器讀寫(xiě)總線事務(wù)可以使用突發(fā)周期。2.2單片機(jī)2.2.1單片機(jī)芯片型號(hào)的選擇在緒論中已經(jīng)介紹了單片機(jī)選擇的一些要求,要想利用PCI總線進(jìn)行通信,所選擇的單片機(jī)的工作速度必須要跟得上PCI總線的工作速度。在眾多的單片機(jī)中,ARM單片機(jī)的速度是非常快的,一般在100MHz以上,PCI總線的工作頻率為33MHz,即使ARM采用精簡(jiǎn)指令系統(tǒng),速度也能夠與PCI總線相匹配,等待的情況應(yīng)該極少出現(xiàn)。而且ARM單片機(jī)的應(yīng)用廣泛,能夠?qū)崿F(xiàn)的功能比較多,所以選擇ARM單片機(jī)一定能滿足設(shè)計(jì)的要求。目前國(guó)內(nèi)應(yīng)用較廣泛的單片機(jī)有三星公司的S3C2440、S3C2410X和Atmel公司的AT91RM9200等。這三個(gè)型號(hào)的單片機(jī)都滿足設(shè)計(jì)的要求,AT91RM9200的工作頻率為180MHz,S3C2440工作頻率可達(dá)400MHz,S3C2410的工作也可以達(dá)到200MHz以上。三星公司的S3C系列的LCD顯示模塊做的非常好,引腳相對(duì)來(lái)說(shuō)比較多,運(yùn)用起來(lái)比較復(fù)雜,也會(huì)造成功能浪費(fèi)。AT91RM9200有32位的I/O口PA[0:31],方便與PCI總線的32位地址/數(shù)據(jù)相連。所以我選擇AT91RM9200作為本次設(shè)計(jì)中使用的單片機(jī)。2.2.2AT91RM9200芯片簡(jiǎn)介AT91RM9200是完全圍繞ARM920TARMThumb處理器構(gòu)建的系統(tǒng)。它有豐富的系統(tǒng)與應(yīng)用外設(shè)及標(biāo)準(zhǔn)的接口,從而為低功耗、低成本、高性能的計(jì)算機(jī)比較寬的范圍應(yīng)用提供一個(gè)單片解決方案。AT91RM9200包括一個(gè)高速片上SRAM工作區(qū)及一個(gè)低等待時(shí)間的外部總線接口(EBI),以完成應(yīng)用所要求的片外存儲(chǔ)器和內(nèi)部存儲(chǔ)器映射外設(shè)配置的無(wú)縫連接。EBI有同步DRAM(SDRAM)、BurstFlash及靜態(tài)存儲(chǔ)器的控制器,并設(shè)計(jì)了專用電路以方便與SmartMedia、CompactFlash及NANDFlash連接。高級(jí)中斷控制器(AIC)通過(guò)多向量,中斷源優(yōu)先級(jí)劃分及縮短中斷處理傳輸時(shí)間來(lái)提高ARM920T處理器的中斷處理性能。外設(shè)數(shù)據(jù)控制器(PDC)向所有的串行外設(shè)提供DMA通道,使其與片內(nèi)或片外存儲(chǔ)器傳輸數(shù)據(jù)時(shí)不用經(jīng)過(guò)處理器。這就減少了傳輸連續(xù)數(shù)據(jù)流時(shí)處理器的開(kāi)銷。包含雙指針的PDC控制器極大的簡(jiǎn)化了AT91RM9200的緩沖器鏈接。并行I/O(PIO)控制器與作為通用數(shù)據(jù)的I/O復(fù)用外設(shè)輸入/輸出口線,以最大程度上適應(yīng)器件的配置。每條口線上包含有一個(gè)輸入變化中斷、開(kāi)漏能力及可編程上拉電阻。電源管理控制器(PMC)通過(guò)軟件控制有選擇的使能/禁用處理器及各種外設(shè)來(lái)使系統(tǒng)的功耗保持最低。它用一個(gè)增強(qiáng)的時(shí)鐘產(chǎn)生器來(lái)提供包括慢時(shí)鐘(32kHz)在內(nèi)的選定時(shí)鐘信號(hào),以隨時(shí)優(yōu)化功耗與性能。AT91RM9200集成了許多標(biāo)準(zhǔn)接口,包括USB2.0全速主機(jī)和設(shè)備端口及與多數(shù)外設(shè)和在網(wǎng)絡(luò)層廣泛使用的10/100Base-T以太網(wǎng)媒體訪問(wèn)控制器(MAC)。此外,它還提供一系列符合工業(yè)標(biāo)準(zhǔn)的外設(shè),可在音頻、電信、Flash卡紅外線及智能卡中使用。為完善性能,AT91RM9200集成了包括JTAG-ICE、專門UART調(diào)試通道(DBGU)及嵌入式的實(shí)時(shí)追蹤的一系列的調(diào)試功能。這些功能使得開(kāi)發(fā)、調(diào)試所有的應(yīng)用特別是受實(shí)時(shí)性限制的應(yīng)用成為可能。2.2.3AT91RM9200的主要模塊及存儲(chǔ)器的選擇AT91RM9200的主要模塊有電源、時(shí)鐘、振蕩器與PLL、ICE與JTAG、ETM、復(fù)位/測(cè)試、存儲(chǔ)控制器、調(diào)試單元、AIC、PIO、EBI、SMC、EBI支持CompactFlash、EBI支持智能媒體、SDRAM控制器、BurstFlash控制器、多媒體接口、USART、USB器件端口、USBHostPort、以太網(wǎng)MAC、同步串行控制器、定時(shí)器/計(jì)數(shù)器、SPI、兩線接口。AT91RM9200里面沒(méi)有存儲(chǔ)器,有存儲(chǔ)器控制器,在使用時(shí)需要外接SDRAM和FLASH閃存??紤]到設(shè)計(jì)的要求,SDRAM選擇16位的HY57V561620,Flash閃存選擇16位的Am29LV160。
第三章硬件設(shè)計(jì)部分3.1原理圖的繪制繪制好的原理圖見(jiàn)附錄A和附錄B。3.1.1AT91RM9200如圖7所示為原理圖中的AT91RM9200部分,設(shè)計(jì)中采用的是AT91RM9200的PQFP封裝,共208個(gè)引腳。圖7原理圖中的AT91RM9200設(shè)計(jì)中用到的引腳為:=1\*GB3①地址線A[0:25]=2\*GB3②數(shù)據(jù)線D[0:31]=3\*GB3③SDRAM信號(hào)接口引腳其中包括SDWE、CAS、RAS、SDCKE、SDCK、NCS1引腳。=4\*GB3④Flash閃存接口信號(hào)引腳其中包括NCS0、NRD、NWE0、SYSNRST引腳。=5\*GB3⑤JTAG仿真信號(hào)接口引腳其中包括TDI、TMS、TCK、TDO、NTRST引腳。=6\*GB3⑥I/O口線設(shè)計(jì)中用到了PA[0:31]和PC中的一部分與PCI總線相連。=7\*GB3⑦晶體振蕩電路接口引腳包括VDDPLL(給PLL供電)和GNDPLL、VDDOSC(給振蕩電路供電)和GNDOSC引腳。=8\*GB3⑧中斷及復(fù)位引腳等包括IRQ0、NRST等引腳。=9\*GB3⑨電源與接地引腳其中電源除了晶振電路中的兩類外,還有三類:VDDCORE引腳用于向內(nèi)核供電,包括處理器、存儲(chǔ)器與外設(shè),接1.8V;VDDIOM引腳給外部總線接口I/O口線供電,接3.3V;VDDIOP引腳給外設(shè)I/O口線與USB收發(fā)器供電,接3.3V。3.1.2AT91RM9200單片機(jī)所需電路(1)復(fù)位電路復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號(hào)。為可靠起見(jiàn),電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào),以防電源開(kāi)關(guān)或電源插頭分/合過(guò)程中引起的抖動(dòng)而影響復(fù)位。本次設(shè)計(jì)中對(duì)可靠性要求不高,用簡(jiǎn)易的RC復(fù)位電路即可。如圖8所示,為AT91RM9200單片機(jī)的上電復(fù)位電路。圖8上電復(fù)位電路(2)晶體振蕩電路AT91RM9200在使用時(shí),用戶必須在XIN引腳提供外部時(shí)鐘信號(hào),需要注意的是,外部時(shí)鐘信號(hào)必須滿足相關(guān)電源供給VDDPLL(即在1.65V到1.95V間),不能超過(guò)50MHz。圖9.a、9.b、9.c、9.d給出了晶體振蕩電路的完整圖形。圖9.a晶體振蕩電路濾波部分圖9.b晶體振蕩電路快晶振部分圖9.c晶體振蕩電路慢晶振部分圖9.d晶體振蕩電路濾波部分(3)電源轉(zhuǎn)換電路AT91RM9200單片機(jī)的電源都是由PCI總線提供的,PCI總線中只有5V和3.3V兩種電源,而AT91RM9200需要3.3V和1.8V兩種電源,所以需要進(jìn)行電源轉(zhuǎn)換。設(shè)計(jì)中,電源轉(zhuǎn)換是利用LM1117-1.8來(lái)完成的,把PCI總線中5V的電源轉(zhuǎn)換成1.8V的電源,接到VDDCORE上。需要注意的是,從PCI總線出來(lái)的5V和3.3V電源在使用前都要先接去耦電容,可以起到抗干擾的作用。去藕電容就是起到一個(gè)電池的作用,滿足驅(qū)動(dòng)電路電流的變化,避免相互間的耦合干擾。具體的電路如圖10所示,圖中的C16就是一個(gè)去耦電容。圖10電源轉(zhuǎn)換電路(4)JTAG接口電路JTAG是單片機(jī)的仿真接口,用于測(cè)試和仿真。標(biāo)準(zhǔn)的JTAG接口是4線:TMS、TCK、TDI、TDO,分別為模式選擇、時(shí)鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。相關(guān)JTAG引腳的定義為:TCK為測(cè)試時(shí)鐘輸入;TDI為測(cè)試數(shù)據(jù)輸入,數(shù)據(jù)通過(guò)TDI引腳輸入JTAG接口;TDO為測(cè)試數(shù)據(jù)輸出,數(shù)據(jù)通過(guò)TDO引腳從JTAG接口輸出;TMS為測(cè)試模式選擇,TMS用來(lái)設(shè)置JTAG接口處于某種特定的測(cè)試模式;TRST為測(cè)試復(fù)位,輸入引腳,低電平有效。設(shè)計(jì)中采用的是14針的接口,如圖11所示是AT91RM9200的JTAG接口。圖11JTAG接口電路另外,AT91RM9200的JTAGSEL引腳根據(jù)不同的仿真器要置高或置低,用一個(gè)3針插座和跳線帽來(lái)選擇,如圖12所示。圖12JTAGSEL引腳外接電路3.1.3HY57V561620圖13HY57V561620的連接電路HY57V561620芯片是單片機(jī)AT91RM9200的外接數(shù)據(jù)存儲(chǔ)器,存儲(chǔ)容量為4M,是一個(gè)16位的SDRAM。在需要傳32的數(shù)據(jù)時(shí),可以將32的數(shù)據(jù)分解成兩個(gè)16位的數(shù)據(jù)來(lái)傳送。它采用的是54腳的TSOP封裝。與AT91RM9200的連接關(guān)系如圖13所示。HY57V561620的數(shù)據(jù)線接AT91RM9200的數(shù)據(jù)線的前16位,地址線與AT91RM9200地址線的連接關(guān)系如圖中所示。另外還有SDRAM接口與單片機(jī)相連。LDQM與UDQM用不到,接地就可以了。3.1.4AM29LV160圖14AM29LV160的電路連接AM29LV160是AT91RM9200的外接程序存儲(chǔ)器,存儲(chǔ)容量為2M,是一個(gè)16位的Flash閃存。它采用的是44腳的SOP封裝。與AT91RM9200的連接關(guān)系如圖14所示。AM29LV160芯片的數(shù)據(jù)線與單片機(jī)AT91RM9200數(shù)據(jù)線的后16位相連。地址線與AT91RM9200的連接關(guān)系如圖中所示。CE#、OE#、WE#、RESET#、分別接AT91RM9200單片機(jī)的NCS0、NRD、NWE、SYSNRST引腳。3.1.5PCI總線PCI總線的金手指分A面和B面,共122個(gè)引腳,一般在B面放置元器件。PCI總線有兩種電源,5V和3.3V,設(shè)計(jì)中只在進(jìn)行電源轉(zhuǎn)換的時(shí)候用到了一個(gè)5V的電源,所以剩下的5V接一個(gè)電容接地就可以了。3.3V的電源全部都用,在使用前接一個(gè)去耦電容,抗干擾。PCI總線上的CLK是同步信號(hào),所以要接到AT91的I/O口上,實(shí)現(xiàn)和其他信號(hào)的同步。設(shè)計(jì)中,PCI總線不使用JTAG,所以TDI和TDO短接在一起。其他控制信號(hào)以及地址/數(shù)據(jù)線接AT91RM9200的I/O口,通過(guò)編程來(lái)實(shí)現(xiàn)控制功能。另外,中斷INTA#接單片機(jī)的中斷接口IRQ0。具體的電路圖見(jiàn)附錄B。3.2PCB版圖設(shè)計(jì)設(shè)計(jì)中原理圖和PCB版圖的設(shè)計(jì)都是用Protel99SE軟件完成的。原理圖的設(shè)計(jì)完成后就是PCB版圖的設(shè)計(jì)了,畫(huà)PCB圖的時(shí)候要考慮到元件的封裝,元件的布局和布線等問(wèn)題。3.2.1元件的封裝(1)、電阻:0805貼片(2)、電容:1206貼片;電解電容:RB.2/.4插件(3)、晶振:XTAL1插件(4)、三針插座:SIP3插件(5)、電感:0805貼片(6)、LM117-1.8:TO-220插件(7)、AT91RM9200:PQFP貼片(8)、HY57V561620:TSOP貼片(9)、AM29LV160:SOP貼片3.2.2PCB版圖設(shè)計(jì)由于電路圖的元器件較多,電源、地線也較多,所以設(shè)計(jì)成四層電路板,PCI總線金手指的B面是最上層,放置元器件,A面是最底層,中間兩層是電源層和地層。PCB版圖繪制過(guò)程:(1)、規(guī)劃電路板。(2)、設(shè)置參數(shù)。(3)、裝入網(wǎng)絡(luò)表及元件封裝。(4)、元件的布局元件的布局可以使用Protel99SE的自動(dòng)布局,但是最好是自己根據(jù)原理圖來(lái)布局,這樣會(huì)使布局更加合理。(5)、自動(dòng)布線Protel99SE有自動(dòng)布線的功能。(6)、手工調(diào)整。自動(dòng)布線結(jié)束后,往往存在令人不滿意的地方,需要手工調(diào)整。(7)、放置過(guò)孔,將地線放在第二層,電源線放在第三層。(8)、鍍銅。(9)、文件保存及輸出。設(shè)計(jì)成功的PCB版圖見(jiàn)附錄C。
第四章軟件設(shè)計(jì)部分4.1軟件編程流程圖單片機(jī)向上位機(jī)傳遞數(shù)據(jù)的流程圖如圖15所示。上位機(jī)向單片機(jī)傳數(shù)據(jù)的流程圖如圖16所示圖15單片機(jī)向上位機(jī)傳遞數(shù)據(jù)的流程圖圖16上位機(jī)向單片機(jī)傳遞數(shù)據(jù)的流程圖4.2單片機(jī)初始化過(guò)程由ARM匯編指令編寫(xiě)的嵌入式系統(tǒng)的初始化程序是BootLoader。匯編編寫(xiě)的嵌入式系統(tǒng)初始化程序一般包含在BootLoader中的第一階段的代碼中,它和嵌入式硬件系統(tǒng)的硬件密切相關(guān),BootLoader中這部分初始化程序必須由匯編語(yǔ)言來(lái)實(shí)現(xiàn)。4.2.1BootLoader流程BootLoader第一階段的匯編初始化程序主要完成以下功能:(1)、建立異常中斷矢量表(2)、初始化堆棧(3)、把程序從Flash復(fù)制到RAM中(4)、跳轉(zhuǎn)到第二階段的C語(yǔ)言入口點(diǎn),開(kāi)始第二階段的初始化和系統(tǒng)引導(dǎo)。BootLoader的流程如圖17所示。圖17AT91RM9200BootLoader流程4.2.2BootLoader各個(gè)子流程闡述(1)、定義常量ARM920T支持7種操作模式:用戶模式、快速中斷模式、普通中斷模式、管理模式、數(shù)據(jù)存取中止異常模式、指令未定義模式及系統(tǒng)模式。BootLoader需要為每種模式建立堆棧,這需要初始化其程序狀態(tài)寄存器和堆棧指針并且為每個(gè)模式建立堆棧。定義常量即定義各個(gè)模式。(2)、編譯初始化文件編譯選項(xiàng)程序流程如圖18所示。圖18文件編譯選項(xiàng)程序流程如圖所示,首先偽指令GBLL定義一個(gè)全局的邏輯變量,默認(rèn)的初始化為F,然后做出判斷。ARM有兩種工作狀態(tài)。在arm:32位這種工作狀態(tài)下執(zhí)行對(duì)準(zhǔn)的ARM指令,而在Thumb:16位這種工作狀態(tài)下執(zhí)行半對(duì)準(zhǔn)的Thumb指令。(3)、MACRO定義源文件里有一個(gè)宏定義:MOV_PC_LR宏定義,源代碼如下:MARCOMOV_PC_LR[THUMBCODEbxlrCODE16movpc,lr]MEND關(guān)鍵字MARCO代表定義了一個(gè)宏,是宏定義的起始處,宏的名稱是MOV_PC_LR,MEND代表宏定義的結(jié)束。(4)、CODE段開(kāi)始偽指令A(yù)REA表示一個(gè)段的開(kāi)始,段可以分為代碼段和數(shù)據(jù)段,代碼段的內(nèi)容為執(zhí)行代碼,數(shù)據(jù)段存放代碼運(yùn)行時(shí)需要用到的數(shù)據(jù)。CODE指的是代碼段。ENTRY偽指令用于指定匯編程序的入口點(diǎn),這是匯編程序的入口標(biāo)志。在一個(gè)完整的匯編程序中至少要有一個(gè)ENTRY,但在一個(gè)源文件里最多只能有一個(gè)ENTRY。(5)、異常向量初始化代碼必須設(shè)置好異常向量表。(6)、主時(shí)鐘使能AT91RM9200復(fù)位啟動(dòng)后,默認(rèn)情況下,主時(shí)鐘是禁止的。但是正常工作時(shí),必須使能主時(shí)鐘,利用匯編實(shí)現(xiàn)。(7)、系統(tǒng)低電平初始化AT91F_LowLevelInit系統(tǒng)初始化子函數(shù)要完成的任務(wù)是:系統(tǒng)時(shí)鐘設(shè)定、Flash和SDRAM的初始化及DBGU端口的初始化。系統(tǒng)初始化的目的是為后面代碼段的執(zhí)行及隨后的內(nèi)核的執(zhí)行準(zhǔn)備好一些基本的硬件環(huán)境。(8)、初始化堆棧BootLoader要為ARM920T的七種操作模式建立堆棧。由于處理器的每種運(yùn)行模式都有自己獨(dú)立的物理堆棧寄存器R13,在用戶應(yīng)用程序的初始化部分,一般都要初始化每種模式下的R13,使其指向該運(yùn)行模式的??臻g,這樣,當(dāng)程序的運(yùn)行進(jìn)入異常模式時(shí),可以將要保護(hù)的寄存器放入R13所指向的堆棧,當(dāng)程序從異常中返回時(shí),則從對(duì)應(yīng)的堆棧中恢復(fù),采用這種方式可以保護(hù)異常發(fā)生后程序正常執(zhí)行。(9)、RO、RW、ZI段初始化映像文件一般由域組成,域由最多三個(gè)輸出段(RO、RW、ZI)組成,RO為代碼段,RW是已被初始化的全局變量,ZI是未初始化的全局變量。RO是只讀的,在運(yùn)行的時(shí)候不可以改變,因此,在運(yùn)行的時(shí)候,RO段可以駐留在Flash里,但是為了能將BootLoader在線升級(jí),RO段必須運(yùn)行在RAM里;RW是可以讀寫(xiě)的,在運(yùn)行的時(shí)候必須被裝在到RAM里,因此BootLo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 多媒體設(shè)計(jì)評(píng)價(jià)體系與實(shí)踐試題及答案
- 第19課 傳熱比賽(教學(xué)設(shè)計(jì))五年級(jí)科學(xué)上冊(cè)同步高效課堂系列(冀人版)
- 2024年稅務(wù)師考試真題及答案分析
- 全面掌握珠寶鑒定師試題及答案
- 八年級(jí)地理下冊(cè) 10.1中國(guó)在世界中教學(xué)實(shí)錄 (新版)新人教版
- 全國(guó)浙教版信息技術(shù)八年級(jí)下冊(cè)第三單元第14課《智能物聯(lián)系統(tǒng)的軟件編寫(xiě)》教學(xué)設(shè)計(jì)
- 提升備考效率的試題及答案 2024年
- 2024年計(jì)算機(jī)二級(jí)考試新面貌試題及答案
- 九年級(jí)語(yǔ)文下冊(cè) 第1課 祖國(guó)我親愛(ài)的祖國(guó)教學(xué)實(shí)錄(pdf) 新人教版
- 法規(guī)掌握2024年稅務(wù)師試題及答案
- 《旅館建筑設(shè)計(jì)規(guī)范 JGJ62-2014》正式版
- 個(gè)人簡(jiǎn)介(Biography)的編寫(xiě)及翻譯
- 消化道穿孔患者的護(hù)理
- 2022-2023學(xué)年江蘇省南京市高二下學(xué)期期中聯(lián)考數(shù)學(xué)試題【含答案】
- 員工技能等級(jí)評(píng)定方案樣本
- 小升初小學(xué)生簡(jiǎn)歷模板
- 加油站安全生產(chǎn)風(fēng)險(xiǎn)點(diǎn)告知卡
- LY/T 1970-2011綠化用有機(jī)基質(zhì)
- GB/T 893-2017孔用彈性擋圈
- GB/T 4010-2015鐵合金化學(xué)分析用試樣的采取和制備
- GB 6142-1985禾本科主要栽培牧草種子質(zhì)量分級(jí)
評(píng)論
0/150
提交評(píng)論