《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 業(yè)界動(dòng)態(tài) > Lon總線多點(diǎn)I/O智能節(jié)點(diǎn)的開(kāi)發(fā)

Lon總線多點(diǎn)I/O智能節(jié)點(diǎn)的開(kāi)發(fā)

2008-12-11
作者:黃天戍 祁 昶

  摘? 要: 介紹了智能節(jié)點(diǎn)" title="智能節(jié)點(diǎn)">智能節(jié)點(diǎn)在現(xiàn)場(chǎng)總線控制系統(tǒng)中的重要性,給出了擴(kuò)展智能節(jié)點(diǎn)的I/O" title="I/O">I/O點(diǎn)數(shù)的方法和電路原理圖以及采用該智能節(jié)點(diǎn)組建的基于Lonworks技術(shù)的現(xiàn)場(chǎng)總線控制設(shè)備的應(yīng)用實(shí)例。?

  關(guān)鍵詞: Lonworks? 智能節(jié)點(diǎn)?? I/O擴(kuò)展?

?

  Lonworks現(xiàn)場(chǎng)總線由美國(guó)Echelon公司于1993年推出,由于其開(kāi)放的網(wǎng)絡(luò)操作系統(tǒng)、標(biāo)準(zhǔn)的網(wǎng)絡(luò)通信協(xié)議、豐富的介質(zhì)接口模板、支持多種介質(zhì)之間相互通信等特點(diǎn),在工業(yè)控制領(lǐng)域得到了廣泛響應(yīng)。目前已有多種支持Lonworks技術(shù)的芯片,Echelon公司的神經(jīng)元芯片" title="神經(jīng)元芯片">神經(jīng)元芯片NeuronC3150是一種集3個(gè)8位CPU及網(wǎng)絡(luò)通信協(xié)議(LonTalk協(xié)議)為一體的芯片。采用該芯片構(gòu)成的智能節(jié)點(diǎn)在Lonworks現(xiàn)場(chǎng)總線控制網(wǎng)絡(luò)中起著舉足輕重的作用,它能使現(xiàn)場(chǎng)設(shè)備之間相互通信,快速地交換信息,以滿(mǎn)足系統(tǒng)實(shí)時(shí)監(jiān)控的要求。但由于3150神經(jīng)元芯片只提供11個(gè)通用I/O口,不能滿(mǎn)足采集量和控制量要求較多的現(xiàn)場(chǎng)設(shè)備的要求,因此研究和開(kāi)發(fā)基于神經(jīng)元芯片的多點(diǎn)" title="多點(diǎn)">多點(diǎn)I/O的智能節(jié)點(diǎn),是一項(xiàng)有意義的工作。?

1 NeuronC3150神經(jīng)元芯片的特點(diǎn)?

  NeuronC芯片既是Lonworks技術(shù)的核心也是智能節(jié)點(diǎn)的核心,目前由Toshiba和Motorola兩家公司生產(chǎn),主要包括NeuronC3150和NeuronC3120兩種系列。3150芯片中包括E2PROM和RAM存儲(chǔ)器,同3120芯片的區(qū)別在于它無(wú)內(nèi)部ROM,但具有訪問(wèn)外部存儲(chǔ)器的接口,尋址空間可達(dá)64Kbyte。從這一點(diǎn)來(lái)說(shuō),3150比3120在節(jié)點(diǎn)開(kāi)發(fā)上具有更好的靈活性。3150芯片內(nèi)部帶有3個(gè)8位微處理器:一個(gè)用于鏈路層的控制,另一個(gè)用于網(wǎng)絡(luò)層的控制,第三個(gè)用于執(zhí)行用戶(hù)的應(yīng)用程序。該芯片還包含11個(gè)I/O口和完整的LonTalk通信協(xié)議,它同時(shí)具有通信和控制功能。?

