电子开发 | 基础入门 | 电路原理图 | 濮婎垰鑸伴崶鎯х杽娓氾拷 | PLC閸╄櫣顢�   閵嗗﹤顩ч弸婊冩灘濞嗐垺婀扮粩娆欑礉鐠囬攱瀵� Ctrl+D 閹靛濮╅弨鎯版閿涗焦鍔呯拫銏″亶閻ㄥ嫭鏁幐浣碘偓锟�娑撯偓鐠у嘲顒熸稊鐘辩鐠х柉绻樺銉礉閻㈤潧鐡欏鈧崣鎴犲竾濞嗐垼绻嬮幃顭掔磼.

电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册

閳藉懐鏁哥捄顖氬彆瀵繑澧滈崘宀嬬礉閺堚偓閺傛壆澧楅妴濠勬暩鐎涙劗鏁哥捄顖氬彆瀵繗顓哥粻妤€娅掗妴瀣剁礉閻絻鐭鹃崗顒€绱¢弻銉嚄閹靛鍞� 閻絻鐭鹃崗顒€绱$拋锛勭暬閸c劊鈧劗鏁哥€涙劒绮犳稉姘眽閸涙ê绻€婢跺洦澧滈崘灞烩偓锟�
閳藉棗宕勬径鈺侇劅娴兼艾宕熼悧鍥ㄦ簚鐎圭偘绶�100 c鐠囶叀鈻� chm閺嶇厧绱¢妴鍌濈カ閺傛瑥鍞寸€圭顕涚紒鍡礉鐟曞棛娲婃笟瀣摍婢舵熬绱濋崘鍛啇楠炶¥鈧劗鏁哥€涙劒绮犳稉姘眽閸涙ê绻€婢跺洦澧滈崘灞烩偓锟�
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 嵌入式系统 >> ARM >> 正文

基于ARM9芯片S3C2410a的GPRS数据终端设计

作者:佚名    文章来源:本站原创    点击数:1720    更新时间:2008/11/3

    随着科技的发展,人类生活节奏的加快,信息在生活中的地位日益重要,如何方便快捷并及时有效地获取信息成为现代信息处理中的关键问题。在这种需求下,中国移动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,实现可视化操作等。


Tags:arm,gprs,数据终端,设计  
责任编辑:admin
相关文章列表
没有相关文章
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
    没有任何评论
