基于51單片機與Lonworks的可視對講系統設計
4 節點(diǎn)軟件設計
4.1 Lonworks部分
Neuron芯片的編程語(yǔ)言為Neuron C,它是從ANSI C派生出來(lái)的,并對ANSI C進(jìn)行了刪減和增補。例如,Neuron C由事件的發(fā)生來(lái)驅動(dòng)任務(wù)的執行;Neuron的芯片提供了毫秒和秒這2種類(lèi)型的軟件計時(shí)器。
主程序流程如圖3所示。它主要完成的任務(wù)如下:首先對I/O對象和軟件計時(shí)器的定義以及設置變量初始值,判斷是否有“開(kāi)鎖”信號,并啟動(dòng)計時(shí)器開(kāi)始計時(shí),計時(shí)器終止時(shí),Neuron芯片接受新的定時(shí)任務(wù) 。
圖3 主程序流程圖
神經(jīng)元芯片(neuron chip)是Lonworks技術(shù)的核心所在,它是一個(gè)帶有多個(gè)處理器、讀寫(xiě)/只讀存儲器(RAM/ROM)以及通信和I/O接口的單芯片系統。只讀存儲器包含一個(gè)操作系統、LonTalk協(xié)議和I/O功能庫。Neuron C是一種基于A(yíng)NSI C并為神經(jīng)元芯片設計的一種編程語(yǔ)言,它對ANSI C進(jìn)行了擴展以直接支持Neuron芯片的固件例程。Neuron C語(yǔ)言包括一個(gè)內部多任務(wù)調度程序、一個(gè)Run—Time函數庫,采用的是事件驅動(dòng)編程結構。整個(gè)接點(diǎn)的軟件功能都是由若干個(gè)事件驅動(dòng)完成。
對于單個(gè)節點(diǎn),軟件設計包括初始化,讀取輸入數據,更新網(wǎng)絡(luò )變量,定時(shí)控制和執行輸出控制操作等任務(wù)。
而對于園區網(wǎng)絡(luò ),則將總線(xiàn)控制權交由管理中心掌握,其他節點(diǎn)如有總線(xiàn)占用需求,需要向管理中心發(fā)出請求,等待管理中心發(fā)出請求響應命令;而當節點(diǎn)總線(xiàn)訪(fǎng)問(wèn)程序結束后,管理中心會(huì )發(fā)出釋放總線(xiàn)命令,終止節點(diǎn)對總線(xiàn)占用,以方便其他節點(diǎn)對總線(xiàn)的訪(fǎng)問(wèn)。
4.2 單片機部分
單片機部分CPU采用ATMEL公司生產(chǎn)的工業(yè)級AT89S52芯片,這種芯片是AT89C51的工業(yè)版本,具有抗干擾能力強和價(jià)格低廉的特點(diǎn)。單片機系統軟件需要實(shí)現的基本功能如下:
(1)待機功能。平時(shí)(無(wú)控制操作時(shí)),戶(hù)內可視分機和單元主機均處于待機狀態(tài),射頻模塊、單元主機攝像頭以及戶(hù)內可視分機顯示屏電源均處于關(guān)閉狀態(tài)。
(2)監控信號采集功能。戶(hù)內可視分機不僅是連接單元主機的節點(diǎn),更是戶(hù)內各監控點(diǎn)信號采集的中心,當門(mén)磁、窗磁、戶(hù)內紅外、煙感以及緊急信號被發(fā)出時(shí),都將首先送到戶(hù)內可視分機,由AT89S52進(jìn)行判斷和初步處理,然后轉交TMPN3150B1AF芯片送上Lonworks通信網(wǎng)絡(luò ),傳送到管理中心進(jìn)行顯示和處理。
(3)開(kāi)鎖功能。通過(guò)戶(hù)內可視分機,可以控制打開(kāi)安裝于單元門(mén)上并與單元主機相連的電磁鎖??刂栖浖蓞R編語(yǔ)言編寫(xiě),分戶(hù)內可視分機和單元主機兩部分,由系統不同狀態(tài)的處理和切換組成。
5 結論
采用基于單片機與Lonworks技術(shù)的可視監控系統,不僅不用單獨為L(cháng)onworks網(wǎng)絡(luò )設計專(zhuān)用的監控設備,而且提高了通信網(wǎng)絡(luò )的使用率,簡(jiǎn)化了網(wǎng)絡(luò )設計,減少了開(kāi)發(fā)和生產(chǎn)成本,使可視化監控更加人性化。
評論