999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于NXP5209的AT指令分析與擴展

2008-12-31 00:00:00趙志岳
電腦知識與技術 2008年23期

摘要:分析了3GPP定義的AT指令規范,它是由終端發出的被用來控制和執行無線通信模塊功能的指令。主CPU使用AT命令驅動通信模塊工作。介紹了多路終端適配器的結構,ATCUST模塊管理所有具有客戶特征的AT指令和URC命令,通過對其中的ATCUST模塊的修改實現AT指令的規范化和功能的擴展。

關鍵詞:AT;多路復用;EDEG;擴展

中圖分類號:TN929文獻標識碼:A文章編號:1009-3044(2008)23-1026-03

Analyze and Extend AT commands Based on NXP 5209

ZHAO Zhi-yue

(School of Software,Southeast University,Nanjing 210096,China)

Abstract: The present paper specifies a profile of AT commands and recommends that this profile be used for controlling Mobile Termination functions and GSM/UMTS network services from a Terminal Equipment through Terminal Adaptor. The paper describes the architecture of Multi-TA. ATCUST executor manages all the AT commands and URC linked with customer feature. This module allows customers to create their own AT commands, to override existing AT command behavior, or to extend an existing command.

Key words: AT; multiplexing; EDEG; extend

信息化時代,人們對移動通信的要求已經不僅僅局限于通話本身,而更關注將通信和移動數據應用集成在一起。所謂智能手機,主要指將傳統手機和PDA功能集合在一起的產品,它增加了傳統手機所不具有的足夠屏幕尺寸和帶寬、信息及數據處理能力,同時具備無線網絡訪問功能。智能手機將會配備特定的操作系統,除了移動通信功能以外,還能上網、收發E-mail、做個人信息管理、處理Office文件,甚至幾聲光影像等功能于一身。目前,智能手機的發展非常迅速,市場上也出現了多款手機。手機產品已經成為了家用電子產品市場上的最大業務領域。從功能方面來看,手機朝著終端趨向智能化、終端功能多樣化、個性終端多元化、終端趨向多媒體化的方向發展。

1 智能手機架構

系統以Linux作為嵌入式操作系統、Qtopia作為圖形用戶界面應用平臺、采用雙CPU(一個作為主微處理器、另一個作為無線通信模塊)方式的手機解決方案。兩端各是一個獨立的子系統,各有其軟硬件資源,主CPU主要完成GSM基帶、射頻、協議處理。兩者通過串口進行通信,主CPU使用標準的AT命令驅動通信模塊工作。

1.1 硬件設計

系統設計采用Marvell公司的Xscale PXA310高性能的32位微處理器,基于Xscale RISC核心,兼容ARM v.5TE指令。它引入了多媒體技術,適合作為具有視頻和數字電視的3G智能手機平臺。主頻可調至624MHz,建基于低功率90納米工藝,結合低功率模式,并能夠調整電壓和頻率的動態需求,支持特殊電池待機模式。

同時采用PHILIPS公司的NXP Sy.Sol5209作為智能手機的無線收發模塊實現智能手機的GSM通話、GPRS/EDEG上網及其它PDA應用等功能,該解決方案使客戶能夠開發出具有競爭力的EDEG數據應用產品。

智能手機的其它外圍設備還有LCD、Touch panel、Audio CODEC等。

1.2 軟件設計

軟件架構采用了Trolltech公司的Qtopia Phone Edition平臺,設計中最下面一層為操作系統層,主要實現對Linux操作系統的移植,其中包括Bootloader引導程序、LCD等設備的驅動程序。Qtopia Phone Edition是用于鍵盤或觸摸屏手機的Trolltech應用程序平臺。它在嵌入式Linux基礎上提供了一套完整的視窗系統與主要應用程序。Qtopia Phone Edition中,提供手機Phone功能、管理全部用戶操作流程、集中控制與底層硬件設備的接口的功能是由名為Phone Library的一套類庫來實現的。為了使系統增加對VoWifi的支持,需要對Phone Library進行功能擴充。圖1給出了應用端通過進程間通訊,并交由Phone Library統一管理,最后發送AT命令,通過物理串口控制通訊芯片的過程。

2 AT指令

AT 指令是由終端發出的被用來控制和執行無線通信模塊功能的指令,如圖2所示。

2.1 AT指令簡介

