




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于 Linux 下智能手機的制作與設(shè)計學(xué)生姓名:指導(dǎo)教師:所在院系:工程學(xué)院電氣工程系ID: A07060348所學(xué)專業(yè):農(nóng)業(yè)電氣化與自動化 研究方向:地方電力系統(tǒng)自動化方向Northeast Agriculture University bachelor dissertationLinux based smartphone and under thedesignStudent:Supervison:Department:Engineering collegeSpecialty:Production prosess control automation DirrectionDirrectio
2、n:Local electric power system automationHarbin ChinaJune 2010基于Linux下智能手機的制作與設(shè)計 基于Linux下智能手機的制作與設(shè)計 摘要隨著現(xiàn)代計算機技術(shù)的飛速發(fā)展和互聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用,從PC時代過渡到了以個人數(shù)字處理、手持個人電腦和信息家電為代表的3C (計算機、通信、消費電子)一體的后PC時代。后PC時代里,32位系統(tǒng)扮演了越來越重要的角色,32為在市場上將逐漸代替8位和16位市場,它將被廣泛應(yīng)用于信息電器、移動設(shè)備、網(wǎng)絡(luò)設(shè)備和和消費電子等領(lǐng)域當(dāng)中,移動設(shè)備逐漸深入到我們的生活當(dāng)中。本設(shè)計是以三星公司32位處理器S3C24
3、40控制的基于Linux下的智能手機。擁有液晶觸摸屏顯示,可實現(xiàn)顯示網(wǎng)絡(luò)運營商、接收短信、接打電話、存儲短信,信號強度等 功能,通過觸摸屏完成對信息輸入輸出的控制。短信漢字輸入采用T9輸入法,T9輸入法是高效快速的、聰明的輸入法。論文部分主要包括各個模塊硬件電路的詳細(xì)設(shè)計以及 各個模塊軟件的具體實現(xiàn)。關(guān)鍵詞:智能手機;Linux ; GPRS ; s3c2440平臺AbstractAlo ng with the rapid developme nt of moder n computer tech no logy and Internet tech no logy of wide applic
4、ati on, from the PC era in tran siti on to the pers onal digital process ing, han d-held PCS and information home appliances as a representative of the 3C (computer, com muni cati on, and con sumer electro nics) after a PC era. After the PC era, 32-bit system plays a more and more importa nt role in
5、 the market, and will gradually replaced for eight and16 market, it will be widely used in mobile devices, electrical appliances, information and n etwork equipme nt and con sumer electr oni cs, etc, mobile equipme nt gradually to our life.This desig n is sams ung 32 bit microprocessor based on s3c2
6、440 con trol un der the Linux smartph one. With LCD display scree n, can realize n etwork operators, receive SMS messages, answering phone calls, storage, signal strength, complete function of information through touch scree n con trol of the in put and output. Chin ese character in put text in put,
7、 using T9 T9 in put method is quick and efficie nt, in tellige nt in put method. Each module mainly in cludes paper part of the hardware circuit and software modules detailed design of concrete realizati on.Key words: smart pho nes; L in u x; GPRS;s3c2440 platform目錄 TOC o 1-5 h z HYPERLINK l bookmar
8、k2 o Current Document 摘要IAbstract II HYPERLINK l bookmark8 o Current Document 前言1 HYPERLINK l bookmark10 o Current Document 研究的目的和意義 1 HYPERLINK l bookmark12 o Current Document 國內(nèi)外研究動態(tài) 1 HYPERLINK l bookmark14 o Current Document 研究的主要內(nèi)容 2 HYPERLINK l bookmark16 o Current Document 設(shè)計研究的預(yù)期效果 2 HYPERLI
9、NK l bookmark18 o Current Document 平臺的選擇3 HYPERLINK l bookmark20 o Current Document 軟件平臺 3 HYPERLINK l bookmark22 o Current Document 硬件平臺 4 HYPERLINK l bookmark24 o Current Document 系統(tǒng)設(shè)計7 HYPERLINK l bookmark26 o Current Document 總體設(shè)計 7 HYPERLINK l bookmark28 o Current Document 系統(tǒng)方案設(shè)計 7 HYPERLINK l
10、bookmark30 o Current Document 功能模塊設(shè)計 7軟件設(shè)計10 HYPERLINK l bookmark34 o Current Document 主體程序結(jié)構(gòu)設(shè)計 10 HYPERLINK l bookmark36 o Current Document 各模塊程序結(jié)構(gòu)設(shè)計 11 HYPERLINK l bookmark38 o Current Document 系統(tǒng)引導(dǎo)程序 vivi 11Linux 內(nèi)核移植13 HYPERLINK l bookmark44 o Current Document root根文件系統(tǒng) 13 HYPERLINK l bookmark46
11、 o Current Document 主界面菜單程序設(shè)計 16 HYPERLINK l bookmark48 o Current Document 電話和短信模塊 17輸入法簡介21常用輸入法 21T9輸入法22結(jié)論24本設(shè)計的結(jié)論 24本設(shè)計的創(chuàng)新點 24參考文獻25致謝26附錄一錯誤!未定義書簽。附錄二錯誤!未定義書簽。/、八1 前言研究的目的和意義隨著多種技術(shù)的不斷融合,移動娛樂市場的日益擴大,以掌上電腦著稱的智能手機 的誕生了。最早的掌上電腦是不具備手機的通話功能,但是隨著用戶對于掌上電腦的個 人信息處理方面功能的依賴的提升,但由不習(xí)慣于隨時都攜帶手機和 PC 兩個設(shè)備,所 以廠商將
12、掌上電腦的系統(tǒng)移植到了手機中,于是才出現(xiàn)了智能手機這個概念。既然智能 手機的誕生和掌上電腦有關(guān),那它的操作系統(tǒng)也肯定會與掌上電腦有關(guān)。目前的智能手 機系統(tǒng)主要包括 Symbian , WindowsMobile 的 Smart Phone 和 Pocket PC Phone, Palm , Linux 五種。其中 Linux 具有源代碼開放、軟件授權(quán)費用低、應(yīng)用開發(fā)人才資源豐富等 優(yōu)點,便于開發(fā)個人和行業(yè)應(yīng)用,在市場上占據(jù)比較重要的地位。國內(nèi)外研究動態(tài)隨著通信科技的日新月異,人們對3G、智能手機、上網(wǎng)本等詞匯不再陌生。但若真正清楚每項技術(shù)發(fā)展到何種地步,不花費一番功夫怕是不行。提及智能手機,很
13、多人會 第一時間想到 iphone 不可否認(rèn), 蘋果公司在該款手機上體現(xiàn)的杰出設(shè)計理念征服了眾多 手機用戶的心。不過,在廠商眼中,智能手機的世界并非一片平和氣象,此乃“兵家必 爭之地”,拉鋸戰(zhàn)早已開打。目前在全球范圍內(nèi)使用最廣是所謂的第二代手機,以GSM制式和 CDMA 為主。它們都是數(shù)字制式的,除了可以進行語音通信以外,還可以收發(fā)短 信、彩信、多媒體短信、無線應(yīng)用協(xié)議等。在中國大陸及臺灣以GSM 最為普及, CDMA和小靈通手機也很流行。目前整個行業(yè)正在向第三代手機遷移過程中。第一代手機是指模擬的移動電話, 也就是在 20 世紀(jì)八九十年代香港美國等影視作品 中出現(xiàn)的大哥大。最先研制出大哥大的
14、是美國摩托羅拉公司的Cooper 博士。由于當(dāng)時的電池容量限制和模擬調(diào)制技術(shù)需要碩大的天線和集成電路的發(fā)展?fàn)顩r等等制約,這種 手機外表四四方方,只能成為可移動算不上便攜。很多人稱呼這種手機為“磚頭 ”或是黑金剛等。這種手機有多種制式,如 NMT , AMPS , TACS ,但是基本上使用頻分復(fù)用方式只 能進行語音通信,收訊效果不穩(wěn)定,且保密性不足,無線帶寬利用不充分。此種手機類 似于簡單的無線電雙工電臺,通話是鎖定在一定頻率,所以使用可調(diào)頻電臺就可以竊聽 通話。第二代手機也是最常見的手機。通常這些手機使用PHS, GSM 或者 CDMA 這些十分成熟的標(biāo)準(zhǔn),具有穩(wěn)定的通話質(zhì)量和合適的待機時間
15、。在第二代中為了適應(yīng)數(shù)據(jù)通訊 的需求,一些中間標(biāo)準(zhǔn)也在手機上得到支持,例如支持彩信業(yè)務(wù)的GPRS 和上網(wǎng)業(yè)務(wù)的WAP 服務(wù),以及各式各樣的Java 程序等。3G 是英文 3rdGeneration 的縮寫,指第三代移動通信技術(shù)。相對第一代模擬制式手機和第二代 GSM 、CDMA 等數(shù)字手機,第三代手機一般地講,是指將無線通信與國際互聯(lián)網(wǎng)等多媒體通信結(jié)合的新一代移動通信系統(tǒng)。它能夠處理圖像、音樂、視頻流等多種媒體形式,提供包括網(wǎng)頁瀏覽、電話會議、電子商務(wù)等多種信息服務(wù)。為了提供這種服務(wù),無線網(wǎng)絡(luò)必須能夠支持不同的數(shù)據(jù)傳輸速度,也就是說在室內(nèi)、室外和行車的環(huán)境中能夠分別支持至少 2Mbps (兆比
16、特/每秒)、384kbps (千比特/每秒)以及 144kbps 的傳輸速度。研究的主要內(nèi)容本設(shè)計基于 s3c2440 微處理器和嵌入式操作系統(tǒng) Linux 建立的平臺, 設(shè)計內(nèi)容如下: ( 1 )嵌入式引導(dǎo)程序 vivi 、嵌入式 Linux 內(nèi)核的下載;( 2)嵌入式 root 根文件系統(tǒng)的制作與下載;( 3)對觸摸屏硬件結(jié)構(gòu)進行分析,實現(xiàn)觸摸屏信號采集處理,編寫觸摸屏驅(qū)動;( 4) s3c2440 處理器與 GPRS 模塊通信;( 5)在 Linux 內(nèi)核下,多線程程序的編寫以及線程之間的通信。設(shè)計研究的預(yù)期效果( 1 )采用 GPRS 模塊 SIM300 ,實現(xiàn)顯示網(wǎng)絡(luò)運營商、短信的收
17、發(fā)、電話的接打、 存儲短信、信號強度等功能;( 2)觸摸屏輸入功能,可輸入數(shù)字,字母,漢字等信息;( 3)短信息支持中英文接收和發(fā)送;( 4)具有菜單控制功能,使用觸摸屏控制菜單的選擇。實現(xiàn)多級菜單控制,觸摸 屏單擊菜單圖標(biāo)直接完成各種要求的功能;( 5)支持中國移動和中國聯(lián)通兩個運營商。2平臺的選擇軟件平臺( 1)方案一: WinCE 解決方案Windows CE 并不是代表一個標(biāo)準(zhǔn)的相同的對所有平臺適用的軟件。為了足夠靈活 以達(dá)到適應(yīng)廣泛產(chǎn)品需求 , Windows CE 采用標(biāo)準(zhǔn)模式,這就意味著,它能夠由一系列 軟件模式做出選擇,從而使產(chǎn)品定制。另外,一些可利用模式也可作為其組成部分,這
18、 意味著這些模式能夠通過從一套可利用的組份做出選擇, 從而成為標(biāo)準(zhǔn)模式, 通過選擇, 能夠達(dá)到系統(tǒng)要求的最小模式, OEM 能夠減少存儲腳本和操作系統(tǒng)的運行。在 Windo ws CE 2 版( Beta 版)測試響應(yīng), Intertime 應(yīng)用軟件在 odoSH3 參考平臺上運行 1000 次中斷測試,內(nèi)部運行 58.98Mhz ,外部為 14.745Mhz 外部頻率,這個測試在一個標(biāo)準(zhǔn)的 H/PC 配置,它包括 Windows CE 所有模式和組合。僅有主操作系統(tǒng)進程進行( NK.exe, Filesys.exe, Gwes.exe, Device. EXE, Shell.EXE 和 Ex
19、plover.EXE ),在測試中無用戶初 始中斷(觸摸屏、鍵盤或其它應(yīng)用),應(yīng)用軟件可報告下面的 ISR 和 IST 開始、最小和 最大時間: 響應(yīng) 最大、最小值 ,ISR 開始 1.3-7.5 微秒; IST 開始 93-275 微秒。但是 W indows CE 不想 Linux 那樣代碼開源和使用免費,這使得它的使用沒有 Linux 普及。( 2)方案二: Linux 解決方案Linux 以它的高效性和靈活性著稱。它能夠在 PC 計算機上實現(xiàn)全部的 Unix 特性, 具有多任務(wù)、多用戶的能力。 Linux 是在 GNU 公共許可權(quán)限下免費獲得的,是一個符合 POSIX 標(biāo)準(zhǔn)的操作系統(tǒng)。
20、 Linux 操作系統(tǒng)軟件包不僅包括完整的 Linux 操作系統(tǒng),而且 還包括了文本編輯器、高級語言編譯器等應(yīng)用軟件。它還包括帶有多個窗口管理器的 X-Window 圖形用戶界面,如同我們使用 WinCE 一樣,允許我們使用窗口、圖標(biāo)和菜單 對系統(tǒng)進行操作。 Linux 與其它操作系統(tǒng)相比是個后來者,但 Linux 具有二個其它操作 系統(tǒng)無法比擬的優(yōu)勢。其一, Linux 具有開放的源代碼,能夠大大降低成本。其二,既 滿足了手機制造商根據(jù)實際情況有針對性地開發(fā)自己的 Linux 手機操作系統(tǒng)的要求,又 吸引了眾多軟件開發(fā)商對內(nèi)容應(yīng)用軟件的開發(fā),豐富了第三方應(yīng)用。(3)方案對比與選取Linux
21、是開放源代碼, 遍布全球的眾多 Linux 愛好者都是 Linux 開發(fā)者的強大技術(shù)支 持者;Windows CE目前6.0內(nèi)核全部開放,GUI不開放。Linux的內(nèi)核小、效率高;Windows CE相比,占用過多的RAM。 Linux是開放源代碼的 OS,在價格上極具競爭力,適合中國國情。 Windows CE 需要版權(quán)費用。 Linux 不僅支持 x86 芯片, 還是一個跨平臺的系統(tǒng)。 更換 CPU 時就不會遇到更換平臺的困擾。 Linux 內(nèi)核的結(jié)構(gòu)在網(wǎng)絡(luò)方面是非常完整的, 它提供了對包括十兆位、百兆位及千兆位的以太網(wǎng)絡(luò),還有無線網(wǎng)絡(luò)、Token ring (令牌環(huán))和光纖甚至衛(wèi)星的支持
22、,目前 WINCE 的網(wǎng)絡(luò)功能也比較強大。由于硬件平臺以確 定為S3C2440,而且綜合價格、開源,硬件平臺支持等方面的因素,我們選擇Linux為智能手機設(shè)計的軟件平臺。在處理速度上S3C2440更能體現(xiàn)出自己的優(yōu)勢,最高以533MHz 的速度超過了硬件平臺( 1)方案一: SPCE3200 解決方案S+core7 內(nèi)核是由臺灣凌陽科技公司自行設(shè)計、并且是臺灣第一個擁有獨立知識產(chǎn) 權(quán)的 32 位 RISC CPU 內(nèi)核。該處理器在一個芯片上集成了像手機、數(shù)碼相機、電子游 戲機、 MP3 播放器、 PMP 等多媒體系統(tǒng)所需的功能。 S+core7 是一個單任務(wù)、具有 7 級 流水線的高性能、高
23、速 32 位 RISC 處理器 ,采用了 Sunplus ISA ( Instruction Set Architecture )指令集。SPCE3200 內(nèi)置 MPEG4 硬件編解碼模塊,并可外擴其它用于多媒體、機器人領(lǐng)域的 功能模塊。芯片提供 32768Hz 實時時鐘、低電壓檢測、低電壓復(fù)位、 12 位模數(shù)轉(zhuǎn)換器 (ADC) 、 UART 接口、 SPI 接口、 SIO 接口、 I2C 主設(shè)備接口以及其它 I/O 設(shè)備接口,專 長于圖像、視頻處理,可以輸出圖像、聲音到電視機及 LCD 上顯示,并可與外部存儲器 通信, 但是在裸機下或加載一個實時的操作系統(tǒng)uCos 來實現(xiàn) MPEG 的編解碼
24、和 MP3 的解碼,加之硬件驅(qū)動都是一個很大的工程。價格也比較貴,在市場上特別是手機行業(yè)很 少使用。( 2)方案二: ARM 處理器 +SIM300 目前,全世界有幾十家著名的半導(dǎo)體公司都使用 ARM 公司的授權(quán),其中包括摩托 羅拉 IBMIntel 、SONY 、 NEC 、 LG 、ATMEL 等,從而保證了大量的開發(fā)工具和豐富的 第三方資源, 它們共同保證了基于 ARM 處理器核的設(shè)計可以很快投入市場可以說, ARM 不僅僅代表一個公司,代表了一類微處理器,代表了一種技術(shù),還代表了一種新型的產(chǎn) 業(yè)發(fā)展模式。ARM9 系 列 : 包 括 ARM9TDMI 、 ARM920T 和 帶 有 高
25、 速 緩 存 處 理 器 宏 單 元 的 ARM940T 。該系列主要應(yīng)用于引擎管理、儀器儀表、安全系統(tǒng)、機頂盒、高端打印機、 PDA 、網(wǎng)絡(luò)電腦以及帶有 MP3 音頻和 MPEG4 視頻多媒體格式的智能電話中。圖2.1S3C2440方案結(jié)構(gòu)框圖圖2.1為S3C2440方案結(jié)構(gòu)框圖,S3C2440是三星公司設(shè)計的32位RISC(精簡指令集計算機)嵌入式處理器。該芯片基于ARM920T內(nèi)核,具有5級流水線,集成了如LCD控制器、SDRAM控制器、1個觸摸屏接口、 2個SPI接口等,內(nèi)核最高工作頻率可達(dá)266MHz。S3C2440的處理速度和性能價格比都是很高的,針對要求我們第一個想到的方案就是用
26、s3c2440處理器去做拍照,音、視頻的播放,假如加載Linux或 WindowsCE4.2這樣強大的操作系統(tǒng)顯然是能解決很多問題的。例如三星公司提供在微軟Platform Builder下的板級支持 BSP。實際測試我們用vivi弓I導(dǎo)了 Linux和 WindowsCE4.2分別測試,在兩個平臺下面跑 Mp3速度十分理想,尤其在Linux下播放視頻文件更是質(zhì)量客觀。鍵盤輸入和顯示輸出功能,對于S3C2440來說可以說是輕而易舉的事情,觸摸屏接口便解決了為題,這樣不僅沒有增加了硬件的體積,增加了可靠性、穩(wěn)定性以及集成度,同時也降低了系統(tǒng)功耗。(3 )方案對比與選取我們測試了 S3C2440嵌
27、入式系統(tǒng)的圖像和視頻播放能力。在主頻400MHz下播放一個視頻,其播放幀率完全達(dá)到24幀以上,完全符合電影播放要求。Mp3文件播放使用凌陽公司的解碼庫文件進行測試,通過S3C2440處理器內(nèi)部的音頻輸出效果非常理想。我們現(xiàn)有的 S3C2410嵌入式開發(fā)系統(tǒng)采用的是IIS的音頻控制器 UDA1341,而凌陽采用內(nèi)置DAC作為輸出,兩者都是16位精度。解壓Mp3文件對比兩者并沒有區(qū)別。兩個處 理器都能很好的支持電阻式觸摸屏幕,對操控上有很大提升。SPCE3200 。操作系統(tǒng)的選擇上 s3c2440 更能輕易的選擇出適合任何一款產(chǎn)品的操作系統(tǒng), 而且技術(shù)非常成熟。在更少的外圍電路,更少的程序代碼上,
28、 s3c2440 嵌入式開發(fā)系統(tǒng)更容易實現(xiàn)基本 要求。整個系統(tǒng)應(yīng)用起來非常方便。由于實現(xiàn)的大部分功能都是由硬件完成,所以實現(xiàn) 功能時軟件需要較少的工序, 這樣不僅降低了軟件的編寫工作, 提高了實際應(yīng)用的品質(zhì), 而且價格上比 SPCE3200 更占優(yōu)勢,所以我們最終選擇了 s3c2440 的系統(tǒng)方案。3系統(tǒng)設(shè)計總體設(shè)計系統(tǒng)方案設(shè)計選用S3C2440,因其具有豐富的硬件資源及多媒體特性,內(nèi)嵌16位DAC ;具有I2C,USB等標(biāo)準(zhǔn)硬件控制器接口;具有 SD卡控制器、TFT型LCD控制器。使本系統(tǒng)大 部分的功能由硬件完成,并且S3C2440各個基礎(chǔ)功能模塊的底層代碼基本開發(fā)完成,使軟件開發(fā)的工作量很
29、大的降低,系統(tǒng)方案設(shè)計框圖如圖3.1。統(tǒng)圖3.1系統(tǒng)結(jié)構(gòu)框圖功能模塊設(shè)計(1)ROOT根文件系統(tǒng)模塊在計算機系統(tǒng)中,要用到大量的程序和數(shù)據(jù),它們以文件的形式存放在外存中,需要時 可隨時將它們調(diào)入內(nèi)存。如果由用戶直接管理外存上的文件,不僅要求用戶熟悉外存特性, 了解各種文件的屬性,以及它們在外存上的位置,而且在多用戶環(huán)境下,還必須能保證數(shù)據(jù) 的安全性和一致性。類似于windows下的C、D、E等各個盤,linux系統(tǒng)也可以將磁盤、FLASH 等存儲設(shè)備等劃分為若干個分區(qū),在不同的分區(qū)存放不同類別的文件。首先:linux 一樣要在一個分區(qū)上存放系統(tǒng)啟動所必需的文件,比如內(nèi)核鏡像文件、內(nèi)核啟動后運行
30、的第一個程序(init )、給用戶提供操作界面的 shell程序,應(yīng)用程序所依賴的庫等。這些必需、基本的文件合稱為根文件系統(tǒng),Linux系統(tǒng)啟動后首先掛載這個分區(qū)。Linux引導(dǎo)啟動時,默認(rèn)使用的文件系統(tǒng)是根文件系統(tǒng),其中一般都包括這樣一些子目錄:/etc/,/dev/,/usr/,/bin/, /var/等。一個最基本的根文件系統(tǒng)由以下幾個目錄構(gòu)成,我們制作根文件系統(tǒng)的過程,其實也就是構(gòu)造以下目 錄的過程:/bi n /sbi n /dev /etc /lib /usr /var /proc /tmp /home /root /mnt。(2)Linux 內(nèi)核Linux是一類 Unix計算機操
31、作系統(tǒng)的統(tǒng)稱。Linux操作系統(tǒng)的內(nèi)核的名字也是“ Linux。” Linux操作系統(tǒng)也是自由軟件和開放源代碼發(fā)展中最著名的例子。嚴(yán)格來講, Linux這個詞本身只表示Linux內(nèi)核,但在實際上人們已經(jīng)習(xí)慣了用Linux來形容整個基于Linux內(nèi)核,并且使用GNU工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)。Linux得名于計算機業(yè)余愛好者 Linus Torvalds 。(3)TFT LCD 觸摸屏模塊Liquid Crystal Display的縮寫,一種顯示器件液晶是一種規(guī)則性排列的有機化合物,它是一種介于固體和液體之間的物質(zhì)。液晶本身并不能構(gòu)發(fā)光,它主要是通過因為電壓 的更改產(chǎn)生電場而使液晶分子排列
32、產(chǎn)生變化來顯示圖像目前主流的液晶顯示器件,色彩、響應(yīng)速率大大提升,多用于mp4、PDA等手持設(shè)備、電腦顯示器等。液晶面板主要由兩塊無鈉玻璃夾著一個由偏光板、液晶層和彩色濾 光片構(gòu)成的夾層組成。偏光板、彩色濾光片決定了有多少光可以通過以及生成何種顏色 的光線。觸摸屏作為輸入設(shè)備,所需的儲存空間不大,移動部分少,便于封裝,在使用時比 鍵盤和鼠標(biāo)更為直觀。根據(jù)所用的介質(zhì)以及工作原理,觸摸屏可分為:電阻式、電容式、 紅外線式、聲表面波式。本設(shè)計采用四線電阻式觸摸屏,分為由觸摸檢測部件和觸摸屏 控制器兩部分。觸摸檢測部件安裝在顯示器屏幕前面,用于檢測用戶觸摸位置;觸摸屏 控制器從觸摸點檢測裝置上接收觸摸
33、信息,將它轉(zhuǎn)換成觸點坐標(biāo)后送給CPU。如圖3.2所示為電阻式觸摸屏。圖3.2觸摸屏ADC連接電路電阻式觸摸屏在強化玻璃表面分別涂上兩層OTI透明氧化金屬導(dǎo)電層,兩層OTI之間以細(xì)小的透明隔離點隔開。手指接觸屏幕時,兩層OTI導(dǎo)電層出現(xiàn)一個接觸點,電阻發(fā)生變化,在 X和Y兩個方向上產(chǎn)生信號,送觸摸屏控制器,同時主芯檢測電壓及電 流,計算出觸摸的位置,反應(yīng)速度1020ms。四路AD通道直接處理觸摸屏輸出的電壓轉(zhuǎn)化為數(shù)字信號,然后得到觸點的位置。(4)SIM300芯片特性GPRS就好比移動通信設(shè)備的ADSL,而GSM就是普通固定電話線。GSM采用的是電路交換技術(shù)。但GPRS就不同了,它采用的是封包交
34、換(Packet Switch)技術(shù)。理論上,封包交換技術(shù)最大的資料傳輸速率可達(dá)171.2Kbps。 GPRS對原有GSM網(wǎng)絡(luò)改動很少,投資省。新增分組域設(shè)備。GSM設(shè)備軟件升級。GPRS采用信道捆綁和增強數(shù)據(jù)速率改進實現(xiàn)高速接入,GPRS設(shè)計可以與 8個信道實現(xiàn)捆綁,每個信道的傳輸速率提高到 14.4kbp。最高速率為:14.4kbps*8=115.2kbps。第二代 GPRS(EDGA)會提高到48kbps*8=384kbps。高速數(shù)據(jù)傳輸。速度10倍于GSM,更可滿足用戶的理想需求,還可以穩(wěn)定地傳送大容量的高質(zhì)量音頻與視頻文件,可謂不一般的巨大進步,GPRS工作原理如圖3.3所示:PLM
35、NPSTN| PDNryLRMSCXHLRACGRGGSNSGSNATMSLRTCETCEPCUBSCSoftware updateGPRS enabled terminal equipmentGateway GPRS support node (GGSN) for transition to the InternetServing GPRS support node(SGSN) for serving usersGPRS register (GR) as an HLR extension for data service specific informationSGSN location r
36、egister (SLR) like VLR but for data servicesPacket control unit (PCU) for the discrimination of packet and speech data圖3.3 GPRS工作原理建立新的連接需要的時間比傳統(tǒng)的wap短的多,(每次數(shù)據(jù)的訪問無需長時間等待建立呼叫連接),您隨時都可與網(wǎng)絡(luò)保持聯(lián)系,即使在通話過程中數(shù)據(jù)傳輸暫停,通話結(jié)束 后也會在極短的時間內(nèi)切換回來。做個 打電話”的比方,在使用GSM+WAP手機上網(wǎng)時,就好比電話接通便開始計費; 而使用 GPRS+WAP上網(wǎng)則要合理得多,就像電話接通并不收費,只有對
37、話時才計算費 用??傊?,它真正體現(xiàn)了少用少付費的原則GPRS應(yīng)用于以下領(lǐng)域:In ternet業(yè)務(wù)。VPN業(yè)務(wù)/移動辦公室。不間斷的WAP接入業(yè)務(wù)。野外銷售 /業(yè)務(wù)、商船管理。移動商務(wù)、移動銀行。結(jié)合定位技術(shù),提供個性化移動定位服務(wù)。信息點播:新聞、證券消息、天氣 預(yù)報、生活信息。控制家庭設(shè)備。模組使用標(biāo)準(zhǔn)的UART串行通信接口與主芯片進行通信,可以與任何帶有通用UART串行通信接口的控制器進行連接。 該項目要求我們采用 S3C244作為主控芯片(MCU) 控制GPRS模組,用AT指令集實現(xiàn)手機功能, 下面重點介紹一下 GPRS模組與MCU連 接特點。4軟件設(shè)計 如果把硬件比作系統(tǒng)的軀體,那么
38、軟件編程就是它的靈魂。失去靈魂的軀體只能是 個擺設(shè),沒有多大的價值而言,軟件設(shè)計是本系統(tǒng)制作的關(guān)鍵點之一,軟件設(shè)計主要分 為主體系統(tǒng)結(jié)構(gòu)設(shè)計和各個模塊但系統(tǒng)設(shè)計。主體程序結(jié)構(gòu)設(shè)計系統(tǒng)在開機時會進行的系統(tǒng)的初始化設(shè)置,顯示的界面為主菜單界面,在程序中四 個線程來分別處理不同功能模塊。主線程:初始化觸摸屏,初始化串口,負(fù)責(zé)創(chuàng)建其余 三個線程,并等待其返回。msg_prompt_pthread 線程:主要是對隊列里的數(shù)據(jù)進行分析處理找出主要信息并進 行相應(yīng)的操作。rec_signal_pthread 線程:主要接收 GPRS 的數(shù)據(jù),進行簡單的處理后放入隊列,等 待其余線程進行接收。main_pth
39、read 線程: 對按鍵, 顯示, 和短信 str Unicode ,Unicode str 的轉(zhuǎn)換, 菜單顯示。圖 4.1 為主體程序控制流程圖。圖4.1程序控制流程圖各模塊程序結(jié)構(gòu)設(shè)計421系統(tǒng)引導(dǎo)程序vivi在專用的嵌入式板子運行GNU/L inux系統(tǒng)已經(jīng)變得越來越流行。引導(dǎo)加載程序是系統(tǒng)加電后運行的第一段軟件代碼。PC機中的引導(dǎo)加載程序由BIOS(其本質(zhì)就是一段固件程序)和位于硬盤 MBR中的OS BootLoader (比如,LILO 和GRUB等)一起組成。BIOS 在完成硬件檢測和資源分配后,將硬盤 MBR中的BootLoader讀到系統(tǒng)的 RAM中,然 后將控制權(quán)交給OS B
40、ootLoader。BootLoader的主要運行任務(wù)就是將內(nèi)核映象從硬盤上圖4.2 vivi流程圖讀到RAM中,然后跳轉(zhuǎn)到內(nèi)核的入口點去運行,也即開始啟動操作系統(tǒng)。在嵌入式系統(tǒng)中,通常并沒有像BIOS那樣的固件程序(注,有的嵌入式 CPU也會內(nèi)嵌一段短小的啟動程序),因此整個系統(tǒng)的加載啟動任務(wù)就完全由BootLoader來完成。比如在一個基于ARM7TDMI core的嵌入式系統(tǒng)中,系統(tǒng)在上電或復(fù)位時通常都從地址0 x00000000處開始執(zhí)行,而在這個地址處安排的通常就是系統(tǒng)的BootLoader程序。簡單地說,BootLoader就是在操作系統(tǒng)內(nèi)核運行之前運行的一段小程序。通過這段小程序
41、,我們可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。BootLoader是嚴(yán)重地依賴于硬件而實現(xiàn)的,特別是在嵌入式世界。因此,在嵌入式世界里建立一個通用的BootLoader幾乎是不可能的。盡管如此,我們?nèi)匀豢梢詫ootLoader歸納出一些通用的概念來,以指導(dǎo)用戶特定的BootLoader設(shè)計與實現(xiàn)。vivi是韓國mizi公司開發(fā)的 Bootloader,適用于ARM9處理器,vivi有兩種工作模 式:啟動加載模式和下載模式。啟動加載模式可以在一段時間后(這個時間可更改)自 行啟動linux內(nèi)核,這時vivi
42、的默認(rèn)模式。在下載模式下,vivi為用戶提供一個命令行接 口,通過接口可以使用vivi提供的一些命令,如圖4.2 vivi的啟動流程圖。開始禁止看門狗關(guān)閉中斷初始化系統(tǒng)時鐘存儲器設(shè)置UART初始化輸出VI號!版本1開發(fā)板初始化T內(nèi)存映身寸1F初始化MTD初始化私有數(shù)據(jù)4初始化內(nèi)置命令1F啟動 vivi-shell 或 boot1:結(jié)束4.2.2Linux 內(nèi)核移植對以 ARM 為基礎(chǔ)的目標(biāo)系統(tǒng),可從 HYPERLINK / / 下載 Linux-2.4.18 版本的內(nèi)核,從 ARMLinux 的官方站點 HYPERLINK .uk .uk 下載 2.4.18-rmk5 補丁。 打上補丁后的內(nèi)
43、核就是 Linux-2.4.18-rmk5 ,這個 Linux 內(nèi)核包含了對大多數(shù)以 ARM 為基礎(chǔ)的嵌入式系 統(tǒng)的支持。一個嵌入式 Linux 系統(tǒng)從軟件的角度看通??梢苑譃樗膫€層次:( 1)引導(dǎo)加載程序:包括固化在固件 (firmware) 中的 boot 代碼 ( 可選 )和 BootLoader 兩大部分;(2) Linux 內(nèi)核:特定于嵌入式系統(tǒng)的定制內(nèi)核以及內(nèi)核啟動參數(shù);( 3)文件系統(tǒng):根文件系統(tǒng)和建立于 Flash 設(shè)備上的文件系統(tǒng);( 4)用戶應(yīng)用程序:特定于用戶的應(yīng)用程序。Linux 內(nèi)核是 Linux 系統(tǒng)軟件的核心, 它的性能對整個系統(tǒng)的性能起決定作用, 如果 內(nèi)核不支
44、持某個硬件,那么在基于該內(nèi)核的系統(tǒng)中,這個硬件將不能使用,內(nèi)核移植一 般包括內(nèi)核配置、內(nèi)核編譯、內(nèi)核下載三部分。4.2.3 root 根文件系統(tǒng)Linux 支持多種文件系統(tǒng),包括ext2 、 ext3 、 vfat 、 ntfs 、 iso9660 、jffs 、 romfs 和 nfs等,為了對各類文件系統(tǒng)進行統(tǒng)一管理, Linux 引入了虛擬文件系統(tǒng) VFS(Virtual File System),為各類文件系統(tǒng)提供一個統(tǒng)一的操作界面和應(yīng)用編程接口。Linux 下的文件系統(tǒng)結(jié)構(gòu)如圖4.3 。圖4.3 Linux文件系統(tǒng)結(jié)構(gòu)前面介紹過,Linux和UNIX的文件系統(tǒng)是一個以“/為根的階層式
45、的樹狀文件結(jié)構(gòu),“/因此被稱為根目錄。所有的文件和目錄都置于根目錄“/之下。根目錄“/下面有/bin,/home, /usr等子目錄。在早期的UNIX系統(tǒng)中,各個廠家各自定義了自己的UNIX系統(tǒng)的文件系統(tǒng)構(gòu)成,比較混亂。為了避免在Linux也產(chǎn)生同樣的問題,在Linux面世不久,就開始了對Linux文件系統(tǒng)進行標(biāo)準(zhǔn)化的活動,于1994年推出了名為 FSSTND(FilesystemStandard)的Linux文件系統(tǒng)層次結(jié)構(gòu)標(biāo)準(zhǔn)。之后, FSSTND標(biāo)準(zhǔn)吸引了 UNIX 社團的開 發(fā)人員,他們把FSSTND擴大到UNIX系統(tǒng),F(xiàn)SSTND就變?yōu)镕HS (Filesystem Hierarch
46、y Standard)。FHS標(biāo)準(zhǔn)使得眾多的Linux發(fā)布包有了可以遵循的標(biāo)準(zhǔn),使得軟件和用戶可以預(yù)測已經(jīng)安裝了的文件和目錄的位置。下面依次講述這幾個目錄的作用。根目錄:Linux中所有的目錄及文件都位于根目錄下,可以說是所有目錄的父目錄。home :用戶目錄,所有的用戶都是用此空間,對于每一個普通用戶,都有一個以用 戶名命名的子目錄,里面存放相關(guān)的配置文件。bin :該目錄下存放所有用戶(包括系統(tǒng)管理員和一般用戶)都可以使用的、基本的 命令,這些命令在掛載其他文件系統(tǒng)之前就可以使用,所以/bin目錄必須和根文件系統(tǒng)在同一個分區(qū)中,不是急迫需要的系統(tǒng)命令可以放在/usr/bin目錄下,由用戶后
47、來安裝的系統(tǒng)命令存放在 /usr/local/bin 目錄下。bin 目錄下存放常用的命令有:cat、chgrp、chmod、cp、ls、sh、kill、mount、umount、mkdir等,在嵌入式系統(tǒng)中通常由busybox生成,其中/usr/bin可選。sbin :存放系統(tǒng)管理所需要的命令,只有系統(tǒng)管理員能夠使用,不是急迫需要的系 統(tǒng)命令可以放在/usr/sbin目錄下,由用戶后來安裝的系統(tǒng)命令存放在/usr/local/sbin目錄下。dev:該目錄下存放的是設(shè)備文件,在linux下以文件的方式訪問各種外設(shè),即通過讀寫某個設(shè)備文件操作某個具體硬件。etc目錄系統(tǒng)的所有配置文件都存放在此
48、目錄中,啟動或改變運行級時運行的腳本 或腳本目錄。lib :該目錄下存放共享庫和可加載模塊,共享庫用于啟動系統(tǒng)、運行根文件系統(tǒng)中 的可執(zhí)行程序,比如/bin、/sbin下的程序,不是根文件系統(tǒng)所必需的庫文件放在/usr/lib,/var/lib等。其中的文件主要有:共享連接庫、動態(tài)連接庫(libc.so.*),連接器、加載器(ld*),內(nèi)核可加載模塊存放存放的目錄等。mnt:用于臨時掛接某個文件系統(tǒng)的掛接點,通常是空目錄,可以在里面建一些子 文件夾,用來臨時掛接光盤、硬盤、nfs、sd卡、U盤等。tmp :臨時文件目錄,重新啟動時被清除,一些需要生成臨時文件的程序要用到/tmp目錄,為減少對
49、FLASH的操作,一般掛載一個虛擬的文件系統(tǒng)。usr目錄:存放一些共享、只讀的程序和數(shù)據(jù)、所有命令、庫、man等,/usr目錄的內(nèi)容可以在另一個分區(qū)中,在系統(tǒng)啟動后再掛載到根文件系統(tǒng)中的/usr目錄下,/usr目錄下的內(nèi)容可以在多個主機間共享,如表4.1所示。表4.1 usr 目錄結(jié)構(gòu)/usr/usr/usr/bin用戶和管理員的標(biāo)準(zhǔn)命令/usr/sbin用戶和管理員的標(biāo)準(zhǔn)命令/usr/local/系統(tǒng)管理員安裝的應(yīng)用程序目錄/usr/lib應(yīng)用程序及程序包的連接庫/usr/includeC/C+等各種開發(fā)語言環(huán)境的標(biāo)準(zhǔn)include 文件/usr/local/share系統(tǒng)管理員安裝的共享文
50、件/usr/share存放使用手冊等共享文件的目錄/usr/X11R6Xwindows桌面系統(tǒng)/usr/share/man系統(tǒng)使用手冊var與/usr目錄相反,/var目錄中存放可變的數(shù)據(jù),比如:spool 目錄(mail、news、打印機等)log文件,臨時文件等,如表4.2所示。表4.2 var 目錄結(jié)構(gòu)/var/var/var/lib各種狀態(tài)數(shù)據(jù)/var/log日志記錄/var/mail電子郵件/var/run進程的標(biāo)示數(shù)據(jù)/var/mail電子郵件/var/tmp臨時文件目錄proc :空目錄,常作為 proc文件系統(tǒng)的掛載點。proc文件系統(tǒng)是個虛擬文件系統(tǒng),它沒有實際的存儲設(shè)備,里
51、面的目錄、文件都是由內(nèi)核臨時生成的,用來表示系統(tǒng)的運 行狀態(tài),也可以在操作其中的文件控制系統(tǒng)。系統(tǒng)啟動后,使用以下命令掛載proc文件系統(tǒng)(常在/etc/fstab進行設(shè)置以自動連接),其具體內(nèi)容可參見表4.3。表4.3 proc目錄結(jié)構(gòu)目錄內(nèi)容和用途/proc/1 關(guān)于進程1的信息目錄。每個進程在/proc下有一個名為其進程號的目錄。/proc/cpuinfo處理器信息,如類型、制造商、型號和性能/proc/devices/proc/dma/proc/filesystems當(dāng)前運行的核心配置的設(shè)備驅(qū)動的列表顯示當(dāng)前使用的 DMA通道核心配置的文件系統(tǒng)/proc/interrupts/proc
52、/ioports顯示使用的中斷當(dāng)前使用的I/O端口/proc/ksyms/proc/loadavg/proc/meminfo核心符號表系統(tǒng)-平均負(fù)載”;3個指示器指岀系統(tǒng)當(dāng)前的工作量存儲器使用信息,包括物理內(nèi)存和swap/proc/modules/proc/net當(dāng)前加載了哪些核心模塊網(wǎng)絡(luò)協(xié)議狀態(tài)信息/proc/uptime/proc/version系統(tǒng)啟動的時間長度核心版本主界面菜單程序設(shè)計主界面程序包含了對應(yīng)的圖像文件和源代碼。主要功能是提供主菜單的顯示和觸摸 屏數(shù)據(jù)的讀取。初期這個程序里還包含了觸摸屏數(shù)據(jù)識別函數(shù),用于把相應(yīng)的位置翻譯 成對應(yīng)的控制信息。void TFT_i nit(vo
53、id)char *fbn ame = /dev/fb/0; getFBP(fb name);TFT_I ni t();MainFrame = TFT_CreateWindowEx(0,0,320,240,COLOR_YELLOW); TFT_File_Picture(MainFrame,0,0,./Screen/happy4.bmp,1);Menu = TFT_CreateWindowEx(106, 60, 105, 15, RGB24(66, 187, 250); Msg = TFT_CreateWindowEx(106, 60, 105, 110, COLOR_YELLOW); Signb
54、ox = TFT_CreateWindowEx(106, 60, 105, 26, COLOR_YELLOW); Numdis = TFT_CreateWindowEx(106, 120, 105, 50, COLOR_CYAN); TFT_SetColor(Signbox, COLOR_BLUE);TFT_SetColor(MainFrame, COLOR_BLACK); TFT_SetColor(Msg, COLOR_BLACK); TFT_SetColor(Numdis, COLOR_BLACK);TFT_ClearWindow(Msg);TFT_SetTextPos(MainFrame
55、, 125, 80);void *msg_prompt_pthread(void *arg) ;void *main_pthread(void *arg) ;void *rec_signal_pthread(void *arg) ;int main(int argc, char *argv)TFT_init();fd_uart = Uart_Init(1);while(1) pthread_create(&tid2,NULL,msg_prompt_pthread,NULL); pthread_create(&tid3,NULL,main_pthread,NULL); pthread_create(&tid4,NULL,rec_signal_pthread,NULL); pthread_join(tid2,NULL);pthread_join(tid3,NULL); pthread_join(tid4,NULL);return 0;電話和短信模塊AT(Data(Data電話和短信的實現(xiàn)是微處理器通過串口向 GPRS 按順序發(fā)送 AT 指令集實現(xiàn)的。 即 Attention , AT 指令集是從終端設(shè)備 (Terminal Equipment , TE) 或數(shù)據(jù)終端設(shè)備 Terminal Equipment ,DTE) 向終端適配器 (Terminal Adapter ,TA)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省綿陽市三臺中學(xué)2024-2025學(xué)年高二(上)期末生物試卷(含解析)
- 溝槽開挖支護施工方案
- 橋架鋼結(jié)構(gòu)施工方案
- 導(dǎo)管室裝修施工方案
- 深圳燈光秀施工方案
- 反光涂料施工方案
- 防滑混凝土泳池施工方案
- 5以內(nèi)的3個數(shù)加減混合題
- 等效電路模型、單顆粒模型、均質(zhì)多孔模型、異構(gòu)模型等
- 地暖加壓泵換向閥工作原理
- 《實踐論》《矛盾論》導(dǎo)讀修改稿課件
- 先天性馬蹄內(nèi)翻足后內(nèi)側(cè)松懈和肌腱移植術(shù)后護理查房
- 2019分布式電源信息采集裝置技術(shù)規(guī)范
- 移動機器人SLAM技術(shù) 課件 【ch03】移動機器人的數(shù)學(xué)模型
- 農(nóng)業(yè)產(chǎn)業(yè)化稅收政策解析
- 基于MBD的三維工藝(完整資料)
- 七年級上冊數(shù)學(xué)應(yīng)用題專項
- 臺球廳合伙協(xié)議書
- SWITCH塞爾達(dá)傳說曠野之息-1.6金手指127項修改使用說明教程
- 阻生牙的拔除
- 造紙機的原理與結(jié)構(gòu)課件
評論
0/150
提交評論