• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于ARM硬件的手持機(jī)間短消息交互的程序設(shè)計(jì)

      2015-11-23 02:35:15李文軍芮茂海王蘇毅舒德全任德成
      關(guān)鍵詞:手持機(jī)短消息信令

      李文軍,芮茂海,王蘇毅,舒德全,任德成

      (總參通信訓(xùn)練基地,宣化 075100)

      基于ARM硬件的手持機(jī)間短消息交互的程序設(shè)計(jì)

      李文軍,芮茂海,王蘇毅,舒德全,任德成

      (總參通信訓(xùn)練基地,宣化 075100)

      基于自主搭建的嵌入式開發(fā)環(huán)境和VS2003軟件開發(fā)的控制終端軟件,設(shè)計(jì)了一種短消息交互的實(shí)現(xiàn)方案。通過對(duì)短消息菜單的程序設(shè)計(jì),結(jié)合鍵盤、顯示屏等外設(shè),實(shí)現(xiàn)對(duì)字符編輯、發(fā)送和接收,從而實(shí)現(xiàn)了手持機(jī)間的短消息交互。

      T9輸入法;狀態(tài)機(jī);中英混排;信令結(jié)構(gòu)

      引 言

      短消息是現(xiàn)代通信的重要形式之一,短信業(yè)務(wù)讓手機(jī)成為電報(bào)式的解讀工具,使視覺文字成為現(xiàn)代通信中傳遞信息和溝通的一種重要方式。短信這種文字視覺式的信息傳輸、解析特點(diǎn),使其他類似的短消息業(yè)務(wù)廣泛應(yīng)用于具備通信功能的嵌入式手持設(shè)備中。

      在研制一種基于STM32F107VCT6芯片的互聯(lián)形嵌入式手持機(jī)時(shí),不同的用戶之間需要進(jìn)行文本信息交互。本文基于現(xiàn)實(shí)需求,根據(jù)短信的基本定義并參考現(xiàn)代手機(jī)中短信的功能設(shè)計(jì),研究了一套實(shí)現(xiàn)短消息功能的方案,以實(shí)現(xiàn)短消息的編輯、存儲(chǔ)、發(fā)送、接收等功能,并在某嵌入式手持設(shè)備中獲得了應(yīng)用。

      1 短消息總體設(shè)計(jì)

      手持機(jī)的短消息通信功能是嵌入式通信系統(tǒng)整體設(shè)計(jì)方案的一部分,不同的嵌入式手持機(jī)設(shè)備通過網(wǎng)線采用星型拓?fù)浣Y(jié)構(gòu)與控制終端電腦相連,利用控制終端軟件的調(diào)度實(shí)現(xiàn)手持機(jī)與電腦之間的信令交互和狀態(tài)控制,最終使控制終端實(shí)現(xiàn)對(duì)固定格式的短消息信令的轉(zhuǎn)發(fā),進(jìn)而實(shí)現(xiàn)不同手持機(jī)間的短消息通信,其星型拓?fù)浣Y(jié)構(gòu)如圖1所示。

      圖1 星型拓?fù)浣Y(jié)構(gòu)及短消息實(shí)現(xiàn)總體設(shè)計(jì)方框圖

      手持機(jī)是互聯(lián)互通功能實(shí)現(xiàn)的終端,其短消息功能實(shí)現(xiàn)的方案是:在STM32F107VCT6主控芯片的調(diào)度下,相關(guān)外圍軟、硬件外設(shè)相互配合,完成短消息的4個(gè)功能模塊,即短消息發(fā)送(包括文字編輯)、短消息接收、短消息存儲(chǔ)、短消息刪除。

      1.1 硬件模塊簡(jiǎn)介

      實(shí)現(xiàn)短消息通信功能的硬件系統(tǒng)包括計(jì)算機(jī)和手持機(jī)兩大部分,計(jì)算機(jī)為成型的商業(yè)電腦,不再贅述。手持機(jī)為自主設(shè)計(jì),其硬件電路主要由以下幾部分組成,即控制芯片STM32F107VCT6、像素為128×64的JLX12864G-573-PC型液晶顯示模塊(包括字庫IC)、容量為64Mb 的W25Q64的FLASH存儲(chǔ)芯片、網(wǎng)絡(luò)通信模塊(包括網(wǎng)絡(luò)控制芯片VM35RB DP83848VVVBC及網(wǎng)絡(luò)變壓器HR911105A及其附屬電容、電阻)、4×5鍵盤(包括0~9 及A、B、C、#鍵及上、下、確定鍵),以及電源等其他外設(shè)。

      STM32F107VCT6是ST公司設(shè)計(jì)的內(nèi)核為Cortex -M3的32位處理器,其最高工作頻率達(dá)72MHz,內(nèi)部含有256KB的FLASH和64KB的SRAM,實(shí)時(shí)性好,且具有很強(qiáng)的中斷處理能力,目前廣泛應(yīng)用于嵌入式和手持設(shè)備中,是手持機(jī)實(shí)現(xiàn)短消息功能的核心部件。

      JLX12864G-573-PC型液晶顯示模塊包括ST7565R驅(qū)動(dòng)芯片、顯示屏(128×64像素)和內(nèi)置標(biāo)準(zhǔn)字庫的存儲(chǔ)芯片,可以通過STM32F107VCT6的引腳接口實(shí)現(xiàn)對(duì)字符、圖片的提取、顯示以及變更等操作。

      W25Q64是華邦公司推出的大容量SPI FLASH產(chǎn)品,容量為8MB,支持標(biāo)準(zhǔn)SPI,最大SPI時(shí)鐘可達(dá)80MHz[2]。在本設(shè)計(jì)中是利用STM32F107VCT6自帶的SPI來實(shí)現(xiàn)對(duì)外部FLASH(即W25Q64)存儲(chǔ)內(nèi)容的讀寫,以實(shí)現(xiàn)手持機(jī)短消息的存儲(chǔ)、刪除功能。

      網(wǎng)絡(luò)控制芯片VM35RB DP83848VVVBC是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的一種支持10/100Mbps的單路物理層網(wǎng)絡(luò)芯片,具備良好的魯棒性和低功耗特點(diǎn),對(duì)各種標(biāo)準(zhǔn)的以太網(wǎng)解決方案有良好的兼容性,在本設(shè)計(jì)中通過UDP通信方式實(shí)現(xiàn)主電腦控制終端的信令交互與短消息收發(fā)。

      1.2 軟件模塊簡(jiǎn)介

      實(shí)現(xiàn)短消息通信功能的軟件系統(tǒng)包括計(jì)算機(jī)中控軟件和手持機(jī)操作軟件兩個(gè)部分。

      計(jì)算機(jī)中控軟件采用VC++編寫,利用VS2003開發(fā)環(huán)境基于無鏈接的UDP協(xié)議,自定義了短消息類,接收并解析收到的短消息信令,根據(jù)信令中包含的目標(biāo)ID和目標(biāo)ID所指向手持機(jī)的工作狀態(tài),決定是否轉(zhuǎn)發(fā)短消息。代碼相對(duì)簡(jiǎn)單,不再贅述。

      短消息的程序?qū)崿F(xiàn)方面主要由以下5部分組成:STM32F107VCT6的驅(qū)動(dòng)程序、顯示芯片驅(qū)動(dòng)和顯示程序、網(wǎng)絡(luò)驅(qū)動(dòng)及初始化程序、按鍵控制程序以及短消息實(shí)現(xiàn)程序。在本設(shè)計(jì)中,手持機(jī)操作軟件的編寫不依賴操作系統(tǒng),為自主設(shè)計(jì)的代碼,以上5部分代碼是在ST公司自帶的庫文件上編寫。手持機(jī)開機(jī)后,程序初始化,配置好STM32F107VCT6的內(nèi)部時(shí)鐘以及SPI、鍵盤、W25Q64、顯示屏、網(wǎng)絡(luò)接口等外設(shè)的引腳,并分別啟動(dòng)。之后利用UDP協(xié)議通過網(wǎng)絡(luò)向電腦控制終端上報(bào)開機(jī)信息。在開機(jī)后,以心跳的方式每3s向控制終端匯報(bào)一次工作狀態(tài)。最后通過鍵盤操作進(jìn)入到短消息界面,進(jìn)行短消息的操作(接收短消息通過中斷的方式進(jìn)行)。

      2 短消息實(shí)現(xiàn)的程序設(shè)計(jì)

      在本設(shè)計(jì)中,短消息是由手持機(jī)編輯并發(fā)出,以特定格式的信令通過控制終端的解析、轉(zhuǎn)發(fā)到目的手持機(jī),手持機(jī)短消息菜單界面分為收件箱、寫信息、發(fā)件箱、刪除短信4個(gè)子菜單,其界面如圖2左圖所示。

      圖2 短消息功能界面及漢字編輯、英漢混排界面

      “收件箱”即接收到信息后,將信息解析、存儲(chǔ),以便查看、編輯(包括刪除、轉(zhuǎn)發(fā))的功能菜單。其接收功能是“收件箱”的核心,具體實(shí)現(xiàn)是利用網(wǎng)絡(luò)通信中斷函數(shù)ETH_IRQHandler(),通過指定端口接收并解析來自控制終端轉(zhuǎn)發(fā)的短消息信令,并將之存儲(chǔ)在W25Q64芯片中。

      “刪除短信”功能就是對(duì)存儲(chǔ)在W25Q64中的發(fā)送信息、接收信息進(jìn)行擦除,即將目標(biāo)存儲(chǔ)空間覆蓋特定字符,如0x00。在本設(shè)計(jì)中存儲(chǔ)芯片W25Q64最小擦除單位為一個(gè)4KB大小的扇區(qū)[2],為了使程序邏輯更加簡(jiǎn)單明了,對(duì)信息的刪除,以及對(duì)接收信息、發(fā)送信息的存儲(chǔ)操作都是以4KB為單位對(duì)W25Q64的扇區(qū)進(jìn)行操作的。

      “寫信息”功能是短消息功能實(shí)現(xiàn)代碼中最龐大也是最核心的部分,即通過鍵盤操作,參考T9輸入算法編輯文字(包括英、漢、數(shù)字、標(biāo)點(diǎn)等),并提取相應(yīng)的GB2312碼存放到STM32F107VCT6開辟的緩存buffer中。當(dāng)決定發(fā)送時(shí),與輸入的信宿號(hào)碼(相當(dāng)于手機(jī)號(hào)碼)一起按照固定格式組成一條短消息信令,利用UDP協(xié)議通過網(wǎng)絡(luò)接口發(fā)送出去,并將之存儲(chǔ)到W25Q64芯片中預(yù)先劃分的“發(fā)件箱”區(qū)域中,即“發(fā)件箱”所能夠查看的內(nèi)容。

      存儲(chǔ)(包括刪除)、接收短消息的代碼相對(duì)簡(jiǎn)單,技術(shù)實(shí)現(xiàn)難度較低,在此不再贅述?!皩懶畔ⅰ敝袧h字編輯的難度較高,遠(yuǎn)遠(yuǎn)超過英文、數(shù)字、標(biāo)點(diǎn)的編輯,因此,以漢字的編輯過程為主要對(duì)象進(jìn)行詳細(xì)說明。

      2.1 “寫信息”程序設(shè)計(jì)與狀態(tài)轉(zhuǎn)換

      “寫信息”菜單的代碼程序參考了當(dāng)前市場(chǎng)流行的T9輸入法的界面和基本操作流程,并根據(jù)應(yīng)用需求做適當(dāng)改進(jìn)。不同的輸入內(nèi)容可通過“#”鍵進(jìn)行循環(huán)切換,數(shù)字輸入采用直接按鍵的方式,英文大/小寫字母、標(biāo)點(diǎn)符號(hào)以快速連按的方式進(jìn)行選擇并輸入,程序設(shè)計(jì)相對(duì)簡(jiǎn)單。以漢語拼音的方式實(shí)現(xiàn)漢字輸入的方法需要隨時(shí)根據(jù)鍵盤和顯示屏的顯示內(nèi)容進(jìn)行狀態(tài)轉(zhuǎn)換,過程相對(duì)復(fù)雜。

      漢字擁有固定的形、音對(duì)應(yīng)關(guān)系,這是漢字編輯的邏輯起點(diǎn)。利用T9拼音輸入漢字的思維邏輯是:一個(gè)漢字至少對(duì)應(yīng)一個(gè)拼音,因此可利用漢字對(duì)應(yīng)的漢語拼音查找同音漢字,然后在同音漢字中查找目標(biāo)漢字。“寫信息”菜單中漢字編輯的實(shí)現(xiàn)及狀態(tài)機(jī)轉(zhuǎn)換過程也是與這種認(rèn)知規(guī)律相一致,即是一個(gè)采用循環(huán)[3-4]結(jié)構(gòu),不斷查找、判斷輸入數(shù)字串與拼音組合及同拼音漢字這三者之間的映射關(guān)系過程[5]。

      首先通過“#”號(hào)鍵調(diào)整輸入方式,使之處于漢字輸入的狀態(tài)下;然后通過鍵盤2~9輸入代表拼音的數(shù)字串,并在顯示屏上實(shí)時(shí)顯示拼音的“匹配結(jié)果”,若代表拼音的數(shù)字串輸入有誤,可以通過C鍵刪除上一個(gè)錯(cuò)誤輸入的數(shù)字,若代表拼音的數(shù)字串輸入正確,則通過A或B鍵查找目標(biāo)字符拼音,即篩選與數(shù)字串對(duì)應(yīng)的拼音組合;若拼音組合也正確,則判斷、確定目標(biāo)漢字,即按下“1”鍵,確定拼音,并通過1~5鍵選擇排列的1~5個(gè)漢字,存儲(chǔ)其GB2312碼,并將其對(duì)應(yīng)的點(diǎn)陣組合顯示到顯示屏上,或利用上、下鍵選擇下一組同音的5個(gè)漢字。至此一個(gè)漢字的輸入過程便完成了,下一步則可以根據(jù)短消息編輯的需求,決定是繼續(xù)輸入漢字還是按下確定鍵輸入信宿的號(hào)碼,并按發(fā)送鍵將保存的GB2312碼流發(fā)送出去。算法的主體結(jié)構(gòu)如圖3所示,并可借鑒參考文獻(xiàn)[1]中漢字“幫”的輸入過程(如圖2右圖所示)。

      2.2 信息功能實(shí)現(xiàn)的關(guān)鍵點(diǎn)設(shè)計(jì)

      要完成短消息的編輯、發(fā)送和接收等主體功能,漢字拼音碼表的查找,中、英文混排編輯以及設(shè)計(jì)合理的信令結(jié)構(gòu)是其中的關(guān)鍵點(diǎn)。

      2.2.1 “碼表查找”數(shù)據(jù)結(jié)構(gòu)

      圖3 寫信息編輯漢字的操作流程和狀態(tài)機(jī)轉(zhuǎn)換圖

      漢字輸入法的實(shí)現(xiàn)過程實(shí)際上是一個(gè)根據(jù)鍵盤輸入查找拼音組合以及相應(yīng)漢字的過程,但關(guān)鍵在于數(shù)字串到拼音往往是一種多對(duì)多的映射關(guān)系,而拼音到同音的漢字排列表是一種一對(duì)多的映射關(guān)系。為實(shí)現(xiàn)正確的漢字輸入,首先要獲得正確組合的數(shù)字串,根據(jù)數(shù)字串找到對(duì)應(yīng)的拼音,再根據(jù)該拼音找到對(duì)應(yīng)的漢字,最后根據(jù)漢字的機(jī)內(nèi)碼到漢字字庫中查找漢字的顯示點(diǎn)陣,這一過程不妨稱為“碼表查找”過程?!按a表查找”的實(shí)現(xiàn)中對(duì)合理碼表的設(shè)計(jì)具有重要意義[4]。

      拼音索引數(shù)據(jù)結(jié)構(gòu),是一個(gè)包括輸入數(shù)字序列、拼音、拼音碼表的結(jié)構(gòu)體,這三者構(gòu)成一個(gè)完整的三級(jí)映射關(guān)系。其定義如下:

      其中具體的拼音索引表(部分)由2~9數(shù)字組合成的數(shù)字序列、數(shù)字序列對(duì)應(yīng)的拼音,以及拼音碼表數(shù)組3部分組成。

      在本設(shè)計(jì)自定義的拼音索引表py_index_li[]中,拼音順序按英文字母表順序排列。數(shù)字串2264對(duì)應(yīng)兩個(gè)拼音,即“bang”與“cang”,但在輸入“2264”數(shù)字串后,顯示屏上首先顯示的匹配結(jié)果為“bang”及其對(duì)應(yīng)的同音漢字,因?yàn)椤癰ang”的位置比“cang”靠前,是第一順位匹配拼音,而若目標(biāo)漢字為“蒼”,則需要根據(jù)A或B鍵調(diào)換拼音,并通過上/下鍵,結(jié)合“1”鍵以及其他數(shù)字鍵選擇漢字“蒼”,并將其GB2312碼存放到預(yù)先設(shè)定的數(shù)組中。

      }//拼音索引表

      與拼音碼表數(shù)組對(duì)應(yīng)的漢字排列表(部分),每一個(gè)拼音碼表數(shù)組中存放的內(nèi)容并不是表面顯示的漢字字形,而是標(biāo)識(shí)漢字的GB2312內(nèi)碼,即目標(biāo)漢字編輯、存儲(chǔ)的內(nèi)容。

      2.2.2 中、英文混排編輯

      短消息是一種視覺式的文字信息,涉及文字在LCD顯示屏上的顯示與排版。在本設(shè)計(jì)中顯示與排版的主要難度在于中、英文字符的混排。

      本設(shè)計(jì)中采用的液晶顯視屏為64×128像素,采用的漢字點(diǎn)陣為16×16像素,英文字母、數(shù)字、標(biāo)點(diǎn)為8×16像素。在中、英文混排編輯時(shí),尤其在文字換行排版時(shí)容易出現(xiàn)以下兩種情形,導(dǎo)致排版顯示異常:其一,行尾僅剩8×16像素的空間,卻要輸入一個(gè)16×16像素的漢字;其二,對(duì)已輸入的字符進(jìn)行刪除時(shí),首先確定需要?jiǎng)h除字符所占用的像素空間。

      欲解決以上問題,需要在文字編輯時(shí)建立一個(gè)與輸入文字相對(duì)應(yīng)的標(biāo)志位數(shù)組(如英文字符為1,漢字為2),以標(biāo)識(shí)當(dāng)前輸入文字的像素大小。在每一次文字輸入或刪除時(shí),都需要根據(jù)這個(gè)數(shù)組的值、確定文字顯示的排版。

      2.2.3 短消息信令格式

      短消息以固定信令格式的形式由控制終端轉(zhuǎn)發(fā),在不同的手持機(jī)之間傳輸??刂平K端在轉(zhuǎn)發(fā)時(shí)需要知道的信息包括短消息標(biāo)識(shí)性字頭、信源、信宿以及各自的權(quán)限。而為了使信宿手持機(jī)能夠準(zhǔn)確地解析出信息內(nèi)容,控制終端轉(zhuǎn)發(fā)的短消息信令應(yīng)該包括短消息標(biāo)識(shí)性字頭、信源號(hào)碼、信息長(zhǎng)度、號(hào)碼長(zhǎng)度以及短消息內(nèi)容。

      當(dāng)短消息發(fā)出時(shí),號(hào)碼區(qū)存放的號(hào)碼為信宿號(hào)碼,而控制終端利用本機(jī)ID號(hào)識(shí)別信源并確定其權(quán)限;當(dāng)控制終端接收到信源發(fā)來的短消息信令時(shí),需要將接收到的ID號(hào)轉(zhuǎn)化為信源號(hào)碼并填充到號(hào)碼區(qū),然后根據(jù)信宿號(hào)碼對(duì)應(yīng)的IP地址和端口,利用UDP協(xié)議發(fā)送出去。短消息信令的基本格式如下所示:

      $$AA$$ 信息長(zhǎng)度號(hào)碼長(zhǎng)度內(nèi)容(≤48)信宿號(hào)碼(發(fā))或信源號(hào)碼(收)本機(jī)ID

      結(jié) 語

      短消息式的文本信息交互方式在當(dāng)前嵌入式設(shè)備中應(yīng)用非常廣泛,本文基于短消息的基本功能菜單提出了一套既簡(jiǎn)單又能滿足基本文字交互的短消息交互實(shí)現(xiàn)方案。本實(shí)現(xiàn)方案中程序采用VC++編寫,代碼具有較強(qiáng)的可修改、可移植性,并可根據(jù)需要添加新功能。目前本方案己經(jīng)應(yīng)用在某通信系統(tǒng)中,但是本設(shè)計(jì)中文本的傳輸方案相對(duì)簡(jiǎn)單,增加校驗(yàn)、加密以及采用更可靠的傳輸方式是下一步研究的重點(diǎn)。

      [1]李文軍,于明浩,王新征.T9輸入法在嵌入式設(shè)備中的實(shí)現(xiàn)方案[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014,12(14):1-4.

      [2]張洋,劉軍.原子教你玩STM32[M].北京:北京航空航天大學(xué)出版社,2013.

      [3]張真波,李俊,倪宏,等.電視機(jī)遙控器中文輸入法的實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2008,1(2):278-280.

      [4]甘亞輝.嵌入式中文拼音輸入法的設(shè)計(jì)[J].開發(fā)案例,2008,3(3):84-85.

      [5]李晨.嵌入式系統(tǒng)下中文拼音輸入法的設(shè)計(jì)與實(shí)現(xiàn)[J].航空電子技術(shù),2009,12(4):31-34.

      李文軍(講師),主要從事嵌入式硬件及軟件系統(tǒng)研發(fā);芮茂海、任德成,主要從事通信領(lǐng)域相關(guān)的科研、教學(xué);王蘇毅、舒德全,主要從事硬件設(shè)計(jì)與開發(fā)。

      Program of Short Message lnteraction Between Handheld Machines Based on ARM

      Li Wenjun,Rui Maohai,Wang Suyi,Shu Dequan,Ren Decheng
      (Communication Training Base of General Staff,Xuanhua 075100,China)

      The paper introduces a solution of communication with short message based on the embedded development environment designed independent and control terminal software of VS2003.Through the design of menu of short message,combining with the keyboard and the display screen,the characters of editing,sending and receiving are realized,so as to the short message interaction between the handheld machines is realized.

      T9input method;state machine;mix of chinese and english;structure of signaling

      TP393;TN919

      A

      ??薛士然

      2015-01-27)

      猜你喜歡
      手持機(jī)短消息信令
      SLS字段在七號(hào)信令中的運(yùn)用
      移動(dòng)信令在交通大數(shù)據(jù)分析中的應(yīng)用探索
      試論電視新聞短消息的采寫策略
      新聞傳播(2018年14期)2018-11-13 01:12:58
      基于WIA—PA的無線手持機(jī)設(shè)計(jì)
      淺談廣播短消息的采寫
      新聞傳播(2018年1期)2018-04-19 02:09:00
      基于信令分析的TD-LTE無線網(wǎng)絡(luò)應(yīng)用研究
      從拿手機(jī) 的姿勢(shì)看你是怎樣的人
      中學(xué)生(2017年7期)2017-04-12 01:38:31
      北斗高精度手持機(jī)在航測(cè)外業(yè)中的應(yīng)用
      LTE網(wǎng)絡(luò)信令采集數(shù)據(jù)的分析及探討
      短消息業(yè)務(wù)評(píng)估體系的研究與實(shí)現(xiàn)
      皮山县| 冀州市| 十堰市| 建昌县| 凤庆县| 黑河市| 广德县| 礼泉县| 益阳市| 黑龙江省| 武鸣县| 垣曲县| 南乐县| 合阳县| 兴业县| 博客| 兴安盟| 安徽省| 桂林市| 神池县| 望城县| 永德县| 墨脱县| 绥滨县| 孙吴县| 巴马| 新营市| 伽师县| 崇信县| 舟曲县| 霍城县| 墨脱县| 包头市| 巴林右旗| 南陵县| 通化县| 盘山县| 丰镇市| 门源| 蒲城县| 吉木乃县|