2 基于神經(jīng)元芯片智能節(jié)點(diǎn)的開(kāi)發(fā)方法?

  基于神經(jīng)元芯片開(kāi)發(fā)的智能節(jié)點(diǎn)具有結(jié)構(gòu)簡(jiǎn)單、成本低等優(yōu)勢(shì),其開(kāi)發(fā)方法可分為兩種:(1)基于控制模塊的硬件設(shè)計(jì)方法。采用這一方法的優(yōu)勢(shì)是可縮短產(chǎn)品的開(kāi)發(fā)周期,因?yàn)榭刂颇K通常都集成了神經(jīng)元芯片、Flash程序存儲(chǔ)器、收發(fā)器" title="收發(fā)器">收發(fā)器以及RAM等,用戶(hù)只需設(shè)計(jì)自己的應(yīng)用電路即可完成節(jié)點(diǎn)開(kāi)發(fā)。(2)基于收發(fā)器的硬件電路設(shè)計(jì)方法。采用這一方法可以降低節(jié)點(diǎn)成本,提高節(jié)點(diǎn)的市場(chǎng)競(jìng)爭(zhēng)力,但是這一方法需要在考慮應(yīng)用電路設(shè)計(jì)的同時(shí)考慮神經(jīng)元芯片與Flash存儲(chǔ)器及RAM的接口電路,這對(duì)于電路板的設(shè)計(jì)加工及生產(chǎn)工藝的要求都較高。?

3 智能節(jié)點(diǎn)的電路設(shè)計(jì)?

  節(jié)點(diǎn)采用主、背板結(jié)構(gòu)。主板上集成有控制電路、通信電路和其他附加電路,其結(jié)構(gòu)圖如圖1。背板設(shè)計(jì)為兩種多點(diǎn)I/O模塊(包括多點(diǎn)數(shù)字I/O模塊和多點(diǎn)模擬I/O模塊)。主、背板之間采用統(tǒng)一標(biāo)準(zhǔn)的20針接口。采用主、背板結(jié)構(gòu)設(shè)計(jì)法,使得此智能節(jié)點(diǎn)的應(yīng)用領(lǐng)域更為廣泛,適應(yīng)性、通用性和功能都大大增強(qiáng),對(duì)于節(jié)點(diǎn)應(yīng)用程序的開(kāi)發(fā)也更為靈活。?

?

?

3.1 主板電路設(shè)計(jì)?

3.1.1 控制電路?

  控制電路主要由神經(jīng)元芯片,主背板接口電路和片外存儲(chǔ)器等組成。各元器件功能如下:?

  (1)神經(jīng)元芯片 采用Toshiba公司生產(chǎn)的3150芯片,它主要用于提供對(duì)節(jié)點(diǎn)的控制、實(shí)施與Lon網(wǎng)的通信、支持對(duì)現(xiàn)場(chǎng)信息的輸入輸出等應(yīng)用服務(wù)。?

  (2)片外存儲(chǔ)器 采用Atmel 公司生產(chǎn)的AT29C256(FLASH存儲(chǔ)器)。AT29C256共有32K字節(jié)的地址空間,其中低16K字節(jié)空間用來(lái)存放神經(jīng)元芯片的固件(包括LonTalk協(xié)議等)。高16字節(jié)空間作為節(jié)點(diǎn)應(yīng)用程序的存儲(chǔ)區(qū)。采用ISSI公司生產(chǎn)的IS61C256作為神經(jīng)元芯片的外部RAM.。?

  (3)主、背板接口電路 用于主板與多點(diǎn)I/O模塊的電氣連接。?

3.1.2 通信電路?

  通信電路的核心——收發(fā)器是智能節(jié)點(diǎn)與Lon網(wǎng)之間的接口。目前,Echelon公司和其他開(kāi)發(fā)商均提供了用于多種通信介質(zhì)的收發(fā)器模塊。本智能節(jié)點(diǎn)采用Echelon公司生產(chǎn)的適用于雙絞線傳輸介質(zhì)的FTT-10A收發(fā)器模塊。?

3.1.3 附加電路?

  附加電路主要包括晶振電路、復(fù)位電路和Service電路等。?

  晶振電路為3150神經(jīng)元芯片提供工作時(shí)鐘。?

  復(fù)位電路用于在智能節(jié)點(diǎn)上電時(shí)產(chǎn)生復(fù)位操作。另外,節(jié)點(diǎn)還將一個(gè)低壓中斷設(shè)備與3150的Reset管腳相連,構(gòu)成對(duì)神經(jīng)元芯片的低壓保護(hù)設(shè)計(jì),提高節(jié)點(diǎn)的可靠性和穩(wěn)定性。?

  Service電路是專(zhuān)為下載應(yīng)用程序的電路,Service指示燈對(duì)診斷神經(jīng)元芯片固件狀態(tài)有指示作用。?

