版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、嵌入式系統(tǒng)開發(fā)與應(yīng)用,江蘇大學(xué)計算機科學(xué)與通信工程學(xué)院 通 信 工 程 系 陳祖爵 E-mail: TEL1,嵌入式系統(tǒng)應(yīng)用開發(fā)實例,1.基于嵌入式Linux的智能手機系統(tǒng)設(shè)計 2.基于ARM-Linux和CDMA的遠程視頻監(jiān)控系統(tǒng),2,1.基于嵌入式Linux的智能手機系統(tǒng)設(shè)計,隨著手持通信設(shè)備市場的快速發(fā)展,手機的功能逐漸增多。現(xiàn)在手機已經(jīng)不只是用于語音通信的手持設(shè)備,而成為集成了短信、彩信、上網(wǎng)以及移動辦公等附加功能的嵌入式通信平臺。集成了這些功能的手機被稱為智能手機。 近年,嵌入式處理器的運行速度和功能都有了很大的提高,使得許多以前只能在PC上實現(xiàn)的應(yīng)用,現(xiàn)在
2、都可以在手持設(shè)備上實現(xiàn)。PDA發(fā)展的趨勢和潮流就是計算、通信、網(wǎng)絡(luò)、存儲、娛樂、電子商務(wù)等多功能的融合。,3,智能手機系統(tǒng)設(shè)計,目前,市面上的智能手機主要采用Microsoft公司的ocket PC、Palm OS等商用操作系統(tǒng),但這些操作系統(tǒng)開放的程序不夠高,限制了許多第三方應(yīng)用軟件的移植。為使智能手機能夠為第三方應(yīng)用軟件提供一個更為開放的嵌入式平臺,提出一種以Linux作為嵌入式操作系統(tǒng)、Motorola的MX1作為微處理器、以Wavecom的Q2403A作為射頻模塊的智能手機系統(tǒng)的設(shè)計與實現(xiàn)。,4,1.1 智能手機系統(tǒng)的硬件電路結(jié)構(gòu),5,智能手機的主要參數(shù),CPU:ARM920T 200
3、MHz(Motorola MC9328MXL); 顯示:AU3.5Reflective TFT LCD with LED front light 65,536色; ROM:32MB Flash; RAM:64MB SDRAM; 音效:內(nèi)置單聲道麥克風(fēng)、單聲道揚聲器、立體聲耳機插口; 觸屏:電阻式觸摸屏; SD/MMC:1個SD卡插槽,MMC Ver3, 1.0標(biāo)準(zhǔn)SDMC; USB:USB 2.0主,從口; 紅外:IrDA, 115Kpbs;,6,智能手機的主要參數(shù),串口:RS-232口; LED: 紅(在充電指示)、綠(軟件運行或電池故障指示) 電源管理:Full featured-Sipp
4、orts Run,Idle and Sleep modes 復(fù)位:設(shè)置復(fù)位開關(guān); 電池:3.7V鋰離子電池 物理尺寸:主板尺寸為65x53x5.5mm 電源適配器:5V直流; 外部連接器:Possible integration、CF卡、Sensor、Bluetooth、SIM Card、其他,7,智能手機系統(tǒng)的硬件設(shè)計,智能手機系統(tǒng)的硬件設(shè)計如上圖所示。該設(shè)計采用Motorola公司的MX1(MC9328)高性能的32位微處理器、Wavecom公司的Q2403A無線收發(fā)模塊等實現(xiàn)智能手機的GSM通話、GPRS上網(wǎng)及其它PDA應(yīng)用等功能。,8,MC9328MX1微處理器,MC9328MX1是M
5、otorola DragonBall系列微處理器。采用節(jié)電的ARM920T核心,速度最高200MHz。集成了LCD控制器、SRAM、USB接口、一個A/D轉(zhuǎn)換器(支持觸摸屏控制)、一個MMC/SD主機端控制器。256-pin的MPPBGA封裝。,9,存儲器系統(tǒng),存儲器的物理實質(zhì)是一組或多組具備數(shù)據(jù)輸入輸出和數(shù)據(jù)存儲功能的集成電路,用于充當(dāng)設(shè)備緩存或保存固定的程序及數(shù)據(jù)。存儲器按存儲信息的功能可分為只讀存儲器ROM和隨機存儲器RAM。嵌入式系統(tǒng)中的固態(tài)存儲一般用Flash存儲器。,10,Flash Memory,16 Megabit (2 M x 8-Bit/1 M x 16-Bit) CMOS
6、 3.0 Volt-only Boot Sector Flash Memory,11,SD存儲卡電路,12,Q2403A無線收發(fā)模塊,系統(tǒng)采用WAVECOM公司的Q2403A專用無線收發(fā)模塊。是雙頻GSM模塊(EGSM900/1800MHz),其設(shè)計及開發(fā)符合ETSI GSM Phase 2+標(biāo)準(zhǔn)。具有話音、GSM電路數(shù)據(jù)/傳真、GPRS分組數(shù)據(jù)、短消息等功能。該模塊支持AT指令集,通過RS232與MX1通信。,13,Q2403A無線收發(fā)模塊功能,數(shù)據(jù)特征: Q2403A(支持class2),下載26.8kbits/s,上傳13.4kbits/s; 話音,數(shù)據(jù)/傳真,短信息功能:話音功能數(shù)據(jù)/
7、傳真功能短信息服務(wù)功能呼叫轉(zhuǎn)移呼叫限制多方通話呼叫等待及呼叫保持來電顯示顯示呼叫轉(zhuǎn)移其他功能:電話簿管理、個人信息管理(PIM)、固定撥號、實時時鐘、鬧鐘管理,14,復(fù)位電路部分原理圖,15,系統(tǒng)電源電路原理圖,16,LCD控制器功能模塊圖,17,74LVC16245驅(qū)動LCD引線,18,LCD控制器硬件連接,19,CS8900A的以太網(wǎng)接口設(shè)計,以太網(wǎng)接口電路主要由MAC控制器和物理層接口(Physical Layer,PHY)兩大部分構(gòu)成,目前常見的以太網(wǎng)接口芯片,如RTL8019、RTL8029、RTL8139、CS8900、DM9000等,其內(nèi)部結(jié)構(gòu)也主要包含這兩部分。本系統(tǒng)采用CS8
8、900芯片。,20,TCP/IP協(xié)議結(jié)構(gòu)分層示意圖,21,CS8900A的連接CPU部分,22,USB2.0總線接口,23,音頻電路原理圖,24,麥克風(fēng)電路原理圖,25,1.2 智能手機系統(tǒng)的軟件設(shè)計,系統(tǒng)分析和軟件設(shè)計是智能手機系統(tǒng)實現(xiàn)的難點之一,關(guān)系到系統(tǒng)的穩(wěn)定性、擴展性等。因為要兼顧到GSM語音控制與其它智能手機應(yīng)用之間的互相切換及關(guān)聯(lián)關(guān)系,智能手機軟件系統(tǒng)的設(shè)計就變得相對復(fù)雜。系統(tǒng)設(shè)計將軟件分為三層結(jié)構(gòu),如下圖所示。最下面一層為操作系統(tǒng)層,主要實現(xiàn)對Linux操作系統(tǒng)的移植,其中包括Bootloader引導(dǎo)程序、LCD等設(shè)備的驅(qū)動程序。中間層為服務(wù)程序?qū)?,該層主要包括GUI服務(wù)器以及G
9、SM/GPRS控制服務(wù)器。智能手機系統(tǒng)設(shè)計的關(guān)鍵在于各項功能應(yīng)用的實現(xiàn)。對智能手機軟件進行分層設(shè)計,有利于各個功能有機地協(xié)調(diào)運轉(zhuǎn),同時也便于軟件的開發(fā)與調(diào)試。,26,智能手機系統(tǒng)的軟件層次框圖,27,1.2.1 嵌入式Linux操作系統(tǒng),Linux最初是由Linux Torvalds編寫及發(fā)布的源代碼公開、可免費使用的操作系統(tǒng)。后來,又通過Internet上成百上千的程序員的加入,使Linux成為一個幾乎支持所有主流32位CPU的操作系統(tǒng)。其特點主要有:內(nèi)核高效穩(wěn)定、公開源代碼、可移植性、可裁減、支持多任務(wù)等。 設(shè)計中采用的Linux內(nèi)核是ARM-Linux基礎(chǔ)上,編寫符合硬件設(shè)計的引導(dǎo)程序及
10、電源管理控制程序;并針對本系統(tǒng)的硬件設(shè)計,編寫了LCD、觸摸屏等硬件設(shè)計驅(qū)動程序。 智能手機基于Linux操作系統(tǒng)工作時,首先初始化CPU;然后加載各個設(shè)備驅(qū)動程序,初始化存儲器及外圍設(shè)備;最后啟動各服務(wù)程序,進入待機狀態(tài)。,28,1.2.2 服務(wù)程序的設(shè)計,智能手機系統(tǒng)中的服務(wù)程序主要有GUI Server和GSM/GPRS Server,它們是上層應(yīng)用賴以實現(xiàn)的基礎(chǔ)。 GUI Server 為使系統(tǒng)能夠很好地支持瀏覽器及MMS等界面復(fù)雜的應(yīng)用,具有良好的可擴展性,本系統(tǒng)中的GUI Server設(shè)計采用了客戶機/服務(wù)器模式,并以動態(tài)鏈接庫的形式對圖形設(shè)備接口進行封裝,具體如下圖所示。,29,
11、GUI Server程序設(shè)計框圖,30,GUI Server,服務(wù)進程與應(yīng)用進程之間采用Linux提供的消息隊列進行通信。服務(wù)進程保存系統(tǒng)GUI環(huán)境的描述信息,為應(yīng)用進程提供注冊及一些計算任務(wù),如計算當(dāng)前剪切域內(nèi)容等。此外,還負責(zé)顯示桌面。應(yīng)用程序的啟動后,首先與服務(wù)進程建立連接并進行交互,將自身的一些描述信息發(fā)送到服務(wù)進程。 服務(wù)進程和應(yīng)用進程通過調(diào)用動態(tài)庫實現(xiàn)基本窗口顯示功能。其中窗口樹與剪切域都定義在動態(tài)庫中,對于服務(wù)進程或應(yīng)用程序而言,它們是透明的,不需要進行管理。因服務(wù)進程與客戶進程分別運行在不同的進程空間中,所以雖然在動態(tài)庫中定義了相同的數(shù)據(jù),但它們之間不會產(chǎn)生任何沖突。,31,G
12、UI Server,設(shè)計對動態(tài)庫中封裝的函數(shù)進行了分層。其中直接針對Framebuffer進行輸出的函數(shù)位于系統(tǒng)最低層,其上是設(shè)備上下文。因每次對一個窗口輸出的時都要首先建立設(shè)備上下文,所以設(shè)備上下文總可以引用窗體結(jié)構(gòu),自然也可以引用到窗口剪切域,在剪切域范圍內(nèi)才可以進行輸出。 圖形設(shè)備接口建立在設(shè)備上下文之上,主要包括點、線、面、文本等。如上文所述,輸出之前,首先建立設(shè)備上下文,即其輸出的目標(biāo)是設(shè)備上下文,而不是窗口。 圖形設(shè)備接口的上層是應(yīng)用開發(fā)接口即API層,桌面進程與客戶進程都通過調(diào)用API函數(shù)實現(xiàn)系統(tǒng)功能。 另外,系統(tǒng)建立了輸入的抽象層,屏蔽了不同輸入設(shè)備。,32,1.2.3 GSM
13、/GPRS Server多工通信服務(wù)器軟件,GSM/GPRS Server多工通信服務(wù)器軟件是電話、短信及數(shù)據(jù)業(yè)務(wù)的守護進程,負責(zé)響應(yīng)應(yīng)用程序轉(zhuǎn)發(fā)的用戶操作事件及從串口的獲得的無線通信模塊事件,是整個智能手機系統(tǒng)的核心。在這部分的工作中要實現(xiàn)多鏈路的數(shù)據(jù)通信、事件優(yōu)先級判別,并在執(zhí)行數(shù)據(jù)通信時,保證電話、短信的接入。具體程序設(shè)備結(jié)構(gòu)如下圖所示。,33,GSM/GPRS Server程序設(shè)計框圖,34,1.2.4 智能手機系統(tǒng)中的應(yīng)用程序設(shè)計,有了中間層的服務(wù)程序,上層應(yīng)用程序可以根據(jù)GUI Server及GSM/GPRS Server提供的接口進行移植和開發(fā)。本設(shè)計中實現(xiàn)了電話控制程序、短信收
14、發(fā)的管理及數(shù)據(jù)業(yè)務(wù)的應(yīng)用等。下面以電話控制程序為例,介紹智能手機應(yīng)用程序的設(shè)計與實現(xiàn)。,35,電話控制程序狀態(tài)切換關(guān)系圖,36,電話控制程序狀態(tài)切換,電話控制程序設(shè)計分為三個運行態(tài):PowerOn State(上電態(tài))、Idle State(空閑態(tài))、Execution State(執(zhí)行態(tài))。上圖表示了三個狀態(tài)之間的關(guān)系和進入各個狀態(tài)的條件。 電話控制程序在智能手機系統(tǒng)上電復(fù)位、GSM/GPRS Server啟動后,進入Power-on State(上電態(tài))。在上電態(tài),程序首先進行初始化工作,與GSM/GPRS Server通信,獲得系統(tǒng)狀態(tài)。初始化后,即進入Idle State(空閑態(tài))。在
15、空閑態(tài),程序循環(huán)等待GSM/GPRS Server的呼入事件及來自鍵盤的呼出事件;當(dāng)這些事件發(fā)生時,程序進入Execution State(執(zhí)行態(tài))。在執(zhí)行態(tài),用戶進行語音通信,通話結(jié)束后,程序又回到空閑態(tài)。 如將CPU主頻進一步提高,無線通信模塊換成符合3G標(biāo)準(zhǔn)的,就可以實現(xiàn)更為廣泛的手持設(shè)備應(yīng)用。,37,2.基于ARM-Linux和CDMA的遠程視頻監(jiān)控系統(tǒng),CDMA(碼分多址)無線網(wǎng)絡(luò)具有覆蓋面廣,高效、低成本的特點,CDMA網(wǎng)絡(luò)的數(shù)據(jù)傳輸速率可達200kb/s。 嵌入式遠程視頻監(jiān)控系統(tǒng)就是充分利用CDMA無線網(wǎng)絡(luò)技術(shù)和嵌入式系統(tǒng)的特點而搭建的數(shù)據(jù)傳輸系統(tǒng),特別適合邊遠偏僻或不具備常規(guī)網(wǎng)
16、絡(luò)傳輸條件的地方使用,例如車載視頻監(jiān)控系統(tǒng)、交通路口(車牌實時監(jiān)視)及城市路燈的監(jiān)控等。,38,2.1 嵌入式Linux系統(tǒng),Linux作為一個桌面系統(tǒng),其最大的特點是操作系統(tǒng)源代碼公開并且遵循GPL協(xié)議,內(nèi)核采用模塊化的設(shè)計,易于裁減,特別適合嵌入式系統(tǒng)的小型化要求,在嵌入式系統(tǒng)中占據(jù)了半壁江山。 監(jiān)控系統(tǒng)選用的處理器是SAMSUNG公司ARM9內(nèi)核的CPU-S3C2410,內(nèi)建有MMU(內(nèi)存管理單元),主頻可達到200MHz,運行嵌入式Linux2.4系統(tǒng),不但保持了嵌入式系統(tǒng)小型化、低功耗、易攜帶的特點,又充分利用了Linux系統(tǒng)的內(nèi)存、文件、線程管理功能,大大方便了程序的開發(fā)和程序中多
17、任務(wù)功能的實現(xiàn)。,39,2.2 監(jiān)控系統(tǒng)結(jié)構(gòu),監(jiān)控系統(tǒng)一般可分為實時監(jiān)控和觸發(fā)模式監(jiān)控兩種,可以根據(jù)具體的情況設(shè)計合適的監(jiān)控方式,如果采用實時監(jiān)控,將占用較多網(wǎng)絡(luò)資源,成本相對較高,采用觸發(fā)模式的運行成本較低,這里采用觸發(fā)模式,監(jiān)控系統(tǒng)結(jié)構(gòu)見下圖。,40,嵌入式遠程視頻監(jiān)控系統(tǒng)示意圖,41,監(jiān)控系統(tǒng)工作原理,當(dāng)遇異常情況后,觸發(fā)監(jiān)控終端拍攝圖片,同時其內(nèi)部的嵌入式控制模塊和CDMA模塊協(xié)同運作,完成Internet的接入(包括撥號、PPP和TCP/IP協(xié)議的處理等),并把拍攝到的圖片數(shù)據(jù)經(jīng)打包后發(fā)送給控制中心主機,或發(fā)送給指定的E-mail地址,控制中心主機登錄到Internet上后運行服務(wù)器
18、端軟件就可以瀏覽由監(jiān)控點發(fā)來的圖片。,42,2.3 硬件系統(tǒng)設(shè)計,要能夠正確運行一個操作系統(tǒng),硬件方面至少應(yīng)該包括CPU、內(nèi)存和固態(tài)存儲器、系統(tǒng)內(nèi)部總線以及外設(shè)接口,具體硬件系統(tǒng)結(jié)構(gòu)見下圖。,43,硬件配置,SAMSUNG公司的S3C2410 CPU具有3個UART、1個RTC和觸摸屏接口,還具有I2C總線、USB Host、USB Device等接口,充分滿足了系統(tǒng)的需要,而且性價比高。 由于剪裁后的Linux系統(tǒng)所占得存儲空間非常小(只有幾MB),選擇E28F128J3A150 Nor Flash作為固體存儲器,容量為16MB,通過16位數(shù)據(jù)總線與CPU交換數(shù)據(jù),并利用其上端8MB空間(0
19、0800000H-00ffffffH)開辟了一個jffs2文件存儲系統(tǒng),存儲系統(tǒng)的配置文件。 64MB的SDRAM為2片K4S561632C,通過32位數(shù)據(jù)總線與CPU交換數(shù)據(jù)。,44,硬件配置,通過MAX3232C電平轉(zhuǎn)換芯片和RTL8019網(wǎng)絡(luò)芯片轉(zhuǎn)換成一個RS-232接口和一個以太網(wǎng)接口,用串口線和以太網(wǎng)網(wǎng)線與PC機相連,組成可以交叉編譯的開發(fā)環(huán)境。 通過CPU上集成的USB Host接口直接與USB攝像頭連接,考慮到監(jiān)控與控制模塊接口的要求,選用USB1.1接口的紅外線攝像頭。 通過CPU上集成的UART接口直接與CDMA Modem模塊相連接,選用價格適中的AnyData公司的DTG
20、S-800 CDMA模塊。,45,2.4 軟件系統(tǒng)設(shè)計,控制終端軟件的核心是嵌入式Linux操作系統(tǒng),一切功能的實現(xiàn)都基于Linux操作系統(tǒng)完成。需要解決的問題主要包括硬件支持、提供二次開發(fā)的環(huán)境以及小型化(裁減內(nèi)核)等。作為一個操作系統(tǒng),Linux內(nèi)核主要負責(zé)程序的管理與調(diào)度、內(nèi)存的管理及對外設(shè)的驅(qū)動和管理等,由于Linux內(nèi)核采用模塊化的設(shè)計,很多模塊可以獨立地加載或卸載,這里只需要串口驅(qū)動、USB攝像頭接口驅(qū)動(包含USB Host,USB Core和USB Device)還有撥號網(wǎng)絡(luò)應(yīng)用,還要支持PPP、TCP/IP網(wǎng)絡(luò)協(xié)議,其他都可以刪除掉,使系統(tǒng)運行所需要的內(nèi)核顯著減小至1Mb以內(nèi)
21、。,46,控制終端程序流程,47,程序設(shè)計,具體程序設(shè)計包括Bootloader啟動代碼、設(shè)備驅(qū)動程序(USB攝像頭接口驅(qū)動程序、串口驅(qū)動程序)、撥號、PPP及TCP/IP協(xié)議處理,監(jiān)控接收轉(zhuǎn)發(fā)控制程序等??刂屏鞒倘缟蠄D所示。 a)系統(tǒng)加電后復(fù)位 b)Bootloader初始化CPU、SDRAM、分配地址空間等。,48,程序設(shè)計,c)Bootloader把Linux內(nèi)核的壓縮文件解壓到SDRAM中,同時把控制權(quán)從Bootloader移交到Linux。Linux的內(nèi)核有兩種運行方式??稍贔lash存儲器上直接運行,也可以加載到內(nèi)存中運行。Flash存儲器運行方式就是把內(nèi)核的可執(zhí)行映像燒寫到Flash存儲器上,系統(tǒng)啟動時從Flash存儲器的某個地址開始運行內(nèi)核,進入SDRAM繼續(xù)運行。這種做法能減少內(nèi)存需要,實際上很多嵌入式系統(tǒng)都采用這種方法;內(nèi)存加載方式把內(nèi)核的壓縮文件存放在Flash存儲器上,系統(tǒng)啟動時自動讀取壓縮文件并在內(nèi)存中解壓,然后開始執(zhí)行,這種方式相對較復(fù)雜,但運行速度更快,這里采用這種方式。,49,程序設(shè)計,d)開始執(zhí)行SDRAM中的代碼,Linux內(nèi)核初始化
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年項目管理流程與方法指南-1
- 企業(yè)環(huán)境保護管理制度與操作手冊
- 電影院廣告宣傳與播放規(guī)定制度
- 人力資源管理創(chuàng)新與效能提升(標(biāo)準(zhǔn)版)
- 超市員工福利及慰問制度
- 菜地管理規(guī)章制度
- 辦公室員工培訓(xùn)效果評估反饋制度
- 養(yǎng)老院老人健康監(jiān)測報告制度
- 中國東方電氣集團有限公司2025年校園招聘備考題庫有答案詳解
- 養(yǎng)老院家屬探訪制度
- 電力線通信技術(shù)
- 人工流產(chǎn)手術(shù)知情同意書
- 鋼鐵燒結(jié)機脫硫脫硝施工方案
- 中國醫(yī)藥行業(yè)中間體出口全景分析:破解政策難題深挖全球紅利
- 河南省百師聯(lián)盟2025-2026學(xué)年高一上12月聯(lián)考英語試卷(含解析含聽力原文及音頻)
- 污水管道更換工程施工方案
- 租戶加裝充電樁免責(zé)補充合同(房東版)
- 甘肅省天水市2024-2025學(xué)年九年級上學(xué)期期末考試物理試題(含答案)
- 2025年佛山市均安鎮(zhèn)專職消防隊招聘消防員5人備考題庫及1套參考答案詳解
- 2026年海南衛(wèi)生健康職業(yè)學(xué)院單招職業(yè)技能考試題庫參考答案詳解
- 法制副校長課件
評論
0/150
提交評論