技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 嵌入式網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)換系統(tǒng)的研究與開發(fā)

嵌入式網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)換系統(tǒng)的研究與開發(fā)

時(shí)間:2008-05-06 14:10:00來源:ronggang

導(dǎo)語:?本文討論一種基于TINI的以太網(wǎng)接入方案。此系統(tǒng)可以很方便地?cái)U(kuò)展到其他通信協(xié)議的轉(zhuǎn)換,諸如CAN、1-Wire網(wǎng)絡(luò)等,以適應(yīng)不同設(shè)備接入以太網(wǎng)的需要
摘 要:在工業(yè)控制和消費(fèi)電子領(lǐng)域,目前許多設(shè)備要求具備以太網(wǎng)或者與Internet通信功能。本文討論一種基于TINI的以太網(wǎng)接入方案。此系統(tǒng)可以很方便地?cái)U(kuò)展到其他通信協(xié)議的轉(zhuǎn)換,諸如CAN、1-Wire網(wǎng)絡(luò)等,以適應(yīng)不同設(shè)備接入以太網(wǎng)的需要。利用本系統(tǒng)可以很好地解決與自動(dòng)化生產(chǎn)設(shè)備、網(wǎng)絡(luò)開關(guān)和傳感器的遠(yuǎn)程通信問題,以及實(shí)現(xiàn)遠(yuǎn)程診斷與控制。另外,介紹了利用Java作為開發(fā)工具來開發(fā)串口到以太網(wǎng)數(shù)據(jù)轉(zhuǎn)換的通信程序。 關(guān)鍵詞:網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)換 TINI Java DP83846A DS80C400   為了達(dá)到利用Internet強(qiáng)大的網(wǎng)絡(luò)功能,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控的目的,需要研究合理的網(wǎng)絡(luò)接人方案。利用基于TINI平臺的嵌入式系統(tǒng),搭建不同設(shè)備接人計(jì)算機(jī)網(wǎng)絡(luò)的橋梁。利用嵌入式系統(tǒng)強(qiáng)大的軟硬件功能,可以支持不同的設(shè)備,實(shí)現(xiàn)接入方案的通用性。由于嵌入式系統(tǒng)具備較好的數(shù)據(jù)處理能力,不僅可以作為簡單的網(wǎng)絡(luò)接口,還可以擴(kuò)展接人設(shè)備的網(wǎng)絡(luò)功能,甚至于還可以對通信的數(shù)據(jù)進(jìn)行加密等處理。   嵌入式系統(tǒng)包括專用的硬件和軟件部分,硬件提供性能的支持,而軟件則為用戶提供廣泛的靈活性。嵌入式系統(tǒng)的軟件包括其自身的操作系統(tǒng)和編程環(huán)境。Java所具有的各種特性使它成為嵌入式設(shè)備理想的軟件開發(fā)工具。針對Java有很多免費(fèi)開放的資源,Java獨(dú)立于硬件平臺,具備可移植性。這一切都可以降低嵌入式設(shè)備開發(fā)和使用的成本。其中TINI平臺就是一種具備Java開發(fā)功能的嵌入式系統(tǒng)。 1 系統(tǒng)硬件組成   基于TINI數(shù)據(jù)轉(zhuǎn)換系統(tǒng)的硬件系統(tǒng)如圖1所示。系統(tǒng)與外界的接口主要是RS232的串口和RJ45的以太網(wǎng)接口,其功能就是將串口設(shè)備接人到局域網(wǎng)絡(luò)甚至于Interne。
2 網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)換系統(tǒng)的Java程序   2.1 軟件開發(fā)工具包——TlNI SDK   為了在編程中實(shí)現(xiàn)對硬件的訪問,Dallas公司開發(fā)的TINI SDK將DS80C400中的硬件部分虛擬為Java的類。通過調(diào)用相關(guān)的方法來實(shí)現(xiàn)對硬件的操作。SDK中包含Dallas公司開發(fā)的嵌入式操作系統(tǒng)。它是多任務(wù)、多線程、具有跨平臺的能力、擁有高度優(yōu)化的Java運(yùn)行環(huán)境的操作系統(tǒng)。   在TINI SDK的支持下開發(fā)應(yīng)用程序,主要采用Java進(jìn)行,通常不直接面對匯編語言,但是TINI運(yùn)行環(huán)境提供了使用本地方法的機(jī)制。為了優(yōu)化嚴(yán)格要求速度的通道或訪問底層硬件,可以使用本地語言(主要是匯編語言)來編寫子程序,這樣增加了系統(tǒng)的靈活性。   利用SDK中提供的API可以簡化編程。利用SDK中提供的JavaKit和TINIConvertor等工具,在PC上進(jìn)行程序的開發(fā)調(diào)試工作,生成適用于TINI運(yùn)行環(huán)境的目標(biāo)應(yīng)用程序。通過JayaKit向TINI硬件存儲(chǔ)器中裝載TINI的運(yùn)行環(huán)境(包括TINI的操作系統(tǒng)),配置好網(wǎng)絡(luò)參數(shù),即可通過FTP、TELNET等下載用戶程序到TINI硬件上并控制運(yùn)行。TINI的Java虛擬機(jī)將Java字節(jié)碼轉(zhuǎn)換成為機(jī)器硬件系統(tǒng)能夠執(zhí)行的代碼。   2.2系統(tǒng)程序的設(shè)計(jì)方法   為了實(shí)現(xiàn)串口數(shù)據(jù)和以太網(wǎng)絡(luò)數(shù)據(jù)之間的交換,設(shè)計(jì)了基于TINI系統(tǒng)的網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)換程序。該程序的主要功能是,從串口設(shè)備讀取數(shù)據(jù),將所得到的數(shù)據(jù)進(jìn)行TcP/IP協(xié)議封裝,通過RJ45的接口發(fā)送到上位機(jī),與上位機(jī)的服務(wù)器程序進(jìn)行交互;同時(shí),將上位機(jī)發(fā)送給TINI的數(shù)據(jù)轉(zhuǎn)發(fā)到RS232的串口,進(jìn)而可通過網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控現(xiàn)場的串口設(shè)備。本設(shè)計(jì)中,TINI印刷電路板上有兩個(gè)串口,分別定義為串口O和串口4。單片機(jī)內(nèi)部集成UART,串口0用來串口啟動(dòng)TINl,下載TINI運(yùn)行環(huán)境,以及作為TINI的輸出終端。本程序中,利用串口4和上位機(jī)服務(wù)器程序交互。   數(shù)據(jù)轉(zhuǎn)換由兩個(gè)進(jìn)程來實(shí)現(xiàn),它們分別是SerialWriter和SerialReader。SerialWritel的功能是從上位機(jī)服務(wù)器讀取數(shù)據(jù)流,再把數(shù)據(jù)寫到串口輸出數(shù)據(jù)流;SeriaReader的功能是把串口緩沖區(qū)中的可用數(shù)據(jù)讀到輸入緩沖區(qū),通過向網(wǎng)絡(luò)輸出流寫數(shù)據(jù)把串口數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)服務(wù)器,并且更新串口數(shù)據(jù)量;同時(shí)監(jiān)視這兩個(gè)進(jìn)程有無異常。如果捕捉到異常,便關(guān)閉數(shù)據(jù)流并中斷維持線程,結(jié)束程序。   SerialToEthernet本身繼承了一個(gè)線程類。它是一個(gè)維持線程,功能是判斷系統(tǒng)通信狀態(tài)。如果正常,則每隔6 s打印輸出數(shù)據(jù)流量;如果連接的服務(wù)器被關(guān)閉,則關(guān)閉串口socket及相關(guān)的流。它的線程程序中,是一個(gè)有系統(tǒng)運(yùn)行狀態(tài)標(biāo)志控制的循環(huán),維持程序運(yùn)行,每一次循環(huán)中首先使該進(jìn)程睡眠6 000 ms,然后打印輸出此時(shí)的數(shù)據(jù)流量。程序的流程如圖2、圖3、圖4所示。
3 系統(tǒng)調(diào)試方案   系統(tǒng)調(diào)試的主要目的是模擬現(xiàn)場設(shè)備與以太網(wǎng)之間的數(shù)據(jù)轉(zhuǎn)換,將PC機(jī)通過串口與以太網(wǎng)接口與系統(tǒng)相連,接線方式如圖5所示;用PC機(jī)模擬現(xiàn)場的設(shè)備,同時(shí),利用PC機(jī)作為上位機(jī)監(jiān)控系統(tǒng)運(yùn)行。   實(shí)驗(yàn)中除了運(yùn)行SerialToEthernet外,還準(zhǔn)備了兩個(gè)簡單的用戶程序,用于系統(tǒng)調(diào)試,分別是HelloWorld和Blinky。   第一步,下載運(yùn)行HelloWorld。其功能是在以JavaKit作為TINI的系統(tǒng)輸出終端(類似于PC機(jī)的顯示器),打印輸出“Hello World”的字符串,用于檢驗(yàn)串口O。   第二步,下載運(yùn)行Blinky。它的功能是與P3.5相連的LED不停閃爍,用于檢驗(yàn)I/0口的功能。   第三步,下載運(yùn)行SerialToEthernet,同時(shí)運(yùn)行上位機(jī)上服務(wù)器程序TINlServer。TINI系統(tǒng)上運(yùn)行Serial-ToEthernet,用于實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)功能。為了驗(yàn)證上位機(jī)與TINI問的串口通信,上位機(jī)上運(yùn)行串口調(diào)試程序,從而用上位機(jī)模擬實(shí)際的現(xiàn)場串口設(shè)備。運(yùn)行串口調(diào)試程序時(shí),在其中把串口設(shè)為與TINI的串口參數(shù)相同,發(fā)送模式設(shè)為連續(xù)發(fā)送。在這樣的模擬情況下,從串口調(diào)試程序窗口輸入的數(shù)據(jù),通過串口發(fā)送給TINI系統(tǒng),經(jīng)過TINI的轉(zhuǎn)發(fā),通過RJ45接口發(fā)往上位機(jī)。上位機(jī)運(yùn)行服務(wù)器程序TINIServer,它將TINI發(fā)來的數(shù)據(jù)不經(jīng)處理直接通過輸出流發(fā)送給TINI。經(jīng)過TINI的轉(zhuǎn)發(fā),數(shù)據(jù)再次由串口返回上位機(jī),顯示在串口調(diào)試程序的“接收區(qū)”中。數(shù)據(jù)流向如圖6所示。
4 結(jié)論   與傳統(tǒng)的工業(yè)控制數(shù)據(jù)轉(zhuǎn)換系統(tǒng)相比,TINI更加廉價(jià),更加緊湊,消耗功率更低,并且易于維護(hù)。此外,TINI還支持許多底層的通信接口,具有足夠的靈活性,可以適應(yīng)不同聯(lián)網(wǎng)的要求?;赥INI的網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)換系統(tǒng)方案是低成本而且可靠的。利用Java編程可以提高嵌入式系統(tǒng)軟件開發(fā)的效率。在本系統(tǒng)的開發(fā)過程中。利用Java軟件很方便地實(shí)現(xiàn)對底層硬件的訪問;利用Java自身的特性,可以實(shí)現(xiàn)強(qiáng)大的網(wǎng)絡(luò)功能。   對于設(shè)備來說,通過本系統(tǒng)可以利用現(xiàn)有的網(wǎng)絡(luò)擴(kuò)展其功能;同時(shí)也可以利用以太網(wǎng)絡(luò)實(shí)現(xiàn)對設(shè)備的遠(yuǎn)程診斷控制,實(shí)現(xiàn)更加廣泛意義上的網(wǎng)絡(luò)化。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:空冷器風(fēng)機(jī)變頻器的DCS狀態(tài)顯...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

相關(guān)資訊

網(wǎng)站簡介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號