欢迎来到天天文库
浏览记录
ID:14638616
大小:316.50 KB
页数:6页
时间:2018-07-29
《内嵌tcp/ip协议的cdma无线终端》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、内嵌TCP/IP协议的CDMA无线终端CDMA是无线通信领域的后起之秀,采用频分编码技术,与基于时分复用的GSM相比具有明显优势。CDMA能够实现从现有通信系统到下一代通信系统的平滑过渡,具有较强的功能伸缩性;可以支持先进的天线技术,通过增加小区覆盖范围减少基站数目;所有带宽信道都能支持高速数据业务;网络频率利用率高,设计施工和扩容较为简便。 内嵌TCP/IP协议的CDMA无线终端通过CDMA网络和Internet达到数据传输的目的,适合于开发基于无线应用的产品,如监控、调度、车载、遥控、远程测量、定位和导航等。这些系统开机就能自动附着到CDMA网
2、络上,与数据中心实时在线进行数据通信、高速传输,可靠性强,具有良好的应用前景。文中提出的CDMA无线通信模块,提供了TCP/IP协议接口的AT命令,结合命令控制模块,适用于主机没有TCP/TP协议,但使用串口通信的情况(如单片机数据采集传输系统等)。 1CDMA无线终端TCP/IP协议实现 Internet的实质是实现异种网络的互联,它充分利用各种通信子网的数据传输能力,通过在依赖于通信子网的通信模块和应用程序之间插入新的协议软件来保证应用程序之间的互操作性。因特网的协议族称为“TCP/IP协议族”,其中包含了为数众多的协议,如应用层协议,传输层
3、TCP、UDP协议,网络层的IP、ARP、ICMP协议以及数据链路层协议等。无线网络与互联网整合,信息包通过无线媒介无缝地传输至基于IP协议的网络,在传输前,数据包必须根据TCP/IP协议封装。在CDMA网络中也采取了IP协议进行传输。CDMA系统中的TCP/IP协议结构自下而上分别为数据链路层(包括接口层和链接层)、网络层和传输及应用层。 1.1数据链路层原理 CDMA系统中的数据链路层比较特别,涉及无线链路的链接及控制。链路层由RLP和PPP组成,数据业务的传递主要由无线链路协议(RLP)完成。RLP子层是上层应用与底层物理连接之间的重要接口
4、,位于MAC层的复用子层之上。其主要作用是利用物理层的前向和反向信道为上层应用提供面向比特流的传输,而并不考虑上层应用的具体帧格式,根据复用子层的要求形成RLP帧。RLP子层中质量保证措施的核心思想是一种尽力而为的传输机制(BestEffortDelivery),即RLP子层依据协议规定的参数尽可能地保证数据的正确传输。 PPP包括串行链路上封装数据报的方法;建立、配置和测试数据链路链接的LCP协议(Linkcontr01Protocol);建立和配置网络层协议的IPCP协议(IPControlProtocol);鉴权协议PAP/CHAP。为了在点
5、到点链路上建立通信,PPP链路的一端必须在建立阶段首先发LCP包配置数据链路。在链路建立后,进入网络层协议之前,PPP提供一个可选择的鉴权阶段。默认情况下,鉴权不是强制的。如果希望进行链路的鉴权,则实现者必须在建立阶段指明鉴权协议配置选项。 1.2应用层实现 传统的网络编程都调用SocketAPI函数连接低层传输协议。常用的网络编程接口包括BSD(BerkeleySoftwareDistributlon)Sockets和WinsockTM。为了支持网络应用,CDMA系统自身提供了完整的SocketAPI函数。建立一个TCP连接过程如图1所示。
6、 应用程序调用dss_open_netlib()函数打开网络库,使数据业务状态机进入Socket模式,同时定义网络回调函数和Socket回调函数,返回应用ID号。应用程序通过网络回调函数得知低层网络是否可用,Socket回调函数描述Socket事件。 应用程序调用dss_pppopen()函数建立网络子系统,包括传输信道的建立和连接。网络子系统建立后,网络回调函数通知应用程序当前网络可用。 图1中省略了一个步骤,即低层协议建链后,调用dss_socket()函数创建一个新的套接字用来进行网络通信。返回一个描述符代表这个套接字;同时进行SCB(So
7、cketControlBlock)及相关数据结构的初始化,指定协议使用的地址族(AF_INET)、Socket类型(sockstream-TCPsockets)和协议类型(IPPROTO_TCP)。 此时调用dss_connect()与远程服务器建立一个活动连接。函数立即返回DS_EWOULDBLOCK,表示操作需要暂停。应用程序通过dss_async_select()函数,设定SCB的相应位,指定当前待处理事件(如DS_WRITE_EVENT),以支持Socket库的无阻塞函数调用,并及时得到异步事件通知。应用程序得知异步事件发生,立即调用dss
8、_getnextevent()函数检查何种事件发生,并清除SCB队列中的相应位。 应用HuntelTech
此文档下载收益归作者所有