3.2 I/O擴(kuò)展電路設(shè)計(jì)?

  3150神經(jīng)元芯片包含11個(gè)通用口,用戶(hù)可根據(jù)不同的需求進(jìn)行靈活配置,以便于同外部設(shè)備進(jìn)行接口。對(duì)于輸入和輸出(I/O)數(shù)量需求較大的外圍設(shè)備,11個(gè)I/O口顯然不能滿(mǎn)足。雖然可以依靠增加節(jié)點(diǎn)數(shù)量來(lái)滿(mǎn)足外圍要求,但是這樣做不僅成本價(jià)格高而且增加了安裝的工作量,維護(hù)也不方便。因此,通過(guò)增加外圍電路實(shí)現(xiàn)I/O 擴(kuò)展,成為多點(diǎn)I/O智能節(jié)點(diǎn)開(kāi)發(fā)的重要部分。I/O 擴(kuò)展設(shè)計(jì)包括多點(diǎn)模擬模塊設(shè)計(jì)和多點(diǎn)數(shù)字模塊設(shè)計(jì)。?

3.2.1 多點(diǎn)模擬模塊設(shè)計(jì)?

  多點(diǎn)模擬模塊主電路圖如圖2。TLC2543是支持SPI串行總線的11路模擬通道的12位逐次逼近型模/數(shù)轉(zhuǎn)換器。CS(Pin 15)片選信號(hào)端接IO0;DATA INPUT(Pin 17)為串行數(shù)據(jù)輸入,其中四位串行地址用來(lái)選擇下一個(gè)被轉(zhuǎn)換的模擬通道或測(cè)試電壓寄存器;DATA OUTPUT(Pin 16)輸出模/數(shù)轉(zhuǎn)換的結(jié)果; CLK是維持模/數(shù)轉(zhuǎn)換正常工作的時(shí)鐘。值得注意的是,時(shí)鐘信號(hào)頻率較高,任何一點(diǎn)干擾都可能影響模塊的正常工作。在CLK上串聯(lián)或并聯(lián)一支電阻可以起到很明顯的抗干擾效果,保證模/數(shù)模塊的穩(wěn)定。(本模塊中, CLK接IO8,DATA INPUT接IO9,DATA OUTPUT接IO10)。TLC2543還有一個(gè)特點(diǎn):IO9輸入數(shù)據(jù)的同時(shí),IO10輸出的是上一次模/數(shù)轉(zhuǎn)換的值,因此在編寫(xiě)NeuronC源程序時(shí)要注意模/數(shù)轉(zhuǎn)換的時(shí)序。選用兩支旁路電容:一支47μF電解電容,對(duì)低頻起濾波作用;另一支為0.1μF,對(duì)高頻起濾波作用。此模/數(shù)模塊沒(méi)有選用電壓基準(zhǔn),故在模/數(shù)芯片的參考電壓邊上接了一支0.1μF電容,用以去除高頻干擾。?

?

?

3.2.2 多點(diǎn)數(shù)字模塊設(shè)計(jì)?

  多點(diǎn)數(shù)字模塊主要包括:輸入部分、輸出部分、雙向I/O三部分。通過(guò)擴(kuò)展,模塊具有16路數(shù)字輸入通道、15路數(shù)字輸出通道和3路雙向I/O通道。?

  (1)輸入部分 采用兩片8選1數(shù)據(jù)選擇器74LS151級(jí)聯(lián),并將NeuronC3150的IO0~I(xiàn)O3定義為Nibble Output方式,即半字節(jié)輸出方式; IO4定義為Bit Input方式,即位輸入方式。IO0~I(xiàn)O3作為16路輸入通道的地址選通信號(hào),與74LS151的地址輸入端相連。IO4作為數(shù)字信號(hào)入口,與74LS151的輸出端連接。(具體電路如圖3)下面的NeuronC源程序可完成對(duì)16路數(shù)字通道的定時(shí)掃描,定時(shí)時(shí)間為1s:?

