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

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]嵌入式智能家居控制系統(tǒng)的研究與設計

系統(tǒng)結構設計
本文將控制系統(tǒng)分為現(xiàn)場控制級(主機)和多個控制對象級(分機)?,F(xiàn)場控制級設備能夠收集到控制對象的各種信息,對這些數(shù)據(jù)進行處理,并能夠在設定的條件下產(chǎn)生報警。通過該系統(tǒng),可以得到家居的各種運行狀態(tài)(例如,房間溫度、濕度,煤氣泄漏報警等),并能根據(jù)現(xiàn)場情況做出相應的調(diào)整控制(例如,照明及家電控制等)。其家居控制系統(tǒng)結構如圖1所示。

圖1 家居控制系統(tǒng)結構圖


本文僅研究設計智能家居的現(xiàn)場控制部分,圖1中的GSM和GPRS等遠程通信模塊作為以后系統(tǒng)的擴展升級。主機MCU選用ARM9芯片S3C2410,因其具有豐富的功能端口而適合設計要求和日后擴展。S3C2410嵌入式微處理器集成了眾多的常用資源,例如,LCD控制器、NAND Flash控制器、SDRAM控制器、系統(tǒng)片選邏輯以及一些常用的通信接口等資源。


分機采用16位單片機MSP430F149,主要考慮此芯片的低功耗性能,具有超低功耗的MSP單片機可以完成分機家居現(xiàn)場的控制功能。報警信息的采集就是對各傳感器的信息采集;對各種家電的控制是通過控制連接在家電電源的繼電器來實現(xiàn);現(xiàn)場控制手動命令是通過觸摸屏來實現(xiàn)的。各分機通過nRF905收發(fā)模塊與主機進行無線通信。各分機通過連接不同的傳感器或控制器來實現(xiàn)不同的功能。

系統(tǒng)軟件開發(fā)
在Windows CE.net產(chǎn)品的開發(fā)中,有兩個重要的方面,一個是內(nèi)核定制,另一個是應用程序的開發(fā)。微軟在這兩個方面都提供了非常好的開發(fā)工具,這就是內(nèi)核定制工具Platform Builder和應用程序開發(fā)工具Embedded Visual C++。


1 操作系統(tǒng)平臺定制
Windows CE平臺的定制過程


(1)選擇操作系統(tǒng)的基本配置,并且為特定的平臺選擇相應的微處理器和板級支持包BSP(Board Support Packet)。本系統(tǒng)終端采用S3C2410處理器,因此我們導入了和硬件平臺相關的smdk2410.cec文件。


(2)利用標準開發(fā)向?qū)В鶕?jù)Windows CE的架構創(chuàng)建一個定制平臺,根據(jù)目標硬件設備開發(fā)Boot Loader、設備驅(qū)動程序,適當?shù)牟脺p、添加組件,如有需要還須對某些配置文件進行修改,然后封裝所需要的各功能模塊,編譯生成OS鏡像文件。


(3)通過以太網(wǎng)、USB或串口將鏡像文件下載到目標設備,可以使用Platform Builder提供的調(diào)試工具查看Windows CE.net的運行情況并進行調(diào)試,若需要,進行重復配置、封裝、下載及調(diào)試,直到滿足要求,完成平臺的創(chuàng)建。


(4)最后,導出相應的SDK(Software Development Kit)軟件開發(fā)工具包,運行后安裝到EVC中,使得可以進行特定硬件平臺上的應用程序開發(fā)。SDK包含程序庫、頭文件、示例程序源代碼和庫函數(shù)使用文檔,同時還包括編程指導和API參與以及設備驅(qū)動工具包(DDK)。


安裝BSP
把Windows CE.net移植到新硬件平臺由平臺構造器(Platform Builder)完成。Platform Builder 4.2是一個定制基于Windows CE.net 4.2操作系統(tǒng)的嵌入式平臺的集成開發(fā)環(huán)境(IDE)。我們?yōu)橐粋€硬件平臺構建CE系統(tǒng),在PB里實際上就是創(chuàng)建平臺,然后編譯平臺,得到CE映像文件的過程。所以我們首先需要創(chuàng)建一個平臺。板級支持包(BSP)是連接一個硬件平臺和操作系統(tǒng)內(nèi)核功能的橋梁,所以,首先PB會要求選擇BSP。


