基于mtk平臺(tái)移動(dòng)終端應(yīng)用層軟件的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
已閱讀1頁,還剩81頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  基于MTK平臺(tái)移動(dòng)終端應(yīng)用層軟件的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  摘 要</b></p><p>  目前,手機(jī)已成為最廣范圍內(nèi)使用的便攜式電話終端。很多國(guó)家也成功地將本土品牌手機(jī)推向了國(guó)際市場(chǎng)。在手機(jī)的研發(fā)過程中,人機(jī)交互接口(MMI)給進(jìn)行移動(dòng)通信的人與手機(jī)提供了交往的界面,它的設(shè)計(jì)優(yōu)劣直接影響了手機(jī)銷售市場(chǎng)的占有率,本文對(duì)人機(jī)界面的

2、設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行了研究和探討。</p><p>  本文首先介紹了手機(jī)發(fā)展現(xiàn)狀和課題選題由來,闡明了課題的現(xiàn)實(shí)意義和主要任務(wù)?;谑謾C(jī)結(jié)構(gòu)和嵌入式操作系統(tǒng)介紹了本項(xiàng)目的軟件開發(fā)平臺(tái)——MTK平臺(tái),并詳細(xì)分析了該平臺(tái)MMI層軟件結(jié)構(gòu)。其中以手機(jī)應(yīng)用層開發(fā)中的典型模塊——通訊錄應(yīng)用為例,先進(jìn)行了系統(tǒng)需求分析和方案設(shè)計(jì)。然后具體實(shí)現(xiàn)了模塊的各功能與所有界面,并完成了應(yīng)用間交互的相關(guān)功能,后期根據(jù)編寫的測(cè)試用例進(jìn)行了黑盒測(cè)

3、試。最終,樣機(jī)通過了軟、硬件測(cè)試,驗(yàn)證了其設(shè)計(jì)的正確性和可行性,并成功投入市場(chǎng)。</p><p>  關(guān)鍵字:手機(jī) 人機(jī)交互接口(MMI) MTK 黑盒測(cè)試</p><p><b>  Abstract</b></p><p>  Nowadays, handset has become a cellular phone te

4、rminal in the most widely used field. A great many countries succeeded in designing various handsets labelled by their own brand in international market. The Man-Machine-Interface(MMI) provides such an interface that bri

5、ngs the convenience to both human and handset in the handset projects. And the advantages or not of design could make an important influence on the market share of mobile terminal products. The thesis makes the related R

6、&D to design</p><p>  The thesis first introduces the present situation and background of handset, and clarifies the significance of the topic and main task. On the basis of the architecture of handset a

7、nd the embedded system, introduces the software development platform of this project, MTK platform, and the software architecture of MMI. Taking a typical application, phonebook as an example, makes the requirement analy

8、sis and practical plan design firstly. Then goes deep into the detailed realization of function and</p><p>  Keyword: Handset Man-Machine-Interface(MMI) MTK </p><p>  Black-box Tes

9、ting</p><p><b>  目 錄</b></p><p><b>  第一章 緒 論1</b></p><p>  1.1 手機(jī)發(fā)展現(xiàn)狀1</p><p>  1.1.1 移動(dòng)通信的發(fā)展1</p><p>  1.1.2 手機(jī)軟件開發(fā)平臺(tái)1</p&g

10、t;<p>  1.1.3 手機(jī)軟件分類2</p><p>  1.2 課題的現(xiàn)實(shí)意義2</p><p>  1.3 論文的工作和結(jié)構(gòu)3</p><p>  第二章 手機(jī)系統(tǒng)結(jié)構(gòu)5</p><p>  2.1 手機(jī)硬件結(jié)構(gòu)5</p><p>  2.2 手機(jī)軟件結(jié)構(gòu)6</p>&

11、lt;p>  2.2.1 移動(dòng)通信協(xié)議體系結(jié)構(gòu)6</p><p>  2.2.2 軟件設(shè)備驅(qū)動(dòng)[16]8</p><p>  2.2.3 手機(jī)操作系統(tǒng)9</p><p>  2.2.4 人機(jī)交互接口MMI11</p><p>  2.3 手機(jī)嵌入式系統(tǒng)11</p><p>  2.3.1 多任務(wù)處理機(jī)制

12、11</p><p>  2.3.2 基于優(yōu)先數(shù)的任務(wù)調(diào)度12</p><p>  2.3.3 任務(wù)間的通信12</p><p>  2.3.4 任務(wù)間的同步13</p><p><b>  2.4 小結(jié)13</b></p><p>  第三章 MMI的研究與分析15</p>

13、;<p>  3.1 MTK平臺(tái)總體設(shè)計(jì)15</p><p>  3.1.1 適配層KAL15</p><p>  3.1.2 適配層L4[22]16</p><p>  3.1.3 task間的通信機(jī)制[23]17</p><p>  3.2 MMI層軟件結(jié)構(gòu)[24]18</p><p>  

14、3.2.1 MMI接口介紹19</p><p>  3.2.2 MMI與L4之間的通信19</p><p>  3.3 Framework層[25]22</p><p>  3.3.1 事件處理器22</p><p>  3.3.2 歷史管理24</p><p>  3.3.3 OSL層24</p&g

15、t;<p>  3.3.4 NVRAM25</p><p>  3.3.5 文件系統(tǒng)26</p><p>  3.4 UI層27</p><p>  3.5 Application層27</p><p><b>  3.6 小結(jié)29</b></p><p>  第四章 通訊

16、錄應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn)31</p><p>  4.1 初步設(shè)計(jì)與分析31</p><p>  4.1.1 系統(tǒng)需求分析31</p><p>  4.1.2 模塊設(shè)計(jì)思路33</p><p>  4.2 初始化詳細(xì)流程設(shè)計(jì)36</p><p>  4.3 界面顯示的設(shè)計(jì)與實(shí)現(xiàn)40</p><

17、p>  4.3.1 一、二級(jí)菜單設(shè)計(jì)40</p><p>  4.3.2 編輯框的設(shè)計(jì)41</p><p>  4.3.3 彈出窗口的設(shè)計(jì)42</p><p>  4.3.4 窗口繪制與History管理設(shè)計(jì)44</p><p>  4.4 核心功能的設(shè)計(jì)與實(shí)現(xiàn)46</p><p>  4.4.1 顯示

18、電話號(hào)碼列表46</p><p>  4.4.2 添加新條目48</p><p>  4.4.3 刪除已有條目49</p><p>  4.4.4 姓名查找51</p><p>  4.4.5 復(fù)制或轉(zhuǎn)存52</p><p>  4.4.6 相關(guān)設(shè)置功能52</p><p>  4.

19、5 應(yīng)用間的交互53</p><p>  4.6 高級(jí)功能快速查找54</p><p><b>  4.7 小結(jié)55</b></p><p>  第五章 手機(jī)應(yīng)用層的軟件測(cè)試57</p><p>  5.1 手機(jī)應(yīng)用層軟件測(cè)試方法[35]57</p><p>  5.2 MTK平臺(tái)軟件仿

20、真工具[36]59</p><p>  5.3 通訊錄應(yīng)用的測(cè)試用例62</p><p>  5.3.1 基本功能測(cè)試63</p><p>  5.3.2 批量測(cè)試64</p><p>  5.3.3 失敗測(cè)試65</p><p>  5.3.4 集成測(cè)試67</p><p>  5

21、.4 通訊錄應(yīng)用的測(cè)試結(jié)果67</p><p>  第六章 總結(jié)與展望71</p><p><b>  致謝73</b></p><p><b>  參考文獻(xiàn)75</b></p><p><b>  第一章 緒 論</b></p><p>  1

22、.1 手機(jī)發(fā)展現(xiàn)狀</p><p>  1.1.1 移動(dòng)通信的發(fā)展</p><p>  從1876年貝爾發(fā)明電話以來,經(jīng)歷了長(zhǎng)達(dá)一個(gè)多世紀(jì)的發(fā)展,電話通訊服務(wù)已走進(jìn)了千家萬戶,成為國(guó)家經(jīng)濟(jì)建設(shè)、社會(huì)生活和人們交流信息所不可缺少的重要工具。在最近二十年中,通訊技術(shù)和業(yè)務(wù)發(fā)生了巨大變化,通信的地點(diǎn)也由固定方式轉(zhuǎn)向移動(dòng)方式。隨著現(xiàn)代生活節(jié)奏越來越快,移動(dòng)通訊發(fā)展迅猛,其通訊工具手機(jī)的更新?lián)Q代和市

