www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]以uBASE-III嵌入式操作系統(tǒng)和ARM7處理器平臺(tái)為基礎(chǔ)實(shí)現(xiàn)了GSM 短信通信的功能,通過utools工具在Microsoft Visual?。茫叮吧线M(jìn)行開發(fā)。該系統(tǒng)具有友好的用戶界面、便捷的操作流程。本文以短信通信為實(shí)例,給出了 一套在uBASE-III系統(tǒng)上進(jìn)行嵌入式軟件開發(fā)的方法。

引言


隨著嵌入式及通信技術(shù)的發(fā)展,移動(dòng)手持設(shè)備出現(xiàn)在很多應(yīng)用場(chǎng)合,比如天然氣公司開始采用智能化的方式來管理用戶的用氣情況,如何在服務(wù)端和表具終端間進(jìn)行通信,成為系統(tǒng)的主要考慮因素。本文對(duì)系統(tǒng)進(jìn)行需求分析后,以移動(dòng)手持設(shè)備進(jìn)行小規(guī)模通信為出發(fā)點(diǎn),提出使用短信通信的方式來解決這一問題的方法。這種方式不僅使通信質(zhì)量能夠得到保證,而且價(jià)格合理,易于操作員來管理和維護(hù),是一種行之有效的通信方式。1研究背景及系統(tǒng)框架

短信通信示意圖如圖1所示。PC機(jī)表示服務(wù)器端運(yùn)行程序的平臺(tái),是操作員對(duì)表具和手持設(shè)備操作的環(huán)境;表具表示天然氣表具,在里面配置了接收命令的固化程序;手持設(shè)備表示本論文研究的平臺(tái),是短信通信程序運(yùn)行環(huán)境的主要部分。三者之間均可進(jìn)行通信,它們之間已經(jīng)有完整的命令幀格式,下面討論如何設(shè)計(jì)并實(shí)現(xiàn)這樣的通信子系統(tǒng),而不研究具體的命令幀格式,假定是在統(tǒng)一的幀格式下完成的?,F(xiàn)場(chǎng)操作員需要設(shè)備有與表具進(jìn)行通信的功能,能夠測(cè)試表具的通信狀況。因此,需要解決的主要有以下幾個(gè)問題:圖1短信通信示意圖①選取合適的手持設(shè)備,能夠有運(yùn)行短信通信程序的基本硬件配置(需要配備GPRS模塊)。②選取合適的嵌入式操作系統(tǒng),保證程序的穩(wěn)定運(yùn)行。③如何進(jìn)行有效的收發(fā)短信來完成通信功能,以測(cè)試表具的通信狀況。④需要有對(duì)文件操作的支持,操作員是需要上傳和保存文件的。嵌入式系統(tǒng)的開發(fā)既要實(shí)現(xiàn)程序的功能性,也要選取特定的硬件平臺(tái),嵌入式系統(tǒng)是為了完成某一項(xiàng)或有限項(xiàng)功能,系統(tǒng)功能可以根據(jù)產(chǎn)品的設(shè)計(jì)要求進(jìn)行裁剪、調(diào)整[1]。并具體闡述了選取硬件設(shè)備與完成程序的功能。2系統(tǒng)軟硬件環(huán)境

2.1硬件平臺(tái)

NLS-PT850是新大陸公司的一款基于嵌入式處理器的智能手持設(shè)備,它的基本硬件配置為ARM7處理器、32位RISC、74MHz頻率以及標(biāo)準(zhǔn)手機(jī)鍵盤和掃描儀;內(nèi)存為8MRAM、2MNORFlash和32MNandFlash(可擴(kuò)展至128M)。上面搭載uBASE-III嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)。嵌入式硬件設(shè)備的考慮應(yīng)該完全滿足目標(biāo)系統(tǒng)的圖2手持設(shè)備硬件結(jié)構(gòu)框圖要求,在功能上很容易滿足,但是在性能上,尤其是在功耗上應(yīng)最適合系統(tǒng),而不是越充分越好。手持設(shè)備硬件結(jié)構(gòu)框圖如圖2所示。該手持設(shè)備配備了GPS模塊,具有SIM卡接口,存儲(chǔ)容量合適,程序下載方便,因此選取該設(shè)備來作為短信通信系統(tǒng)的硬件平臺(tái)。2.2uBASE-III嵌入式操作系統(tǒng)

