基于VxWorks實(shí)現(xiàn)自動(dòng)發(fā)送彩信嵌入式設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第1頁(yè)
基于VxWorks實(shí)現(xiàn)自動(dòng)發(fā)送彩信嵌入式設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第2頁(yè)
基于VxWorks實(shí)現(xiàn)自動(dòng)發(fā)送彩信嵌入式設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第3頁(yè)
基于VxWorks實(shí)現(xiàn)自動(dòng)發(fā)送彩信嵌入式設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第4頁(yè)
基于VxWorks實(shí)現(xiàn)自動(dòng)發(fā)送彩信嵌入式設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精品文檔-下載后可編輯基于VxWorks實(shí)現(xiàn)自動(dòng)發(fā)送彩信嵌入式設(shè)計(jì)-設(shè)計(jì)應(yīng)用在ARM微處理器硬件平臺(tái)上,應(yīng)用WindRiver公司的Tornado集成開(kāi)發(fā)環(huán)境,實(shí)現(xiàn)基于VxWorks的自動(dòng)發(fā)送彩信的嵌入式應(yīng)用系統(tǒng)。該系統(tǒng)使用現(xiàn)有CDMA網(wǎng)絡(luò),根據(jù)設(shè)定的參數(shù)發(fā)送彩信到特定的移動(dòng)終端用戶(hù)。隨著嵌入式應(yīng)用的發(fā)展和16/32位RISC處理器技術(shù)的成熟,以及支持各種高端處理器的嵌入式操作系統(tǒng)的涌現(xiàn)和完善,嵌入式無(wú)線(xiàn)設(shè)備可以利用CDMA網(wǎng)絡(luò)實(shí)現(xiàn)許多新的應(yīng)用。自動(dòng)發(fā)送彩信的嵌入式系統(tǒng)就是這種新應(yīng)用之一,在特定的條件下,系統(tǒng)自動(dòng)發(fā)送彩信到指定的移動(dòng)通信終端;該應(yīng)用系統(tǒng)是由用戶(hù)根據(jù)要求設(shè)定觸發(fā)條件的自動(dòng)發(fā)送彩信系統(tǒng),當(dāng)滿(mǎn)足觸發(fā)條件時(shí),設(shè)備會(huì)自動(dòng)控制捕獲、壓縮圖像部件拍攝外部圖像,經(jīng)過(guò)模數(shù)轉(zhuǎn)換、數(shù)字壓縮等處理后,經(jīng)處理器做MMS(MultimediaMessageService,多媒體短信服務(wù))協(xié)議封裝,封裝后的數(shù)據(jù)經(jīng)由手機(jī)模塊發(fā)送到移動(dòng)交換網(wǎng)絡(luò),終轉(zhuǎn)發(fā)到移動(dòng)通信終端用戶(hù)。

系統(tǒng)整體設(shè)計(jì)●系統(tǒng)主處理器

系統(tǒng)選用Samsung公司的16/32位基于ARM7TDMI的微處理器,其主頻可以達(dá)到130MIPS,同時(shí)支持16位的Thumb指令集,使用Thumb指令集可以以16位的系統(tǒng)開(kāi)銷(xiāo)得到32位的系統(tǒng)性能?!裣到y(tǒng)原理框圖

系統(tǒng)從邏輯上分成三部分:圖像捕獲和圖像壓縮模塊用于捕獲和壓縮圖像;MMS協(xié)議處理和主控制器模塊處理圖像數(shù)據(jù)和任務(wù)控制;手機(jī)模塊可發(fā)送彩信和接收短消息。系統(tǒng)原理如圖1所示。

圖1系統(tǒng)原理框圖

●系統(tǒng)工作原理步驟

(1)系統(tǒng)上電啟動(dòng)后,手機(jī)模塊讀取UIM信息發(fā)送無(wú)線(xiàn)信號(hào)尋找CDMA網(wǎng)絡(luò),進(jìn)行用戶(hù)號(hào)碼賬戶(hù)和身份驗(yàn)證后連接到網(wǎng)絡(luò);然后系統(tǒng)發(fā)起任務(wù)讀取手機(jī)模塊中的信息,確定是否有網(wǎng)絡(luò)連接,若有網(wǎng)絡(luò)連接則系統(tǒng)發(fā)起任務(wù),等待滿(mǎn)足觸發(fā)自動(dòng)發(fā)送彩信的條件。

(2)設(shè)備軟件可以接受SMS(ShortMessageService,短信服務(wù))信息,并對(duì)之進(jìn)行解析,根據(jù)解析的結(jié)果進(jìn)行動(dòng)作。當(dāng)接收到用戶(hù)的觸發(fā)后,系統(tǒng)發(fā)起任務(wù)控制串口UART對(duì)圖像捕獲、壓縮模塊進(jìn)行命令控制和拍照;拍照后發(fā)起任務(wù)對(duì)串口進(jìn)行讀取,接收?qǐng)D像捕獲、壓縮模塊回傳的圖像數(shù)據(jù)。

