欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

采用JNI調(diào)用方式在Android系統(tǒng)中使用LTEModem的方法

文檔序號:6547588閱讀:696來源:國知局
采用JNI調(diào)用方式在Android系統(tǒng)中使用LTE Modem的方法
【專利摘要】本發(fā)明涉及采用JNI調(diào)用方式在Android系統(tǒng)中使用LTEModem的方法,以運行于TIDM3730/AM3715基帶板上的Android系統(tǒng)為操作平臺,通過JNI調(diào)用方式直接從應用層來處理EM350LTEModem數(shù)據(jù),對EM350LTEModem進行控制,所述方法包括步驟:1、確定開發(fā)框架:2、硬件連接LTEModem通過USB口與運行Android系統(tǒng)的TIDM3730/AM3715基帶板進行連接;3、選擇支持AT命令操作方式的LTEModem;4、應用程序通過Java輸入輸出流的方式對基帶板直接連接具備串口或者USB口的LTEModem上的串口,或者是對基帶板連接LTEModem的USB口模擬出的串口進行JNI調(diào)用,完成與LTEModem的AT命令交互,有益效果為:減少移植開發(fā)電話系統(tǒng)的難度,從而為快速應用LTEMode到Android系統(tǒng)鋪平道路,降低了開發(fā)難度,縮短了開發(fā)周期,節(jié)約了人力成本,為終端廠商快速將LTE技術應用于Android提供了可能。
【專利說明】采用JNI調(diào)用方式在Android系統(tǒng)中使用LTE Modem的方

【技術領域】
[0001]本發(fā)明涉及LTE Modem,特別涉及采用JNI調(diào)用方式在Android系統(tǒng)中使用LTEModem的方法,本方法將Google開源項目中對串口設備的JNI調(diào)用方式成功的應用到了對Modem的控制上,極大的減少了 Android設備更換Modem后必須全部實現(xiàn)Android本地框架中硬件抽象層接口的工作,特別適合對產(chǎn)品開發(fā)進度有嚴格要求,或者需要嚴格控制人力成本的情形。
【背景技術】
[0002]Android開發(fā)框架圖如圖1所示。將LTE Modem應用在Android系統(tǒng)中傳統(tǒng)的開發(fā)方式是這樣的:
層1:硬件系統(tǒng)層。主要是構建LTE Modem和運行Android系統(tǒng)基帶板的物理連接。這部分需要根據(jù)選用的LTE Modem和基帶板的芯片處理器型號具體實現(xiàn)。本專利采用的LTEModem為華為鼎橋的EM350,基帶板處理器為TI的DM3730/AM3715。
[0003]層2:Linux內(nèi)核及驅動層。Linux內(nèi)核及其內(nèi)驅動都屬于Linux開源項目的范疇,里面的驅動都可以直接拿來使用。但是由于4G技術在國內(nèi)的應用才剛剛開始,LTE Modem目前種類不多,其Linux內(nèi)核的開源驅動難以獲得。這是出現(xiàn)在廠商前面的第一個難題。
[0004]層3 =Android架構層,大體可分為Java框架和C程序框架。該層的作用是承上啟下,其中Java框架向上對接Java應用程序,為Java應用程序提供系統(tǒng)API調(diào)用;C程序框架向下對接Linux內(nèi)核及驅動,最終通過驅動完成對硬件系統(tǒng)的操控。虛線框里的Android運行環(huán)境完成溝通Java框架和C程序框架的功能。
[0005]在本層中Android運行環(huán)境為Google自維護項目,該代碼不公開或公開的很少。C框架中的硬件抽象層為廠商自行獨立開發(fā)部分。這部分根據(jù)LTE Modem的型號需要具體修改。同樣由于4G技術剛開始應用,目前Android Java框架和C程序框架還有很多工作廠商自行根據(jù)選用的LTE Modem進行修改。
[0006]考慮到Android框架層的復雜程度,所以對廠商來說,這部分的工作量是非常巨大的,需要很高的技術實力,而且修改不當極易導致Android系統(tǒng)不穩(wěn)定或者耗電增加等不良后果。
[0007]層4 Java應用層。該層根據(jù)使用需求,分模塊編寫程序,充分利用Android框架層提供的API去實現(xiàn)各個功能,最終打包出Android APK應用程序,該程序最終將安裝在Android系統(tǒng)上供用戶使用。
[0008]根據(jù)以上分析,廠商按照傳統(tǒng)的Android應用開發(fā)方式要面臨的工作將會是極其巨大的,需要編寫LTE Modem在Linux、Android C框架下的驅動,同時還需要編寫Java應用程序滿足用戶需求。在這其中,考慮到Android系統(tǒng)框架的復雜性還要特別注意Android系統(tǒng)穩(wěn)定性、耗電等諸多問題。
[0009]因而需要另辟蹊徑,采用一種簡潔的方法來實現(xiàn)在Android系統(tǒng)中直接使用LTEModem。避免Android設備更換Modem后必須全部實現(xiàn)Android本地框架中硬件抽象層接口的工作,進而適合對產(chǎn)品開發(fā)進度有嚴格要求,控制人力成本,提高緊急效益。