23、場(chǎng)爭(zhēng)奪戰(zhàn)也愈演愈烈。</p><p>  國(guó)外手機(jī)生產(chǎn)企業(yè)認(rèn)為質(zhì)量和信譽(yù)是品牌的保證。同時(shí),他們針對(duì)手機(jī)這種特殊商品的特點(diǎn),即科技產(chǎn)品和時(shí)尚產(chǎn)品二位一體,致力于研究創(chuàng)新,從外型、功能、質(zhì)量等方面不斷改善力求做到盡善盡美。手機(jī)不再只是用來通話的,它已經(jīng)成為一個(gè)集照相機(jī)、游戲機(jī)、音樂播放器、電影院……等強(qiáng)大功能為一身的電子消費(fèi)品。例如,諾基亞的主要目標(biāo)消費(fèi)群是中高收入的白領(lǐng)階層,摩托羅拉則是以追求潮流與時(shí)尚的年輕族為

24、目標(biāo)。同時(shí),他們很重視促銷、售后服務(wù)等一系列提高品牌價(jià)值和產(chǎn)品附加值的營(yíng)銷環(huán)節(jié)。</p><p>  國(guó)內(nèi)在營(yíng)銷機(jī)理及營(yíng)銷管理的研究上,無論從框架體系,還是方法手段乃至觀念都難于超越國(guó)外模式,基本上處于追趕型研究狀態(tài),但我國(guó)與國(guó)外研究的差距顯然在以遞增的速度縮小。目前,我國(guó)手機(jī)市場(chǎng)有30多個(gè)品牌,生產(chǎn)廠商40多家。整個(gè)手機(jī)市場(chǎng)保持著“寡頭”格局,諾基亞、摩托羅拉、三星、索愛、飛利浦、NEC等著名外資品牌市場(chǎng)份額在

25、四分之三。其余被以聯(lián)想、波導(dǎo)、夏新、TCL為龍頭的國(guó)產(chǎn)手機(jī)瓜分,他們?cè)趪?guó)家政策的扶持下,守護(hù)著國(guó)產(chǎn)品牌的尊嚴(yán)。我國(guó)部分的手機(jī)生產(chǎn)商已基本掌握了協(xié)議棧軟件、應(yīng)用軟件的開發(fā),以及整機(jī)電路、模具、造型的自主設(shè)計(jì)、大生產(chǎn)技術(shù)與產(chǎn)業(yè)化,個(gè)別企業(yè)還掌握了基帶、射頻等核心芯片設(shè)計(jì)、物理層軟件開發(fā)技術(shù),并擁有整機(jī)設(shè)計(jì)能力,我國(guó)手機(jī)及多媒體信息終端產(chǎn)品的研發(fā)技術(shù)水平得到顯著提高。手機(jī)所需的大部分元器件都可以在國(guó)內(nèi)生產(chǎn),移動(dòng)通信產(chǎn)業(yè)鏈已基本形成[1]。&l

26、t;/p><p>  1.1.2 手機(jī)軟件開發(fā)平臺(tái)</p><p>  手機(jī)開發(fā)分為硬件、軟件開發(fā)。硬件就是指外觀設(shè)備、芯片等,而軟件分為底層軟件、應(yīng)用軟件。其中芯片設(shè)計(jì)是相對(duì)技術(shù)含量高的環(huán)節(jié),其市場(chǎng)長(zhǎng)期為國(guó)外廠商所壟斷。國(guó)內(nèi)廠商在04-05年間起步發(fā)展,新進(jìn)廠商采用降低芯片成本、芯片附贈(zèng)軟件平臺(tái)的模式,逐漸占據(jù)國(guó)內(nèi)手機(jī)市場(chǎng)。手機(jī)芯片包含基帶處理器、射頻芯片、應(yīng)用處理器等,可為音頻、視頻等多媒

27、體配備相應(yīng)自己的芯片[2]。國(guó)外廠商有Ti、FreeScale、ARM、Intel、ADI、高通等,國(guó)內(nèi)廠商有MTK、展訊、大唐移動(dòng)、凱明、鼎新等。據(jù)iSuppli公司數(shù)據(jù)顯示,2006年MTK基帶市場(chǎng)份額為44%。國(guó)內(nèi)手機(jī)采用MTK芯片的品牌有:聯(lián)想、天闊、普天、三新、三盟、宇宙、南方高科、諾科、康佳、科健、采星、迷你、波導(dǎo)、CECT、TCL、奧克斯、東信、長(zhǎng)虹、托普、吉事達(dá)等。</p><p>  MTK是聯(lián)

28、發(fā)科技股份有限公司的英文簡(jiǎn)稱,它作為全球IC設(shè)計(jì)領(lǐng)導(dǎo)廠商,專注于無線通訊及數(shù)位媒體等技術(shù)領(lǐng)域。公司提供的晶片整合系統(tǒng)解決方案,包含無線通訊等在市場(chǎng)上居領(lǐng)導(dǎo)地位。在MTK的手機(jī)解決方案中,將手機(jī)芯片和手機(jī)軟件平臺(tái)預(yù)先整合到一起。這種方案可以使終端廠商節(jié)約成本,加速產(chǎn)品上市周期。MTK公司的產(chǎn)品因?yàn)榧奢^多的多媒體功能和較低的價(jià)格在大陸手機(jī)公司和手機(jī)設(shè)計(jì)公司得到廣泛的應(yīng)用。MTK的Turn-key方案(將芯片與手機(jī)開發(fā)所需的軟件平臺(tái)乃至第三

29、方軟件捆綁銷售)的巨大成功則證明了在這一領(lǐng)域平臺(tái)技術(shù)不再是TI、英飛凌這些巨頭的專屬。這一策略使得MTK在手機(jī)市場(chǎng)取得了驕人的業(yè)績(jī)[3]。但是并不是所有的國(guó)產(chǎn)手機(jī)都簡(jiǎn)單的運(yùn)用MTK最被人稱頌的total solution,而是“取其精華”,利用自己對(duì)市場(chǎng)的理解生產(chǎn)出具有自身特色的MTK手機(jī)。例如成功坐上了國(guó)產(chǎn)手機(jī)的第一把交椅的天語手機(jī)。</p><p>  1.1.3 手機(jī)軟件分類</p><

30、p>  按照軟件安裝的方式來分類,可以將手機(jī)軟件分為前裝軟件和后裝軟件。前裝軟件是指在手機(jī)用戶購(gòu)買手機(jī)的時(shí)候,已經(jīng)預(yù)先安裝在系統(tǒng)內(nèi)的軟件。如通訊錄、短信息等是設(shè)計(jì)廠商捆綁在操作系統(tǒng)的前裝軟件;后裝軟件是指在用戶購(gòu)買手機(jī)之后,通過下載或者與電腦連接等方式獲取并安裝的軟件。</p><p>  按照應(yīng)用類型分類,可以分為基本功能類(如通訊錄、短消息)、信息資訊類(如騰訊QQ),工具類(如地圖),娛樂類(如影院)

31、,游戲類等。</p><p>  1.2 課題的現(xiàn)實(shí)意義</p><p>  本課題來源于本人在實(shí)習(xí)公司參與的手機(jī)研發(fā)項(xiàng)目A302,以其中的通訊錄模塊為例,詳細(xì)闡述了GSM網(wǎng)絡(luò)中MTK平臺(tái)應(yīng)用層軟件的設(shè)計(jì)與實(shí)現(xiàn)。本項(xiàng)目的客戶要求是希望從界面外觀、功能操作等各方面,在MTK平臺(tái)上達(dá)到與某款手機(jī)高仿的效果。因此本課題的實(shí)踐背景是基于MTK的total solution方案,按照用戶需求并結(jié)合手

32、機(jī)應(yīng)用軟件開發(fā)平臺(tái)中的應(yīng)用層概念,在應(yīng)用層基礎(chǔ)版本上進(jìn)行基本功能類、前裝軟件的MMI二次開發(fā)。</p><p>  移動(dòng)終端的應(yīng)用層軟件需要嵌入式實(shí)時(shí)操作系統(tǒng)的支持,基于一定的嵌入式操作系統(tǒng)提供操作系統(tǒng)抽象層,便于上層應(yīng)用軟件的開發(fā)和移植。應(yīng)用層軟件即人機(jī)交互接口(MMI)所反映出來的界面,其操作之簡(jiǎn)易性對(duì)于移動(dòng)終端產(chǎn)品的優(yōu)劣也具有舉足輕重的作用。它是相對(duì)獨(dú)立于通信設(shè)備標(biāo)準(zhǔn)的,有利于二次開發(fā)和項(xiàng)目移植,對(duì)于嵌入式

