国产欧美日韩精品a在线观看-国产欧美日韩精品一区二区三区-国产欧美日韩精品综合-国产欧美中文字幕-一区二区三区精品国产-一区二区三区精品国产欧美

ACS880-07C
關(guān)注中國(guó)自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
隨著會(huì)計(jì)的發(fā)展,追蹤碳足跡
CAIAC 2025
2024
工業(yè)智能邊緣計(jì)算2024年會(huì)
2023年工業(yè)安全大會(huì)
OICT公益講堂
當(dāng)前位置:首頁(yè) >> 案例 >> 案例首頁(yè)

案例頻道

基于TINI平臺(tái)的網(wǎng)絡(luò)開(kāi)關(guān)設(shè)計(jì)
  • 企業(yè):控制網(wǎng)    
  • 點(diǎn)擊數(shù):1908     發(fā)布時(shí)間:2006-07-20 11:09:22
  • 分享到:
提出一種基于TINI平臺(tái)的網(wǎng)絡(luò)ON/OFF開(kāi)關(guān)系統(tǒng)設(shè)計(jì)方案,介紹以D S 8 0 C 4 0 0 單片機(jī)為核心的系統(tǒng)硬件構(gòu)成和基于T I N I 運(yùn)行環(huán)境的應(yīng)用程序設(shè)計(jì)方法。該方案可以實(shí)現(xiàn)網(wǎng)絡(luò)開(kāi)關(guān)的開(kāi)關(guān)控制。
引言
        為了達(dá)到利用Internet強(qiáng)大的網(wǎng)絡(luò)功能,實(shí)現(xiàn)遠(yuǎn)程控制的目的,需要研究合理的網(wǎng)絡(luò)接入方案。利用基于TINI平臺(tái)的嵌入式系統(tǒng),搭建不同設(shè)備接入計(jì)算機(jī)網(wǎng)絡(luò)的橋梁。利用嵌入式系統(tǒng)強(qiáng)大的軟硬件功能,可以支持不同的設(shè)備,實(shí)現(xiàn)接入方案的通用性。由于嵌入式系統(tǒng)具備較好的數(shù)據(jù)處理能力,不僅可以作為簡(jiǎn)單的網(wǎng)絡(luò)接口,還可以擴(kuò)展接入設(shè)備的網(wǎng)絡(luò)功能。
        本次設(shè)計(jì)方案,IP網(wǎng)絡(luò)繼電器所需的TCP/IP棧和本地控制全部可由TINI平臺(tái)提供。JAVA運(yùn)行環(huán)境極大地降低了這項(xiàng)任務(wù)的復(fù)雜性,利用它可以實(shí)現(xiàn)通過(guò)網(wǎng)絡(luò)遠(yuǎn)程訪問(wèn)和控制小型傳感器和執(zhí)行器。本次設(shè)計(jì)的IP ON/OFF開(kāi)關(guān),采用一個(gè)簡(jiǎn)單的繼電器和微控制器DS80C400構(gòu)建,它還可以延伸到其他遠(yuǎn)程監(jiān)視和控制應(yīng)用中。本電路由一個(gè)成為T(mén)INIWebServer的應(yīng)用進(jìn)行控制,它直接由TINI運(yùn)行環(huán)境執(zhí)行,applet服務(wù)于主工作站,為了命令和狀態(tài)返回到TINI運(yùn)行環(huán)境而打開(kāi)雙向通信,并且顯示一個(gè)用于遙控繼電器的圖形用戶界面。
   
一、系統(tǒng)軟件概述
        Com.dalsemi.tininet.http.HTTPServer類(lèi)屬于JAVAKIT里的一個(gè)擴(kuò)展類(lèi),它允許開(kāi)關(guān)控制應(yīng)用程序充當(dāng)簡(jiǎn)單的web服務(wù)器,其唯一的目的是將applet傳遞給遠(yuǎn)端主機(jī),在被主機(jī)內(nèi)部瀏覽器執(zhí)行后,該applet就建立了一個(gè)于TINI應(yīng)用程序交換命令和狀態(tài)的雙向TCP連接,它也為顯示控制和狀態(tài)提供了一個(gè)圖形用戶界面。圖1描述了整個(gè)軟件系統(tǒng)的原理圖。


1 系統(tǒng)軟件原理圖

