基于MIPS32設(shè)計(jì)的智能電網(wǎng)家庭用電監(jiān)控系統(tǒng)
一.研究背景與意義
隨著智能電網(wǎng)理念的提出,基于家庭智能交互終端的電能計(jì)量和營(yíng)銷(xiāo)方案已逐步形成,這意味著家居控制將邁向智能化。智能家居是近幾年產(chǎn)生并迅速崛起的一種新型家居住宅,家居的智能化為住戶提供了一種更加安全、舒適、方便、快捷和開(kāi)放的智能化、信息化的生活空間,極大的方便了用戶。因此,組建一套以家庭交互終端為核心的家居控制系統(tǒng),對(duì)智能電網(wǎng)的改造和實(shí)施有重大的意義。
但目前的家居智能化系統(tǒng)存在一個(gè)很大的局限,即只是實(shí)現(xiàn)了局部的智能化。而真正意義上的家居智能化則應(yīng)該是擁有一個(gè)集中的終端控制系統(tǒng),通過(guò)該終端對(duì)家居的所有設(shè)備進(jìn)行智能化的控制和監(jiān)控,這也將是智能家居系統(tǒng)未來(lái)的發(fā)展方向。
本設(shè)計(jì)以MIPS公司的32位處理器為核心來(lái)組建智能顯示終端,并以具備無(wú)線通訊的智能插座為被控節(jié)點(diǎn),搭建了一套簡(jiǎn)易的智能家居控制系統(tǒng)。該系統(tǒng)可通過(guò)遠(yuǎn)程(手機(jī)短信),和本地(智能顯示終端)兩種方式進(jìn)行控制。下面將對(duì)本系統(tǒng)的構(gòu)成和實(shí)現(xiàn)方案,以及各模塊中涉及的關(guān)鍵問(wèn)題進(jìn)行分析。
二.系統(tǒng)的構(gòu)成與工作原理
1 系統(tǒng)構(gòu)成與原理
本系統(tǒng)由手機(jī),智能顯示終端,智能插座構(gòu)成。手機(jī)與智能顯示終端之間通過(guò)GSM模塊進(jìn)行通訊,智能顯示終端和智能插座之間采用Zigbee進(jìn)行通訊。
智能插座作為基本的控制單元,能夠?qū)崟r(shí)采集每個(gè)房間的用電信息,并將信息實(shí)時(shí)傳送到智能顯示終端。當(dāng)發(fā)現(xiàn)用電異常時(shí),智能插座自動(dòng)斷電并將執(zhí)行結(jié)果發(fā)送到智能顯示終端。智能顯示終端也將這一結(jié)果發(fā)送到用戶手機(jī)。
手機(jī)實(shí)現(xiàn)用戶的遠(yuǎn)程控制和信息接收。用戶外出時(shí),通過(guò)手機(jī)發(fā)送的指令(如預(yù)啟動(dòng),預(yù)關(guān)閉,限時(shí)供電等)將被智能終端接收并下發(fā)到智能插座。另外,智能插座的所有執(zhí)行動(dòng)作都將通過(guò)智能顯示終端發(fā)送到手機(jī)。
智能顯示終端既能夠接收手機(jī)發(fā)送的指令,也能夠接收智能插座發(fā)送的數(shù)據(jù)。智能顯示終端接受智能插座上傳的數(shù)據(jù)后,數(shù)據(jù)將被存儲(chǔ)下來(lái)。當(dāng)用戶啟動(dòng)查詢功能時(shí),智能顯示終端將調(diào)用這些數(shù)據(jù),并進(jìn)行分析計(jì)算,將各種類(lèi)型的用電信息顯示出來(lái)。
2 功能簡(jiǎn)介
1 實(shí)時(shí)用電監(jiān)控
2 用電器的預(yù)啟動(dòng)和預(yù)關(guān)閉
3 限時(shí)供電
4 限功率供電
5 溫度監(jiān)控
6 故障報(bào)警
7 短信遠(yuǎn)程操控
8 本地觸摸屏操控
9 各種類(lèi)型的查詢功能。包括月用電,日用電,時(shí)段用電,任意時(shí)段累計(jì)用電,以及任一單個(gè)用電器的用電情況。
10 人性化的觸摸屏操作和語(yǔ)音輸出
三.項(xiàng)目技術(shù)方案
1 系統(tǒng)構(gòu)成
本系統(tǒng)設(shè)備主要由三部分組成:手機(jī),智能顯示終端,智能插座。如圖1.1所示。
圖1.1 系統(tǒng)示意圖
1.1 系統(tǒng)結(jié)構(gòu)
本系統(tǒng)設(shè)備主要由三部分組成:手機(jī),智能顯示終端,智能插座。
根據(jù)戶主的是否在家,設(shè)計(jì)了兩種方式進(jìn)行控制。
1 手機(jī)短信。這種方式主要針對(duì)戶主出差在外的情況而設(shè)計(jì),便于遠(yuǎn)程操控。手機(jī)可向智能顯示終端下發(fā)命令,智能顯示終端接收到命令后,對(duì)命令進(jìn)行解碼并向各個(gè)智能插座下發(fā)命令。智能插座接收到控制命令后,執(zhí)行對(duì)應(yīng)操作,并將執(zhí)行結(jié)果反饋至智能顯示終端,智能顯示終端再將接收到的信息發(fā)送給手機(jī)。
2 本地觸摸屏。這種方式針對(duì)戶主居家的情況而設(shè)計(jì)。戶主可直接在觸摸屏上完成相應(yīng)操作,根據(jù)界面提示,進(jìn)行操控。
其中智能顯示終端和手機(jī)通過(guò)GSM模塊進(jìn)行通訊,智能顯示終端和智能插座之間通過(guò)Zigbee進(jìn)行數(shù)據(jù)通訊。
系統(tǒng)框圖如圖1.2所示:
圖1.2 系統(tǒng)總體框圖
1.2 功能描述
1通過(guò)該系統(tǒng)可以實(shí)現(xiàn)對(duì)家電的實(shí)時(shí)監(jiān)控,定時(shí)啟動(dòng),限功率供電等重要功能,輕松對(duì)各個(gè)房間的用電設(shè)備進(jìn)行管理。
2 通過(guò)智能插座和在智能顯示終端的無(wú)線通信,用戶可以查看家中每個(gè)用電設(shè)備的詳細(xì)用電信息。用戶可以對(duì)每個(gè)設(shè)備的每月,每天,甚至某個(gè)時(shí)段的用電量進(jìn)行查詢。
3本地遠(yuǎn)程操作。即便是出差在外也能對(duì)家中的用電情況了如指掌。各部分實(shí)現(xiàn)的功能如圖1.3所示:
圖1.3 系統(tǒng)功能框圖
2 關(guān)鍵模塊分析
本設(shè)計(jì)擬采用Digilent Cerebot™ 32MX4開(kāi)發(fā)板的32位控制芯片。Cerebot 32MX4的主要特點(diǎn)是具有一個(gè)全新Microchip® PIC32™微控制器。PIC32可提供工作頻率80MHz的32位MIPS處理器內(nèi)核、512KB的編程FLASH、32KB的RAM內(nèi)存以及眾多的外圍設(shè)備,包括USB控制器、定時(shí)器/計(jì)數(shù)器、串口控制器、A/D轉(zhuǎn)換器以及更多的設(shè)備。
該板具有大量的I/O接口可以滿足本系統(tǒng)的需求,另外USB電源,以及與Microchip MPLAB開(kāi)發(fā)軟件相兼容的內(nèi)置編程使得調(diào)試電路非常方便。
本系統(tǒng)中RTCC和AD電路采用單片機(jī)內(nèi)置的模塊,無(wú)需單獨(dú)設(shè)計(jì),下面就其他模塊的軟硬件設(shè)計(jì)進(jìn)行分析。
2.1 GSM模塊分析
2.1.1 硬件設(shè)計(jì)
GSM的短信息業(yè)務(wù)SMS利用信令信道傳輸,提供了一種有保證的雙向服務(wù),這是GSM通信網(wǎng)所特有的。它不用撥號(hào)建立連接,把要發(fā)的信息加上目的地址發(fā)送到短消息服務(wù)中心,經(jīng)服務(wù)中心完成存儲(chǔ)后再發(fā)送給最終的信宿。所以即使當(dāng)目的GSM終端沒(méi)開(kāi)機(jī)時(shí)信息也不會(huì)丟失。發(fā)送方發(fā)出一條短消息后,得到一條傳遞成功或失敗的消息,以及不可到達(dá)的原因。每個(gè)短消息的信息量限制為140字節(jié)。
目前GSM芯片和GSM收發(fā)模塊的技術(shù)已經(jīng)比較成熟,市場(chǎng)上也已經(jīng)有現(xiàn)成的模塊可供選用。這些芯片和模塊一般都具備GSM無(wú)線通信的全部功能,提供標(biāo)準(zhǔn)的RS一232接口,支持GSM07.05所定義的AT命令集的指令,很容易實(shí)現(xiàn)系統(tǒng)的集成,二次開(kāi)發(fā)也比較方便,本設(shè)計(jì)選擇了一款性價(jià)比較高的西門(mén)子MC39i無(wú)線收發(fā)模塊。
MC39i是西門(mén)子的新一代雙頻GSM/GPRS無(wú)線模塊,是目前使用廣泛的MC39i模塊的環(huán)保型升級(jí)換代產(chǎn)品。它采用緊湊型設(shè)計(jì),為用戶提供了簡(jiǎn)單、內(nèi)嵌式的無(wú)線連接。MC39i有豐富的AT命令,功能強(qiáng)大,操作靈活方便,是傳統(tǒng)調(diào)制解調(diào)器與GSM無(wú)線移動(dòng)通信系統(tǒng)相結(jié)合的一種數(shù)據(jù)終端設(shè)備。該模塊集射頻電路和基帶于一體,向用戶提供標(biāo)準(zhǔn)的AT命令接口,為傳輸數(shù)據(jù)、語(yǔ)音、短消息、和傳真提供快速、可靠、安全的傳輸,方便用戶的應(yīng)用開(kāi)發(fā)及設(shè)計(jì)。
主要性能:
n 支持EGSM900/GSM1800雙頻;
n 適用于GSM2/2+;
n 輸出功率:功率級(jí)4(2W),EGSM900;功率級(jí)1(IW),GSM1800;
n 數(shù)據(jù)傳輸GPRS模式;
n 最大下行傳輸速率85.6kbps;
n 最大上行傳輸速率42.8kbps;
n 標(biāo)準(zhǔn)RS232雙向接口;
n AT命令控制;
n 電源電壓為單一電壓3.3~4.8V;
n 電流消耗:3.0 mA(睡眠)、10.0 mA(閑置)
MC39i模塊內(nèi)部框圖如圖2.1所示,從功能上看主要由四部分組成:GSM基帶處理器、GSM射頻部分、電源、存儲(chǔ)器。GSM基帶處理器是整個(gè)模塊的核心,它由一個(gè)C166CPU和一個(gè)DSP處理器內(nèi)核控制著模塊內(nèi)各種信號(hào)的傳輸、轉(zhuǎn)換、放大等處理過(guò)程。GSM射頻部分是一個(gè)單片收發(fā)器,它由一個(gè)外差式接收器、上變頻調(diào)制環(huán)路發(fā)送器、一個(gè)射頻鎖相環(huán)路和一個(gè)全集成中頻合成器4個(gè)功能塊組成,共同完成對(duì)射頻信號(hào)的接收和發(fā)送等處理。
圖2.1 Mc39i結(jié)構(gòu)框圖
該模塊主要硬件設(shè)計(jì)包括下面兩部分。
1 用戶識(shí)別卡(SIM卡)。
Mc39i的基帶處理器集成了一個(gè)與ISO 7816-3 IC Card標(biāo)準(zhǔn)兼容的SIM接口。為了適合外部的SIM接口,該接口通過(guò)ZIF連接器連接到Mc39i的第24~29引腳。Mc39i在ZIF連接器上為SIM卡接口預(yù)留了6個(gè)引腳,所添加的CCIN引腳用來(lái)檢測(cè)SIM卡支架中是否插有SIM卡。當(dāng)插入SIM卡,該引腳置為高電平,系統(tǒng)方可進(jìn)入正常工作狀態(tài)。
2 SYNC信號(hào)及電路設(shè)計(jì)。
在本電路設(shè)計(jì)中利用SYNC信號(hào)來(lái)控制一個(gè)狀態(tài)燈以檢測(cè)MC39i模塊當(dāng)前處于何種狀態(tài)。由于MC39i模塊SYNC引腳輸出的驅(qū)動(dòng)能力不夠,所以設(shè)計(jì)采用一個(gè)三極管對(duì)輸入電流進(jìn)行放大以提高驅(qū)動(dòng)能力。
部分硬件設(shè)計(jì)圖如下:
圖2.2 SYNC信號(hào)原理圖
圖2.3 SIM卡接口
圖2.4 GSM部分硬件框圖
2.1.2 軟件設(shè)計(jì)
SMS短消息采用AT命令的PDU ModePDU模式是發(fā)送或接收手機(jī)SMS信息的一種方法,PDU串表面上是一串ASCII碼,由‘0’~‘9’、‘A’~‘F’這些數(shù)字和字母組成。它們是8位字節(jié)的十六進(jìn)制數(shù),或者BCD碼十進(jìn)制數(shù)。PDU串不僅包含可顯示的消息本身,還包含很多其它信息,如SMS服務(wù)中心號(hào)碼、目標(biāo)號(hào)碼、回復(fù)號(hào)碼、編碼方式和服務(wù)時(shí)間等。短信息正文經(jīng)過(guò)十六進(jìn)制編碼后被傳送出去。
PDU相當(dāng)于一個(gè)數(shù)據(jù)包,它由構(gòu)成消息(SMS)的信息組成。作為一種數(shù)據(jù)單一元,它必須包含源/目的地址、保護(hù)(有效)時(shí)間、數(shù)據(jù)格式、協(xié)議類(lèi)型和正文,正文長(zhǎng)度可達(dá)140字節(jié),它們都以十六進(jìn)制表示。PDU結(jié)構(gòu)根據(jù)短消息由移動(dòng)終端發(fā)起或以移動(dòng)終端為目的而不同。
1 移動(dòng)終端發(fā)起時(shí),PDU的格式為:
SMSC PDU類(lèi)型脈DA PID DCS VP UDL UD(0~1400cted)
2 移動(dòng)終端為目的時(shí),PDU的格式為:
SMSC PDU類(lèi)型OA PID DCS SCTS UDL LID(0~400cted)
其中,SMSC為短消息業(yè)務(wù)中心地址,DA/OA為源/目的地址,PID為協(xié)議識(shí)別,DCS為數(shù)據(jù)編碼,UDL為用戶數(shù)據(jù)長(zhǎng)度,UD為用戶數(shù)據(jù),VP為有效時(shí)間,LID指明是發(fā)出信息,SCTS指明短消息到達(dá)業(yè)務(wù)中心的時(shí)間。
本系統(tǒng)中發(fā)送的短消息包含中文漢字和數(shù)字,所以選擇PDU串的用戶信息編碼方式TP-DCS是08,表示UCS2編碼方式,UCS2編碼是將每個(gè)字符(1-2個(gè)字節(jié))按照ISO/IECl0646的規(guī)定,轉(zhuǎn)變?yōu)?6位的Unicode寬字符。但在GSM標(biāo)準(zhǔn)中,中文編碼采用UTF一8的編碼方式,不是目前國(guó)內(nèi)常用的GB一2312編碼,故還需要進(jìn)行中文編碼的轉(zhuǎn)換,才能與采用GB-2313漢字庫(kù)相配合顯示漢字字型。由于UTF-8和GB-2312編碼之間不存在一一對(duì)應(yīng)的線性關(guān)系,因此只能采用查表的方式進(jìn)行轉(zhuǎn)換。
在消息發(fā)送前,要將消息中ASCII字符及漢字統(tǒng)一編碼成UCS2碼,以PDU數(shù)據(jù)包的形式發(fā)送。接收到的數(shù)據(jù)是以7b的編碼形式存儲(chǔ)在Mc39i模塊或SIM卡內(nèi),在數(shù)據(jù)讀取時(shí)直接從Mc39i模塊中得到符合GSM規(guī)范的數(shù)據(jù),需經(jīng)過(guò)提取得到7b編碼的有用數(shù)據(jù)。然而,這些7b編碼數(shù)據(jù)是以ASCII字符的形式存在的,要轉(zhuǎn)換成8位的十六進(jìn)制形式的7b編碼,再解碼成可用的ASCII碼數(shù)據(jù),這樣得到GSM網(wǎng)絡(luò)發(fā)送來(lái)的原始數(shù)據(jù),如圖2.5所示。
圖2.5 SMS數(shù)據(jù)傳輸過(guò)程
MC39i開(kāi)機(jī)后首先選擇端口,然后檢查SIM是否插入,成功檢測(cè)到SIM卡后即可啟動(dòng)串口發(fā)送,并點(diǎn)亮狀態(tài)燈。接著設(shè)置短消息中心,并進(jìn)行連接測(cè)試,連接成功后發(fā)送開(kāi)機(jī)成功短信到主控器。如果以上步驟沒(méi)有執(zhí)行成功,則轉(zhuǎn)向出錯(cuò)處理。Mc39i模塊工作流程圖如圖2.6所示。
圖2.6 Mc39i工作流程圖
2.2 Zigbee通訊模塊分析
Zigbee是一種低速短距離無(wú)線通信技術(shù),是一種拓展性強(qiáng)、易布建的低成本無(wú)線網(wǎng)絡(luò),低耗電、雙向傳輸,適合用于自動(dòng)控制和遠(yuǎn)程控制領(lǐng)域,可以嵌入各種設(shè)備,如今已被廣泛應(yīng)用于家庭自動(dòng)化領(lǐng)域。
Zigbee技術(shù)有以下特點(diǎn):
n 省電。由于工作周期很短、收發(fā)信息功耗較低,并且采用了休眠模式。
n 時(shí)延短。設(shè)備搜索時(shí)延典型值為30 ms,休眠激活時(shí)延典型值15 ms,活動(dòng)設(shè)備信道接入時(shí)延為15 ms。
n 節(jié)點(diǎn)通信設(shè)置易于配置。
n 近距離。傳輸范圍一般介于10~100 m 之間。
n 網(wǎng)絡(luò)容量大。Zigbee可以采用星形、網(wǎng)狀、串狀結(jié)構(gòu)組網(wǎng),而且可以通過(guò)任一節(jié)點(diǎn)連接組成更大的網(wǎng)絡(luò)結(jié)構(gòu)。
n 安全。Zigbee提供了數(shù)據(jù)完整性檢查和鑒權(quán)功能,加密算法采用AES128,同時(shí)各個(gè)應(yīng)用可以靈活確定其安全屬性。
n 全球通用性和完好的開(kāi)放性。Zigbee標(biāo)準(zhǔn)協(xié)議,使Zigbee設(shè)備間的通信成為輕而易舉的事情。
本系統(tǒng)中智能插座和智能終端需要進(jìn)行無(wú)線通訊,雙向傳輸命令或數(shù)據(jù),進(jìn)而控制家電,而Zigbee這種低功耗,低成本的無(wú)線方式,符合家居系統(tǒng)節(jié)能理念。Zigbee的數(shù)據(jù)的傳輸量不大,而我們的指令數(shù)據(jù)也是簡(jiǎn)短的數(shù)據(jù)包,足以滿足需求。另外,Zigbee安全,開(kāi)放的協(xié)議方式使得在此基礎(chǔ)上進(jìn)行設(shè)備擴(kuò)充變得簡(jiǎn)單易行,這也為智能家居的多元化的發(fā)展奠定了基礎(chǔ)。
2.2.1 硬件設(shè)計(jì)
該系統(tǒng)由多個(gè)終端節(jié)點(diǎn)(智能插座)決定檢測(cè)區(qū)域的范圍,各終端節(jié)點(diǎn)監(jiān)測(cè)到的用電數(shù)據(jù)通過(guò)自組織的多跳路網(wǎng)絡(luò)傳送至智能顯示終端進(jìn)行處理。從短信平臺(tái)或觸摸屏發(fā)送的命令通過(guò)智能顯示終端的分析解碼,在由此廣播傳送至每個(gè)智能插座。
1、芯片選型
本方案采用CC2430為核心構(gòu)造數(shù)據(jù)采集節(jié)點(diǎn),只需要在CC2430芯片外接少量晶振、電容、電阻等無(wú)源器件,不僅能夠滿足整個(gè)系統(tǒng)的數(shù)據(jù)采集、無(wú)線通信等功能的需求,而且具有功耗低,電路簡(jiǎn)單,節(jié)點(diǎn)體積小以及成本低廉等優(yōu)勢(shì)。
2、組網(wǎng)結(jié)構(gòu)
Zigbee網(wǎng)絡(luò)支持星狀,樹(shù)狀和網(wǎng)狀三種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
星狀網(wǎng)絡(luò)由一個(gè)ZigBee協(xié)調(diào)器和多個(gè)終端設(shè)備組成,只存在ZigBee協(xié)調(diào)器與終端設(shè)備之問(wèn)的通訊,終端設(shè)備間不能直接通信,都需要通過(guò)ZigBee協(xié)調(diào)器的轉(zhuǎn)發(fā);樹(shù)狀網(wǎng)絡(luò)由一個(gè)ZigBee協(xié)調(diào)器和多個(gè)星狀結(jié)構(gòu)連接而成,靈活度高于星狀拓?fù)浣Y(jié)構(gòu);網(wǎng)狀結(jié)構(gòu)最為完善,任何網(wǎng)絡(luò)中的節(jié)點(diǎn)均可互聯(lián),通訊量也最大,但是會(huì)造成存儲(chǔ)空間開(kāi)銷(xiāo)過(guò)大。
考慮到本系統(tǒng)的設(shè)備數(shù)量不多,網(wǎng)絡(luò)復(fù)雜度不高,因此擬采用較為經(jīng)濟(jì)適用的星狀結(jié)構(gòu)。
本系統(tǒng)中智能顯示終端為協(xié)調(diào)器(即主節(jié)點(diǎn)),智能插座為設(shè)備終端(即子節(jié)點(diǎn))。硬件框圖如圖2.7所示:
圖2.7節(jié)點(diǎn)硬件設(shè)計(jì)框圖
2.2.2 軟件設(shè)計(jì)
Zigbee的數(shù)據(jù)傳輸方式有幀模式與流模式兩種。幀模式是通過(guò)片上RAM來(lái)緩存處理的,而流模式則是通過(guò)數(shù)據(jù)寄存器來(lái)進(jìn)行單個(gè)字節(jié)處理的。系統(tǒng)設(shè)計(jì)采用可變幀長(zhǎng)的幀格式。一個(gè)完整的滿足1EEE 802.15.4規(guī)范的協(xié)議幀至少要包含9個(gè)字節(jié)的數(shù)據(jù)。同步頭包括4個(gè)字節(jié)的幀前導(dǎo)字節(jié)(Preamble)和1個(gè)字節(jié)的幀開(kāi)始標(biāo)志SFD(Start of Frame Delimiter)、1個(gè)字節(jié)的幀長(zhǎng)度標(biāo)志FLI(Frame Length Indicator)、l~125個(gè)字節(jié)的數(shù)據(jù)凈荷(Payload Data)、1個(gè)字節(jié)的幀校驗(yàn)(FCS)組成的,具體格式如下表所示:
4字節(jié) | 1字節(jié) | 1字節(jié) | 1-125字節(jié) | 1字節(jié) |
Preamble | SFD | FLI | Payload Data | FCS |
本監(jiān)控系統(tǒng)中的智能插座是網(wǎng)絡(luò)中的子節(jié)點(diǎn),智能顯示終端是網(wǎng)絡(luò)中的協(xié)調(diào)器(即主節(jié)點(diǎn))。
1、主節(jié)點(diǎn)設(shè)計(jì)。智能顯示終端首先初始化,開(kāi)中斷,然后格式化當(dāng)前的網(wǎng)絡(luò)子節(jié)點(diǎn)。監(jiān)測(cè)zigbee信號(hào),看當(dāng)前是否有新的節(jié)點(diǎn)加入。若有,則為其分配網(wǎng)絡(luò)地址。然后,檢測(cè)并接收智能插座送過(guò)來(lái)的數(shù)據(jù)信息,并把命令解析出來(lái)執(zhí)行相應(yīng)操作。
2、子節(jié)點(diǎn)設(shè)計(jì)。子節(jié)點(diǎn)首先初始化CC2430和zigBee協(xié)議棧,然后發(fā)送網(wǎng)絡(luò)信號(hào),等待網(wǎng)絡(luò)協(xié)調(diào)器響應(yīng)并給自己分配網(wǎng)絡(luò)地址。智能插座檢測(cè)當(dāng)前狀態(tài),并將數(shù)據(jù)打包發(fā)送到智能顯示終端,如果發(fā)送成功,智能插座進(jìn)入空閑狀態(tài),否則重新向智能顯示終端提交一次信息。
Zigbee網(wǎng)絡(luò)的主節(jié)點(diǎn)、子節(jié)點(diǎn)軟件設(shè)計(jì)流程如圖2.8所示。
圖2.8 節(jié)點(diǎn)軟件設(shè)計(jì)流程圖
2.3 語(yǔ)音輸出模塊
語(yǔ)音輸出模塊實(shí)現(xiàn)菜單操作和用電異常過(guò)程中的報(bào)警功能,考慮到系統(tǒng)只需要輸出語(yǔ)音,這里我們采用中青世紀(jì)科技公司PM50SS50,該芯片由專(zhuān)用的語(yǔ)音單片機(jī)和FLASH RAM存儲(chǔ)器集合構(gòu)成,它有50秒的128段語(yǔ)音播放功能,可選擇PWM和DAC兩種音頻輸出方式,PWM方式可直接驅(qū)動(dòng)喇叭,單片機(jī)可以方便的串行或者并行控制PM50SS50播放內(nèi)部的語(yǔ)音。
本設(shè)計(jì)中采用串行控制的方式,選用DAC方式輸出音頻,再經(jīng)過(guò)音頻功率放大器,即可輸出語(yǔ)音。PM50SS50的引腳圖如圖2.9所示。
圖2.9 PM50SS50引腳圖
串行模式下最大可分128段,K1為數(shù)據(jù)端,K2為時(shí)鐘端,OUT1為忙信號(hào)端。時(shí)鐘上升沿時(shí)數(shù)據(jù)端有效。語(yǔ)音段的地址為80H~FFH,第一段的地址是80H,按順序排列,共128段語(yǔ)音。外部單片機(jī)直接送入要播放的段號(hào)數(shù)據(jù),播放,結(jié)束時(shí)PM50的忙信號(hào)拉低,在判斷一段語(yǔ)音結(jié)束時(shí),外部單片機(jī)再送下一段語(yǔ)音的段號(hào)。
本設(shè)計(jì)中涉及語(yǔ)音包括報(bào)警提示和語(yǔ)音菜單提醒。設(shè)計(jì)采用數(shù)字錄音技術(shù),工作前先將系統(tǒng)用到的語(yǔ)音輸出內(nèi)容通過(guò)麥克風(fēng)錄入電腦,然后將數(shù)字化后的語(yǔ)音通過(guò)下載器分別存入PM50SS50的FLASH中。當(dāng)需要語(yǔ)音輸出時(shí),只需將要輸出內(nèi)容所對(duì)應(yīng)的段碼通過(guò)串行方式發(fā)送給PM50SS50,PM50SS50將輸出對(duì)應(yīng)的模擬語(yǔ)音信號(hào),再通過(guò)功率放大器由揚(yáng)聲器輸出。
2.4 觸摸屏模塊
觸摸屏分電容式和電阻式兩種,考慮到電容式觸摸屏的功能原理是基于電容的測(cè)量,而當(dāng)環(huán)境溫度、濕度,或者環(huán)境電場(chǎng)發(fā)生改變時(shí),都會(huì)引起電容屏的漂移,容易造成誤操作,因此本設(shè)計(jì)采用電阻式觸摸屏,采用LCD彩色液晶顯示。
彩色液晶觸摸屏可以顯示字符圖形及漢字,簡(jiǎn)單易用,界面友好,作為智能顯示終端的人機(jī)交互界面非常合適。
2.4.1 硬件設(shè)計(jì)
Microchip公司特別針對(duì)PIC32MX系列還開(kāi)發(fā)了圖形軟件庫(kù)。該軟件可以方便地把各種語(yǔ)言、各種字體的文字以及位圖格式的圖片轉(zhuǎn)化為能夠在軟件中直接使用的數(shù)組矩陣,極大地方便了用戶。本設(shè)計(jì)使用單片機(jī)的并行接口模塊,按照8080時(shí)序驅(qū)動(dòng)SSDl926芯片,實(shí)現(xiàn)數(shù)據(jù)輸入/輸出、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)處理及傳輸?shù)裙δ堋?/p>
SSDl926是一款中小規(guī)模的顯示控制芯片,支持SRAM接口與ARM系列連接、ISA接口與NEC系列連接外,還支持8/16位8080時(shí)序間接尋址方式,能夠方便地與各種具有并口的MCU連接。
單片機(jī)通用I/O口可模擬控制信號(hào)的時(shí)序,數(shù)據(jù)總線也可直連。SSD1926對(duì)接收到的數(shù)據(jù)進(jìn)行處理之后,再通過(guò)與LCD的接口驅(qū)動(dòng)彩色液晶屏即可進(jìn)行顯示。
硬件框圖如圖2.10所示。
圖2.10觸摸屏驅(qū)動(dòng)接口框圖
2.4.2 軟件設(shè)計(jì)
智能顯示終端能直接控制所有家電的工作,因此信號(hào)輸入的準(zhǔn)確性至關(guān)重要,然而A/D采樣信號(hào)為模擬量輸入,還是易到現(xiàn)場(chǎng)環(huán)境的電磁干擾。為了避免誤動(dòng)作,我們擬設(shè)計(jì)了抗干擾算法。
本算法中首先對(duì)X相電壓進(jìn)行兩次采樣,每次采樣過(guò)程中都要檢驗(yàn)相電壓是否為零(即是否存在輸入),然后將兩次采樣的結(jié)果進(jìn)行比較,當(dāng)發(fā)現(xiàn)采集到的X相電壓不相等時(shí),說(shuō)明是誤動(dòng)作,程序?qū)⒉挥枥聿?,將相電壓視為零。在X相電壓滿足輸入后,再對(duì)Y相電壓進(jìn)行同樣的處理,只有在兩次比較之后得到穩(wěn)定電壓的情況下,程序才將這次輸入為有效輸入,再執(zhí)行相應(yīng)功能。具體流程見(jiàn)圖2.11。
用戶的輸入操作完全只需點(diǎn)擊屏幕,當(dāng)相應(yīng)事件觸發(fā)時(shí),系統(tǒng)就會(huì)根據(jù)輸入自動(dòng)判斷,進(jìn)而更新界面,提醒用戶,然后調(diào)用子函數(shù),執(zhí)行相應(yīng)操作。
程序首先對(duì)SSD1926進(jìn)行初始化,然后進(jìn)入坐標(biāo)檢測(cè)狀態(tài),當(dāng)執(zhí)行預(yù)處理算法并發(fā)現(xiàn)有坐標(biāo)變化時(shí),程序進(jìn)入消息處理模式,然后調(diào)用已存圖片建立新的頁(yè)面,相應(yīng)的子函數(shù)功能程序也將被調(diào)用,從而完成了一次程序響應(yīng)。觸摸屏的主流程圖見(jiàn)圖2.12。
圖2.11 抗干擾算法流程圖
圖2.12 觸摸屏主程序流程圖
2.5 電源模塊
由于本設(shè)計(jì)中的智能顯示終端在家庭環(huán)境中一般固定安放,故采用外接電源供電。但是考慮到通過(guò)穩(wěn)壓電源的電壓在市電不穩(wěn)(如浪涌,雷擊)的情況下,可能會(huì)發(fā)生波動(dòng),因此加入了穩(wěn)壓芯片進(jìn)一步穩(wěn)定電壓。采用9V外接電源加LM1117,能穩(wěn)定輸出3.3V的電壓,穩(wěn)壓電源設(shè)計(jì)原理圖見(jiàn)圖2.13。
另外,市電供電異常時(shí),系統(tǒng)將無(wú)電源輸入,從而影響程序正常工作,丟失數(shù)據(jù),嚴(yán)重影響系統(tǒng)的正常運(yùn)行。因此,本設(shè)計(jì)對(duì)電源模塊采取冗余措施,使用穩(wěn)壓電源加電池供電的雙電源供電方案。在斷電時(shí),智能終端將自動(dòng)切換到電池供電方式,保證系統(tǒng)的正常運(yùn)行。
對(duì)于冗余方案,本設(shè)計(jì)擬采用TI公司的TPS2421,該芯片采用大功率的MOSFET管來(lái)阻斷不同電源和負(fù)載直接的連接,MOSFET的導(dǎo)通內(nèi)阻可以到幾mΩ,能大大降低壓降損耗,無(wú)需散熱器,可節(jié)省電路板面積。雙路電源以并聯(lián)方式接入,正常情況下可同時(shí)對(duì)負(fù)載進(jìn)行供電,當(dāng)斷電引起穩(wěn)壓電源掉電時(shí),系統(tǒng)自動(dòng)切換到電池供電模式,而由于MOSFET的反相高阻特性,穩(wěn)壓電源不會(huì)受到反向沖擊電壓的影響。當(dāng)市電恢復(fù)供電后,系統(tǒng)再次進(jìn)入雙電源供電模式,從而實(shí)現(xiàn)了電源的不間斷供電。冗余電源設(shè)計(jì)原理圖見(jiàn)圖2.14。
圖2.13 穩(wěn)壓電源設(shè)計(jì)原理圖
圖2.14 冗余電源設(shè)計(jì)原理圖
3 智能插座
隨著智能電網(wǎng)的發(fā)展,電表成為家庭用電的智能終端已是大勢(shì)所趨。插座作為用電設(shè)備控制的最基本單元,將會(huì)起到越來(lái)越重要的作用,因此本設(shè)計(jì)中的智能插座,嵌入了單片機(jī),實(shí)現(xiàn)電能測(cè)量和數(shù)據(jù)通訊,智能控制等功能。
3.1 硬件設(shè)計(jì)
通過(guò)電壓采集,電流采集和溫度采集對(duì)用電設(shè)備的工作電壓、工作電流以及插座內(nèi)部環(huán)境溫度進(jìn)行監(jiān)測(cè),并在LCD上實(shí)時(shí)顯示,以便實(shí)時(shí)讀取信息。此外,設(shè)計(jì)中嵌入了Zigbee模塊,能與智能顯示終端實(shí)時(shí)通訊,將用電異常信息和控制執(zhí)行結(jié)果反饋給智能顯示終端,實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸。
當(dāng)發(fā)現(xiàn)過(guò)電壓,過(guò)電流,過(guò)功率或者內(nèi)部溫度過(guò)高等異常情況時(shí),處理器將控制繼電器動(dòng)作,斷開(kāi)該路電源,并發(fā)送異常信息給智能終端。智能終端以短信的方式告知用戶。當(dāng)收到智能顯示終端的預(yù)啟動(dòng)和預(yù)關(guān)閉命令時(shí),智能插座也將執(zhí)行相應(yīng)動(dòng)作,并將執(zhí)行結(jié)果反饋給智能顯示終端。
系統(tǒng)的整體框圖如圖3.1所示。
圖3.1 系統(tǒng)整體框圖
溫度測(cè)量使用DS1624,電壓電流采樣使用低成本的電阻網(wǎng)絡(luò)法,采集信息由液晶1602顯示,Zigbee無(wú)線通訊模塊在上一章已經(jīng)介紹,下面詳述電源供電方案設(shè)計(jì)。
對(duì)于智能插座,顯然外接穩(wěn)壓電源的方式,已經(jīng)不再適用。為減少連線以兼容傳統(tǒng)插座外觀,必須從火線和零線中取電,得到滿足單片機(jī)和各個(gè)子模塊的供電電壓。傳統(tǒng)的取電方法是通過(guò)變壓器隔離加穩(wěn)壓芯片,但考慮到變壓器的體積過(guò)大,影響智能插座的外觀和實(shí)用性,因此本設(shè)計(jì)擬選用一種簡(jiǎn)單可靠的阻容降壓法,可以滿足系統(tǒng)需求。市電通過(guò)電容C1的阻抗分壓,然后D1和D2構(gòu)成半波整流電路,穩(wěn)壓二極管D3得到的浮動(dòng)直流電壓,經(jīng)過(guò)LM317的線性穩(wěn)壓后能得到穩(wěn)定的5V輸出。硬件電路如圖3.2所示。
圖3.2 阻容電源設(shè)計(jì)原理圖
4 軟件總體流程
本系統(tǒng)智能顯示終端和智能插座中各嵌入了單片機(jī),其中智能顯示終端中為主控單片機(jī),智能插座中為從控單片機(jī),因此,需要分別對(duì)二者進(jìn)行軟件設(shè)計(jì)。
4.1主控單片機(jī)軟件設(shè)計(jì)
1 主程序設(shè)計(jì)。程序開(kāi)始后,主控單片機(jī)首先需要對(duì)管理的各個(gè)模塊,以及IO口進(jìn)行初始化配置,然后進(jìn)入監(jiān)測(cè)狀態(tài)。單片機(jī)將不斷讀取從智能插座傳送過(guò)來(lái)的用電信息,并保存到自己的RAM中。RAM中會(huì)預(yù)留一段存儲(chǔ)空間來(lái)保存用電信息,當(dāng)用電信息超過(guò)RAM空間時(shí),數(shù)據(jù)將刷新一次,覆蓋原有數(shù)據(jù)空間。然后,單片機(jī)判斷是否有來(lái)自上方GSM的短信指令,若有,則執(zhí)行短信接收命令,進(jìn)入串口中斷接收狀態(tài)。接著,單片機(jī)判斷觸摸屏是否有輸入,若有,執(zhí)行觸屏操作程序。最后單片機(jī)判斷是否有來(lái)自下方智能插座的反饋信息,若有,則將該信息編碼發(fā)送至GSM模塊,否則進(jìn)入下一次循環(huán)。
2 串口中斷設(shè)計(jì)。串口中斷首先接收完整的短信指令,然后進(jìn)行短信解析,從中提取用戶的短信信息。然后分析指令內(nèi)容,根據(jù)不同的指令執(zhí)行相應(yīng)功能。
3 定時(shí)器中斷。定時(shí)器中斷配合串口進(jìn)行數(shù)據(jù)接收,以防傳輸數(shù)據(jù)鎖死。當(dāng)在指定時(shí)間段內(nèi)沒(méi)有接收到數(shù)據(jù)時(shí),定時(shí)器中斷將結(jié)束本次接收任務(wù)。
主控單片機(jī)的流程圖如圖4.1所示。
圖4.1 主控單片機(jī)程序流程圖
4.2從控單片機(jī)軟件設(shè)計(jì)
1 主程序設(shè)計(jì)。從控單片機(jī)首先對(duì)其外圍模塊進(jìn)行初始化配置,然后檢查是否有上方下發(fā)的指令信號(hào)。若有,則進(jìn)入串口中斷處理,進(jìn)行指令的與解析和相關(guān)操作。若無(wú),則開(kāi)始采集系統(tǒng)的溫度,電壓,電流等信息,并通過(guò)LCD進(jìn)行顯示。同時(shí)將這些信息上傳給智能顯示終端。
2 中斷處理程序設(shè)計(jì)。中斷處理程序主要是接收下發(fā)的指令,并進(jìn)行解析,通過(guò)判斷相應(yīng)的指令內(nèi)容,執(zhí)行對(duì)應(yīng)操作,并且將執(zhí)行的操作結(jié)果上傳給智能顯示終端。
主控單片機(jī)的流程圖如圖4.2所示。
圖4.2 從控單片機(jī)程序流程圖
四.項(xiàng)目創(chuàng)新點(diǎn)
1 允許本地,遠(yuǎn)程操作。智能顯示終端雖然能滿足居家的各種功能需求,但用戶肯定希望出差是也能隨時(shí)遙控家中電器。為了彌補(bǔ)家庭顯示終端的這一不足之處,我們?cè)O(shè)計(jì)了手機(jī)短信的方式,通過(guò)短信GSM方式控制用電器,解決了這一問(wèn)題。
2 實(shí)現(xiàn)單個(gè)用電器的用電分析。傳統(tǒng)的電表只能讀出用戶每月的總用電量。而用戶對(duì)自己究竟如何消費(fèi)這筆電費(fèi)根本沒(méi)有清晰的認(rèn)識(shí)。本設(shè)計(jì)中通過(guò)智能插座對(duì)每個(gè)用電的用電情況進(jìn)行采集,然后用智能顯示終端進(jìn)行顯示,用戶可以清楚的了解到自家的用電結(jié)構(gòu),從而對(duì)以后的用電進(jìn)行和合理規(guī)劃。
3 圖形化的查詢結(jié)果。智能顯示終端能提供各種報(bào)表類(lèi)型的顯示結(jié)果。用戶無(wú)需從眼花繚亂的數(shù)字中尋找各類(lèi)數(shù)據(jù),也無(wú)需對(duì)此分別進(jìn)行統(tǒng)計(jì)。智能顯示終端能夠呈現(xiàn)精簡(jiǎn)的畫(huà)面,
4 短信反饋。遠(yuǎn)程控制時(shí),智能插座所執(zhí)行的每個(gè)動(dòng)作,都能以短信的方式反饋給手機(jī),這樣用戶就能知道自己發(fā)送的命令是否成功執(zhí)行,不用擔(dān)心用電器是否已正常工作。
5 分布式布局,集中式處理。智能顯示終端通過(guò)無(wú)線通訊將各智能插座聯(lián)系起來(lái)。這樣既能對(duì)所有的用電設(shè)備進(jìn)行統(tǒng)一的管理,又能對(duì)各個(gè)用電設(shè)備進(jìn)行逐一分析。
評(píng)論