當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于ARM9芯片S3C2410a的GPRS數(shù)據(jù)終端設(shè)計(jì)

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

1 GPRS技術(shù)
1.1 GPRS工作原理
    GPRS的英文全稱是General Packet Radio Service,譯作“通用分組無線服務(wù)”,它是利用“包交換”(Packet-Switched)的概念發(fā)展起來的一套無線傳輸方式。所謂“包交換”就是將Data封裝成許多獨(dú)立的封包,再將這些封包一一傳送出去,形式上有點(diǎn)類似郵局中的寄包裹。其作用在于只有當(dāng)有資料需要傳送時才會占用頻寬,而且可以以傳輸?shù)馁Y料量計(jì)價,這對廣大用戶來說是較合理的計(jì)費(fèi)方式,因?yàn)橄馡nteract這類的數(shù)據(jù)傳輸大多數(shù)的時間頻寬是閑置的。
    GPRS網(wǎng)絡(luò)是基于現(xiàn)有的GSM網(wǎng)絡(luò)來實(shí)現(xiàn)的,在現(xiàn)有的GSM網(wǎng)絡(luò)中需增加一些節(jié)點(diǎn),如GGSN(Gateway GPRS Supporting Node,GPBS網(wǎng)關(guān)支持節(jié)點(diǎn))和SGS(Serving GSN,GPRS服務(wù)支持節(jié)點(diǎn)),GSN是GPRS網(wǎng)絡(luò)中最重要的網(wǎng)絡(luò)節(jié)點(diǎn)。GSN具有移動路由管理功能,它可以連接各種類型的數(shù)據(jù)網(wǎng)絡(luò),并可以連到GPRS寄存器。GSN可以完成移動終端和各種數(shù)據(jù)網(wǎng)絡(luò)之間的數(shù)據(jù)傳送和格式轉(zhuǎn)換。GSN可以是一種類似于路由器的獨(dú)立設(shè)備,也可以與GSM中的MSC集成在一起。
    GSN有兩種類型:一種為SGSN(Serving GSN,服務(wù)GSN),另一種為GGSN(Gateway GSN,網(wǎng)關(guān)GSN)。SGSN的主要作用是記錄移動終端的當(dāng)前位置信息,并且在移動終端和GGSN之間完成移動分組數(shù)據(jù)的發(fā)送和接收。GGSN主要是起網(wǎng)關(guān)作用,它可以和多種不同的數(shù)據(jù)網(wǎng)絡(luò)連接。如ISDN。PSPDN和LAN等。GGSN可以把GSM網(wǎng)中的GPRS分組數(shù)據(jù)包進(jìn)行協(xié)議轉(zhuǎn)換,從而可以把這些分組數(shù)據(jù)包傳送到遠(yuǎn)端的TCP/IP或X.25網(wǎng)絡(luò)。GPRS工作時,通過路由管理來進(jìn)行尋址和建立數(shù)據(jù)連接,而GPRS的路由管理表現(xiàn)在以下3個方面:一是移動終端發(fā)送數(shù)據(jù)的路由建立;二是移動終端接收數(shù)據(jù)的路由建立;三是移動終端處于漫游時數(shù)據(jù)路由的建立。對于第一種情況,當(dāng)移動終端產(chǎn)生了一個PDU分組數(shù)據(jù)單元,這個PDU經(jīng)過SNDC層處理,稱為SNDC數(shù)據(jù)單元,然后經(jīng)過LLC層處理為LLC幀,并通過空中接口送到GSM網(wǎng)絡(luò)中移動終端所處的SGSN,SGSN把數(shù)據(jù)送到GGSN,GGSN把收到的消息進(jìn)行解裝處理,轉(zhuǎn)換為可在公用數(shù)據(jù)網(wǎng)中傳送的格式(如PSPDN的PDU),最終送給公用數(shù)據(jù)網(wǎng)的用戶。為了提高傳輸效率,并保證數(shù)據(jù)傳輸?shù)陌踩梢詫罩薪涌谏系臄?shù)據(jù)做壓縮和加密處理。在第二種情況中,一個公用數(shù)據(jù)網(wǎng)用戶傳送數(shù)據(jù)到移動終端時,首先通過數(shù)據(jù)網(wǎng)的標(biāo)準(zhǔn)協(xié)議建立數(shù)據(jù)網(wǎng)和GGSN之間的路由。數(shù)據(jù)網(wǎng)用戶發(fā)出的數(shù)據(jù)單元(如PSPDN中的PDU),通過建立好的路由把數(shù)據(jù)單元PDU送給GGSN。而GGSN再把PDU送給移動終端所在的SGSN上,GSN把PDU封裝成SNDC數(shù)據(jù)單元,再經(jīng)過LLC層處理為LLC幀單元,最終通過空中接口送給移動終端。第三種情況是一個數(shù)據(jù)網(wǎng)用戶傳送數(shù)據(jù)給一個正在漫游的移動用戶。這種情況下的數(shù)據(jù)傳送必須要經(jīng)過歸屬地的GGSN,然后送到用戶A端。

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

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

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

3.2 配置和編譯Linux內(nèi)核
    Linux內(nèi)核主要由5個子系統(tǒng)組成:進(jìn)程調(diào)度、內(nèi)存管理、虛擬文件系統(tǒng)、網(wǎng)絡(luò)接口、進(jìn)程間通信。
3.2.1 配置內(nèi)核
    配置內(nèi)核的命令有make config;make oldcoafig;make menucoafig;make xconfig。無論哪個命令都將產(chǎn)生config文件,并在每一個c源文件中加上<Linux/config.h>,使define的宏起全局性的作用。
3.2.2 編譯內(nèi)核
    編譯內(nèi)核需要3個步驟,分別是創(chuàng)建內(nèi)核依賴關(guān)系、創(chuàng)建內(nèi)核鏡像文件和創(chuàng)建內(nèi)核模塊。執(zhí)行make up命令進(jìn)行編譯。
    生成內(nèi)核以后,接下來要做的是安裝它。對每一個內(nèi)核配置來說。要復(fù)制4個丈件:沒有壓縮的內(nèi)核鏡像(zlmage和bzlmage)、壓縮的內(nèi)核鏡像(vmlinux)、內(nèi)核符號映射文件(System.map)以及配置文件(config)。
    最后用loader.exe燒寫zlmage 或bzImage 到Nor Flash 的0x00010000地址。

4 GPRS數(shù)據(jù)終端實(shí)現(xiàn)
    GR100通過RS232接口與ARM9系統(tǒng)連接,最終實(shí)現(xiàn)了基于ARM9芯片S3c2410a的GPRS數(shù)據(jù)終端。該終端內(nèi)部已移植了Linux操作系統(tǒng),可在該系統(tǒng)下自主開發(fā)軟件,使其功能更加強(qiáng)大,例如連接LCD,實(shí)現(xiàn)可視化操作等。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