當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]隨著信息社會的快速發(fā)展,手機已經(jīng)成為現(xiàn)代生活中人們不可缺少的工具。與此同時,手機的快速普及和手機功能的豐富使得僅將其運用于生活和工作中似乎并不能充分發(fā)揮它的全部功能。比如,現(xiàn)階段大部分手機都具有的拍照

隨著信息社會的快速發(fā)展,手機已經(jīng)成為現(xiàn)代生活中人們不可缺少的工具。與此同時,手機的快速普及和手機功能的豐富使得僅將其運用于生活和工作中似乎并不能充分發(fā)揮它的全部功能。比如,現(xiàn)階段大部分手機都具有的拍照功能,完全可以將其應(yīng)用于監(jiān)控系統(tǒng)等工業(yè)控制領(lǐng)域;同樣,目前手機都具有的短信通信功能,充分發(fā)揮其廉價和方便的特性,將其運用于智能家居領(lǐng)域,只需要發(fā)送一條對應(yīng)的短信指令便能控制家中對應(yīng)的家用電器。本文結(jié)合手機和短信的各自特性,通過手機發(fā)送短信控制基于MTK平臺遠(yuǎn)程終端,在遠(yuǎn)程終端接上負(fù)載(比如電飯煲、攝像頭),遠(yuǎn)程終端在接收到固定指令的短信后控制外接負(fù)載的開斷,便可實現(xiàn)短信控制基于MTK平臺的遠(yuǎn)程終端。在本文所介紹的系統(tǒng)中,只需要發(fā)送一條短信內(nèi)容為“on”的指令,便可打開遠(yuǎn)程終端的外接負(fù)載,操作完成后MTK遠(yuǎn)程終端根據(jù)控制情況自動回復(fù)一條操作是否成功的信息;發(fā)送一條短信內(nèi)容為“off”的指令便可關(guān)斷遠(yuǎn)程終端的外接負(fù)載,操作完成后MTK遠(yuǎn)程終端根據(jù)控制情況自動回復(fù)一條操作是否成功的信息;若接收到其他指令,則不對遠(yuǎn)程終端的外接負(fù)載采取任何操作,也不回復(fù)信息給客戶。

  1  MTK平臺介紹

  1.1  MTK硬件平臺

  MTK(MediaTek)是臺灣聯(lián)發(fā)科技多媒體芯片提供商的簡稱,其生產(chǎn)的手機基帶芯片有MT6205、MT6217、MT6218、MT6219、MT6235等。在MTK手機方案家族中,內(nèi)部集成了ARM7核和DSP核的MT6225以其優(yōu)越的無線通信特性成為目前使用最廣泛、最穩(wěn)定、最成熟的手機開發(fā)平臺,從2005年推出到現(xiàn)在,出貨芯片數(shù)量可以億來計算。

  1.2  MTK軟件架構(gòu)

  MTK軟件架構(gòu)和硬件相結(jié)合作為遠(yuǎn)程終端的開發(fā)平臺,軟件架構(gòu)對于開發(fā)尤為重要。圖1所示為MTK平臺軟件整體架構(gòu)。


 


圖1  MTK平臺軟件構(gòu)架

  MTK的軟件架構(gòu)用到了層的概念,它將各功能模塊分為不同的層,每個層實現(xiàn)其各自的功能特性。整個軟件構(gòu)架主要由Remote MMI、MMI、L4、Drivers和PS/L1幾個部分構(gòu)成。Remote MMI即RMI,如PC端,可使用AT命令通過串口與協(xié)議棧通信;L4為MMI/AT與協(xié)議棧之間的適配層;Drivers包含設(shè)備及外圍設(shè)備的各種驅(qū)動;PS/L1中的L1(Layer1)為協(xié)議棧的最底層,它是GSM的物理層,直接處理信號數(shù)據(jù);另外,協(xié)議棧里面的L2和L3包含大量的GSM/GPRS需求,而且提供一個優(yōu)秀的GGSM/GPRS平臺給應(yīng)用程序;MMI即Man Machine Interface,通常稱為人機界面,它分為文字界面和圖形界面兩種。MMI包括用戶的接口構(gòu)架、應(yīng)用以及與協(xié)議棧的通信,MMI的構(gòu)架如圖2所示。


 


