新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Lon總線在智能家庭圖像采集節點應用方案

        Lon總線在智能家庭圖像采集節點應用方案

        作者: 時間:2011-10-09 來源:網絡 收藏
        本文通過一個具體的實例,介紹了Lon Works技術在智能家庭的具體應用。LON總線是美國ECHELON公司1991推出的為集散式監控系統提供的實現手段,并有一系列完整的開發平臺。

          作者采用神經元芯片Neuron 3150并配合W77E58單片機系列開發了低成本的圖像采集節點,并能通過上位機向用戶發送手機短信,有效地彌補了現在的智能住宅的不足。

          1 系統結構

          本系統是智能家庭系統中的子系統,主要實現的是:當有人進入該區域時則立即進行圖像采集,通過各個模塊進行處理后經LON總線送入上位機并通知用戶,該系統屬于家庭安全防范中的一部分。由于本文的需要,只設置了1個節點(也可以有多個節點)。設計中采用通用的LonWorks節點模塊,以神經元芯片Neuron3150作為主控制端,W77E58單片機作為受控端進行圖像采集處理。其系統總體框圖如圖1所示。


        圖1 系統總體框圖

          2 硬件設計

          2.1 ZM460圖像采集模塊

          ZM460圖像壓縮模塊采用JPEG壓縮技術,是一種內置JPEG壓縮功能的數字輸出嵌入式攝像設備,圖像具有多種分辨率,輸出完整的JPEG文件并結合最適應的網絡協議,將圖像通過RS232/485串口輸出圖像。由于該智能節點實時性要求不是很高,故本文采用W77E58單片機來控制。

          2.2 W77E58單片機芯片

          W77E58單片機芯片是一個快速并與8051單片機兼容的微控制器,它的內核經過重新設計,提高了時鐘的速度和存儲器訪問周期速度,W77E58的指令執行速度是標準8051單片機的1.5~3倍。在相同的吞吐量及低頻時鐘情況下,電源消耗也比8051單片機低。W77E58內含32 KB Flash EPROM,工作電壓為4.5V~5.5V,具有1 KB片上外部存儲器,當用戶應用時使用片上SRAM,可節省更多IO口。FIFO存儲器用作對ZM460圖像采集模塊所采集的圖像數據進行緩存,調節W77E58單片機與ZM460圖像采集模塊之間速度的差異,從而采集到完整圖像。ZM460模塊與W77E58單片機之間采用的是RS232接口。

          2.3 Neuron 3150芯片

          Neuron 3150芯片是LON總線的核心,內部包括3個微處理器:MAC處理器、網絡處理器、應用處理器。Neuron 3150芯片[2]的IO8、IO10通過雙排針IO口分別與W77E58單片機的串行通信口RXD、TXD連接。因為神經元Neuron 3150芯片只支持半雙工異步通信,所以應用程序處理器在處理其他事件時將不能夠再顧及串行輸入,有可能發生丟失串口字符的現象。為解決該問題,可以使用硬件握手協議,Neuron 3150芯片的IO0和IO1作為RST、CTS信號,分別與W77E58單片機的P2.4和P2.5引腳相連,為了增強驅動能力,中間再加1個反相器。如圖2所示。

        主從處理器的連接框圖

        圖2主從處理器的連接框圖

          2.4 Neuron 3150芯片收發器

          收發器是智能節點與LON網之間的接口,是通信電路的核心。雙絞線收發器是最通用的收發器類型。本設計采用變壓器耦合型收發器FTT-10A。神經元芯片收發器的電路圖如圖3所示。另外,還有晶振電路、復位電路和Service電路等。晶振電路為Neuron 3150芯片提供工作時鐘。復位電路用于在智能節點上電時產生復位操作。

        Neuron芯片收發器連接圖

        圖3 Neuron芯片收發器連接圖

          2.5 Neuron芯片與PC機的連接

          Neuron芯片與PC機通過雙絞線連接。主機是1臺PC機,通過PCLTA可以自由地在Lon Works上進行網絡通信。PCLTA(PC Lon Talk Adapter)是一個網絡適配器,在驅動程序的作用下,主機通過PCLTA上網,充當上位機的角色,它是Lon Works網絡的一個特殊節點,其作用是:與神經元芯片進行通信及與外界進行通信(包括手機)。

          3 軟件設計

          單片機與Neuron 3150芯片之間的通信流程圖如圖4所示。


        圖4 單片機與 3150芯片通信流程圖

          3.1 Neuron 3150芯片程序

          在Neuron 3150芯片中,使用的IO口稱為串口(Serial)輸入/輸出對象。管腳IO8、IO10分別設置為異步串行數據的輸入線和輸出線。該IO對象類型是用于使用異步串行數據格式傳輸數據的場合,如RS-232通信。傳輸格式是:1個開始位、1個數據位、1個停止位。輸入串行IO對象將等待被接收的數據幀開始直到接收了202個以上字符所要時間才結束。限于篇幅,只給出下面接收程序:

          //接收程序:

          IO_0 output bit CTS;

          IO_1 input bit RTS;

          IO_10 input serial RXD;

          Network output int fkmingling[b];

          When (io_change(RTS)to 0)

          {

          Unsigned int num;

          Unsigned long sum,getsum;

          IO_out(CTS,1);

          Num=io_in(RXD,inputbuf,7); //串口接收

          }

          3.2 上位機系統設計

          上位機采用VB編寫接口程序,通過設置控件Link調用ASP內的發送短信的文件,并獲取Lon Works網絡的節點的變量信息。用ASP+ADO進行收發短信設計,也可以使遠程主機通過在瀏覽器中輸入服務器的IP地址來監視Lon Works 設備信息。在發送短信之前先填好要發送的手機號和內容。發送短信ASP的主要代碼(部分)如下:

          %

          ′要發送的手機號碼、要發送的信息內容預先設置好

          SendNumber=request("SenderNumber")

          Message=request("message")

          if Sendnumber="" or message="" then errmsg="li>

          各項均不能為空!"

          ′短消息的長度不能超過140個字符

          if len(message)>140 then errmsg=errmsg+"li>短信

          內容超長,請查檢!"

          ′更新信息發送數據表

          conn.execute("insert into senddata(mobile,message)

          values("+sendnumber+"," +message+ ")")

          response.redirect("http: //自己的IP地址

          /mt/SendServ-let?dstmobile="+cstr(sendnumber)+"feemobile="+cstr(sendnumber)+"msg="+server.URLEncode(trim(message))+"sv code=Zrr034spnum=33343457cp_id=wise

          6733333000cp_pass=wtiaw6ip=211.1.607.105")

          response.write "您的消息已經成功發出,謝謝!"

          %>

          此代碼由神經元芯片將指令傳送到VB程序后由PC機自動發出。

          本文所設計的基于Lon Works技術的圖像采集系統是智能家庭的一部分,其創新點是:利用LON網絡,把圖像采集與Neuron芯片集于一體,并通過PC機能向手機發送短信告知。管理者可以從任何有網絡的地方來監視自己的家庭情況,即使主人不在也可以通過該裝置以短信的方式向主人發出來訪者信息,極大地提高了家庭的安全性。




        評論


        技術專區

        關閉
        主站蜘蛛池模板: 霍林郭勒市| 芦山县| 平昌县| 台东市| 万盛区| 南陵县| 平南县| 镇宁| 南汇区| 临澧县| 淳化县| 金坛市| 临泉县| 建德市| 綦江县| 万源市| 随州市| 灵川县| 遂宁市| 雷州市| 连城县| 景德镇市| 卢湾区| 宁武县| 木里| 淮滨县| 怀来县| 宣汉县| 黑龙江省| 屏东县| 玉林市| 吕梁市| 金阳县| 怀安县| 蓝山县| 浮山县| 凌源市| 杨浦区| 多伦县| 涟源市| 莒南县|