33、移動(dòng)終端應(yīng)用軟件的研究具有長(zhǎng)遠(yuǎn)的現(xiàn)實(shí)意義。</p><p>  另外,從市場(chǎng)效益的角度來說,不僅給公司帶來了可觀的經(jīng)濟(jì)價(jià)值,同時(shí)又為消費(fèi)者購(gòu)買移動(dòng)終端產(chǎn)品提供了一個(gè)更有競(jìng)爭(zhēng)力的選擇。</p><p>  1.3 論文的工作和結(jié)構(gòu)</p><p>  在研發(fā)手機(jī)項(xiàng)目中,對(duì)通訊錄模塊研究與開發(fā)的工作經(jīng)歷了四個(gè)主要階段:</p><p>  第一階

34、段:學(xué)習(xí)階段。在原有移動(dòng)通信的理論基礎(chǔ)上,進(jìn)一步對(duì)移動(dòng)通信系統(tǒng)進(jìn)行深入學(xué)習(xí),閱讀大量數(shù)字移動(dòng)通信系統(tǒng)的書籍,著重于對(duì)移動(dòng)終端所涉及到的理論進(jìn)行有針對(duì)性的學(xué)習(xí),為后續(xù)的工作奠定了良好的專業(yè)理論基礎(chǔ)。同時(shí),為了更好的進(jìn)行軟件設(shè)計(jì),閱讀了MTK平臺(tái)軟件設(shè)計(jì)的相關(guān)文章和文檔,并參閱軟件工程的書籍,學(xué)習(xí)必要的軟件設(shè)計(jì)知識(shí)。對(duì)整個(gè)手機(jī)系統(tǒng)軟件的架構(gòu)進(jìn)行把握。</p><p>  第二階段:設(shè)計(jì)階段。在了解了移動(dòng)通信終端協(xié)議體

35、系和整個(gè)手機(jī)架構(gòu)的前提下,對(duì)通訊錄模塊進(jìn)行了總體設(shè)計(jì)。</p><p>  第三階段:應(yīng)用階段。理論結(jié)合實(shí)踐在手機(jī)軟件平臺(tái)上設(shè)計(jì)實(shí)現(xiàn)了通訊錄模塊的基本操作(如電話條目存儲(chǔ)、刪除、復(fù)制等)、來電免打擾、快速撥號(hào)等全部功能和界面。</p><p>  第四階段:測(cè)試階段。通過嚴(yán)格測(cè)試,并在程序結(jié)構(gòu)上進(jìn)行優(yōu)化。</p><p>  根據(jù)實(shí)習(xí)期間所完成工作,將論文結(jié)構(gòu)安排如

36、下:</p><p><b>  第一章 緒論</b></p><p>  本章通過對(duì)比國(guó)內(nèi)外手機(jī)發(fā)展先介紹了移動(dòng)通訊的發(fā)展情況,然后分析了手機(jī)市場(chǎng)最大競(jìng)爭(zhēng)力——軟件開發(fā)平臺(tái),由此簡(jiǎn)單介紹了項(xiàng)目應(yīng)用平臺(tái)MTK。最后闡明了本課題的實(shí)踐背景、現(xiàn)實(shí)意義和論文各章節(jié)安排。</p><p>  第二章 手機(jī)系統(tǒng)結(jié)構(gòu)</p><p>

37、;  本章分析了手機(jī)平臺(tái)的硬、軟件結(jié)構(gòu)。在軟件結(jié)構(gòu)中重點(diǎn)介紹了移動(dòng)通信體系結(jié)構(gòu),用舉例對(duì)比的形式介紹了幾種常見的手機(jī)操作系統(tǒng)。最后著重闡述了手機(jī)嵌入式實(shí)時(shí)操作系統(tǒng)中的核心概念。</p><p>  第三章 MMI的研究與分析</p><p>  本章首先分析了MTK平臺(tái)的總體結(jié)構(gòu)。由于項(xiàng)目針對(duì)的是MMI層軟件開發(fā),開始重點(diǎn)分析MMI的軟件結(jié)構(gòu)。其中主要介紹了MMI Task運(yùn)行機(jī)制、重要接

38、口,以及MMI的各個(gè)模塊。</p><p>  第四章 通訊錄應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  本章以通訊錄模塊為例,詳細(xì)闡述了如何對(duì)該模塊進(jìn)行需求分析和設(shè)計(jì),并在MMI層實(shí)現(xiàn)了通訊錄各功能及相應(yīng)界面。</p><p>  第五章 手機(jī)應(yīng)用層的軟件測(cè)試</p><p>  本章首先列舉了手機(jī)應(yīng)用層軟件測(cè)試方法,然后介紹了一個(gè)重要的調(diào)試工具

39、——MTK平臺(tái)提供的軟件仿真工具M(jìn)oDIS。通過編寫的通訊錄應(yīng)用的黑盒測(cè)試用例完成測(cè)試,最終給出測(cè)試結(jié)果。</p><p><b>  第六章 總結(jié)與展望</b></p><p>  本章總結(jié)課題結(jié)果、不足之處以及展望。</p><p>  第二章 手機(jī)系統(tǒng)結(jié)構(gòu)</p><p>  2.1 手機(jī)硬件結(jié)構(gòu)</p>

40、;<p>  手機(jī)電路由無線收發(fā)信機(jī)、基帶信號(hào)處理電路、基帶控制電路、存儲(chǔ)電路、鍵盤、顯示器、外部接口等部分組成[4]其硬件結(jié)構(gòu),如圖2.1所示。</p><p>  圖2.1 手機(jī)硬件結(jié)構(gòu)</p><p><b>  1.射頻單元</b></p><p>  射頻單元的發(fā)信通路將基帶單元產(chǎn)生的270.833Kbit/s的TDMA

41、幀數(shù)據(jù)流信號(hào)按GMSK調(diào)制方法形成I、Q信號(hào),再調(diào)制到900MHz或1800MHz射頻信號(hào),經(jīng)射頻開關(guān)由天線發(fā)射出去,收信通路將天線接收的信號(hào)經(jīng)低噪聲放大、解調(diào)產(chǎn)生基帶I、Q信號(hào),通過解調(diào)和均衡將模擬的I、Q信號(hào)進(jìn)行數(shù)字化,恢復(fù)出數(shù)字基帶信號(hào),送基帶電路處理。射頻單元的本振信號(hào)通常從時(shí)基電路獲得基準(zhǔn)頻率,然后采用鎖相環(huán)技術(shù)實(shí)現(xiàn)頻率合成。</p><p>  2.基帶芯片與基帶信號(hào)處理電路</p>&

42、lt;p>  基帶芯片是通信終端產(chǎn)品的關(guān)鍵部件,現(xiàn)在流行的一般有單IC和雙IC封裝兩種形式。多家公司可以大量供應(yīng)成套的芯片組。</p><p>  基帶信號(hào)處理電路包括信道編/譯碼、加密解密、TDMA幀形成/信道分離及基準(zhǔn)時(shí)鐘電路、話音編/譯碼、碼速適配器等。送話器的話音信號(hào)經(jīng)過8kHz抽樣及A/D變換,成為均勻量化的數(shù)據(jù)流,經(jīng)話音編碼、信道編碼、交織、加密等處理,形成270.833Kbit/s的TDMA幀

43、數(shù)據(jù)流,送調(diào)制器發(fā)送。在接收通道執(zhí)行與發(fā)信通道相反的過程。幀及信令控制以時(shí)鐘基準(zhǔn)部分提供統(tǒng)一幀號(hào)、時(shí)隙號(hào)、1/8bits時(shí)鐘等基礎(chǔ),實(shí)現(xiàn)同步。</p><p><b>  3.控制器</b></p><p>  控制器實(shí)現(xiàn)對(duì)手機(jī)系統(tǒng)的控制,包括協(xié)議處理、射頻電路控制、基帶電路控制、鍵盤輸入、顯示器輸出、SIM卡接口及數(shù)據(jù)接口等功能。</p><p&

