<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è) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于A(yíng)ndroid的GPRS的車(chē)載通信終端設計方案

基于A(yíng)ndroid的GPRS的車(chē)載通信終端設計方案

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

摘 要:隨著(zhù)車(chē)聯(lián)網(wǎng)技術(shù)的不斷發(fā)展和應用,日臻普及和嵌入式系統的崛起,車(chē)輛網(wǎng)變得越來(lái)越智能化。

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

  采用操作系統和MD231模塊,以S3C6410嵌入式處理器為核心,了一個(gè)車(chē)輛故障參數的遠程傳輸的,能實(shí)現數據的處理、遠程傳輸。通過(guò)能對車(chē)輛狀態(tài)進(jìn)行實(shí)時(shí)監控,出現故障時(shí),可以根據故障數據進(jìn)行準確的修理,減少車(chē)輛的拋錨時(shí)間。

  關(guān)鍵詞:;GPRS;ARM;通信終端

  0 引 言

  隨著(zhù)通信技術(shù)的發(fā)展,通信終端由單一的通話(huà)工具變成信息綜合處理平臺,成為辦公、野外作業(yè)重要工具。

  隨著(zhù)半導體制作工藝的發(fā)展和芯片水平的進(jìn)步,微處理器的性能大幅度地提高,ARM(Advanced RISCMachines)以其體積小、低功耗、低成本、高性能的特點(diǎn)逐漸在工業(yè)、無(wú)線(xiàn)通信、網(wǎng)絡(luò )消費電子等領(lǐng)域占據主流。

  其中,在無(wú)線(xiàn)通信領(lǐng)域85%的無(wú)線(xiàn)通信設備采用了ARM 技術(shù)。另外,是Google于2007年11月5日宣布的Linux平臺的開(kāi)源手機操作系統,它開(kāi)放性好,功能擴展性強,并可集成Google應用。

  車(chē)輛故障遠程監控是一個(gè)實(shí)時(shí)的過(guò)程,當有故障數據出現就通過(guò)GPRS發(fā)送到監控中心,同時(shí)監控中心給終端發(fā)送相應的執行命令,減少汽車(chē)拋錨時(shí)間。本文中使用了訊研通信息技術(shù)有限公司的MD231GPRS模塊和三星公司的S3C6410芯片。

  1 系統總體

  終端由ARM11?1 eZ芯片模塊通過(guò)串口線(xiàn)控制GPRS模塊的數據收發(fā),連接到移動(dòng)公司的GPRS網(wǎng)絡(luò ),再連接到遠程的計算機監控中心,從而實(shí)現遠程的數據傳輸功能。

  系統總體設計包括硬件設計和軟件設計。硬件部分包括處理器的選型、Android內核移植等等,主要是為軟件部分搭建環(huán)境。軟件部分Java環(huán)境在Eclipse下編程,完成GPRS的數據傳輸功能。系統的總體設計流程如圖1所示。

圖1 總體設計流程

  圖1 總體設計流程

  2 系統硬件設計

  2.1 系統硬件結構

  本終端硬件由GPRS模塊和ARM11芯片處理模塊組成。由于A(yíng)ndroid系統對硬件的要求及經(jīng)濟考慮,處理器選擇為ARM11,內核版本選擇為Android-Kernel-2.6.36,Android操作系統版本為Android-2.3.

  ARM11芯片模塊主要由S3C6410A 處理器、256MDDR RAM 內存、1GB NAND FLASH 存儲器、串口、7寸LCD顯示器組成,NAND FLASH存儲器用于存放已調試好的應用程序和嵌入式Android操作系統,串口用于調試系統及與終端設備進(jìn)行通信,7寸LCD液晶顯示屏用于顯示系統信息和相關(guān)的狀態(tài)。目前,GPRS技術(shù)比較成熟,GPRS模塊選擇實(shí)惠型MD321模塊。

  GRPS模塊外圍有電源、天線(xiàn)和串口線(xiàn),其中,串口線(xiàn)用于與ARM11處理器進(jìn)行通信,能完成數據傳輸、短信收發(fā)、語(yǔ)音等系統框圖如圖2所示[1].