閻㈤潧鐡欏鈧崣鎴犵秹閿涙碍鐪归梿鍡欐偅閸氬牆鎮囩猾鑽ゆ暩鐎涙劕鍩楁担婊€绗岄悽浣冪熅閸ュ墽娈戠純鎴犵彲閿涘lc瀹搞儲甯堕幎鈧張锟�,濡紕鏁搁弫鎵暩閻儴鐦�,閸楁洜澧栭張绡岲A缁涘鐡戦敍浣藉疮閽€鍐暩鐠侯垰娴樼純鎴犵彲缁儳宕曢敍灞艰礋瀹搞儳鈻肩敮鍫濆灡闁姳鐜崐绗衡偓鍌涱偨鏉╁骸鍙у▔銊ヤ簳娣団€冲彆娴兼褰块敍姘辨暩鐎涙劕绱戦崣鎴犵秹閿涳拷
鐠у嫭鏋¢崠鍛瑓鏉烇拷
 [闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬螖閿曚焦纭堕柕鍫亰閺岋繝宕掗敂钘夘伓]闂備礁鎲¢妵鐐电矆娓氣偓婵″灚寰勭仦绋夸壕婵炴垵纾槐鎵磼閸欐ê宓嗙€规洩绻濆鎾偐瀹割喗姣堥梻浣告惈閻楀棝骞栭锔藉仾闁告洦鍓涢悷褰掓煥閻曞倹瀚�100 c闂佽崵濮村ù鍕箯閿燂拷
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]濠电偞鍨堕幐鎼佀囩€圭姰浜圭紒鈧悜鐫犻梺璇插閸愯崵绱撳鍗炲К闁告洦鍓涢々鐑芥偣閹帒濡介柛鈺佸€垮鍫曟倻閸℃浠у┑鐐叉-閺侇煝-TR
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]LM324闂佸搫顦弲婊堝礉閺嶎厼妫橀柨鐕傛嫹4~20mA闂佸搫顦遍崕鎴﹀箯閿燂拷1~5V闂備焦鐪归崹褰掓倶濮樿京鐭堥柨鐕傛嫹
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]LM386濠碉紕鍋涘﹢杈╁垝椤栫偞鍊垫い鎺嶇劍婵挳鏌熼幑鎰靛殭妞ゆ柨锕弻娑滅疀閹垮啫鍓跺銈冨劜閹瑰洤顕i妸鈺佺畾鐟滃绂嶉敐澶嬬厱闁挎繂鍟俊濂告偨椤栥倖瀚�
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]936闂備胶绮敮鎺楁晝閵堝牄浜归柟缁㈠枟閸嬨劌霉閿濆懎鏆熼柣鏂挎嚇閺屾稑螣閻撳孩鐏侀梺璇″枛閿曨亜鐣烽崼鏇熸櫢闁跨噦鎷�
 [闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬螖閿曚焦纭堕柕鍫亰閺岋繝宕掗敂钘夘伓]闂佺儵鍓濈敮鎺楀箠鎼淬劍鏅柟閭﹀厴閺嬫牠鏌曡箛銉х?闁靛牊鎸抽幃褰掓偖鐎涙ê顏�+婵犵數鍋為幐鎾疾濞戞埃鍋撻惂鍛婂+闂備胶顢婄紙浼村磿閹绢噮鏁嗛柣鏂垮悑閸庡秹鏌涢弴銊ヤ簻缂佲偓閿燂拷
 [闂傚倷绶¢崑鍛潩閵娾晛鏋侀柕鍫濐槹閸嬨劑姊婚崼鐔恒€掗柟钘夌Ч閹鎷呴悷鎵槰濡炪倖鎸搁幉鈥翅缚椤忓牜鏁嶆繛鍡樺姦閸嬶拷]S7-200PLC闂備焦鐪归崝宀€鈧凹浜為幐鎺楀閵堝棗鍓抽梺缁樻⒐濡叉帡骞忛鈷氬綊鎮崨顔碱伓 S7_2
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]S7-200闂佸湱鍘ч悺銊╁箰婵犳艾鍑犻柛鎰ㄦ櫇椤╃兘鎮规担鍛婅础缂佲偓閸曨垱鐓曢煫鍥风悼閸樻粎绱掗幉瀣,STEP7
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]ModbusPoll闂備礁鎲$划宀勵敆閻栧獛busSalve闂備胶枪妤犲繘骞忛敓锟�
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]STEP7婵犵妲呴崹顏堝礈濠靛牃鍋撳顓犳噰闁哄苯鐭佺粻娑㈠棘鐠恒劍鈻屽┑鐐差嚟婵即宕愰弴鐘哄С闁跨噦鎷� Smart_
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]Modbus闂佽崵濮撮鍛村疮閹惰姤鍎婃い鏍ㄧ矊閸ㄦ繈鏌涢幘妤€鍊荤憴锟� v1.024 缂傚倸鍊风欢銈夊箯閿燂拷
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]Modscan32闂備礁鎲$划宀勵敆閻栧獛sim32,modb
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]89c51闂備胶枪缁绘劙藝闁秵鍋熸繛鎴欏灩濡﹢姊洪锝囶灱闂傚棗缍婇弻锝夘敂閸℃鐝㈢紓浣介哺閻涱槝otues
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]濠电偞鍨堕幐绋棵洪妶澶婄濡わ絽鍟崒銊╂煕閻愭潙袨otues濠电偛顕慨鎯р枖閺囩儑鑰块柨娑樺閻瑩鎮楅敐搴濈敖缁炬澘绉电换婵婎槼闁告梹顨婇幃銉╂晸閿燂拷
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]51闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬鏌涘┑鍡楊仼闁秆冿功缁辨帞鈧綀鍩栫€氾拷 protues濠电偛顕慨鎯р枖閺囩儑鑰块柨鐕傛嫹
閺堚偓閺傜増鏋冪粩锟�
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询