44、gt;  2.2 手機(jī)軟件結(jié)構(gòu)</p><p>  手機(jī)系統(tǒng)軟件主要由:移動(dòng)通信協(xié)議棧、設(shè)備驅(qū)動(dòng)、操作系統(tǒng)、MMI和WAP組成。</p><p>  2.2.1 移動(dòng)通信協(xié)議體系結(jié)構(gòu)</p><p>  GSM協(xié)議的分層原理來自于開放式系統(tǒng)互連(OSI)參考模型[5-7]。根據(jù)協(xié)議分層的概念,通信處理過程可以看作由最低層到最高層的若干有序的邏輯層次構(gòu)成,每層都存在實(shí)

45、體單元。最低層是信息在兩個(gè)遠(yuǎn)距離實(shí)體之間的物理傳輸,要依賴物理介質(zhì),而最高層代表外部用戶的觀點(diǎn)。每一層向它的上層提供服務(wù),這些服務(wù)是對(duì)下一層提供服務(wù)的擴(kuò)充。GSM協(xié)議棧分為三層:物理層、鏈路層、網(wǎng)絡(luò)層,如圖2.2中的L1、L2、L3。</p><p>  圖2.2 GSM協(xié)議結(jié)構(gòu)分層模型</p><p>  第一層:物理層。物理層是協(xié)議體系中的最低層,它包括各類信道,為高層信息的傳輸提供基

46、本的邏輯信道;每個(gè)邏輯信道都有自己的服務(wù)接入點(diǎn)(SAP),移動(dòng)臺(tái)的接入方式采用多址接入方式,可以在空閑時(shí)間檢測(cè)周圍的無線電環(huán)境,把檢測(cè)結(jié)果定時(shí)的傳給基站,確定是否進(jìn)行小區(qū)切換。</p><p>  第二層:鏈路層。鏈路層屬于中間層[8-10](LAPDm:Link Access Protocol for Dm Channel Dm信道鏈路連接協(xié)議)。它包括各種數(shù)據(jù)傳輸結(jié)構(gòu),對(duì)數(shù)據(jù)傳輸進(jìn)行控制。LAPDm的基本功能

47、是把單個(gè)的bit構(gòu)成一個(gè)集合,以便在移動(dòng)臺(tái)和基站之間提供可靠的無線數(shù)據(jù)鏈路,所有的鏈路功能都是建立在這個(gè)基本結(jié)構(gòu)單元上,這個(gè)單元稱為幀,幀的結(jié)構(gòu)采用HDLC(高層數(shù)據(jù)鏈路控制)的定義方式。鏈路層協(xié)議主要由GSM04.05、04.06系列標(biāo)準(zhǔn)來描述[11]。</p><p>  第三層:網(wǎng)絡(luò)層。第三層實(shí)體提供在一個(gè)蜂窩移動(dòng)網(wǎng)和其相連接的其他公眾移動(dòng)網(wǎng)中建立、維護(hù)和終止電路交換連接的功能。還要提供必要的補(bǔ)充業(yè)務(wù)和短消

48、息業(yè)務(wù)的控制功能。按照第三層實(shí)體所要完成的功能可以分成無線資源管理(RR)、移動(dòng)管理(MM)和連接管理(CM)三個(gè)子層(CC、SMS、SS)。</p><p>  無線資源管理子層(RR):提供的功能是完成與物理傳輸資源有關(guān)的管理。提供的服務(wù)包括:專用物理信道的建立與維持、應(yīng)網(wǎng)絡(luò)請(qǐng)求而進(jìn)行的越區(qū)切換、信道傳輸模式的改變和質(zhì)量測(cè)量等。</p><p>  移動(dòng)管理子層(MM):具有支持移動(dòng)用

49、戶的移動(dòng)特性所必須的功能。提供的服務(wù)包括:當(dāng)移動(dòng)臺(tái)激活與去激活時(shí),或者用戶所處定位區(qū)改變時(shí),MM實(shí)體負(fù)責(zé)通知網(wǎng)絡(luò);MM實(shí)體不需要完成用戶身份鑒別和注冊(cè)的工作。</p><p>  連接管理子層(CM):包括呼叫控制(CC)、短消息業(yè)務(wù)(SMS)和附加業(yè)務(wù)(SS) 實(shí)體。</p><p>  呼叫控制具有為建立與拆除MS端主叫和被叫時(shí)的電路交換連接所必須的功能,提供的服務(wù)包括:發(fā)起呼叫、連接

50、呼叫和釋放呼叫等[12];短消息業(yè)務(wù)支持完成各種補(bǔ)充業(yè)務(wù),如:呼叫轉(zhuǎn)移、來電號(hào)碼顯示等;附加業(yè)務(wù)實(shí)體則支持完成點(diǎn)到點(diǎn)或廣播短消息內(nèi)容的接收與發(fā)送。</p><p>  我們現(xiàn)將協(xié)議體系進(jìn)行必要的轉(zhuǎn)化,提出協(xié)議棧的概念,并按協(xié)議規(guī)范對(duì)協(xié)議棧的功能確定如下。所提到的協(xié)議棧是對(duì)應(yīng)與GSM標(biāo)準(zhǔn)[13-15]的L2和L3層,同時(shí)此協(xié)議棧還實(shí)現(xiàn)L3 層之上的短消息的第四層和第五層結(jié)構(gòu),分別為中繼層(SM-RL)和傳輸層(SM

51、-TL)。此外,此協(xié)議棧還需要支持SIM卡單元和小區(qū)廣播的功能模塊。</p><p>  由協(xié)議??傮w結(jié)構(gòu)的描述可知,L3層是整個(gè)協(xié)議棧的核心,它包括了大部分的手機(jī)功能實(shí)現(xiàn)。它提供一個(gè)蜂窩移動(dòng)網(wǎng)和與其相連接的其它公共移動(dòng)網(wǎng)之間的建立、維護(hù)和釋放電路交換的功能;提供必要的支持補(bǔ)充業(yè)務(wù)、短消息業(yè)務(wù)和呼叫控制的功能;L3還包括移動(dòng)管理和無線資源管理的功能。此外,最新開發(fā)的L3層應(yīng)當(dāng)能支持GPRS業(yè)務(wù),并提供相應(yīng)復(fù)雜的控

52、制功能。在軟件設(shè)計(jì)過程中,L3層主要由大量的程序模塊構(gòu)成,這些程序塊在第三層各主體之間、第三層與相鄰層以及相關(guān)層之間傳遞攜帶各種信息的消息單元。因此可以說,解決了L3層協(xié)議的設(shè)計(jì)也就基本上解決了整個(gè)協(xié)議棧軟件的設(shè)計(jì)工作。</p><p>  2.2.2 軟件設(shè)備驅(qū)動(dòng)[16]</p><p>  設(shè)備驅(qū)動(dòng)主要用來解釋來自MCU的命令,實(shí)現(xiàn)對(duì)外設(shè)的控制。這個(gè)模塊處理許多用戶可見的手機(jī)行為,例如

53、鍵盤處理、LCD顯示。該模塊通過函數(shù)調(diào)用或與L4實(shí)體進(jìn)行消息交互的方式被引用,通過訪問設(shè)備寄存器來提供必要的控制功能。手機(jī)系統(tǒng)中的軟件設(shè)備驅(qū)動(dòng)如圖2.3所示:</p><p>  圖2.3 軟件設(shè)備驅(qū)動(dòng)</p><p>  外設(shè)的功能解釋如下:</p><p>  SIM:用戶識(shí)別模塊,寫入用戶信息</p><p>  UART:通用異步收發(fā)

54、設(shè)備</p><p><b>  SPI:串口界面</b></p><p><b>  LCD:液晶顯示器</b></p><p>  GPIO:通用輸入輸出</p><p>  RTC:實(shí)時(shí)時(shí)鐘。當(dāng)要求在某個(gè)時(shí)間鬧鈴,或者在某個(gè)時(shí)間段給MMI發(fā)送消息提示(以1秒為基準(zhǔn)),這就由軟件clock模塊讀

55、寫RTC。</p><p>  WDT:看門狗計(jì)時(shí)器</p><p>  GPT:一般設(shè)定的時(shí)鐘</p><p>  PWM:脈沖寬度調(diào)制</p><p>  Alerter:報(bào)警設(shè)備</p><p>  KeyPad:鍵盤,該模塊處理所有從鍵盤發(fā)送來的信息,處理后并把按鍵信息發(fā)給上層。</p><

