異步串行接口與以太網(wǎng)服務(wù)器的連接
摘要:提供一種簡便、經(jīng)濟(jì)的方法,通過TINI平臺(tái)實(shí)現(xiàn)串行接口設(shè)備與以太網(wǎng)的連接。一旦設(shè)備連接到以太網(wǎng),就能提供TINI Web服務(wù)。關(guān)鍵詞:以太網(wǎng) 串行接口 TINI
很多電子設(shè)備利用串行接口與其它設(shè)備進(jìn)行通信,其中有溫度調(diào)節(jié)器、POS機(jī)、遠(yuǎn)程監(jiān)控儀、條碼掃描儀、票據(jù)打印機(jī)、射頻標(biāo)簽收發(fā)器、血壓計(jì)及其它現(xiàn)場使用的測試設(shè)備和新型自動(dòng)化設(shè)備。大多數(shù)設(shè)備與外部的通信是通過串口進(jìn)行的,不能直接連接到大型計(jì)算機(jī)網(wǎng)絡(luò),無法滿足TCP/IP連接和以太網(wǎng)通信的需求。由于成本和時(shí)間問題,很少有人選擇對(duì)系統(tǒng)進(jìn)行重新設(shè)備的途徑。利用本文介紹的基于DS80C390或DS80C400微控制器的TINI平臺(tái),可以將孤立的串行設(shè)備連接到以太網(wǎng)。
1 TINI和網(wǎng)絡(luò)
TINI(微網(wǎng)接口)是Dallas Semiconductor開發(fā)的一種技術(shù)平臺(tái),目的是協(xié)助用戶快速整合DS80C390/DS80C400網(wǎng)絡(luò)微控制器的研發(fā),TINI定義了一個(gè)芯片組,包含一個(gè)嵌入式操作系統(tǒng),其中整合了經(jīng)過高度優(yōu)化的Java運(yùn)行環(huán)境。Java編程者可從其中獲得一般的嵌入式開發(fā)中不多見的強(qiáng)大功能:多線程、無和單元收集、繼承性、虛擬化、跨平臺(tái)能力 、強(qiáng)大的網(wǎng)絡(luò)支持,以及—最后但很重要—大量免費(fèi)的開發(fā)工具。TINI使用乾通常不直接面對(duì)匯編代碼。不過,為了優(yōu)化嚴(yán)格要求速度的通道或者訪問底層硬件,同時(shí)也支持并鼓勵(lì)本地語言子程序(TINI操作系統(tǒng)用本地代碼寫成,因此,串行I/O的吞吐率和現(xiàn)代PC沒有明顯差異)。除完全支持java.net包外,TINI Java運(yùn)行環(huán)境還包含一個(gè)完整實(shí)現(xiàn)的javax.com子系統(tǒng)。通過Java可毫不費(fèi)力地訪問TCP/IP和串行口,因此,TINI系統(tǒng)可非常容易地用來實(shí)現(xiàn)串行口-以太網(wǎng)橋。
下面的例子中,TINIm390驗(yàn)證模塊(放置在E10插槽)是DS80C390 TINI開發(fā)平臺(tái)的硬件部分(TINIm400是配合DS80C400制作的)。除了SRAM、Flash、以太網(wǎng)、CAN總線、1-Wire等,系統(tǒng)還有四個(gè)串口,其中DS80C390內(nèi)部包括兩個(gè)UART,另外兩個(gè)是擴(kuò)充的(采用一片16550選配件)。需要注意的是,E10插座上的兩個(gè)串行連接器都被接到了serial0,它們只是在DTE/DCE引腳安排上有所差異。詳細(xì)資料請(qǐng)參閱《TINI特性和開發(fā)指南》,PDF文件可以從http://www.ibutton.com/TINI/book.html下載。
2 范例
下面介紹兩具具體應(yīng)用,并從一個(gè)普通的串行口-以太網(wǎng)程序中摘錄片段出來。經(jīng)過修改,它幾乎可適應(yīng)于各種應(yīng)用。這些范例利用TINIm390/400驗(yàn)證模塊搭建而成,如圖1所示。
可以把TINI驗(yàn)證模塊看成“黑盒子”,將多個(gè)串行設(shè)備掛接到以太網(wǎng)。根據(jù)最終設(shè)備的需要,TINI可以讓數(shù)據(jù)流直通,也以對(duì)數(shù)據(jù)進(jìn)行解析、翻譯或修改。盡管設(shè)計(jì)人員可以在TINIm390/400的開發(fā)器外殼上運(yùn)行這些范例,但更合理的做法將其駐留于內(nèi)存之中,掉電之后還能夠自啟動(dòng),并利用其它一些TINI構(gòu)造技術(shù)使最終產(chǎn)品更加牢靠。如果想修改這些范例,需要具備一些基本的網(wǎng)絡(luò)知識(shí)和編程經(jīng)驗(yàn)。樣例工作代碼也可以Dallas公司ftp站點(diǎn)(ftp
[1] [2] [3] [4] [5]