基于MC9328 MX1微處理智能手機(jī)系統(tǒng)設(shè)計(jì)
設(shè)計(jì)對(duì)動(dòng)態(tài)庫(kù)中封裝的函數(shù)進(jìn)行了分層。其中直接針對(duì)Framebuffer進(jìn)行輸出的函數(shù)位于系統(tǒng)最低層,其上是設(shè)備上下文。因每次對(duì)一個(gè)窗口輸出的時(shí)都要首先建立設(shè)計(jì)上下文,所以設(shè)備上下文總可以引用窗體結(jié)構(gòu),自然也可以引用到窗口剪切域,在剪切域范圍內(nèi)才可以進(jìn)行輸出。
圖形設(shè)備接口建立在設(shè)備上下文之上,主要包括點(diǎn)、線、面、文本等。如上文所述,輸出之前,首先建立設(shè)備上下文,即其輸出的目標(biāo)是設(shè)備上下文,而不是窗口。
圖形設(shè)備接口的上層是應(yīng)用開(kāi)發(fā)接口即API層,桌面進(jìn)程與客戶進(jìn)程都通過(guò)調(diào)用API函數(shù)實(shí)現(xiàn)系統(tǒng)功能。
另外,系統(tǒng)建立了輸入的抽象層,屏蔽了不同輸入設(shè)備。
2.2.2 GSM/GPRS Server多工通信服務(wù)器軟件
GSM/GPRS Server多工通信服務(wù)器軟件是電話、短信及數(shù)據(jù)業(yè)務(wù)的守護(hù)進(jìn)程,負(fù)責(zé)響應(yīng)應(yīng)用程序轉(zhuǎn)發(fā)的用戶操作事件及從串口的獲得的無(wú)線通信模塊事件,是整個(gè)智能手機(jī)系統(tǒng)的核心。在這部分的工作中要實(shí)現(xiàn)多鏈路的數(shù)據(jù)通信、事件優(yōu)先級(jí)判別,并在執(zhí)行數(shù)據(jù)通信時(shí),保證電話、短信的接入。具體程序設(shè)備結(jié)構(gòu)如圖4所示。
2.3 智能手機(jī)系統(tǒng)中的應(yīng)用程序設(shè)計(jì)
有了中間層的服務(wù)程序,上層應(yīng)用程序可以根據(jù)GUI Server及GSM/GPRS Server提供的接口進(jìn)行移植和開(kāi)發(fā)。本設(shè)計(jì)中實(shí)現(xiàn)了電話控制程序、短信收發(fā)的管理及數(shù)據(jù)精力的應(yīng)用等。下面以電話控制程序?yàn)槔?,介紹智能手機(jī)應(yīng)用程序的設(shè)計(jì)與實(shí)現(xiàn)。
筆者將電話控制程序設(shè)計(jì)分為三個(gè)運(yùn)行態(tài):PowerOn State(上電態(tài))、Idle State(空閑態(tài))、Execution State(執(zhí)行態(tài))。圖5表示了三個(gè)狀態(tài)之間的關(guān)系和進(jìn)入各個(gè)狀態(tài)的條件。
電話控制程序在智能手機(jī)系統(tǒng)上電復(fù)位、GSM/GPRS Server啟動(dòng)后,進(jìn)入Power-on State(上電態(tài))。在上電態(tài),程序首先進(jìn)行初始化工作,與GSM/GPRS Server通信,獲得系統(tǒng)狀態(tài)。初始化后,即進(jìn)入Idle State(空閑態(tài))。在空閑態(tài),程序循環(huán)等待GSM/GPRS Server的呼入事件及來(lái)自鍵盤的呼出事件;當(dāng)這些事件發(fā)生時(shí),程序進(jìn)入Execution State(執(zhí)行態(tài))。在執(zhí)行態(tài),用戶進(jìn)行語(yǔ)音通信,通話結(jié)束后,程序又回到空閑態(tài)。
本系統(tǒng)設(shè)計(jì)成功地應(yīng)用于實(shí)際工程項(xiàng)目中,其可行性和實(shí)用性已在實(shí)際應(yīng)用環(huán)境中得到檢驗(yàn)。下一步,可將系統(tǒng)的CPU主頻進(jìn)一步提高,無(wú)線通信模塊也可換成符合3G標(biāo)準(zhǔn)的。這樣,就可以在本系統(tǒng)設(shè)計(jì)的基礎(chǔ)上,實(shí)現(xiàn)更為廣泛的手持設(shè)備應(yīng)用。
評(píng)論