56、p>  PMIC:電源管理芯片</p><p>  BMT:電池充/放電管理</p><p>  AUX task:耳機(jī)task</p><p>  USB task:USBI.1協(xié)議和驅(qū)動(dòng)</p><p>  IrDA task:IrDA和驅(qū)動(dòng)</p><p>  MSDC:內(nèi)存卡驅(qū)動(dòng),支持SD、MMC卡和內(nèi)存

57、片</p><p>  Camera:照相機(jī)</p><p>  JPEG Decoder:控制硬件JPEG解碼器的軟件</p><p>  2.2.3 手機(jī)操作系統(tǒng)</p><p>  現(xiàn)在市場(chǎng)上流行三類手機(jī)嵌入式操作系統(tǒng)[17]:</p><p>  第一類是“實(shí)時(shí)操作系統(tǒng)(RTOS)”。其目的主要是驅(qū)動(dòng)硬件,任務(wù)

58、調(diào)度。這類操作系統(tǒng)一般是封閉系統(tǒng),也就是一旦手機(jī)出廠,這類手機(jī)不能直接動(dòng)態(tài)加載新的軟件應(yīng)用。RTOS手機(jī)使用相對(duì)簡(jiǎn)單,經(jīng)濟(jì)實(shí)惠。對(duì)多數(shù)只把手機(jī)當(dāng)做通訊工具的人來說,事先預(yù)裝瀏覽器、彩信、三到五款游戲也就足夠了。這類手機(jī)操作系統(tǒng)的主要代表為Nucleus、ThreadX、uC/OS、RT-Linux等。對(duì)于智能手機(jī)來說,RTOS需要借助JAVA中間件等來擴(kuò)展業(yè)務(wù),運(yùn)行效率問題比較突出。</p><p>  第二類是

59、“智能手機(jī)操作系統(tǒng)”。在完成第一類手機(jī)操作系統(tǒng)任務(wù)的基礎(chǔ)上,這類系統(tǒng)進(jìn)一步加強(qiáng)人機(jī)交互的一致性體驗(yàn),強(qiáng)調(diào)多任務(wù)之間的協(xié)同操作,規(guī)范程序間通訊和編程模型。這類系統(tǒng)也被稱為開放式操作系統(tǒng),即手機(jī)出廠后,消費(fèi)者可以借助于個(gè)人計(jì)算機(jī),手工從因特網(wǎng)上下載新軟件、游戲等。智能手機(jī)操作系統(tǒng)的主要代表為Symbian、WinCE、PalmOS、Linux等。它們的軟件體系架構(gòu)沿用PC模式,即軟件要事先安裝到本地永久存儲(chǔ)器之后才能使用。</p>

60、;<p>  第三類是“網(wǎng)絡(luò)軟件運(yùn)行平臺(tái)”。其目的是在第二類手機(jī)操作系統(tǒng)之上,構(gòu)建一個(gè)所謂“中間件”平臺(tái)。消費(fèi)者可以很容易地、動(dòng)態(tài)地、透明地下載移動(dòng)電訊網(wǎng)上的一些新興增值業(yè)務(wù)、游戲等,無需個(gè)人計(jì)算機(jī)作為擴(kuò)展手機(jī)業(yè)務(wù)的中介。這類手機(jī)操作系統(tǒng)有JAVA、BREW、WIPI(韓國(guó)標(biāo)準(zhǔn))等。由于GPRS帶寬和流量費(fèi)的限制,這類手機(jī)操作系統(tǒng)現(xiàn)在還不是主流。在網(wǎng)絡(luò)軟件運(yùn)行平臺(tái)上,消費(fèi)者無需事先安裝軟件,軟件可以直接下載到內(nèi)存里運(yùn)行。這

61、類軟件的使用和維護(hù)也比PC模式簡(jiǎn)單很多。</p><p>  下面介紹市場(chǎng)上主流的手機(jī)操作系統(tǒng)[18]:</p><p>  1.Symbian系統(tǒng)</p><p>  Symbian是一個(gè)實(shí)時(shí)性、多任務(wù)的純32位操作系統(tǒng),具有功耗低、內(nèi)存占用少等特點(diǎn),非常適合手機(jī)等移動(dòng)設(shè)備使用,經(jīng)過不斷完善,可以支持GPRS、藍(lán)牙、SyncML,以及3G技術(shù)。最重要的是它是一個(gè)標(biāo)

62、準(zhǔn)化的開放式平臺(tái),任何人都可以為支持Symbian的設(shè)備開發(fā)軟件。與微軟產(chǎn)品不同的是,Symbian將移動(dòng)設(shè)備的通用技術(shù),也就是操作系統(tǒng)的內(nèi)核,與圖形用戶界面技術(shù)分開,能很好的適應(yīng)不同方式輸入的平臺(tái),也可以使廠商可以為自己的產(chǎn)品制作更加友好的操作界面,符合個(gè)性化的潮流,這也是用戶能見到不同樣子的Symbian系統(tǒng)的主要原因?,F(xiàn)在為這個(gè)平臺(tái)開發(fā)的java程序已經(jīng)開始在互聯(lián)網(wǎng)上盛行。用戶可以通過安裝這些軟件,擴(kuò)展手機(jī)功能。</p>

63、;<p>  2.Windows CE系統(tǒng)</p><p>  Windows CE系統(tǒng)包括 Pocket PC和Smartphone,前者針對(duì)無線PDA,后者專為手機(jī),已有多個(gè)來自IT業(yè)的新手機(jī)廠商使用,增長(zhǎng)率較快。Pocket PC 2002 推出了應(yīng)用在手機(jī)上的Phone Edition(電話版本),國(guó)內(nèi)貼牌機(jī)多普達(dá)686就使用了這個(gè)系統(tǒng)。不過它在移動(dòng)通訊方面的功能并不是很全面。針對(duì)這種情況,

64、微軟于2002年底發(fā)布了專門為手機(jī)開發(fā)的操作系統(tǒng)SmartPhone2002,像Symbian Pearl一樣,是專為移動(dòng)通訊設(shè)備開發(fā)的系統(tǒng)。雖然從眾多手機(jī)廠商的反應(yīng)來看,全球手機(jī)五大廠商中只有三星購(gòu)買了微軟的軟件許可,故其在手機(jī)市場(chǎng)上占有率不高。</p><p><b>  3.Linux系統(tǒng)</b></p><p>  Linux系統(tǒng)件是一個(gè)源代碼開放的操作系統(tǒng),

65、目前已經(jīng)有很多版本流行。但尚未得到較廣泛的支持,其發(fā)展的最大阻力在于它對(duì)硬件要求比較高,而且沒有一個(gè)強(qiáng)有力的推廣方。這樣就導(dǎo)致Linux手機(jī)的成本比較高,而且版本混亂。但Linux的優(yōu)勢(shì)也相當(dāng)明顯,首先它是免費(fèi)的,其次它是開源的,每一家愿意的廠商都能夠加入到Linux操作系統(tǒng)的底層開發(fā)中。</p><p><b>  4.Palm系統(tǒng)</b></p><p>  Pa

66、lm OS是Palm公司的是一種32位的嵌入式操作系統(tǒng),它的操作界面采用觸控式,差不多所有的控制選項(xiàng)都排列在屏幕上,使用觸控筆便可進(jìn)行所有操作。作為一套極具開放性的系統(tǒng),開發(fā)商向用戶免費(fèi)提供Palm操作系統(tǒng)的開發(fā)工具,允許用戶利用該工具在Palm操作系統(tǒng)的基礎(chǔ)上編寫、修改相關(guān)軟件,使支持Palm的應(yīng)用程序豐富多彩、應(yīng)有盡有。</p><p>  5.非智能手機(jī)操作系統(tǒng)</p><p>  

67、低端手機(jī)也有操作系統(tǒng),但功能非常簡(jiǎn)單,主要支持通訊錄調(diào)用等。對(duì)于非智能手機(jī)設(shè)計(jì)生產(chǎn)商來說,不追求系統(tǒng)的強(qiáng)擴(kuò)展性和第三方軟件的添加,一般手機(jī)操作系統(tǒng)只需提供核心功能,如多任務(wù)調(diào)度、中斷、通信機(jī)制等,便于上層應(yīng)用軟件的開發(fā)和移植即可。例如:MTK平臺(tái)使用Nucleus Plus操作系統(tǒng),Brew平臺(tái)使用的是rex(Real-time Executive system)操作系統(tǒng),展訊平臺(tái)操作系統(tǒng)抽象層支持的是Threadx 操作系統(tǒng)。<