AT指令的規范協議由3GPP組織進行定制,使用 AT 指令可實現如下作用:控制DCE、GPRS、EDEG、呼叫控制、增值服務、SIM應用工具包。

在項目中,應用端軟件需要服務時,通過進程間通信,由Phone Library庫對應用的請求進行統一的管理,最后發送AT commands通過串口和通信模塊交互。Phone Library提供手機Phone功能、管理全部用戶操作流程、集中控制與底層硬件設備的接口的功能。AT指令在Phone Library的AT HANDLER中通過串口發送到多路TA模塊,實現具體的無線通信模塊的控制指令。

為了提高AP端軟件的移植性,使AP端軟件能夠按照3GPP相關協議的指令參數直接調用指令,就需要對項目采用的具體通信模塊AT實現方案進行分析測試,對不符合標準的指令需要改寫其實現方式,使其符合3GPP相關協議的標準。另外,應用端軟件可能會調用一些無線通信模塊的軟件架構尚未提供的AT指令功能,這時,就需要擴展一些自有指令,來滿足應用端的需要,簡化應用端的開發。

2.2 多路復用技術

在常用的GSM/GPRS通用模塊中,只能通過一個普通9針的異步串口與終端設備TE進行通信。TE和UE需要通過這個串口交換各種類型的數據,例如:語音、傳真、數據、SMS、CBS、USSD等。如何在一個串口上同時支持這么多的業務?例如,在數據通信過程中,怎樣發送或接受SMS?為了解決這些問題,3GPP提出了一個協議——TS27.010協議(Terminal Equipment to User Equipment multiplexer protocol)。有了Multiplexer,即使在數據連接過程中,也可以發送SMS。其它業務組合也可以同時進行。例如,數字語音和SMS同時發送。Multiplexer的存在使得一個完整的系統能夠根據需要進行劃分。

3GPP的Multiplexer設計非常靈活,并且獨立于UE/TE平臺,已有的應用程序不需要改動即可工作。在設計Multiplexer時,特別考慮到采用電池供電的設備的需要,所以包含了省電模式控制和優先權等很重要的功能,并且Multiplexer本身在運行時也盡量使用最小的功耗和內存。

Multiplexer基于ISO的HDLC(ISO/IEC 13239)標準設計,工作于有多種選項的單模式下。但是Basic Option并不遵從HDLC。

在基本選項模式下,Multiplexer沒有透明機制,也沒有錯誤恢復功能。但是在高級選項(Advanced Option)模式下,使用ISO HDLC標準的透明機制,且Multiplexer有一個方便的再同步機制,能夠在DC1/DC3(XON/XOFF)流控打開的鏈路上工作,且包含了錯誤恢復功能。

在基本選項模式下,當UE和TE間存在一個高質量的鏈路并且UE中HDLC沒有透明機制,Multiplexer將被采用。如果一個UE支持HDLC透明機制,它將被Multiplexer采用。當產生失敗同步事件(例如,數據過載或低載),ISO HDLC透明機制必須被采用。當鏈路包含了錯誤恢復功能,錯誤恢復選項應該采用。

3GPP的Multiplexer依賴于一個控制信道。在這個控制信道上,TE和UE交換控制信息,例如參數協商、節電控制信息、流控信息、測試信息、關閉信息等。

Multiplexer是一個可選項,如果支持這個功能,就應使用AT+CMUX命令激活它。

3 多路TA系統實現

在NXP5209中,已經給出了多路終端適配器的實現解決方案,其結構如圖3所示。

3.1 NXP GSM/GPRS/EDEG模塊Multiplexer協議介紹

Multi-TA是管理并行AT指令的一個框架。專有的模塊負責某一特征的AT指令集(SMS,Data,Call,Phonebook,etc…)。其中的每一個模塊稱為執行者,和其他執行者之間是相互獨立的,在實現中設置了一個編譯開關來方便激活/去激活。

鑒別器是Multi-TA框架的入口,它主要負責MIS和框架間的連接。包括如下五個模塊:解析塊:對輸入的指令解析并將它們調度給合適的執行者;連接塊:管理和TE間的連接;應答塊:給TE發送應答;內存訪問塊:訪問永久內存內容(通常情況)和信道中的數據內容;異步消息路由塊:將從SPV層(通過RAP)傳來的異步消息進行路由。