二、系統(tǒng)硬件概述

    在圖2中,基于DS80C400芯片的ON/OFF控制電路構(gòu)成了開(kāi)關(guān)接口。DS80C400芯片提供了以太網(wǎng)接口能力,以及通過(guò)引腳P5.0(其他引腳也可以等效工作)控制開(kāi)關(guān)。N溝道MOSFET通過(guò)開(kāi)關(guān)流過(guò)繼電器的電流,來(lái)控制繼電器。用戶可以根據(jù)繼電器和FET的大小要求,供給不同的電壓和電流;如果不需要隔離外部電路于TINI驗(yàn)證模塊的電源,則可以去掉繼電器。在開(kāi)關(guān)狀態(tài)改變時(shí),二極管抑制繼電器線圈的感生電壓。為了可能實(shí)現(xiàn)某些新的服務(wù),如網(wǎng)絡(luò)開(kāi)關(guān)控制,在TINI芯片組參考設(shè)計(jì)中,采用基于標(biāo)準(zhǔn)的因特網(wǎng)技術(shù),集成了所需要的軟硬件組件。


2 系統(tǒng)硬件原理圖

三、網(wǎng)絡(luò)開(kāi)關(guān)控制原理
    由四個(gè)類(lèi)構(gòu)成了該應(yīng)用的開(kāi)關(guān)控制和web服務(wù)器接口部分。Power-Switch類(lèi)通過(guò)采用TINI類(lèi)中的com.dalsemi.system.BitPort  API類(lèi),直接接口至硬件。WebWorker類(lèi)直接來(lái)由Software Developer’s Kit (TINI SDK)中的TINIWebServer,負(fù)責(zé)為到來(lái)的HTTP連接提供服務(wù)。SwitchWorker類(lèi)管理applet和TINI應(yīng)用之間的所有命令和狀態(tài)通信。TINIWebServer類(lèi)通過(guò)綁定各個(gè)類(lèi)的操作,來(lái)實(shí)現(xiàn)本應(yīng)用。
    PowerSwitch類(lèi)是一個(gè)連接硬件的接口,在其構(gòu)造器內(nèi)為引腳P5.0創(chuàng)建一個(gè)BitPort目標(biāo)。在該類(lèi)中,可以執(zhí)行兩種函數(shù),ON函數(shù)設(shè)定的引腳端口狀態(tài)是接通繼電器線圈的電壓;而OFF函數(shù)通過(guò)清零端口狀態(tài),來(lái)斷開(kāi)繼電器線圈的電壓。在圖2中的單刀雙擲(SPDT)繼電器能夠工作于常閉或常開(kāi)位置,即在這兩種位置之間切換外部電壓源。ON和OFF函數(shù)假設(shè)電路工作于常開(kāi)狀態(tài),且必須能夠被改變至常閉電路狀態(tài)。為了指示ON/OFF是否對(duì)應(yīng)于BitPort的位置或clear函數(shù),則在該類(lèi)中引入了一個(gè)外部的布爾變量(invert)。另一個(gè)函數(shù)(setInvert)要求用來(lái)初始化invert變量。硬件圖描述的是常開(kāi)電路。
    WebWorker類(lèi)提供了網(wǎng)絡(luò)和應(yīng)用之間的接口。它簡(jiǎn)單地建立和驅(qū)動(dòng)一個(gè)目標(biāo)(com.dalsemi.tininet.http.HTTPServer),該目標(biāo)依次產(chǎn)生線程,為每一個(gè)到來(lái)的HTTP連接提供服務(wù),該類(lèi)取自于上述的TINIWebserver,無(wú)須作任何修改,可以在網(wǎng)絡(luò)上的任何地方接入,HTTPServer能夠提供輸入密碼,或者接受任何其他形式的控制,僅允許那些授權(quán)的用號(hào)接入。
    通過(guò)將網(wǎng)絡(luò)和硬件接口組合在一起(圖3所示),TINIWebServer允許遠(yuǎn)程開(kāi)關(guān)控制。例如,drive()函數(shù)通過(guò)創(chuàng)建一個(gè)WebWorker線程和網(wǎng)頁(yè)“index.html”,建立此web服務(wù)器,網(wǎng)頁(yè)的主要目的是為了在主機(jī)工作站上,下載并執(zhí)行該applet。如果提示網(wǎng)頁(yè)僅包含靜態(tài)信息,該應(yīng)用就沒(méi)有必要?jiǎng)?chuàng)建網(wǎng)頁(yè)。該索引只需要包含applet的jar文件一起,拷貝至web服務(wù)器的根目錄下即可。