68、/p><p>  Nucleus Plus是美國(guó)源代碼操作系統(tǒng)商ATI公司推出的新一代嵌入式操作系統(tǒng),屬于搶先式實(shí)時(shí)多任務(wù)操作系統(tǒng)內(nèi)核,95%的代碼使用ANSI C編寫,非常便于移植于各種處理器家族。從實(shí)現(xiàn)的角度講,不同于傳統(tǒng)嵌入式開發(fā),Nucleus Plus是以函數(shù)庫(kù)的形式鏈接到目標(biāo)應(yīng)用程序中,形成可執(zhí)行目標(biāo)代碼,下載到目標(biāo)板上或燒到ROM/FLASH ROM 中去執(zhí)行。Nucleus Plus內(nèi)核在典型的CIS

69、C體系結(jié)構(gòu)上占據(jù)大約20k空間,而在典型的RISC體系結(jié)構(gòu)上占據(jù)空間為40k左右,其內(nèi)核數(shù)據(jù)結(jié)構(gòu)占據(jù)1.5k字節(jié)的空間。</p><p>  2.2.4 人機(jī)交互接口MMI</p><p>  隨著社會(huì)的發(fā)展,人們對(duì)手機(jī)的要求越來越高,良好的通話質(zhì)量,美觀的外形,友好的人機(jī)界面,已成為人們追求的目標(biāo)。因此,手機(jī)人機(jī)界面的設(shè)計(jì)和開發(fā)無論對(duì)用戶還是對(duì)公司,都日益重要。其主要提供移動(dòng)臺(tái)(手機(jī))的

70、全面控制和手機(jī)與用戶之間的接口,功能包括:用戶鍵盤輸入、手機(jī)狀態(tài)和呼叫處理過程顯示、SIM卡和通訊錄的管理、PIN碼的控制、縮位撥號(hào)等。</p><p>  2.3 手機(jī)嵌入式系統(tǒng)</p><p>  實(shí)時(shí)操作系統(tǒng)(Real Time Operating System)是根據(jù)操作系統(tǒng)的工作特性而言的。實(shí)時(shí)是指物理進(jìn)程的真實(shí)時(shí)間。實(shí)時(shí)操作系統(tǒng)是指具有實(shí)時(shí)性,能支持實(shí)時(shí)控制系統(tǒng)工作的操作系統(tǒng)。

71、首要任務(wù)是調(diào)度一切可利用的資源完成實(shí)時(shí)控制任務(wù),其次才著眼于提高系統(tǒng)的使用效率,重要特點(diǎn)是要滿足對(duì)時(shí)間的限制和要求。</p><p>  2.3.1 多任務(wù)處理機(jī)制</p><p>  在嵌入式實(shí)時(shí)系統(tǒng)中,進(jìn)程(或任務(wù))是操作系統(tǒng)的核心,操作系統(tǒng)的存在歸根結(jié)底就是為了提供一個(gè)運(yùn)行程序的空間。多任務(wù)系統(tǒng)的執(zhí)行過程實(shí)際上就是一系列任務(wù)在三種狀態(tài)中循環(huán)流動(dòng)、輪流被內(nèi)核調(diào)度的過程。每個(gè)任務(wù)都是一個(gè)

72、無限的循環(huán),而且在同一時(shí)刻可運(yùn)行的任務(wù)只能處于運(yùn)行態(tài)、就緒態(tài)或阻塞態(tài)三種基本狀態(tài)之一[19]。如圖2.4所示:</p><p>  圖2.4 任務(wù)狀態(tài)及轉(zhuǎn)化</p><p>  在市場(chǎng)推動(dòng)下,手機(jī)功能在不斷發(fā)展。攝像頭、MP3、藍(lán)牙這些功能可以依靠硬件,對(duì)CPU的壓力還不是很大。但java虛擬機(jī)、嵌入式瀏覽器等應(yīng)用軟件就會(huì)對(duì)CPU資源有較高的要求。不管是單CPU還是雙CPU,多任務(wù)機(jī)制在手

73、機(jī)中就顯得非常重要。在同一時(shí)間我們會(huì)有許多的事情要去做,比如進(jìn)行電源管理,協(xié)處理器管理,文件系統(tǒng)管理,串口管理,顯示管理,SIM卡管理,LCD顯示管理,用戶輸入管理等等。如果是單任務(wù)串行機(jī)制,那么操作系統(tǒng)的實(shí)時(shí)性就無法保證了。</p><p>  2.3.2 基于優(yōu)先數(shù)的任務(wù)調(diào)度</p><p>  每個(gè)進(jìn)程都有一個(gè)優(yōu)先數(shù),數(shù)值大的表示優(yōu)先級(jí)高,系統(tǒng)在調(diào)度時(shí)總選擇優(yōu)先數(shù)大的占用CPU。優(yōu)先

74、數(shù)的確定有兩種:</p><p>  靜態(tài)優(yōu)先數(shù)法:進(jìn)程創(chuàng)建時(shí)就規(guī)定好它的優(yōu)先數(shù),這個(gè)數(shù)值在進(jìn)程運(yùn)行時(shí)不變。確定數(shù)值時(shí)可以考慮采讓外設(shè)進(jìn)程或終端用戶進(jìn)程優(yōu)先。</p><p>  動(dòng)態(tài)優(yōu)先數(shù)法:進(jìn)程的優(yōu)先數(shù)在執(zhí)行過程中可以根據(jù)情況而改變。</p><p>  大多數(shù)的嵌入式實(shí)時(shí)操作系統(tǒng)使用的是基于優(yōu)先級(jí)的可搶占式調(diào)度策略,應(yīng)當(dāng)采用優(yōu)先級(jí)繼承和優(yōu)先級(jí)天花板策略來解決和

75、避免優(yōu)先級(jí)反轉(zhuǎn)問題。</p><p>  手機(jī)嵌入式系統(tǒng)中,任務(wù)優(yōu)先級(jí)的概念體現(xiàn)在窗口管理機(jī)制上。設(shè)置窗口優(yōu)先級(jí)的目的是為了保護(hù)那些重要的窗口不被打斷。例如,當(dāng)手機(jī)在呼叫狀態(tài)時(shí)是處于Call窗口的,在Call的過程中不能夠出現(xiàn)被SMS或者Alarm窗口打斷的情況,否則會(huì)影響正常的Call過程。</p><p>  2.3.3 任務(wù)間的通信</p><p>  在一個(gè)

76、實(shí)時(shí)系統(tǒng)中,可能有許多任務(wù)作為一個(gè)應(yīng)用的一部分執(zhí)行。系統(tǒng)必須提供這些任務(wù)間的快速且功能強(qiáng)大的通信機(jī)制。兩個(gè)并行進(jìn)程可以通過互相發(fā)送消息進(jìn)行合作,消息是通過消息緩沖而在進(jìn)程之間相互傳遞的。任務(wù)之間的通信有三種方式:信箱、隊(duì)列FIFO和管道PIPE。</p><p><b>  1.信箱</b></p><p>  信箱是任務(wù)間發(fā)送消息的接口,也是OS提供的一種機(jī)制。每個(gè)

77、任務(wù)可以定義一個(gè)信箱,其他任務(wù)可以給它發(fā)送消息。每個(gè)消息的結(jié)構(gòu)中有個(gè)是信號(hào)量,它與某一事件聯(lián)系,而此事件是由于信箱中來了消息激發(fā)的。然而如果一個(gè)任務(wù)需要從多個(gè)信箱中得到消息,它必須能夠知道事件的標(biāo)識(shí)和事件已經(jīng)發(fā)生。信箱可以看成是長(zhǎng)度為1的隊(duì)列,它消耗的資源少于隊(duì)列,運(yùn)行速度快于隊(duì)列。</p><p><b>  2.隊(duì)列FIFO</b></p><p>  FIFO是

