基于GP32單片機(jī)的家用智能盒設(shè)計
1 智能盒的主要功能
智能盒的主要功能有〔2,3〕:
(1)多表計數(shù)與抄收功能:水、電、氣等表輸出的脈沖數(shù)字信號接入智能盒,智能盒中的單片機(jī)實現(xiàn)實時累計多表數(shù)據(jù)并將多表數(shù)據(jù)通過網(wǎng)絡(luò)接口傳送至物業(yè)管理中心的物業(yè)管理系統(tǒng)主機(jī);在智能盒掉電時能及時將多表數(shù)據(jù)保存在其內(nèi)部的E2PROM中。
(2)多表防拆與故障檢測功能:當(dāng)多表被有意破壞,或發(fā)生故障時,智能盒將故障信息告知物業(yè)管理系統(tǒng)主機(jī)。
(3)多表切斷功能:當(dāng)用戶沒有按時交納多表費(fèi)用時,智能盒接收物業(yè)管理系統(tǒng)主機(jī)發(fā)來的交費(fèi)通知、金額與期限,過期仍不交納相應(yīng)費(fèi)用,則切斷對應(yīng)的開關(guān)閥。
(4)工作狀態(tài)設(shè)定功能:用戶根據(jù)需要設(shè)定布防工作狀態(tài)和撤防工作狀態(tài)。布防工作狀態(tài)是住宅內(nèi)沒有人時的工作狀態(tài),當(dāng)住宅內(nèi)最后一個人離開時,按“布防”鍵,并輸入相應(yīng)的密碼,延時一段時間后,智能盒進(jìn)入布防工作狀態(tài)。撤防工作狀態(tài)是住宅內(nèi)有人的工作狀態(tài),當(dāng)?shù)谝粋€人進(jìn)入住宅時,在規(guī)定的時間內(nèi),按“撤防”鍵并輸入相應(yīng)密碼就可以撤防。
(5)緊急求助功能:住宅內(nèi)的人員需要外援時,可按“求助”按鈕,當(dāng)緊急求助按鈕按下時,智能盒將求助信號發(fā)至物業(yè)管理系統(tǒng)主機(jī)。手動復(fù)位可清除緊急求助信號。
(6)報警功能:報警信號有即時報警和延時報警兩種,即時報警是全天候監(jiān)控防區(qū),一有警情,立即報警,警情消失,報警信號取消,沒有記憶功能,如煙感、煤氣泄漏等傳感器信號設(shè)置為即時報警;延時報警是當(dāng)警情發(fā)生時并不立即報警,而是延時一段時間,再根據(jù)用戶設(shè)定的工作狀態(tài)進(jìn)行相應(yīng)處理,此類報警具備記憶功能,如門磁、紅外探測器等傳感器信號設(shè)置為延時報警。
(7)手動復(fù)位功能:手動復(fù)位信號有效時,可清除非法入侵報警信號。
2 智能盒的硬件設(shè)計〔4,5〕
下面通過智能盒的硬件結(jié)構(gòu)框圖、在線編程電路、部分GP32外圍電路等各方面內(nèi)容來介紹其硬件設(shè)計。
2.1 結(jié)構(gòu)框圖
家用智能盒的硬件結(jié)構(gòu)框圖如圖1所示,它包含了微機(jī)系統(tǒng)的前向通道,后向通道,人機(jī)通道和相互通道。它的核心部件是68HC908GP32單片機(jī)。
GP32是Motorola公司HC08系列8位單片機(jī),內(nèi)部含有32K Flash程序存儲器,設(shè)計完成的智能盒程序存儲在此Flash中,可以在線編寫和修改程序,同時內(nèi)部設(shè)有程序安全碼,安全碼不符合時無法進(jìn)行程序的讀取與修改,保證了程序的安全性;內(nèi)部還含有8通道8位A/D轉(zhuǎn)換器,512字節(jié)的RAM,一個SPI接口,一個SCI接口,四路輸入捕捉接口,33位通用I/O口等。
2.2 在線編程電路
編寫單片機(jī)的應(yīng)用程序經(jīng)常需要幾次反復(fù),而且在試用階段,乙方也常會提出一些新的要求,使設(shè)計更加合理,使用更加方便,因此修改應(yīng)用程序是開發(fā)人員經(jīng)常會碰到的問題,GP32單片機(jī)在FF20H至FF52H的地址范圍內(nèi)提供了307個字節(jié)的監(jiān)控ROM,使得GP32能夠進(jìn)行在線編程,容易實現(xiàn)程序修改。圖2是GP32單片機(jī)在線編程的一種線路圖,通過此線路能夠?qū)崿F(xiàn)PC機(jī)利用標(biāo)準(zhǔn)RS-232接口對GP32編程,GP32的一個口線PA0接收信息,波特率是9600波特,SW1用于選擇內(nèi)部總線時鐘,聯(lián)動開關(guān)SW2、SW3、SW4用于選擇使用的時鐘源。
2.3 GP32外圍電路設(shè)計
2.3.1 網(wǎng)絡(luò)接口〔6,7〕
智能盒是一個網(wǎng)絡(luò)節(jié)點(diǎn),網(wǎng)絡(luò)接口完成了智能盒的網(wǎng)絡(luò)節(jié)點(diǎn)功能,小區(qū)網(wǎng)絡(luò)采用LONWORKS總線結(jié)構(gòu)。網(wǎng)絡(luò)接口采用超大規(guī)模Neuron芯片3150,它的內(nèi)部含有3個CPU,分別為介質(zhì)訪問CPU、網(wǎng)絡(luò)控制CPU以及應(yīng)用CPU,512字節(jié)的E2PROM,2048字節(jié)的RAM,2個16位定時/計數(shù)器,11條可編程I/O引腳,內(nèi)部不含有ROM,但可擴(kuò)展64K程序存儲器,為修改程序方便,擴(kuò)展了Flash存儲器,其中42K用于存放程序,其它用于存放LonTalk通信協(xié)議,通信協(xié)議由開發(fā)工具攜帶。GP32單片機(jī)通過SPI接口與3150芯片相連。
2.3.2 開關(guān)量輸入通道
智能盒中設(shè)有8路開關(guān)量輸入通道,這些開關(guān)量信號用于緊急求助、手動復(fù)位、傳感器防拆和消防等,所有開關(guān)量輸入信號均經(jīng)過光電隔離,進(jìn)入GP32的輸入線。
2.3.3 數(shù)字量輸入通道
智能盒中設(shè)有4路數(shù)字量輸入通道,這些數(shù)字脈沖信號來自于水、電、氣表等的脈沖輸出,脈沖輸入信號經(jīng)光電隔離,進(jìn)入GP32的TIM部件,TIM部件在此作輸入捕捉用,設(shè)置成邊沿觸發(fā)方式,利用中斷方式累計多表用數(shù),每個脈沖當(dāng)量的設(shè)置、脈沖數(shù)當(dāng)量轉(zhuǎn)換等由程序完成。
2.3.4 模擬量輸入通道
智能盒中設(shè)有8路模擬量輸入通道,直接使用單片機(jī)內(nèi)的8路8位A/D轉(zhuǎn)換器。需要檢測的模擬量信號有入侵報警信號,消防報警信號等。入侵報警的模擬量輸入信號定義為:電壓在2V至3V之間屬正常情況,小于2V或大于3V均屬報警信號;消防報警的模擬量輸入信號定義電壓是:在2V以下屬正常,輸入電壓在3V以上屬報警信號。
2.3.5 開關(guān)量輸出通道
智能盒中設(shè)有7路開關(guān)量輸出通道。GP32的輸出線經(jīng)TPIC6B595芯片驅(qū)動,控制+24V的直流繼電器,4路繼電器輸出用于切斷多表控制,其余的用于報警輸出、接通監(jiān)聽器以及備用。
2.3.6 數(shù)據(jù)的顯示與存儲
一般情況下,多表數(shù)據(jù)以及智能盒的工作狀態(tài)隨時送至物業(yè)管理系統(tǒng)主機(jī),但為了滿足智能盒在斷電情況下,仍能保存多表數(shù)據(jù)、智能盒工作方式以及用戶輸入的密碼,GP32擴(kuò)展了一片X2504E2PROM芯片。X2504芯片采用串行接口,同時內(nèi)帶Watchdog電路,程序運(yùn)行故障時可以產(chǎn)生復(fù)位信號。智能盒的顯示方式采用LCD顯示,LCD顯示尺寸選用128×256點(diǎn)陣,采用菜單查詢與翻面相結(jié)合,需要顯示的數(shù)據(jù)和信息均可以在LCD上得到反映。
3 軟件設(shè)計
智能盒的軟件設(shè)計包括GP32內(nèi)的程序設(shè)計和Neuron芯片3150內(nèi)的程序設(shè)計兩部分。
3.1 GP32單片機(jī)的軟件設(shè)計〔4,5〕
智能盒的各種操作均由GP32單片機(jī)內(nèi)的程序控制,程序采用MC68HC08匯編語言編寫,調(diào)試完畢的程序存入單片機(jī)內(nèi)的Flash中,程序設(shè)計采用模塊化方法,模塊構(gòu)成如圖3所示。
3.2 Neuron芯片的軟件設(shè)計〔8〕
Neuron芯片3150中的應(yīng)用程序使用Neuron C編程,調(diào)試完畢后的程序固化在擴(kuò)展的Flash程序存儲器中,主要負(fù)責(zé)節(jié)點(diǎn)的網(wǎng)絡(luò)管理。
4 結(jié)束語
本文介紹的家用智能盒具有很好的實際推廣應(yīng)用價值。目前已研制、調(diào)試完成,并完成了各種功能、可靠性、規(guī)范等試驗,已投入小區(qū)進(jìn)入實際使用階段。