圖2  MMI架構(gòu)圖

  由圖2可知,MMI主要由Application Layer、Framework和UI Layer三個部分組成。

 ?、?Application Layer: 主要包括用戶自己定義的程序,用來實現(xiàn)各種功能。如果用戶需要在MTK的平臺上添加一些功能,這些功能的程序就是在這個地方添加。

 ?、?Framework:由事件處理、歷史機制、OSL、文件系統(tǒng)和NVRAM組成,它接收來自所有任務(wù)的時間,幫助應(yīng)用程序控制屏幕,并提供給應(yīng)用程序各種系統(tǒng)調(diào)用接口。

 ?、?UI Layer:包含Category Screens、UI Elements、Themes、Fonts、Image和Graphics Library,它為應(yīng)用程序提供界面顯示的相關(guān)功能。

  本系統(tǒng)的遠(yuǎn)程終端的實現(xiàn)選用的手機基帶芯片為MTK6225,選用它的主要原因是其具有成熟的硬件基礎(chǔ)和軟件架構(gòu)以及高性價比。

  2  系統(tǒng)框架

  圖3為基于MTK平臺的短信控制遠(yuǎn)程終端的總體框架。系統(tǒng)由客戶端、遠(yuǎn)程終端、負(fù)載3個模塊組成??蛻舳耸侨魏我徊烤哂卸绦磐ㄐ殴δ艿氖謾C;遠(yuǎn)程終端為以MTK6225為主控芯片的MTK平臺,利用MTK平臺的短信模塊功能及其閑置的GPIO口實現(xiàn)對負(fù)載(需要遠(yuǎn)程控制的對象)的控制。


 


圖3  基于MTK平臺的短信控制遠(yuǎn)程終端的總體框架

  3  系統(tǒng)實現(xiàn)

  3.1  MTK6225 GPIO口的驅(qū)動

  GPIO[3](General Purpose Input Output,通用輸入輸出端口)。MTK6225提供了53個通用輸入/輸出口和4個通用輸出口。MTK通過對I/O口的復(fù)用來減少I/O端口的個數(shù),每個GPIO口有4種工作模式,即模式0~3。每個GPIO口都可通過軟件配置為輸入、輸出或特定用途的雙向口。其被用作輸入使用時,GPIO口可作為中斷源。本文選擇GPIO口GPIO45的模式0,即配置端口為輸入/輸出模式。在MTK6225的平臺中,對GPIO的操作有以下3步:

 ?、?確定要操作的引腳是在GPIO模式。通過函數(shù)GPIO_ModeSetup(kal_uint16 pin,kal_uint16 conf_data)設(shè)置。其中pin為端口號,conf_data為模式的選擇。本文試驗中對GPIO模式的設(shè)置如下。GPIO_ModeSetup((kal_uint16)GPIO_port_45, (kal_uint16)0)

 ?、?配置該引腳為輸入/輸出。通過函數(shù)void GPIO_InitIO(char direction,char port)設(shè)置。其中direction為輸入INPUT(0)或者輸出OUTPUT(1),port為端口號。本文試驗中對GPIO口的輸入/輸出設(shè)置如下,設(shè)置GPIO45為輸出,即可通過它的輸出信息來控制外接負(fù)載。GPIO_InitIO((char)1, (char)GPIO_PORT_45)

 ?、?讀寫數(shù)據(jù)。通過函數(shù)void GPIO_WriteIO(kal_char data,kal_char port)設(shè)置,其中data為1(高電平)或者0(低電平),port為端口號。本文試驗中對GPIO口引腳寫數(shù)據(jù)操作如下。GPIO45輸出高電平,即可打開外接負(fù)載;GPIO34輸出低電平,即可關(guān)斷外接負(fù)載。GPIO_WriteIO((char)1,(char)GPIO_PORT_45)GPIO_WriteIO((char)0,(char)GPIO_PORT_34)

  在本文所做試驗中,對GPIO初始化成功并對GPIO端口讀寫數(shù)據(jù)完成后,需要通過函數(shù)GPIO_ReadIO(char port)來讀取GPIO端口的狀態(tài),通過讀取其端口狀態(tài)來和寫到GPIO口的數(shù)據(jù)相比較,若匹配則說明控制成功,反之則失敗,其中port為端口號。

  3.2  MTK的短信模塊

  3.2.1  MTK短信接收的流程

  從函數(shù)InitializeAll()中初始化開始,到信息顯示在MTK的手機界面,提示用戶讀取信息的過程中經(jīng)歷中斷、協(xié)議處理、MMI層收到新短信,更新短信計數(shù)器,轉(zhuǎn)換短信數(shù)據(jù),并壓入未讀短信隊列等操作。

  3.2.2  MTK發(fā)送短信息的核心函數(shù)

  相比于日常生活中短信通信不同的是此平臺是根據(jù)對遠(yuǎn)程終端的控制情況而自動回復(fù)的。自動回復(fù)信息需要知道發(fā)送短信到MTK遠(yuǎn)程終端的手機的號碼,還需要自填充自動回復(fù)的短信內(nèi)容。void mmi_frm_sms_send_sms_seg(void)為MTK6225發(fā)送短信的核心函數(shù),自動回復(fù)是在此函數(shù)的基礎(chǔ)上將發(fā)送短信到MTK終端的手機號碼作為該函數(shù)的形參,對發(fā)送內(nèi)容的自填充也在該函數(shù)中定義:char * content="the bulb turn on successfully";(此處即為根據(jù)接收到的指令對外接負(fù)載采取操作后,自動回復(fù)信息的內(nèi)容,根據(jù)操作結(jié)果不同自填充短信內(nèi)容即不同)。

  3.2.3MTK接收短信息數(shù)據(jù)結(jié)構(gòu)體

  MTK將收到的短信息的相關(guān)參數(shù)打包成結(jié)構(gòu)體,以下為MTK關(guān)于接收到短信內(nèi)容相關(guān)信息的結(jié)構(gòu)體。MTK平臺每一條短信的內(nèi)容分成若干段,一個字節(jié)為一段。其中no_msg_data為接收到的段數(shù),數(shù)組msg_data[1]接收到的信息的第一段數(shù)據(jù),以接收到的第一段的數(shù)據(jù)為索引,解析接收到內(nèi)容后通過判斷遠(yuǎn)程終端接收到的短信內(nèi)容來對遠(yuǎn)程終端外接負(fù)載采取相應(yīng)操作。

  typedef struct{

  ……

  U16 no_msg_data;

  U8 msg_data[1];

  } mmi_frm_sms_deliver_msg_struct;

  3.3  MTK遠(yuǎn)程終端的控制程序流程

  基于MTK平臺的遠(yuǎn)程控制終端在接收到控制信息后,MTK自動回復(fù)和對負(fù)載采取操作的代碼在函數(shù)void mmi_frm_sms_new_sms_ind(void *inMsg)中被調(diào)用。此函數(shù)的功能是將L4層的數(shù)據(jù)轉(zhuǎn)換成MMI層的數(shù)據(jù),并對接收到的數(shù)據(jù)進(jìn)行處理,直至顯示到遠(yuǎn)程終端界面上。將MTK作為遠(yuǎn)程終端,不需要將接收到的控制負(fù)載的信息顯示在界面上,所以為了屏蔽發(fā)送來的信息顯示在終端界面,應(yīng)把接收到的短信添加到短信記錄中的函數(shù)CHISTIncRecvdSMS注釋掉。裝有SIM卡的遠(yuǎn)程終端經(jīng)常收到如10086之類的服務(wù)信息,為了屏蔽這些不必要的信息,對發(fā)送信息進(jìn)來的號碼長度進(jìn)行判斷,加上中國的電話區(qū)位號86,則若為手機發(fā)送一共為13位。由于MTK的代碼是分模塊的,當(dāng)在短信模塊中調(diào)用其他模塊的函數(shù)時,就需要在這個函數(shù)被調(diào)用的文件里面加上相應(yīng)的頭文件。圖4為條件判斷和對打開/關(guān)斷負(fù)載的函數(shù)的調(diào)用以及對短信自動回復(fù)的函數(shù)的調(diào)用情況。


 