Platform Builder本身就提供了多種目標板的BSP,如果開發(fā)板和Platform Builder提供得相同,那么只需重新編譯,生成相應的系統(tǒng)鏡像下載到開發(fā)板即可。但是實際情況更多的可能是處理器相同,但是板上的各種外圍硬件接口不盡相同,這時候可以通過修改Platform Builder中相同或相近處理器的BSP來完成一個新的BSP,這樣可以大大減少BSP的研發(fā)時間。這里我們利用廠商直接提供的BSP,節(jié)省了開發(fā)時間,也可以提高成功率。

圖2 生成系統(tǒng)鏡像


[!--empirenews.page--]定制Windows CE操作系統(tǒng)鏡像


PB定制基于本平臺的操作系統(tǒng)鏡像的步驟如下。


(1)選擇板級支持包:本系統(tǒng)開發(fā)板CPU是S3C2410,所以選“SAMSUNGSMDK2410:ARMV4”BSP。


(2)選擇平臺類型。本文選擇了手持設備。在“Available configurations”列表中,選擇“Mobile Handheld”,并輸入“Platform name:sbc2410”。


(3)選擇基本類庫及所需要的網(wǎng)絡通信服務,平臺配置完畢。


(4)右鍵單擊“SBC2410 features”選項的“Setting…”。在對話框Build Option屬性頁中,選擇[Enable Full Kernel Mode],Windows CE中所有線程都會運行在核心態(tài)。這會使整個系統(tǒng)相對不穩(wěn)定,但是也可提高系統(tǒng)的運行效率。選擇[Enable Images Larger than 32MB],Windows CE的最終運行時映像可大于32MB。


(5)利用Platform Builder進行Windows CE.net操作系統(tǒng)的定制和開發(fā)一個重要的步驟就是在Platform Builder提供的特性目錄(Catalog)中進行特性選擇。這是因為Platform Builder中已經(jīng)將Windows CE.net操作系統(tǒng)用到的大量的組件以特性(Feature)的形式列在特性目錄中。加入USB鍵盤鼠標支持特性,加入USB移動存儲設備(U盤、移動硬盤)支持,加入打印機設備相關的驅(qū)動(如果不加入打印機設備相關的驅(qū)動,在編譯應用程序時會出現(xiàn)“syntax error:identifier ‘LPDOCINFO’”錯誤),加入網(wǎng)絡設備驅(qū)動。


(6)更改適合自己網(wǎng)絡環(huán)境的IP地址、DNS、網(wǎng)關地址等網(wǎng)絡參數(shù),通過編輯platform.reg平臺注冊表文件中相關的鍵值,來修改網(wǎng)絡參數(shù)。我的PC的IP:202.114.57.102,所以目標機的IP設定為202.114.57.10,在同一網(wǎng)段內(nèi)。


(7)單擊菜單Build→Build Platform開始編譯系統(tǒng)。編譯完畢,將會在C:WINCE420PUBLICsbc2410RelDirSAMSUNG_SMDK2410ARMV4Release目錄下生成NK.bin和NK.nb0映像文件。編譯開始大約10分鐘后看到編譯信息:SBC2410-0 error(s),30 warning(s)。有警告是正常的,因為某些組件是有風險的,例如,一些網(wǎng)絡組件,所以只要沒有錯誤,說明定制沒有問題。


此時,我們用USB電纜連接主機和目標機(開發(fā)板),在PC端已安裝了SAMSUNG提供的USB驅(qū)動的前提下,使用2410提供的專用下載工具DNW把生成的NK.bin和NK.nb0下載到開發(fā)板中,這樣根據(jù)我們的目標機系統(tǒng)定制的Windows CE就可以在開發(fā)平臺上正常運行了。
創(chuàng)建平臺SDK


完成了平臺的定制后,接著可以利用Platform Builder來創(chuàng)建SDK,SDK為平臺上其他應用程序的開發(fā)提供支持。SDK(Software Development Kit)是一系列頭文件、庫文件、文檔、平臺管理器和運行時庫的總稱。一旦創(chuàng)建了SDK,就可以將它導出或者安裝到別的計算機上,開發(fā)者可以將創(chuàng)建的SDK導入Embedded Visual C++或 Visual Studio中,進行應用程序的開發(fā)、調(diào)試和運行。


