<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > 智能手機電話(huà)短信實(shí)驗模塊設計

智能手機電話(huà)短信實(shí)驗模塊設計

作者: 時(shí)間:2010-10-09 來(lái)源:網(wǎng)絡(luò ) 收藏

0 引言

本文引用地址:http://dyxdggzs.com/article/260735.htm

隨著(zhù)嵌入式技術(shù)和通信技術(shù)的發(fā)展,在手機領(lǐng)域,已成為手機發(fā)展的主流趨勢。目前在領(lǐng)域,從處理器選型、操作系統選擇以及應用程序開(kāi)發(fā)都是研究的熱點(diǎn)。在高校計算機相關(guān)專(zhuān)業(yè)的課程中也越來(lái)越多地涉及到的相關(guān)內容,越來(lái)越多的學(xué)生也都投入到智能手機的學(xué)習和開(kāi)發(fā)陣營(yíng)中來(lái)。因此,為這些學(xué)生提供相關(guān)的實(shí)驗設備顯得很必要。本文提出基于三星S3C2410芯片為核心構建智能手機硬件實(shí)驗平臺,并結合無(wú)線(xiàn)通信模塊實(shí)現智能手機電話(huà)短消息功能。為學(xué)生進(jìn)行智能手機相關(guān)的實(shí)驗提供了平臺,通過(guò)本平臺,學(xué)生可以自己動(dòng)手完成智能手機設計時(shí)的各種軟件開(kāi)發(fā),改變了傳統的驗證式的實(shí)驗平臺模式,有利于學(xué)生創(chuàng )新能力的培養。

1 智能手機軟硬件實(shí)驗平臺設計

手機的硬件實(shí)現方式主要有3種:
(1)只用基帶芯片,通常稱(chēng)作功能手機;
(2)基帶芯片加協(xié)處理器,這類(lèi)產(chǎn)品是在功能手機的基礎上增強了多媒體處理功能;
(3)基帶處理器加應用處理器。這是智能手機所采用的設計,基帶處理器用于通信,應用處理器用于多媒體和其他應用。

在設計智能手機硬件平臺時(shí),需要注意以下幾個(gè)方面:
(1)應用處理器應具有足夠高的主頻用以保證系統的運行速度,使各種應用能夠運行暢通;
(2)系統應有足夠的內存空間用以保存應用程序和用戶(hù)數據;
(3)具備良好的人機交互界面,用戶(hù)可以方便地進(jìn)行操作?;鶐幚砥餍阅芊€定,保證用戶(hù)實(shí)時(shí)通信。

1.1 硬件平臺設計

硬件主要包括調試接口、存儲系統、GSM/GPRS通信模塊、人機交互模塊。核心控制器芯片采用三星公司的S3C2410處理器,頻率穩定運行在203 MHz。作為實(shí)驗平臺,完成智能手機的基本功能,不要求大量數據處理,因而203 MHz的主頻能夠保證系統的運行速度。系統采用64 MB SDRAM和64 MB NANDFLASH作為存儲系統,從而保證系統和用戶(hù)的存儲空間。通信上,應用處理器通過(guò)UART2連接基帶處理器即GSM/GPRS通信模塊,GSM/GPRS模塊采用SIMCOM公司的SIM300模塊,該模塊具備完善的GSM/GPRS三頻/四頻解決方案,支持GSM通話(huà)及短消息收發(fā)和 GPRS數據傳輸,可以方便地通過(guò)AT命令進(jìn)行控制。系統通過(guò)LCD顯示圖形操作界面,采用觸摸屏代替傳統鍵盤(pán)操作,界面更友好,操作更方便。同時(shí)提供擴展接口用于學(xué)生擴展智能手機的其他功能,如利用以太網(wǎng)接口實(shí)現網(wǎng)頁(yè)瀏覽等。整個(gè)系統的硬件框圖如圖1所示。

1.2 系統軟件平臺設計

系統軟件平臺的功能是為應用程序開(kāi)發(fā)提供平臺。系統軟件以操作系統和嵌入式GUI Qtopia為基礎來(lái)設計的,整個(gè)軟件平臺的架構如圖2所示。

