(海思技術(shù)部供稿)
一、引言
LonWorks現(xiàn)場總線技術(shù)的核心Neuron神經(jīng)元芯片是一種集3個8位CPU及網(wǎng)絡(luò)通信協(xié)議(LonTalk協(xié)議)為一體的芯片。采用該芯片構(gòu)成的智能節(jié)點在LonWorks現(xiàn)場總線控制網(wǎng)絡(luò)中能使現(xiàn)場設(shè)備之間相互通信,快速地交換信息,以滿足系統(tǒng)實時監(jiān)控的要求。由于Neuron神經(jīng)元芯片只提供了11個通用I/O口,這對于采集量和控制量要求較多的現(xiàn)場設(shè)備并不能滿足要求,因此開發(fā)基于神經(jīng)元芯片的RTU擴展模塊智能節(jié)點很重要。
二、神經(jīng)元芯片介紹
Neuron芯片主要包括Neuron3150和 Neuron3120兩種系列。3150芯片中包括E2PROM、RAM存儲器,同3120芯片的區(qū)別在于它無內(nèi)部ROM,但具有訪問外部存儲器的接口,尋址空間可達64 KB。3150比3120在節(jié)點開發(fā)上具有更好的靈活性。3150芯片內(nèi)部帶有3個8位微處理器:1個用于鏈路層的控制,1個用于網(wǎng)絡(luò)層的控制,1個用于執(zhí)行用戶的應(yīng)用程序。該芯片還包含11個I/O口和完整的LonTalk通信協(xié)議,同時具有通信和控制功能。
三、基于神經(jīng)元芯片智能節(jié)點的設(shè)計方案
基于神經(jīng)元芯片開發(fā)的智能節(jié)點具有結(jié)構(gòu)簡單、成本低等優(yōu)勢,其開發(fā)方法可分為兩種。①基于控制模塊的硬件設(shè)計方法。采用這一方法的優(yōu)勢是可縮短產(chǎn)品的開發(fā)周期,因為控制模塊通常都集成了神經(jīng)元芯片、Flash程序存儲器、收發(fā)器以及RAM等,用戶只需設(shè)計自己的應(yīng)用電路即可完成節(jié)點開發(fā)。②基于收發(fā)器的硬件電路設(shè)計方法。采用這一方法可以降低節(jié)點成本,提高節(jié)點的市場競爭力,但是這需要在考慮應(yīng)用電路設(shè)計的同時考慮神經(jīng)元芯片與Flash存儲器及RAM的接口電路。
四、智能節(jié)點的電路設(shè)計
節(jié)點采用主、背板結(jié)構(gòu)。主板上集成有控制電路、通信電路和其它附加電路。智能節(jié)點主板結(jié)構(gòu)如圖1所示;背板設(shè)計為兩種多點I/O模塊(包括多點數(shù)字I/O模塊和多點模擬I/O模塊);主、背板之間采用統(tǒng)一標準的20針接口。采用主、背板結(jié)構(gòu)設(shè)計法,使得此智能節(jié)點的應(yīng)用領(lǐng)域更為廣泛,適用性、通用性和功能都大大增強,對于節(jié)點應(yīng)用程序的開發(fā)也更為靈活。
1、主板電路設(shè)計
(1)控制電路
控制電路主要由神經(jīng)元芯片、片外存儲器和主背板接口電路等組成。各元器件功能如下。
①神經(jīng)元芯片。采用3150芯片,主要用于提供對節(jié)點的控制,實施與Lon網(wǎng)的通信,支持對現(xiàn)場信息的輸入輸出等應(yīng)用服務(wù)。
② 片外存儲器。采用Atmel公司生產(chǎn)的AT29C256(Flash存儲器)。AT29C256共有32KB的地址空間,其中低16KB空間用來存放神經(jīng)元芯片的固件(包括LonTalk協(xié)議等)。高16KB空間作為節(jié)點應(yīng)用程序的存儲區(qū)。采用ISSI公司生產(chǎn)的IS61C256作為神經(jīng)元芯片的外部 RAM。
③主、背板接口電路。用于主板與多點I/O模塊的電氣連接。
(2) 通信電路
通信電路的核心——收發(fā)器是智能節(jié)點與Lon網(wǎng)之間的接口。本智能節(jié)點采用Echelon公司生產(chǎn)的適用于雙絞線傳輸介質(zhì)的FTT-10A收發(fā)器模塊。
(3)附加電路
附加電路主要包括晶振電路、復(fù)位電路和ServICe電路等。
①晶振電路。為3150神經(jīng)元芯片提供工作時鐘。
②復(fù)位電路。用于在智能節(jié)點上電時產(chǎn)生復(fù)位操作。另外,節(jié)點還將一個低壓中斷設(shè)備與3150的Reset引腳相連,構(gòu)成對神經(jīng)元芯片的低壓保護設(shè)計,提高節(jié)點的可靠性穩(wěn)定性。
③Service電路。專為下載應(yīng)用程序設(shè)計。Service指示燈對診斷神經(jīng)元芯片固件狀態(tài)有指示作用。
2、 I/O擴展電路設(shè)計
3150 神經(jīng)元芯片包含11個通用口,用戶可根據(jù)不同的需求進行靈活配置,以便于同外部設(shè)備進行接口。但是對于輸入和輸出(I/O)數(shù)量需求較大的外圍設(shè)備,11 個I/O口顯然不能滿足。雖然可以依靠增加節(jié)點數(shù)量來滿足外圍需求,但是這樣做不僅成本價格高而且增加了安裝的工作量,維護也不方便。因此,通過增加外圍電路實現(xiàn)I/O擴展,成為多點I/O智能節(jié)點開發(fā)的重要部分。I/O擴展設(shè)計包括多點模擬模塊設(shè)計和多點數(shù)字模塊設(shè)計。具體擴展方案實現(xiàn)如下。
(1)多點模擬模塊設(shè)計
多點模擬模塊主電路如圖2所示。TLC2543CN是支持SPI串行總線的11路模擬通道12位逐次逼近型模數(shù)轉(zhuǎn)換器。CS(PIN 15)片選信號端接IO0;DATA INPUT(pin 17)為串行數(shù)據(jù)輸入,其中4位串行地址用于選擇下一個被轉(zhuǎn)換的模擬通道或測試電壓寄存器;DATA OUTPUT(pin 16)輸出模數(shù)轉(zhuǎn)換的結(jié)果;CLK是維持A/D轉(zhuǎn)換正常工作的輸入輸出時鐘。值得注意的是,時鐘信號頻率較高,任何一點干擾都可能影響模塊的正常工作。在 CFLK上串聯(lián)或并聯(lián)一支電阻可以起到很明顯的抗干擾效果,保證A/D模塊的穩(wěn)定(本模塊中,CLK接IO8,DATA INPUT接IO9;DATA OUTPUT接IO10)。TLC2543還有一個特點;IO9輸入數(shù)據(jù)的同時,IO10輸出的是上一次A/D轉(zhuǎn)換的值,因此,在編寫NeuronC源程序時要注意A/D轉(zhuǎn)換的時序。選用2只旁路電路:一只47 μF 電解電容,對低頻起濾波作用;另一只為0.1 μF ,對高頻起濾波作用。此A/D模塊沒有選用電壓基準,故在A/D芯片的參考電壓邊上接了1只0.1 μF 電容,用以去除高頻干擾。
(2)多點數(shù)字模塊設(shè)計
多點數(shù)字模塊主要包括:輸入、輸出、雙向I/O三部分。通過擴展,模塊具有16路數(shù)字輸入通道、15路數(shù)字輸出通道的3路雙向I/O通道。
① 輸入部分
2 片8選1數(shù)據(jù)選擇器——74LS151級聯(lián),并將3150的IO0~IO3定義為Nibble Output方式,即半字節(jié)輸出方式;IO4定義為Bit Input方式,即位輸入方式。IO0~IO3作為16路輸入通道的地址選通信號,與74LS151的地址輸入端(STB、A、B、C引腳)相連。IO4 作為數(shù)字信號入口,與74LS151的選通輸入端連接,具體電路如圖3所示。下面的NeuronC源程序可完成對16路數(shù)字通道的定時掃描,定時時間為 1s;
IO_0 output nibble io_mselect; //定義半字節(jié)輸出I/O
IO_4 input bit io_tmp; //定義位輸入I/O
Stimer repeating t_circle=1; //定義并初始化定時器
When(timer_expires(t_circle))
{int i,bit I_num,temp[15]; //定義循環(huán)變量、通道狀態(tài)
//數(shù)組、初始化通道號
for(i=0;i<16;i++)
{io_out(io_mselect,I_num) //寫通道號
temp=(io_in(io_tmp)= =ON)?1:0)}}//讀通道狀態(tài)并存入狀態(tài)數(shù)組
② 輸出部分
如圖4所示,輸出部分由2片8位移位寄存器74LS164和2片74LS373鎖存器組成。
74LS164的功能是將NeuronC I/O口的15位串行幀輸出轉(zhuǎn)化為16路并行信號輸出。74LS373 鎖存器的作用是使74LS164的15路輸出在電平轉(zhuǎn)換后加以保持,直至下一次電平轉(zhuǎn)換。為了滿足15路并行輸出的要求,在時序上需要使2片 74LS373嚴格同步。因此,硬件上增加了非門和RC電路,對2片74LS373的使能信號加以協(xié)調(diào)。通過實驗,證明此電路能夠完全滿足設(shè)計要求。在 NeuronC源程序中將IO8、IO9定義為Serial Output方式,即串行輸出方式。其中IO8輸出時鐘信號,IO9輸出串行數(shù)據(jù)。IO7定義為Bit Input方式,即位輸入方式,作為74LS164的清零端。
③ 雙向I/O部分
為了使用戶對此智能節(jié)點的二次開發(fā)更為靈活、方便,我們在多點數(shù)字模塊上設(shè)計了3個雙向I/O口(IO5、IO6、IO10)。用戶可根據(jù)自己的需要,利用模塊上的撥動開關(guān)進行輸入、輸出切換。
需要注意的是,為了提高智能節(jié)點的抗干擾能力,在輸入、輸出電路中均采用了光電耦合器進行電氣隔離。特別在輸出端加入了三極管功率放大電路以便于驅(qū)動外部繼電路。
(本文僅供參考,本網(wǎng)站不保證其正確與否)