基于單片機(jī)與Lonworks的可視對(duì)講系統(tǒng)設(shè)計(jì)
摘? 要:? 介紹了智能小區(qū)的門(mén)禁系統(tǒng),即可視對(duì)講系統(tǒng)的設(shè)計(jì)原理以及軟、硬件的實(shí)現(xiàn)方式;提出了針對(duì)智能小區(qū)可視對(duì)講系統(tǒng)的解決方案。使用單片機(jī)與Lonworks結(jié)合的可視對(duì)講系統(tǒng),克服了傳統(tǒng)485總線(xiàn)通信速率低、通信距離短的缺陷,提高了系統(tǒng)對(duì)總線(xiàn)以及監(jiān)控設(shè)備的兼容性。
隨著智能化住宅小區(qū)的出現(xiàn),傳統(tǒng)的門(mén)鈴已經(jīng)遠(yuǎn)不能適應(yīng)現(xiàn)代的家庭。人們希望通過(guò)一種新的方式來(lái)了解來(lái)客情況,同時(shí)確保自身的安全性,減少不必要的麻煩。因此各式各樣的門(mén)鈴悄然走進(jìn)千家萬(wàn)戶(hù)。
從簡(jiǎn)單的叫門(mén)工具,到多功能、綜合型電器,使用者的標(biāo)準(zhǔn)越來(lái)越高,對(duì)講系統(tǒng)已成為現(xiàn)代多功能、高效率現(xiàn)代化住宅的重要保障。隨之而生的樓宇對(duì)講系統(tǒng),也隨著城市住宅小區(qū)的建設(shè)和發(fā)展,不斷地推陳出新。從最初的普通單元門(mén)對(duì)講,到可視單元門(mén)對(duì)講,發(fā)展到聯(lián)網(wǎng)管理,智能樓 宇對(duì)講系統(tǒng)已成為一種兼容性強(qiáng)大的綜合系統(tǒng)。可以說(shuō),智能樓宇對(duì)講系統(tǒng)不僅僅是方便住戶(hù)和訪(fǎng)客的電控門(mén)系統(tǒng),也是小區(qū)物業(yè)管理和安防管理必不可少的有效手段,是現(xiàn)代化住宅小區(qū)必不可少的設(shè)施 。
1 Lonworks總線(xiàn)技術(shù)
一般的可視對(duì)講系統(tǒng)大多由單片機(jī)與RS-485總線(xiàn)構(gòu)成,雖然成本低,但受到RS-485總線(xiàn)的限制,在無(wú)中繼的情況下,通信距離不能太遠(yuǎn),通信速率也不能太高,而采用中繼則會(huì)提高成本, 增大設(shè)計(jì)開(kāi)發(fā)和施工維護(hù)的難度。如果采用單純的Lonworks總線(xiàn),又會(huì)降低網(wǎng)絡(luò)對(duì)其他總線(xiàn)設(shè)備的兼容性,增加開(kāi)發(fā)成本和設(shè)計(jì)困難。筆者采用基于單片機(jī)與Lonworks的可視對(duì)講技術(shù),不僅可以克服以上缺點(diǎn),而且能更好地發(fā)揮二者的優(yōu)勢(shì)。整個(gè)系統(tǒng)由門(mén)口單元主機(jī)和戶(hù)內(nèi)可視分機(jī)組成,在網(wǎng)絡(luò)上視其為不同的通信節(jié)點(diǎn)。在普通的通信網(wǎng)絡(luò)中,節(jié)點(diǎn)對(duì)節(jié)點(diǎn)的訪(fǎng)問(wèn)所采用的協(xié)議是不同的,而對(duì)于Lonworks網(wǎng)絡(luò)中設(shè)備的通信,則只需要采用一種稱(chēng)為L(zhǎng)onTalk的網(wǎng)絡(luò)標(biāo)準(zhǔn)語(yǔ)言實(shí)現(xiàn)。LonTalk協(xié)議由各種允許網(wǎng)絡(luò)上不同設(shè)備彼此間智能通信的底層協(xié)議組成。
LonTalk協(xié)議又稱(chēng)為ANSI/EIA709.1控制網(wǎng)絡(luò)標(biāo)準(zhǔn),它提供了一系列通信服務(wù),使得設(shè)備中的應(yīng)用程序能夠在網(wǎng)絡(luò)上同其他設(shè)備發(fā)送和接收?qǐng)?bào)文,而無(wú)需知道網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)或者網(wǎng)絡(luò)的名稱(chēng)、地址,或其他設(shè)備的功能。LonTalk協(xié)議能夠有選擇地提供端到端的報(bào)文確認(rèn)、報(bào)文證實(shí)和優(yōu)先級(jí)發(fā)送,以提供規(guī)定受限制的事務(wù)處理次數(shù)。對(duì)網(wǎng)絡(luò)管理服務(wù)的支持使得遠(yuǎn)程網(wǎng)絡(luò)管理工具能夠通過(guò)網(wǎng)絡(luò)和其他設(shè)備相互作用,這包括網(wǎng)絡(luò)地址和參數(shù)的重新配置、下載應(yīng)用程序、報(bào)告網(wǎng)絡(luò)問(wèn)題和啟動(dòng)/停止/復(fù)位設(shè)備的應(yīng)用程序。Lonworks系統(tǒng)可以在任何物理媒介上通信,這包括電力線(xiàn)、雙絞線(xiàn)、無(wú)線(xiàn)(RF)、紅外(IR)、同軸電纜和光纖 。
同時(shí),LonTalk支持在通信介質(zhì)上的硬件碰撞檢測(cè),LonTalk可以自動(dòng)地將正在發(fā)生碰撞的報(bào)文取消,重新再發(fā)。如果沒(méi)有碰撞檢測(cè),當(dāng)碰撞發(fā)生時(shí),只有得到響應(yīng)或應(yīng)答時(shí)才會(huì)重發(fā)報(bào)文。Lonworks采用的是優(yōu)先級(jí)帶預(yù)測(cè)的p一堅(jiān)持CSMA算法來(lái)實(shí)現(xiàn)碰撞檢測(cè)。實(shí)驗(yàn)表明,36個(gè)節(jié)點(diǎn)互聯(lián),采用普通p一堅(jiān)持算法,當(dāng)每秒要傳輸?shù)膱?bào)文達(dá)500~1 000包時(shí),碰撞率由10%上升到54%;而采用預(yù)測(cè)p-堅(jiān)持CSMA算法在500包以下時(shí)碰撞率很低,在500~1 000包時(shí),碰撞率穩(wěn)定在10%。在網(wǎng)絡(luò)的MAC層中,為提高緊急事件的響應(yīng)時(shí)間,必須提供一個(gè)可選擇的優(yōu)先級(jí)機(jī)制,允許用戶(hù)為每個(gè)需要優(yōu)先級(jí)的節(jié)點(diǎn)分配一個(gè)特定的優(yōu)先級(jí)時(shí)間片(priority slot)。在發(fā)送過(guò)程中,優(yōu)先級(jí)數(shù)據(jù)報(bào)文將在該時(shí)間片內(nèi)被發(fā)送,優(yōu)先級(jí)時(shí)間片可分為0~127之間的任意登記,低優(yōu)先級(jí)的節(jié)點(diǎn)需要等待的時(shí)間較長(zhǎng)。這個(gè)時(shí)間片加在p一概率時(shí)間片之前(即節(jié)點(diǎn)的隨機(jī)等待時(shí)間 之前),非優(yōu)先級(jí)節(jié)點(diǎn)必須等優(yōu)先級(jí)時(shí)間片完成后,再等待P-概率時(shí)間片后發(fā)送,這樣,加入優(yōu)先級(jí)的節(jié)點(diǎn)具有更快的相應(yīng)時(shí)間,從而也更能提高網(wǎng)絡(luò)的利用率。
在智能小區(qū)的設(shè)計(jì)中,采用Lonworks總線(xiàn)可以將眾多的控制線(xiàn)路和通信線(xiàn)路集成到廉價(jià)的雙絞線(xiàn)之上,既節(jié)約了開(kāi)發(fā)和施工成本,也方便了網(wǎng) 絡(luò)的規(guī)劃和管理。
2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
對(duì)于整個(gè)園區(qū),采用星型分級(jí)網(wǎng)絡(luò);對(duì)于較大型的小區(qū)通信系統(tǒng),可以采用域的管理方式。園區(qū)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 園區(qū)網(wǎng)絡(luò)結(jié)構(gòu)圖
所有節(jié)點(diǎn)由AT89S52單片機(jī)系統(tǒng)和神經(jīng)元芯片TMPN3150B1AF構(gòu)成核心模塊,加上FTT一10A收發(fā)器和相應(yīng)的外圍電路構(gòu)成。神經(jīng)元芯片? 有11個(gè)I/O口,可由軟件靈活配置34種不同接口,單片機(jī)較強(qiáng)的實(shí)時(shí)控制能力保證了數(shù)據(jù)間傳輸?shù)膶?shí)時(shí)性。整個(gè)系統(tǒng)由多個(gè)子網(wǎng)絡(luò)構(gòu)成,子網(wǎng)? 絡(luò)與子網(wǎng)絡(luò)通過(guò)Lonworks路由器進(jìn)行擴(kuò)張。各節(jié)點(diǎn)通過(guò)Lonworks總線(xiàn)進(jìn)行網(wǎng)絡(luò)通信,相互之間以雙絞線(xiàn)相連,通信速率為78 kb/s,可視對(duì)講系統(tǒng)的視音頻模擬信號(hào)通過(guò)視音頻總線(xiàn)傳輸。該方案采用2級(jí)總線(xiàn)設(shè)計(jì),實(shí)現(xiàn)在同一系統(tǒng)中同時(shí)進(jìn)行多個(gè)通話(huà)的功能。同時(shí),設(shè)置網(wǎng)絡(luò)數(shù)據(jù)管理機(jī)和數(shù)據(jù)服務(wù)器,實(shí)現(xiàn)實(shí)時(shí)控制網(wǎng)絡(luò)與計(jì)算機(jī)網(wǎng)絡(luò)的信息共享 。
3 節(jié)點(diǎn)硬件設(shè)計(jì)
節(jié)點(diǎn)硬件設(shè)計(jì)是通過(guò)單片機(jī)和Lonworks聯(lián)合控制來(lái)實(shí)現(xiàn)的。節(jié)點(diǎn)硬件原理圖如圖2所示。
圖2 節(jié)點(diǎn)硬件原理圖
(1)CPU。節(jié)點(diǎn)的CPU采用工業(yè)級(jí)AT89S52和Neuron Chip家族的TMPN3150B1AF,3150芯片不帶程序存儲(chǔ)空間,因而需要外接外部RAM,存放包括LonTalk協(xié)議、Neuron C庫(kù)函數(shù)和任務(wù)調(diào)度程序的系統(tǒng)映象,存放包括Neuron C編譯器產(chǎn)生的用戶(hù)應(yīng)用程序代碼和其他特定應(yīng)用參數(shù)的應(yīng)用映象。3150芯片有11個(gè)應(yīng)用I/O引腳,這些引腳可以各種方式配置并提供具有最小外擴(kuò)電路的靈活I(lǐng)/O功能,可通過(guò)軟件設(shè)置成34種可選的工作方式。在本系統(tǒng)中,將其設(shè)置成方式2,即位輸出(bit output),用以控制繼電器構(gòu)成的視音頻切換器 。
(2)收發(fā)器。選用Echelon公司的FTT-10A,通信速率為78 kb/s,帶有變壓器隔離耦合和一個(gè)曼切斯特編碼器,支持多種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
(3)程序存儲(chǔ)器。選用Winbond公司的W27C512—45,可以很方便地利用LonMaker來(lái)直接下載應(yīng)用映象,其大容量也為將來(lái)的功能擴(kuò)展提供了便利。
由于采用了單片機(jī)與Lonworks技術(shù)相結(jié)合的辦法,不僅兼容了戶(hù)內(nèi)傳統(tǒng)的監(jiān)控設(shè)備,同時(shí)也提高了網(wǎng)絡(luò)的通信效率和傳輸速率,簡(jiǎn)化了整個(gè)系統(tǒng),減少了硬件出錯(cuò)的可能性,提高了系統(tǒng)的可靠性,大大減輕了硬件設(shè)計(jì)的工作量。
在工作流程上,一方面當(dāng)戶(hù)內(nèi)發(fā)生異常情況,如產(chǎn)生超過(guò)正常濃度的煙霧以及門(mén)窗被非正常開(kāi)啟等,經(jīng)監(jiān)控設(shè)備所采集的相應(yīng)監(jiān)控信號(hào)將送入戶(hù)內(nèi)可視分機(jī),經(jīng)51芯片判斷處理后送交神經(jīng)元芯片,經(jīng)過(guò)收發(fā)器送上Lonworks網(wǎng)絡(luò),并傳輸?shù)焦芾?a target="_blank">中心進(jìn)行相應(yīng)的顯示和報(bào)警,從而方便小區(qū)管理人員及時(shí)采取應(yīng)對(duì)措施;另一方面有訪(fǎng)客通過(guò)單元主機(jī)向戶(hù)內(nèi)發(fā)送請(qǐng)求,則啟動(dòng)主機(jī)上CCD攝像頭,并使相應(yīng)的視頻切換繼電器吸合,將訪(fǎng)客影像實(shí)時(shí)傳送到戶(hù)內(nèi)可視分機(jī)的顯示器上,方便戶(hù)主辨別。當(dāng)戶(hù)主開(kāi)啟與門(mén)口主機(jī)相連的電磁鎖時(shí),切斷視頻連接,釋放線(xiàn)路資源以便于其他訪(fǎng)客使用。
4 節(jié)點(diǎn)軟件設(shè)計(jì)
4.1 Lonworks部分
Neuron芯片的編程語(yǔ)言為Neuron C,它是從ANSI C派生出來(lái)的,并對(duì)ANSI C進(jìn)行了刪減和增補(bǔ)。例如,Neuron C由事件的發(fā)生來(lái)驅(qū)動(dòng)任務(wù)的執(zhí)行;Neuron的芯片提供了毫秒和秒這2種類(lèi)型的軟件計(jì)時(shí)器。
主程序流程如圖3所示。它主要完成的任務(wù)如下:首先對(duì)I/O對(duì)象和軟件計(jì)時(shí)器的定義以及設(shè)置變量初始值,判斷是否有“*”信號(hào),并啟動(dòng)計(jì)時(shí)器開(kāi)始計(jì)時(shí),計(jì)時(shí)器終止時(shí),Neuron芯片接受新的定時(shí)任務(wù) 。
圖3 主程序流程圖
神經(jīng)元芯片(neuron chip)是Lonworks技術(shù)的核心所在,它是一個(gè)帶有多個(gè)處理器、讀寫(xiě)/只讀存儲(chǔ)器(RAM/ROM)以及通信和I/O接口的單芯片系統(tǒng)。只讀存儲(chǔ)器包含一個(gè)操作系統(tǒng)、LonTalk協(xié)議和I/O功能庫(kù)。Neuron C是一種基于ANSI C并為神經(jīng)元芯片設(shè)計(jì)的一種編程語(yǔ)言,它對(duì)ANSI C進(jìn)行了擴(kuò)展以直接支持Neuron芯片的固件例程。Neuron C語(yǔ)言包括一個(gè)內(nèi)部多任務(wù)調(diào)度程序、一個(gè)Run—Time函數(shù)庫(kù),采用的是事件驅(qū)動(dòng)編程結(jié)構(gòu)。整個(gè)接點(diǎn)的軟件功能都是由若干個(gè)事件驅(qū)動(dòng)完成。
對(duì)于單個(gè)節(jié)點(diǎn),軟件設(shè)計(jì)包括初始化,讀取輸入數(shù)據(jù),更新網(wǎng)絡(luò)變量,定時(shí)控制和執(zhí)行輸出控制操作等任務(wù)。
而對(duì)于園區(qū)網(wǎng)絡(luò),則將總線(xiàn)控制權(quán)交由管理中心掌握,其他節(jié)點(diǎn)如有總線(xiàn)占用需求,需要向管理中心發(fā)出請(qǐng)求,等待管理中心發(fā)出請(qǐng)求響應(yīng)命令;而當(dāng)節(jié)點(diǎn)總線(xiàn)訪(fǎng)問(wèn)程序結(jié)束后,管理中心會(huì)發(fā)出釋放總線(xiàn)命令,終止節(jié)點(diǎn)對(duì)總線(xiàn)占用,以方便其他節(jié)點(diǎn)對(duì)總線(xiàn)的訪(fǎng)問(wèn)。
4.2 單片機(jī)部分
單片機(jī)部分CPU采用ATMEL公司生產(chǎn)的工業(yè)級(jí)AT89S52芯片,這種芯片是AT89C51的工業(yè)版本,具有抗干擾能力強(qiáng)和價(jià)格低廉的特點(diǎn)。單片機(jī)系統(tǒng)軟件需要實(shí)現(xiàn)的基本功能如下:
(1)待機(jī)功能。平時(shí)(無(wú)控制操作時(shí)),戶(hù)內(nèi)可視分機(jī)和單元主機(jī)均處于待機(jī)狀態(tài),射頻模塊、單元主機(jī)攝像頭以及戶(hù)內(nèi)可視分機(jī)顯示屏電源均處于關(guān)閉狀態(tài)。
(2)監(jiān)控信號(hào)采集功能。戶(hù)內(nèi)可視分機(jī)不僅是連接單元主機(jī)的節(jié)點(diǎn),更是戶(hù)內(nèi)各監(jiān)控點(diǎn)信號(hào)采集的中心,當(dāng)門(mén)磁、窗磁、戶(hù)內(nèi)紅外、煙感以及緊急信號(hào)被發(fā)出時(shí),都將首先送到戶(hù)內(nèi)可視分機(jī),由AT89S52進(jìn)行判斷和初步處理,然后轉(zhuǎn)交TMPN3150B1AF芯片送上Lonworks通信網(wǎng)絡(luò),傳送到管理中心進(jìn)行顯示和處理。
(3)*功能。通過(guò)戶(hù)內(nèi)可視分機(jī),可以控制打開(kāi)安裝于單元門(mén)上并與單元主機(jī)相連的電磁鎖??刂栖浖?a href="http://ttokpm.com/v/tag/3195/" target="_blank">匯編語(yǔ)言編寫(xiě),分戶(hù)內(nèi)可視分機(jī)和單元主機(jī)兩部分,由系統(tǒng)不同狀態(tài)的處理和切換組成。
5 結(jié)論
采用基于單片機(jī)與Lonworks技術(shù)的可視監(jiān)控系統(tǒng),不僅不用單獨(dú)為L(zhǎng)onworks網(wǎng)絡(luò)設(shè)計(jì)專(zhuān)用的監(jiān)控設(shè)備,而且提高了通信網(wǎng)絡(luò)的使用率,簡(jiǎn)化了網(wǎng)絡(luò)設(shè)計(jì),減少了開(kāi)發(fā)和生產(chǎn)成本,使可視化監(jiān)控更加人性化。
?
評(píng)論
查看更多