【發(fā)明內(nèi)容】

[0010]本發(fā)明的目的就是為克服現(xiàn)有技術的不足,提供一種采用JNI調(diào)用方式在Android系統(tǒng)中使用LTE Modem的方法,以在最大程度上減少移植開發(fā)電話系統(tǒng)部分的難度,從而為快速應用LTE Mode到Android系統(tǒng)鋪平道路。采用一種簡潔的方法來實現(xiàn)在Android系統(tǒng)中直接使用LTE Modem。避免Android設備更換Modem后必須全部實現(xiàn)Android本地框架中硬件抽象層接口的工作,進而適合對產(chǎn)品開發(fā)進度有嚴格要求,控制人力成本,提聞緊急效益。
[0011]本發(fā)明是通過這樣的技術方案實現(xiàn)的:采用JNI調(diào)用方式在Android系統(tǒng)中使用LTE Modem的方法,其特征在于,以運行于公司自主研制的TI DM3730/AM3715基帶板上的Android系統(tǒng)為操作平臺,通過JNI調(diào)用方式直接從應用層來處理EM350 LTE Modem數(shù)據(jù),對EM350 LTE Modem進行控制,所述方法包括以下步驟:
(a)確定開發(fā)框架:
層1:硬件層,該層要求選用的LTE Modem和TI DM3730/AM3715基帶板必須同時具有UART 口或者同時具有USB接口,LTE Modem通過UART或者USB接口連接基帶板上的處理器;
層2:利用Linux內(nèi)核和驅動層,Linux系統(tǒng)原生支持UART設備、USB設備,其驅動程序是完全開源的特征,連接支持UART或者USB接口的LTE Modem,利用該LTE Modem提供的UART或者USB開源驅動,采用UART連接方式或USB連接方式,使得LTE Modem以串口設備方式掛接在Linux系統(tǒng)上;
層3:JNI調(diào)用實現(xiàn),這部分直接借用Google的另外一個開源項目Accessing serialports for Android,利用該開源項目實現(xiàn)以JNI調(diào)用方式,實現(xiàn)Java應用程序層對Linux層串口設備的操縱;該項目全部源代碼均可從Google開源項目中獲取,通過該方法位于Java應用層的Android程序可以直接操作Linux層的串口設備,達到控制硬件系統(tǒng)層LTEModem的目的;
層4 =Java應用層,該層由廠商需要根據(jù)具體功能具體去實現(xiàn);
(b)硬件連接LTEModem通過USB 口與運行Android系統(tǒng)的TI DM3730/AM3715基帶板進行連接;TI DM3730/AM3715基帶板的USB1_D0D7提供數(shù)據(jù)信號,USB1_STP、USB 1_CLK、USB1_DIR、USB1_NXT提供時鐘及控制信號,分別對應連接USB芯片USB3343,從USB3343接口出來的DP和DM信號滿足USB協(xié)議,直接連接EM350 USB_D+和USB_D_引腳;
LTE Modem通過UART串口連接方式,TI DM3730/AM3715基帶板具備3個UART接口,根據(jù)實際需要,選擇了 UARTl與LTE Modem的UART串口進行連接;TI DM3730/AM3715基帶板的UART1_RX引腳通過一個電平轉換芯片74ALVC164245連接LTE Modem的UART_TXD引腳,使LTE Modem發(fā)送的串口數(shù)據(jù)被DM3730/AM3715收到;
TI DM3730/AM3715 基帶板的 UART1_TX 通過電平轉換芯片 74ALVC164245 與 LTE Modem的UART_RXD相連,使DM3730/AM3715將命令發(fā)送給LTE Modem ;電平轉換芯片的作用使使DM3730/AM3715 3.3V 接口和 EM350 1.8V/3.0V 接口 電平保持一致; (C)選擇支持AT命令操作方式的LTE Modem ;
(d)應用程序通過Java輸入輸出流的方式對基帶板直接連接具備串口或者USB 口的LTE Modem上的串口,或者是對基帶板連接LTE Modem的USB 口模擬出的串口進行JNI調(diào)用,完成與LTE Modem的AT命令交互。
[0012]本方法有益效果即為:能最大程度上減少移植開發(fā)電話系統(tǒng)這部分的難度,從而為快速應用LTE Mode到Android系統(tǒng)鋪平道路。通過JNI調(diào)用方式在運行Android系統(tǒng)的TI DM3730\AM3715基帶板中使用華為鼎橋LTE Modem EM350,降低了開發(fā)難度,縮短了開發(fā)周期,節(jié)約了人力成本,為終端廠商快速將LTE技術應用于Android提供了可能。
【專利附圖】

