CDMA無線終端TCP/IP協(xié)議
內(nèi)嵌TCP/IP協(xié)議的CDMA無線終端通過CDMA網(wǎng)絡(luò)和Internet達到數(shù)據(jù)傳輸?shù)哪康?,適合于開發(fā)基于無線應(yīng)用的產(chǎn)品,如監(jiān)控、調(diào)度、車載、遙控、遠程測量、定位和導(dǎo)航等。這些系統(tǒng)開機就能自動附著到CDMA網(wǎng)絡(luò)上,與數(shù)據(jù)中心實時在線進行數(shù)據(jù)通信、高速傳輸,可靠性強,具有良好的應(yīng)用前景。文中提出的CDMA無線通信模塊,提供了TCP/IP協(xié)議接口的AT命令,結(jié)合命令控制模塊,適用于主機沒有TCP/TP協(xié)議,但使用串口通信的情況(如單片機數(shù)據(jù)采集傳輸系統(tǒng)等)。
1 CDMA無線終端TCP/IP協(xié)議實現(xiàn)
Internet的實質(zhì)是實現(xiàn)異種網(wǎng)絡(luò)的互聯(lián),它充分利用各種通信子網(wǎng)的數(shù)據(jù)傳輸能力,通過在依賴于通信子網(wǎng)的通信模塊和應(yīng)用程序之間插入新的協(xié)議軟件來保證應(yīng)用程序之間的互操作性。因特網(wǎng)的協(xié)議族稱為“TCP/IP協(xié)議族”,其中包含了為數(shù)眾多的協(xié)議,如應(yīng)用層協(xié)議,傳輸層TCP、UDP協(xié)議,網(wǎng)絡(luò)層的IP、ARP、ICMP協(xié)議以及數(shù)據(jù)鏈路層協(xié)議等。無線網(wǎng)絡(luò)與互聯(lián)網(wǎng)整合,信息包通過無線媒介無縫地傳輸至基于IP協(xié)議的網(wǎng)絡(luò),在傳輸前,數(shù)據(jù)包必須根據(jù)TCP/IP協(xié)議封裝。在CDMA網(wǎng)絡(luò)中也采取了IP協(xié)議進行傳輸。CDMA系統(tǒng)中的TCP/IP協(xié)議結(jié)構(gòu)自下而上分別為數(shù)據(jù)鏈路層(包括接口層和鏈接層)、網(wǎng)絡(luò)層和傳輸及應(yīng)用層。
1.1 數(shù)據(jù)鏈路層原理
CDMA系統(tǒng)中的數(shù)據(jù)鏈路層比較特別,涉及無線鏈路的鏈接及控制。鏈路層由RLP和PPP組成,數(shù)據(jù)業(yè)務(wù)的傳遞主要由無線鏈路協(xié)議(RLP)完成。RLP子層是上層應(yīng)用與底層物理連接之間的重要接口,位于MAC層的復(fù)用子層之上。其主要作用是利用物理層的前向和反向信道為上層應(yīng)用提供面向比特流的傳輸,而并不考慮上層應(yīng)用的具體幀格式,根據(jù)復(fù)用子層的要求形成RLP幀。RLP子層中質(zhì)量保證措施的核心思想是一種盡力而為的傳輸機制(Best Effort Delivery),即RLP子層依據(jù)協(xié)議規(guī)定的參數(shù)盡可能地保證數(shù)據(jù)的正確傳輸。
PPP包括串行鏈路上封裝數(shù)據(jù)報的方法;建立、配置和測試數(shù)據(jù)鏈路鏈接的LCP協(xié)議(Link contr01 Protocol);建立和配置網(wǎng)絡(luò)層協(xié)議的IPCP協(xié)議(IP ControlProtocol);鑒權(quán)協(xié)議PAP/CHAP。為了在點到點鏈路上建立通信,PPP鏈路的一端必須在建立階段首先發(fā)LCP包配置數(shù)據(jù)鏈路。在鏈路建立后,進入網(wǎng)絡(luò)層協(xié)議之前,PPP提供一個可選擇的鑒權(quán)階段。默認(rèn)情況下,鑒權(quán)不是強制的。如果希望進行鏈路的鑒權(quán),則實現(xiàn)者必須在建立階段指明鑒權(quán)協(xié)議配置選項。
1.2 應(yīng)用層實現(xiàn)
傳統(tǒng)的網(wǎng)絡(luò)編程都調(diào)用Socket API函數(shù)連接低層傳輸協(xié)議。常用的網(wǎng)絡(luò)編程接口包括BSD(Berkeley Software Distributlon)Sockets和Winsock TM。為了支持網(wǎng)絡(luò)應(yīng)用,CDMA系統(tǒng)自身提供了完整的Socket API函數(shù)。建立一個TCP連接過程如圖1所示。
本文引用地址:http://2s4d.com/article/157278.htm
應(yīng)用程序調(diào)用dss_open_netlib()函數(shù)打開網(wǎng)絡(luò)庫,使數(shù)據(jù)業(yè)務(wù)狀態(tài)機進入Socket模式,同時定義網(wǎng)絡(luò)回調(diào)函數(shù)和Socket回調(diào)函數(shù),返回應(yīng)用ID號。應(yīng)用程序通過網(wǎng)絡(luò)回調(diào)函數(shù)得知低層網(wǎng)絡(luò)是否可用,Socket回調(diào)函數(shù)描述Socket事件。
應(yīng)用程序調(diào)用dss_pppopen()函數(shù)建立網(wǎng)絡(luò)子系統(tǒng),包括傳輸信道的建立和連接。網(wǎng)絡(luò)子系統(tǒng)建立后,網(wǎng)絡(luò)回調(diào)函數(shù)通知應(yīng)用程序當(dāng)前網(wǎng)絡(luò)可用。
圖1中省略了一個步驟,即低層協(xié)議建鏈后,調(diào)用dss_socket()函數(shù)創(chuàng)建一個新的套接字用來進行網(wǎng)絡(luò)通信。返回一個描述符代表這個套接字;同時進行SCB(SocketControl Block)及相關(guān)數(shù)據(jù)結(jié)構(gòu)的初始化,指定協(xié)議使用的地址族(AF_INET)、Socket類型(sock stream-TCPsockets)和協(xié)議類型(IPPROTO_TCP)。
此時調(diào)用dss_connect()與遠程服務(wù)器建立一個活動連接。函數(shù)立即返回DS_EWOULDBLOCK,表示操作需要暫停。應(yīng)用程序通過dss_async_select()函數(shù),設(shè)定SCB的相應(yīng)位,指定當(dāng)前待處理事件(如DS_WRITE_EVENT),以支持Socket庫的無阻塞函數(shù)調(diào)用,并及時得到異步事件通知。應(yīng)用程序得知異步事件發(fā)生,立即調(diào)用dss_getnextevent()函數(shù)檢查何種事件發(fā)生,并清除SCB隊列中的相應(yīng)位。
應(yīng)用Huntel Technologies推出的CDMA 800 MHz標(biāo)準(zhǔn)無線模塊HT6025-A,在CDMA操作系統(tǒng)自身提供的Socket API函數(shù)基礎(chǔ)上進行網(wǎng)絡(luò)應(yīng)用層程序開發(fā),實現(xiàn)了CDMA無線模塊的TCP/IP協(xié)議的AT命令支持。用戶只需通過模塊串口輸入/輸出相應(yīng)的AT命令即可實現(xiàn)TCP/IP協(xié)議的調(diào)用,以達到連接Internet的目的。系統(tǒng)采用CDMA系統(tǒng)支持的分組數(shù)據(jù)業(yè)務(wù)(Packet DataSetvice)進行數(shù)據(jù)傳輸。分組數(shù)據(jù)業(yè)務(wù)充分共享無線信道,采用IP Over PPP實現(xiàn)數(shù)據(jù)終端的高速、遠程接入,以數(shù)據(jù)流量計費,傳輸速率可達14.4 kbps,是收發(fā)隨機突發(fā)數(shù)據(jù)的最佳選擇。圖2為CDMA模塊內(nèi)部任務(wù)調(diào)用及軟件結(jié)構(gòu)功能圖。
◇SIO:串口輸入/輸出。
◇Call Mgmt:其他呼叫處理和用戶接口。
◇TX:CDMA數(shù)據(jù)發(fā)送。
◇RX:CDMA數(shù)據(jù)接收。
◇DS:數(shù)據(jù)業(yè)務(wù)控制,數(shù)據(jù)模式控制及AT命令執(zhí)行任務(wù)塊。
◇PS:協(xié)議服務(wù)任務(wù)塊(EIA-617/TCP/IP/PPP)。
用戶通過串口輸入AT命令,如AT$TCPOPEN=ip,pott(用于發(fā)起TCP連接),DS任務(wù)塊對命令進行處理,包括命令解析、排列等待、查找AT命令表、函數(shù)執(zhí)行和響應(yīng)返回等過程。DS任務(wù)塊中函數(shù)執(zhí)行將調(diào)用PS任務(wù)塊,真正實現(xiàn)鏈路的連接、數(shù)據(jù)打包、路由及可靠傳輸。
tcp/ip相關(guān)文章:tcp/ip是什么
cdma相關(guān)文章:cdma原理
評論