3 網(wǎng)絡(luò)與硬件接口連接流程

    CODEBASE是一個(gè)在每個(gè)TINI芯片組設(shè)計(jì)中可以改變的網(wǎng)頁(yè)參數(shù)。Applet使用該信息,以返回連接至某個(gè)獨(dú)立的服務(wù)器插件中的TINI應(yīng)用程序,可以創(chuàng)建并上傳一個(gè)定制的網(wǎng)頁(yè)至任何一個(gè)安裝在現(xiàn)場(chǎng)的TINI芯片組參考設(shè)計(jì)。一個(gè)簡(jiǎn)單的方法是由應(yīng)用程序在每次運(yùn)行時(shí),創(chuàng)建該網(wǎng)頁(yè)。通過(guò)三次寫(xiě)操作,createIndexPage函數(shù)可以創(chuàng)建文件index.html,并將IP地址插入CODEBASE部分:
1)  index.write(indexTop.getBytes(),0,indexTop.length());
2)  index.write(InetAddress.getLocalHost().getHostAddress().getBytes());
3)  index.write(indexBottom.getBytes (), 0, indexBottom.length ());
    第一次和第三此寫(xiě)操作是將網(wǎng)頁(yè)的靜態(tài)部分拷貝至文件中,而第二次寫(xiě)操作是將IP地址拷貝至文件的CODEBASE部分,在應(yīng)用程序建立web服務(wù)器和創(chuàng)建網(wǎng)頁(yè)后,就啟動(dòng)了web服務(wù)器。它創(chuàng)建一個(gè)服務(wù)器插件,用來(lái)處理來(lái)自下載applet的鍵入連接,并且在applet每次連接TINI應(yīng)用時(shí),調(diào)用serviceConnection函數(shù)。
    serviceConnection函數(shù)創(chuàng)建了一個(gè)新例程SwitchWorker,并將這個(gè)插件傳給該類(lèi),SwitchWorker構(gòu)造器創(chuàng)建一個(gè)新的線程,以處理主機(jī)applet 和TINI應(yīng)用之間的連接,SwitchWorker 函數(shù)也處理下一個(gè)進(jìn)入連接,接著將控制傳給drive函數(shù)。
    SwitchWorker類(lèi)管理applet和Web服務(wù)器之間的所有通信(圖4),在連接被斷開(kāi)之前,它不斷地循環(huán),執(zhí)行下列步驟:
1)  停留在read(),等待一個(gè)來(lái)自applet的命令字節(jié);
2)  如果命令字節(jié)為0,則斷開(kāi)開(kāi)關(guān);如果為1,則閉合開(kāi)關(guān);
3)  讀入當(dāng)前開(kāi)關(guān)狀態(tài),回傳至applet。


4 applet與web服務(wù)器通信狀態(tài)圖

    通過(guò)分配每個(gè)命令字節(jié)的低7位來(lái)表示不同開(kāi)關(guān)的狀態(tài)(圖 5),該運(yùn)算法則可以適用于更多的開(kāi)關(guān)。保留最高位,用來(lái)指示只讀操作。該運(yùn)行法則也可以被擴(kuò)展,以允許在同一時(shí)刻多個(gè)applet連接至單個(gè)TINI web服務(wù)器應(yīng)用。SwitchWorker只是簡(jiǎn)單地保持一個(gè)“監(jiān)聽(tīng)向量”(” vector of  listerners”)。每次applet發(fā)出一個(gè)修改開(kāi)關(guān)狀態(tài)的命令,web服務(wù)器就將其狀態(tài)回傳至當(dāng)前之連接的所有applet。


