

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、南京理工大學(xué) 碩士學(xué)位論文 基于 ARM 和 FPGA 的嵌入式數(shù)控系統(tǒng)研究 姓名:胡成 申請(qǐng)學(xué)位級(jí)別:碩士 專業(yè):控制理論與控制工程 指導(dǎo)教師:吳明贊 20070708 碩士論文基于刪和FPGA的嵌入式敷控系統(tǒng)研究 摘要 隨著現(xiàn)代控制理論在機(jī)電技術(shù)領(lǐng)域的不斷發(fā)展,多電動(dòng)機(jī)協(xié)調(diào)控制技術(shù)在機(jī)電 控制系統(tǒng)中得到廣泛的應(yīng)用,給嵌入式系統(tǒng)的數(shù)控應(yīng)用提供了巨大機(jī)遇。傳統(tǒng) 的伺服運(yùn)動(dòng)控制根難在處理大數(shù)據(jù)量、 復(fù)雜算法時(shí)保證系統(tǒng)的靈活性和實(shí)時(shí)性。 嵌 入式系統(tǒng)是近年來(lái)發(fā)展起來(lái)的以應(yīng)用為中心并且軟硬件可裁剪的實(shí)時(shí)系統(tǒng),它的特 點(diǎn)是高度自動(dòng)化,響應(yīng)速度快等,非常適合于要求實(shí)時(shí)的和多任務(wù)的場(chǎng)合。 本文以嵌入式數(shù)控
2、系統(tǒng)為項(xiàng)目背景,研究設(shè)計(jì)了一種基于ARM和FPGA的 嵌 入式數(shù)控系統(tǒng)的方案。 設(shè)計(jì)中, 通過(guò)Quartusll,ModclSim 和Protel9 9等電子設(shè)計(jì)自動(dòng)化開(kāi)發(fā)工具完成了一個(gè)高性能嵌入式軟硬件系 統(tǒng)的設(shè)計(jì)及仿真驗(yàn)證;采用了實(shí)用小巧的嵌入式實(shí)時(shí)操作系統(tǒng)pC/OS.II,為應(yīng)用系統(tǒng)的實(shí)時(shí)性提供了保證。該嵌入式數(shù)控系統(tǒng)滿足了用戶對(duì)應(yīng)用系統(tǒng)實(shí)時(shí)性 和快速處理的要求,具有較廣泛的應(yīng)用前景 通過(guò)本課題實(shí)踐表明,基于mutt和FPGA構(gòu)建嵌入式數(shù)控系統(tǒng)的應(yīng)用方案 全可行、 合理, 同傳統(tǒng)的人機(jī)交互系統(tǒng)設(shè)計(jì)相比, 能大量地減輕研發(fā)任務(wù), 提 高研發(fā)速度,能夠在短時(shí)間內(nèi)得到控制性能優(yōu)秀的數(shù)控系統(tǒng)。而
3、pC/OS.II 實(shí)時(shí)操作系統(tǒng)的加入,使得系統(tǒng)很好地進(jìn)行多任務(wù)處理,并保證了系統(tǒng)的實(shí)時(shí)性。 關(guān)鍵詞:燦洲,F(xiàn)PGA,pc/osU,嵌入式 ABSTRA( 了碩士論文 ABSTRACT WiththeqmcHydevelopmentofmodemcont rolthesises ?applicationsin mechanicalandelec 們n icalcontrollin g,既 eessive electromotors ?correspondingcontrol technologybecomesmoreandmorepopulari nmechanicalandelectronic
4、atcontrollin g.ThetraditionalsefvOmechanismcannot realizesflexibleandrealtime inthecircumstanceofgreatdataandcom plexarithmetic.Recentyears,embeddedt echnologysystemwhichtakesapplicationascente rhasdevelopedfastly,itsch 棚丑 cteris 吐ci s flexible,autoansfastcanbeappfiedin realtimeandmultitaskinginsumc
5、e. Inthisthesis,a projectantifled ,7 theappUcationofem beddednumericalcontrolsystembased OilARMandFPGA7 ?isstudied.Hrsfly,fo rhardwarg,theFPGAdevices,thememoryan dperipheralequipmentsarechosenanddes igned,usingProtel99, QBRIInISIIandotherexploitationtool stOcompleteaembeddednumericalcontrol system.F
6、orsoftware,usingsmallpract ical即lbeddedrealtimeoperatingsystem |Ic/os ? Ihosupplyresltime characteristic.The 鋤boddednumerical controlsystemcanmoettherequirementof the realtimeandfastprocessingfortheUS er,SOhaswiderapplicationforeground.Theexperimen tresultshowsthenumericalcontrolsyste mbased onARMan
7、dFPGAcanispracticalandinrea son.Comparedwiththedesignschemeoftra ditional humancomputerinterfacesystem.thet cclmology c姐 reduceresearchtask,increaseresea rchspeed,socangainanumericalcontrols ystemwhichhasexcellentcontrol charactcaJstic.Theaddingofrealtim eoperatingsystempCIOS II,cangetthesy stem com
8、pleteexcessivetaskwell,alsocall assurethecharacteristicofrealtime. Keywords:ARM,FPGA,rtc/os II,embcde dsystemH 聲明 本學(xué)位論文是我在導(dǎo)師的指導(dǎo)下取得的研究成果,盡我所知,在本學(xué)位論文中,除了加以標(biāo)注和致謝的部分外,不包含其他人已經(jīng)發(fā)表或公布過(guò) 的研究成果,也不包含我為獲得任何教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過(guò)的材料。與我 一同工作的同事對(duì)本學(xué)位論文做出的貢獻(xiàn)均已在論文中作了明確的說(shuō)明。 研究生簽名:年月曰 學(xué)位論文使用授權(quán)聲明 南京理工大學(xué)有權(quán)保存本學(xué)位論文的電子和紙質(zhì)文檔, 可以借闋或上
9、網(wǎng)公布本 學(xué)位論文的部分或全部?jī)?nèi)容,可以向有關(guān)部門或機(jī)構(gòu)送交并授權(quán)其保存、借閱或上 網(wǎng)公布本學(xué)位論文的部分或全部?jī)?nèi)容。對(duì)于保密論文,按保密的有關(guān)規(guī)定和程序處 理。 研究生簽名:年月曰 碩士論文基于ARM和FPGA的嵌入式數(shù)控系統(tǒng)研究 1緒論 1.1課題的研究背景和意義 嵌入式系統(tǒng)是繼IT網(wǎng)絡(luò)技術(shù)之后,又一個(gè)新興的技術(shù)發(fā)展方向。由于嵌入式 系統(tǒng)具有體積小、性麓強(qiáng)、功耗低、可靠性高以及面向行業(yè)應(yīng)用的突出特征,目前 已經(jīng)廣泛地應(yīng)用于軍事國(guó)防、消費(fèi)電子、網(wǎng)絡(luò)通信、工業(yè)控制等各個(gè)領(lǐng)域。 由IEEE的定義可知,嵌入式系統(tǒng)是一種 控制、監(jiān)視或者輔助設(shè)備、機(jī)器 和車間運(yùn)行的裝置” 1“。具體來(lái)說(shuō),嵌入式系統(tǒng)是
10、將計(jì)算機(jī)和電子技術(shù)等行業(yè)應(yīng)用 相結(jié)合,能夠根據(jù)應(yīng)用需求對(duì)軟件和硬件部分進(jìn)行合理裁剪,滿足軟硬件系統(tǒng)的功 能等需求的綜合性軟硬件系統(tǒng)。嵌入式系統(tǒng)可以劃分成硬件和軟件兩部分,硬件一 般是由高性能的微處理器和外圍電路組成,軟件則分為操作系統(tǒng)軟件和應(yīng)用軟件兩 部分。隨著現(xiàn)代控制理論在機(jī)電技術(shù)領(lǐng)域的不斷發(fā)展,多電動(dòng)機(jī)協(xié)調(diào)控制技術(shù)在機(jī)電 控制系統(tǒng)中得到廣泛的應(yīng)用,給嵌入式系統(tǒng)的數(shù)控應(yīng)用提供了充分的支持。傳統(tǒng)的 伺服運(yùn)動(dòng)控制很難在處理大數(shù)據(jù)量、復(fù)雜算法時(shí)保證系統(tǒng)的靈活性和實(shí)時(shí)性。嵌入 式系統(tǒng)是近年來(lái)發(fā)展起來(lái)的以應(yīng)用為中心并且軟硬件可裁剪的實(shí)時(shí)系統(tǒng),它的特點(diǎn) 是高度自動(dòng)化,響應(yīng)速度快等,非常適合于要求實(shí)時(shí)的和
11、多任務(wù)的場(chǎng)合。本文以嵌 入式數(shù)控系統(tǒng)為項(xiàng)目背景,研究設(shè)計(jì)了種基于ARM和FPGA的嵌入式數(shù)控系 統(tǒng)的方案。硬件設(shè)計(jì)上,對(duì)FPGA器件、存儲(chǔ)器設(shè)備及外圍設(shè)備進(jìn)行選擇與設(shè) 計(jì),采用了 OuartusI I和Protel9 9等開(kāi)發(fā)工具,完成一個(gè)高性能 嵌入式硬件系統(tǒng)的設(shè)計(jì),并用QuartusI I和Modelsim進(jìn)行了仿真 驗(yàn)證。軟件方面,采用了實(shí)用小巧的嵌入式實(shí)時(shí)操作系統(tǒng)pc/osU,為應(yīng)用 系統(tǒng)的實(shí)時(shí)性提供了保證該嵌入式數(shù)控系統(tǒng)可以很好地滿足用戶對(duì)應(yīng)用系統(tǒng)實(shí)時(shí) 性和快速處理的要求,具有較廣泛的應(yīng)用前景。 1.2謀愿的罾內(nèi)外研究現(xiàn)狀 制造業(yè)是國(guó)民經(jīng)濟(jì)的支柱產(chǎn)業(yè)。提高加工效率、降低生產(chǎn)成本、提高
12、加工質(zhì) 量、加快產(chǎn)品更新?lián)Q代,是制造業(yè)競(jìng)爭(zhēng)和發(fā)展的根本所在。隨著計(jì)算機(jī)技術(shù)和電子 技術(shù)等技術(shù)的發(fā)展,數(shù)控技術(shù)在企業(yè)的大量應(yīng)用,使制造技術(shù)正朝著數(shù)字化的方向 邁進(jìn)。 隨著計(jì)算機(jī)和電子技術(shù)的發(fā)展,嵌入式系統(tǒng)逐漸在制造、消費(fèi)電子中有了用武 之地。在許多焊接廠如汽車裝配廠,要采用高可靠性機(jī)器人進(jìn)行自動(dòng)化作業(yè),嵌入 式系統(tǒng)可用于機(jī)器人的關(guān)節(jié)控制。德國(guó)百格拉公司十多年來(lái)出廠的各種專用機(jī)器人 及生產(chǎn)線全部在正常工作,深受BOSCH、奔馳、通用和西門子公司等各行業(yè)用 戶的厚愛(ài)。百 1緒論碩士論文 格拉公司導(dǎo)軌機(jī)器人可以實(shí)現(xiàn)5m/s的高速運(yùn)行動(dòng)作,重復(fù)定位精度可達(dá) O.O5ram,最大的負(fù)載能力為12OI6的高
13、性能指標(biāo)。在機(jī)床數(shù)控領(lǐng) 域,近年來(lái)我國(guó)企業(yè)的數(shù)控機(jī)床占有率逐年上升,在大中企業(yè)已有較多的使用,在 中小企業(yè)甚至個(gè)體企業(yè)中也普遍開(kāi)始使用。FANUC(日本)、SIEMENS (德國(guó))、FAGOR(西班牙)、髓 IDENHAI N (德國(guó))、MITSUE ISHI (日本)等公司的數(shù)控系統(tǒng)及相關(guān)產(chǎn)品,在數(shù)控機(jī)床行業(yè)占據(jù)主導(dǎo)地位; 我國(guó)數(shù)控產(chǎn)品以華中數(shù)控、航天數(shù)控為代表,也已將高性能數(shù)控系統(tǒng)產(chǎn)業(yè)化 以微處理器為硬件平臺(tái)的嵌入式數(shù)控系統(tǒng)并不多見(jiàn),在一定程度上大大限制了數(shù)控 技術(shù)的發(fā)展。 1.3本文研究的主要工作 近幾年來(lái),國(guó)內(nèi)嵌入式系統(tǒng)技術(shù)在各行業(yè)得到迅速發(fā)展,然而,在數(shù)控領(lǐng)域卻 發(fā)展較為遲緩。本文研
14、究設(shè)計(jì)了一種基于ARM和FPGA的數(shù)控系統(tǒng)方案,并設(shè) 計(jì)和驗(yàn)證了該方案。本文主要做了以下工作: (1) 提出了系統(tǒng)的總體設(shè)計(jì)方案, 對(duì)嵌入式數(shù)控系統(tǒng)進(jìn)行了功能需求分析及 總體方案設(shè)計(jì),并對(duì)移植到ARM上的操作系統(tǒng)的選擇進(jìn)行了分析。 (2) 對(duì)ARM和開(kāi)GA外圍電路進(jìn)行合理選擇與設(shè)計(jì);完成一個(gè)高性能嵌 入式硬件系統(tǒng)平臺(tái)的設(shè)計(jì)。對(duì)嵌入式實(shí)時(shí)操作系統(tǒng)pC/OS.II的移植條件和 原理進(jìn)行了分析,詳述了pC/OS.I 1實(shí)時(shí)操作系統(tǒng)在基于Y3C440BX 的嵌入式硬件平臺(tái)上的移植過(guò)程。 (3) 使用QuartosI I和H odelSim對(duì)嵌入式數(shù)控系統(tǒng)進(jìn)行仿 真,完成了嵌入式數(shù)控系統(tǒng)的功能驗(yàn)證。 本
15、文內(nèi)容安排如下:第一章主要介紹課題的研究背景與意義,課題的國(guó)內(nèi)外研 究現(xiàn)狀及本文研究的主要工作及內(nèi)容安排;第二章主要對(duì)系統(tǒng)的總體方案進(jìn)行了設(shè) 計(jì);第三章主要介紹了ARM和FPGA硬件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn);第四章介紹了軟 件操作系統(tǒng)即pC/OS.I I實(shí)時(shí)操作系統(tǒng)在ARM7上的移植與實(shí)現(xiàn);第五章 介紹了嵌入式圖形用戶界面pC/GUI的移植;第六章介紹了基于S3C44B OX的通信接口設(shè)計(jì); 第七章介紹了基于FPGA的通信接口和伺服控制設(shè)計(jì),并進(jìn)行了仿真驗(yàn)證。 最后給出了本文的結(jié)論。2 碩士論文基于ARM和FPGA的嵌入式數(shù)控系統(tǒng)研究 2系統(tǒng)的總體方案設(shè)計(jì) 2.1嵌入式數(shù)控系統(tǒng)總體設(shè)計(jì) 嵌入式數(shù)控系統(tǒng)
16、的總體框圖如下圖所示,F(xiàn)h嵌入式控制器、伺服機(jī)構(gòu)、電機(jī) 組成。嵌入式控制器接受輸入的運(yùn)動(dòng)指令,轉(zhuǎn)換成脈沖信號(hào)傳給伺服機(jī)構(gòu),伺服機(jī) 構(gòu)轉(zhuǎn)換成電機(jī)控制的電信號(hào)控制電機(jī)轉(zhuǎn)動(dòng)。 圖2.1嵌入式數(shù)控系統(tǒng)總體框圖 2.2硬件平臺(tái)分析與設(shè)計(jì) 嵌入式數(shù)控系統(tǒng)硬件平臺(tái)如下圖2.2所示: 圖2.2硬件平臺(tái)框圖 所設(shè)計(jì)的數(shù)控系統(tǒng)是以AIRM+FPGA為控制核心來(lái)構(gòu)成的。硬件部分包 括電源模塊、A蹦子系統(tǒng)模塊、FPGA子系統(tǒng)模塊。電源模塊則為其他子系統(tǒng)提 供電源;ARM子系統(tǒng)負(fù)責(zé)運(yùn)行數(shù)控的控制軟件;FPGA負(fù)責(zé)脈沖信號(hào)的產(chǎn)生和 計(jì)數(shù)及I/O的控制。由于采用了 uC/OS II實(shí)時(shí)多任務(wù)系統(tǒng),邏輯處理任 務(wù)的優(yōu)先級(jí)很高
17、,所以能夠滿足數(shù)控系統(tǒng)的實(shí)時(shí)性需要。 2.2. 1系統(tǒng)功能需求分析 嵌入式系統(tǒng)是繼IT網(wǎng)絡(luò)技書之后,又一個(gè)新興的技術(shù)發(fā)展方向。由于嵌入式 系統(tǒng)具有體積小、性能強(qiáng)、功耗低、可靠性高以及面向行業(yè)應(yīng)用的突出特征,目前 2系統(tǒng)的總體方案設(shè)計(jì)碩士論文 已經(jīng)廣泛地應(yīng)用于工業(yè)控制、交通管理、網(wǎng)絡(luò)通信、信息家電等各個(gè)領(lǐng)域。比 如隨處可見(jiàn)的手機(jī),電子游戲機(jī)、數(shù)字電視等,在這些隨處可見(jiàn)的設(shè)備中都能見(jiàn)到 嵌入式系統(tǒng)的身影。此外,嵌入式系統(tǒng)在醫(yī)療設(shè)備、工業(yè)自動(dòng)化生產(chǎn)線、飛行控制 系統(tǒng)等領(lǐng)域扮演著更為重要的角色。嵌入式系統(tǒng)集系統(tǒng)的應(yīng)用軟件與硬件于一體, 以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁剪,特別適合于要求
18、實(shí)時(shí)和 多任務(wù)的體系。嵌入式系統(tǒng)主要由嵌入式處理器及外圍電路、嵌入式操作系統(tǒng)及應(yīng) 用軟件系統(tǒng)等組成,是系統(tǒng)的硬件與系統(tǒng)的應(yīng)用軟件一體化的專用計(jì)算機(jī)系統(tǒng)。 嵌入式系統(tǒng)分為硬件和軟件兩大部分。硬件上需要有:處理器及其外圍電路、 存儲(chǔ)器、LCD、觸摸屏及其他接口。為了讓應(yīng)用程序、圖形用戶接口等功能模塊 有機(jī)的聯(lián)系在一起,就需要嵌入式操作系統(tǒng)來(lái)實(shí)現(xiàn)軟硬件有機(jī)結(jié)合。由于嵌入式操 作系統(tǒng)的應(yīng)用對(duì)象大不相同,因此嵌入式操作系統(tǒng)必須具有良好的可移植性。通過(guò) 硬件抽象層對(duì)硬件平臺(tái)合理的描述,可使操作系統(tǒng)內(nèi)核基本和具體的硬件無(wú)關(guān),從 而容易地實(shí)現(xiàn)不同平臺(tái)間的移植。 ARM是一種高性能、低功耗的微處理器。A跚處理器
19、的3大特點(diǎn)如下:體積 小、功耗低、成本低、性能高;16位/3 2位雙指令集;全球眾多用戶支持。A 雕處理器本身是3 2位設(shè)計(jì),但也配備16位指令集,以允許軟件編碼為更短的1 6位指令。與等價(jià)的3 2位代碼相比,占用的儲(chǔ)存器空間節(jié)省高達(dá)3 5%,然而保 留了 3 2位系統(tǒng)所有的優(yōu)勢(shì)Thumb狀態(tài)與正常的ARM狀態(tài)之間的切換是零 開(kāi)銷的。A脅的Jazelle技術(shù)提供了 Java加速,可得到比基于軟件的J ava虛擬機(jī)(3VM)高得多的性能。在CPU功能上,DSP指令集的擴(kuò)充提 供了增強(qiáng)的16位和3 2位算術(shù)運(yùn)算能力,提高了性能和靈活性。采用ARM開(kāi)發(fā) 嵌入式數(shù)控系統(tǒng)可以降低硬件成本、提高系統(tǒng)集成度
20、、增強(qiáng)穩(wěn)定性,它相對(duì)于Pc 平臺(tái)具有更多的優(yōu)勢(shì)。因此,采用ARM為硬件平臺(tái)來(lái)開(kāi)發(fā)嵌入式數(shù)控系統(tǒng)是一個(gè) 不錯(cuò)的選擇。 IlC/OS II是一個(gè)可移植、源碼公開(kāi)、可搶占的RToS,基于搶占 式的實(shí)時(shí)多任務(wù)內(nèi)核,可剪裁、具有高穩(wěn)定性和可靠性的嵌入式實(shí)時(shí)操作系統(tǒng),包 括了一個(gè)操作系統(tǒng)最基本的一些特性,如任務(wù)通信、任務(wù)調(diào)度、中斷管理、內(nèi)存管 理等,而且它是一個(gè)代碼完全開(kāi)放的實(shí)時(shí)操作系統(tǒng),具有簡(jiǎn)單明了的結(jié)構(gòu)和嚴(yán)謹(jǐn)?shù)?代碼風(fēng)格,可以讓我們以最快的速度來(lái)了解操作系統(tǒng)的概念、結(jié)構(gòu)和模塊工作原 理,并由淺入深逐步推廣到應(yīng)用操作系統(tǒng)上自1 9 9 2年以來(lái),全世界成千上萬(wàn) 的開(kāi)發(fā)者己經(jīng)成功地將pC/OSII應(yīng)用于各
21、種系統(tǒng)。 FPGA(FieldProgrammableGateArray)即現(xiàn) 場(chǎng)可編程門陣列,是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā) 展。FPGA提出了邏輯單元陣列LcA的概念,內(nèi)部包括可配置邏輯模塊CL E、輸出輸入模塊10E和內(nèi)部連線三個(gè)部分。同以往PAL、GAL等進(jìn)行比 較,F(xiàn)PGA是&SIC電路中設(shè)計(jì)周期最短、開(kāi)發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的4 碩士論文基于ARM和FPGA的嵌入式教控系統(tǒng)研究 器件之一FPGA通過(guò)片內(nèi)RAM中存儲(chǔ)的程序來(lái)設(shè)置其工作狀態(tài)的,工作 時(shí)只需對(duì)片內(nèi)的RAM進(jìn)行編程就可得到所需的電路功能。通電時(shí),F(xiàn)PGA芯片 將EPROM中的數(shù)據(jù)讀入片內(nèi)編程
22、RAM中,完成配置后FPGA就進(jìn)入工作狀 態(tài)。掉電后,F(xiàn)PGA中的數(shù)據(jù)全部丟失,能夠重復(fù)使用。當(dāng)需要修改FPGA功 能時(shí),只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可 以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。利用FPGA可以實(shí)現(xiàn) I/o處理,計(jì)數(shù)、脈沖發(fā)生,邏輯運(yùn)算等功能,可以大大簡(jiǎn)化嵌入式系統(tǒng)的設(shè) 計(jì)。FPGA最大的優(yōu)點(diǎn)在于它的內(nèi)部邏輯的在線可重構(gòu)性。、。 2.2.2系統(tǒng)總體方案設(shè)計(jì) 嵌入式數(shù)控系統(tǒng)是嵌入式系統(tǒng)的應(yīng)用,它取代了傳統(tǒng)的由指示燈、按鈕等組成 的控制面板,提供一個(gè)友好的人機(jī)交互界面。一般來(lái)說(shuō),它集成了液晶顯示屏、數(shù) 據(jù)存儲(chǔ)單元、觸摸面板、控制單元等
23、,具備操作控制、數(shù)據(jù)存儲(chǔ)、狀態(tài)監(jiān)控、網(wǎng)絡(luò) 通訊等功能。具體的功能模塊需求如下:嵌入式處理器、存儲(chǔ)器、JTAG調(diào)試接 口、顯示部分、通訊接口。本系統(tǒng)設(shè)計(jì)的嵌入式數(shù)控系統(tǒng)由硬件部分和軟件部分組 成,根據(jù)系統(tǒng)功能需求分析,硬件部分必須首先滿足系統(tǒng)軟件和應(yīng)用程序運(yùn)行時(shí)的 資源要求,另外還必須提供合適的通訊接口來(lái)方便程序下載及通訊。軟件部分分為 操作系統(tǒng)和應(yīng)用軟件兩個(gè)部分?,F(xiàn)在的嵌入式操作系統(tǒng)都要根據(jù)系統(tǒng)需要經(jīng)過(guò)適當(dāng) 的裁剪和移植,使得嵌入式操作系統(tǒng)能夠適應(yīng)硬件系統(tǒng)的軟件環(huán)境需要。系統(tǒng)總體 方案框圖如下圖2.2.2所示:一 。圖2.2.2系統(tǒng)總體方案框圖 2.2.3硬件的選擇 嵌入式硬件平臺(tái)的選擇主要是
24、嵌入式處理器的選擇。在一個(gè)系統(tǒng)中使用什么樣 的嵌入式處理器內(nèi)核主要取決于應(yīng)用的領(lǐng)域、用戶的需要、成本、開(kāi)發(fā)的難易程度 等因素。從功能實(shí)現(xiàn)和靈活等方面,基于ARM+FPGA的嵌入式系統(tǒng)是最適合 本設(shè)計(jì)需要的嵌入式系統(tǒng)方案,可以充分結(jié)合ARM處理速度快和FPGA可編程 邏輯靈活5 2系統(tǒng)的總體方案設(shè)計(jì)碩士論文 的優(yōu)點(diǎn),達(dá)到實(shí)時(shí)性和靈活性的要求。在本方案中,選擇的是韓m m公司 生產(chǎn)的SamsungS3C44BOX微處理器和Altera公司的Cycl oneEPlC3T系列器件。其中ARM7的最小系統(tǒng)實(shí)物圖如下所示: 2系統(tǒng)的總體方案設(shè)計(jì) 的優(yōu)點(diǎn),達(dá)到實(shí)I Samsung S3C44I 圖2.2,3
25、.1S3C44BOX韻最小系統(tǒng)實(shí)物圖 Altera公司的Cyclone系列開(kāi)發(fā)板如下所示: 巧統(tǒng)的總體 的優(yōu)點(diǎn),I Samsung ! 圈Altera公司的Cyclone開(kāi)發(fā)板圖 2.2.4實(shí)時(shí)操作系統(tǒng)的選擇 嵌入式多任務(wù)操作系統(tǒng)是較好實(shí)現(xiàn)實(shí)時(shí)數(shù)控系統(tǒng)開(kāi)發(fā)平臺(tái)的一條捷徑。操作系 6 碩士論文基于ARM和FPOA的嵌入式教控系統(tǒng)研究 統(tǒng)與模塊化硬件設(shè)計(jì)結(jié)合起來(lái),構(gòu)成了一個(gè)可以重復(fù)利用的軟硬件一體化系統(tǒng) 平臺(tái),不僅可以提高開(kāi)發(fā)的效率、節(jié)約有限的資源,還可以充分利用嵌入式系統(tǒng)的 靈活性,通過(guò)進(jìn)步的改進(jìn),不斷使嵌入式應(yīng)用平臺(tái)的軟硬件資源得到優(yōu)化,提高 性能并滿足未來(lái)的應(yīng)用需求。 當(dāng)今大多
26、數(shù)的商用嵌入式操作系統(tǒng)出于商業(yè)利益的考慮,收取昂貴的版權(quán)費(fèi), 此外也不會(huì)提供操作系統(tǒng)所有的的源代碼。這樣,就會(huì)使利用商用嵌入式操作 系統(tǒng)開(kāi)發(fā)的產(chǎn)品生產(chǎn)成本偏高,影響市場(chǎng)競(jìng)爭(zhēng)力,同時(shí)對(duì)于將來(lái)產(chǎn)品的升級(jí)換代帶 來(lái)不少麻煩。隨著現(xiàn)代計(jì)算機(jī)技術(shù)的發(fā)展,源代碼開(kāi)放的進(jìn)行,出現(xiàn)了一些源代碼 公開(kāi)的優(yōu)秀的操作系統(tǒng)產(chǎn)品,如基于Linux的實(shí)時(shí)嵌入式操作系統(tǒng),著名的p C/OS II等。 其中,1 1C/0S II的特點(diǎn)主要有:可固化(ROMable):l ,C/OS- II是為嵌入式應(yīng)用而設(shè)計(jì)的。只要具備合適的系列軟件工具,就可 以將uc/OS II嵌入到產(chǎn)品中作為產(chǎn)品的一部分;可裁剪(scalabl e):
27、可以只使用uC/OS II中應(yīng)用程序需要的系統(tǒng)服務(wù)。也就是說(shuō),某產(chǎn) 品可以只使用很少幾個(gè)I lC/Os II調(diào)用,而另一個(gè)產(chǎn)品則可能使用了幾乎 所有pC/OS II的功能,這樣可減少產(chǎn)品中1 1C/OS II所需的存儲(chǔ) 器空聞;可剝奪性(preemptive):uC/OS二 II是完全可剝奪 型的實(shí)時(shí)內(nèi)核,即HC/OS II總是運(yùn)行就緒條件下優(yōu)先級(jí)最高的任務(wù);多任 務(wù):uc/OS II可以管理64任務(wù);保留8個(gè)給i .tC/OSI I。留 給用戶的應(yīng)用程序最多有5 6個(gè)任務(wù)。另外,賦予每個(gè)任務(wù)的優(yōu)先級(jí)必須是不同 的,這意味著laC/OS- II不支持時(shí)間片輪轉(zhuǎn)調(diào)度法;可確定性:絕大多數(shù) IlC
28、/OSII函數(shù)調(diào)用和服務(wù)的執(zhí)行時(shí)間具有可確定性。用戶總是能知道l IC/OS II的函數(shù)調(diào)用與服務(wù)執(zhí)行了多長(zhǎng)時(shí)間, 除了函數(shù)OSTimeTi ck()和某些事件標(biāo)志服務(wù),uc/OS II系統(tǒng)服務(wù)的執(zhí)行時(shí)間不依賴與用 戶應(yīng)用程序數(shù)目的多少;任務(wù)棧:每個(gè)任務(wù)都有自己?jiǎn)为?dú)的棧。llC/OSI I允許每個(gè)任務(wù)有不同的??臻g,以便壓低應(yīng)用程序?qū)Al l的需求。為了表明 pC/os II具有足夠地安全性與穩(wěn)定性,能用于與人性命攸關(guān)的系統(tǒng),IJ C/OS II的每一種功能、每一個(gè)函數(shù)及每一行代碼都經(jīng)過(guò)了考驗(yàn)與測(cè)試;源 代碼開(kāi)放: 開(kāi)放的源碼不僅給一般的學(xué)習(xí)者提供了學(xué)習(xí)的機(jī)會(huì), 這些成熟的產(chǎn)品也 給許多人在
29、此基礎(chǔ)上開(kāi)發(fā)自己的產(chǎn)品提供了更多方便。 綜上,pC/OS.I I是一個(gè)小巧的實(shí)時(shí)操作系統(tǒng), 包含了操作系統(tǒng)最基本 的特性, 如任務(wù)調(diào)度、內(nèi)存管理、中斷管理等,并且代碼完全開(kāi)放,簡(jiǎn)單明了,非常適 合初涉嵌入式操作系統(tǒng)的人士學(xué)習(xí)和應(yīng)用,它可以讓我們?cè)谳^短的時(shí)間內(nèi)了解操作 系統(tǒng)的概念、結(jié)構(gòu)和模塊工作原理,并由淺入深逐步推廣應(yīng)用。 2.2.5基于ARM和FPGA的嵌入式系統(tǒng)開(kāi)發(fā)流程 基于ARM和FPGA的SOP(;系統(tǒng)的開(kāi)發(fā)流程如下圖所示:7 2系統(tǒng)的總體方案設(shè)計(jì)碩士論文 2.3本章小結(jié) 圖2.2.5基于ARM和FPGA的SOPC系統(tǒng)的開(kāi)發(fā)流程 本章對(duì)嵌入式數(shù)控系統(tǒng)的總體方案進(jìn)行了需求分析,作出了總體
30、設(shè)計(jì)框圖。對(duì) 系統(tǒng)基于A跏+FPGA的硬件平臺(tái)及實(shí)時(shí)操作系統(tǒng)的選擇進(jìn)行了詳細(xì)說(shuō)明,詳述 了嵌入式實(shí)時(shí)操作系統(tǒng)pC/OS II的特點(diǎn),并作出了基于ARM和FPGA 的SOPc系統(tǒng)的開(kāi)發(fā)流程框圖。8 碩士論文基于ARM和P,t吣A的嵌入式數(shù)控系統(tǒng)研究 3硬件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 圖3系統(tǒng)硬件平臺(tái)體系結(jié)柯11 從系統(tǒng)硬件平臺(tái)體系結(jié)構(gòu)可知,它主要分為兩個(gè)部分:A跚部分、FPGA部 分。A蹦部分包括存儲(chǔ)器、數(shù)碼管、鍵盤、與外圍設(shè)備的接口(嘲)及液晶顯示器 等;FPGA部分集成了總線控制器、片內(nèi)存儲(chǔ)器、內(nèi)部定時(shí)器、與外圍設(shè)備的接 口等,還有外接的F lash、SRAM及SDRAM存儲(chǔ)器。 3.1ARM硬件系統(tǒng)
31、設(shè)計(jì) 3.1.1ARM處理器 SamsungS3COBOX微處理器是三星公司專為手提設(shè)備和一般應(yīng)用 提供的高性價(jià)比和高性能的微控制器解決方案,使用了ARMTTDMI核,工作 頻率為6 6MHZ 該芯片中集成了8KBCachc、外部存儲(chǔ)控制器、LC D控制器、4個(gè)DMA、2個(gè)UART、內(nèi)部定時(shí)器、8個(gè)外部中斷源、實(shí)時(shí)耐 鐘、8通道12位的ADc等資源。最主要的優(yōu)點(diǎn)是采用了ARM公司的16/3 2位ARM7TDMIRISC結(jié)構(gòu),擴(kuò)充了Thumb協(xié)處理器、片上IcE中 斷調(diào)試支持和32位硬件乘法器ARM7微處理器系列具有如下特點(diǎn):具有嵌入 式IcE RT邏輯,調(diào)試開(kāi)發(fā)方便;功耗極低,適合對(duì)功耗要求較
32、高的應(yīng)用;能 夠提0. 9MPS力訂Hz的三級(jí)流水線結(jié)構(gòu);代碼密度高并兼容16位的Thu mb指令集;對(duì)嵌入式操作系統(tǒng)的支持廣泛;指令系統(tǒng)與高版本系列兼容,便于用 戶升級(jí)換代需要;主頻最高可達(dá)13 0MU ?S,能勝任絕大多數(shù)的嵌入式系統(tǒng)應(yīng) 用需要。 S3C44BOX的工作特性有:存儲(chǔ)管理,支持掉電時(shí)DRAM/SDRA M的自刷新模式;支持均勻/非均勻的DRAM地址Cachc存儲(chǔ)器和內(nèi)部s RA11 :一體化的8 k字節(jié)Cache :未用的Cache空間用來(lái)作為0/4 /8 k字節(jié)的SRAM存儲(chǔ)空間;時(shí)鐘及電源管理,片上PLL使MCU工作時(shí)鐘 最大達(dá)到7 5Mnz可以通過(guò)軟件設(shè)置各功能模塊的輸
33、入時(shí)鐘;支持外9 3硬件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)碩士論文 部時(shí)鐘源:超低功耗:RTC(實(shí)時(shí)時(shí)鐘),3 2.7 6 8 KItz時(shí)鐘;定 時(shí)警報(bào),可用于喚醒CPU ;可產(chǎn)生時(shí)鐘節(jié)拍中斷;通用I/O口; 8個(gè)外部中斷 口 ;71個(gè)多功能輸入/輸出口;看門狗定時(shí)器,16位的看門狗定時(shí)器;定時(shí)器 溢出時(shí)發(fā)出中斷請(qǐng)求或系統(tǒng)復(fù)位;工作電壓范圍為內(nèi)核2.5V,I/0口: 3.0V到3.6v。常用封裝Y9160LOFP。3硬件系統(tǒng)的設(shè)y 部時(shí)鐘源;帝 可產(chǎn)生時(shí)鐘 T 圖 3.1.1S3C4480XgI腳圖 3.1.2電源電路 本設(shè)計(jì)采用5V穩(wěn)壓電源供電, 而S3C44BOX器件的I/O引腳工作電 壓CCCC )為3.
34、3v,且S3C4480X器件核心的供電電壓(VDD_C PU)為2.5V,因此需要經(jīng)過(guò)兩次DC/DC變壓,即5V一3.3v一 2.5V .分別采用LM1117.3.3和LM1117 2.5進(jìn)行電壓 轉(zhuǎn)換LM1117系列常用封裝均為SOT 2 2 3。 碩士論文基于ARM和FPGA的嵌入式數(shù)控系統(tǒng)研究 強(qiáng)戸。 缸鉀勺吼。jt,。 豫?。 ,?A p。鼽如鰳,沌: j j|ti jr。堍死 o%o ? noj 磊 圖3.I.2S3C4480X電源電路圖 3.1.3存儲(chǔ)器 存儲(chǔ)器分為系統(tǒng)內(nèi)存SDRAM和非線性FLASH。其中,SDR/娜是用 來(lái)作為程序的運(yùn)行空間及數(shù)據(jù)等,F(xiàn)LASH是用來(lái)存放程序代碼
35、和掉電后需要保 存的用戶數(shù)據(jù),Hash的讀操作比SRAM慢,寫操作速度相對(duì)于SRA/V1 而言更慢。采用Hy nix公司生產(chǎn)的HY57、,64 1 6 2 0 HG作為SDR AM,HY29LV160作為FLASH。 HY57V641620J1G為4 XI甜容量的SDRAM,常用封裝為T SOP54oS3C44BOX的ADDR卜ADDR12與HY57、,641 6 2 0 HG的Ao A1 1相連接,S3C44 8 0X的ADDR21和ADDR 2 2分別與11 1f57V641620HG的BAO,BAI相連接11f 2 9LV160采用了16位數(shù)據(jù)總線, 容量為IMX16bit,常用封裝為T
36、 soP48oS3c4480X 的ADDR1邶腿2 0與HY2 9LV16 0 的 A0-A1 9相接 ?11 3硬件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 碩士論文輯4錫。鏟4腑。 =,q學(xué)。7壚tj 釬4哮擎嘲”彬騎野喈嘞 弼”人叫。o ?1弘。#嘣儡? ,+ , i,;5 f ”。;?,0? Ivi?仇),,圖 S3C44BOX 的S DRAM連接圖種?9穢。|鑼霧?幫9 9 7|學(xué)刑/壚,89。壚穢,+蟛緲”鏟8,。十 % :,霸髓 “。女搋t 圖S3C44BOX的FLASH連接圖 3.1A串行接口UART電路通常在實(shí)際應(yīng)用中,S3C44EOX系統(tǒng)通過(guò)串口與外部其它RS 232
37、設(shè)備相連,不僅需要有UART外設(shè)外,還必須遵循RS 2 3 2 C標(biāo)準(zhǔn)中定義的 電平規(guī)范。本系統(tǒng)中的電平轉(zhuǎn)換芯片用的是MAX 3 2 3 2 C,用來(lái)完成從IvT n,電平到RS232C電平的轉(zhuǎn)換。串行接口UART電路如下圖所示: 碩士論文基于ARM和F/PGA的嵌入式數(shù)控系統(tǒng)研究 掀。j嬲?茂4% 乎渺嘞,。鋤。螞戮。?1 , j。嘞+州。舷?,豫虢 j 一?,麓 7z。? 圖3.1.4S3C.A4EOX的串行接1 :3UART電路圖 3.1.5按鍵電路一 鍵盤是用于用戶的輸入,實(shí)現(xiàn)人機(jī)的交互重要方式。系統(tǒng)中設(shè)置了四個(gè)按鍵, 利用 S3C44BOX上的EXINT4 EXINT7端121實(shí)現(xiàn)。
38、 ,, 曠 ,、霪嘞,移瘟t彩,。磁黲鋤;磊,和導(dǎo)馥lj罐瑤 茲磊 圖3.1.5S3C4480X的按鍵電路圖 3.1.6I皿顯示電路LED顯示電路用來(lái)指示程序執(zhí)行狀態(tài)。如下圖所 示: 3硬件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)碩士論文 圖3.I.6S3C44BOX的LED顯示電路圖 3.1.7時(shí)鐘晶振電路 時(shí)鐘晶振電路用于為系統(tǒng)提供工作時(shí)鐘信號(hào),使其工作在指定的頻率下。采用 1眥無(wú)源晶振。,EXTA ?L0豐o,l ,牛昂= 圖3.1.7S3C44BOX的時(shí)鐘晶振電路圖 3.1.8mG靖口電路 ,JTAG是Jo intTestActionGroup 英文縮寫,是IE 髓1 14 9 .1標(biāo)準(zhǔn)。利用JTAG可以使得
39、集成電路能夠固定在PCB板上,通 過(guò)邊界掃描就可以被測(cè)試,大大縮短開(kāi)發(fā)周期。JTAG的典型信號(hào)主要有: TMS :測(cè)試模式選擇,即通過(guò)TMS信號(hào)控制JTAG狀態(tài)機(jī)的狀態(tài); TCK :測(cè)試時(shí)鐘輸入; TDI :數(shù)據(jù)輸入,數(shù)據(jù)通過(guò)TDI輸入JTAG 口; TDO :數(shù)據(jù)輸出,數(shù)據(jù)通過(guò)U) o輸出J ?rAG 口; 14 碩士論文基于ARM和FPGA的嵌入式數(shù)控系統(tǒng)研究 圖3.1.8S3C4480X的JTG端口電路圖 3.1 .9液晶顯示接口電路 為了使嵌入式系統(tǒng)具有友好的人機(jī)接口,需要給嵌入式系統(tǒng)配置顯示用液晶顯 示器(LCD)oS3CA480X主要的與液晶顯示相關(guān)的端口有vD7: O、VFRAM
40、E、VM、VLINE、VCLK 等S3C44BOX 內(nèi)部有 內(nèi)置的LCD控制器,可以將緩存中的圖像信號(hào)傳輸?shù)絃CD控制電路顯示圖像。 選用3 2 0 ) 2 4 0分辨率的LCD,通過(guò)總線形式連接到S3C44BOX Eo 圖3.1.9S3C4480X的液晶顯示接口電路圖 3硬件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)碩士論文 3.2FPGA硬件系統(tǒng)設(shè)計(jì) Cyclone系列FPGA是基于成本優(yōu)化的,全銅工藝的1 .5VSRA M工藝,和競(jìng)爭(zhēng)對(duì)手的FPGA相比,只有一半的成本,是目前世界上成本最低的 FPGA。它帶有最高達(dá)20,0 6 0個(gè)邏輯單元和2 8 8 K位的RAM,提供了 全功能的鎖相環(huán)(PLL),用于板級(jí)的時(shí)
41、鐘網(wǎng)絡(luò)管理和專用1/0接口。這些接 口用于連接業(yè)界標(biāo)準(zhǔn)的外部存儲(chǔ)器器件,在相對(duì)低的價(jià)格下把特性和性能完美地結(jié) 合在一起,由于采用專門設(shè)計(jì)的低成本全新體系結(jié)構(gòu),特別適合于對(duì)成本敏感和大 批量應(yīng)用的高端消費(fèi)類產(chǎn)品開(kāi)發(fā)。結(jié)合本系統(tǒng)實(shí)際需求,選用Cyclone系列 的 EP1C3T。 圈3.2FP吼引腳圖 3.2.1電源電路 采用5%1穩(wěn)壓電源供電, 實(shí)際所用FPGA的YO引腳(VDD)工作電壓 為3.3V,且FPG酞內(nèi)核(VDDD?。┕╇婋妷簽長(zhǎng)5V,需要使用ull 117 經(jīng)過(guò)兩次 DC,DC 變壓,即 5V3.3V1.5V。 彰?警。?2矽7 4 9。鋤鏹9 , 40 ,釤纊。夕;8黲?。茅?刃
42、妒2壚”4 鰳耄鰳學(xué)5: ?氣辨彤緝2 , 9鑼,”扛。”鏟?,/ ” /靴,、7j圖3.2.1 電源電路圖 碩士論文 基于ARM和FPGA的嵌入式數(shù)控系統(tǒng)研究3.22JTAG靖口 3.2.3時(shí)鐘電路11。、砌盯f卜t毋t柚7 710Kt:1E qzCKo_7 嗣GND,/I,tDOIVDD , 1弼I,F(xiàn) ,砸?GND 圖 3.2.2.TAG端口圖 簪7 “?。枇,%?4 7 1助空叫。毗他啼j日# scl, 0% 2 0MFZ %一k? , /,o*j ?n?,蟛,人?嘉 p拖鍺-&Aj ,或 ,,圖3.2.3時(shí)鐘電路 3硬件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)碩士論文 3.2.4串行接口電路 3磽件
43、系統(tǒng)的設(shè)計(jì)與實(shí) 324串行接口喘 3 3PCB 圖 圖3.2.4串行接口電路3硬件系統(tǒng) 圖 3.2.5PCE圖 3.4本章小結(jié) 本章概述了系統(tǒng)硬件平臺(tái)的設(shè)計(jì),介紹了A肼和FPGA的存儲(chǔ)器及外圍接口 電路的選擇, 并對(duì)A跚子系統(tǒng)和FPGA子系統(tǒng)的硬件電路作了詳細(xì)分析及原理圖 和PCB 版圖的設(shè)計(jì)和制作。 碩士論文基于ARM和FPGA的嵌入式數(shù)控系統(tǒng)研究 4軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 4.1實(shí)時(shí)操作系統(tǒng),C/OS-H在ARM上的移植 完成了系統(tǒng)硬件平臺(tái)的設(shè)計(jì),接下來(lái)將進(jìn)行軟件平臺(tái)的設(shè)計(jì)。在開(kāi)發(fā)嵌入式系 統(tǒng)時(shí),一般選擇將uC/OS n移植到ARM系統(tǒng)的開(kāi)發(fā)形式,可以充分發(fā)揮A RM微處理器的處理速度快、功
44、耗低、價(jià)格低廉等優(yōu)點(diǎn)。由于I Ic/OS U是 一個(gè)實(shí)時(shí)操作系統(tǒng),將I Ic/oS U移植到ARM系統(tǒng),可以充分結(jié)合兩者的 優(yōu)勢(shì)。并能夠進(jìn)一步簡(jiǎn)化ARM系統(tǒng)的開(kāi)發(fā)。在ARM子系統(tǒng)上進(jìn)行的軟件設(shè)計(jì)包 括操作系統(tǒng)的移植、嵌入式GUI移植及應(yīng)用程序編寫等部分。 4 2實(shí)時(shí)操作系統(tǒng)pC/OS-IT概述 pC/OS-II是在20世紀(jì)90年代由美國(guó)的一個(gè)名為JcanJ.La brosse的工程師編寫的完整的可移植、固化、裁剪的占先式實(shí)時(shí)多任務(wù)具有 可剝奪實(shí)時(shí)的實(shí)時(shí)操作系統(tǒng)Uc/oS II是基于1 lC/oS的,但提供了 更多的功能。可以移植到從8位到6 4位的不同類型和規(guī)模的嵌入式系統(tǒng)中,并能 在大部分的
45、微處理器和DSP上運(yùn)行。它是一個(gè)完整的嵌入式實(shí)時(shí)內(nèi)核,內(nèi)核提供 了任務(wù)調(diào)度與管理、任務(wù)間同步與通信、時(shí)間管理、中斷服務(wù)和內(nèi)存管理等功能。 llc/os- II的源代碼完全開(kāi)放,這是其他商業(yè)實(shí)時(shí)內(nèi)核無(wú)法比擬的。它是 針對(duì)嵌入式應(yīng)用設(shè)計(jì)的,是一個(gè)完整的、可移植、可固化、可裁剪的占先式RT0 s的內(nèi)核pC/0S II在設(shè)計(jì)之初充分考慮了可移植性,絕大部分源代碼都 是由標(biāo)準(zhǔn)的C語(yǔ)言編寫的,只有與微處理器硬件相關(guān)的那部分是用匯編語(yǔ)言寫的, 便于移植到其他微處理器上。只需通過(guò)固化方式,如C編譯、固化和下載等,I1 c/oS一n就可以移植到產(chǎn)品中。 pC/OS.I I的主要特點(diǎn)有: 1.可移植性 絕大多數(shù)的
46、pC/OS.n的源碼是用移植性很強(qiáng)的ANSIC寫的, 和微處 理器硬件相關(guān)的那部分是用匯編語(yǔ)言寫的,己經(jīng)壓到最低限度。可以在絕大多數(shù)8 位、16位、32位甚至64位微處理器、微控制器、數(shù)字信號(hào)處理器(DSP) 上運(yùn)行. 2 .可裁剪 用戶可以在應(yīng)用程序中通過(guò)特定語(yǔ)句來(lái)定義所需的pCYOS.I I功能模 塊,以減少不必要的存儲(chǔ)空間的開(kāi)動(dòng)。 3 .占先式 屬于完全占先式的實(shí)時(shí)內(nèi)核意味著pC/OS.II總是運(yùn)行就緒條件下優(yōu)先 級(jí)最咼的 4軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)碩士論文 任務(wù)。 4多任務(wù) 可以管理6 4個(gè)任務(wù), 支持5 6個(gè)用戶任務(wù)。 賦予每個(gè)任務(wù)的優(yōu)先級(jí)必須是不 相同的,這意味著pCyOS.I I不支
47、持時(shí)間片輪轉(zhuǎn)調(diào)度法. 5 中斷管理 中斷可以使正在執(zhí)行的任務(wù)暫時(shí)掛起。如果優(yōu)先級(jí)更高的任務(wù)被該中斷喚醒, 則高優(yōu)先級(jí)的任務(wù)在中斷嵌套全部退出后立即執(zhí)行。 6 其它特點(diǎn) 。源代碼全部公開(kāi)、可確定性、可固化、穩(wěn)定和可靠等。除此之外,還同時(shí)提 供了許多非常有用的系統(tǒng)服務(wù),例如消息隊(duì)列、郵箱、信號(hào)量、塊大小固定的內(nèi)存 的申請(qǐng)與釋放、時(shí)間相關(guān)函數(shù)等。 由于具有穩(wěn)定、可靠、執(zhí)行效率高、占用空間小等優(yōu)點(diǎn),uC/OsU特別 適合于微型嵌入式系統(tǒng),已被廣泛應(yīng)用在航空、醫(yī)療器械、工業(yè)控制等領(lǐng)域。 4.3IIC/OS.H移植原理 一個(gè)程序在某個(gè)系統(tǒng)環(huán)境里能正常運(yùn)行,如果通過(guò)修改代碼將它移植到某些操 作系統(tǒng)、編譯環(huán)境
48、或處理器中,并能正常運(yùn)行,這就是移植技術(shù)。移植技術(shù)可以使 一種技術(shù)有更廣泛的應(yīng)用范圍,更加有發(fā)展前景。弘c/oS U的絕大部分源代 碼都是用具有高可移植性的ANSIC編寫的,只有與微處理器硬件相關(guān)的那部分 是用匯編語(yǔ)言寫的。對(duì)此/OS-H進(jìn)行移植工作,要使屺IOS U正常運(yùn)行, 處理器必須滿足以下要求: ?1 處理器的C編譯器能產(chǎn)生可重入代碼。 2 .用C語(yǔ)言就可以打開(kāi)和關(guān)閉中斷。 3 處理器支持中斷,并且能產(chǎn)生定時(shí)中斷。4處理器支持能夠容納一定量 數(shù)據(jù)的硬件堆棧。 5 .處理器有將堆棧指針和其它CPU寄存器讀出和存儲(chǔ)到堆?;騼?nèi)存中的指 令lo|ic/os.n進(jìn)行任務(wù)調(diào)度的時(shí)候,首先把當(dāng)前任務(wù)
49、的CPU寄存器 的內(nèi)容存放到此任務(wù)的堆棧中,再?gòu)牧硪粋€(gè)任務(wù)的堆?;謴?fù)原來(lái)的工作寄存器,之 后繼續(xù)運(yùn)行另一個(gè)任務(wù)。心=,Os.n的多任務(wù)調(diào)度機(jī)制在于寄存器中數(shù)據(jù)的入 棧和出棧。 pC/OS U的軟件和硬件體系結(jié)構(gòu)如下所示:20 碩士論文基于ARM和FPGA的嵌入式數(shù)控系統(tǒng)研究 核心代碼 OScORE.C(核心代碼) OS弛0X,C(稍息隊(duì)列) 0S_ME乩C (存儲(chǔ)管理) 0S-Q.c(消息管理) OsSE乩C (信號(hào)量) 0S_TASK.C(任務(wù)調(diào)度) 0STIME.C(定時(shí)管理) pCOSII.H 圖4.3I1C/OS- II的軟件和硬件體系結(jié)構(gòu) 在移植過(guò)程中,需要將與處理器相關(guān)的代碼針對(duì)A
50、RM的編程結(jié)構(gòu)做、一定的 改動(dòng),達(dá)到完成系統(tǒng)時(shí)鐘設(shè)置、中斷管理和任務(wù)切換功能的目的。刪.II在進(jìn)行 任務(wù)調(diào)度的時(shí)候,會(huì)把當(dāng)前任務(wù)的CPU寄存器存放到該任務(wù)的堆棧中,之后再?gòu)?另外一個(gè)任務(wù)的堆棧中恢復(fù)原來(lái)的工作寄存器,繼續(xù)運(yùn)行另一個(gè)任務(wù)因此,寄存 器的入棧和出棧是確保gC/OS.II多任務(wù)調(diào)度順利完成的關(guān)鍵。 4.4IIC/OS.I I移植的具體過(guò)程 pC/OS- II的移植只需要改寫內(nèi)核中部分與處理器相關(guān)的代碼,用以完 成系統(tǒng)時(shí)鐘設(shè)置、 中斷管理和任務(wù)切換, 即修改三個(gè)頭文件OS CPU.H、O S_CPU_C.C 和OS CPU.ASM。 INCLUDES. H是主頭文件,INCLUDES.
51、 H可以使用戶不必在 工程項(xiàng)目中每個(gè)木.C的文件中都考慮需要什么樣的頭文件。但會(huì)導(dǎo)致逐個(gè)編譯 木.C文件要花費(fèi)額外的時(shí)間,優(yōu)點(diǎn)是代碼的可移植性增加了。 4A. 1移植 OSCPU.U 移植時(shí)主要修改的內(nèi)容有:與編譯器相關(guān)的數(shù)據(jù)類型的設(shè)定;根據(jù)堆棧的方向 定義OSSTKGROrf豫用tdefine語(yǔ)句定義2個(gè)宏開(kāi)關(guān)中斷等。不同 的微處理器有不同的21 4軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)碩士論文 字長(zhǎng),重新定義數(shù)據(jù)類型是為了增加代碼的可移植性,因?yàn)椴煌木幾g器所提 供的同一數(shù)據(jù)類型的數(shù)據(jù)長(zhǎng)度并不相同pCOS II不使用C的short, int,1ong等數(shù)據(jù)類型,原因在于這些數(shù)據(jù)類型和處理器類型相關(guān),不可移
52、植。因此,需要重新定義的整型數(shù)據(jù)結(jié)構(gòu)既是可移植的又是直觀的。盡管1 IC/ OS- II中沒(méi)有使用浮點(diǎn)數(shù)從方便的角度考慮,還定義了浮點(diǎn)數(shù)數(shù)據(jù)類型。 必須將任務(wù)堆棧的數(shù)據(jù)類型告訴給pC/OS II,這個(gè)過(guò)程是通過(guò)為OS _STK聲明正確的C數(shù)據(jù)類型來(lái)完成的。處理器ARM7的堆棧成員是16位 的,故將編譯文件指定將OSSTK為無(wú)符號(hào)整型數(shù)據(jù)類型,所有的任務(wù)堆棧都必 須用os_sTK來(lái)聲明數(shù)據(jù)類型。 在ARM7處理器中,各種數(shù)據(jù)類型定義如下: tdefine BOOLEANunsignedint#define INTSUunsignedchar ;嚴(yán)無(wú)符號(hào)8位整數(shù)搴,井defin e INTSSch
53、ar ;產(chǎn)有符號(hào)8位整數(shù)吖# define INT16Uunsignedsho H:嚴(yán)無(wú)符號(hào)16位整數(shù)吖# defi ne INT32Uunsigned1ong ;嚴(yán)無(wú)符號(hào)3 2位整數(shù)吖# defi ne OS _ STKunsignedlong ,+ 堆棧入口寬度為3 2位吖# d efineOY_CPU_ SRunsigned s閃比;/*CPU狀態(tài)寄存器寬度吖Ex1ernintn、rrsoF F(void); Ex衄nvoidINTS_ON(void): #defineOS_ENTER_CRrrICAL()cpu_.sr =INTS_OFF(h #defineOSExrr_aUTICAL
54、()tt(cpI一o) INTS_OS(); ,童定義一臨界段代碼處理方式吖# defineOS_STK_GROW TH 1,堆棧從高地址向低地址增加吖# defineSTACKSIZE 2.56。 由于ARM微處理器的堆棧是自上往下增長(zhǎng),因此需要在結(jié)構(gòu)常量OS_ST K_GROWTH中指定堆棧的增長(zhǎng)方式。其中置OS_sTKGROWTH為0 表示堆棧從低地址向高地址增加。置os_sTKGROWTH為1表示堆棧從高 地址向低地址增長(zhǎng).由于內(nèi)核的實(shí)時(shí)性功能,pc/os.U先關(guān)中斷,再處理臨 界段代碼,并且在處理完畢后重新開(kāi)中斷,就使得pC/OS.H能夠保護(hù)臨界段 代碼免受多任務(wù)切換或中斷程序的破壞
55、.為了避免不同的實(shí)現(xiàn)方法所帶來(lái)的負(fù)面影 響,增加可移植性,pC/OS.I I定義了兩個(gè)宏OS.DCrERcRrr ICAL()和OS_EXrr_cP,n1CAL()來(lái)禁止和允許中斷。離開(kāi) 程序的臨界段時(shí)進(jìn)行了中斷保護(hù)和恢復(fù),即進(jìn)入臨界段時(shí)保存當(dāng)前的中斷允許狀 態(tài),然后關(guān)中斷,離開(kāi)臨界段時(shí)恢復(fù)原來(lái)的中斷允許狀態(tài),使得系統(tǒng)更加穩(wěn)定。 碩士論文基于ARM和FPGA的嵌入式數(shù)控系統(tǒng)研究 4A1編寫與操作系統(tǒng)相關(guān)的OS_CPU_&C 移植過(guò)程中,共有6個(gè)函數(shù):0STaskStk1nit() ?,0SST askCreateHook(),0STaskDe1Hook(),OS2T askSwHook
56、(),OSTaskStatHook(),OSTimeT ickHook().其中函數(shù)0STaskStkInit()是必需的,其余 五個(gè)HOOK函數(shù)又是用來(lái)對(duì)uC/OS II進(jìn)行功能擴(kuò)展,由操作系統(tǒng)調(diào)用相 應(yīng)的HOOK函數(shù)去執(zhí)行,在一般情況下,他們都沒(méi)有代碼,為空函數(shù)。 1 .堆棧初始化函數(shù)OSTaskStkInit() 在HC/OS II中,無(wú)限循環(huán)的任務(wù)可以看成其它的C函數(shù)。當(dāng)任務(wù)開(kāi)始 被執(zhí) 行時(shí),任務(wù)就會(huì)收到一個(gè)參數(shù),類似它被其它的任務(wù)調(diào)用。此時(shí),將寄存器保 存到堆棧中,當(dāng)處理器發(fā)現(xiàn)并開(kāi)始執(zhí)行中斷的時(shí)候,可以自動(dòng)地完成該過(guò)程的。之 后的工作就是將余下的處理器寄存器保存到堆棧中。通過(guò)調(diào)用OS
57、TaskStk lnit(),OSTaskCreate()和 OSTaskCreatcEx t()可以實(shí)現(xiàn)初始化任務(wù)的堆棧結(jié)構(gòu)。在本系統(tǒng)中,ARM7處理器的堆棧增長(zhǎng) 方向是從高地址向低地址增長(zhǎng)。在建立任務(wù)的時(shí)候,用戶會(huì)傳遞包括:任務(wù)的地 址、pdata指針、任務(wù)的優(yōu)先級(jí)及任務(wù)的堆棧棧頂給函數(shù)OSTaskCre ate()和OSTaskCreateExt()。 堆棧初始化完成后,OST askStklnit()就返回堆棧指針?biāo)傅牡刂?。OSTaskCreat e()和OSTaskCreateExt()會(huì)獲得該地址并保存到任務(wù)控制塊 中。堆棧的初始化過(guò)程如下: opt) 低地址內(nèi)存 處理器的寄存器
58、值存儲(chǔ)區(qū) 中斷返回地址 處理器狀態(tài)字 任務(wù)起始地址 pdata 高地址內(nèi)存一圖4.4.2堆棧初始化(指針pdala通過(guò)堆棧傳遞) 堆棧初始化函數(shù)OSTaskStklnit()函數(shù)如下: Os _ srKOSTaskStkInit(void(task)(v oidpd),voidpdata,OS_STKptos.INT16 Uunsignedintstk: stk = (unsignedint*)ptos opt+ + :向 方眭增棧堆 4軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)碩士論文 序建立新的堆棧吖 衣 - stk=(unsignedint1 task ;件口。_ | _ h stk=(unsignedint
59、)tas k;/ 幸1r衫stk=12: Arl2 衫 一stk=ll:/ Sri 1杉 stk:lO:/ 搴rlO衫 8tk = 9:/r9/ _stk = 8:/r8/ stk=7: Ar7 衫* stk = 6: 卑 r6鼉 | _ *stk = 5: /r5 事/* stk = 4:/r4 / stk = 2:/幸:r2杉 衣 - stk=l: 卑rlf ? 一stk=(unsignedint)pdata;/r O/ _-一stk=(SbIP-lODE):/cpsr/ stk=(SUPMODE): 肛spsr 搴/ return(OS _ STK)stk): 2 .其他函數(shù) OSTas
60、kCreateHook():當(dāng)用 OSTaskCreate ()或OSTaskCreateExt()建立任務(wù)的時(shí)候就會(huì)調(diào)用OSTas kCreateHook()o OSTaskDelHook():當(dāng)任務(wù)被刪除的時(shí)候就會(huì)調(diào)用此函數(shù)。在 把任務(wù)從I .,C/OS U的內(nèi)部任務(wù)鏈表中解開(kāi)之前,該函數(shù)被調(diào)用. OSTaskSwHook():當(dāng)發(fā)生任務(wù)切換的時(shí)候調(diào)用OSTaskS wHook().不管任務(wù)切換執(zhí)行的方式如何,都會(huì)被調(diào)用。 OSTaskStatHook():用來(lái)擴(kuò)展pcJos.H的統(tǒng)計(jì)功能。 該函數(shù)每秒鐘都會(huì)被OSTaskStat()調(diào)用。 OSTaskTimeHook():用來(lái)擴(kuò)展pC/OS.I I功能,該函
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生心理健康與自主管理能力提升
- 七年級(jí)地理上冊(cè) 1.2地球的運(yùn)動(dòng)教學(xué)實(shí)錄 (新版)新人教版
- 全國(guó)電子工業(yè)版初中信息技術(shù)第二冊(cè)第2單元2.3活動(dòng)2《新媒體帶來(lái)新社交形式》教學(xué)設(shè)計(jì)
- Module 6 Unit 1 Ill draw the pictures.(教學(xué)設(shè)計(jì))-2023-2024學(xué)年外研版(一起)英語(yǔ)四年級(jí)下冊(cè)
- T-APEP 1031-2024 燃料油灶具標(biāo)準(zhǔn)
- 2023一年級(jí)語(yǔ)文上冊(cè) 第二單元 3 b p m f教學(xué)實(shí)錄 新人教版
- 制作技巧及實(shí)例解析
- 寵物喪失后的心理健康意識(shí)試題及答案
- 山西近年聯(lián)考題目及答案
- 山東俄語(yǔ)聽(tīng)力高考題及答案
- 3.2依法行使權(quán)利 課件-2024-2025學(xué)年統(tǒng)編版道德與法治八年級(jí)下冊(cè)
- 2024-2025學(xué)年北京市東城區(qū)五下數(shù)學(xué)期末檢測(cè)試題含答案
- 2025年河南女子職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)參考答案
- 農(nóng)網(wǎng)配電營(yíng)業(yè)工(臺(tái)區(qū)經(jīng)理)技師考試題庫(kù)
- 2025年度家暴離婚協(xié)議書范本制作與使用
- 2025年山西晉城市城區(qū)城市建設(shè)投資經(jīng)營(yíng)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- GB/T 44980-2024凍蝦滑
- 人工智能賦能學(xué)校教育的創(chuàng)新與突破
- 紀(jì)檢業(yè)務(wù)知識(shí)培訓(xùn)課件
- 護(hù)理教學(xué)計(jì)劃及設(shè)想?yún)R報(bào)課件
- 寧夏銀川市興慶區(qū)一中2025屆高三第一次模擬考試英語(yǔ)試卷含解析
評(píng)論
0/150
提交評(píng)論