主頁(http://www.130131.com):基于NIOSⅡ處理器的智能家居控制系統(tǒng)設(shè)計(jì)(2)
在系統(tǒng)中主要設(shè)計(jì)了4個(gè)自定義任務(wù),分別為:
(1)系統(tǒng)初始化管理任務(wù):用來初始化操作系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和創(chuàng)建其他任務(wù)。該任務(wù)在初始化完成后自動(dòng)刪除。
(2)網(wǎng)絡(luò)DHCP服務(wù)管理任務(wù):主要用來檢查DHCP服務(wù)是否成功,即系統(tǒng)是否成功分配到IP。該任務(wù)在完成后也自動(dòng)刪除。任務(wù)流程圖如圖2所示:

(3)遠(yuǎn)程控制管理任務(wù):主要用來在服務(wù)器和客戶端之間建立Socket連接,在服務(wù)器端接收從客戶端發(fā)送來的控制命令,并判斷這些命令來進(jìn)行相應(yīng)操作。任務(wù)流程圖如圖3所示:

(4)服務(wù)器端中斷管理任務(wù):主要在服務(wù)器端處理用戶產(chǎn)生的各種中斷,然后向客戶端發(fā)送相應(yīng)命令執(zhí)行對(duì)應(yīng)操作。任務(wù)流程圖如圖4所示。

5 遠(yuǎn)程終端的桌面軟件設(shè)計(jì)
在系統(tǒng)的硬件和軟件設(shè)計(jì)都完成后,為了進(jìn)一步完善系統(tǒng)功能,以及提高使用的方便性,需要在客戶端編寫一個(gè)專用的界面軟件,代替客戶端命令行的操作,遠(yuǎn)程用戶界面是利用Visual Basic 6.0來完成開發(fā)。Windows操作系統(tǒng)為Internet提供Windows Sockets(或Winsock)等標(biāo)準(zhǔn)接口,而VB則利用ActiveX控件Winsock為Internet提供標(biāo)準(zhǔn)接口,所以使用VB的Winsock控件來完成本軟件開發(fā)非常方便。
設(shè)計(jì)的軟件界面如圖5所示:
從軟件界面可以看到,在系統(tǒng)使用中通過“啟動(dòng)連接”按鈕建立本地計(jì)算機(jī)和智能家居控制系統(tǒng)間的網(wǎng)絡(luò)連接。在“信息接收”對(duì)話框中可以接收并顯示從智能家居控制系統(tǒng)端發(fā)送過來的消息,在“命令發(fā)送”欄中可以選擇不同的服務(wù)通過智能家居控制系統(tǒng)響應(yīng)對(duì)應(yīng)的操作。
6 系統(tǒng)性能分析和功能驗(yàn)證
利用QuartusⅡ軟件對(duì)設(shè)計(jì)的系統(tǒng)進(jìn)行綜合分析后可以知道,采用CycloneⅡEP2C35F672C6型號(hào)的FPGA設(shè)計(jì)的系統(tǒng)占用整個(gè)FPGA的資源是比較少的,使用3 658個(gè)邏輯單元,占總資源的11%,使用了52 224 b存儲(chǔ)單元,占總存儲(chǔ)量的10%,顯示了FPGA的強(qiáng)大功能,利用剩余的資源可以進(jìn)行后續(xù)高級(jí)功能的擴(kuò)展。
在系統(tǒng)功能驗(yàn)證中,設(shè)計(jì)2組外圍電路來驗(yàn)證系統(tǒng)的功能。設(shè)計(jì)外部發(fā)光二極管LED電路驗(yàn)證“開燈1”按鈕功能,模擬系統(tǒng)對(duì)燈具的控制作用;設(shè)計(jì)外部紅外信號(hào)發(fā)射與接收電路來(包括1對(duì)紅外發(fā)光二極管和紅外接收二極管電路)驗(yàn)證“開家電1”按鈕功能,模擬系統(tǒng)對(duì)紅外家電的控制作用。在實(shí)際測試中,電路工作良好,利用FPGA引腳輸出3.3 V電壓作為外部電路的電源。當(dāng)通過本地的桌面軟件建立本地計(jì)算機(jī)和智能家居控制系統(tǒng)間的網(wǎng)絡(luò)連接后,可以利用軟件上的操作按鈕方便地遠(yuǎn)程控制LED電路和紅外發(fā)射接收電路,同時(shí)可以利用智能家居控制系統(tǒng)的輸入按鈕向客戶端發(fā)送消息,并顯示在客戶端軟件上,實(shí)現(xiàn)兩端的相互通訊。
7 結(jié) 語
本文提出一種基于NIOSⅡ處理器的智能家居控制系統(tǒng)設(shè)計(jì)方法,在FPGA上搭建系統(tǒng)硬件架構(gòu),并擴(kuò)展外部的系統(tǒng)電路和測試電路,利用LwIP組件和μC/OS-Ⅱ操作系統(tǒng)實(shí)現(xiàn)系統(tǒng)對(duì)網(wǎng)絡(luò)數(shù)據(jù)的控制處理,最后通過自行設(shè)計(jì)的桌面軟件,成功地實(shí)現(xiàn)對(duì)系統(tǒng)外部電路的遠(yuǎn)程控制以及服務(wù)器和客戶端間的消息通訊。系統(tǒng)用SoPC技術(shù)實(shí)現(xiàn)將微處理器、外部存儲(chǔ)器控制接口、網(wǎng)絡(luò)芯片控制接口、按鈕和LCD等輸入輸出接口集成在一顆芯片上的設(shè)計(jì)思想。SoPC Builder在硬件和軟件上均為設(shè)計(jì)者提供較好的支持,NIOSⅡ IDE集成開發(fā)環(huán)境提供集成的網(wǎng)絡(luò)協(xié)議棧和操作系統(tǒng)移植,使得軟件開發(fā)更加便利。
(中國集群通信網(wǎng) | 責(zé)任編輯:陳曉亮) |