78、一種先進(jìn)先出的隊(duì)列。它類似于一個(gè)管道,只允許數(shù)據(jù)的單向流動(dòng)。每個(gè)FIFO都有一個(gè)名字,允許不相關(guān)的進(jìn)程訪問同一個(gè)FIFO。因此也成為命名管。</p><p><b>  3.管道PIPE</b></p><p>  管道一般用于兩個(gè)不同進(jìn)程之間的通信。當(dāng)一個(gè)進(jìn)程創(chuàng)建一個(gè)管道,并調(diào)用fork創(chuàng)建自己的一個(gè)子進(jìn)程后,父進(jìn)程關(guān)閉讀管道端,子進(jìn)程關(guān)閉寫管道端,這樣提供了兩個(gè)進(jìn)

79、程之間數(shù)據(jù)流動(dòng)的一種方式。</p><p>  2.3.4 任務(wù)間的同步</p><p>  內(nèi)核也要提供為了有效地共享不可搶占的資源或臨界區(qū)所需的同步機(jī)制。任務(wù)之間的同步有三種方式:信號(hào)量、事件組和信號(hào)。</p><p>  1.信號(hào)量(semaphore)</p><p>  信號(hào)量提供了對(duì)臨界資源的控制機(jī)制。所謂的臨界資源指的是在同一時(shí)

80、刻只能為一個(gè)用戶所使用的資源。對(duì)信號(hào)量的基本操作是得到(obtain)和釋放(release)信號(hào)量。得到信號(hào)量是信號(hào)量的值減少;釋放信號(hào)量使信號(hào)量的值增加。</p><p>  2.事件組(event group)</p><p>  事件組提供一種機(jī)制,指明了某種系統(tǒng)事件的發(fā)生。一個(gè)事件由在事件組變量中的某一位(bit)來代表,該位被稱為一個(gè)事件標(biāo)志。事件標(biāo)志的使用是同步的,任務(wù)并不知

81、道事件標(biāo)志的出現(xiàn)直到出現(xiàn)特定的服務(wù)請(qǐng)求。通常每個(gè)事件組中有32個(gè)事件標(biāo)志。</p><p>  3.信號(hào)(signal)</p><p>  信號(hào)以異步方式操作,當(dāng)信號(hào)出現(xiàn)時(shí)任務(wù)被中斷,一個(gè)先前被任務(wù)定義的特定的信號(hào)處理程序被執(zhí)行。每一個(gè)任務(wù)具有處理32個(gè)信號(hào)的能力。每一個(gè)信號(hào)由變量的一位(bit)代表。</p><p><b>  2.4 小結(jié)</

82、b></p><p>  在本章中首先介紹了手機(jī)的硬件結(jié)構(gòu)和軟件結(jié)構(gòu),其中詳細(xì)研究了移動(dòng)通信協(xié)議體系結(jié)構(gòu),并用對(duì)比的方式介紹了流行的嵌入式實(shí)時(shí)操作系統(tǒng),最后重點(diǎn)對(duì)嵌入式實(shí)時(shí)系統(tǒng)的特點(diǎn)做了詳細(xì)的分析。</p><p>  本項(xiàng)目是基于GSM網(wǎng)絡(luò),從界面、功能、外觀等各角度在MTK平臺(tái)上達(dá)到高仿某款手機(jī)的效果。而該款手機(jī)采用的Symbian操作系統(tǒng)在智能移動(dòng)終端上擁有強(qiáng)大的應(yīng)用程序以及通

83、信能力,它的特征包括文件系統(tǒng)、圖形用戶界面框架、多媒體支持、TCP/IP棧和庫(kù),提供的軟件開發(fā)包可以供第三方應(yīng)用程序開發(fā)使用。Symbian體系中有多個(gè)可選擇的UI平臺(tái)以適應(yīng)不同的用戶需求。這些優(yōu)點(diǎn)是普通手機(jī)平臺(tái)難以實(shí)現(xiàn)的,當(dāng)然這也是本項(xiàng)目的難點(diǎn)所在。因此,項(xiàng)目的首要任務(wù)是先對(duì)原始需求進(jìn)行充分評(píng)估和合理設(shè)計(jì)。</p><p>  第三章 MMI的研究與分析</p><p>  3.1 MT

84、K平臺(tái)總體設(shè)計(jì)</p><p>  手機(jī)軟件主要包括運(yùn)行軟件和調(diào)試軟件兩大部分。本項(xiàng)目中運(yùn)行軟件主要由:GSM協(xié)議棧、Nucleus操作系統(tǒng)、設(shè)備驅(qū)動(dòng)、MMI和WAP模塊組成。MTK提供的調(diào)試軟件有:Catcher、META[20]。它們的作用在于監(jiān)視軟件的實(shí)時(shí)運(yùn)行,加速手機(jī)運(yùn)行軟件的開發(fā)。整個(gè)軟件的結(jié)構(gòu)如圖3.1所示:</p><p>  圖3.1 MTK軟件結(jié)構(gòu)</p>

85、<p>  其中,Drivers是整個(gè)系統(tǒng)外圍設(shè)備的驅(qū)動(dòng)程序,WAP是無線應(yīng)用協(xié)議,JAVA是J2ME軟件。</p><p>  3.1.1 適配層KAL</p><p>  MTK平臺(tái)使用了Nucleus Plus實(shí)時(shí)操作系統(tǒng)。本系統(tǒng)設(shè)計(jì)了一個(gè)操作系統(tǒng)適配層(KAL)在其上做了個(gè)內(nèi)核抽象層的封裝,使得手機(jī)軟件獨(dú)立于Nucleus操作系統(tǒng)。為了確保MMI task上所有程序能在P

86、C機(jī)上正常的運(yùn)行,這層是必須的。它封裝了一些API,它們?yōu)槠渌浖峁┝撕芏嘞到y(tǒng)服務(wù)函數(shù),例如時(shí)鐘管理、任務(wù)管理(同步和通信)、資源管理,內(nèi)存管理等[21]。如圖3.2所示:</p><p>  圖3.2適配層KAL</p><p>  3.1.2 適配層L4[22]</p><p>  MTK平臺(tái)中,L4層是MMI與AT和協(xié)議棧之間的一個(gè)適配層。也就是說,二者通過

87、L4層完成通信過程。一般地,我們將L4以下的部分稱為下層,上面的稱為上層或應(yīng)用層。詳細(xì)結(jié)構(gòu)如圖3.3所示:</p><p><b>  圖3.3適配層L4</b></p><p>  MMI:包括RMI和FMI兩個(gè)部分。前者即遠(yuǎn)程MMI(例如,PC端),通過UART口利用AT命令與協(xié)議棧通信;后者包括了MMI的所有特性。</p><p>  L

88、4A:FMI對(duì)應(yīng)的L4適配層,F(xiàn)MI和L4A之間的服務(wù)節(jié)點(diǎn)是原始節(jié)點(diǎn)。</p><p>  L4C:L4的控制實(shí)體,處理所有應(yīng)用的請(qǐng)求和響應(yīng)。</p><p>  ATCI:AT命令解釋器,解釋來自PC端的AT命令,同時(shí)命令L4C執(zhí)行相應(yīng)的動(dòng)作。</p><p>  UEM:用戶設(shè)備適配。驅(qū)動(dòng)的適配,如KEYPAD、LED、GPIO等。</p><

89、;p>  PHB:電話本管理。處理電話本的相關(guān)操作,如存儲(chǔ)等。</p><p>  SMU:安全管理單元。安全性管理以及STK。</p><p>  CSM:電路交換協(xié)議棧管理。</p><p>  RAC:注冊(cè)接入控制。包括GSM/GPRS的注冊(cè)管理等。</p><p>  SMSAL:短消息服務(wù)應(yīng)用層。處理短信存儲(chǔ)、收發(fā)短信、小區(qū)廣

90、播等。</p><p>  TCM:終端文本管理。</p><p>  3.1.3 task間的通信機(jī)制[23]</p><p>  在MTK平臺(tái)中,系統(tǒng)被劃分為若干個(gè)獨(dú)立的task,它們由操作系統(tǒng)來統(tǒng)一管理調(diào)度。一個(gè)事件的處理往往是多個(gè)task交互完成的,這就需要每個(gè)task之間都可以進(jìn)行通信,它們都是通過消息隊(duì)列來接受或發(fā)送消息的。如圖3.4所示:</p&

