



全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
湖北工業(yè)大學(xué)碩士學(xué)位論文 摘要 2 1 世紀(jì)的控制系統(tǒng)將是網(wǎng)絡(luò)與控制結(jié)合的系統(tǒng)。隨著計(jì)算機(jī)、通信、自動(dòng)控 制、微電子等技術(shù)的發(fā)展,人們對(duì)工業(yè)生產(chǎn)的智能化提出越來(lái)越高的要求,遠(yuǎn)程 監(jiān)控工業(yè)設(shè)備勢(shì)必將成為發(fā)展趨勢(shì)。隨著制造工藝的進(jìn)步,嵌入式控制芯片的成 本越來(lái)越低,功能卻越來(lái)越強(qiáng)大,不僅解決了嵌入式微控制器與h l t e m e t 連接的技 術(shù)問(wèn)題,同時(shí)也使得這種連接費(fèi)用降低到工業(yè)控制完全可以接受的程度,這促使 了嵌入式網(wǎng)絡(luò)控制技術(shù)的出現(xiàn)。 本課題的研究工作是設(shè)計(jì)和實(shí)現(xiàn)網(wǎng)絡(luò)化嵌入式控制系統(tǒng)終端平臺(tái)。通過(guò)分析 現(xiàn)有的網(wǎng)絡(luò)化控制系統(tǒng)中的兩大架構(gòu)c s 模式和b s 模式,結(jié)合各自的優(yōu)缺點(diǎn), 本文采用了嵌入式哪服務(wù)器甜a v aa p p l e t 相結(jié)合的系統(tǒng)架構(gòu),既可以發(fā)揮b s 模式的靈活便捷性,又可以達(dá)到c s 模式的專業(yè)性;在操作系統(tǒng)的選取上,考慮 到控制系統(tǒng)滿足實(shí)時(shí)性的要求,本文選取了u c o s 作為系統(tǒng)支撐,并移植到了 u p t e c hs 3 c 2 4 1 0 開(kāi)發(fā)板上;為了實(shí)現(xiàn)終端平臺(tái)的網(wǎng)絡(luò)化功能,移植了u c 廠r c p 口 協(xié)議棧,開(kāi)發(fā)了針對(duì)網(wǎng)絡(luò)控制器d m 9 0 0 0 a 的驅(qū)動(dòng)程序,構(gòu)建了e a 2 文件系統(tǒng) 以及h 耵p 服務(wù)器。 本文以工業(yè)洗衣機(jī)為控制對(duì)象,分析了其功能模塊。并將工業(yè)洗衣機(jī)作為網(wǎng) 絡(luò)化嵌入式控制的實(shí)驗(yàn)對(duì)象,以常用的變頻通訊、i o 控制以及模擬量的采集為客 戶端遠(yuǎn)程監(jiān)控的目標(biāo)。在嵌入式控制器上設(shè)計(jì)了相應(yīng)的網(wǎng)絡(luò)s o c k e t 監(jiān)控以及洗衣 機(jī)控制的應(yīng)用程序,利用j a v a a p p l e t 開(kāi)發(fā)了客戶端友好的用戶界面以及控制網(wǎng)頁(yè), 對(duì)工業(yè)洗衣機(jī)實(shí)現(xiàn)了基于i l l t e m e t 的遠(yuǎn)程實(shí)時(shí)監(jiān)控,實(shí)現(xiàn)了在線的變頻調(diào)速、閥門 開(kāi)關(guān)量的控制和洗滌倉(cāng)溫度的監(jiān)控。 最后,對(duì)網(wǎng)絡(luò)化控制系統(tǒng)進(jìn)行了總結(jié)展望。分析了網(wǎng)絡(luò)化控制系統(tǒng)作為控制 系統(tǒng)的一種所具有的傳統(tǒng)控制系統(tǒng)的特點(diǎn),以及處于網(wǎng)絡(luò)環(huán)境中,所具有的新特 性,提出了進(jìn)一步研究的問(wèn)題及主要研究工作。 本系統(tǒng)為網(wǎng)絡(luò)化嵌入式控制系統(tǒng)的進(jìn)一步研究提供了軟硬件上的支持。 關(guān)鍵詞:網(wǎng)絡(luò)控制系統(tǒng),a r m 9 ,u c o s 1 i ,u c 廠r c p i p ,工業(yè)洗衣機(jī) 湖北工業(yè)大學(xué)碩士學(xué)位論文 a b s t r a c t c o n t r o ls v s t e mi n2 1 c e n t m r yw o u l db ec o m b i n a t i o n0 fn e t 柚dc o n t r 0 1 a st h e d e v e l o p m e n to fc o m p u t e r c o m m u n i c a t i o n ,a u t o c o n t r o lm e t h o d ,a n dm i c r 0 e l e c t r o n i c , m o r ea n dm o r ei n t e l l i g e n tp e 渤硼a n c eh a sb e e nr e q u i r e di nt h ei n d u s t n rm a i l u f a c t u r e , a st h er e s u l tr e m o t em o n i t o ra i l dc o n t r o li n d u s t r yt e m l i n a t o rw o u l db et h ed e v e l o p m e n t t i d e w h i l et h e 伊e a tp r o g r e s so fm a n u f a c t u r et e c h l l j c s ,c o s to fe m b e d d e dc o n t r 0 1c h j p h a sb e e nl o w e ra u l dl o w e ra sw e na sg e tm o r ea n dm o f ep o w e r f u lf i l n c t i o n ,t h ep r o b l e m 0 fe m b e d d e dm i c r o c o n t r o l l e ra c c e s s i n gi n t e m e th a sb e e ns o l v e de a s i l y c o n s e q u e n t l y e m b e d d e dn e tc o n t i d lt e c m ch a se m e r g e d r e s e a r c ha n dd e s i g no fe m b e d d e dn e tc o n t r o ls y s t e mp l a t f 0 衄h a sb e e nt h ek e v w o r ki nm yp r o j e c t b ya i l a l y z i n gp r 0a n dc o no ft w oi m p o n a n tn e ta r c h i t e c t u r e ,n 鋤e l y c sm o d e l & i v sm o d e l ,i n t e 黟a t e ds y s t e ms t n l c t u r eo fe m b e d d e dh 1 1 甲w e bs e r y e r 強(qiáng)dj a v aa p p l e th a v eb e e na d o p t e d ,s ot h en e x i b i l i t ya n dc o n v e n i e n c ei nb sm o d e la s w e ua st h ep r o f e s s i o n a li n ( 、sm o d e lh a v eb e e nm a i n t a i l l e ds i m u l t a n e o u s l v a st h e a p p l i c a t i o nb a s e m e n t ,t h er e a l t i m es y s t e m ,n a m e l yu ( 、o s i i ,h a sb e e nt r a n s p l a n t e di n t o t h eu p t e c hs 3 c 2 4 1 0d e v e l o p m e n tb o a r do u to ft h er e a s o ni nr e a lt i m ep e 埔d m a n c e o fn e tc o n t r o ls v s t e m f o rt h er e a l 娩a t i o no fn e tw o r kf n n c t i o ni ne m b e d d e dc o n t r o n e r p l a t f 0 姍,u c ,r c p i pa n di sa p p e n d i xu ( 1 i ? w e bs e r v e rh a v eb e e nt r a i l s p 】a n t e di n o u c o s i i ,a n dt h es p e c i a ld r i v eo fn e tc o n t r o l l e rd m 9 0 0 0 ah a sb e e nd e s i g i l e dw h i l et h e i l es v s t e m 衄2h a sb e e nb u i l d t i a k i n gt h ei n d u s t r yw a s h i n gm a c h i n ea sm ec o n t r o lo 餅e c t ,w ea n 羽y z e di 擔(dān) f i l n c t i o nm o d e l s a st h et r i a lo b j e c ti nn e t w o r ke m b e d d e dc o n t m ls y s t e m ,i t st l l r e e t y p i c a le i g e nv a l u e :i i l v e r t e rc o m m u n i c a t i o n ,i oc o n t r o la n da d cm o n i t o fh a v eb e e n t a k e na s t h ef e m o 把c o n t r 0 it a r 譬e ti nt 王l ec i i e n t h lt h ee m b e d d e dc o n t r o l i e l c o r r e s p o n d i n gp r o g i a mf o rn e ts o c k e tm o n i t o ra n dw a s h i n gm a c h i n ec o n t r o lh a sb e e n d e s i g n e d ,w h i l et h ec l i e n tf i e n d l yg u ia n dc o n t r o lw e bp a g eh a v eb e e nd e v e l o p e di i l j a v aa p p l e tt or c a l i z et h ew a s h i n gm a c h i n er e m o t er c a i t i m em o n i t o ra n dc o n t r o l ,s ot h e o nl i n ef r e q u e n c yc o n v e r s i o ns p e e dr e g u l a t i o n ,v a l v es w i t c h觚dw a s h i n gr o o m t e n l d e r a t u r es u e i l l a n c eh a v eb e e ne x e c u t e d a tl a s t ,c o n c l u s i o na n dp e r s p e c t i v eh a v eb e e nd e d u c e d a sak i n do fc o n t r o ls y s t e m , n e tc o n t r o ls y s t e mi n h e r i tt h ee n t i r et r a d i t i o n a lc h a r a c t e “s t i c ,h o w e v e r ,i ta l s o 擘曩i n e d n e ws p e c i a l i t vd u et oi t sn e we n v i r 6 n m e n t s o m ep r o b l e ma n dt h ek e yr e s e a r c hw o r k a l s oh a v eb e e ni n t r o d u c e d m yp r o i e c th a sb u i l tas o f t & h a r ds u p p o r tf o rf h r t h e rs t u d yo nt h en e t - w o r k e m b e d d e dc o n t r o ls v s t e m k e y w o r d s :n e tc o n t r 0 1s y s t e m ,a r m 9 ,u c 0 s - i l ,u c 廠r c p l p ,i n d u s t r yw a s h i n g m a c h i n e 湖咖二堂大謦 學(xué)位論文原創(chuàng)性聲明和使用授權(quán)說(shuō)明 原創(chuàng)性聲明 本人鄭重聲明:所里交的學(xué)位論文,是本人在導(dǎo)師指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取 得的研究成果。除文中已經(jīng)標(biāo)明引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng) 發(fā)表或撰寫(xiě)過(guò)的研究成果。對(duì)本文的研究做出貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方 式標(biāo)明。本聲明的法律結(jié)果由本人承擔(dān)。 ,學(xué)位論文作者簽名:莎磁,日期:髫年 氣 ,r 帥山t 二 v ,一 xi可選配置2 mn o rn a s ha m 2 9 i 1 6 0 或4 mn o rf i a s ha m 2 9 l v 3 2 0 。 在從n o rf l 峪h 引導(dǎo)配置下,n a n df l 峪h 可選1 2 8 m 以上容量。 u p 1 e c h2 4 1 0 開(kāi)發(fā)板設(shè)計(jì)了雙重引導(dǎo)配置,即可從n 柚df l a s h 引導(dǎo)也可以從 n o rf la s h 引導(dǎo),只需改變跳線電阻的焊接位置。 2 由d m 9 0 0 嶇構(gòu)成的1 0 0 me t h e rn e t 網(wǎng)卡,i u 4 5 接口,支持雙絞線對(duì)翻轉(zhuǎn); 3 1 個(gè)u s bh o s t 接口和1 個(gè)u s bd e c e 接口: 4 2 個(gè)r s 2 3 2d b 9 串口接口; 5 1 個(gè)3 2 腳l c d 薄膜線插座和1 個(gè)8 腳觸摸屏插座。薄膜線插座可以直接連接博創(chuàng) 2 4 1 0 s 開(kāi)發(fā)平臺(tái)配套的液晶屏和觸摸屏。另外提供一個(gè)4 0 腳的插座可以連接其 他型號(hào)的液晶屏和觸摸屏。 6 音頻采用u d a l 3 4 1 芯片,具有放音、錄音等功能。提供耳機(jī)、線路接口和板載 m i c : 7 2 5 寸i d e 硬盤接口和c f 卡( i d e 模式) 接口; 8 s d m m c 卡接口; 9 采用m c p 2 5 1 0 和t j a l 0 5 0 芯片構(gòu)成的c a n 總線接口; 1 0 板載2 個(gè)分壓精密電位器供a d c 實(shí)驗(yàn); 1 1 提供2 路p w m 輸出和d a 電路; 1 2 2 片i i c 存儲(chǔ)| 器a ,r 2 4 c 0 1 : 1 3 提供3 個(gè)4 0 腳擴(kuò)展插座,引出所有總線信號(hào)和未占用資源。擴(kuò)展插座上包括 地址、數(shù)據(jù)、控制等l d c a lb u s 全部信號(hào)外,還有t i m e r 、u a r t 2 、c 、s p i 、i i s 、 g p i o 、a d c 等空閑或可復(fù)用資源。用戶可以自行設(shè)計(jì)合適尺寸的p c b 插在2 4 1 0 開(kāi) 發(fā)板上實(shí)現(xiàn)各種擴(kuò)展功能。 1 4 開(kāi)發(fā)板為d c 5 v 電源輸入,具備u ) o 產(chǎn)生3 3 v 和1 8 v 的電壓。板載紐扣電池 為r t c 供電。另具備r e s e t 、j t a g 、r t c 電路。 開(kāi)發(fā)板的硬件構(gòu)成如圖3 3 所示。 1 9 湖北工業(yè)大學(xué)碩士學(xué)位論文 a d ( r s 2 3 2 磅;i j0卜 i “a r 工o 一0 a r 工l l ( d s 3 c 二4 l i : c p u c :力 ? 戳毫 囂 譬霉 :0 l 要d 笈斃游? - 睦t 卜i 銹羧;建 g p i o p u m k 多f l g 潞嗲遣j f l a s hd i s k 蔓蘭! 型墜! 愁線溺鬻鵜動(dòng) i i ( s p i h l s b u s bh o s t :奠 d m 9 o a e i o o 瓢鵜誓4 s 攘t l ie 毒括播縫 國(guó)蔓疆鉉赫壤 圖3 3u p t e c hs 3 c 2 4 1of 睫件構(gòu)成 3 1 2u p t e c hs 3 c 2 4 10 軟件平臺(tái) 軟件系統(tǒng)是硬件平臺(tái)的靈魂。作為網(wǎng)絡(luò)化嵌入式控制器運(yùn)行的核心,嵌入式 軟件采用何種方式對(duì)控制器性能的發(fā)揮起到了至關(guān)重要的作用。過(guò)去由于受存儲(chǔ) 技術(shù)和微處理器處理速度等兇素的限制,控制器的嵌入式程序一般郁是一個(gè)人循 環(huán)加上若干個(gè)中斷服務(wù)程j 乎組成。這種編程方式在處理一般的j 通用中能夠勝任, 但是在面對(duì)多任務(wù)、多叻、議、復(fù)雜應(yīng)用時(shí)顯然已經(jīng)不能滿足要求。隨著內(nèi)存容量 的迅速擴(kuò)大以及價(jià)格的f 降和嵌入式微處理器的處理速度的提升,操作系統(tǒng)進(jìn)入 到嵌入式系統(tǒng)中已經(jīng)成為可能并已經(jīng)得到了廣泛的應(yīng)用。根據(jù)控制器的需求在控 制器上移植操作系統(tǒng)是必須的也是可行的?;诓僮飨到y(tǒng)的控制器軟件整體設(shè)計(jì) 如圖3 4 所示。 2 0 湖北工業(yè)大學(xué)碩士學(xué)位論文 , 圖3 4 嵌入式軟件整體架構(gòu) 系統(tǒng)設(shè)計(jì)中由嵌入式實(shí)時(shí)操作系統(tǒng)統(tǒng)一管理和調(diào)度各個(gè)任務(wù),在底層編寫(xiě)好 硬件驅(qū)動(dòng)程序如n a n dr a s h 驅(qū)動(dòng)程序、網(wǎng)絡(luò)芯片驅(qū)動(dòng)程序、串口驅(qū)動(dòng)程序、d 驅(qū)動(dòng)程序、s d 卡驅(qū)動(dòng)程序等。對(duì)于文件操作和h l t e m e t 接入,事先編寫(xiě)好文件系 統(tǒng)和t c p 】 p 協(xié)議棧,各個(gè)與文件相關(guān)的任務(wù)通過(guò)寫(xiě)好的a p i 函數(shù)訪問(wèn)n a j l dh a s h , 與網(wǎng)絡(luò)相關(guān)的任務(wù)通過(guò)寫(xiě)好的。a p i 函數(shù)訪問(wèn)t c p p 協(xié)議棧操作以太網(wǎng)接入 i n t e m e t 。對(duì)于一些簡(jiǎn)單的任務(wù)可以通過(guò)寫(xiě)好的a p i 函數(shù)直接訪問(wèn)硬件完成操作, 而一些對(duì)時(shí)間要求嚴(yán)格的任務(wù)或者簡(jiǎn)單的任務(wù)可以直接對(duì)硬件操作,完成操作。 1 系統(tǒng)引導(dǎo)程序設(shè)計(jì) 對(duì)于p c 的體系結(jié)構(gòu),人們熟悉的是p c 中的引導(dǎo)加載程序b i o s ( b a s i ch l p u t o u t p u ts y s t e m ,基本輸入輸出系統(tǒng),其本質(zhì)就是一段固件程序) 和位于硬盤的m b r ( m a s t e rb o o tr e c o r d ,主引導(dǎo)記錄) 中系統(tǒng)引導(dǎo)程序( 如u l 0 和g r u b 等) 一 起組成。b i o s 在完成硬件檢測(cè)和資源分配后,將硬盤m b r 中的引導(dǎo)程序讀到系 統(tǒng)的內(nèi)存中,然后將控制權(quán)交給引導(dǎo)程序。引導(dǎo)程序的主要任務(wù)就是將內(nèi)核映象 從硬盤讀到內(nèi)存中,然后跳轉(zhuǎn)到內(nèi)核的入口點(diǎn)去運(yùn)行,即開(kāi)始啟動(dòng)操作系統(tǒng)。 在嵌入式系統(tǒng)中,主要使用凡a s h 作為系統(tǒng)的存儲(chǔ)媒介,而很少使用磁盤,因 此整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)就完全由引導(dǎo)程序( 也稱作b 0 0 t l o a d e r ) 來(lái)完成。例 如在一個(gè)基于a r m 核的嵌入式處理器中,系統(tǒng)在復(fù)位時(shí)從o x 0 處開(kāi)始執(zhí)行,而在 這個(gè)地址處安排的通常就是系統(tǒng)的引導(dǎo)程序。通常+ ,在嵌入式系統(tǒng)中,引導(dǎo)用f l a s h 會(huì)被按順序分為如圖3 5 所示的幾個(gè)區(qū)域。 2 1 湖北工業(yè)大學(xué)碩士學(xué)位論文 從低地址到高地址方向 圖3 5 嵌入式系統(tǒng)的f l a s h 分區(qū) 一般來(lái)說(shuō),b o o tl d a d e r 就是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序,它 在系統(tǒng)復(fù)位時(shí)被運(yùn)行。從字面上的意義理解,它主要包括兩個(gè)功能:裝載( 1 0 a d ) 和啟動(dòng)( b o o t ) 。每種不同的c p u 體系結(jié)構(gòu)都有不同的b o o t l 0 a d e r l 3 8 】。有些 b o o t l o a d e r 也支持多種體系結(jié)構(gòu)的c p u ,例如u b 0 0 t 就同時(shí)支持a r m 體系結(jié) 構(gòu)和m i p s 體系結(jié)構(gòu)。除了依賴于c p u 的體系結(jié)構(gòu)外,b o o t l o a d e r 也實(shí)際上也依 賴于具體的嵌入式板級(jí)設(shè)備的配置。這也就說(shuō)對(duì)于兩塊不同的嵌入式板而言,即 使它們是基于同一c p u 而構(gòu)建的,要想讓運(yùn)行在一塊班子上的b o o tl 0 a d e r 程序 也能運(yùn)行在另一塊板子上,通常也都要修改b 0 0 t l 0 a d e r 的源程序。 大多數(shù)b o o t l 0 a d e r 都分為第一階段( s t a g e l ) 和第二階段( s t a g e 2 ) 兩大部分。 依賴于處理器體系結(jié)構(gòu)和板級(jí)初始化的代碼,通常都放在s t a g e l 中,用匯編語(yǔ)言 實(shí)現(xiàn)。它包括以下步驟: 1 1 硬件設(shè)備初始化; 2 )為加載b 0 0 t l 0 a d e r 的s t a g e 2 準(zhǔn)備內(nèi)存( 主要是s d r a m ) 空間; 3 ) 復(fù)制b 0 0 t l o a d e r 的s t a g e 2 到內(nèi)存空間中; 4 ) 設(shè)置好堆棧,跳轉(zhuǎn)到s t a g e 2 的入口電。 而s t a g e 2 則主要用c 語(yǔ)言來(lái)實(shí)現(xiàn),這樣可以實(shí)現(xiàn)更復(fù)雜的功能,而且代碼會(huì) 具有很好的可讀性和可移植性。 在u c 0 s 實(shí)時(shí)操作系統(tǒng)下,由于開(kāi)發(fā)模式的不同,b 0 0 t l d a d e r 的功能也有些 差異,所以在u p t e c hs 3 c 2 4 1 0 1 下的b o o t l 0 a d e r 的設(shè)計(jì)是操作系統(tǒng)移植前必須 完成的工作。對(duì)于系統(tǒng)的引導(dǎo)程序,其設(shè)計(jì)流程如圖3 6 : 湖北工業(yè)大學(xué)碩士學(xué)位論文 系統(tǒng)程序入口 l 上 設(shè)置中斷向量表 上 設(shè)置時(shí)鐘控制寄存器 上 初始化s d r a m 上 系統(tǒng)堆棧初始化 上 初始化運(yùn)行時(shí)域 上 跳轉(zhuǎn)到操作系統(tǒng)入口 圖3 6 系統(tǒng)引導(dǎo)流程 1 ) 系統(tǒng)程序入口 s 3 c 2 4 1 0 的o m 0 和o m l 兩個(gè)引腳用來(lái)配置啟動(dòng)方式和b a i l k 0 的總線寬度。當(dāng) o m 【1 :0 】- o o 時(shí)從n a n d f l a s h 啟動(dòng),此時(shí)b a n l 【0 不能使用;當(dāng)o m 【l :0 】- 0 l 時(shí)從b a n k o 啟動(dòng),并配置為1 6 b i t 寬度,也就是從n o r f l a s h 啟動(dòng)。博創(chuàng)2 4 1 0 開(kāi)發(fā)板上通過(guò)電 阻跳線來(lái)選擇啟動(dòng)方式,在u p t e c hs 3 c 2 4 1 0 中只能夠從n 柚df l a s h 啟動(dòng)。當(dāng) s 3 c 2 4 1 0 上電時(shí),c p u 內(nèi)部的4 k b v t e s 的s r a m 映射到了n g c s o ,即o 】【o o 0 0 0 0 0 0 開(kāi) 始的地址范圍內(nèi)。然后n a i l df l a s h 中前4 k b v t e s 的內(nèi)容自動(dòng)拷貝到了s 刪中,c p u 從0 x 0 0 0 0 0 0 0 0 中取指時(shí),實(shí)際上是從s 刪中取指令。由此可以看出,b o o t l o a d e r 的s t a g e l 編譯后的大小不能超過(guò)4 k b y t e s 。 勁設(shè)置中斷向量表 中斷向量表中指定了各異常中斷及其處理程序的對(duì)應(yīng)關(guān)系。它通常存放在存 儲(chǔ)地址的低端。在a r m 體系中,異常中斷向量表的大小為3 2 字節(jié)。其中,每個(gè) 異常中斷占據(jù)4 個(gè)字節(jié)大小,保留了4 個(gè)字節(jié)空間。每個(gè)異常中斷對(duì)應(yīng)的中斷向 量表中的4 個(gè)字節(jié)的空間中存放了一個(gè)跳轉(zhuǎn)指令或者一個(gè)向p c 寄存器中賦值的數(shù) 據(jù)訪問(wèn)指令。通過(guò)這兩種指令,程序?qū)⑻D(zhuǎn)到相應(yīng)的異常中斷處理程序執(zhí)行處。 各異常中斷同時(shí)發(fā)生,則按照一定的優(yōu)先級(jí)來(lái)執(zhí)行。a r m 要求中斷向量表必須放 湖北工業(yè)大學(xué)碩士學(xué)位論文 置在從0 開(kāi)始,連續(xù)8 4 字節(jié)的空間內(nèi)。 3 ) 設(shè)置時(shí)鐘控制寄存器 s 3 c 2 4 1 0 所需要的時(shí)鐘信號(hào)包括c p u 的f c u 【、外設(shè)總線a h b 的f c l k 以及外設(shè) 總線a p b 的p c u 【,均由時(shí)鐘控制邏輯進(jìn)行設(shè)置。在s 3 c 2 4 1 0 中有兩個(gè)鎖相環(huán)( p h a s e l o c k e dl o o p s ) ,一個(gè)負(fù)責(zé)f c l k 、h c l k 和p c u ( ,另一個(gè)負(fù)責(zé)u s b 模塊( 4 8 m i z ) 。 f c l k 時(shí)鐘信號(hào)主要用于內(nèi)核a r m 9 2 0 t ;h c k l 除了給內(nèi)核提供比f(wàn) c u 王低的 時(shí)鐘信號(hào)外,還給存儲(chǔ)控制器、中斷控制器、l c d 控制器、d m a 以及u s b 主機(jī)模 塊提供時(shí)鐘頻率;p c u 廠貝0 主要用于外設(shè)總線,如:w d t 、s 、p w m 定時(shí)器、m m c 接口、a d c 、u a i 汀、g p i o 、r t c 以及s p i 。 s 3 c 2 4 1 0 所需要的三大時(shí)鐘信號(hào)由m p l lc o n t r o lr e 酉s t e r 和c 1 0 c kd i v i d e d c o n t r o lr e 酉s t e r 設(shè)置,前者決定了s 3 c 2 4 1 0 的穩(wěn)定時(shí)鐘周期,而后者則對(duì)f c l k 、 h c 螂p c l k 所占穩(wěn)定時(shí)鐘周期的比例進(jìn)行設(shè)置。 盡管時(shí)鐘控制寄存器的設(shè)置比較復(fù)雜,但是對(duì)于u c o s 來(lái)說(shuō),只需要進(jìn)行兩個(gè) 簡(jiǎn)單的操作即可,代碼也非常簡(jiǎn)單,其代碼如下: l d rr 0 ,= m p l 【c o n l d fr 1 ,= 0 x 0 0 0 a 1 0 3 l s t rr 1 ,】 l d rr u = c l k1 ) j v n l d rr 1 ,= 0 x 0 0 0 0 0 0 0 3 s t f f l ,呷】 鍆初始化s d 黜蝴 嵌入式系統(tǒng)中片內(nèi)存儲(chǔ)資源一般不能滿足系統(tǒng)開(kāi)發(fā)的需求,構(gòu)建一個(gè)高效的 存儲(chǔ)系統(tǒng)是嵌入式開(kāi)發(fā)的基本工作。片外s d r 址直的控制由s 3 c 2 4 1 0 內(nèi)的存儲(chǔ)控 制器進(jìn)行設(shè)置,其所實(shí)現(xiàn)的功能主要是通過(guò)對(duì)其特殊功能寄存器的讀寫(xiě)來(lái)進(jìn)行的, 包括: 曲總線寬度等待控制寄存器( b w s c o n ) ,它的設(shè)置決定了b a i l l 【宰上的s 刪 是否使用了u b l b ( 寫(xiě)高f 氐字節(jié)使能) 、b a l l l 【7 上的s 洲存儲(chǔ)器的等待 狀態(tài)、b 蛆k 7 的數(shù)據(jù)總線寬度、b a n k o 的數(shù)據(jù)總線寬度以及存儲(chǔ)模式; 坊b a i l l 【控制寄存器( b a n k c o n n :n g c s o 硼g c s 5 ) + ,它的設(shè)置決定了n g c s 有效之前地址建立時(shí)間和在n o e 上芯片選擇建立時(shí)間; 曲d r a m s d r a m 刷新控制寄存器( r e f r e s h ) ; d ) b a n k 大小寄存器( b a n k s i z e ) ; 曲b a n k 6 和b a n k 7 模式設(shè)置寄存器( m r s r ) ,它的設(shè)置主要決定b 觚k 6 和 b a n k 7 的存儲(chǔ)模式; 湖北工業(yè)大學(xué)碩士學(xué)位論文 總體上講,s d 蝴的初始化是比較復(fù)雜的,但是對(duì)于u c o s 來(lái)說(shuō),可以大 部分使用默認(rèn)值,只是根據(jù)自己的需要更改部分設(shè)置即可。 5 ) 系統(tǒng)堆棧初始化 a r m 處理器具有7 種處理器模:用戶模式、f i q 模式、瓜q 模式、管理模式、 中止模式、未定義模式和系統(tǒng)模式。除用戶模式外的其他模式稱為特權(quán)模式。特 權(quán)模式是為了響應(yīng)中斷或異常,或訪問(wèn)系統(tǒng)保護(hù)的資源。特權(quán)模式可以自由地訪 問(wèn)系統(tǒng)資源和改變模式。每一種模式的堆棧指針寄存器( s p ) 都是獨(dú)立的( s y s t e m 和u s e r 使用相同s p 寄存器) 。因此,對(duì)程序中需要用到的每一種模式都要給s p 寄存器定義一個(gè)堆棧地址。方法是改變狀態(tài)寄存器( c p s r ) 內(nèi)的狀態(tài)位,使處理 器切換到不同的狀態(tài),然后給s 主 賦值。 一般堆棧的大小要根據(jù)需要而定,但是要盡可能給堆棧分配快速和高帶寬的 存儲(chǔ)器。堆棧性能的提高對(duì)系統(tǒng)性能的影響是非常明顯的。對(duì)于引導(dǎo)階段的堆棧 大小分配,一定要注意不能過(guò)大,否著可能會(huì)使b o o t l 0 a d e r 的編譯大小超出 4 k b y t e 。至于其對(duì)系統(tǒng)運(yùn)行性能的影響,可以在s t a g e 2 階段從重分配大小。 們初始化系統(tǒng)運(yùn)行時(shí)域 在嵌入式編程中,有一個(gè)很重要的概念:加載時(shí)域和運(yùn)行時(shí)域。當(dāng)映像文件 編譯后位于存儲(chǔ)器中時(shí)的地址稱為加載時(shí)地址,當(dāng)映像文件運(yùn)行時(shí),其應(yīng)當(dāng)所處 的地址稱為運(yùn)行時(shí)地址。之所以有這兩種地址,是因?yàn)橛诚裎募谶\(yùn)行時(shí),其中 的有些域是可以移動(dòng)到新的存儲(chǔ)區(qū)域。比如,已經(jīng)初始化的r w 屬性的數(shù)據(jù)所在 的段在運(yùn)行前可能保存在系統(tǒng)的r o m 中,在運(yùn)行時(shí),它被移動(dòng)到刪中。 a r m 映像文件的入口點(diǎn)有兩種類型:一種是映像文件運(yùn)行是的入口點(diǎn),稱為 初始入口點(diǎn)( i n i t i a le n 仃yp o i n t ) ,另一種是普通的入口點(diǎn)( e n t r yp o i n t ) 。每個(gè)映 像文件只有一個(gè)唯一的初始入口點(diǎn),它保存在e 頭文件中。普通的入口點(diǎn)是在 匯編程序中用e n t r y 偽操作定義。 初始入口點(diǎn)必須位于映像文件的運(yùn)行時(shí)域內(nèi),并且包含初始入口點(diǎn)的運(yùn)行時(shí)域 和其加載時(shí)域的地址必須是相同的( 這種域稱為固定域r o o tr e 西o n ) 。 u c o s 的b o o t l d a d e r 必須位于固定域內(nèi),即b o o t l 0 a d e r 必須位于0 x 0 0 0 0 0 0 0 0 開(kāi)始的地址空間內(nèi),但是b o o t l o a d e r 的關(guān)鍵的任務(wù)之一就是把u c o s 內(nèi)核以及其 上的應(yīng)用程序從r a s h 中的加載時(shí)域拷貝到s d r a m 中的運(yùn)行時(shí)域中去,同時(shí)拷貝 的還有一些全局變量,以及把s d 洲中應(yīng)當(dāng)初始化為o 的存儲(chǔ)區(qū)進(jìn)行設(shè)置。 7 l 跳轉(zhuǎn)到操作系統(tǒng)入口 當(dāng)所有的系統(tǒng)初始化工作完成之后,就需要把程序流程轉(zhuǎn)入主應(yīng)用程序: 珈p o r tm a i n 湖北工業(yè)大學(xué)碩士學(xué)位論文 b l j n a m 程序在此處使用b lm a i n ,而不是直接用b lm a j n ,其內(nèi)部是大有緣故的。 當(dāng)使用前者時(shí),實(shí)際上此時(shí)是調(diào)用了c c + + 運(yùn)行時(shí)庫(kù)中的皿a i l l ( ) 函數(shù)。該函 數(shù)完成以下工作: 將非固定域( n o n r o o t ) 的執(zhí)行代碼域( r e 西o n ) 從裝載地址空間復(fù)制到運(yùn) 行地址空間,此步驟實(shí)際上就是完成上述6 ) 中的將u c o s 內(nèi)核、其上應(yīng) 用程序以及其他相關(guān)量從加載時(shí)域拷貝到相應(yīng)的運(yùn)行時(shí)域中; 將z i 域置零; 黟b 轉(zhuǎn)到ne n t r y o 運(yùn)行 如果應(yīng)用程序不想按這種模式運(yùn)行,可以定義自己的皿a i n o 函數(shù),如直接跳 到r l e n t r y o 運(yùn)行。所用的匯編代碼如下所示: i m p o r t r l = e n t r y e x p o r t m a i l l e n t r y m a i n b f te n t r y e n d 或者是用戶可以在整個(gè)u c o s 以及應(yīng)用程序中都不使用c c + + 運(yùn)行時(shí)庫(kù),則用戶 可以直接跳到應(yīng)用程序入口,如下: i m p o r t m a i n b li m i n 一 , 此時(shí),應(yīng)用程序入口其實(shí)也可以取其他的名字,如i m p o r t a p p ,b l a p p , 但是此兩種方式都需要用戶自己實(shí)現(xiàn)加載時(shí)域到運(yùn)行時(shí)域的轉(zhuǎn)變以及z i 域的清 零。由此,建議開(kāi)發(fā)者使用c c + + 運(yùn)行時(shí)庫(kù),即使用b l m a i l l 的模式,本文即 采用此方式。但是使用此方式有一個(gè)難點(diǎn)就是需要用戶自己實(shí)現(xiàn)一些c c + + 運(yùn)行 時(shí)庫(kù)中的一些底層接口,以供c 運(yùn)行時(shí)域使用。比如,如果應(yīng)用程序用到了p 血t f 類的函數(shù),用戶就必須重新實(shí)現(xiàn)f p u t c o 函數(shù),以反映目標(biāo)環(huán)境的特性。如果應(yīng)用 程序中沒(méi)有用到p r i n t f 類的函數(shù),用戶就不必重新實(shí)現(xiàn)印u t c o 函數(shù)。通常,用戶可 能需要重新實(shí)現(xiàn)的函數(shù)包括: 靜態(tài)數(shù)據(jù)的訪問(wèn) 關(guān)于地域特性和c t y p e 應(yīng)用程序運(yùn)行的錯(cuò)誤捕捉、處理以及程序退出 應(yīng)用程序運(yùn)行時(shí)的存儲(chǔ)系統(tǒng)模型 2 b s p 的設(shè)計(jì) 湖北工業(yè)大學(xué)碩士學(xué)位論文 作為板級(jí)支持軟件包b s p 處在一個(gè)軟硬件交界的中心位置,其結(jié)構(gòu)與功能隨 系統(tǒng)應(yīng)用范圍而表現(xiàn)較大的差異,可認(rèn)為它屬于操作系統(tǒng)的一部分,主要目的是 為了支持操作系統(tǒng),使之能夠更好的運(yùn)行于硬件主板。借用通用操作系統(tǒng)的邏輯 上分層的概念,由于嵌入式系統(tǒng)中采用微處理器、微控制器的多樣性,要求嵌入 式操作系統(tǒng)的內(nèi)核明確分成兩層,其上層一般稱為內(nèi)核;而底層則稱為硬件 抽象層或硬件適配層,都縮寫(xiě)成m 虬,實(shí)際上就是板級(jí)支持層。采用這種分 層虛擬的方式,可以完成由底層向上層提供服務(wù)而隱去其細(xì)節(jié)。 i 應(yīng)用程序 害 l嵌入式操作系統(tǒng) li os y s t e m l i b r a r i e s弋c p 嗯 霉 i b s p 善 。 今 各種接口 b o o t l o a d e r 害, , 害 硬件層 圖3 7 嵌入式系統(tǒng)結(jié)構(gòu) 從圖3 7 所表明的嵌入式系統(tǒng)結(jié)構(gòu)中,在硬件層之上,建立最底層的板級(jí)支持 軟件包b s p 可以直接與底層的硬件設(shè)備建立聯(lián)系。 狹義的b s p 是一些匯編語(yǔ)言程序和c 語(yǔ)言程序相結(jié)合的函數(shù)庫(kù),為上層軟件 提供訪問(wèn)硬件的手段。對(duì)u c o s 這種微內(nèi)核的操作系統(tǒng)來(lái)說(shuō),b s p 可以狹義的理 解為為底層硬件驅(qū)動(dòng)程序。 1 ) u a r t 驅(qū)動(dòng)開(kāi)發(fā) u 觸玎( u n i v e r s a l 舡v n c h r o n o u sr e c e i v e 佃a n s m i t t e r ) 通用異步收發(fā)器是用于 控制計(jì)算機(jī)與串行設(shè)備的接口。它提供了r s 2 3 2 c 數(shù)據(jù)終端設(shè)備接口,這樣計(jì)算 機(jī)就可以和調(diào)制解調(diào)器或其他使用r s 2 3 2 c 幾口的串行設(shè)備通信了。 串口驅(qū)動(dòng)開(kāi)發(fā)在嵌入式軟件開(kāi)發(fā)中可以說(shuō)是最基礎(chǔ)的,它是其它軟件開(kāi)發(fā)的 前提。通常在嵌入式軟件開(kāi)發(fā)過(guò)程中,需要大量的調(diào)試信息,而這些信息都可以 通過(guò)串口和h o s t 上的串口終端或是串口調(diào)試助手進(jìn)行信息的交互,從而大大調(diào)高 了開(kāi)發(fā)的進(jìn)度。 在s 3 c 2 4 1 0 中,u 砧玎提供了三個(gè)獨(dú)立的異步串行加端口,均可以操作在中 斷模式或者d m a 模式,具有可編程的波特率、紅外收發(fā)、可選的1 2 位停止位、 5 8 位的數(shù)據(jù)寬度以及奇偶校驗(yàn)。 湖北工業(yè)大學(xué)碩士學(xué)位論文 在u a r t 操作中,主要是通過(guò)對(duì)u 舢玎特殊功能寄存器進(jìn)行設(shè)置來(lái)對(duì)u 觸汀 進(jìn)行控制的。u a r t 的特殊功能寄存器包括u a r t 的控制寄存器、狀態(tài)寄存器、 保持寄存器及波特率分頻寄存器等等。 在u a r t 的控制中,主要是通過(guò)波特率分頻寄存器對(duì)波特率u b r d n 的設(shè)置, 其值可以通過(guò)下式來(lái)決定: u b r d n = ( r l d u n d _ 0 f f ) ( m c u 叭波特率宰1 6 ) ) - 1 式中:約數(shù)因子u b r d n 的范圍為1 2 1 6 1 。 使用串口發(fā)送數(shù)據(jù)時(shí),將待發(fā)送的數(shù)據(jù)寫(xiě)入1 7 t ) ( h o 寄存器,然后通過(guò)讀取 u t r s 咖寄存器的值判斷數(shù)據(jù)是否發(fā)送完成。進(jìn)行串口數(shù)據(jù)接受時(shí),也是通過(guò) 讀取u i r s l = a t 0 寄存器的值判斷是否接受到數(shù)據(jù),如果收到數(shù)據(jù),則可以從 u 砌娜0 寄存器中讀出數(shù)據(jù)。 2 ) n a i l df l a s h 驅(qū)動(dòng)開(kāi)發(fā) n a n d 是目前時(shí)市場(chǎng)上主要的非易失性閃存技術(shù)之一。n a n d f l a s h 存儲(chǔ)器結(jié) 構(gòu)則提供極高的單元密度,可以達(dá)到很大的存儲(chǔ)容量,并且寫(xiě)入和擦除的速度也 很快,使其在嵌入式系統(tǒng)中得到了廣泛的應(yīng)用,但n 觚d f l a s h 存儲(chǔ)器需要特殊的 接口來(lái)操作,因此對(duì)它的讀寫(xiě)與n o r - f l a s h ( 線性f l a s h ) 存儲(chǔ)器有較大的區(qū)別。如 果在c p u 中沒(méi)有提供直接與n a n d f l a s h 存儲(chǔ)器的接口,讀寫(xiě)過(guò)程要靠軟件編程來(lái) 控制f 1 a s h 的時(shí)序來(lái)說(shuō)實(shí)現(xiàn)。 在s 3 c 2 4 1 0 中提供了n 鋤d f l a s h 的控制模塊,如圖3 8 所示,只需要要對(duì)其 特殊寄存器進(jìn)行設(shè)置即可以完成f l a s h 的讀寫(xiě)、擦除等操作; c u 皇 a l e n c 毫 n 兄 n w r ,n g i 啪q ,0 7 在u p - c hs 3 c 2 4 1 0 中采用了韓國(guó)三星公司的l s u p p o r t f i l e s a a s c i ic o n v e 瑙i o n s ( n e l a s c i i 宰) , b b u 骶rm a n a g e m e n t ( n e t - b u 毒) , c t c p 舢d pc o 皿e c t i o nm
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人裝修包工合同協(xié)議書(shū)
- 甲方解除委托合同協(xié)議書(shū)
- 購(gòu)物中心美容美發(fā)店租賃管理合同
- 新能源企業(yè)股權(quán)轉(zhuǎn)讓及增資擴(kuò)股合同
- 地產(chǎn)策劃降薪方案(3篇)
- 老街舊房重建方案(3篇)
- DB23-T2943-2021-龍榛果園營(yíng)建技術(shù)規(guī)程-黑龍江省
- 分公司屬地化管理制度
- 培訓(xùn)學(xué)校相關(guān)管理制度
- 內(nèi)部私人會(huì)所管理制度
- 2025年安徽省九年級(jí)中考語(yǔ)文第一次模擬試卷附答案解析
- 泥漿泵清淤外運(yùn)專項(xiàng)施工方案
- 潔凈室及相關(guān)受控環(huán)境 運(yùn)維服務(wù) 征求意見(jiàn)稿
- 計(jì)算機(jī)本科畢業(yè)論文-網(wǎng)上水果商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 中藥草本洗發(fā)水DIY體驗(yàn)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 兩相交錯(cuò)并聯(lián)Boost變換器的設(shè)計(jì)及仿真分析
- 中國(guó)商務(wù)環(huán)境調(diào)查報(bào)告 2025 -中國(guó)美國(guó)商會(huì)
- 廣東省茂名市2023-2024學(xué)年高一下學(xué)期7月期末考試 語(yǔ)文 含解析
- DBJ41-T 172-2017 河南省城市綠地養(yǎng)護(hù)標(biāo)準(zhǔn)
- 2025年上半年四川瀘州川南發(fā)電限責(zé)任公司公開(kāi)招聘15人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 工程造價(jià)咨詢服務(wù)投標(biāo)方案(專家團(tuán)隊(duì)版-)
評(píng)論
0/150
提交評(píng)論