(3)當(dāng)接收到回傳的圖像數(shù)據(jù)后系統(tǒng)發(fā)起任務(wù)對(duì)圖像數(shù)據(jù)進(jìn)行MMS封裝,封裝格式完全符合MMSCLIENT端協(xié)議。

(4)系統(tǒng)發(fā)起任務(wù)使用WAP協(xié)議與WAP信息網(wǎng)關(guān)建立連接,建立連接后由系統(tǒng)把封裝的圖像數(shù)據(jù)通過(guò)標(biāo)準(zhǔn)串口UART傳送給手機(jī)模塊,系統(tǒng)發(fā)起任務(wù)使用AT指令控制手機(jī)模塊把彩色圖片發(fā)送到移動(dòng)交換網(wǎng)絡(luò),終轉(zhuǎn)發(fā)到設(shè)定的目標(biāo)移動(dòng)通信終端用戶(hù),從而完成了自動(dòng)發(fā)送彩信的功能。

●系統(tǒng)硬件設(shè)計(jì)系統(tǒng)硬件設(shè)計(jì)技術(shù)要點(diǎn)包括以下部分。(1)圖像壓縮處理模塊完成對(duì)數(shù)字圖像信息的壓縮,部分電路如圖2所示。SDRAM用來(lái)緩存圖像數(shù)據(jù),F(xiàn)LASH用來(lái)存儲(chǔ)壓縮處理器執(zhí)行程序映像。此外,圖像壓縮處理器模塊提供一個(gè)UART接口,以便將壓縮的圖像文件傳輸?shù)街骺靥幚砥髂K。

圖2圖像壓縮處理電路

圖3系統(tǒng)串口連接電路

(2)系統(tǒng)串口連接電路的部分電路如圖3所示。ARM7處理器提供標(biāo)準(zhǔn)的UART接口連接手機(jī)模塊,另外提供一個(gè)串行接口,與圖像壓縮處理器模塊串行接口相連。

系統(tǒng)軟件設(shè)計(jì)●操作系統(tǒng)和開(kāi)發(fā)環(huán)境VxWorks是目前世界上用戶(hù)數(shù)量的實(shí)時(shí)操作系統(tǒng),具有豐富的應(yīng)用軟件支持、良好的技術(shù)服務(wù)、可伸縮性(VxWorks提供了超過(guò)1800個(gè)應(yīng)用編程接口供用戶(hù)自行選擇使用)、可裁減性(指用戶(hù)可以根據(jù)自己的應(yīng)用需求對(duì)VxWorks進(jìn)行配置,產(chǎn)生具有各種不同功能的操作系統(tǒng)映像)和可靠的系統(tǒng)穩(wěn)定性。本系統(tǒng)主要采用其實(shí)時(shí)性、多任務(wù)、基于優(yōu)先級(jí)的搶占式調(diào)度、同優(yōu)先級(jí)輪轉(zhuǎn)調(diào)度和任務(wù)間的通信與同步機(jī)制、任務(wù)與中斷之間的通信機(jī)制。

VxWorks的開(kāi)發(fā)環(huán)境是WindRiver(風(fēng)河)公司提供的Tornado。Tornado采用主機(jī)-目標(biāo)機(jī)開(kāi)發(fā)方式,主機(jī)系統(tǒng)采用運(yùn)行Windows2000/NT的工作站或PC,VxWorks則運(yùn)行在ARM等目標(biāo)處理器上。Tornado采用的主機(jī)-目標(biāo)機(jī)連接方式為以太網(wǎng)、串行線(xiàn)等,主機(jī)與目標(biāo)機(jī)之間的通信是通過(guò)運(yùn)行各自處理器上的代理進(jìn)程來(lái)完成的,使主機(jī)上的開(kāi)發(fā)工具和目標(biāo)機(jī)的操作系統(tǒng)可以完全脫離相互連接的方式。Tornado提供了友好的可視化開(kāi)發(fā)界面、交叉編譯環(huán)境、源碼級(jí)調(diào)試工具、目標(biāo)機(jī)命令解釋器和目標(biāo)機(jī)狀態(tài)監(jiān)視器等多種應(yīng)用工具,為應(yīng)用軟件開(kāi)發(fā)提供了一個(gè)高效而可靠的平臺(tái)。

●軟件設(shè)計(jì)原理軟件設(shè)計(jì)采用事件驅(qū)動(dòng)機(jī)制;中斷事件激活I(lǐng)SR,ISR將事件排隊(duì),并通過(guò)信號(hào)量的v操作通知處理任務(wù)。處理任務(wù)進(jìn)行p操作,在沒(méi)有事件需要處理時(shí)就會(huì)阻塞,如果得到信號(hào)量則根據(jù)事件隊(duì)列的內(nèi)容進(jìn)行相應(yīng)處理;事件處理任務(wù)為一循環(huán)。軟件設(shè)計(jì)流程如圖4所示。

