《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 業(yè)界動(dòng)態(tài) > LON現(xiàn)場(chǎng)控制網(wǎng)絡(luò)到以太網(wǎng)互連適配器的設(shè)計(jì)

LON現(xiàn)場(chǎng)控制網(wǎng)絡(luò)到以太網(wǎng)互連適配器的設(shè)計(jì)

2008-08-18
作者:張旻晉, 黃天戍

  摘? 要: 以51單片機(jī)為核心連接LON現(xiàn)場(chǎng)控制網(wǎng)絡(luò)與以太網(wǎng)互連適配器的設(shè)計(jì)方案,描述了神經(jīng)元芯片" title="神經(jīng)元芯片">神經(jīng)元芯片使用并行I/O" title="I/O">I/O模式與51單片機(jī)通信的方法,介紹了51單片機(jī)控制以太網(wǎng)控制芯片8019as的方法,。并采用C51語(yǔ)言實(shí)現(xiàn)UDP傳輸,完成了系統(tǒng)的調(diào)試與驗(yàn)證。

  關(guān)鍵詞: Lonworks? 以太網(wǎng)? RTL8019as? 80C51單片機(jī)

?

  隨著互聯(lián)" title="互聯(lián)">互聯(lián)網(wǎng)的發(fā)展,在使用計(jì)算機(jī)進(jìn)行互聯(lián)的同時(shí),各種智能家電,、工業(yè)控制,、智能儀器儀表,、數(shù)據(jù)采集都在逐步趨向網(wǎng)絡(luò)化。但由于以太網(wǎng)在實(shí)時(shí)性和可靠性的先天不足,各種現(xiàn)場(chǎng)總線技術(shù)應(yīng)運(yùn)而生;更因?yàn)槠鋸氐椎拈_(kāi)放性,、分散性和完全可互操作性等特點(diǎn),正成為未來(lái)新型工業(yè)控制系統(tǒng)的發(fā)展方向,。以太網(wǎng)以其應(yīng)用的廣泛性和技術(shù)的先進(jìn)性,逐漸壟斷了商用計(jì)算機(jī)的通信領(lǐng)域和過(guò)程控制領(lǐng)域的上層信息管理與通信。為實(shí)現(xiàn)上層管理網(wǎng)絡(luò)與下層控制網(wǎng)絡(luò)的集成,在實(shí)際中必須實(shí)現(xiàn)現(xiàn)場(chǎng)總線與以太網(wǎng)互聯(lián),。

  Lonworks現(xiàn)場(chǎng)總線是美國(guó)Echelon公司1991年推出的局部操作網(wǎng)絡(luò),。Lonworks現(xiàn)場(chǎng)總線在網(wǎng)絡(luò)通信方面具有突出優(yōu)點(diǎn),如網(wǎng)絡(luò)物理層支持多種通信介質(zhì),支持多種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)等。目前使用Lonworks技術(shù)的產(chǎn)品廣泛應(yīng)用于工業(yè),、樓宇,、家庭、能源等自動(dòng)化領(lǐng)域,。本文提出的適配器連接方案,能將LON控制網(wǎng)與以太網(wǎng)無(wú)縫連接,實(shí)現(xiàn)透明傳輸,。

1 互連適配器硬件電路設(shè)計(jì)

  適配器使用的主要芯片為神經(jīng)元芯片TMPN3150、51單片機(jī)89C51RD和以太網(wǎng)控制器RTL8019as,。主要分為L(zhǎng)onworks控制模塊,、協(xié)議轉(zhuǎn)換模塊和以太網(wǎng)通信模塊。其中,協(xié)議轉(zhuǎn)換由單片機(jī)內(nèi)部軟件完成,。

1.1 Lonworks控制模塊

  Lonworks控制模塊主要完成對(duì)LON網(wǎng)數(shù)據(jù)的管理并向單片機(jī)傳輸數(shù)據(jù),其核心是神經(jīng)元芯片,。神經(jīng)元芯片與其他設(shè)備的互連是通過(guò)其11個(gè)I/O口,編程人員可以定義多個(gè)引腳為輸入/輸出對(duì)象,。用戶程序可通過(guò)io_in()和io_out()訪問(wèn)這些I/O對(duì)象,并在程序執(zhí)行期間完成輸入/輸出操作。本文設(shè)計(jì)的適配器采用Neuron芯片預(yù)定義的并行I/O對(duì)象,實(shí)現(xiàn)了高數(shù)據(jù)速率和全雙工工作方式,。

  并行I/O對(duì)象利用Neuron的11個(gè)I/O口進(jìn)行通信,。其中IO0~IO7為雙向數(shù)據(jù)線,IO8~IO10為控制信號(hào)線。借助令牌" title="令牌">令牌傳遞握手協(xié)議,并行I/O口可外接處理器,實(shí)現(xiàn)Neuron芯片與外接各類(lèi)微處理器之間的雙向數(shù)據(jù)通信,。并行口的速率可達(dá)3.3Mbps,工作方式有三種,即主模式,、從A模式和從B模式。不同的模式下,IO8~IO10這三根控制信號(hào)線的意義不同,。本文應(yīng)用從A模式,與單片機(jī)連接如表1所示,。

