18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> 嵌入式係統 >> ARM >> 正文

基於ARM9芯片S3C2410a的GPRS數據終端設計

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2008-11-3

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

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

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

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

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

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

4 GPRS數據終端實現
    GR100通過RS232接口與(yu) ARM9係統連接,最終實現了基於(yu) ARM9芯片S3c2410a的GPRS數據終端。該終端內(nei) 部已移植了Linux操作係統,可在該係統下自主開發軟件,使其功能更加強大,例如連接LCD,實現可視化操作等。

Tags:arm,gprs,數據終端,設計  
責任編輯:admin
相關文章列表
沒有相關文章
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