1.2.1 Bootloader

Bootloader是系統上電后運行的第一段代碼,主要工作是完成硬件的初始化和為加載操作系統準備好條件。它的實(shí)現是依賴(lài)于硬件的,不同體系結構開(kāi)發(fā)板的Bootloader變化很大。為了更好地支持目標板的硬件設備,該系統選擇在A(yíng)DS1.2集成開(kāi)發(fā)環(huán)境下開(kāi)發(fā)自己的Bootloa-der。 Bootloader的實(shí)現過(guò)程主要分為以下2個(gè)階段:

(1)主要進(jìn)行與CPU內核以及存儲設備密切相關(guān)的初始化處理工作,這部分的代碼通常用ARM匯編指令編寫(xiě),包含在start.S文件中。通常包括一些步驟:
①硬件初始化工作。包括關(guān)閉看門(mén)狗;屏蔽所有中斷;設置處理器時(shí)鐘和工作頻率;初始化外部寄存器;初始化堆棧指針。
②為階段(2)準備RAM空間,并把階段(2)的代碼拷貝倒RAM,跳轉倒階段(2)的入口點(diǎn)。

(2)完成一般的啟動(dòng)流程以及提供目標板設備的驅動(dòng)支持,這部分會(huì )被拷貝倒RAM中執行,這段代碼通常由C語(yǔ)言來(lái)實(shí)現,具有較強的可讀性和移植性。
通常包括一下步驟:
①通過(guò)set_gpios()函數完成通用I/0設置;
②通過(guò)mere_map_init(),mmu_init()函數完成內存映射和內存管理單元初始化;
③初始化MTD設備,使用mtd_dev_init()函數;
④拷貝NAND FLASH中的Kernel映像文件和根文件系統映像到RAM空間中;
⑤跳轉到內核的第一條指令處。

至此,Bootloader的任務(wù)結束,接下來(lái)的任務(wù)由操作系統完成。

1.2.2 操作系統的剪裁、移植

操作系統負責對整個(gè)的外圍設備進(jìn)行管理和對各個(gè)軟件任務(wù)進(jìn)行調度。這對于智能手機而言是非常重要的。操作系統采用開(kāi)源、免費的Linux,基于 2.6版本進(jìn)行移植,主要移植過(guò)程包括建立開(kāi)發(fā)環(huán)境、下載內核源碼、修改配置文件、配置內核、編譯內核、編譯模塊幾個(gè)步驟,因為移植的過(guò)程大致相同,這里只做簡(jiǎn)單介紹:

(1)宿主機上的交叉編譯工具采用arm-linux-gcc-3.4.1 ;
(2)修改commom-smdk.c文件,為NANDFLASH設置分區;
(3)修改配置文件fs/Kconfig,使內核支持啟動(dòng)時(shí)掛載devfs;
(4)配置內核;
(5)編譯內核與模塊,用Busy-box工具制作yaffs文件系統。

1.2.3 嵌入武GUI Qtopia的移植

嵌入式GUI用于開(kāi)發(fā)短信、電話(huà)應用程序圖形界面,本文采用Trolltech公司的Qtopia作為圖形界面庫,采用版本是Qtopia-core-opensou rce-src-4.4.3。移植的主要工作有:
(1)修改qmouselinuxtp_qws.h文件,使Qtopia支持觸摸屏;
(2)配置、編譯、安裝;
(3)拷貝相關(guān)的庫文件到開(kāi)發(fā)板,并設置環(huán)境變量。

2 應用程序設計

電話(huà)和短信應用程序是智能手機最基本也是最核心的應用。應用程序設計的主要工作包括:應用程序的流程設計、通信模塊和應用處理器的串口通信以及電話(huà)和短消息應用程序界面開(kāi)發(fā)。

2.1 電話(huà)/短信應用程序流程

應用程序采用定時(shí)器函數來(lái)控制整個(gè)程序的流程。定時(shí)器每200 ms觸發(fā)1次。

