基于ARM9芯片S3C2410a的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等設備)是透明的。
評論