圖4  遠(yuǎn)程終端控制負(fù)載及自動回復(fù)流程

  3.4  試驗結(jié)果

  將一支發(fā)光二極管作為遠(yuǎn)程控制終端的外接負(fù)載,正極接MTK6225的GPIO45,負(fù)極接MTK6225的GND,GPIO45默認(rèn)為低電平,剛接上時發(fā)光二極管處于熄滅狀態(tài)。用手機發(fā)送短信內(nèi)容為“on”的指令到基于MTK平臺的遠(yuǎn)程控制終端時,發(fā)光二極管亮,遠(yuǎn)程控制終端返回信息“ the bulb turn on successfully”;用手機發(fā)送短信內(nèi)容為“off”的指令到基于MTK平臺的遠(yuǎn)程控制終端時,發(fā)光二極管熄滅,遠(yuǎn)程控制終端返回信息“ the bulb turn off successfully”。發(fā)送其他內(nèi)容的短信指令到遠(yuǎn)程控制終端時,發(fā)光二極管沒有響應(yīng)且不返回任何信息。試驗結(jié)果表明,基于MTK的短信控制遠(yuǎn)程終端的方案切實可行。

  結(jié)語

  充分發(fā)揮MTK平臺高性價比的優(yōu)勢, 提出將MTK手機平臺應(yīng)用于控制領(lǐng)域,設(shè)計了基于MTK平臺的短信控制遠(yuǎn)程終端的實現(xiàn)方案,并通過試驗驗證了該方案的可行性。該方案具有成本低、開發(fā)周期短、組網(wǎng)方便、易于擴展等優(yōu)點,為通信和控制相關(guān)領(lǐng)域的研究和開發(fā)人員提供了參考。

 

 

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