新電話(huà)、新短信的檢測流程如圖3所示,應用程序初始化需要對GSM/GPRS通信模塊與應用處理器之間的接口進(jìn)行初始化,此外還要定義1個(gè)200 ms觸發(fā)的定時(shí)器。系統初始化完畢之后,定時(shí)器觸發(fā)開(kāi)始讀串口數據進(jìn)行判斷。當串口無(wú)數據時(shí),等待下一次定時(shí)器出發(fā);當串口有數據時(shí),將串口的數據進(jìn)行判斷;當數據中有新短信提示符時(shí),按照PDU短信的解碼格式對該短信進(jìn)行解碼,并調用UI界面提示用戶(hù)新短信到達,詢(xún)問(wèn)用戶(hù)是否閱讀;當數據中有新電話(huà)提示符時(shí),調用UI界面,詢(xún)問(wèn)用戶(hù)是否接聽(tīng)。

當需要發(fā)送短信或撥號時(shí),應用程序流程如圖4所示。當用戶(hù)調用發(fā)信界面編輯好短信,并輸入完收信方,點(diǎn)擊發(fā)送鈕時(shí),應用程序首先判斷短信中心號碼和接收信息號碼是否正確,若不正確,提示用戶(hù)錯誤;若號碼和號碼格式均正確,便對要發(fā)送的短信內容按照進(jìn)行PDU短信格式進(jìn)行編碼,并向串口寫(xiě)AT命令以便將該短信發(fā)送出去。撥號和掛斷電話(huà)的流程很簡(jiǎn)單,只需要向串口寫(xiě)入ATD+所撥號碼以及ATH就可,當撥號錯誤時(shí),提示用戶(hù)撥號錯誤。

2.2 通信模塊串口通信的實(shí)現

串口是連接智能手機應用處理器和GSM/GPRS通信模塊的接口,串口通信流程是打開(kāi)串口、串口的初始化設置、讀/寫(xiě)串口、關(guān)閉串口,如圖5所示。

在應用程序初始化時(shí)初始化時(shí)需要對串口進(jìn)行初始化,對串口的初始化主要是設置串口的一些參數,包括以下幾個(gè)部分:保存以前的串口設置、建立新的配置、設置波特率、設置數據位、設置奇偶位、激活當前配置、處理要寫(xiě)入的引用對象、設置最少字符和等待時(shí)間、設置停止位。只有串口初始化完畢之后,應用程序才能對串口進(jìn)行相應操作。

2.3 用程序用戶(hù)界面的設計

用戶(hù)界面是人機交互的接口。本文采用Linux下常用的界面設計工具Qt來(lái)設計應用程序所需的各種UI界面。本文設計的撥打電話(huà)、發(fā)送短信的界面如圖6所示。

當點(diǎn)擊界面上的按鈕如撥號、發(fā)送時(shí),利用其信號和槽機制,將其和底層相應的函數如撥號函數、發(fā)信函數相關(guān)聯(lián)就可以實(shí)現撥號和發(fā)送信息的功能。用戶(hù)就可以利用該界面進(jìn)行撥打電話(huà)和發(fā)送短信了。

3 結語(yǔ)

本文設計了一種基于的智能手機實(shí)驗模塊。構建了智能手機軟、硬件平臺,并完成了電話(huà)短信的應用程序設計。為學(xué)生進(jìn)行智能手機開(kāi)發(fā)的相關(guān)實(shí)驗提供了平臺。目前,本平臺已應用于北京化工大學(xué)通信實(shí)驗室創(chuàng )新型實(shí)驗平臺中,并為學(xué)生進(jìn)行智能手機實(shí)驗進(jìn)行服務(wù)。在后續的設計中,考慮將嵌入式數據庫移植到應用程序中以實(shí)現電話(huà)短信中的名片夾以及收件箱等功能,并開(kāi)發(fā)基于該硬件平臺下的其他應用程序如MP3播放等模塊以提供給學(xué)生進(jìn)行試實(shí)驗和學(xué)習。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>