《智能家居系統(tǒng)》畢業(yè)論文30
摘要隨著計(jì)算機(jī)技術(shù),通信技術(shù)和嵌入式系統(tǒng)的發(fā)展,智能家居正逐步走進(jìn)人們的生活。一個典型的現(xiàn)代智能家居系統(tǒng)提供安防、家電控制、遠(yuǎn)程抄表和信息服務(wù)等功能。本文設(shè)計(jì)并實(shí)現(xiàn)了其中的智能家電控制系統(tǒng)。討論了基于Windows CE 5.0嵌入式操作系統(tǒng),以使用PXA270為控制核心的XSBase270嵌入式平臺為硬件基礎(chǔ),以Visual Studio 2005和Platform Builder為軟件開發(fā)平臺的智能家居系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。通過詳細(xì)的系統(tǒng)設(shè)計(jì)過程,開發(fā)了相應(yīng)的軟件程序,包括嵌入式操作系統(tǒng)Windows CE 5.0的定制、應(yīng)用程序的界面設(shè)計(jì)、程序開發(fā)和單片機(jī)系統(tǒng)的底層編程,本設(shè)計(jì)融合了嵌入式系統(tǒng)、通訊、單片機(jī)、軟件開發(fā)等學(xué)科的知識。系統(tǒng)測試結(jié)果表明,該系統(tǒng)設(shè)計(jì)基本滿足要求,并有一定的功能擴(kuò)展空間。關(guān)鍵詞:智能家居;嵌入式系統(tǒng);Windows CEAbstractWith computer technology, communication technology and embedded system development, intelligent home is getting into people's lives. A typical modern smart home security systems, home appliance control, remote meter reading and information services functions. This article is designed and implemented one of the intelligent home appliance control system. Discussed based on Windows CE 5.0 embedded operating system to use the PXA270 core XSBase270 to control the embedded platform for hardware-based, Visual Studio 2005 and Platform Builder software development platform for intelligent home system design and implementation. Through the detailed system design process, develop the corresponding software programs, including Windows CE 5.0 embedded operating system, custom, application interface design, program development, and SCM systems level programming,the design of integrated embedded systems, communications, SCM, software development and other disciplines of knowledge. System test results show that the system design can basically meet the requirements and have a certain function of room for expansion. Keywords: Smart Home ;Embedded ;Windows CE目 錄摘要1ABSTRACT2第一章 緒論41.1智能家居及其發(fā)展趨勢41.2嵌入式系統(tǒng)與智能家居41.3智能家居控制系統(tǒng)功能61.3.1家庭設(shè)備自動監(jiān)控61.3.2家庭安全防范6第二章 系統(tǒng)設(shè)計(jì)主要任務(wù)72.1硬件部分72.2軟件部分7第三章 系統(tǒng)設(shè)計(jì)方案83.1開發(fā)平臺硬件資源83.1.1CPU:PXA27083.2硬件總體設(shè)計(jì)框圖93.2.1家電控制板103.2.2家電控制電路103.2.3傳感器接口電路113.2.4串行端口電路12第四章 軟件設(shè)計(jì)134.1 Windows CE操作系統(tǒng)介紹134.2 操作系統(tǒng)的定制134.2.1BSP的安裝134.2.2添加平臺特征和配置平臺144.3 應(yīng)用程序編寫環(huán)境164.4串口通信協(xié)議164.5打開串口與配置串口17第五章 系統(tǒng)測試205.1測試環(huán)境205.2測試步驟20第六章 總結(jié)23參考文獻(xiàn):24致謝25 第一章 緒論1.1智能家居及其發(fā)展趨勢隨著電子技術(shù)在現(xiàn)實(shí)生活中的廣泛應(yīng)用,人們越來越感受到電子產(chǎn)品為生活所帶來的各種便利,特別是在20世紀(jì)80年代,智能家居的出現(xiàn)更為人們享受生活提供了一個廣闊的平臺。 智能家居是一個系統(tǒng),也是一個過程。它是利用先進(jìn)的網(wǎng)絡(luò)通訊技術(shù)、電力自動化技術(shù)、計(jì)算機(jī)技術(shù)、無線電技術(shù),將與居家生活有關(guān)的各種設(shè)備有機(jī)地結(jié)合在一起,通過網(wǎng)絡(luò)化的綜合管理,讓居家生活更輕松。智能家居不僅具有傳統(tǒng)的居住功能,而且不再是被動的,是具有能動性智能化的工具,提供全方位的信息交換功能,優(yōu)化我們的生活方式和居住環(huán)境你 ,幫助我們有效地安排時間,節(jié)約各種能源,提供優(yōu)質(zhì)、高效、舒適、安全的生活空間智能家居的原型最早起源于美國。時至今日,智能家居在美國已走過了將近30個年頭。目前,美國有全球最大的智能化住宅群,其占地3359公頃,由約8000棟小別墅組成。此外,在歐美、日本、新加坡和韓國等地,智能家居也日漸興起。 自動化的家居不再是一幢被動的建筑,相反,成了幫助主人盡量利用時間的工具,使家庭更為舒適、安全、高效和節(jié)能。網(wǎng)絡(luò)化智能家居系統(tǒng)可為您提供遙控、家電(空調(diào),熱水器等)控制、照明控制、室內(nèi)外遙控、窗簾自控、防盜報(bào)警、電話遠(yuǎn)程控制、可編程定時控制及計(jì)算機(jī)控制等多種功能和手段,使生活更加舒適、便利和安全。 隨著家庭智能化在世界范圍內(nèi)的日漸普及,智能家居在上個世紀(jì)末悄然走進(jìn)了中國市場。 1.2嵌入式系統(tǒng)與智能家居智能家居,或稱智能住宅,在英文中常用Smart Home。智能家居是以住宅為平臺,兼?zhèn)浣ㄖ?、網(wǎng)絡(luò)通信、信息家電、設(shè)備自動化,集系統(tǒng)、結(jié)構(gòu)、服務(wù)、管理為一體的高效、舒適、安全、便利、環(huán)保的居住環(huán)境。智能家居可以定義為一個過程或者一個系統(tǒng)。利用先進(jìn)的計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通訊技術(shù)、綜合布線技術(shù)、將與家居生活有關(guān)的各種子系統(tǒng),有機(jī)地結(jié)合在一起,通過統(tǒng)籌管理,讓家居生活更加舒適、安全、有效。智能家居不僅提供了全方位的信息交換功能,還優(yōu)化了人們的生活方式和居住環(huán)境,幫助人們有效地安排時間、節(jié)約各種能源,實(shí)現(xiàn)了家電控制、照明控制、室內(nèi)外遙控、窗簾自控、防盜報(bào)警、計(jì)算機(jī)控制、定時控制以及電話遠(yuǎn)程遙控等功能。 嵌入式系統(tǒng)一般指非PC系統(tǒng),它包括硬件和軟件兩部分。硬件包括處理器/微處理器、存儲器及外設(shè)器件和I/O端口等。軟件部分包括操作系統(tǒng)軟件(OS)(要求實(shí)時和多任務(wù)操作)和應(yīng)用程序編程。應(yīng)用程序控制著系統(tǒng)的運(yùn)作和行為;而操作系統(tǒng)控制著資源調(diào)度及與硬件的交互作用。 我們可以通過各項(xiàng)比較發(fā)現(xiàn),嵌入式比較有發(fā)展?jié)摿ΑG度胧降闹悄芗揖邮瓜到y(tǒng)的處理能力大大增強(qiáng),可以帶來更加逼真的圖像以及更加真實(shí)的語音等。根據(jù)系統(tǒng)定制的實(shí)時操作系統(tǒng)不僅可以最大限度的利用硬件資源而且還避免了過于龐大的系統(tǒng)造成的系統(tǒng)冗余。一般只有一顆主處理芯片,系統(tǒng)架構(gòu)更加清晰簡捷。軟件采用分層設(shè)計(jì),方便維護(hù)和升級,大大提高了代碼利用率,縮短開發(fā)周期。因?yàn)榍度胧郊夹g(shù)是伴隨著Internet而生的,所以它具有更加卓越的網(wǎng)絡(luò)性能,可以增加更多的網(wǎng)絡(luò)應(yīng)用,很顯然嵌入式類智能家居產(chǎn)品在應(yīng)用方面具有相當(dāng)?shù)膬?yōu)勢,應(yīng)該是未來中國家庭智能化技術(shù)主流發(fā)展方向。隨著Internet向普通家庭生活不斷擴(kuò)展,消費(fèi)電子、計(jì)算機(jī)、通訊一體化趨勢日趨明顯,現(xiàn)代智能家居由于其安全、方便、高效、快捷、智能化等特點(diǎn)在21世紀(jì)將成為現(xiàn)代社會和家庭的新時尚。當(dāng)家庭智能網(wǎng)關(guān)將家庭中各種各樣的家電通過家庭總線技術(shù)連接在一起時,就構(gòu)成了功能強(qiáng)大、高度智能化的現(xiàn)代智能家居系統(tǒng)。隨著嵌入式技術(shù)更加廣泛的應(yīng)用,隨著成本的逐步降低,中國的智能家居最終將走向嵌入式。圖1-1 智能家居控制系統(tǒng)示意圖 1.3智能家居控制系統(tǒng)功能智能家庭控制系統(tǒng)的主要功能包括家庭設(shè)備自動控制、家庭安全防范二個方面。1.3.1家庭設(shè)備自動監(jiān)控家庭設(shè)備自動監(jiān)控包括電器設(shè)備的集中、遙控、遠(yuǎn)距離異地(通過電話或Internet)的監(jiān)視、控制及數(shù)據(jù)采集。(1)家用電器的監(jiān)視和控制,按照預(yù)先所設(shè)定程序的要求對熱水器、微波爐、視像音響等家用電器進(jìn)行監(jiān)視和控制。(2) 熱能表、燃?xì)獗?、水表、電度表的?shù)據(jù)采集、計(jì)量和傳送根據(jù)小區(qū)物業(yè)管理的要求所設(shè)置數(shù)據(jù)采集程序,通過傳感器對熱能表、燃?xì)獗?、水表、電度表的用量進(jìn)行自動數(shù)據(jù)采集、計(jì)量,并將采集結(jié)果遠(yuǎn)程傳送給小區(qū)物業(yè)管理系統(tǒng)。(3)空調(diào)機(jī)的監(jiān)視、調(diào)節(jié)和控制,按照預(yù)先所設(shè)定的程序,根據(jù)時間、溫度、濕度等參數(shù)對空調(diào)機(jī)進(jìn)行監(jiān)視、調(diào)節(jié)和控制。(4)照明設(shè)備的監(jiān)視、調(diào)節(jié)和控制按照預(yù)先設(shè)定的時間程序,分別對各個房間照明設(shè)備的開、關(guān)進(jìn)行控制,并可自動調(diào)節(jié)各個房間的照度。(5)窗簾的控制,按照預(yù)先設(shè)定的時間程序,對窗簾的開啟/關(guān)閉進(jìn)行控制。1.3.2家庭安全防范家庭安全防范主要包括多火災(zāi)報(bào)警、可燃?xì)怏w泄漏報(bào)警、防盜報(bào)警、緊急求救、多防區(qū)的設(shè)置、訪客對講等。家庭控制器內(nèi)按等級預(yù)先設(shè)置若干個報(bào)警電話號碼(如家人單位電話號碼、手機(jī)電話號碼、尋呼機(jī)電話號碼和小區(qū)物業(yè)管理安全保衛(wèi)部門電話號碼等),在有報(bào)警發(fā)生時,按等級的次序依次不停地?fù)芡ㄉ鲜鲭娫掃M(jìn)行報(bào)警(可報(bào)出家中是哪個系統(tǒng)報(bào)警了)。同時,各種報(bào)警信號通過控制網(wǎng)絡(luò)傳送至小區(qū)物業(yè)管理中心,并可與其它功能模塊實(shí)現(xiàn)可編程的聯(lián)動(如可燃?xì)怏w泄漏報(bào)警后,聯(lián)動關(guān)閉燃?xì)夤艿郎系碾姶砰y)。第二章 系統(tǒng)設(shè)計(jì)主要任務(wù)本設(shè)計(jì)利用XSBase270嵌入式平臺,C8051F系列單片機(jī)、MAX232及各類家居傳感器設(shè)計(jì)制作一款智能家居控制系統(tǒng)。系統(tǒng)設(shè)計(jì)包括:系統(tǒng)硬件的設(shè)計(jì)與調(diào)試和控制軟件的編寫與調(diào)試。2.1硬件部分智能家居控制系統(tǒng)其硬件部分主要由以下幾大部分構(gòu)成,即控制單元、傳感器數(shù)據(jù)采集系統(tǒng)、接口和電源部分??刂茊卧M成控制部分功能;傳感器數(shù)據(jù)采集系統(tǒng),完成報(bào)警等信號的處理和發(fā)送;電源部分則為各個部分提供工作電源。傳感器采用溫度傳感器、煙霧傳感器、壓力傳感器、光照傳感器,采用的型號分別為DS18B20、MQ-2、BF350-3AA型電阻應(yīng)變片、On9658。本系統(tǒng)利用各種傳感器來探測、感受外界的信號,并通過已設(shè)定的程序來完成預(yù)定的動作,并最終實(shí)現(xiàn)智能化。2.2軟件部分軟件設(shè)計(jì)部分主要由以下幾大部分構(gòu)成:即數(shù)據(jù)采集與數(shù)據(jù)分析部分及分析控制部分。數(shù)據(jù)采集部分是對傳感器的信號進(jìn)行采集,分析控制部分則是根據(jù)采集的信息進(jìn)行分時操作有利于提高系統(tǒng)效率。其他軟件部分具體還包括Windows CE的定制,串口通信協(xié)議的設(shè)計(jì),家電控制板程序的編寫。第三章 系統(tǒng)設(shè)計(jì)方案3.1開發(fā)平臺硬件資源XSBase270配置了32M FLASH ROM,64M SDRAM,并配備了觸摸屏、以太網(wǎng)、USB、串口、CF/MMC、PCMCIA等接口。滿足了智能家居系統(tǒng)控制中心的硬件要求。在較小的體積中整合了決大多數(shù)嵌入式系統(tǒng)常用功能。XSBase270開發(fā)平臺內(nèi)置了GPS模塊,可以直接在XSBase270平臺上驗(yàn)證和開發(fā)導(dǎo)航應(yīng)用或從事GPS方面的研究。XSBase270平臺接口如圖4-1所示。圖4-1 XSBase270平臺接口示意圖3.1.1 CPU:PXA270芯片PXA270是Intel開發(fā)的基ARM10為核心的高度集成的片上系統(tǒng)微處理器,該處理器被加入了Wireless MXX技術(shù),大大的提高了多媒體處理能力,同時還加入了Intel SpeedStep動態(tài)電源管理技術(shù),在保證CPU性能的前提下,最大限度的降低設(shè)備功耗。具體型號采用NHPXA270CS,最高主頻可達(dá)624MHz,承擔(dān)著程序運(yùn)行、資源調(diào)配、內(nèi)存管理、中斷處理等任務(wù),控制著整套系統(tǒng)的運(yùn)行。芯片外圍電路如圖4-2所示。 圖4-2 PXA外圍電路圖3.2硬件總體設(shè)計(jì)框圖根據(jù)上文的功能需要,設(shè)計(jì)出由ARM10為控制核心,單片機(jī)控制的家電控制模塊和傳感器報(bào)警模塊,并且包含GSM通信模塊的智能家居系統(tǒng),硬件結(jié)構(gòu)框圖如圖4-3所示。 圖4-3 硬件設(shè)計(jì)框圖3.2.1家電控制板家電控制板采用C8051F系列單片機(jī)為控制核心。電路圖如圖4-4所示,利用4種傳感器控制四種終端設(shè)備(分別用4盞LED燈模擬)。其中四盞LED分別連接單片機(jī)的P1.0、P1.1、P1.2、P1.3;四個傳感器連接光電耦合器分別連接P2.0、P2.1、P2.2、P2.3。圖4-4 家電控制板3.2.2家電控制電路家用電器控制的接口電路如圖4-5所示,K1K4 為繼電器,分別控制四路家電的閉合和斷開,Q1Q4 為繼電器線圈電流驅(qū)動,電路由單片機(jī)的P1口進(jìn)行控制,DD1DD4 發(fā)光二極管用于顯示某路控制電路的工作情況,主要為了調(diào)試電路而設(shè)置。圖4-5 家電控制電路3.2.3傳感器接口電路煙霧、光照、壓力、溫度等這些傳感器的報(bào)警信號通過光電耦合接入單片機(jī)的P2 口,如圖4-6所示,在傳感器沒有報(bào)警信號時,光電耦合芯片處于截止?fàn)顟B(tài),與之相接的單片機(jī)端口為低電平;當(dāng)傳感器有報(bào)警,傳感器輸出高電平,此時光電耦合芯片導(dǎo)通,與之相接的單片機(jī)端口為高電平,由單片機(jī)對報(bào)警信號進(jìn)行采集并做出相應(yīng)處理。圖4-6 傳感器接口電路圖3.2.4串行端口電路家電控制板采用串口與XSBase270平臺采用RS-485串行通信,本設(shè)計(jì)利用RS-232轉(zhuǎn)RS-485模塊來實(shí)現(xiàn)。電路的連接如圖4-7所示:圖4-7 RS-232轉(zhuǎn)RS-485電路圖RS232-485轉(zhuǎn)換器主要包括了電源、232電平轉(zhuǎn)換、485電路三部分。本電路的232電平轉(zhuǎn)換電路采用了NIH232或者也可以直接使用MAX232集成電路,485電路采用了MAX485集成電路。為了使用方便,電源部分設(shè)計(jì)成無源方式,整個電路的供電直接由PC機(jī)的RS232接口中的DTR(4腳)和RTS(7腳)提供。PC串口每根線可以提供大約9mA的電流,因此兩根線提供的電流足夠供給這個電路使用了。經(jīng)實(shí)驗(yàn),本電路只使用其中一條線也能夠正常工作。使用本電路需注意PC程序必須使串口的DTR和RTS輸出高電平,經(jīng)過D3穩(wěn)壓后得到VCC,經(jīng)過實(shí)際測試,VCC電壓大約在4.7V左右。因此,電路中要說D3起的作用是穩(wěn)壓還不如說是限壓功能。MAX485是通過兩個引腳RE(2腳)和DE(3腳)來控制數(shù)據(jù)的輸入和輸出。當(dāng)RE為低電平時,MAX485數(shù)據(jù)輸入有效;當(dāng)DE為高電平時,MAX485數(shù)據(jù)輸出有效。在半雙工使用中,通??梢詫⑦@兩個腳直接相連,然后由PC或者單片機(jī)輸出的高低電平就可以讓MAX485在接收和發(fā)送狀態(tài)之間轉(zhuǎn)換了。由于本電路DTR和RTS都用于了電路供電,因此使用TX線和HIN232的另外一個通道及Q1來控制MAX485的狀態(tài)切換。平時NIH232的9腳輸出高電平,經(jīng)Q1倒相后,使MAX485的RE和DE為低電平而處于數(shù)據(jù)接收狀態(tài)。當(dāng)PC機(jī)發(fā)送數(shù)據(jù)時,NIH232的9腳輸出低電平,經(jīng)Q1倒相后,使MAX485的RE和DE為高電平而處于數(shù)據(jù)發(fā)送狀態(tài)。第四章 軟件設(shè)計(jì)4.1 Windows CE操作系統(tǒng)介紹Windows CE是微軟公司在嵌入式操作系統(tǒng)市場上的一個重要產(chǎn)品。它的第一版于1996年發(fā)布,但是最初并不是很成功,2001年1月,微軟發(fā)布了Windows CE,它的平臺制定工具Platform Builder和應(yīng)用軟件開發(fā)工具Visual Studio 2005都是非常實(shí)用的開發(fā)工具。Windows CE是一個32位、多線程、多任務(wù)的操作系統(tǒng),而且是模塊化的操作系統(tǒng),這意味著可選擇、組合和配置Windows CE的模塊和組件來創(chuàng)建用戶版的操作系統(tǒng)。4.2 操作系統(tǒng)的定制Windows CE 5.0嵌入式操作系統(tǒng)的定制依靠Platform Builder5.0完成。Platform Builder是微軟公司設(shè)計(jì)的用于嵌入式操作平臺定制與驅(qū)動程序的開發(fā)的工具。推出它的目的之一就是讓用戶可以更好的將嵌入式操作系統(tǒng)移植到特定的目標(biāo)平臺上。4.2.1 BSP的安裝(1)在配套光盤中找到XSBASE270-S.msi安裝文件雙擊XSBASE270-S.msi文件進(jìn)行安裝(如圖5-1所示)。圖 5-1(2)開始安裝(如圖5-2所示)。圖 5-2當(dāng)安裝完成,將在WINCE500PLATFORM目錄下面生成xsbase270_s文件夾,并且BSP安裝在Platform Builder中的Catalog欄目中的Third Party中(如圖5-3所示)。圖 5-34.2.2添加平臺特征和配置平臺(1)從File->Recent Workspace中打開實(shí)驗(yàn)1的Training工程。(2)從Catalog->Core OS->Windows CE Devices->Core OS Services->USB Host Support中分別添加支持USB的鍵盤和鼠標(biāo)特性組件:USB Human Input Device(HID) Class Driver 和支持U盤的特性組件:USB Storage Class Driver.從Catalog->Core OS->Windows CE Devices->File Systems and Data Store->Storage Manager中添加FAT文件系統(tǒng)特性組件:FAT File System. (3) 從Catalog->Device Drivers->USB Function->USB Function Clients中添加USB Slave的特性組件:Serial.(4)從Catalog->Core OS->Windows CE Devices->Graphics and Multimedia Technologies->Media->Windows Media Player中添加多媒體播放器:Windows Media Player.(5) 從Catalog->Third Party->BSPs->Emdoor Systems XSBase2700G:ARVV4I->Device Drivers中的把所有特性組件都添加到工程中。(6)從Platform->Settings中打開編譯選項(xiàng)。(7)在Locales中選中“中文(中國)”(如圖5-4所示)。(8)再點(diǎn)擊“OK”。圖 5-4(9) 在Default language中選擇“中文(中國)”。 (10)在Build Option列表中,只選擇Enable Eboot Space in Memory(IMGEBOOT=1)和Write Run-time Image to Flash Memory(IMGFLASH=1)兩項(xiàng)。再點(diǎn)擊“OK”。如圖5-5所示。圖 5-5(11)從Build OS選擇“Sysgen”開始編譯工程。4.3 應(yīng)用程序編寫環(huán)境開發(fā)環(huán)境:Microsoft Visual Studio 2005開發(fā)語言:Microsoft Visual C+ 2005軟件開發(fā)包:XSBase270 SDK智能家居系統(tǒng)的應(yīng)用程序采用Visual Studio 2005進(jìn)行開發(fā)。Visual Studio是微軟公司開發(fā)的Windows平臺上的應(yīng)用程序開發(fā)環(huán)境。Visual Studio可以創(chuàng)建Windows 下的Windows應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,也可以用來創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和Office插件。Visual Studio 2005面向.net框架(2.0版本),同時可以開發(fā)跨平臺的應(yīng)用程序。4.4串口通信協(xié)議串口通信協(xié)議采用AABB類實(shí)現(xiàn),通過對此類的成員函數(shù)的調(diào)用,完成對串口的初始化、讀寫操作等。 異步半雙工,1 位起始位8 位數(shù)據(jù)位1 位停止位 波特率:19200 發(fā)送數(shù)據(jù)格式: 命令頭 長度字 命令字 數(shù)據(jù)域 校驗(yàn)字 命令頭:0xAA 0xBB,若后續(xù)數(shù)據(jù)中包含0xAA 則隨后補(bǔ)充一字節(jié)0x00 以區(qū)分 命令頭但長度字不增加 長度字:指明從長度字到數(shù)據(jù)域最后一字節(jié)的字節(jié)數(shù) 命令字:本條命令的含義 數(shù)據(jù)域:此項(xiàng)可以為空 校驗(yàn)字:從長度字到數(shù)據(jù)域最后一字節(jié)的逐字節(jié)異或值 返回?cái)?shù)據(jù)格式: 成功:命令頭 長度字 接收到的命令字 數(shù)據(jù)域 校驗(yàn)字 失?。好铑^ 長度字 接收到的命令字取反 校驗(yàn)字4.5打開串口與配置串口在Windows CE中,驅(qū)動程序分為本地設(shè)備驅(qū)動和流設(shè)備驅(qū)動兩種。本地設(shè)備如鍵盤、觸摸屏等,一般在設(shè)備生產(chǎn)后是不會再更換的,相應(yīng)的驅(qū)動這些設(shè)備的驅(qū)動程序也是必需的。而流接口設(shè)備驅(qū)動程序可以由第三方提供,支持另外添加到系統(tǒng)中的設(shè)備。而串口就屬于流接口設(shè)備之一。流設(shè)備驅(qū)動在系統(tǒng)中是以三位字符串后跟一位數(shù)字表示的,對于串口而言,這三位字符是“COM”(不包括引號)。當(dāng)引用一個流接口驅(qū)動程序時,除了三位字符后跟一位數(shù)字以外,還要緊跟一個冒號“:”(英文半角冒號),冒號是必需的,是為了區(qū)別桌面Windows的設(shè)備驅(qū)動程序的命名規(guī)則。該函數(shù)的流程圖如圖5-6所示:圖5-6 OpenPort函數(shù)流程圖(1)串口的打開所有的流驅(qū)動程序都將采用CreateFile函數(shù)打開串口設(shè)備。在Windows CE下,系統(tǒng)不支持設(shè)備的重疊I/O,所以不能在參數(shù)dwFlagsAndAttributes中傳遞FILE_FLAG_OVERLAPPED標(biāo)志,返回的句柄要么是已打開的串口端口的句柄,或者是INVAILID_HANDLE_VALUE。CreateFile與大多數(shù)Windows函數(shù)不一樣,打開失敗時,不返回0。CreateFile函數(shù)的原型如下:HANDLE CreateFile(LPCTSTR lpFileName, / 對象路徑名DWORD dwDesiredAccess, /控制模式DWORD dwShareMode, / 共享模式LPSECURITY_ATTRIBUTES lpSecurityAttributes, /安全屬性(也即銷毀方式)DWORD dwCreationDisposition, / 創(chuàng)建的方式DWORD dwFlagsAndAttributes, / 對象屬性HANDLE hTemplateFile / 一個文件模板句柄);(2)串口的設(shè)置打開串口后,還必須對端口配置好正確的波特率、字符長度、停止位等等。在OpenPort函數(shù)中,使用兩個函數(shù)GetCommState和SetCommState來配置串口。函數(shù)原型如下:BOOL SetCommState(HANDLE hRle, LPDCB lpDCB);BOOL GetCommState(HANDLE hFile, LPDCB lpDCB);(3)串口超時設(shè)置設(shè)置好串口驅(qū)動操作的配置后,一個必要的步驟是,設(shè)置端口的超時值。所謂超時,是指Windows CE.net在讀串口和寫串口的自動返回前等待讀或?qū)懖僮鞯臅r間長度。在程序中,用以下兩個函數(shù)控制串行超時。BOOL GetCommTimeouts(HANDLE hFile, LPCOMMTIMEOUTS lpCommTimeouts);BOOL SetCommTimeouts(HANDLE hFile, LPCOMMTIMEOUTS lpCommTimeouts);這兩個函數(shù)都包含了對應(yīng)的串行設(shè)備的句柄和COMMTIMEOUTS結(jié)構(gòu)的指針,COMMTIMEOUTS結(jié)構(gòu)定義為:typedef struct _COMMTIMEOUTSDWORD ReadIntervalTimeout;DWORD ReadTotalTimeoutMultiplier;DWORD ReadTotalTimeoutConstant;DWROD WriteTotalTimeoutMultiplier;DWORD WriteTotalTimeoutConstant;COMMTIMEOUTS;第五章 系統(tǒng)測試5.1測試環(huán)境PC操作系統(tǒng):Microsoft Windows XP Profesional SP2軟件開發(fā)及測試平臺: Visual Studio 2005 + XSBase270+ ActiveSync4.5 嵌入式硬件平臺:XSBase270平臺嵌入式操作系統(tǒng)平臺:Microsoft Windows CE 5.05.2測試步驟(1)系統(tǒng)與PC的鏈接測試打開電源按鈕,啟動Windows CE。打開Windows CE的控制面板,如圖6-1所示。新建基于“COM2”端口的網(wǎng)絡(luò)連接“我的連接”。該連接采用115200的波特率,數(shù)據(jù)位8位,停止位1位,無數(shù)據(jù)流控制,如圖6-2所示。并且在控制面板中的PC連接設(shè)置為“我的連接”,如圖6-3所示。圖6-1 Windows CE 控制面板圖6-2 “我的連接”的屬性圖6-3 修改默認(rèn)的PC連接將USB線插入位于XSBase270的擴(kuò)展板上的USB_SLAVE口,另一端連接到PC機(jī)上的USB口。稍后,PC上的ActiveSync文件同步軟件即可自動識別到XSBase270移動設(shè)備。在PC端,建立好PC跟XSBase270移動設(shè)備的合作關(guān)系。ActiveSync軟件上將顯示已同步字樣。如圖6-4所示。圖6-4建立文件同步合作關(guān)系后的程序界面(2)驗(yàn)證家電控制板的可用性使用標(biāo)準(zhǔn)串口線連接家電控制板與PC機(jī)。使用“串口調(diào)試助手”軟件進(jìn)行對串口的讀寫操作。往家電控制板輸入形如“0001”的字符串,觀察是否能啟動對應(yīng)的LED。同樣的,按對應(yīng)的“傳感器”按鈕,觀察PC機(jī)是否能收到正確的字符串。經(jīng)過測試,家電控制板能夠正常運(yùn)行。第六章 總結(jié)經(jīng)過畢業(yè)設(shè)計(jì),我了解到了嵌入式開發(fā)的基本流程,通過編寫眾多的程序,強(qiáng)化了自己的編程能力,加深了對計(jì)算機(jī)語言理論的理解。因?yàn)闀r間不足和精力不夠的原因,智能家居系統(tǒng)的功能設(shè)計(jì)還不夠完善,在未來時間充裕、技術(shù)更成熟的情況下,功能設(shè)計(jì)可以更加完善,如:(1)家電控制板與ARM的協(xié)同合作。(2)系統(tǒng)控制功能方面還需擴(kuò)展,如GSM模塊,GPRS網(wǎng)絡(luò)通信等。(3)系統(tǒng)的運(yùn)行信息實(shí)時保存。如傳感器報(bào)警的記錄,用戶的登陸和控制的記錄等。參考文獻(xiàn):1.資料光盤.XSBase270說明書.2.傅曦,齊宇.嵌入式系統(tǒng)Windows CE開發(fā)技巧和實(shí)踐.北京.化學(xué)工業(yè)出版社.2004年.3.百度百科. 4.鮑小南.單片微型計(jì)算機(jī)原理及應(yīng)用.浙江大學(xué)出版社.2007年.5.張冬全,譚南林,王雪海,焦鳳川.Windows CE實(shí)用開發(fā)技術(shù).北京.電子工業(yè)出版社.2006年.6.深圳市億道電子技術(shù)有限公司.2008年全國暑假嵌入式師資培訓(xùn)班Windowss Ce實(shí)驗(yàn)文檔.7.百度百科.致謝感謝,他們嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣;他們循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪。感謝陳沉老師,這篇論文的每個實(shí)驗(yàn)細(xì)節(jié)和每個數(shù)據(jù),都離不開你的細(xì)心指導(dǎo)。而你開朗的個性和寬容的態(tài)度,幫助我能夠很快的融入我們這個新的實(shí)驗(yàn)室。感謝我的室友們,從遙遠(yuǎn)的家來到這個陌生的城市里,是你們和我共同維系著彼此之間兄弟般的感情,維系著寢室那份家的融洽。三年了,仿佛就在昨天。三年里,我們沒有紅過臉,沒有吵過嘴,沒有發(fā)生上大學(xué)前所擔(dān)心的任何不開心的事情。只是今后大家就難得再聚在一起吃頓飯了吧,沒關(guān)系,各奔前程,大家珍重。愿大家開開心心,我們在一起的日子,我會記一輩子的。 感謝我的爸爸媽媽,言樹之背,養(yǎng)育之恩,無以回報(bào),你們永遠(yuǎn)健康快樂是我最大的心愿。 在論文即將完成之際,我的心情無法平靜,從開始進(jìn)入課題到論文的順利完成,有多少可敬的老師、學(xué)長、同學(xué)、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!