智能家居控制系統(tǒng)的研究與設計_第1頁
智能家居控制系統(tǒng)的研究與設計_第2頁
智能家居控制系統(tǒng)的研究與設計_第3頁
智能家居控制系統(tǒng)的研究與設計_第4頁
智能家居控制系統(tǒng)的研究與設計_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

學位論文原創(chuàng)性聲明和使用授權說明原創(chuàng)性聲明本人鄭重聲明:所呈交的學位論文,是本人在導師指導下,獨立進行研究工作所取得的研究成果。除文中已經(jīng)標明引用的內容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫過的研究成果。對本文的研究做出奉獻的個人和集體,均已在文中以明確方式標明。本聲明的法律結果由本人承當。學位論文作者簽名:日期:年月日學位論文版權使用授權書本學位論文作者完全了解學校有關保存、使用學位論文的規(guī)定,即:學校有權保存并向國家有關部門或機構送交論文的復印件和電子版,允許論文被查閱和借閱。本人授權湖北理工學院可以將本學位論文的全部或局部內容編入有關數(shù)據(jù)庫進行檢索,可以采用影印、縮印或掃描等復制手段保存和匯編本學位論文。學位論文作者簽名:指導教師簽名:日期:年月日日期:年月日摘要智能家居系統(tǒng)是一個綜合系統(tǒng),計算機技術、網(wǎng)絡通信技術、自控技術、傳感技術構成了這個系統(tǒng)的根底,又需要環(huán)境、能源等其他領域的技術支持。家居系統(tǒng)要表達智能,關鍵是要到達自控,更要到達節(jié)約資源、環(huán)境友好和滿足不同用戶的使用需求。本文對通過嵌入式系統(tǒng)來實現(xiàn)智能家居進行了討論。本文采用的是ARM9嵌入式處理器S3C2410。在此根底上進行核心控制電路的設計,分別設計完成了主控芯片電路、存儲電路以及電源電路。同時LCD接口、USB接口以及無線通信模塊等電路作為必不可少的局部,本文也給出了設計方案。另外還專門開發(fā)了針對煤氣泄漏的報警模塊。由于本設計需要用到交叉開發(fā)環(huán)境,所以安裝了微軟的WindowsCE.net4.2、PlatformBuilder4.2等軟件并自行開發(fā)了特定的WindowsCE系統(tǒng)內核映像,把這些映像文件下載到目標板上,并使用ActiveSync軟件進行了開發(fā)板與PC的通信。在設計煤氣報警模塊時使用EmbeddedVisualC++4.0開發(fā)工具。關鍵詞:S3C2410;智能家居系統(tǒng);無線傳輸;WindowsCE.netAbstractSmarthomesystemisacomprehensiveandsystematicengineeringincludingtechnologiesofcomputer,network,automation,sensorsetc,andinvolvesecology,environment,energysourcesandevenmorefields.Inadditiontomeetthedemandofautomation,itmustbeenergyconservation,environmentalprotection,humanizationandindividuation.Itutilizedthe32-bitembeddedARMprocessorS3C2410asthecontrollingcoreofthesmarthomesysteminthisdissertation.Itdesignedcorecircuitofcontrollerindetail,includingS3C2410controllerchipcircuit,memorysystemcircuitandpowercircuit.Tomeetthedemandofglobalprojectdesign,itdesignedLCDinterfacecircuit,keyboardcircuit,wirelesstransmissionmodulecircuit.ItinstalledWindowsCE.net4.2onthePC,usedthetoolofPlatformBuilder4.2tocustomizetheBSPoftargetplatformandimageofWindowsCE,downloadedtheimageofkerneltotargetcomputerofARM9,utilizedthesoftwareofActivesSynctomakethetargetcomputercommunicatewithPCbytheUSBcable.ItusedthedevelopmenttoolofembeddedVisualC++4.0tocompletethesoftwaredesignofthemoduleofleakingandwarningofcoalgas.Keywords:S3C2410;SmartHomeSystem;Wirelesstransmission;WindowsCE.net目錄TOC\o"1-2"\h\u69951緒論1250591.1研究背景 1231351.2國內外智能家居研究現(xiàn)狀及開展方向1174911.3研究的目的與意義393271.4研究要求486122智能家居控制系統(tǒng)的總體設計方案5110302.1家居控制系統(tǒng)功能5160002.2系統(tǒng)總體架構設計572182.3硬件選型714702.4嵌入式系統(tǒng)的比擬886802.5基于WindowsCE.net的應用程序開發(fā)過程12248123系統(tǒng)硬件設計13203573.1主機系統(tǒng)的硬件設計1336453.2分機系統(tǒng)的硬件設計19190053.3主分機通信模塊設計2499064系統(tǒng)軟件開發(fā)27136094.1搭建特定操作系統(tǒng)27242444.2應用軟件開發(fā)33250735總結與體會397305參考文獻401緒論1.1研究背景在信息高速變革的二十一世紀,人們對于居住環(huán)境的要求越來越高,智能住宅將越來越多的占據(jù)整個商品房市場份額。計算機技術、家電設備、平安監(jiān)控等領域的互相融合,使現(xiàn)代智能家居生活成為可能。其在中國的市場前景也是極其光明的。“智能家居”〔SmartHome〕,又稱智能住宅。通過計算機網(wǎng)絡和嵌入式硬件,將家庭中的各種家電連接到一起。智能家居系統(tǒng)將給住戶提供更加方便的家電管理效勞。例如可以使多個設備形成聯(lián)動;同時,系統(tǒng)內部的家電可以交換信息,無需人的控制的即可按照不同情況分別運行,在最大程度上帶給用戶方便、舒適、平安的使用體驗。除了具有傳統(tǒng)的居住功能,智能家居還提供更為舒適平安的生活體驗,改變了人們的生活方式,使得時間的利用更為有效,同時大幅降低了資源本錢[1]。智能家居是一個最近熱門的概念,它少不了建筑藝術、生活理念與信息技術、電子技術的支撐。從長遠看,智能家居是未來住宅的必然趨勢,同時還象征著一個國家的科技水平。但是,目前的這類產(chǎn)品根本上使用的是有線通信技術,系統(tǒng)復雜、維護困難、本錢較高,不適應未來的開展趨勢。在我國,智能家居這一概念才剛開始興起,很多標準標準亟待制定。在對智能家居系統(tǒng)的研究中,我國應該選擇一條符合國情同時又具有自主知識產(chǎn)權的道路?;谶@種要求,我選定了智能家居這一研究課題。值得說明的是,在家居系統(tǒng)中,智能化、信息化和自動化是不同的概念。只要擁有能夠上網(wǎng)的端口,就可以說到達了最低程度的家庭信息化,但遠未到達智能化的要求;微波爐可以定時的烹制食物,空調可以預先翻開保持某一溫度,這就是所謂的家居自動化。相比于智能化,信息化和自動化是不可缺少的根底。智能化要求具有記錄、判別、控制、反應等信息處理功能。家居的智能化應富有人性化。智能家居就是以傳統(tǒng)的住宅為根底,集成了信息化家電、網(wǎng)絡通訊模塊、自動控制系統(tǒng)等模塊,擁有效勞與管理功能的便捷、平安的居住環(huán)境。1.2國內外智能家居研究現(xiàn)狀及開展方向國外智能家居的開展現(xiàn)狀國外對于智能家居系統(tǒng)的研究起步很早。1984年在美國誕生了世界上第一棟智能建筑,歐美對智能家居系統(tǒng)的研究到達了比擬高的水平。大量的研究和不斷的開展使得它在歐美得到了普及。再比方以新加坡為例,家庭智能化系統(tǒng)使得住戶可以輕松享受水電氣表的抄送、平安監(jiān)控管理、可視通話等多達11項功能。對于住宅智能化和智能住宅的關系,前者是后者的根底,而后者是前者的關鍵。至今國際上對于智能家居系統(tǒng)尚沒有公認的標準。但是可以參考美國電子工業(yè)協(xié)會與1998年編制的《家庭自動化系統(tǒng)與通信標準》?!凹彝ブ悄芑到y(tǒng)”已經(jīng)在新加坡普及,在美國使用智能家居系統(tǒng)的家庭到達了近5萬戶。三星2003年也開始推廣其自己研發(fā)的同類產(chǎn)品,這個由機頂盒和網(wǎng)絡構成的家居控制系統(tǒng),包括了自動控制、家電管理、平安監(jiān)控以及娛樂通信這四大功能。國內智能家居的研究現(xiàn)狀我國在智能家居系統(tǒng)方面的研究起步較晚,本文認為中國的智能的智能家居系統(tǒng)應該分為豪華型和經(jīng)濟型。經(jīng)濟型面向中低收入住戶,而豪華型那么是為高收入住戶準備的高端產(chǎn)品。由于住宅是具有一次投資巨大、使用壽命較長等特點,因此,建造智能家居時應該考慮到具有可升級性。按照技術開展的特點,可以將住宅智能化定義為:依靠4C技術進行有效的網(wǎng)絡傳輸,并同時集成了信息管理、平安監(jiān)控、住宅智能化等特點,以智能化手段管理小區(qū),提供快捷、平安的效勞,并帶給用戶舒適便利的居住體驗的家居環(huán)境。智能家居系統(tǒng)可以分為三個功能模塊:首先是家庭布線模塊;之后是具有較強兼容性的家居中央管理模塊:最后是寬帶互聯(lián)網(wǎng)和家庭控制網(wǎng)絡融合之后的控制功能模塊。1997年我國制定了《小康住宅電氣設計〔標準〕導那么》。《導那么》對于智能住宅的電氣設計提出了如下標準:平安舒適的居住體驗,快捷的通訊,完整的信息管理功能。同時也對智能住宅在平安監(jiān)控和自控通信這兩個方面提出了以下標準,分為“最終目標”、“預計目標”、“當前目標”[2]。對于智能家居的開展,要根據(jù)國情分成幾個階段并分別到達每一個階段的目標。同時還要考慮到現(xiàn)在家庭中還有大量非自動化家電的情況,擴展這些家電的功能。但智能家居是一個復雜的系統(tǒng)工程,建立起完整的產(chǎn)業(yè)鏈還需要較長的時間。智能家居開展的主要方向在技術層面上,智能家居是以計算機技術、自控技術、傳感技術等多種技術為根底,并與生態(tài)和能源等多個領域相關的系統(tǒng)工程,通俗的說,智能家居系統(tǒng)之所以能實現(xiàn)各種功能,完全是依靠自控技術和網(wǎng)絡通信技術。所以,智能家居系統(tǒng)就是一個擁有自控功能的網(wǎng)絡模塊。便隨著相關技術的開展,智能家居也在不斷開展。未來智能家居的開展趨勢可以概括為以下幾點[3]:信息化。信息技術的革命極大地改變了人們的生活模式。智能建筑要求具有智能化和人性化的特征。以前人們可能是因為好奇才使用各種智能產(chǎn)品,但是現(xiàn)在人們卻因為生活和工作的需要而離不開它們。智能家居不僅是產(chǎn)品,更多的那么是表達了一種全新的設計理念和管理效勞。網(wǎng)絡化。信息時代不具有網(wǎng)絡化特點的智能家居是難以想象的,通過網(wǎng)絡,智能家居系統(tǒng)可以簡化物業(yè)管理、安防、商務等管理流程。同時,是人們的生活更加便捷。標準化。各種智能產(chǎn)品的標準化是一個不可阻擋的趨勢,智能家居的標準化也不例外,不同廠家的產(chǎn)品可以相互兼容,相互操作。使得智能家居系統(tǒng)的具體產(chǎn)品的配置可以實現(xiàn)按照住戶的需求特別定制。模塊化。接口具有統(tǒng)一的標準,各個功能模塊之間是獨立的,使得智能家居系統(tǒng)在可維護性、可擴展性上有空前的提高,系統(tǒng)的集成大大簡化。綠色環(huán)保。智能建筑毫無疑問地要實現(xiàn)環(huán)境友好,資源節(jié)約。在給住戶平安舒適的居住體驗不能以破壞環(huán)境、浪費資源為根底。整合。在此引用比爾蓋茨的觀點,他認為未來的智能住宅都應該是一個經(jīng)過整合的網(wǎng)絡,房屋內的燈光、安保、音頻、視頻等一系列不同的功能模塊經(jīng)過整合,功能更加強大,管理更加方便。無論如何開展,智能家居的要求總是讓住戶更舒適,更平安,更加綠色。日益開展的住宅智能化技術也是人們對其提出了更高的居住要求,智能家居系統(tǒng)在功能豐富的同時,其配置也在日益復雜。智能家居包括網(wǎng)絡接入系統(tǒng)、平安系統(tǒng)、可視對講系統(tǒng)、遠程抄表系統(tǒng)、醫(yī)療系統(tǒng)、家電自動管理系統(tǒng)、網(wǎng)絡效勞系統(tǒng)等,越來越多全新的概念正在成為智能家居中的重要組成局部[4]。1.3研究的目的與意義以上提出的智能家居系統(tǒng)的特點都是其未來應該具備的,但是根據(jù)目前的市場調查發(fā)現(xiàn),總體上智能家居系統(tǒng)還處于市場開展初期。缺乏統(tǒng)一的產(chǎn)品標準和技術標準。經(jīng)濟和技術的開展使得人們對居住環(huán)境有了更高的要求,這也是智能家居系統(tǒng)不斷開展的一個重要的因素。計算機技術、通訊技術、網(wǎng)絡技術的飛速開展,各種智能產(chǎn)品在人們的生活中扮演著越來越重要的角色,平安與智能成為人們對居住環(huán)境的兩大根本要求,基于這些要求智能家居系統(tǒng)必須將平安、智能化和網(wǎng)絡通許等設施整合在一起。當今的商品房注重高科技產(chǎn)品的應用。伴隨著日益開展的計算機技術和IT產(chǎn)業(yè),智能住宅將在商品房市場中占有越來越大的份額[5]。北京、上海、廣州等地已經(jīng)有了一些智能住宅小區(qū),并且智能住宅小區(qū)也開始在全國其他城市推廣。對于智能住宅小區(qū),國家已經(jīng)將其列為重點支持的工程,它將帶給人們全新的居住體驗,對于房地產(chǎn)、住宅裝修、小區(qū)管理、家用電器等相關產(chǎn)業(yè)的開展也具有巨大的推動作用。智能家居將開始走進并改變人們的生活。從國際上來看,目前美國在智能家居的研究方面一直走在世界前列,國內的同類產(chǎn)品大多抄襲國外產(chǎn)品,沒有自主的核心技術。直接照搬國外的產(chǎn)品對于我國國情來說顯然是不適宜的,我們應該自己的同類產(chǎn)品。智能家居系統(tǒng)具有廣闊的應用前景,特別是基于嵌入式的智能家居系統(tǒng)。1.4研究要求本文從理論和實際設計這兩個方面進行討論,對于控制系統(tǒng),本文分為主機和從機。在收集到控制對象〔分機〕的各種狀態(tài)信息之后,現(xiàn)場控制級設備〔主機〕對這些數(shù)據(jù)進行處理,在超出允許的范圍之后發(fā)出警告。通過這一系統(tǒng),各種狀態(tài)信息比方溫度、濕度、有害氣體濃度等可以清楚地顯示出來,對于各種狀態(tài)信息的變化及時做出相應的調整控制。對于如何實現(xiàn)這一功能,本文做了如下討論:1.對智能家居系統(tǒng)的硬件進行設計,完成外圍電路的設計。2.對與智能家居相關的嵌入式和基于無線傳輸?shù)耐ㄓ嵓夹g進行深入研究。3.利用PlatformBuilder完成BSP安裝、WindowsCE.net操作系統(tǒng)定制及SDK的創(chuàng)立。4.利用EVC開發(fā)工具最終實現(xiàn)了煤氣泄漏報警模塊的人機交互界面。2智能家居控制系統(tǒng)的總體設計方案2.1家居控制系統(tǒng)功能智能家居系統(tǒng)使用了電傳感技術、計算機通訊技術,在對房屋內的各種狀態(tài)監(jiān)控的同時,也可以根據(jù)要求做出相應的調整。整個智能家居系統(tǒng)分為內部信息交換與報警系統(tǒng)、傳感和顯示系統(tǒng)、執(zhí)行模塊等局部。對于一個智能家居系統(tǒng),其應該具有的特點[6]:(1)火情檢測報警,有害氣體檢測報警。(2)自行控制水電氣的通斷。(3)自行調節(jié)室內空氣溫度和濕度。(4)自行控制家用電氣的開關。(5)平安防范與報警。(6)遠程住戶控制。2.2系統(tǒng)總體架構設計本文采用的是一臺主機多臺分機的設計方案,圖2-1為控制系統(tǒng)結構圖。對于利用GSM和GPRS等通訊模塊為本系統(tǒng)進行擴展升級不在本文討論的范圍之內。由于采用的是S3C2410芯片,主機的MCU支持日后擴展,同時滿足了設計要求。而采用MSP430F149單片機的分機,滿足家居控制功能的同時還具有超低的功耗。而各種傳感器的應用使得系統(tǒng)可以實時采集狀態(tài)信息,超出允許范圍是進行報警。住戶通過觸摸屏下達指令,然后依靠連在各個家電上的繼電器來完成動作[7]。分機MCU1分機MCU1傳感器串口液晶〔可選〕控制單元〔如煤氣閥門通斷〕分機MCU2傳感器串口液晶〔可選〕控制單元〔如家用電氣啟停〕nRF905傳感器觸摸屏GSMGPRS控制機構主機MCU圖2-1家居控制系統(tǒng)結構圖該系統(tǒng)中,主機的作用就是采集各種狀態(tài)信息并進行分析處理,然后控制各個功能模塊做出相應的調整。家庭里的各種狀態(tài)信息會實時監(jiān)測并顯示出來讓住戶查看,而住戶也可以通過觸摸屏來下達調整指令。而采用無線通訊方式,無需布線,也可以降低本錢。提起無線通訊技術,主要有以下幾種技術標準[8]:(1)藍牙〔Bluetooth〕:起源于1998年,是一種便攜式設備無線通信技術。能在多種便攜式移動設備之間進行無線通信。借助于次技術,可以大幅簡化設備間的通信,也可以簡化設備與互聯(lián)網(wǎng)的通信,使數(shù)據(jù)傳輸高效簡潔。藍牙技術的工作頻段為全球通用的2.4GHzISM頻段。其傳輸速率可以到達1Mbps。藍牙技術創(chuàng)立的目的是使不同廠家生產(chǎn)的便攜式硬件能夠在在近距離內進行無線通訊,交換信息,互相操作。(2)射頻技術:射頻〔RadioFrequency〕技術是利用電磁波進行信息交換。它采用某一特定的頻率來傳送信息。既可以使用特許頻帶,同時ISM頻帶也可以作為特殊條件下的頻帶。RF信號的穿透力較強,無論是開放還是封閉的環(huán)境中均可使用。射頻芯片的頻段越高,設備通訊的速率就越快,目前最高的通訊速率為12Mbps。(3)IrDA:IrDA是紅外數(shù)據(jù)組織〔InfraredDataAssociation〕的簡稱,目前廣泛采用的IrDA紅外連接技術就是由該組織提出的。隨著技術的開展,其傳輸速率不斷提高,現(xiàn)在到達16Mbps,接收角度不斷擴大,現(xiàn)在到達120度。該紅外連接技術開展至今已經(jīng)比擬成熟,IrDA技術在電子設備中的應用非常廣泛,但是這一技術有著比擬明顯的缺陷。例如傳輸設備之間要保持通暢,否那么無法傳輸,同時其核心部件LED的使用壽命較短。由于上述缺陷,使得這一技術無法成為未來的無線通信技術標準。綜合以上3種技術,本文選取射頻技術,其具有低功耗、可靠性強、價格廉價等特點。2.3硬件選型由于系統(tǒng)的通訊接口比擬多,過程復雜,單從技術角度來講,重新開發(fā)一款管理個模塊的操作系統(tǒng)周期太長,同時其開發(fā)本錢也不是作者可以承受的[9]。考慮到操作系統(tǒng)附帶的驅動程序,簡單的移植就可以在本系統(tǒng)上運行。高速的CPU和大容量的存儲空間是運行操作系統(tǒng)的必要條件。4G的存儲空間已經(jīng)可以滿足運行操作系統(tǒng)的需要,顯然ARM處理器滿足要求。對于系統(tǒng)運行速度,32位RISC特性也可以輕松應對。同時,ARM處理器自帶一些接口控制器,對于構成系統(tǒng)比擬方便。成為RISC標準的ARM微處理器已經(jīng)廣泛應用于各種通信領域。本設計要求實時處理數(shù)據(jù),所以選用運行速度快的ARM9處理器,它完全可以運行WindowsCE.net或者Linux等操作系統(tǒng),還擁有比擬快的數(shù)據(jù)處理速度。在眾多型號的ARM9處理器中,本文選用的是三星的S3C2410處理器。S3C2410是三星開發(fā)的一款16/32位、擁有ARM920T內核的嵌入式微處理器,主要用于便攜式通訊設備。一塊S3C2410處理器還集成了以下外設[10]:(1)2.3MhzARM920T內核,0.18um工藝,超低功耗,272pinBGA封裝(2)帶MMU,16KB指令緩存,16KB數(shù)據(jù)緩存(3)NANDFlash控制器(4)內含SDRAM控制器(5)117個GPIO,24通道外部中斷源(6)內置LCD控制器〔支持SIN和TFT帶有觸摸屏的液晶顯示屏〕(7)豐富的外部接口:4個通道的DMA,3個串口,兩個SPI口,1個IIC接口(8)一個USBhost接口,一個USBdevice接口(9)8通道的10位ADC,4通道的PWM輸出(10)內置RTC,PLL(11)內置SD,MMC,SmartMedia等存儲卡接口由于S3C2410具有豐富的資源,稍加擴展即可到達設計要求。2.4嵌入式系統(tǒng)的比擬幾種嵌入式操作系統(tǒng)的比擬下面對幾種主流的操作系統(tǒng)進行比擬:1嵌入式LinuxLinux是一種自由和開放源代碼的類UNIX操作系統(tǒng)。定義Linux的組件是Linux內核,該操作系統(tǒng)內核由林納斯·托瓦茲在1991年10月5日首次發(fā)布。嚴格來講,術語Linux只表示操作系統(tǒng)內核本身,但通常采用Linux內核來表達該意思,Linux那么常用來指基于Linux內核的完整操作系統(tǒng),包括GUI組件和許多其他實用工具。由于這些系統(tǒng)工具和庫主要由GNU方案提供,自由軟件基金會提議將該組合系統(tǒng)命名為GNU/Linux。Linux是一個領先的操作系統(tǒng),可以運行在效勞器和其他大型平臺之上,如大型機和超級計算機。世界上500個最快的超級計算機90%以上運行Linux發(fā)行版或變種,最快的前10名超級計算機運行的都是Linux操作系統(tǒng)。Linux也廣泛應用在嵌入式設備上,如、平板電腦、路由器、電視和電子游戲機等。在移動設備上廣泛使用的Android操作系統(tǒng)就是創(chuàng)立在Linux內核之上[11]。μC/OSIIμC/OS-II是一個實時多任務內核。μC/OS-II的代碼既有C語言編寫的,也有匯編語言編寫的,對不同處理器具有良好的兼容性。隨著不斷的開展和完善,該系統(tǒng)已經(jīng)在諸多領域得到廣泛應用。經(jīng)過嚴格測試,該系統(tǒng)在飛行器上運用的可行性得到了美國航空管理局的認證。這說明μC/OS-II具有良好的可靠性,可用在有關的平安系統(tǒng)領域。除此以外,該系統(tǒng)的另外一個顯著特點就是開源免費,易于維護和定制。VxWorks該操作系統(tǒng)是美國風河公司1983年開發(fā)的一種嵌入式操作系統(tǒng),對于一個嵌入式開發(fā)環(huán)境來說是核心局部。豐富的可擴展性、性能強勁的核心以及方便的用戶圖形界面,在各種嵌入式實時操作系統(tǒng)中有很強的競爭力。憑借著出色的穩(wěn)定性和優(yōu)秀的靈活性,被廣泛應用于高精尖領域。PalmOSPalmOS是Palm公司開發(fā)的專用于PDA上的一種操作系統(tǒng)。PalmOS在個人數(shù)字助理市場上占據(jù)著絕大局部份額。PalmOS操作系統(tǒng)以簡單易用為大前提,運作需求的內存與處理器資源較小,速度也很快;但不支援多線程,長遠開展受到限制。這種32位嵌入式操作系統(tǒng)目前還有較為龐大的用戶群。WindowsCEWindowsCE是微軟公司為嵌入式平臺設計的開源可擴展的32位操作系統(tǒng),通俗的講,可以把它理解為Windows95的簡化版。在圖形用戶界面方面有非常好的使用體驗。它可以與Internet進行信息交換。雖然該系統(tǒng)沒有開源,使用也需要付費,但是這并不影響熟悉Widows系統(tǒng)的開發(fā)人員使用該系統(tǒng)開發(fā)出優(yōu)秀的應用程序。在互聯(lián)網(wǎng)上,可以找到及其豐富的WindowsCE資源,相關的開發(fā)團隊也很多。嵌入式操作系統(tǒng)選擇的依據(jù)如何選擇嵌入式操作系統(tǒng)呢?本文認為既要立足于現(xiàn)有的硬件平臺條件,還要考慮到操作系統(tǒng)的綜合本錢,具體來講,分為以下幾個局部[12]:上市時間。對于一套操作系統(tǒng),特別是商業(yè)操作系統(tǒng),其具體的上市時間在重要性方面并不亞于開發(fā)該系統(tǒng)的本錢。就目前情況來看,熟悉WindowsCE的開發(fā)人員是最多的,這可以縮短系統(tǒng)軟件的開發(fā)時間。如果選用了一套并不流行的操作系統(tǒng),將會額外的增加開發(fā)系統(tǒng)軟件的時間本錢。平臺無關性。通俗的說,平臺無關性就是指一套操作系統(tǒng)可以在不同的硬件根底上運行,即具備良好的可移植性。一套操作系統(tǒng)的平臺無關性往往和它的功能成反比,這就要求開發(fā)人員最大程度的考慮到各種條件,使得操作系統(tǒng)具有最大程度的兼容性和功能。在前述幾種操作系統(tǒng)中,本文認為WindowsCE的平臺無關性是最優(yōu)的??衫觅Y源。對于一套操作系統(tǒng),特別是商業(yè)操作系統(tǒng),不同于教學,他們往往有著豐富的自帶資源和第三方相關應用程序,這樣做是為了給用戶更加方便的開發(fā)體驗,這也是選擇操作系統(tǒng)的一個重要因素。從前面介紹的情況來看,Linux和WindowsCE的相關資源都十分豐富。系統(tǒng)定制能力。操作系統(tǒng)除了要具備強大的功能以外,對于不同需求的客戶,其應當還要有出色的客戶定制能力,這樣可以使得客戶完成各種不同的工作任務,而不僅僅是處理幾個簡單的問題。微軟已經(jīng)開始開放WindowsCE的源碼,這樣使得其在客戶定制方面有著更為強有力的市場競爭力。本錢。本錢是開發(fā)所有產(chǎn)品都要考慮的一個重要因素。雖然Linux免費,WindowsCE付費,但本錢不僅僅是使用某一操作系統(tǒng)時需要支付的費用,它是一個綜合性的概念。應該考慮到,使用了某一操作系統(tǒng)之后硬件采購,人員培訓和產(chǎn)品開發(fā)時間等綜合影響。是否支持中文。由于開發(fā)智能家居系統(tǒng)是針對國內的情況,所以必須要考慮所選用的操作系統(tǒng)是否支持中文的內核,以及是否支持中文接口等因素。通過上述綜合比擬,本文選用的是WindowsCE嵌入式操作系統(tǒng)。再對微軟的多種嵌入式操作系統(tǒng)進行比擬,其中的XPe雖然對驅動和應用程序具有良好的兼容性,但是只支持X86系統(tǒng);相比之下,WindowsCE在兼容性和支持性上取得了比擬好的兼顧,所以選擇后者作為操作系統(tǒng)。WindowsCE結構及特點WindowsCE.net是一個兼容多種嵌入式平臺操作系統(tǒng)。良好的可靠性和豐富的擴展性是它的顯著特點。它還具備同時處理多個線程任務的能力,不同的功能模塊使得用戶可以根據(jù)自己的需要定制不同的產(chǎn)品。WindowsCE操作系統(tǒng)的結構圖如下所示[13]。WindowsCE體系結構圖WindowsCE體系結構圖應用層Internet客戶效勞WindowsCE應用程序客戶應用程序用戶界面國際化硬件層OEM層驅動OAL層引導程序配置文件操作系統(tǒng)層對象存儲核心核心DLL應用和效勞開發(fā)多媒體技術GWES設備管理器通訊效勞和網(wǎng)絡圖2-2操作系統(tǒng)模型整個體系結構從下至上包括硬件層、OEM層、操作系統(tǒng)層、應用層。值得注意的,處于中間的OEM層和操作系統(tǒng)層構成了該操作系統(tǒng)的關鍵局部,接下來本文將對這兩層著重加以介紹。OEM層OEM層主要包括以下模塊[14]:(1)OAL模塊。該模塊與硬件的相關功能密切相關。(2)引導程序。它負責將操作系統(tǒng)的核心導入內存。(3)配置文件。將不同的文件配置導入到相應的硬件中。(4)驅動。驅動是嵌入式操作系統(tǒng)不可缺少的局部,它將軟件操作和硬件執(zhí)行聯(lián)系起來。處于第二層的OEM層是WindowsCE操作系統(tǒng)取得良好平臺無關性的關鍵所在。這一層分為三個局部,CSP使得該操作系統(tǒng)在不同處理器上都可以運行,而BSP那么提供了良好的硬件兼容性,驅動那么是用來調動各種不同的外設。操作系統(tǒng)層操作系統(tǒng)層包括以下模塊:(1)CoreDLL[15]。它負責系統(tǒng)的功能調用和API管理。(2)核心。相關進程為NK.exe,所占內存不大,但是卻完成大局部的系統(tǒng)功能,如中斷響應、系統(tǒng)調用、異常處理、模塊通信等,同時為系統(tǒng)的測試提供支持。(3)設備管理模塊。相關進程為Device.exe,負責對系統(tǒng)各個設備的管理,并提供實時的設備列表,資源情況等。(4)圖形窗口和事件模塊。負責將系統(tǒng)內發(fā)生的各種時間以圖表或者窗口的形式顯示出來供用戶查看。(5)通信和網(wǎng)絡效勞模塊。它主要完成WindowsCE操作系統(tǒng)與其他軟硬件的網(wǎng)絡通訊。(6)對象存儲模塊。通俗的說,就是WindowsCE操作系統(tǒng)下的硬盤,負責存儲各種數(shù)據(jù),注冊表文件等。(7)應用和效勞開發(fā)模塊。為應用程序提供相關的進程支持,同時包含的各種工具可以對應用程序的開發(fā)提供幫助。WindowsCE包含以下根本進程:負責內核相關效勞的NK.exe;負責系統(tǒng)文件效勞的FILESYS.exe;圖形用戶界面的支持離不開GWES.exe;最后的DEVICE.exe那么是管理設備驅動的必不可少的進程[16]。2.5基于WindowsCE.net的應用程序開發(fā)過程本文把應用程序的開發(fā)過程分為以下幾個局部[17]:1.硬件設計第一個步驟就是進行硬件平臺的選定,它取決于我們想實現(xiàn)何種功能。一個完整的產(chǎn)品往往要集成很多不同功能的硬件模塊。2.選定BSPARM系列、X86系列等多種不同的處理器WindowsCE操作系統(tǒng)都支持。通過往PlatformBuilder里參加其他用戶自定的BSP再結合其自帶的BSP,WindowsCE系統(tǒng)可以支持不同的底板和設備。3.定制特定驅動PlatformBuilder自帶的驅動程序還不能滿足特定的開發(fā)需要,這時就需要根據(jù)開發(fā)目的參加自行開發(fā)的特定驅動程序來實現(xiàn)某些特定功能。當然如果開發(fā)的只是一般性的產(chǎn)品,那么那些自帶的通用驅動程序完全可以滿足要求。4.裁剪內核除了對驅動程序的修改以外,同樣重要的階段就是修改系統(tǒng)內核。通過PlatformBuilder自帶的BSP可以定制出滿足要求的操作系統(tǒng)。通俗的說就是利用PlatformBuilder軟件對WindowsCE的系統(tǒng)結構進行相應的修改。如果一個組件必須添加到定制的操作系統(tǒng)中,那么可以在這個階段進行。5.生成SDK完成上述步驟之后,就可以生成自己定制的SDK。SDK不僅使得程序編寫更加方便,也可以輕易地安裝到其他的編輯器上面。縮短了開發(fā)流程,節(jié)約了時間。6.開發(fā)應用程序完成了以上五個階段,一個按照特定需要的開發(fā)平臺就搭建完成,接下來要做的就是在這個平臺上編寫程序,結束應用產(chǎn)品的開發(fā)。本文所討論的智能家居系統(tǒng)的終端系統(tǒng)的開發(fā)流程就是上述六個局部,接下來將對每個局部進行詳細介紹。3系統(tǒng)硬件設計對于嵌入式家居系統(tǒng)的開發(fā)而言,設計出完整嚴謹?shù)挠布植渴钦麄€開發(fā)過程的根底和關鍵局部。設計出一個符合要求的硬件系統(tǒng),既可以完成當初確定的家居系統(tǒng)應該具有的功能,還要考慮到硬件系統(tǒng)的可擴展性和可選擇性。同時也必須考慮到和軟件系統(tǒng)的兼容性,在盡量保證軟件的高效簡潔的同時,也要充分認識到在該硬件根底上開發(fā)軟件的困難。3.1主機系統(tǒng)的硬件設計3.1.1S3C2410嵌入式處理器本設計主機采用的是三星公司推出的一款16/32位基于ARM920T內核的RISC嵌入式處理器S3C2410。它具有功耗低、結構簡單、全靜態(tài)設計等優(yōu)點,對于低本錢和低功耗系統(tǒng)的開發(fā)非常適合。通過集成眾多常用資源降低了它的本錢,其中包括LCD、NANDFlash、SDRAM等控制器、系統(tǒng)片選邏輯以及一些常用的通訊接口等資源[18]。S3C2410的內部結構如圖3-1所示。APBAPB總線AHB總線BUS控制中斷控制功率控制存儲控制LCD控制器USBHOSTExtMasterNAND控制器IISIICGPIORTCADCTIMER/PWMUARTUSB設備SDI/MMC看門狗BUS控制SPI圖3-1S3C2410內部結構圖3.1.2Flash模塊設計圖3-1S3C2410內部機構圖Flash模塊設計S3C2410具有兩種啟動方式,一種NORFlash啟動方式,一種是NANDFlash啟動方式。一般的嵌入式處理器均使用第一種啟動方式,存在本錢較高的缺點;但是三星的處理器卻采用第二種啟動方式,對于NANDFlash技術,三星是其主要的支持廠家?,F(xiàn)在市場上主要的非易失閃存技術就是NOR和NAND。前者由英特爾公司1988年開發(fā)出來,打破了之前EPROM和EEPROM這兩種技術的市場壟斷。次年,后者由東芝公司開發(fā)出來,它集成了更強的性能,卻沒有提高每比特的本錢,使用接口的它有著出色的可升級性。本文選用硅存儲技術公司的39VF16016MNORFlash和三星的64MNANDFlashK9F1208作為存放應用程序的存儲空間。選擇閃存的原因在于很多內容在開發(fā)階段需要經(jīng)過頻繁的修改,如果采用ROM,其修改很不方便,相比之下,修改閃存中的內容要簡單得多。除此之外,閃存對于系統(tǒng)日后的維護、升級也比擬方便。圖3-2和圖3-3分別是NANDFlash和NORFlash的原理圖[19]。圖3-2NANDFlash電路設計圖3-3NORFlash電路設計3.1.3SDRAM接口電路設計由于S3C2410極其有限的存儲空間完全不能滿足操作系統(tǒng)運行的要求,那么就必須為其外接存儲系統(tǒng)。雖然WindowsCE操作系統(tǒng)要求的最小內存是32MB,但是考慮到系統(tǒng)的運行效率,本文選用64MSDRAM。在微機系統(tǒng)中廣泛使用的SDRAM既有較大的存儲空間和讀取速度,有具有較低的本錢。它是一種存放執(zhí)行代碼和變量并在系統(tǒng)啟動后進行存取操作的存儲器。同步動態(tài)隨機存儲器需要定時刷新才能保存存儲的內容,所以微處理器必須具備刷新控制邏輯。本文選用的S3C2410擁有片內獨立的控制SDRAM刷新的邏輯電路,這樣可以方便地和SDRAM進行連接。一般的SDRAM數(shù)據(jù)寬度大多為8位或者16位。本文考慮到系統(tǒng)的運行速度,選用了兩片三星16位芯片K4S561632C-TC75組成了32位的存儲系統(tǒng)。兩片K4S561632C-TC75連接的差異在于LDQM、UDQM、SCLK引腳的不同,其他連線相同。3.1.4UART串口電路設計無論是微控制器還是PC都具有串行接口,都使用電子工業(yè)協(xié)會推薦的RS-232-C這一常用的串行數(shù)據(jù)傳輸總線標準。這一標準早期用于基于線和MODEN的遠距離數(shù)據(jù)傳輸,但是隨著微處理器技術的開展,現(xiàn)在也被用于近距離通信。并且現(xiàn)在的近距離通信也不再使用線和MODEN,采用的是端對端技術。S3C2410的UART〔通用異步收發(fā)器〕單元具有兩個異步串行I/O口,并且它們之間相互獨立,其工作方式分為DMA方式和中斷方式??梢灾С?至8位的串行數(shù)據(jù)的收發(fā),1位和2位是停止位。另外包括奇偶校驗、對于波特率支持編程,對于紅外收發(fā)也是支持的。RS-232-C標準采用的接口是9芯或25芯的D型插頭,9芯D型插頭更為常用。其中的RXD,TXD和GND這3個引腳就可以完成根本的串行信息交換,但是上述標準與S3C2410系統(tǒng)的LVTTL電路相比,兩者定義的上下電平信號完全不同,后者的高電平對應2V至3.3V信號,低電平對應0V至0.4V信號,與之相比,前者采用的是負邏輯方式,高電平對應-5V至-15V電平,低電平對應+5V至+15V電平。通過比擬可以看出,只有經(jīng)過電平信號的轉換,兩者才能進行通信。本問基于這種情況選用MAX3232電平轉換芯片[20]。圖3-4串口電路設計3.1.5USB接口電路USB接口被廣泛應用于鍵盤和鼠標以及U盤等設備的數(shù)據(jù)傳輸。選用的S3C2410處理器提供了兩個USB接口,其片內的兩個USB控制器的分配方案可以設置為2個主機或1個主機與1個從設備。本文選用的是兩個主機的分配方案,其USB電路原理圖如下列圖所示。圖3-5USB電路原理圖3.1.6JTAG接口電路JTAG〔聯(lián)合測試行動小組〕是一種用于對芯片內部測試及對系統(tǒng)進行仿真的國際測試標準協(xié)議。支持該技術的芯片內部封裝了專門的測試訪問口TAP,并使用支持該技術的專用測試工具對內部節(jié)點進行測試。對于比擬復雜的器件,該協(xié)議都可以支持。支持該技術的標準接口有TMS測試模式選擇、TCK測試時鐘、TDI測試數(shù)據(jù)輸入、TDO測試數(shù)據(jù)輸出這4條線,如圖3-7所示。如果要訪問芯片內部的任何部件,只需要通過JTAG接口就可以輕松實現(xiàn),對于開發(fā)調試嵌入式系統(tǒng)來說簡化了流程,使其變得更加簡單。訪問ARM芯片邊界的JTAG掃描口是此技術的調試方法。JTAG仿真器基于其邊界掃面實現(xiàn)與處理器的信息交換,這是一種完全不使用片上資源的調試方式,不需要目標存儲器,更不占用系統(tǒng)的任何端口,對于監(jiān)控軟件來說是必備的特性。需要說明的是,基于JTAG技術的調試程序的執(zhí)行位于目標板,是仿真結果更接近于目標硬件。在這種條件下,許多其他的問題如調試頻率限制、直交流參數(shù)匹配問題、所用電線長度等造成的影響被最大程度的消除。目前最為流行的調試方式就是利用JTAG仿真器進行基于集成調試環(huán)境的測試,該調試方法的優(yōu)缺點如下:優(yōu)點:不受至于軟硬件的條件,簡單快捷。缺點:要求工作正常的目標板,并且要具有調試接口。圖3-6JTAG連接原理電源電路設計對于要設計的整體系統(tǒng)來說,電源管理系統(tǒng)是極其關鍵的局部。對于一個電源系統(tǒng)來說,良好的穩(wěn)定性和出色的抗干擾能力是必不可少的。一塊電路板上往往有著不同的電壓和功率分布,這就要求我們先準確計算各個局部的電壓和功率,然后選擇適宜的電源管理單元。本文在考慮了上述要求之后對電源電路做出了設計,其功能框圖如圖3-7所示。+12V直流輸入+12V直流輸入電壓調節(jié)器電壓調節(jié)器電壓調節(jié)器+3.3V直流輸出+1.8V直流輸出+5V直流輸出圖3-7電源管理系統(tǒng)功能框圖S3C2410工作時向IO口提供3.3V電壓,向內核提供1.8V電壓。為了到達穩(wěn)定電壓的要求,將5V電壓轉換成3.3V的任務交給了電壓轉換芯片LM1117-3.3,再用LM1117-1.8將5V電壓轉為1.8V。系統(tǒng)電源電路如圖3-8所示。圖3-8電源電路原理圖3.2分機系統(tǒng)的硬件設計在分機的MCU選取上,本文選用的是MSP43OF149,即一種超低功耗的混合信號控制器,可以使用紐扣電磁并且具有很長的電池續(xù)航能力。將低電壓、超低功耗、出色的運行能力、優(yōu)秀的穩(wěn)定性和豐富的外設集于一體。nRF905收發(fā)模塊負責進行與主分機無線通訊。因為連接了不同的傳感器和控制器,所以可以實現(xiàn)不同的功能??紤]到分機安裝的家居位置不同,所以分機的尺寸要比擬小。以安裝在廚房中的一個分機為例,分機各種硬件的選型如表3-1所示。MSP430MSP430聲光報警模塊電源監(jiān)控模塊nRF905通訊模塊泄漏檢測模塊電磁閥控制模塊圖3-9分機系統(tǒng)的硬件結構表3-1各硬件模塊型號硬件芯片和模塊型號描述MCU處理器MSP430F149超低功耗的混合信號控制器泄漏檢測模塊QM2N2型傳感器阻值隨檢測氣體濃度變化而變化電磁閥控制模塊ZD20型電磁閥雙穩(wěn)態(tài)高效節(jié)能型電磁閥聲光報警模塊LED和蜂鳴器紅光和聲音報警通訊模塊nRF905無線通訊射頻模塊3.2.1MCU微控制器MSP430F14x是德州儀器公司推出的Flash型16位RISC指令單片機,具有超低的功耗。由于采用的結構是“馮-諾依曼”,在同一個地址空間內集成了隨機和制度存儲器和所有的外圍模塊。極高的性價比是因為具有豐富的片內外設。在TI的MSP430F1x系列閃存單片機中,該系列閃存的功能最為強大。該系列具有更大的存儲空間以及更豐富的外圍模塊。同時它的調試工具簡單易用,得益于固化的閃存,程序可以輕松的升級或者調試,是開發(fā)移動產(chǎn)品的不錯的選擇。在該系列的單片機設計上,表達了功耗至上的設計理念。一切設計均圍繞低功耗。以下幾個局部是這種低功耗結構的介紹:1.高度集成的完全單片化設計該MCU集成了盡可能多的外圍模塊,最大程度的增加硬件空間。在配合超低的功耗結構,使得系統(tǒng)性能強勁,工作可靠,本錢低廉,適合微型化。2.內部電路可選擇性工作特殊功能存放器使得該系列單片機可以根據(jù)不同的工作要求和環(huán)境狀態(tài),選擇不同的內部工作電路,始終保持強勁性能和超低功耗。3.具有高速和低速兩套時鐘電源功耗與系統(tǒng)運行頻率有密切關系。為了實現(xiàn)超低功耗,F(xiàn)14x單片機具有高速的主時鐘和低頻時鐘以及DCO片內時鐘三套獨立的時鐘源??梢愿鶕?jù)不同的工作頻率選用不同的時鐘頻率,最大程度的降低整體功耗。4.具有多種節(jié)能工作模式該單片機除了正常模式外,還有4種節(jié)能模式。保證了出色的功耗控制,同時又不會影響到單片機的工作性能。根據(jù)工作要求和狀態(tài)的不同的,可以在5種工作模式之間隨時切換。本文選用的MSP430F149單片機是TI公司MSP430F14x系列的產(chǎn)品。該系列對功耗的控制極為出色,將不同的應用模塊集成在一起,電壓范圍1.8V至3.6V的電池可以保證長時間的供電。由于RISC結構是16位的,同時還具有16位存放器和特殊存放器,使得它的代碼效率很高。通過數(shù)字控制振蕩器,該單片機從睡眠恢復到工作的時間不到6ms。該系列單片機有兩個具有看門狗功能的16位定時器和高速8通道12位A/DC以及一個內部比擬器和兩個通用同異步收發(fā)器、I/O口多達48個并且均可獨立編程。無論對于硬件還是程序,都擁有極高的兼容性,高達10萬次的擦寫次數(shù)保證了修改程序的可行性,抗干擾能力一流。無論是隨機存儲局部還是只讀存儲局部,可以隨意進行局部或者整體的擦除,大大方便了軟硬件的設計。芯片各引腳的連接如圖3-10所示[21]。圖3-10MSP430F149引腳連接電路電源監(jiān)控模塊設計NCP302HSN27T1電壓監(jiān)測器,工作電壓為0.8V到10V之間的任意值,難以想象的0.5μA的靜態(tài)工作電流;與同類芯片相比,其電壓檢測最小精度可以到達2%。一旦電源電壓缺乏2.7V,1號引腳輸出高電平,對MCU發(fā)出中斷請求,同時蜂鳴器發(fā)聲提示更換電源。泄漏檢測模塊設計泄漏檢測模塊的核心是QM2N2型氣敏傳感器,其電阻值隨有害氣體濃度的變化而變化。其電路圖如下所示。當濃度處于正常范圍時,氣敏傳感器C和D間電阻值較大,D端輸出低電平。一旦有害氣體濃度超過正常閥值后〔通常為25%的氣體體積濃度〕,迅速減小的C、D間電阻值,將使D除輸出高電平,導通三極管,連接單片機P4.3口的E點由高電平變?yōu)榈碗娖?,隨即向單片機發(fā)出報警信息[22]。圖3-11泄漏檢測電路電磁閥控制模塊設計本文選用ZD20型電磁閥〔控制電路見圖3-12〕來控制煤氣的開關,它具有節(jié)能高效的特點,供電的是3.6V鋰電池,采用點開工作方式。無論開關,均可一直保持該狀態(tài)。微控制器P4.2腳的電平上下控制電磁閥的開關狀態(tài)。輸出低電平時,三極管截止,電磁閥關閉;輸出高電平時,三極管導通,電磁閥翻開。該電磁閥通過控制電路與單片機控制系統(tǒng)相連,通過單片機實現(xiàn)對電磁閥的開關。圖3-12電磁閥控制電路聲光報警模塊設計如果有害氣體濃度超標,紅色LED點亮,同時蜂鳴器鳴響,發(fā)出聲光報警。圖3-13聲光報警電路單片機的P4.0腳輸出的電平控制蜂鳴器,高電平時蜂鳴器鳴響低電平時那么蜂鳴器關閉。當P4.1引腳輸出的電平上下控制LED的亮滅,高電平時LED發(fā)亮,低電平時熄滅。3.3主分機通信模塊設計3.3.1nRF905射頻芯片無線數(shù)據(jù)傳輸已經(jīng)開始用于各種特殊的數(shù)據(jù)測控中,本文選用的MSP430+nRF905的組合具有低功耗、傳輸距離較遠、傳輸數(shù)據(jù)量適中等特點。其中的MSP430有著出色的功耗控制,而nRF905無線收發(fā)芯片除了低功耗,操作簡單并且可以自動進行CRC校驗,兩者的組合已經(jīng)被廣泛用于很多產(chǎn)品中。nRF905是一款挪威Nordic公司開發(fā)的射頻發(fā)射芯片,工作電壓范圍在1.9V至3.6V之間,32引腳QFN封裝〔5mm*5mm〕,工作頻段有433/868/915MHz。該芯片可以自動進行CRC校驗,配置方便,超低功耗。它采用非實時數(shù)據(jù)傳輸方式,在接收端收到發(fā)送端傳來的數(shù)據(jù)之后先暫存與芯片內部存儲器,MCU可以在需要的時候訪問內部存儲器。nRF905一次可以傳輸不超過32B的數(shù)據(jù)。nRF905可以工作在掉電或者待機這兩種不同的模式下,節(jié)能模式有ShockBurstTM和ShockBurstTM,PWR_UP、TRX_CE和TX_EN這3個引腳的電平上下決定著該芯片處于何種模式,如表3-2所列。表3-2nRF905的工作模式PWR_UPTRX_CETX_EN工作模式0--掉電模式10-待機模式110射頻接收模式111射頻發(fā)送模式3.3.2nRF905與MCU連接電路主機與分機的MCU分別連接各自的nRF905芯片,再通過無線方式進行信息交換,其連接電路圖如下列圖所示。圖3-14nRF905與MCU連接電路圖其中TRX_CE、PWR、CD、AM、DR、MISO、MOSI、SCK、CSN等控制管腳分別與主機和分機的MCU的通用IO口相連接,nRF905與S3C2410的連接見圖3-15。PWR_UPTRX_CETX_ENnCDRPWR_UPTRX_CETX_ENnCDRAMFDR9MISO0MOSI5SCKCSNPC0PC1SPC23PC3CPC82PC94PC101PC110PC12PC13圖3-15S3C2410與nRF905連接圖圖3-15S3C2410與nRF905連接圖4系統(tǒng)軟件開發(fā)在基于WindowsCE操作系統(tǒng)進行產(chǎn)品開發(fā)時,離不開內核定制和開發(fā)應用程序這兩個重要的方面。本文使用的是進行內核定制的PlatformBuilder工具和程序開發(fā)工具的EmbeddedVisualC++。4.1搭建特定操作系統(tǒng)搭建基于WidowsCE的特定系統(tǒng)步驟如下:(1)選擇適宜的微處理器和板級支持包BSP。本文根據(jù)具體要求選用的是導入了smdk2410.cec文件的S3C2410處理器。(2)使用開發(fā)向導設置好硬件參數(shù),壓縮功能模塊,得到編譯后的OS鏡像文件;(3)將鏡像文件導入開發(fā)板,使用PB工具查看其運行情況,并做出修改。(4)在EVC中導入SDK開發(fā)工具,完成開發(fā)環(huán)境的創(chuàng)立。其具體流程如下列圖所示。平臺定制平臺定制開發(fā)設備驅動程序增加組件修改配置文件平臺配置下載到目標設備平臺創(chuàng)立完成?導出SDK平臺調試創(chuàng)立OS鏡像文件定制目標設備?開發(fā)OAL、BSP和下載程序圖4-1WindowsCE定制系統(tǒng)流程圖平臺定制工具PlatformBuilder簡介平臺構造器〔PlatformBuilder〕負責在新的硬件平臺上完成WindowsCE操作系統(tǒng)的移植。該工具的版本與WindowsCE操作系統(tǒng)的版本有關。它是在進行基于WindowsCE的嵌入式操作系統(tǒng)開發(fā)時的必備工具[23]。通過該工具,開發(fā)人員可以根據(jù)具體要求對WindowsCE操作系統(tǒng)的進行程序驅動的開發(fā)和測試。該工具包含常用的CPU和外圍模塊的OEM層源代碼。通過該工具,只要對其包含的標準BSP進行修改,就可以驅動標準硬件設備。接下來要做的就是添加應用程序,就可以使目標硬件運行起來。下面是安裝WindowsCE操作系統(tǒng)時的考前須知:(1)PB工具和CE操作系統(tǒng)必須安裝在同一個路徑下。(2)根據(jù)特定的系統(tǒng)平臺進行定制安裝,由于本文選用的是S3C2410,所以選擇ARMV4和ARMVI。在該工具的用戶界面中,有左右兩個窗口。左側窗口顯示已經(jīng)選定的特性,會被導入定制的操作系統(tǒng),右窗口顯示所有可選特性,可以根據(jù)要求把它們導入左側窗口。利用該工具可以實現(xiàn)基于CEC文件的目錄擴展。開發(fā)人員可以通過CEC文件將現(xiàn)有BSP開發(fā)包導入,根據(jù)具體要求設置各種特性從而定制出基于目標平臺的操作系統(tǒng)。完成定制后,自定義的軟件開發(fā)工具包SDK還可以從PlatformBuilder中導出用于應用程序的開發(fā)。安裝BSP通俗的說,在硬件平臺上構建CE系統(tǒng),實際就是在PlatformBuilder〔下文簡稱PB〕自定義一個新的環(huán)境,搭建環(huán)境根底需要確定適宜的BSP。它是由主板設備驅動、開發(fā)板硬件程序等組成的。PB包含多種目標硬件平臺BSP,對于已經(jīng)包含的開發(fā)板,把再編譯的鏡像文件下載到開發(fā)板就可以了。如果開發(fā)板的外圍接口沒有包含在BSP中,可以使用開發(fā)向導自定義一個新的BSP。如果現(xiàn)有的開發(fā)環(huán)境中沒有滿足特定要求的BSP,那么PB也支持開發(fā)人員自定義新的BSP[24]。在整個WindowsCE系統(tǒng)的定制過程中,定制BSP過程最長。只有了解系統(tǒng)硬件根底才能縮短定制時間。對于S3C2410微處理器,可以直接在PB的BSP列表中選取。為了節(jié)省時間并提高成功率,本文直接選用廠商提供的BSP。下面是安裝SMDK2410開發(fā)板BSP的步驟:〔1〕翻開PB工具,在文件菜單下找到特性管理目錄,顯示當前特性列表。可以自己添加新CEC文件擴充該列表。如下列圖所示。圖4-2選擇的CEC文件列表〔2〕接下來在列表中選擇“smdk2410.cec”,選擇移除。再選擇導入,添加“platform\smdk2410\smdk2410.cec”文件。特性管理目錄是由CEC文件組成的,同時包括系統(tǒng)的資源配置等信息。選擇下一步直到完成。圖4-3導入光盤中的CEC文件〔3〕在列表中,系統(tǒng)會自動添加“SamsungSMDK2410:ARMV4/V4I”項,BSP安裝完成。定制WindowsCE操作系統(tǒng)鏡像不同嵌入式系統(tǒng)除了鏡像文件不同之外,操作方法大同小異。下面討論的是如何創(chuàng)立操作系統(tǒng)鏡像文件。其具體步驟如下[25]:〔1〕選擇文件菜單中的新平臺選項?!?〕選擇BSP:本文選用的是S3C2410處理器,所以選擇“SAMSUNGSMDK2410:ARMV4”BSP,選擇“NEXT”。圖4-4選擇BSP〔3〕選擇平臺類型。在可用配置列表中,選擇移動手持設備,并把平臺命名為sbc2410,點下一步繼續(xù)?!?〕選擇根本類庫。通過新平臺安裝向導選取適宜的配置,點擊下一步?!?〕繼續(xù)在該向導中設置網(wǎng)絡效勞?!?〕設置完成,點擊結束?!?〕右鍵單擊特性選項中的設置。在創(chuàng)立屬性對話框中,進行如下設置:[EnableFullKernelMode]->checked[EnableImagesLagerthan32MB]->checked在允許所有核心模式下,可以提高CE系統(tǒng)的運行效率,但是增大了系統(tǒng)的不穩(wěn)定性。選擇允許大于32MB映像,那么系統(tǒng)的運行映像就可以大于32MB。〔8〕利用PB提供的特性目錄進行特性選擇是基于WindowsCE操作系統(tǒng)的定制的一個重要的過程。PB提供了CE系統(tǒng)的常用組件特性。因為需要鍵盤鼠標等輸入設備,所以點擊翻開Catalog->CoreOS->Displaybaseddevices->CoreOSService->USBHostSupport->USBHumanInputDevice(HID)ClassDriver,右擊添加到平臺,選擇USB人體工程學鍵盤和鼠標,右擊添加到平臺?!?〕與上一步類似,添加移動存儲設備支持,在USBStorageClassDriver處右擊添加到平臺,Catalog->BSPs->SamsungSMDK2410:ARMV4->DeviceDrivers->Networking->LANdevices->CS8900,然后右鍵點擊參加平臺。〔10〕右鍵點擊PrinterDevice->PCLPrinterDriver,選擇參加平臺,必須添加打印設備驅動,否那么編譯時會出錯?!?1〕設置好相關網(wǎng)絡參數(shù),可以通過修改注冊表相關鍵值來進行設置。本文將所以目標機的IP設為:0。〔12〕點擊創(chuàng)立開始編譯。編譯完畢,將會生成NK.bin和NK.nb0映像文件。編譯時有警告是正常的,如果有錯誤,那么需要修改。通過USB將主機和開發(fā)板連接起來,將上面生成的兩個鏡像文件下載到開發(fā)板上。4.1.4創(chuàng)立平臺SDK接下來要做的就是使用PB來創(chuàng)立SDK,其他應用程序的開發(fā)離不開它的支持。組成SDK的是一些頭文件、庫文件、文檔和運行庫。完成了SDK的創(chuàng)立,再將其導入或者安裝到其他的計算機上,再通過EVC或VisualStudio就可以進行應用程序的開發(fā)、調試和運行。微軟的PlatformSDK對于開發(fā)人員來說比擬熟悉,使用這一工具可以開發(fā)出幾乎適合所有版本W(wǎng)indows系統(tǒng)的應用程序。這是由于嵌入式系統(tǒng)的特性所致,由于是一個可以定制并修改的操作系統(tǒng),每一個定制的WindowsCE平臺的功能不完全相同,它們向應用程序提供的API集合自然也不完全相同。只有導入了特定的SDK,VisualStudio和EVC才能進行應用程序的開發(fā)。在EVC中,PlatformManager〔簡稱PM〕管理SDK。值得注意的是,該工具會默認安裝一個“標準”SDK。其實也就是集成了一些常用功能的SDK。通過“標準”SDK開發(fā)的應用程序,兼容大多數(shù)定制的WindowsCE系統(tǒng)。但是標準不代表萬能,例如,對于中文和DirectX,StandardSDK就不支持。使用SDK向導生成SDK過程如下:〔1〕在PB中選擇平臺菜單,選擇設置SDK,翻開向導程序?!?〕為創(chuàng)立的SDK輸入一個名稱。圖4-5SDK名稱〔3〕選擇SDK特性開發(fā)工具,本文選擇的是EVC,所以EVC和SDK文件路徑必須一樣?!?〕點擊下一步完成向導設置。(5)在平臺菜單中選擇創(chuàng)立SDK。(6)把上述步驟之后生成名SBC2410_SDK.msi的SDK文件安裝到EVC程序路徑?!?〕雙擊該MSI文件出現(xiàn)向導?!?〕為其命名?!?〕設置與開發(fā)工具相同的安裝目錄。設置錯誤那么無法下載應用程序。〔10〕完成基于向導的SDK安裝。4.2應用軟件開發(fā)WinCE的API和其他的微軟操作系統(tǒng)大致相同,但它們之間也有區(qū)別。進行CE程序開發(fā)時應該注意如下幾點[26]:1.CE操作系統(tǒng)的根底是Unicode系統(tǒng),向用戶顯示的所有文本都是Unicode文本,所以應用程序必須使用Unicode字符集。只有使用Unicode類型的運行函數(shù)才能對字符串進行定義和處理。2.有限的內存。由于基于CE的嵌入式設備內存非常有限,所以基于此操作系統(tǒng)的應用程序代碼應該盡可能簡潔,大的程序意味著長的加載時間。較少的代碼可以獲得更快的加載速度,也有利于系統(tǒng)的穩(wěn)定性。3.相對于Windows所有的API函數(shù),WindowsCE支持的超過1000種公共MicrosoftWin32API只是一小局部。有些WindowsAPI在WindowsCE不一定能使用。必須對現(xiàn)有的Windows程序做一些修改才能被WindowsCE編譯[27]。4.電源管理。WindowsCE設備的電量通常非常有限,為了節(jié)省電量,WindowsCE設備會在長時間沒有使用時關閉。一旦恢復設備使用,應用程序必須迅速恢復,同時應用程序必須考慮到運行時突發(fā)的電量缺乏的情況并較好地予以解決。開發(fā)工具比擬進行WindowsCE應用開發(fā)時,應該根據(jù)具體要求選用適宜的開發(fā)工具。當前流行的開發(fā)工具有PB、EVC、VS.NET、EVT3.0等。下面逐一介紹每種開發(fā)工具。1.PlatformBuilder。簡稱PB,開發(fā)環(huán)境是Win32API,如果要修改相連之后的應用程序,需要再編譯鏡像。方便內核的調試,但是應用程序的修改比擬繁瑣。debug版鏡像和環(huán)境解決了這一問題。其界面如下。2.EVC支持WinCEApp/DLL/COM/LibusingWin32API、MFC、ATLandSTL。它是一種可視化開發(fā)工具。和VC++6.0相比,工程管理模式和用戶界面相似,對于應用程序的調試非常方便,是程序開發(fā)的必備工具之一,對于特定程序開發(fā)要安裝特定的SDK。3.VisualStudio.NE,簡稱VS.NET。調試應用程序非常方便,開發(fā)環(huán)境也比擬完整,但是要求安裝frameworkcompact.NET環(huán)境??梢悦黠@縮短開發(fā)時間,但是效率較低同時資源占用過高。它的開發(fā)環(huán)境必須包含在CE操作系統(tǒng)內核中,否那么不能進行程序編譯。對于對資源占用和運行速度要求不高的軟件來說,使用VS.NET開發(fā)很適宜。4.EmbeddedVisualTools3.0〔簡稱EVT3.0〕分為EVBasic3.0和EVC++3.0,擁有和VisualStudio6.0相似的用戶界面,但是只有WindowsCE3.0才能運行其開發(fā)的應用程序。經(jīng)過綜合比擬,本文選用的是簡單易用的EVC開發(fā)工具。本文選用的具體版本是EVC4.0+SP4,它是最新的版本,包含了以前版本的所有功能。系統(tǒng)鏡像文件的大小以及使用的開發(fā)工具決定了使用何種模式。其他因素也需要給予考慮,特別是開發(fā)速度和系統(tǒng)的兼容性以及可靠性??紤]到運行效率和內存使用率,以及對WindowsCE操作系統(tǒng)的兼容性,本文選用EVC4.0作為應用程序開發(fā)工具。它是開發(fā)嵌入式設備應用程序的必備工具[28]。4.2.2EmbeddedVisualC++伴隨著WindowsCE系統(tǒng)的推出,微軟也推出了與VC++類似的EVC語言和開發(fā)環(huán)境,開發(fā)人員可以基于WindowsCE進行應用程序開發(fā),同時也可以訪問開發(fā)工具文檔?;谠摴ぞ叨_發(fā)出的程序可以直接運行在特定的平臺,無需編寫額外代碼,系統(tǒng)自動完成平臺轉換工作。下列圖為EVC++4.0的用戶界面。圖4-6EmbeddedVisualC++集成開發(fā)環(huán)境對于從事VC開發(fā)的程序員來說,這個開發(fā)環(huán)境并不陌生。本文接下來將介紹EVC開發(fā)環(huán)境的特殊局部[29]。使用EVC編程應該針對目標平臺,CE操作系統(tǒng)的運行設備資源較少,必須明確編程的硬件根底。不同的CPU對應不同的系統(tǒng),明確編譯目標和類型是首要任務,如圖4-24紅色局部所示。EVC提供了不同的目標機器及編譯類型選項來編譯不同的可執(zhí)行文件。在目標硬件測試方面,EVC具有硬件模擬器。針對不同硬件平臺在調試、運行程序時的差異,EVC具有模擬大多數(shù)硬件平臺的模擬器,可以很方便的在EVC環(huán)境中進行程序的調試或修改??梢栽谀M器中設計好應用程序用戶界面,相應硬件平臺功能的參加,節(jié)約了調試時間,同時開發(fā)速度也得以提高。WindowsCE操作系統(tǒng)是32位的操作系統(tǒng),EVC只有在32位系統(tǒng)下才能運行。由于兩者的API不完全相同,有些函數(shù)兩者之間不能通用。某些函數(shù)只能在CE操作系統(tǒng)中運行。WindowsCE操作系統(tǒng)的本地文本格式是Unicode。和桌面操作系統(tǒng)程序開發(fā)不同的是,必須將應用程序下載到目標設備上才能運行,調試時也是這樣。所以在進行基于WindowsCE的應用程序開發(fā)時,必須將EVC與WindowsCE目標設備進行連接。這需要用到ActiveSync同步軟件。點擊就會啟動CE操作系統(tǒng)。之后通過USB連接到PC,點擊移動設備圖標,開發(fā)板中的內容就會顯示出來。指定的文件夾中必須拷貝編譯成功的執(zhí)行文件〔一般選MyDocuments〕。圖4-7瀏覽開發(fā)板中文件主機終端的應用程序開發(fā)完成了開發(fā)環(huán)境的創(chuàng)立,接下來就可以進行應用程序的開發(fā)了。終端要控制收到的數(shù)據(jù)并將其顯示出來。訪問緩沖區(qū)數(shù)據(jù)即可實現(xiàn)智能家居系統(tǒng)的上位機與下位機之間的通訊。在判斷上位機發(fā)送的命令后,如果是讀取命令,微處理器就會讀取緩沖區(qū)數(shù)據(jù);如果是寫入命令,微處理器就會向緩沖區(qū)寫入數(shù)據(jù)。應用程序通過兩個對話框控制分機讀寫數(shù)據(jù):測量對話框監(jiān)視系統(tǒng)運行狀態(tài)并采集輸入信息,Control對話框向分機發(fā)送控制信息。整個家居系統(tǒng)的測控通過主窗體實現(xiàn)。主機程序流程如下列圖所示。智能家居系統(tǒng)應用程序的輸入分為1路模擬量、3路數(shù)字量及相應的4路控制輸出,從而到達智能控制。YYYY測量子程序測量子程序測量子程序YNNNN開始調用主窗體選擇測量?選擇控制?選擇幫助?選擇退出?結束圖4-8主機應用程序流程圖人機界面開發(fā)是主機程序開發(fā)的重要局部。人機界面〔Human-MachineInterface〕是一種人機對話的環(huán)境,用戶通過該界面向機器發(fā)出指令。它對于用戶的使用體驗非常重要。由于開發(fā)者熟悉開發(fā)的應用程序,所以對他們來說人機界面甚至是一個多余的局部。但是一個人機界面對于用戶來說就是一個系統(tǒng)的全部,它包括輸入指令發(fā)送、信息反應和界面控制。對于界面設計來說,應該給用戶一種輕松快樂的操作體驗,如果讓用戶覺得使用起來很不方便或者太過復雜,那么用戶很可能不再愿意使用這個程序。由于和VisualC++的開發(fā)環(huán)境根本一致。確定工程的類型、存儲空間以及名稱和平臺類型之后,再設置好工程類型和語言支持,程序的根本構架就建立起來了。本文選擇的工程類型是WCEMFCAPPWizard,將其命名為SmartHome,本文選擇的CPU支持類型是ARM和X86〔應該根據(jù)開發(fā)環(huán)境來選擇〕。如同前述,在PC上調試之后,再編譯成相應的應用程序,本文選用ARMCPU作為目標機,因此選擇WCEX86和WCEARM,其他類型的CPU沒有考慮。圖4-9創(chuàng)立工程(1)對話框資源。在插入資源對話框中,選擇Dialog選項。將ID設置為“IDD_MODELESSDLG1”,標題為“智能集成控制家居系統(tǒng)-測量窗口”,選擇“Visible”?!?〕編輯對話框。如下圖[30]:〔3〕創(chuàng)立對話框類。選擇Createanewclass選項,彈出NewClass對話框,在Name文本框內輸入名稱“CModelessDlg1”。圖4-10創(chuàng)立對話框類(4)重復以上三步,創(chuàng)立一個名為“IDD_MODELESSDLG2”,標題設置為“智能集成控制家居系統(tǒng)-控制窗口的”,類名取為“CModelessDlg2”。(5)確定了資源和實體之后,并不能馬上顯示出來,還沒有確定顯示時間和地點。要正確地顯示出來,在增減的窗口選擇菜單中,選擇增加測量窗口項,并命名為“ID_MODELESSDLG_TEST1”,將“控制窗口”選項的ID號設置為“ID_MODELESSDLG_TEST2”[31]。(6)對于控制指定映射變量,需要確定它們的類型、范圍、變量名并為其添加代碼。由于篇幅所限,不贅述詳細的代碼。(7)翻開“SmarthomeView.cpp”和“SmartHomeView.h”文檔,向其中添加如下頭文件:#include“ModelessDlg1.h”#include“ModelessDlg2.h”(8)完成編譯后使用ActiveSync把可執(zhí)行程序文件拷貝到移動設備下的MyDocuments文件夾下。(9)智能家居系統(tǒng)應用程序的輸入分為1路模擬量和3路數(shù)字量,而對應的輸出是4路控制量,通過這些輸入輸出量來實現(xiàn)智能控制。5總結與體會無論智能家居系統(tǒng)技術如何開展,其核心始終是控制器。結合了無線和網(wǎng)絡通訊技術基于嵌入式系統(tǒng)的家居控制器具有超低的功耗,可以穩(wěn)定運行,具有十分廣闊的開展前景。通過對理論和設計實際的討論,本文智能家居控制系統(tǒng)的微處理器選用了S3C2410芯片,以嵌入式操作系統(tǒng)為軟件根底,以無線通訊技術為硬件根底,提出了一種本錢較低、性能較強的設計方案?,F(xiàn)在對本課題設計所完成的任務進行如下總結:1.確定了整體設計方案以及所用元器件。本設計選用的主控制器是三星的32位S3C2410處理器,在主分機無線通訊方面,選用nRF905射頻芯

溫馨提示

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

評論

0/150

提交評論