歡迎您光臨本站 登入註冊首頁

概述

   隨著科技的發展,人類生活節奏的加快,信息在生活中的地位日益重要,如何方便快捷並及時有效地獲取信息成為現代信息處理中的關鍵問題。在這種需求下,中國移動GPRS業務及時……

    隨著科技的發展,人類生活節奏的加快,信息在生活中的地位日益重要,如何方便快捷並及時有效地獲取信息成為現代信息處理中的關鍵問題。在這種需求下,中國移動GPRS業務及時地投人運營,無線數據通信的應用越來越廣泛。相對原來GSM的撥號方式的電路交換數據傳送方式.GPRS是分組交換技術,具有實時在線、按量計費、快捷登錄,高速傳輸、自如切換的優點。GPRS採用分組交換的技術,數據傳輸速率最高理論值能達171.2 kb/s。電路交換數據業務速率為9.6 kb/s,因此GPRS在傳輸速度方面具有無與倫比的優勢。更由於其本身就是一個分組數據網,支持TCP/IP協議,無需經過PSTN等網路的轉接,可直接與Internet網路連接,因此GPRS在信息處理方面的優勢是不可比擬的。
    為了滿足GPRS數據終端的低成本、小型化和移動靈活等要求,採用ARM9晶元S3c2410a對GPRS數據終端進行控制。本文在S3C2410a中移植的是Linux操作系統,通過Linux操作系統可方便快捷地進行數據的傳輸和網路終端的控制;同時改善了系統性能,提高了系統可靠性,並使系統的擴展和開發性能進一步得到提高。

1 GPRS技術
1.1 GPRS工作原理
    GPRS的英文全稱是General Packet Radio Service,譯作“通用分組無線服務”,它是利用“包交換”(Packet-Switched)的概念發展起來的一套無線傳輸方式。所謂“包交換”就是將Data封裝成許多獨立的封包,再將這些封包一一傳送出去,形式上有點類似郵局中的寄包裹。其作用在於只有當有資料需要傳送時才會佔用頻寬,而且可以以傳輸的資料量計價,這對廣大用戶來說是較合理的計費方式,因為像Interact這類的數據傳輸大多數的時間頻寬是閑置的。
    GPRS網路是基於現有的GSM網路來實現的,在現有的GSM網路中需增加一些節點,如GGSN(Gateway GPRS Supporting Node,GPBS網關支持節點)和SGS(Serving GSN,GPRS服務支持節點),GSN是GPRS網路中最重要的網路節點。GSN具有移動路由管理功能,它可以連接各種類型的數據網路,並可以連到GPRS寄存器。GSN可以完成移動終端和各種數據網路之間的數據傳送和格式轉換。GSN可以是一種類似於路由器的獨立設備,也可以與GSM中的MSC集成在一起。
    GSN有兩種類型:一種為SGSN(Serving GSN,服務GSN),另一種為GGSN(Gateway GSN,網關GSN)。SGSN的主要作用是記錄移動終端的當前位置信息,並且在移動終端和GGSN之間完成移動分組數據的發送和接收。GGSN主要是起網關作用,它可以和多種不同的數據網路連接。如ISDN。PSPDN和LAN等。GGSN可以把GSM網中的GPRS分組數據包進行協議轉換,從而可以把這些分組數據包傳送到遠端的TCP/IP或X.25網路。GPRS工作時,通過路由管理來進行定址和建立數據連接,而GPRS的路由管理表現在以下3個方面:一是移動終端發送數據的路由建立;二是移動終端接收數據的路由建立;三是移動終端處於漫遊時數據路由的建立。對於第一種情況,當移動終端產生了一個PDU分組數據單元,這個PDU經過SNDC層處理,稱為SNDC數據單元,然後經過LLC層處理為LLC幀,並通過空中介面送到GSM網路中移動終端所處的SGSN,SGSN把數據送到GGSN,GGSN把收到的消息進行解裝處理,轉換為可在公用數據網中傳送的格式(如PSPDN的PDU),最終送給公用數據網的用戶。為了提高傳輸效率,並保證數據傳輸的安全,可以對空中介面上的數據做壓縮和加密處理。在第二種情況中,一個公用數據網用戶傳送數據到移動終端時,首先通過數據網的標準協議建立數據網和GGSN之間的路由。數據網用戶發出的數據單元(如PSPDN中的PDU),通過建立好的路由把數據單元PDU送給GGSN。而GGSN再把PDU送給移動終端所在的SGSN上,GSN把PDU封裝成SNDC數據單元,再經過LLC層處理為LLC幀單元,最終通過空中介面送給移動終端。第三種情況是一個數據網用戶傳送數據給一個正在漫遊的移動用戶。這種情況下的數據傳送必須要經過歸屬地的GGSN,然後送到用戶A端。

