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