uBASE-III是一個(gè)嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng),主要有多任務(wù)內(nèi)核模塊、內(nèi)存管理模塊、文件系統(tǒng)、設(shè)備管理模塊、應(yīng)用程序管理模塊等[2]。uBASE-III之所以在很多嵌入式設(shè)備上廣泛使用,有一個(gè)很重要的原因是它提供了一個(gè)C++類庫(kù)“UFCL(ubaseFoundationClassLibrary)”。另外,它還提供了大量的API,供程序員調(diào)用。這里選取該嵌入式操作系統(tǒng)的原因是它支持文件操作和短信通信。文件系統(tǒng)用于文件操作,將程序中的相關(guān)數(shù)據(jù)以二進(jìn)制文件的形式存放在Flash存儲(chǔ)器中。uBASE-III采用了zfile2.0文件系統(tǒng),zfile2.0是專為嵌入式系統(tǒng)設(shè)計(jì)的Flash文件系統(tǒng),常用的函數(shù)有:◆打開一個(gè)文件以便讀寫其內(nèi)容ZFILE*zfopen(constchar*filename,constchar*pmode);◆從當(dāng)前文件指針位置開始寫入size*count個(gè)字節(jié)的數(shù)據(jù)intzfwrite(constvoid*buf,intsize,intcount,ZFILE*stream);◆從當(dāng)前文件指針位置讀入size*count個(gè)字節(jié)intzfread(void*buf,intsize,intcount,ZFILE*stream);◆關(guān)閉打開的文件intzfclose(ZFILE*stream);uBASE-III系統(tǒng)對(duì)文件的支持相比其他環(huán)境也有一些不足之處,在嵌入式設(shè)備上使用文件操作有很多的限制,比如uBase-III的文件系統(tǒng)僅有單層目錄結(jié)構(gòu),即不能創(chuàng)建子目錄、文件系統(tǒng)API,不區(qū)分文本模式和二進(jìn)制模式的概念,都當(dāng)作是二進(jìn)制模式。短信通信是這樣定義的:uBASE-III提供了一套短消息編程接口“SMS_API”,它是通過向連接在主機(jī)串行端口上的GSMModem(或籠統(tǒng)地稱為“移動(dòng)設(shè)備(ME)”)發(fā)出AT命令來完成短消息的發(fā)送、接收,以及對(duì)移動(dòng)設(shè)備的其他相關(guān)操作的。該編程接口內(nèi)部使用PDU(Protocol DescriptionUnit)格式與ME交換短消息的內(nèi)容,也就是說,在AT命令的接口層來看,短消息是使用PDU報(bào)文來表示的,PDU報(bào)文是由許多字段組成的,不同的字段描述了短消息的不同屬性。該編程接口使用SSmInfo結(jié)構(gòu)體來描述PDU的各個(gè)字段,用戶通過設(shè)定SSmInfo的不同成員來指定所要發(fā)送短消息的各種“屬性”,同樣,用戶也是通過SSmInfo的各個(gè)成員來獲取編程接口所讀取到的短消息的詳細(xì)信息的[3]。SMS_API提供了如下幾大類操作:◆GSMOpen():打開GSM設(shè)備;◆InitSms():根據(jù)相應(yīng)參數(shù)初始化設(shè)備;◆SendOrWriteSm_1Sm():發(fā)送短信,支持中文和英文。這些接口函數(shù)是在該系統(tǒng)上編寫應(yīng)用程序的基礎(chǔ),尤其是該系統(tǒng)中,GSM短信模塊和文件相關(guān)操作是主要內(nèi)容。3系統(tǒng)軟件開發(fā)

3.1短信通信程序開發(fā)示例