1.2 GPRS的協議模型
    Um介面是GSM的空中介面。Um介面上的通信協議有5層,自下而上依次為物理層、MAC (Media Access Control)層、LLG(Logical LinkControl)層、SNDC層和網路層。Um介面的物理層為射頻介面部分,而物理鏈路層則負責提供空中介面的各種邏輯通道。GSM空中介面的載頻帶寬為200 kHz,一個載頻分為8個物理通道。如果8個物理通道都分配為傳送GPRS數據,則原始數據速率可達200 kb/s。考慮前向糾錯碼的開銷,則最終的數據速率可達164 kb/s左右。MAC為媒質訪問控制層。MAC的主要作用是定義和分配空中介面的GPRS邏輯通道,使得這些通道能被不同的移動終端共享。LLG層為邏輯鏈路控制層。它是一種基於高速數據鏈路規程HDLG的無線鏈路協議。SNDC被稱為子網依賴結合層。它的主要作用是完成傳送數據的分組、打包,確定TCP/IP地址和加密方式。網路層的協議目前主要是Phasel階段提供的TCP/IP和L25協議。TCP/IP和X.25協議對於傳統的GSM網路設備(如:BSS,NSS等設備)是透明的。

2 嵌入式系統設計
2.1 系統硬體結構
2.1.1 ARM9系統硬體結構
    ARM9系統硬體結構見圖1。
 
2.1.2 GPRS傳輸設備
    本文使用的GPRS傳輸設備是北京華榮匯通信設備有限公司開發的GR100型GPRS MODEM,採用了高性能內嵌TCP/IP協議棧GPRS模塊。
2.2 系統運作過程
(1)物理過程。ARM利用AT指令通過GPRSModem撥號,正確反饋及應答后,一條物理通道即GPRS通道就在系統中的GPRS Modem和GPRS網路之間建立起來。
(2)數據過程。PPP協議將原始的GPRS物理層連接改造成無差錯的數據鏈路,系統將遠程登錄Internet,並得到GPRS網關分配的IP地址。
(3)網路過程。採用IP協議作為網路層協議。IP協議將接人Internet的具有不同IP地址的終端都聯繫起來。經過IP路由選擇,可以實現系統與連在Internet上的任一IP終端進行數據交互。
(4)傳輸過程。選擇TCP作為傳輸層協議,為數據傳輸提供面向連接,可靠服務。

3 軟體設計
3.1 嵌入式系統的引導代碼Bootloader
    Bootloader(引導載入程序)是嵌入式系統加電后運行的第一段代碼,在PC中,引導載入程序由BIOS和位於硬碟MBR中的操作系統引導載入程序一起組成的。
    Bootloader啟動大多數分為2個階段。第一階段主要包含依賴於CPU的體系結構硬體初始化的代碼,通常都用彙編語言來實現。這個階段任務有:基本的硬體設備初始化(屏蔽所有的中斷、關閉處理器內部指令,數據Cache等);為第二階段準備RAM空間;如果是從某個固態存儲媒質中,則複製Bootloader的第二階段代碼到RAM中;設置堆棧;跳轉到第二階段的C程序入口點。
    第二階段通常用c語言完成,以便實現更複雜的功能。這個階段任務有:初始化本階段要使用到的硬體設備;檢測系統內存映射;將內核映像和根文件系統映像從Flash讀到RAM 為內核設置啟動參數;調用內核。
    在U-BOOT(在PPC-BOOT的基礎上進化而來的一個開放源碼的嵌入式BOOTROM程序)中通過下面兩行代碼進行兩個階段的工作交換:
Ldr pc,_start_armboot
_start_armboot:.word staxt_armboot
    Bootloader調用Linux內核的方法是直接跳轉到內核的第一指令處,在跳轉時必須滿足下列條件:CPU寄存器設置。R0為O;R1為機器類型ID;R2為啟動參數,標記列表在RAM中的起始基地址,CPU模式。必須禁止中斷(IRQs和VlQs);CPU必須設置為SVC模式。Cache和MMU的設置。MMU必須關閉;指令Cache可以打開也可以關閉;數據Cache必須關閉。在編寫完Bootloader后,利用JTAG下載電纜.燒寫到Nor Flash中即可。

3.2 配置和編譯Linux內核
    Linux內核主要由5個子系統組成:進程調度、內存管理、虛擬文件系統、網路介面、進程間通信。
3.2.1 配置內核
    配置內核的命令有make config;make oldcoafig;make menucoafig;make xconfig。無論哪個命令都將產生config文件,並在每一個c源文件中加上<Linux/config.h>,使define的宏起全局性的作用。
3.2.2 編譯內核
    編譯內核需要3個步驟,分別是創建內核依賴關係、創建內核鏡像文件和創建內核模塊。執行make up命令進行編譯。
    生成內核以後,接下來要做的是安裝它。對每一個內核配置來說。要複製4個丈件:沒有壓縮的內核鏡像(zlmage和bzlmage)、壓縮的內核鏡像(vmlinux)、內核符號映射文件(System.map)以及配置文件(config)。
    最後用loader.exe燒寫zlmage 或bzImage 到Nor Flash 的0x00010000地址。

4 GPRS數據終端實現
    GR100通過RS232介面與ARM9系統連接,最終實現了基於ARM9晶元S3c2410a的GPRS數據終端。該終端內部已移植了Linux操作系統,可在該系統下自主開發軟體,使其功能更加強大,例如連接LCD,實現可視化操作等。


[admin via 研發互助社區 ] 基於ARM9晶元S3C2410a的GPRS數據終端設計已經有2322次圍觀

http://cocdig.com/docs/show-post-42213.html