基于單片機與Lonworks的可視對講系統(tǒng)設(shè)計
4 節(jié)點軟件設(shè)計
4.1 Lonworks部分 本文引用地址:http://m.butianyuan.cn/article/173481.htm
Neuron芯片的編程語言為Neuron C,它是從ANSI C派生出來的,并對ANSI C進行了刪減和增補。例如,Neuron C由事件的發(fā)生來驅(qū)動任務(wù)的執(zhí)行;Neuron的芯片提供了毫秒和秒這2種類型的軟件計時器。
主程序流程如圖3所示。它主要完成的任務(wù)如下:首先對I/O對象和軟件計時器的定義以及設(shè)置變量初始值,判斷是否有“開鎖”信號,并啟動計時器開始計時,計時器終止時,Neuron芯片接受新的定時任務(wù) 。
圖3 主程序流程圖
神經(jīng)元芯片(neuron chip)是Lonworks技術(shù)的核心所在,它是一個帶有多個處理器、讀寫/只讀存儲器(RAM/ROM)以及通信和I/O接口的單芯片系統(tǒng)。只讀存儲器包含一個操作系統(tǒng)、LonTalk協(xié)議和I/O功能庫。Neuron C是一種基于ANSI C并為神經(jīng)元芯片設(shè)計的一種編程語言,它對ANSI C進行了擴展以直接支持Neuron芯片的固件例程。Neuron C語言包括一個內(nèi)部多任務(wù)調(diào)度程序、一個Run―Time函數(shù)庫,采用的是事件驅(qū)動編程結(jié)構(gòu)。整個接點的軟件功能都是由若干個事件驅(qū)動完成。
對于單個節(jié)點,軟件設(shè)計包括初始化,讀取輸入數(shù)據(jù),更新網(wǎng)絡(luò)變量,定時控制和執(zhí)行輸出控制操作等任務(wù)。
而對于園區(qū)網(wǎng)絡(luò),則將總線控制權(quán)交由管理中心掌握,其他節(jié)點如有總線占用需求,需要向管理中心發(fā)出請求,等待管理中心發(fā)出請求響應(yīng)命令;而當(dāng)節(jié)點總線訪問程序結(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)可視分機顯示屏電源均處于關(guān)閉狀態(tài)。
(2)監(jiān)控信號采集功能。戶內(nèi)可視分機不僅是連接單元主機的節(jié)點,更是戶內(nèi)各監(jiān)控點信號采集的中心,當(dāng)門磁、窗磁、戶內(nèi)紅外、煙感以及緊急信號被發(fā)出時,都將首先送到戶內(nèi)可視分機,由AT89S52進行判斷和初步處理,然后轉(zhuǎn)交TMPN3150B1AF芯片送上Lonworks通信網(wǎng)絡(luò),傳送到管理中心進行顯示和處理。
(3)開鎖功能。通過戶內(nèi)可視分機,可以控制打開安裝于單元門上并與單元主機相連的電磁鎖??刂栖浖蓞R編語言編寫,分戶內(nèi)可視分機和單元主機兩部分,由系統(tǒng)不同狀態(tài)的處理和切換組成。
5 結(jié)論
采用基于單片機與Lonworks技術(shù)的可視監(jiān)控系統(tǒng),不僅不用單獨為Lonworks網(wǎng)絡(luò)設(shè)計專用的監(jiān)控設(shè)備,而且提高了通信網(wǎng)絡(luò)的使用率,簡化了網(wǎng)絡(luò)設(shè)計,減少了開發(fā)和生產(chǎn)成本,使可視化監(jiān)控更加人性化。
評論