圖2 系統硬件結構框圖

  圖2 系統硬件結構框圖

  2.2 Android操作系統移植

  有了ARM11的硬件,就可以進(jìn)行Android操作系統的移植。Android基于Linux內核,Google提供的內核源代碼中除了Linux部分外,有很大一部分是與虛擬處理器Qemu和模擬硬件平臺Goldfish相關(guān)。所以欲將Android移植到實(shí)際的硬件平臺上,需要編譯出一個(gè)適合目標平臺運行的系統內核。

  在這里,電腦虛擬機上安裝的是Ubuntu系統,用于Uboot移植和Android 內核裁剪和編譯,并在Ubuntu 上安裝交叉編譯器arm-none-linuxgnueabi-gcc.

  2.2.1 Uboot移植

  下載U-boot源碼,在解壓文件夾里,刪除與該硬件版本無(wú)關(guān)的文件。在board目錄下建立Mini6410文件夾,把smdk6400目錄下的所有文件都拷貝到Mini6410目錄下,并建立自己的配置文件Mini6410.h,配置MakeFile文件;修改start.S文件、添加nand.c文件和修改Mini6410.h,使其支持從NAND FLASH 啟動(dòng);在Mini6410.h里,對網(wǎng)卡DM9000A、默認下載地址、環(huán)境變量等進(jìn)行配置;修改網(wǎng)卡驅動(dòng)。最后編譯Uboot生成Uboot.bin二進(jìn)制文件[2].

  2.2.2 Android內核的移植

  下載Android內核源碼,進(jìn)入解壓的Kernel.git文件夾。修改common-smdk.c文件中的NAND FLASH使其為4個(gè)分區,分別為BootLoader區,內核區,文件系統區,其他區;更改MakeFile文件中目標體系結構ARCH為ARM 和交叉編譯工具CROSS_COMPILE為arm-none-linux-gnueabi-;從Android SDK模擬器提取。config配置文件;配置內核,選中與S3C6410有關(guān)的選項;從其他Linux 內核中拷貝DM9000.h 和DM9000.c文件,并將兩個(gè)文件拷貝到內核代碼目錄中,修改相應的配置文件,配置內核支持DM9000A 網(wǎng)卡;編輯mach-smdk6410.c中LCD 驅動(dòng)使其為7寸LCD,拷貝KConfig中相關(guān)內容和文件到新內核,并添加相應的代碼,修改devs.h文件,然后對內核進(jìn)行配置選擇ADC和觸摸屏選項。最后編譯內核生成zImage文件[3].

  2.2.3 Android文件系統的制作

  下載Android源碼并編譯并生成out文件夾。其中root/就是root文件系統,將system/文件夾下的內容拷貝到root/system 下,這樣root/文件夾就是一個(gè)基本的文件系統。將Ubuntu系統/dev下文件夾內容拷貝到root/dev下面,并通過(guò)mknod命令創(chuàng )建需要的device[4].

  2.3 硬件平臺測試

  通過(guò)SD卡燒寫(xiě)Uboot、內核和文件系統的鏡像文件到NAND FLASH,上電重啟開(kāi)發(fā)板,系統能正常運行如圖3所示。運用XP系統上超級終端對串口進(jìn)行通信測試,超級終端能收發(fā)信息,圖4為超級終端對Mini6410開(kāi)發(fā)板根目錄的查詢(xún),串口RS 232可用。

 圖3 Android系統運行界面

  圖3 Android系統運行界面。

3 系統軟件設計

3.3 軟件測試

  通過(guò)adb工具把com.apk從模擬器中取出來(lái),再通過(guò)adb工具把生成好的com.apk放入終端上,或者140 現代電子技術(shù)2012年第35卷在Eclipse編譯時(shí)直接選擇硬件MINI6410_2011W08,com.apk就直接生成在終端上了。圖8為軟件通信時(shí)的界面,在中心軟件上輸入IP地址222.212.77.78,端口號上輸入6000,點(diǎn)擊連接,接收區將顯示“connect:

  addr=222.212.78.77,port=6000,type=tcp OATRACE:oa_soc_connect_req:sock_id=1connectblock waiting!”實(shí)時(shí)顯示區顯示傳感器數據,這里以車(chē)霧燈為例,車(chē)霧燈狀態(tài)0(0表示正常,1為異常),在串口發(fā)送區可手動(dòng)給監控中心發(fā)送數據,數據以ASCII字符ESC作為結束符。為了測試能否發(fā)送數據,以數據0為例,在發(fā)送區填寫(xiě)30 1b點(diǎn)擊發(fā)送按鈕,在串口接收區有“SEND OK”字符串表示發(fā)送成功,有“SOCKET=0RECV=datalen>:rn30 1b>”字符串表示監控中心收到數據。

 圖8 數據發(fā)送界面

  圖8 數據發(fā)送界面

  4 結 語(yǔ)

  系統經(jīng)過(guò)集成測試,工作性能和可靠性良好,能夠在車(chē)聯(lián)網(wǎng)應用中和遠程監控中心實(shí)現有效通信,根據具體的情況給終端發(fā)送相應的命令數據,從而實(shí)現了車(chē)輛遠程的監控。

  3.1 Android軟件開(kāi)發(fā)環(huán)境的搭建

  Android作為一個(gè)開(kāi)放式的平臺,并將Java語(yǔ)言作為它的官方語(yǔ)言,這不僅是考慮到Java語(yǔ)言的強大功能,而且考慮Android平臺上絕大部分的程序都是基于Java的程序。Eclipse作為時(shí)下最流行的Java開(kāi)發(fā)第15期唐奇明,等:基于A(yíng)ndroid的GPRS的通信終端的設計139工具之一,其良好的開(kāi)放性、開(kāi)發(fā)效率高、便于使用的特點(diǎn)非常符合OHA(Open Handset Alliance,開(kāi)放手機聯(lián)盟)的主旨,非常適合作為Android的開(kāi)發(fā)工具來(lái)使用。