91、gt;<p>  圖3.4 task結(jié)構(gòu)</p><p>  消息隊(duì)列可以分為三種:內(nèi)部隊(duì)列Internal queue、外部隊(duì)列External queue和循環(huán)隊(duì)列Circular queue。其中,內(nèi)部隊(duì)列是在同一個(gè)task的模塊之間進(jìn)行消息交互的隊(duì)列,外部隊(duì)列是在不同的task的模塊之間進(jìn)行消息交互的隊(duì)列,循環(huán)隊(duì)列是專門用于MMI模塊讀取消息的隊(duì)列,默認(rèn)的大小是30。</p>

92、<p>  消息message的數(shù)據(jù)結(jié)構(gòu)定義如下:</p><p>  typedef struct ilm_struct{</p><p>  oslModuleType oslSrcId; // 源模塊ID</p><p>  oslModuleType oslDestId; // 目的模塊ID</p><p>  os

93、lMsgType oslSapId; // 服務(wù)接入點(diǎn)</p><p>  oslMsgType oslMsgId; // 信息名ID</p><p>  oslParaType *oslDataPtr; //本地參數(shù)緩沖器</p><p>  oslPeerParaPtr *oslPeerBuffPtr;//peer緩沖器指針</p>

94、<p>  } ilm_struct;</p><p>  進(jìn)行task之間的通信之前,先創(chuàng)建task。建立task入口函數(shù),進(jìn)入消息的循環(huán),從而在外部隊(duì)列中監(jiān)聽消息message,完成此步驟的函數(shù)是:</p><p>  OslReceiveMsgExtQ(mmi_qid, &mmi_message);</p><p>  下面以MMI ta

95、sk向L4 task發(fā)送消息來說明task間的通信過程:</p><p>  1.建立一個(gè)本地參數(shù)的緩沖器</p><p>  2.分配需要的值到本地參數(shù)緩沖器</p><p>  3.在結(jié)構(gòu)體ilm_struct中填寫相應(yīng)信息</p><p><b>  4.發(fā)消息給L4C</b></p><p&g

96、t;  MMI從L4C中接收到消息后,MMI會(huì)根據(jù)消息ID注冊(cè)一個(gè)消息響應(yīng)的處理函數(shù),完成此步驟的函數(shù)是SetProtocolEventHandler(FuncCB, msg_id)。</p><p>  以MMI向L4C發(fā)送調(diào)節(jié)音量請(qǐng)求為例:</p><p>  void SetVolumeLevelReq(volume_type_enumvolume_type,U8 volume_le

97、vel)</p><p><b>  {</b></p><p>  MYQUEUE Message;</p><p>  mmi_eq_set_volume_req_struct *setVolumeLevelReq;</p><p>  Message.oslMsgId = MSG_ID_MMI_EQ_SET_VOL

98、UME_REQ; //消息ID</p><p>  //建立本地參數(shù)緩沖器</p><p>  setVolumeLevelReq = </p><p>  OslConstructDataPtr(sizeof(mmi_eq_set_volume_req_struct));</p><p>  setVolumeLevelReq-&g

99、t;volume_type = volume_type;</p><p>  setVolumeLevelReq->volume_level = volume_level;</p><p>  Message.oslDataPtr= (oslParaType*)setVolumeLevelReq; //本地參數(shù)緩沖器</p><p>  Message.

100、oslPeerBuffPtr= NULL; //Peer參數(shù)緩沖器</p><p>  Message.oslSrcId=MOD_MMI; //源模塊ID</p><p>  Message.oslDestId=MOD_L4C; //目的模塊ID&l

101、t;/p><p>  OslMsgSendExtQueue(&Message); //發(fā)送給L4 task</p><p><b>  }</b></p><p>  3.2 MMI層軟件結(jié)構(gòu)[24]</p><p>  MMI模塊主要由三部分組成:Application L

102、ayer(應(yīng)用層軟件)、Framework(框架)和UI Layer(圖像用戶接口)。它們之間的關(guān)系如圖3.5所示:</p><p>  圖3.5 MMI軟件結(jié)構(gòu)</p><p>  Application Layer即手機(jī)應(yīng)用,就是手機(jī)提供的各功能。具體包括通訊錄、消息(短消息、增強(qiáng)型短消息、小區(qū)廣播)、歷史記錄、設(shè)置(電話設(shè)置、網(wǎng)絡(luò)設(shè)置、安全設(shè)置)、情景模式、娛樂游戲、WAP、快捷方式

103、等。</p><p>  Framework是MMI模塊的核心,主要用于分發(fā)和解釋消息并控制向用戶提供友好界面的信息,接收到的消息按其屬性逐層解析處理。包括OS適配層、與L4 task通信的Task和與存儲(chǔ)設(shè)備通信的文件系統(tǒng)。</p><p>  UI Layer主要負(fù)責(zé)人機(jī)界面元素,實(shí)現(xiàn)菜單的組織和屏幕的顯示。例如:主題風(fēng)格、標(biāo)題、按鈕、圖片等的組織和調(diào)用LCD驅(qū)動(dòng)顯示人機(jī)界面。<

104、/p><p>  由此可以說Framework主要實(shí)現(xiàn)了調(diào)度功能;Application Layer實(shí)現(xiàn)各個(gè)服務(wù)功能,每個(gè)功能又自己組成一個(gè)模塊,設(shè)計(jì)時(shí)可根據(jù)具體需求增減模塊;UI Layer負(fù)責(zé)顯示用戶友好界面。為了增強(qiáng)軟件的可擴(kuò)展性和靈活性,特意將Framework和Application Layer分開,利于模塊的封裝和程序的二次開發(fā)。</p><p>  3.2.1 MMI接口介紹&l

105、t;/p><p>  MMI中主要接口包括:</p><p>  Framework與協(xié)議棧L4層的接口,也是MMI層與應(yīng)用提供者的接口。它們之間時(shí)通過消息進(jìn)行通信的,是由Task機(jī)制來完成的。</p><p>  UI Layer與LCD的接口,也是MMI與硬件的接口。UI Layer先與LCD驅(qū)動(dòng)通信,然后通過驅(qū)動(dòng)與硬件設(shè)備連接。它們是通過接口和消息進(jìn)行通信的。&l

106、t;/p><p>  3.2.2 MMI與L4之間的通信</p><p>  MMI Task與L4 Task的通信過程如圖3.6所示:</p><p>  圖3.6 MMI Task與L4 Task的通信過程</p><p>  MMI 隊(duì)列:協(xié)議棧或者L4將事件寫到該隊(duì)列中,然后MMI Task從這個(gè)隊(duì)列中讀取事件。</p>&

107、lt;p>  網(wǎng)絡(luò)模擬器/L4隊(duì)列:MMI Task將MMI事件寫入該隊(duì)列中,然后L4 task或者網(wǎng)絡(luò)模擬器從這個(gè)隊(duì)列中讀取事件。</p><p>  MMI Task的運(yùn)行過程如圖3.7所示:</p><p>  圖3.7 MMI Task運(yùn)行過程</p><p>  此圖中我們可以看到該過程如下:</p><p>  1.等待發(fā)送

108、給MMI隊(duì)列的messages</p><p>  2.協(xié)議棧把messages寫入到MMI隊(duì)列中</p><p>  3.Framework層處理事件</p><p>  4.Framework層調(diào)用Application Layer中注冊(cè)過的回調(diào)函數(shù)</p><p>  5.Application Layer調(diào)用UI層的類屏幕函數(shù)來組織U

109、I元素,使之呈現(xiàn)在界面上</p><p>  下面舉例來說明MMI Task中的事件流:</p><p>  按鍵事件(向Application Layer發(fā)送)</p><p><b>  圖3.8 按鍵事件</b></p><p>  一旦有鍵按下,MMI運(yùn)行機(jī)制如下步驟工作:</p><p>

110、;  協(xié)議棧將此事件寫入MMI隊(duì)列中;</p><p>  MMI Task從MMI隊(duì)列中讀該事件;</p><p>  Framework調(diào)用回調(diào)函數(shù),在Application Layer注冊(cè)事件;</p><p>  Application Layer接收到按鍵事件給出響應(yīng)。</p><p>  播放聲音請(qǐng)求(Application La

111、yer向底層發(fā)送)</p><p>  圖3.9 播放聲音請(qǐng)求</p><p>  應(yīng)用層發(fā)送播放聲音請(qǐng)求時(shí),MMI運(yùn)行機(jī)制如下步驟工作:</p><p>  Application Layer給Framework層發(fā)送呼叫請(qǐng)求,要將信息傳送給L4隊(duì)列中;</p><p>  Framework層將信息寫入L4隊(duì)列;</p>&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論