?

  從A模式中,Neuron芯片為從機(jī),51單片機(jī)為主機(jī)。主機(jī)與從機(jī)間的數(shù)據(jù)傳輸通過(guò)虛擬的寫(xiě)令牌傳遞協(xié)議(Virtual Write Token-Passing Protocol)實(shí)現(xiàn),。主機(jī)和從機(jī)交替地獲得寫(xiě)令牌,只有擁有寫(xiě)令牌的一方可以寫(xiě)數(shù)據(jù)(不超過(guò)255字節(jié)),或者不寫(xiě)任何數(shù)據(jù)傳送一個(gè)空令牌,。傳送的數(shù)據(jù)要遵從一定的格式,即在要傳送的數(shù)據(jù)前面加上命令碼和傳送的數(shù)據(jù)長(zhǎng)度。命令碼有CMD_XFER(寫(xiě)數(shù)據(jù)),、CMD_NULL(傳遞空令牌),、CMD_RESYNC(要求從機(jī)同步)、CMD_ACKSYNC(確認(rèn)同步)四種,最后以EOM字節(jié)結(jié)束,。寫(xiě)數(shù)據(jù)和傳遞空令牌的格式分別如表2,、表3所示。

?

1.2 以太網(wǎng)通信模塊

  以太網(wǎng)通信模塊由51單片機(jī)和RTL8019as組成,。以太網(wǎng)控制器RTL8019as由臺(tái)灣Realtek公司生產(chǎn),100腳PQFP封裝,。它支持8/16位數(shù)據(jù)總線及16個(gè)I/O基地址選擇,使用Ne2000兼容的寄存器結(jié)構(gòu)。它有一塊16K字節(jié)的RAM,地址為0x4000~0x7fff,。實(shí)際上它是雙端口RAM,可以同時(shí)被網(wǎng)卡讀/寫(xiě)和用戶讀/寫(xiě),相互之間不影響,。網(wǎng)卡讀寫(xiě)比用戶讀寫(xiě)的優(yōu)先級(jí)高。RAM分頁(yè)存儲(chǔ),每256字節(jié)稱為一頁(yè),。將前12頁(yè)作為發(fā)送緩沖區(qū)(0x4000~0x4bff),后52頁(yè)作為接收緩沖區(qū)(0x4c00~0x7fff),。

  以太網(wǎng)的介質(zhì)訪問(wèn)控制、CRC校驗(yàn)及數(shù)據(jù)幀的接收和發(fā)送都由網(wǎng)卡自動(dòng)完成,只需將IP包加上目的MAC地址和源地址,再通過(guò)遠(yuǎn)端DMA接口對(duì)RTL8019as內(nèi)部RAM進(jìn)行讀寫(xiě)即可,。網(wǎng)卡的地址線共20根,。用到的網(wǎng)卡地址為十六進(jìn)制的0240H~025FH,基地址為0240H,從地址240H~25FH。地址線的A19~A5是固定的000000000010010,只需5根地址線即可,。所以RTL8019as輸入輸出地址共32個(gè),地址偏移量為00H~1FH(對(duì)應(yīng)于240H~25FH),。對(duì)于8位操作方式,32個(gè)地址中只有18個(gè)有用:00H~0FH共16個(gè)寄存器地址,10H為DMA地址,1FH為復(fù)位地址。本適配器采用輪詢方式,不使用中斷,。故RTL8019as與單片機(jī)的連接如表4所示,。

?

  本適配器使用UDP傳送數(shù)據(jù),同時(shí)支持ICMP的回應(yīng)應(yīng)答和回應(yīng)請(qǐng)求報(bào)文(Ping命令),單片機(jī)發(fā)往RTL8019as的數(shù)據(jù)幀格式如表5所示。

?

  用單片機(jī)實(shí)現(xiàn)UDP協(xié)議要作一些簡(jiǎn)化,不考慮數(shù)據(jù)分片和優(yōu)先權(quán)。因此,在IP首部中不討論服務(wù)類(lèi)型和標(biāo)志偏移域,只需填“0”即可,。