圖4 超級終端查詢(xún)Android系統根目錄界面

  圖4 超級終端查詢(xún)Android系統根目錄界面

  在官方網(wǎng)站下載基于XP系統下的JDK6,安裝完成后需要配置環(huán)境變量、系統變量和路徑;在官方網(wǎng)站下載并安裝XP 系統下的Android SDK,啟動(dòng)SDKManager下載并安裝Android 2.3的相關(guān)Packages;在官方網(wǎng)站下載Eclipse、安裝Android DevelopmentTools插件和配置Eclipse(選擇SDK的安裝路徑);啟動(dòng)SDK Manager,創(chuàng )建Android 2.3-API Level 9模擬器如圖5所示[5].

圖5 Android 2.3-API Level 9模擬器

  圖5 Android 2.3-API Level 9模擬器

  3.2 GPRS通信應用軟件

  應用軟件是在Eclipse環(huán)境下完成的。應用軟件主要實(shí)現對傳感器實(shí)時(shí)數據顯示,連接遠程監控中心,當出現異常數據時(shí),通過(guò)GPRS傳輸到遠程監控中心,同時(shí)顯示遠程監控中心傳輸過(guò)來(lái)的命令。

  3.2.1 通信應用程序處理器通過(guò)串口與GPRS進(jìn)行通信

  通信程序主要包括初始化、GPRS參數配置、建立連接、數據傳輸、斷開(kāi)5個(gè)部分。GPRS通信應用程序流程圖如圖6所示。

 ?。?)初始化。處理器通過(guò)AT命令初始化串口,包括波特率、數據位、停止位、奇偶校驗位等。

 ?。?)GPRS參數配置。需要AT 命令配置GPRS一些參數才能進(jìn)行通信。參數包括GPRS模塊通信網(wǎng)絡(luò )、登陸網(wǎng)絡(luò )的用戶(hù)名和密碼、遠端IP地址、端口號、通信協(xié)議類(lèi)型、工作模式[6].

 ?。?)建立連接。ARM 通過(guò)AT命令激活GPRS模式、控制GPRS進(jìn)行網(wǎng)絡(luò )連接,在正常反饋下,一條終端到遠程監控中心的物理通道就建立起來(lái)了。

 ?。?)數據傳輸。在與遠程監控中心連接成功后,就可以進(jìn)行數據的收發(fā)操作。當接收數據時(shí),終端從GPRS網(wǎng)絡(luò )上接收到數據幀,經(jīng)協(xié)議處理模塊拆封之后,提取用戶(hù)數據,然后傳輸給RS 232接口;當發(fā)送數據時(shí),設備從RS 232接口收到要發(fā)送的數據,經(jīng)協(xié)議處理模塊封裝,然后發(fā)送到GPRS網(wǎng)絡(luò )上。

 ?。?)斷開(kāi)連接。當檢測到數據傳輸結束標志“+++”時(shí),通過(guò)發(fā)送“AT#CONNECTIONSTOP”命令釋放數據鏈路。

圖6 GPRS通信應用程序流程圖

  圖6 GPRS通信應用程序流程圖

  3.2.2 應用程序界面設計

  應用程序在Eclipse環(huán)境下完成的。在Eclipse上創(chuàng )建“Android Project”類(lèi)型的工程,用widget(Text-View,Button,EditText等)構建UI,生成相關(guān)xml文件,并對UI進(jìn)行事件處理(Button控件事件監聽(tīng)),軟件界面如圖7所示[7].

圖7 軟件界面

  圖7 軟件界面

數字通信相關(guān)文章:數字通信原理


通信相關(guān)文章:通信原理




評論


相關(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>