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