1.3 互連適配器的硬件電路設(shè)計(jì)

  由于P89C51RD2只有四個(gè)8位I/O口,無(wú)法同時(shí)與RTL8019as 和TMPN3150通信,故使用P0口作為數(shù)據(jù)總線,。P2.5作為片選信號(hào),高電平為RTL8019as,低電平為T(mén)MPN3150。圖1給出了互連適配器的電路框圖,。其中3150和RTL8019as復(fù)用同一條8位數(shù)據(jù)線,依靠P2.5進(jìn)行片選,。當(dāng)P2.5高電平時(shí),RTL8019as地址(1XXXXX)有效,被選中。Max232作為單片機(jī)的下載線,互聯(lián)適配器也可使用RS232口與計(jì)算機(jī)通信,。

?

2 互連適配器的軟件設(shè)計(jì)

  適配器的軟件編寫(xiě)包括兩部分:一部分是TMPN3150上用Neuron C語(yǔ)言編寫(xiě);另一部分是在P89C51上用C51語(yǔ)言開(kāi)發(fā)TCP/IP協(xié)議棧和與TMPN3150,、RTL8019as的通信軟件,可讀性強(qiáng),可方便地移植到其他51核心單片機(jī)上。

2.1 適配器的初始化

  P89C51單片機(jī)和TMPN3150之間先建立握手信號(hào),即HS信號(hào)有效(由TMPN3150的固件自動(dòng)實(shí)現(xiàn));然后,主機(jī)發(fā)送一個(gè)CMD_RESYNC命令,要求從機(jī)同步,而從機(jī)接收到這個(gè)信號(hào)后,則發(fā)送CMD_ACKSYNC,表示已同步,可以通信了,。RTL8019在通信前要先讀取93C46的內(nèi)容并設(shè)置內(nèi)部寄存器的值(配置寄存器CONFIG1~4,網(wǎng)絡(luò)節(jié)點(diǎn)地址),再由89C51對(duì)RTL8019的頁(yè)0與頁(yè)1相關(guān)寄存器進(jìn)行初始化,即可正常工作,。

2.2 適配器工作流程

  考慮到LON網(wǎng)主要作為監(jiān)控網(wǎng)絡(luò),特別在樓宇自動(dòng)化中的監(jiān)控,由LON網(wǎng)發(fā)往以太網(wǎng)的數(shù)據(jù)較多,應(yīng)首先保證其優(yōu)先權(quán)。且89C51RD只有1024字節(jié)的內(nèi)存,無(wú)法處理大的以太網(wǎng)幀,。經(jīng)過(guò)實(shí)驗(yàn)比較,在最后具體實(shí)現(xiàn)時(shí),選擇LON最大為每幀64字節(jié),盡量做到每收10個(gè)LON幀,發(fā)一個(gè)以太網(wǎng)幀,流程如圖2所示,。

?

2.3 服務(wù)器監(jiān)控軟件的設(shè)計(jì)

  Lonworks現(xiàn)場(chǎng)總線使用網(wǎng)絡(luò)變量" title="網(wǎng)絡(luò)變量">網(wǎng)絡(luò)變量的方式傳送數(shù)據(jù)。一個(gè)網(wǎng)絡(luò)變量是Lonworks網(wǎng)絡(luò)節(jié)點(diǎn)的一個(gè)對(duì)象,各個(gè)節(jié)點(diǎn)之間的聯(lián)系通過(guò)網(wǎng)絡(luò)變量實(shí)現(xiàn),。當(dāng)一個(gè)網(wǎng)絡(luò)變量在一個(gè)節(jié)點(diǎn)中被應(yīng)用程序改變時(shí),LonTalk協(xié)議自動(dòng)將新值構(gòu)成隱式消息透明地發(fā)往可與之共享的其他節(jié)點(diǎn),而應(yīng)用程序則不必考慮發(fā)送,、接收和尋址的問(wèn)題。安裝在服務(wù)器上的監(jiān)控軟件將需要改變的網(wǎng)絡(luò)變量數(shù)據(jù)利用UDP通過(guò)以太網(wǎng)發(fā)往指定IP地址的適配器,適配器將自動(dòng)完成各個(gè)數(shù)據(jù)向相應(yīng)設(shè)備的傳輸,。同樣,適配器也將設(shè)備發(fā)來(lái)的網(wǎng)絡(luò)變量使用UDP發(fā)往指定IP的服務(wù)器,。使用Delphi6.0編寫(xiě)了一個(gè)簡(jiǎn)單的設(shè)備監(jiān)控軟件。實(shí)驗(yàn)中,它能同時(shí)管理16路的數(shù)據(jù)采集和控制,適配器達(dá)到了12kbps的峰值速率,。實(shí)驗(yàn)?zāi)P腿鐖D3所示,。

?

?

參考文獻(xiàn)

1 Echelon Company. Neuron C Reference Guide. 1995

2 赫爾德, 吉爾伯特.以太網(wǎng)(第三版).北京:人民郵電出版社,2000

3 RTL8019as用戶手冊(cè). REALTEK半導(dǎo)體公司.2000

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。