在Embedded Visual C++中,提供了Platform Manager來管理已經(jīng)安裝的SDK。注意,在安裝開發(fā)工具時,默認會安裝一個稱作“Standard SDK”的SDK。由于Windows CE操作系統(tǒng)特性,不可能存在“標準”的SDK。所謂Standard SDK,只不過是微軟把Windows CE中最常用的一些功能取出來作為一個“標準”的SDK,使用Standard SDK開發(fā)的應用程序,可在大多數(shù)Windows CE平臺上運行。但是Standard SDK也并不是萬能的,例如,Standard SDK不支持中文和DirectX等。Platform Builder提供了SDK Wizard向?qū)В瑏韯?chuàng)建和生成SDK,最后Build過程完成后即可生成名為SBC2410_SDK.msi的SDK文件。此時在生成目錄中找到SBC2410_SDK.msi,雙擊安裝,就可以將生成的SDK安裝到EVC中進行應用程序的開發(fā)了。


2 應用軟件開發(fā)
目前,針對Windows CE應用開發(fā)的軟件有很多種,在使用的時候根據(jù)具體情況選擇適合應用的軟件開發(fā)工具。Embedded Visual C++支持WinCE App/DLL/COM/Lib using Win32 API,MFC,ATL and STL等功能,它與Visual C++6.0具有相似的工程管理模式和用戶界面,易于調(diào)試和測試。但是必須安裝相應的為特定平臺開發(fā)的SDK,本文就是自己導出的SDK。


智能家居系統(tǒng)的主機應用程序通過兩個對話框?qū)崿F(xiàn)分機設備的基本讀/寫過程:Measure對話框主要實現(xiàn)對輸入量信息的采集及對系統(tǒng)運行狀態(tài)的監(jiān)視,Control對話框主要用于主機發(fā)送控制信息給分機系統(tǒng)。這兩個對話框通過主窗體調(diào)用完成對整個家居系統(tǒng)的測量與控制。主機應用程序流程圖如圖3所示。智能家居系統(tǒng)應用程序以1路模擬量輸入、3路數(shù)字量輸入及相應的4路輸出控制量為例實現(xiàn)智能控制功能。

圖3 主機應用程序流程圖

圖4 運行界面


EVC的開發(fā)環(huán)境與Visual C++基本一致。首先,選擇項目類型、項目存放路徑、項目名稱及平臺類型;然后選擇項目的樣式和支持的語言;接下來,確定一些其他的選項;選擇完畢后,就可以得到一個程序的框架。項目類型我們選擇WCE MFC APPWizard,項目名稱為SmartHome,在支持的CPU類型中我們選中了ARM和X86(應該根據(jù)開發(fā)環(huán)境來選擇)。對于我們來說,首先要在PC上進行調(diào)試,然后編譯成適合使用的應用程序,目標機是ARM CPU,所以我們需要WCE X86和WCE ARM。(如果你要開發(fā)商用軟件或者想讓更多的人使用你的程序,應該考慮更多種類的CPU)編譯運行,成功啟動Microsoft ActiveSync同步軟件,這時可將在PC上生成的exe文件復制到移動設備下My Documents文件夾下。智能家居系統(tǒng)應用程序以1路模擬量、3路數(shù)字量輸入及相應的4路輸出控制量為例實現(xiàn)智能控制功能,如圖4所示。

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

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

關鍵字: 驅(qū)動電源

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

關鍵字: 工業(yè)電機 驅(qū)動電源

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

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

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

關鍵字: LED 設計 驅(qū)動電源

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

關鍵字: 電動汽車 新能源 驅(qū)動電源

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

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

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

關鍵字: LED 驅(qū)動電源 功率因數(shù)校正

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

關鍵字: LED照明技術 電磁干擾 驅(qū)動電源

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

關鍵字: LED 驅(qū)動電源 開關電源

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

關鍵字: LED 隧道燈 驅(qū)動電源
關閉