【附圖說明】
[0013]圖1為Android開發(fā)框架圖;
圖2為采用JNI調(diào)用方式開發(fā)框架圖;
圖3為AT命令數(shù)據(jù)流向圖;
圖4為AT命令處理流程圖;
圖5為硬件連接示意圖;
圖6為示例AT命令流圖。
【具體實施方式】
[0014]為了更清楚的理解本發(fā)明,結合附圖和實際實施過程詳細描述:
圖1所示為經(jīng)典Android開發(fā)框架圖。
[0015]比如我們想將0V3640像攝像頭應用于我們終端產(chǎn)品的Android系統(tǒng)上。我們就必須完成從硬件系統(tǒng)、驅動開發(fā)、Android系統(tǒng)硬件抽象層開發(fā)、Java應用層開發(fā)等各個部分。工作量包括硬件畫圖、硬件調(diào)試、驅動調(diào)試、硬件抽象層適配,Java應用層編寫。再加上我們需要與其他廠商產(chǎn)品終端體現(xiàn)差異化所要做的工作,故而按照經(jīng)典Android開發(fā)框架圖開發(fā)方式進行開發(fā),其開發(fā)周期長、工作量大、研發(fā)成本相對較高。
[0016]相比較Android經(jīng)典開發(fā)模式,采用JNI調(diào)用方式來開發(fā)會更加便利。如圖2和圖5所示:
1、圖5中的LTE Modem (EM350)作為硬件模塊位于圖2中的Android開發(fā)框架圖的硬件系統(tǒng)部分。LTE Modem (EM350)必須與我們開發(fā)平臺的基帶部分(見圖5中的處理器基帶板,TI DM3730/AM3715基帶板)通過串口或者USB 口相連,使兩者之間可以通過串口方式進行數(shù)據(jù)交互,波特率為115200。
其次DM3730仍需要一個GP10(GP103)為EM350提供復位信號,方便對EM350進行重啟操作;需要一個GPIO(GPIOl)讀取EM350的睡眠和喚醒狀態(tài);同時仍需要一個GP10(GP102)去設置EM350能使其進入睡眠模式或者被喚醒(圖5示中GPIO標號僅僅是為了敘述方便,使用時應根據(jù)需要自行配置)。
[0017]2、我們不需要為LTE Modem撰寫大量驅動,因為LTE Modem掛接在具備UART串口或者USB 口的TI DM3730/AM3715基帶板上,我們可以很方便的利用Linux框架中很成熟的串口設備驅動方式去掛載LTE Modem。Linux作為世界最大的開源操作系統(tǒng),很多廠家和第三方開發(fā)者都會發(fā)布其Linux版本的驅動程序,而且這一切都是開源的。建議先聯(lián)系廠家獲取驅動,這樣的驅動比較穩(wěn)定,可靠性高,將驅動代碼按照廠家說明放入Linux相應的源碼文件夾內(nèi),重新編譯出Linux內(nèi)核替換原來Android系統(tǒng)的Linux內(nèi)核即可。這里推薦一款支持中國4G標準TD-LTE Modem,即鼎橋的EM350。鼎橋提供了這款芯片完善的驅動支持,很方便大家使用。
[0018]3.當LTE Modem掛載到Linux內(nèi)核上后,我們就可以繼續(xù)進行JNI串口調(diào)用的實現(xiàn)了。這里我們要充分利用Google開源項目中JNI串口調(diào)用項目中的開源成果。JNI串口調(diào)用層主要實現(xiàn)的功能包括識別串口設備、打開指定的串口設備、關閉串口等功能。首先要按照JNI語法規(guī)則編寫JNI調(diào)用文件(當然我們無需編寫,因為Google開源項目中已經(jīng)提供給了我們),文件必須實現(xiàn)串口打開和關閉功能。然后經(jīng)過private native static聲明暴露給Java應用程序,這樣java應用程序可以直接調(diào)用JNI代碼,從而完成對串口的操控。
[0019]以上幾個層次無需我們過多的精力,絕大多數(shù)的工作已經(jīng)由LTE Modem廠商(驅動程序)和Google開源項目(JNI串口調(diào)用)幫助我們完成了,這樣我們可以集中精力進行Java應用程序的開發(fā)。如此一來與經(jīng)典Android應用開發(fā)相比,我們可以節(jié)省大量的時間,極大的降低工作量。
[0020]4、在圖3 AT命令數(shù)據(jù)流向圖中的Java應用程序需要建立EM350ActionBuffer、readBuffer>ATreceiveBuffer 三個緩沖區(qū)。EM350ActionBuffer 用來將響應的 Android UI操作,例如撥打某個號碼等轉化來的AT命令進行存儲,在定時器的作用下通過串口處理模塊發(fā)送給EM350。同時在Java應用程序部分還有一個readBuffer緩存一直在讀取EM350發(fā)送回來的串口數(shù)據(jù),這些數(shù)據(jù)經(jīng)過解析存儲在ATReceiveBuffer緩存中,等待著被執(zhí)行,如通知DM3730有電話或者短信呼入請?zhí)幚淼鹊取D3 AT命令數(shù)據(jù)流向圖描述出了 EM350模塊和DM3730內(nèi)軟體的數(shù)據(jù)交互過程。
[0021]5、具體的AT命令處理流程如圖4AT命令處理流程圖所示。借助Android強大的API工具,Java應用程序開發(fā)一層完成與串口的數(shù)據(jù)交互,包括建立流文件(一般為字節(jié)流)、從串口讀數(shù)據(jù)到流文件(接收AT報文)、從流文件寫入數(shù)據(jù)到串口(發(fā)送AT命令),用戶界面設計,對LTE Modem傳上來的AT報文進行處理,實現(xiàn)業(yè)務邏輯,組裝AT命令等功能。示意流程圖如圖4所不。
[0022]6、圖6示例AT命令流圖給出了 EM350的注冊流程。Java應用程序將AT命令通過串口發(fā)送給EM350,而EM350將回復信息(其中有一部信息如信號強度等為EM350主動發(fā)送)發(fā)送給Java應用程序。利用這一流程可以檢驗Java應用程序的功能實現(xiàn)是否正確和兀吾。
本發(fā)明方法實現(xiàn)了通過JNI調(diào)用方式在運行Android系統(tǒng)的TI DM3730\AM3715基帶板中使用華為鼎橋LTE Modem EM350。這種方法可以極大的降低開發(fā)難度,縮短開發(fā)周期,節(jié)約人力成本,為終端廠商快速將LTE技術應用于Android提供了可能。
[0023]以上描述僅用于說明本發(fā)明的技術方案而非限制,本領域的普通技術人員應當理解,可以對本發(fā)明的技術方案進行修改或者等同替換,而不脫離本發(fā)明技術方案的精神和范圍。
[0024]根據(jù)上述說明,結合本領域技術可實現(xiàn)本發(fā)明的方案。
【權利要求】
1.采用JNI調(diào)用方式在Android系統(tǒng)中使用LTEModem的方法,其特征在于,以運行于公司自主研制的TI DM3730/AM3715基帶板上的Android系統(tǒng)為操作平臺,通過JNI調(diào)用方式直接從應用層來處理EM350 LTE Modem數(shù)據(jù),對EM350 LTE Modem進行控制,所述方法包括以下步驟: (a)確定開發(fā)框架: 層1:硬件層,該層要求選用的LTE Modem和TI DM3730/AM3715基帶板必須具有UART口或者具有USB接口,LTE Modem通過UART或者USB接口連接基帶板上的處理器; 層2:利用Linux內(nèi)核和驅動層,Linux系統(tǒng)原生支持UART設備、USB設備,其驅動程序是完全開源的特征,連接支持UART或者USB兩種接口的LTE Modem利用該LTE Modem提供的UART或者USB開源驅動,采用UART連接方式或USB連接方式,使得LTE Modem以串口設備方式掛接在Linux系統(tǒng)上; 層3:JNI調(diào)用實現(xiàn),這部分直接借用Google的另外一個開源項目Accessing serialports for Android,利用該開源項目實現(xiàn)以JNI調(diào)用方式,實現(xiàn)Java應用程序層對Linux層串口設備的操縱;該項目全部源代碼均可從Google開源項目中獲取,通過該方法位于Java應用層的Android程序可以直接操作Linux層的串口設備,達到控制硬件系統(tǒng)層LTEModem的目的; 層4 =Java應用層,該層由廠商需要根據(jù)具體功能具體去實現(xiàn); (b)硬件連接LTEModem通過USB 口與運行Android系統(tǒng)的TI DM3730/AM3715基帶板進行連接;TI DM3730/AM3715基帶板的USB1_D0D7提供數(shù)據(jù)信號,USB1_STP、USB 1_CLK、USB1_DIR、USB1_NXT提供時鐘及控制信號,分別對應連接USB芯片USB3343,從USB3343接口出來的DP和DM信號滿足USB協(xié)議,直接連接EM350 USB_D+和USB_D_引腳; LTE Modem通過UART串口連接方式,TI DM3730/AM3715基帶板具備3個UART接口,根據(jù)實際需要,選擇了 UARTl與LTE Modem的UART串口進行連接;TI DM3730/AM3715基帶板的UART1_RX引腳通過一個電平轉換芯片74ALVC164245連接LTE Modem的UART_TXD引腳,使LTE Modem發(fā)送的串口數(shù)據(jù)被DM3730/AM3715收到; TI DM3730/AM3715 基帶板的 UART1_TX 通過電平轉換芯片 74ALVC164245 與 LTE Modem的UART_RXD相連,使DM3730/AM3715將命令發(fā)送給LTE Modem ;電平轉換芯片的作用是使DM3730/AM3715 3.3V 接口和 EM350 1.8V/3.0V 接口電平保持一致; (c)選擇支持AT命令操作方式的LTEModem ; (d)應用程序通過Java輸入輸出流的方式對基帶板直接連接具備串口或者USB口的LTE Modem上的串口,或者是對基帶板連接LTE Modem的USB 口模擬出的串口進行JNI調(diào)用,完成與LTE Modem的AT命令交互。
2.如權利要求1所述的采用JNI調(diào)用方式在Android系統(tǒng)中使用LTEModem的方法,所述TI DM3730/AM3715基帶板由CPU,DM3730/AM3715,內(nèi)存單元、電源管理單元、USB連接電路、UART連接電路、攝像頭、重力加速度傳感器、GPS定位傳感器、IXD顯示觸控屏、鍵盤電路、MIC和Speaker模擬電路、SD卡支持電路構成,其特征在于,必須具有UART 口或者具有USB 接口。
3.如權利要求1所述的采用JNI調(diào)用方式在Android系統(tǒng)中使用LTEModem的方法,其特征在于,硬件層,該層要求選用的LTE Modem必須為具備UART接口或者具備能模擬出UART 接口的 USB 口的 Modem。
【文檔編號】G06F9/44GK103970545SQ201410224454
【公開日】2014年8月6日 申請日期:2014年5月26日 優(yōu)先權日:2014年5月26日
【發(fā)明者】袁杰, 王智超, 張青平, 姚金龍, 張洪巖, 時勇 申請人:天津七一二通信廣播有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
开封县| 水城县| 云梦县| 惠安县| 庆云县| 堆龙德庆县| 洞口县| 高淳县| 武强县| 武清区| 团风县| 鄂伦春自治旗| 鄂托克旗| 忻城县| 泸西县| 泉州市| 翁源县| 平武县| 大同市| 鹿泉市| 正宁县| 九龙城区| 信丰县| 芜湖市| 中方县| 嵩明县| 年辖:市辖区| 通山县| 稷山县| 曲靖市| 大同县| 樟树市| 黄冈市| 蓬溪县| 昌江| 喀什市| 蓝田县| 胶州市| 斗六市| 秭归县| 阿拉善右旗|