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