?

?

??? IO_0 output nibble? io_mselect;//定義半字節(jié)輸出IO?

??? IO_4 input bit? io_tmp; ??? // 定義位輸入IO?

??? Stimer repeating t_circle=1 ;?? // 定義并初始化定時(shí)器?

??? When (timer_expires(t_circle))?

??? { int i ;bit I_num ,temp[15];//定義循環(huán)變量通道狀態(tài)數(shù)組初始化通道號(hào)?

??????? for(i=0;i<16;i++)?

??????? { io_out(io_mselect,I_num) // 寫(xiě)通道號(hào)?

???? ?? temp[i]=(io_in(io_tmp)==ON)?1:0)}} // 讀通道狀態(tài)并存入狀態(tài)數(shù)組?

  (2)輸出部分 如圖4,輸出部分由兩片8位移位寄存器74LS164和兩片74LS373鎖存器組成。164的功能是將NeuronC I/O口的15位串行幀輸出轉(zhuǎn)化為15路并行信號(hào)輸出。373鎖存器的作用是使164的15路輸出在電平轉(zhuǎn)換后加以保持,直至下一次電平轉(zhuǎn)換。為了滿(mǎn)足15路并行輸出的要求,在時(shí)序上需要使兩片373嚴(yán)格同步。因此在硬件上增加了非門(mén)和RC電路,對(duì)兩片373的使能信號(hào)加以協(xié)調(diào)。通過(guò)實(shí)驗(yàn),證明此電路能夠完全滿(mǎn)足設(shè)計(jì)要求。在NeuronC源程序中將IO8 、IO9定義為Serial Output方式 ,即串行輸出方式。其中IO8輸出時(shí)鐘信號(hào),IO9輸出串行數(shù)據(jù)。IO7定義為Bit Output方式,即位輸出方式,作為164的清零端。?

?

?

  (3)雙向I/O部分? 為了使用戶(hù)對(duì)此智能節(jié)點(diǎn)的二次開(kāi)發(fā)更為靈活、方便,我們?cè)诙帱c(diǎn)數(shù)字模塊上設(shè)計(jì)了三個(gè)雙向I/O口(IO5、IO6、IO10)。用戶(hù)可根據(jù)自己的需要,利用模塊上的撥動(dòng)開(kāi)關(guān)進(jìn)行輸入、輸出切換。?

  需要注意的是,為了提高智能節(jié)點(diǎn)的抗干擾能力,在輸入、輸出電路中均采用了光電耦合器進(jìn)行電氣隔離。特別在輸出端加入了三極管功率放大電路以便驅(qū)動(dòng)外部繼電器。?

  水電廠中的水利機(jī)組控制系統(tǒng)中有眾多參量需要測(cè)量和控制(包括模擬量和數(shù)字量),如調(diào)速器開(kāi)關(guān)、滅磁信號(hào)、主閥開(kāi)關(guān)、冷卻水泵、勵(lì)磁投入信號(hào)、鎖錠控制等。因此,系統(tǒng)對(duì)I/O口的需求量較大,傳統(tǒng)的智能節(jié)點(diǎn)遠(yuǎn)遠(yuǎn)不能滿(mǎn)足要求。而我們通過(guò)對(duì)多點(diǎn)I/O智能節(jié)點(diǎn)的開(kāi)發(fā),成功地研制出WSTA2000小型水利機(jī)組綜合自動(dòng)化裝置。此裝置已在水電廠中投入使用,運(yùn)行情況良好。?

參考文獻(xiàn)?

1 王錦標(biāo).現(xiàn)場(chǎng)總線綜述. 冶金自動(dòng)化,1998(6):1?

2 NodeBuilder User’s Guide (Revision 3). Echelon Corporation, 078-0141-01C?

3 Neuron Chip Data Book. February,1995?

4 Neuron C Reference Guide (Revision 2). Echelon Corporation, 078-0141-01B?

5 Neuron C Programmer’s Guide (Revision 4).Echelon Corporation, 078-0141-01D
本站內(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ò)電子郵件或電話(huà)通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話(huà):010-82306118;郵箱:aet@chinaaet.com。