采用嵌入式S3C2410芯片的電話短信模塊設(shè)計(jì)
引言
隨著嵌入式技術(shù)和通信技術(shù)的發(fā)展,在手機(jī)領(lǐng)域,智能手機(jī)已成為手機(jī)發(fā)展的主流趨勢(shì)。目前在智能手機(jī)領(lǐng)域,從處理器選型、操作系統(tǒng)選擇以及應(yīng)用程 序開發(fā)都是研究的熱點(diǎn)。在高校計(jì)算機(jī)相關(guān)專業(yè)的課程中也越來越多地涉及到智能手機(jī)的相關(guān)內(nèi)容,越來越多的學(xué)生也都投入到智能手機(jī)的學(xué)習(xí)和開發(fā)陣營(yíng)中來。因 此,為這些學(xué)生提供相關(guān)的實(shí)驗(yàn)設(shè)備顯得很必要。本文提出基于三星S3C2410芯片為核心構(gòu)建智能手機(jī)硬件實(shí)驗(yàn)平臺(tái),并結(jié)合無線通信模塊實(shí)現(xiàn)智能手機(jī)電話短消息功能。為學(xué)生進(jìn)行智能手機(jī)相關(guān)的實(shí)驗(yàn)提供了平臺(tái),通過本平臺(tái),學(xué)生可以自己動(dòng)手完成智能手機(jī)設(shè)計(jì)時(shí)的各種軟件開發(fā),改變了傳統(tǒng)的驗(yàn)證式的實(shí)驗(yàn)平臺(tái)模式,有利于學(xué)生創(chuàng)新能力的培養(yǎng)。
1 智能手機(jī)軟硬件實(shí)驗(yàn)平臺(tái)設(shè)計(jì)
手機(jī)的硬件實(shí)現(xiàn)方式主要有3種:
(1)只用基帶芯片,通常稱作功能手機(jī);
(2)基帶芯片加協(xié)處理器,這類產(chǎn)品是在功能手機(jī)的基礎(chǔ)上增強(qiáng)了多媒體處理功能;
(3)基帶處理器加應(yīng)用處理器。這是智能手機(jī)所采用的設(shè)計(jì),基帶處理器用于通信,應(yīng)用處理器用于多媒體和其他應(yīng)用。
在設(shè)計(jì)智能手機(jī)硬件平臺(tái)時(shí),需要注意以下幾個(gè)方面:
(1)應(yīng)用處理器應(yīng)具有足夠高的主頻用以保證系統(tǒng)的運(yùn)行速度,使各種應(yīng)用能夠運(yùn)行暢通;
(2)系統(tǒng)應(yīng)有足夠的內(nèi)存空間用以保存應(yīng)用程序和用戶數(shù)據(jù);
(3)具備良好的人機(jī)交互界面,用戶可以方便地進(jìn)行操作?;鶐幚砥餍阅芊€(wěn)定,保證用戶實(shí)時(shí)通信。
1.1 硬件平臺(tái)設(shè)計(jì)
硬件主要包括調(diào)試接口、存儲(chǔ)系統(tǒng)、GSM/GPRS通信模塊、人機(jī)交互模塊。核心控制器芯片采用三星公司的S3C2410處理器,頻率穩(wěn)定運(yùn)行 在203 MHz.作為實(shí)驗(yàn)平臺(tái),完成智能手機(jī)的基本功能,不要求大量數(shù)據(jù)處理,因而203 MHz的主頻能夠保證系統(tǒng)的運(yùn)行速度。系統(tǒng)采用64 MB SDRAM和64 MB NANDFLASH作為存儲(chǔ)系統(tǒng),從而保證系統(tǒng)和用戶的存儲(chǔ)空間。通信上,應(yīng)用處理器通過UART2連接基帶處理器即GSM/GPRS通信模塊,GSM /GPRS模塊采用SIMCOM公司的SIM300模塊,該模塊具備完善的GSM/GPRS三頻/四頻解決方案,支持GSM通話及短消息收發(fā)和 GPRS數(shù)據(jù)傳輸,可以方便地通過AT命令進(jìn)行控制。系統(tǒng)通過LCD顯示圖形操作界面,采用觸摸屏代替?zhèn)鹘y(tǒng)鍵盤操作,界面更友好,操作更方便。同時(shí)提供擴(kuò) 展接口用于學(xué)生擴(kuò)展智能手機(jī)的其他功能,如利用以太網(wǎng)接口實(shí)現(xiàn)網(wǎng)頁(yè)瀏覽等。整個(gè)系統(tǒng)的硬件框圖如圖1所示。
1.2 系統(tǒng)軟件平臺(tái)設(shè)計(jì)
系統(tǒng)軟件平臺(tái)的功能是為應(yīng)用程序開發(fā)提供平臺(tái)。系統(tǒng)軟件以嵌入式Linux操作系統(tǒng)和嵌入式GUI Qtopia為基礎(chǔ)來設(shè)計(jì)的,整個(gè)軟件平臺(tái)的架構(gòu)如圖2所示。
1.2.1 Bootloader
Bootloader是系統(tǒng)上電后運(yùn)行的第一段代碼,主要工作是完成硬件的初始化和為加載操作系統(tǒng)準(zhǔn)備好條件。它的實(shí)現(xiàn)是依賴于硬件的,不同體 系結(jié)構(gòu)開發(fā)板的Bootloader變化很大。為了更好地支持目標(biāo)板的硬件設(shè)備,該系統(tǒng)選擇在ADS1.2集成開發(fā)環(huán)境下開發(fā)自己的Bootloa- der. Bootloader的實(shí)現(xiàn)過程主要分為以下2個(gè)階段:
(1)主要進(jìn)行與CPU內(nèi)核以及存儲(chǔ)設(shè)備密切相關(guān)的初始化處理工作,這部分的代碼通常用ARM匯編指令編寫,包含在start.S文件中。通常包括一些步驟:
①硬件初始化工作。包括關(guān)閉看門狗;屏蔽所有中斷;設(shè)置處理器時(shí)鐘和工作頻率;初始化外部寄存器;初始化堆棧指針。
②為階段(2)準(zhǔn)備RAM空間,并把階段(2)的代碼拷貝倒RAM,跳轉(zhuǎn)倒階段(2)的入口點(diǎn)。
(2)完成一般的啟動(dòng)流程以及提供目標(biāo)板設(shè)備的驅(qū)動(dòng)支持,這部分會(huì)被拷貝倒RAM中執(zhí)行,這段代碼通常由C語(yǔ)言來實(shí)現(xiàn),具有較強(qiáng)的可讀性和移植性。
通常包括一下步驟:
①通過set_gpios()函數(shù)完成通用I/0設(shè)置;
②通過mere_map_init(),mmu_init()函數(shù)完成內(nèi)存映射和內(nèi)存管理單元初始化;
③初始化MTD設(shè)備,使用mtd_dev_init()函數(shù);
④拷貝NAND FLASH中的Kernel映像文件和根文件系統(tǒng)映像到RAM空間中;
⑤跳轉(zhuǎn)到內(nèi)核的第一條指令處。
至此,Bootloader的任務(wù)結(jié)束,接下來的任務(wù)由操作系統(tǒng)完成。
1.2.2 操作系統(tǒng)的剪裁、移植
操作系統(tǒng)負(fù)責(zé)對(duì)整個(gè)的外圍設(shè)備進(jìn)行管理和對(duì)各個(gè)軟件任務(wù)進(jìn)行調(diào)度。這對(duì)于智能手機(jī)而言是非常重要的。操作系統(tǒng)采用開源、免費(fèi)的Linux,基于 嵌入式Linux 2.6版本進(jìn)行移植,主要移植過程包括建立開發(fā)環(huán)境、下載內(nèi)核源碼、修改配置文件、配置內(nèi)核、編譯內(nèi)核、編譯模塊幾個(gè)步驟,因?yàn)橐浦驳倪^程大致相同,這里 只做簡(jiǎn)單介紹:
(1)宿主機(jī)上的交叉編譯工具采用arm-linux-gcc-3.4.1 ;
(2)修改commom-smdk.c文件,為NANDFLASH設(shè)置分區(qū);
(3)修改配置文件fs/Kconfig,使內(nèi)核支持啟動(dòng)時(shí)掛載devfs;
(4)配置內(nèi)核;
(5)編譯內(nèi)核與模塊,用Busy-box工具制作yaffs文件系統(tǒng)。
1.2.3 嵌入武GUI Qtopia的移植
嵌入式GUI用于開發(fā)短信、電話應(yīng)用程序圖形界面,本文采用Trolltech公司的Qtopia作為圖形界面庫(kù),采用版本是Qtopia-core-opensou rce-src-4.4.3.移植的主要工作有:
(1)修改qmouselinuxtp_qws.h文件,使Qtopia支持觸摸屏;
(2)配置、編譯、安裝;
(3)拷貝相關(guān)的庫(kù)文件到開發(fā)板,并設(shè)置環(huán)境變量。
2 應(yīng)用程序設(shè)計(jì)
電話和短信應(yīng)用程序是智能手機(jī)最基本也是最核心的應(yīng)用。電話短信應(yīng)用程序設(shè)計(jì)的主要工作包括:電話短信應(yīng)用程序的流程設(shè)計(jì)、通信模塊和應(yīng)用處理器的串口通信以及電話和短消息應(yīng)用程序界面開發(fā)。
2.1 電話/短信應(yīng)用程序流程
應(yīng)用程序采用定時(shí)器函數(shù)來控制整個(gè)程序的流程。定時(shí)器每200 ms觸發(fā)1次。
新電話、新短信的檢測(cè)流程如圖3所示,應(yīng)用程序初始化需要對(duì)GSM/GPRS通信模塊與應(yīng)用處理器之間的接口進(jìn)行初始化,此外還要定義1個(gè) 200 ms觸發(fā)的定時(shí)器。系統(tǒng)初始化完畢之后,定時(shí)器觸發(fā)開始讀串口數(shù)據(jù)進(jìn)行判斷。當(dāng)串口無數(shù)據(jù)時(shí),等待下一次定時(shí)器出發(fā);當(dāng)串口有數(shù)據(jù)時(shí),將串口的數(shù)據(jù)進(jìn)行判 斷;當(dāng)數(shù)據(jù)中有新短信提示符時(shí),按照PDU短信的解碼格式對(duì)該短信進(jìn)行解碼,并調(diào)用UI界面提示用戶新短信到達(dá),詢問用戶是否閱讀;當(dāng)數(shù)據(jù)中有新電話提示 符時(shí),調(diào)用UI界面,詢問用戶是否接聽。
當(dāng)需要發(fā)送短信或撥號(hào)時(shí),應(yīng)用程序流程如圖4所示。當(dāng)用戶調(diào)用發(fā)信界面編輯好短信,并輸入完收信方,點(diǎn)擊發(fā)送鈕時(shí),應(yīng)用程序首先判斷短信中心號(hào) 碼和接收信息號(hào)碼是否正確,若不正確,提示用戶錯(cuò)誤;若號(hào)碼和號(hào)碼格式均正確,便對(duì)要發(fā)送的短信內(nèi)容按照進(jìn)行PDU短信格式進(jìn)行編碼,并向串口寫AT命令 以便將該短信發(fā)送出去。撥號(hào)和掛斷電話的流程很簡(jiǎn)單,只需要向串口寫入ATD+所撥號(hào)碼以及ATH就可,當(dāng)撥號(hào)錯(cuò)誤時(shí),提示用戶撥號(hào)錯(cuò)誤。
............................................................
與非深度解讀系列:
半導(dǎo)體公司“大學(xué)計(jì)劃”的追問和真相
大環(huán)境的不景氣是就業(yè)環(huán)境惡化的元兇,但是也讓我們不禁追問半導(dǎo)體公司的大學(xué)計(jì)劃對(duì)于學(xué)子們的真正意義。廠商們的大學(xué)計(jì)劃都在做些什么?那么多的聯(lián)合實(shí)驗(yàn)室有得到充分利用嗎?大學(xué)計(jì)劃的直接體驗(yàn)者--老師和學(xué)生們是否真正從中受益…….【專欄作者:高揚(yáng)】
本土IC公司調(diào)查筆記
全球經(jīng)濟(jì)不景氣的大環(huán)境下一些本土IC公司的創(chuàng)新能力、管理能力、抗風(fēng)險(xiǎn)能力、盈利能力,甚至公司創(chuàng)立的動(dòng)機(jī)都受到一些質(zhì)疑。一方面官方的消息總是告訴我們中國(guó)的半導(dǎo)體產(chǎn)業(yè)得到了長(zhǎng)足的進(jìn)步;而街巷小道中又不絕流傳多少本土IC公司倒閉,多少公司靠欺騙,根本沒有核心競(jìng)爭(zhēng)力….真相只有一個(gè),也許會(huì)隨《本土IC公司調(diào)查筆記》慢慢開啟…【專欄作者:岳浩】
電子屌絲的技術(shù)人生系列
在這個(gè)系列里,每個(gè)故事都會(huì)向你展示一個(gè)普通工程師的經(jīng)歷,他們的青蔥歲月和技術(shù)年華,和我們每個(gè)人的的生活都有交集。對(duì)自己、對(duì)公司、對(duì)產(chǎn)業(yè)、對(duì)現(xiàn)在、對(duì)未來、對(duì)技術(shù)、對(duì)市場(chǎng)、對(duì)產(chǎn)品、對(duì)管理的看法,以及他們的經(jīng)歷或正在經(jīng)歷的事情,我們可以看到自己的影子,也看清未來的樣子……【專欄作者:任亞運(yùn)】
細(xì)說電子分銷江湖的那些事
對(duì)于從事電子分銷行業(yè)的同仁們來說這是一個(gè)最壞的年代,也是一個(gè)最好的年代,我們即面臨國(guó)際分銷巨頭在管理、資金、貨源等方面對(duì)我們?cè)斐傻臎_擊,又迎來本土集成電路的崛起,個(gè)性化服務(wù)盛行的機(jī)遇,通過這個(gè)系列,我想以“第一現(xiàn)場(chǎng)”的經(jīng)歷帶大家一起了解國(guó)內(nèi)集成電路分銷的那些年、那些事,以及哪些感慨…..【專欄作者:張立恒】