后四個服務由ATDISC的外部接口(ATKI)提供給ATCUST和其他執行者。ATKI是Muti-TA框架的內部主要接口。ATDISC是唯一和MIS模塊交互的AT框架模塊,通過MOBI接口。結果,輸入的AT指令按照ATDISC模塊的解析塊的消息被路由到相應的執行者,每一條消息和一個信道ID相聯系。這個信道ID由ATDISC提供給執行者,所以每一個執行者塊都能夠知道當前的工作信道ID。

在指令執行時,執行者通過消息直接和相應的SPV模塊通信。如果執行這需要讀或者設置存儲在永久存儲體中的數據,他們通過ATDISC模塊中的內存塊提供的宏來訪問。

如果數據在執行者之間共享,他們也必須通過ATDISC模塊的內存塊提供的宏來訪問。

當一條指令執行結束,執行者調用ATDISC模塊的應答塊提供的宏來向MIS發送結果命令,并通知ATDISC這次執行中止。ATDISC模塊的路由塊負責接收異步事件通告并發送這些消息給合適的執行者。

ATCUST模塊的目標是保持AT自有指令在一個專有的模塊實現,來和其他執行者區分開來。這個專有的模塊由ATKI接口通過RTK消息來和ATDISC通信。

ATDISC和執行者與手機軟件通過RTK消息交換來運作執行。

客戶執行者(涉及到ATCUST模塊)作為特殊模塊專門用來實現新的AT指令或者重載已存在的指令,結果,當解析塊分離一個命令,他先查看ATCUST的命令列表來驗證ATCUST是否能夠管理它,ATCUST模塊使用主ATKI接口(它提供了所有使得AT命令運轉的請求服務)。

3.2 環境搭建和NXP AT指令擴展

實驗平臺是Windows XP Pro系統,目標軟件需要的環境是一個裝有ARM compiler version ARM ADS 1.2 + patches 837 and 842,以及Cygwin軟件。

將Cygwin安裝在C:\\cygwin下,ADS 1.2安裝為C:\\ADSv1_2,在環境變量中進行相關的設置。

在C根目錄下建立一個目錄C:\\Dragonfly,將目標源代碼拷貝到該目錄下C:\\Dragonfly\\dv15,它包括了所有的源代碼和嵌入式軟件的庫。拷貝目標代碼中的/df/tools/.bashrc和/df/tools/.tcshrc到c:/cygwin/home/中。

在項目中AT指令的使用原則:盡量使用3GPP規范中的標準指令,其次考慮該MODEM供應商提供的自用命令,如果前兩者都無法滿足上層應用的需求,這時就需要自己訂制滿足需求的擴展AT指令。其中ATCUST模塊就是PHILIPS給客戶提供的用來擴展AT指令所需的模塊。這一個執行者模塊管理所有具有客戶自定義特征的AT指令和URC命令。它允許客戶插入自己定義的命令或者重寫已存在的AT指令的特征。

下面先介紹下AT指令流程:

執行者將會從鑒別器ATDISC中接收到一條附帶有信道Channel特定參數的消息AKI_COMMAND_REQ(Channel,NextBlockAvailable);

通過ATDISC的宏MC_ATK_GET_DECODED_CMD(Channel)執行者將獲取指令的內容;

執行者執行該命令(可能同時會和SPV進行交互,甚至需要內部命令);

在命令的執行期間,執行者可能會通過宏MC_AKI_SEND_DATA或MC_AKI_SEND_MESSAGE給ATDISC發送數據;

接著,執行者用MC_AKI_SEND_RESULT(result,data,channel)宏向ATDISC發送指令的執行結果;

執行者通過宏MC_AKI_COMMAND_OVER(channel)暗示該AT指令執行結束;

當執行者接收到來自ATDISC的AKI_COMMAND_ABORTED_REQ(channel)消息時,一個AT指令就該停止了。

ATCUST模塊是一個有限狀態機進程,它有三個狀態Idle、Wait和Data Wait三個狀態。當它接收到不同消息時,將在這些狀態間轉換。