圖3為短信通信系統(tǒng)主程序流程,系統(tǒng)在登錄后就處于收發(fā)短信的狀態(tài)中??梢詫⒅鞒绦蛑械亩绦欧譃閮刹糠郑芭_(tái)為操作員提供短信編輯命令,發(fā)送短信主要函數(shù)如下:intSendSms(char*strPhoneAddr,unsignedchar*pMessage,int msgBytes){SSmInfosmi={0},*pSmi=&smi;strcpy((char*)smi.Addr_M(jìn)S,(char*)strPhoneAddr);inti,errcode;for(i=0;i<5;i++){//這里需要端口號(hào)、發(fā)送方式、SSmInfo對(duì)象、短信內(nèi)容、//有效字節(jié)數(shù)和編碼方式errcode=SendOrWriteSm_1Sm(g_ComPort,CMD_CMGS,pSmi,(Uint8*)pMessage,msgBytes,BITS_DCS_DEF_ALPHABET);if(errcode==0){return0;}return1;}圖3短信通信系統(tǒng)主程序流程后臺(tái)用于接收短信,進(jìn)行處理后通常會(huì)對(duì)文件繼續(xù)操作。這部分的難點(diǎn)在于如何設(shè)置短信通知格式,如何在后臺(tái)運(yùn)行處理短信和寫回文件部分程序,并且要對(duì)前臺(tái)的用戶作出提示。因此這里用到了uBASE-III提供的多線程技術(shù),讓處理短信的主要函數(shù)工作在后臺(tái)線程,有短信到來自動(dòng)會(huì)處理“_thread_checkUnreadSm()”函數(shù),列出“未讀短信”,轉(zhuǎn)到處理部分。這樣就避免了在主程序中對(duì)“未讀短信”的輪詢,避免了處理器處于一種資源浪費(fèi)且效率并不高的模式。函數(shù)代碼如下:staticint_thread_checkUnreadSm(void*param){RE_CODEerrcode=0;errcode=ListSm(g_ComPort,MSGSTAT_RECUNREAD,s_SmNotify,NULL,NULL,NULL);returnerrcode;}其中“ListSm()”函數(shù)是短信模塊提供的API,供程序員直接調(diào)用,可以列出各種格式的短信,具體方式和其他函數(shù)可以參考相關(guān)文檔。3.2文件操作示例

在操作員對(duì)表具進(jìn)行測(cè)試的時(shí)候,需要先上傳“操作員數(shù)據(jù)”(用于存放操作員的用戶名和密碼)、“移動(dòng)設(shè)備參數(shù)”,同時(shí)在程序運(yùn)行過程中還會(huì)產(chǎn)生“通信命令幀核銷數(shù)據(jù)”等文件,如何合理組織這些文件的結(jié)構(gòu)和訪問方式是本系統(tǒng)中又一重點(diǎn)內(nèi)容,因?yàn)檫@些文件中的某些項(xiàng)是互相有關(guān)聯(lián)的,并不完全獨(dú)立。因此最核心的問題就是如何定義文件的結(jié)構(gòu),結(jié)構(gòu)確定了,程序的操作方式也就確定了。拿“通信命令幀核銷數(shù)據(jù)”舉例,它里面包括了流水號(hào)、設(shè)備號(hào)、操作碼、幀順序號(hào)、核銷狀態(tài)和命令幀,后面的操作要依賴于其中的所有項(xiàng),因此采用了定義結(jié)構(gòu)體的方式,將上面的基本項(xiàng)封裝起來,以結(jié)構(gòu)體為基本單位去實(shí)現(xiàn)文件的操作。文件采用TXT格式,便于創(chuàng)建和導(dǎo)出。文件操作代碼如下:intDeleteFrameVerifyInfo(intindex){UEnterMutex(g_mtxFrameVerifyOP,TIMEOUT_INFINITE);……//相關(guān)處理函數(shù)ULeaveMutex(g_mtxFrameVerifyOP);return0;}其中有一點(diǎn)要注意,多線程持有同一文件句柄進(jìn)行讀寫操作是允許的,文件系統(tǒng)內(nèi)部代碼會(huì)將不同線程的讀寫操作串行化。因此,在對(duì)文件進(jìn)行讀寫操作時(shí),要注意互斥問題。結(jié)語(yǔ)

嵌入式操作系統(tǒng)在如今很多工業(yè)領(lǐng)域都有廣泛的應(yīng)用,它的優(yōu)勢(shì)往往在于內(nèi)核可裁剪,體積小,應(yīng)用在嵌入式設(shè)備上功耗低。本文就從移動(dòng)手持設(shè)備通信引申,以u(píng)BASE-III系統(tǒng)和NLS-PT850設(shè)備為實(shí)例,著重從短信通信方式和文件操作兩個(gè)方面來講解短信通信的嵌入式軟件開發(fā)的流程和方法。該示例程序在目標(biāo)設(shè)備上可穩(wěn)定運(yùn)行,通信狀況良好,可以作為移動(dòng)手持設(shè)備短信通信的一個(gè)解決方案。

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

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