圖4軟件流程圖

●軟件關(guān)鍵設(shè)計(jì)的具體實(shí)現(xiàn)(1)當(dāng)系統(tǒng)啟動(dòng)時(shí)等待一段時(shí)間,若超時(shí)則正常加載內(nèi)核進(jìn)行引導(dǎo),若從串口UART接收到配置參數(shù)請(qǐng)求信息,則通過(guò)串口UART發(fā)送配置文件到PC端;PC端對(duì)配置參數(shù)進(jìn)行處理后,再將參數(shù)通過(guò)串口發(fā)送到設(shè)備,設(shè)備再將參數(shù)以文件的形式進(jìn)行存儲(chǔ)。

(2)初始化手機(jī)模塊。先利用手機(jī)模塊的硬復(fù)位線(xiàn)將手機(jī)進(jìn)行硬復(fù)位,一直等到手機(jī)能響應(yīng)AT指令,再將手機(jī)的信息通知功能打開(kāi),初始化短信處理到文本模式,激活CDMA,一直等待,手機(jī)信號(hào)要足夠強(qiáng)。

(3)當(dāng)接收到滿(mǎn)足觸發(fā)條件的短信息后,發(fā)起中斷處理任務(wù),將UIM卡中的短消息讀出到緩沖,將短消息刪除,對(duì)緩沖中短消息的有效性進(jìn)行判斷,若為有效短消息則進(jìn)行相應(yīng)的處理,再將根據(jù)短消息配置后的參數(shù)保存。

(4)系統(tǒng)根據(jù)觸發(fā)參數(shù)發(fā)起任務(wù)進(jìn)行拍照、封裝,調(diào)用建立PPP連接的函數(shù),先用AT指令A(yù)TD#777接通CDMA,然后初始化PPP連接,當(dāng)PPP連接完成后設(shè)置好相應(yīng)的IP參數(shù)。

(5)然后初始化WAP相關(guān)參數(shù),建立WAP連接,調(diào)用彩信發(fā)送函數(shù)將圖片發(fā)送到目的移動(dòng)通信終端用戶(hù),斷開(kāi)PPP連接。

關(guān)鍵源代碼如下。STATUSmmsmain(viod){intioFd,i;pSysInfo=(sysInfo_t*)calloc(1,sizeof(sysInfo_t));pSysInfo-tickRate=SYS_TICK_RATE;pSysInfo-pQueue=msgQCreate(SYS_MSG_COUNT,sizeof(sysMsg_t),MSG_Q_FIFO);pSysInfo-pCamQueue=msgQCreate(SYS_MSG_COUNT,sizeof(sysMsg_t),MSG_Q_FIFO);pSysInfo-pPhotoQueue=msgQCreate(SYS_MSG_COUNT,sizeof(sysMsg_t),MSG_Q_FIFO);pSysInfo-pModemQueue=msgQCreate(SYS_MSG_COUNT,sizeof(sysMsg_t),MSG_Q_FIFO);DEBUG_PRINT(("Nowbeginreadconfiginformation..."));if(readFlash()==ERROR){initDefaultInfo();readFlash();}DEBUG_PRINT(("Nowendreadconfiginformation..."));#ifndefCDMA_MODULEwhile(wavecomLibInit()==ERROR);for(i=0;i2;i++){if(startPPP()==OK)break;pppDelete(0);taskDelay(30);wavecomLibInit();}if(i=2){DEBUG_PRINT(("startPPPERROR!"));returnERROR;}if(wapInit()!=OK){DEBUG_PRINT(("wapInitERROR!"));returnERROR;}#elsecdmaLibInit();#endifsysRecvLibInit();taskSpawn("tCamera",80,0,50*1024,cameraTask,pSysInfo-pCamQueue,pSysInfo-pPhotoQueue,2,3,4,5,6,7,8,9);photoSendLibInit();taskDelay(2);irLibInit();if(sysInitInfo-motionDetction)camQSend(SYS_MOTION_PIC,NULL,0x0200+sysInitInfo-camPixel);commCallBackFun=commStrHandle;pSysInfo-initialized=TRUE;returnOK;}

主要實(shí)現(xiàn)的功能有:初始化系統(tǒng)參數(shù),初始化捕獲、圖像壓縮處理器模塊,初始化手機(jī)modem,建立PPP連接,發(fā)送連接包,斷開(kāi)PPP連接并返回;建立檢查modem信息接收任務(wù),建立系統(tǒng)主循環(huán)任務(wù),在主循環(huán)任務(wù)中處理modem信息接收任務(wù)和中斷處理程序中發(fā)送到信息隊(duì)列中的內(nèi)容。

這種實(shí)現(xiàn)自動(dòng)發(fā)送

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論