關鍵詞 CDMA 無線數(shù)據(jù)終端 TCP/IP Internet
CDMA是無線通信領域的后起之秀,采用頻分編碼技術,與基于時分復用的GSM相比具有明顯優(yōu)勢。CDMA能夠?qū)崿F(xiàn)從現(xiàn)有通信系統(tǒng)到下一代通信系統(tǒng)的平滑過渡,具有較強的功能伸縮性;可以支持先進的天線技術,通過增加小區(qū)覆蓋范圍減少基站數(shù)目;所有帶寬信道都能支持高速數(shù)據(jù)業(yè)務;網(wǎng)絡頻率利用率高,設計施工和擴容較為簡便。
內(nèi)嵌TCP/IP協(xié)議的CDMA無線終端通過CDMA網(wǎng)絡和Internet達到數(shù)據(jù)傳輸?shù)哪康?,適合于開發(fā)基于無線應用的產(chǎn)品,如監(jiān)控、調(diào)度、車載、遙控、遠程測量、定位和導航等。這些系統(tǒng)開機就能自動附著到CDMA網(wǎng)絡上,與數(shù)據(jù)中心實時在線進行數(shù)據(jù)通信、高速傳輸,可靠性強,具有良好的應用前景。文中提出的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)絡的互聯(lián),它充分利用各種通信子網(wǎng)的數(shù)據(jù)傳輸能力,通過在依賴于通信子網(wǎng)的通信模塊和應用程序之間插入新的協(xié)議軟件來保證應用程序之間的互操作性。因特網(wǎng)的協(xié)議族稱為“TCP/IP協(xié)議族”,其中包含了為數(shù)眾多的協(xié)議,如應用層協(xié)議,傳輸層TCP、UDP協(xié)議,網(wǎng)絡層的IP、ARP、ICMP協(xié)議以及數(shù)據(jù)鏈路層協(xié)議等。無線網(wǎng)絡與互聯(lián)網(wǎng)整合,信息包通過無線媒介無縫地傳輸至基于IP協(xié)議的網(wǎng)絡,在傳輸前,數(shù)據(jù)包必須根據(jù)TCP/IP協(xié)議封裝。在CDMA網(wǎng)絡中也采取了IP協(xié)議進行傳輸。CDMA系統(tǒng)中的TCP/IP協(xié)議結(jié)構(gòu)自下而上分別為數(shù)據(jù)鏈路層(包括接口層和鏈接層)、網(wǎng)絡層和傳輸及應用層。
1.1 數(shù)據(jù)鏈路層原理
CDMA系統(tǒng)中的數(shù)據(jù)鏈路層比較特別,涉及無線鏈路的鏈接及控制。鏈路層由RLP和PPP組成,數(shù)據(jù)業(yè)務的傳遞主要由無線鏈路協(xié)議(RLP)完成。RLP子層是上層應用與底層物理連接之間的重要接口,位于MAC層的復用子層之上。其主要作用是利用物理層的前向和反向信道為上層應用提供面向比特流的傳輸,而并不考慮上層應用的具體幀格式,根據(jù)復用子層的要求形成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)絡層協(xié)議的IPCP協(xié)議(IP ControlProtocol);鑒權協(xié)議PAP/CHAP。為了在點到點鏈路上建立通信,PPP鏈路的一端必須在建立階段首先發(fā)LCP包配置數(shù)據(jù)鏈路。在鏈路建立后,進入網(wǎng)絡層協(xié)議之前,PPP提供一個可選擇的鑒權階段。默認情況下,鑒權不是強制的。如果希望進行鏈路的鑒權,則實現(xiàn)者必須在建立階段指明鑒權協(xié)議配置選項。
1.2 應用層實現(xiàn)
傳統(tǒng)的網(wǎng)絡編程都調(diào)用Socket API函數(shù)連接低層傳輸協(xié)議。常用的網(wǎng)絡編程接口包括BSD(Berkeley Software Distributlon)Sockets和Winsock TM。為了支持網(wǎng)絡應用,CDMA系統(tǒng)自身提供了完整的Socket API函數(shù)。建立一個TCP連接過程如圖1所示。
應用程序調(diào)用dss_open_netlib()函數(shù)打開網(wǎng)絡庫,使數(shù)據(jù)業(yè)務狀態(tài)機進入Socket模式,同時定義網(wǎng)絡回調(diào)函數(shù)和Socket回調(diào)函數(shù),返回應用ID號。應用程序通過網(wǎng)絡回調(diào)函數(shù)得知低層網(wǎng)絡是否可用,Socket回調(diào)函數(shù)描述Socket事件。
應用程序調(diào)用dss_pppopen()函數(shù)建立網(wǎng)絡子系統(tǒng),包括傳輸信道的建立和連接。網(wǎng)絡子系統(tǒng)建立后,網(wǎng)絡回調(diào)函數(shù)通知應用程序當前網(wǎng)絡可用。
圖1中省略了一個步驟,即低層協(xié)議建鏈后,調(diào)用dss_socket()函數(shù)創(chuàng)建一個新的套接字用來進行網(wǎng)絡通信。返回一個描述符代表這個套接字;同時進行SCB(SocketControl Block)及相關數(shù)據(jù)結(jié)構(gòu)的初始化,指定協(xié)議使用的地址族(AF_INET)、Socket類型(sock stream-TCPsockets)和協(xié)議類型(IPPROTO_TCP)。
此時調(diào)用dss_connect()與遠程服務器建立一個活動連接。函數(shù)立即返回DS_EWOULDBLOCK,表示操作需要暫停。應用程序通過dss_async_select()函數(shù),設定SCB的相應位,指定當前待處理事件(如DS_WRITE_EVENT),以支持Socket庫的無阻塞函數(shù)調(diào)用,并及時得到異步事件通知。應用程序得知異步事件發(fā)生,立即調(diào)用dss_getnextevent()函數(shù)檢查何種事件發(fā)生,并清除SCB隊列中的相應位。
應用Huntel Technologies推出的CDMA 800 MHz標準無線模塊HT6025-A,在CDMA操作系統(tǒng)自身提供的Socket API函數(shù)基礎上進行網(wǎng)絡應用層程序開發(fā),實現(xiàn)了CDMA無線模塊的TCP/IP協(xié)議的AT命令支持。用戶只需通過模塊串口輸入/輸出相應的AT命令即可實現(xiàn)TCP/IP協(xié)議的調(diào)用,以達到連接Internet的目的。系統(tǒng)采用CDMA系統(tǒng)支持的分組數(shù)據(jù)業(yè)務(Packet DataSetvice)進行數(shù)據(jù)傳輸。分組數(shù)據(jù)業(yè)務充分共享無線信道,采用IP Over PPP實現(xiàn)數(shù)據(jù)終端的高速、遠程接入,以數(shù)據(jù)流量計費,傳輸速率可達14.4 kbps,是收發(fā)隨機突發(fā)數(shù)據(jù)的最佳選擇。圖2為CDMA模塊內(nèi)部任務調(diào)用及軟件結(jié)構(gòu)功能圖。
◇SIO:串口輸入/輸出。
◇Call Mgmt:其他呼叫處理和用戶接口。
◇TX:CDMA數(shù)據(jù)發(fā)送。
◇RX:CDMA數(shù)據(jù)接收。
◇DS:數(shù)據(jù)業(yè)務控制,數(shù)據(jù)模式控制及AT命令執(zhí)行任務塊。
◇PS:協(xié)議服務任務塊(EIA-617/TCP/IP/PPP)。
用戶通過串口輸入AT命令,如AT$TCPOPEN=ip,pott(用于發(fā)起TCP連接),DS任務塊對命令進行處理,包括命令解析、排列等待、查找AT命令表、函數(shù)執(zhí)行和響應返回等過程。DS任務塊中函數(shù)執(zhí)行將調(diào)用PS任務塊,真正實現(xiàn)鏈路的連接、數(shù)據(jù)打包、路由及可靠傳輸。
2 測試及應用
將CDMA無線模塊通過串口與PC機相連,PC機上運行串口調(diào)試程序,向模塊發(fā)送AT命令,與聯(lián)通給定的服務器IP地址建立連接,應用其測試端口,發(fā)送數(shù)據(jù)并接收回顯數(shù)據(jù)。
測試命令包括:設置TCP/IP用戶賬號AT$TCPUID=account;設置TCP/IP用戶密碼AT$TCP-PASSWD=password;TCP/IP撥號ATD=dial;建立TCP/IP連接AT$TCPOPEN=ip,port;發(fā)送數(shù)據(jù)AT$TCPDATA=data(允許一次最多發(fā)送512個字符);關閉TCP/IP Socket AT$TCPCLOSE;退出TCP/IP應用AT$TCPEXIT。各命令返回正常,數(shù)據(jù)收發(fā)正確無誤,有數(shù)據(jù)流量情況下永不斷線,沒有數(shù)據(jù)流量一定時間后,網(wǎng)絡端關閉該連接。數(shù)據(jù)收發(fā)測試結(jié)果如圖3所示。
在這一實現(xiàn)的基礎上,設計開發(fā)了一套數(shù)據(jù)采集傳輸系統(tǒng)以證實其可靠性。應用系統(tǒng)由單片機、CDMA無線模塊、電源部分和外部接口部分構(gòu)成,如圖4所示。
電源部分為單片機和CDMA模塊提供合適的電源。外部接口部分包括天線接口和UIM(User Identity Module)卡座接口。
單片機實現(xiàn)數(shù)據(jù)采集、格式化、CDMA無線模塊初始化,發(fā)送AT命令建立TCP連接并發(fā)送數(shù)據(jù)等功能。單片機提供多種傳感器接口,如TTL電平串口、RS232標準串口以及自定義輸入電壓范圍的多路模擬輸入通道,可接入多種類型的模擬或數(shù)字傳感器。考慮到移動設備的低功耗要求,選用TI公司的MSP430單片機。MSP430單片機是一種性能優(yōu)良的Flash超低功耗單片機,燒寫調(diào)試方便,工作電壓3.3V,支持超低功耗工作模式,非常適合置于野外。其內(nèi)置的多路A/D轉(zhuǎn)換模塊提供了方便的模擬傳感器接口;內(nèi)置的兩路UART模塊提供了數(shù)字傳感器接口。MSP430通過UARTl直接與CDMA無線模塊相連接,實現(xiàn)對CDMA無線模塊的初始化和數(shù)據(jù)收發(fā)功能;同時UART2擴展MAX232標準串口與其他嵌入式系統(tǒng)或PC機進行數(shù)據(jù)交換。
CDMA無線模塊將數(shù)據(jù)通過CDMA網(wǎng)絡無線傳送到基站?;镜幕ネüδ軉卧狪WF(Inter Working Function)完成無線數(shù)據(jù)業(yè)務和IP接入網(wǎng)的互通,實現(xiàn)傳感器數(shù)據(jù)的Interrlet接入。Internet另一端的服務器對數(shù)據(jù)進行接收,可對來自傳感器的物理量進行處理,如數(shù)據(jù)分析、數(shù)據(jù)融合、過程判斷和數(shù)據(jù)顯示等。
結(jié)論
互聯(lián)網(wǎng)和移動通信的交叉呈現(xiàn)出強大的生命力,已成為當今全球信息產(chǎn)業(yè)的熱點,它將引發(fā)人們工作和生活的巨大變革,有廣闊的發(fā)展前景。本文完成了CDMA無線終端TCP/IP應用層的Socket編程,實現(xiàn)了CDMA移動終端的Internet接入,給出了實際應用系統(tǒng)原理及實現(xiàn)方法,對內(nèi)嵌TCP/IP協(xié)議的CDMA無線終端的其他應用有重要的參考價值。