然后,在了解了框架的結構,就可以進行AT指令的擴展。通過對Delivery 1 軟件包中psatcust模塊的修改即可達到AT指令的定制,也可以對psatcore模塊改寫來更改PHILIPS中實現不是很完善的AT指令。當修改完成,就可以在Cygwin中進行編譯鏈接,得到目標文件3400004536000101.cla。用PHILIPS提供的downloder工具bfdownloder經過配置參數后就可以將新的目標燒寫到PHILIPS NXP 5209 Modem 的NorFlash中。這樣新定義的自有指令就可以供上層應用來使用了。

最后,對新的版本還需要進行測試,對同樣的場景進行的測試將是一個很重復的過程,為了節約人力和提高效率,在項目中將要編制自動化測試腳本,供測試使用。

4 結束語

在給定的硬件平臺上,介紹了AT指令的傳輸和控制流程,接合特定的移動通信模塊,分析了多路TA的實現框架,并給出客戶定制AT指令的思路和方法,從而可以實現AT指令的規范化或擴展AT指令的功能。

參考文獻:

[1] 周余,都思丹,王自強,等.應用處理器PXA 255上的嵌入式Linux系統開發[J].計算機應用,2004,24(3):158-160.

[2] 3GPP TS 27.001 V7.0.0 General on Terminal Adaptation Functions (TAF) for Mobile Stations (MS)[EB/OL].(2007-06).http://www.3gpp.org/ftp/Specs.

[3] 3GPP TS 27.007 V7.4.0 AT command set for User Equipment (UE)[EB/OL].(2007-06).http://www.3gpp.org/ftp/Specs.

[4] 3GPP TS 27.010 V7.0.0 Terminal Equipment to User Equipment (TE-UE) multiplexer protocol[EB/OL].(2007-06).http://www.3gpp.org/ftp/Specs.

主站蜘蛛池模板: 性喷潮久久久久久久久| 色悠久久综合| 亚洲综合九九| 久久性妇女精品免费| 精品成人一区二区| 波多野结衣一区二区三视频| 国产一区自拍视频| 日韩国产 在线| 少妇高潮惨叫久久久久久| 成年人国产网站| 午夜影院a级片| 最新国产你懂的在线网址| 丰满人妻久久中文字幕| 91色在线观看| 国产在线第二页| 精品自窥自偷在线看| 国产sm重味一区二区三区| 欧美精品在线免费| 在线视频精品一区| 无码内射中文字幕岛国片| 91精品国产丝袜| 免费看a级毛片| 首页亚洲国产丝袜长腿综合| 免费看av在线网站网址| 久久久久久久久18禁秘| 最新精品久久精品| 97青草最新免费精品视频| a天堂视频在线| 亚洲一级毛片在线播放| 午夜视频www| 18禁色诱爆乳网站| 国产黄网站在线观看| 波多野结衣一区二区三视频| 亚洲中文无码h在线观看 | 精品黑人一区二区三区| 一本大道香蕉久中文在线播放| 一级成人a毛片免费播放| 尤物精品国产福利网站| 国产超薄肉色丝袜网站| 一级不卡毛片| 欧美区一区二区三| 香蕉久久国产超碰青草| 亚洲国产一区在线观看| 亚洲国产精品一区二区高清无码久久| 伊人久久大香线蕉影院| 亚洲V日韩V无码一区二区| 毛片大全免费观看| 亚洲欧州色色免费AV| 精品国产免费第一区二区三区日韩| 欧洲亚洲欧美国产日本高清| 黄色网址免费在线| 国产在线自乱拍播放| 久久久久久久久久国产精品| 久久性视频| 欧美成人影院亚洲综合图| 欧美激情二区三区| 99视频在线免费看| 亚洲视频在线观看免费视频| AV天堂资源福利在线观看| 午夜精品久久久久久久99热下载| 曰韩免费无码AV一区二区| 国产永久无码观看在线| 欧美日韩高清| 国产一区亚洲一区| 在线99视频| 亚洲精品午夜天堂网页| 国产精品无码在线看| 在线观看国产精品一区| 国产菊爆视频在线观看| 久久狠狠色噜噜狠狠狠狠97视色| 东京热一区二区三区无码视频| 欧美日韩亚洲综合在线观看| 91免费片| 亚洲swag精品自拍一区| 国产精品男人的天堂| 国产自在线拍| 亚洲成人手机在线| 国产av一码二码三码无码| 天天色综网| 99久久精品国产自免费| 午夜国产不卡在线观看视频| 九九香蕉视频|