圖5 網(wǎng)絡(luò)開(kāi)關(guān)控制流程圖

    將applet應(yīng)用在主機(jī)上,是因?yàn)樗峁┝艘惶棕S富的、用于顯示控制和狀態(tài)的圖形對(duì)象以及允許雙向通信。TINI類(lèi)中的com.dalsemi.tininet.http.HTTPServer類(lèi)是一種小巧而快速的類(lèi),但僅支持HTTP GET操作。由此產(chǎn)生是數(shù)據(jù)只能從TINI應(yīng)用到主機(jī)單向傳遞。然而,該應(yīng)用要求雙向數(shù)據(jù)傳輸。命令由主機(jī)發(fā)送至TINI web服務(wù)器,而狀態(tài)由web服務(wù)器發(fā)送至所有相連的主機(jī)。主機(jī)和TINI應(yīng)用之間的通信無(wú)協(xié)議開(kāi)銷(xiāo),單字節(jié)命令和單字節(jié)狀態(tài)允許極快的控制和狀態(tài)響應(yīng)。
    主機(jī)applet包括兩個(gè)類(lèi):主類(lèi)(SwitchControl)處理主機(jī)端的網(wǎng)絡(luò)通信和創(chuàng)建網(wǎng)頁(yè)上所有的顯示圖形單元(圖6);另一個(gè)類(lèi)(ImageButton)創(chuàng)建一個(gè)圖形撥動(dòng)按鈕,顯示對(duì)應(yīng)于按鈕狀態(tài)的兩種位圖之一。撥動(dòng)按鈕用于開(kāi)關(guān)的控制和狀態(tài)指示應(yīng)該是足夠的,但applet的表現(xiàn)會(huì)因?yàn)g覽器的不同而異。因此,加入簡(jiǎn)單的ON/OFF按鈕將完成相同的控制功能,位圖和狀態(tài)窗完成相同的狀態(tài)指示功能而已。


6 SwitchControl控制流程圖

    在創(chuàng)建圖形單元后,SwitchControl類(lèi)將創(chuàng)建一個(gè)狀態(tài)監(jiān)測(cè)線程。該線程接著進(jìn)入休眠模式,停留于讀命令狀態(tài),等待來(lái)自于TINI應(yīng)用的狀態(tài)信息。當(dāng)線程向下運(yùn)行時(shí),ImageButton的位圖和狀態(tài)窗被刷新,接著又循環(huán)到程序的頂部,等待下一次的狀態(tài)字節(jié)。Applet事件線程驅(qū)動(dòng)actionPerformed函數(shù),該函數(shù)在每次按下圖形按鈕后被調(diào)用,如果調(diào)用由ImageButton或ON/OFF按鈕觸發(fā),則它翻轉(zhuǎn)當(dāng)前狀態(tài),并向TINI發(fā)出一個(gè)開(kāi)或關(guān)的命令,ImageButton類(lèi)只是一個(gè)簡(jiǎn)單的采用AWT(Abstract Window Toolkit)組件編程的范例。
 
四、結(jié)論
    由上述可知,采用TINI運(yùn)行環(huán)境,JAVA程序和簡(jiǎn)單的繼電器電路,實(shí)行遠(yuǎn)程控制ON/OFF開(kāi)關(guān)時(shí)非常容易的。挑選合適的現(xiàn)有電路元件使得許多應(yīng)用成為可能,可以控制任何事物(從任何位置的網(wǎng)絡(luò)接入),從照明燈到任何工業(yè)設(shè)備。
 
 
 
 
 
參考文獻(xiàn)
1 DS80C400 Network Microcontroller 1999
2 High-Speed Microcontroller User Guide: DS80C400Supplement 1999
3 Exploring Tiny InterNet Interface 1999
4 The TINI Specification and Developer Guide 1999

熱點(diǎn)新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細(xì)的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 国产婷婷成人久久av免费高清 | 国产精品91在线播放 | 国产一级精品毛片 | 国产欧美视频在线观看 | 国产欧美成人免费观看视频 | 深夜国产成人福利在线观看女同 | 欧美亚洲另类视频 | 欧美高清视频手机在在线 | avtom影院入口永久在线 | 一级片欧美 | 欧美性色xo在线 | 国产特黄特色的大片观看免费视频 | 国产欧美一区二区三区精品 | a级在线观看视频 | 在线观看日本污污ww网站 | 亚洲精品国产精品国自产网站 | 夜夜爱夜夜爽夜夜做夜夜欢 | 国产欧美另类久久久品 | 国产精品videossex另类 | 日韩欧美亚洲国产 | 精品午夜一区二区三区在线观看 | 日韩午夜视频在线观看 | 国产三级在线视频播放线 | 一区二区三区在线播放视频 | 伊人国产在线视频 | 亚洲狠狠ady亚洲精品大秀 | 午夜三级a三级三点在线观看 | 亚洲a级 | 黄色毛片一级 | 手机看片国产免费永久 | 成人涩涩屋福利视频 | 国产成人免费午夜性视频 | 手机看片福利永久 | 国产精品一区在线观看 | 国产激情视频在线播放 | 免费高清欧美一区二区视频 | 亚欧色| 国产毛片一级国语版 | 一级绝黄 | 欧美成人欧美激情欧美风情 | 久久成人精品免费播放 |