基于LonWorks現(xiàn)場總線技術(shù)的智能節(jié)點設(shè)計
現(xiàn)場總線系統(tǒng)是自動控制系統(tǒng)發(fā)展的一種趨勢。然而,當(dāng)前還存在著大量基于各種非現(xiàn)場總線標(biāo)準(zhǔn)的設(shè)備,將這些設(shè)備全部更新成基于現(xiàn)場總線的設(shè)備幾乎是不可能或不現(xiàn)實的。因此,開發(fā)現(xiàn)有設(shè)備到現(xiàn)場總線的接口轉(zhuǎn)換設(shè)備,使現(xiàn)場總線技術(shù)與傳統(tǒng)的設(shè)備有機(jī)地結(jié)合起來,將非現(xiàn)場總線設(shè)備集成到LonWorks現(xiàn)場總線系統(tǒng)中,實現(xiàn)基于現(xiàn)場總線的控制系統(tǒng),是一項非常有意義的工作。
本文引用地址:http://2s4d.com/article/148328.htm本文的目的是將現(xiàn)場總線技術(shù)、非現(xiàn)場總線技術(shù)、智能控制技術(shù)和單片機(jī)技術(shù)各自的優(yōu)勢有機(jī)地結(jié)合起來,設(shè)計一種既具有強(qiáng)大現(xiàn)場處理功能,又具有通信功能的智能控制節(jié)點。通過該智能控制節(jié)點,能夠?qū)鹘y(tǒng)儀器、設(shè)備掛接到LonWorks現(xiàn)場總線上,經(jīng)LonWorks總線進(jìn)行信息的傳輸與交換。
如GPIB接口是目前許多儀器的專用接口,通過GPIB總線控制儀器端,實現(xiàn)遠(yuǎn)程控制。然而GPIB系統(tǒng)卻受到一些工作限制,如:①兩個設(shè)備之間最大距離4m,整個電纜的長度不得超過20m;②GPIB母線上最多可掛15個設(shè)備,這主要是受TTL接口收發(fā)器驅(qū)動能力限制。當(dāng)測試系統(tǒng)有必要使用多于15個器件時,需在控制器上再添置一個GPIB接口,即可多拉一條母線,多掛14個設(shè)備。
本文以具有GPIB總線接口的設(shè)備為例,通過設(shè)計基于LON總線的智能節(jié)點,將基于GPIB總線接口的設(shè)備轉(zhuǎn)換成LonWorks現(xiàn)場總線設(shè)備,進(jìn)而將空間位置上分散較遠(yuǎn)的基于GPIB總線的儀器儀表資源通過LonWorks網(wǎng)絡(luò)有效聯(lián)系起來,實現(xiàn)儀器的較遠(yuǎn)程控制和數(shù)據(jù)的分析、處理與資源共享。
智能節(jié)點的總體設(shè)計方案
LonWorks節(jié)點是同物理上與之相連的I/O設(shè)備交互作用并在網(wǎng)上使用LonTalk協(xié)議與其他節(jié)點相通信的對象。LonWorks現(xiàn)場控制節(jié)點包含:應(yīng)用CPU、I/O處理單元、通信處理器、收發(fā)器和電源等。
LonWorks節(jié)點有兩種類型:
①以Neuron芯片為核心的控制節(jié)點,Neuron芯片直接作為通信處理器和測控處理器,這類節(jié)點適合于I/O設(shè)備較簡單,處理任務(wù)不復(fù)雜的系統(tǒng)。
②采用主處理器結(jié)構(gòu)的控制節(jié)點,即Host Base節(jié)點,Neuron芯片只作為通信處理器,充當(dāng)著LonWorks網(wǎng)的網(wǎng)絡(luò)接口,節(jié)點應(yīng)用程序由主處理器(一般用微控制器)執(zhí)行,這類節(jié)點適合于對處理能力、輸入/輸出能力要求較高的系統(tǒng),如圖1所示。
圖1 LonWorks智能控制節(jié)點
本智能節(jié)點采用Host Base節(jié)點結(jié)構(gòu)。通信協(xié)議處理器采用Neuron 3150芯片,該固件中帶有LonWorks網(wǎng)絡(luò)通信協(xié)議,該通信協(xié)議集成了ISO全部7層協(xié)議。節(jié)點采用網(wǎng)絡(luò)變量的形式發(fā)送和接收數(shù)據(jù),通信速率可達(dá)78.125kbps,對于總線或環(huán)型拓?fù)渚W(wǎng)絡(luò)結(jié)構(gòu),最大通信距離可達(dá)2700m;對于星型或自由拓?fù)渚W(wǎng)絡(luò)結(jié)構(gòu),最大通信距離可達(dá)500m,滿足了遠(yuǎn)程測控的需求。
本節(jié)點的最主要部分是主處理器,選用STC89C516RD+,它既要接收現(xiàn)場總線控制模塊并行發(fā)出的信息并且將它轉(zhuǎn)化成非現(xiàn)場總線設(shè)備能接收的信息格式,又要將非現(xiàn)場總線設(shè)備上的信息轉(zhuǎn)化傳送到現(xiàn)場總線控制模塊。它是實現(xiàn)LonWorks現(xiàn)場總線系統(tǒng)和非現(xiàn)場總線設(shè)備間通信的橋梁。
智能控制節(jié)點的總體結(jié)構(gòu)如圖2所示,主要分為LonWorks控制模塊與主控制模塊及其外圍設(shè)備接口。
圖2 智能控制節(jié)點總體結(jié)構(gòu)框圖
LonWorks控制模塊電路設(shè)計
本節(jié)點將神經(jīng)元芯片、FLASH ROM、RAM和收發(fā)器等集成為一個通用模塊,稱之為LonControl控制模塊。以神經(jīng)元芯片為核心的LonWorks控制模塊主要負(fù)責(zé)對LON通信網(wǎng)絡(luò)的管理以及與單片機(jī)的并行數(shù)據(jù)通信。
Neuron芯片3150選型
Neuron芯片是LonWorks技術(shù)的核心,每一個神經(jīng)元芯片被賦予一個唯一的48位碼的標(biāo)識,稱為標(biāo)識碼。它既進(jìn)行通信的管理,也同時具有輸入、輸出和控制的能力。介質(zhì)訪問控制CPU處理LonTalk 7層協(xié)議的第1到第2層,包括驅(qū)動通信子系統(tǒng)硬件和執(zhí)行MAC算法;網(wǎng)絡(luò)CPU處理LonTalk協(xié)議的第3到第6層,包括處理網(wǎng)絡(luò)變量尋址事務(wù)、權(quán)限證實、背景診斷、軟件計時器、網(wǎng)絡(luò)管理和路由等,同時還控制網(wǎng)絡(luò)通信端口、物理的發(fā)送和接收數(shù)據(jù)包;應(yīng)用CPU執(zhí)行用戶用Neuron C語言編寫的代碼以及用戶代碼調(diào)用的操作系統(tǒng)命令。芯片內(nèi)有3個8位流水線作業(yè)的CPU,3個CPU分別通過片內(nèi)的網(wǎng)絡(luò)緩存器和應(yīng)用緩存器進(jìn)行通信。
神經(jīng)元芯片選用日本東芝公司生產(chǎn)的TMPN3150B1AF,通常為64腳QFP封裝。芯片內(nèi)存儲器的地址范圍是E800H~FFFFH,包括2kByte的SRAM和512kByte的EEPROM。
神經(jīng)元芯片外部存儲器擴(kuò)展電路設(shè)計
TMPN3150有16根地址線,可尋址64k空間,可以外接存儲器,如RAM、ROM、EEPROM或FLASH。根據(jù)應(yīng)用性能和成本要求,該智能節(jié)點的外部存儲器采用FLASH和RAM。FLASH ROM不僅能夠在斷電的情況下保證數(shù)據(jù)不丟失,而且在上電情況下可進(jìn)行理論上高達(dá)10萬次的數(shù)據(jù)寫操作。
根據(jù)Echelon公司的推薦,這里選用Winbond的W29EE512P作為FLASH ROM擴(kuò)展。W29EE512P是64k×8bit CMOS FLASH Memory,5V的電壓即可對其進(jìn)行片上編程和擦除。W29EE512P含有4k個扇區(qū),每個扇區(qū)為128字節(jié),存儲空間總共為512kB。其中低字節(jié)空間用于存放神經(jīng)元芯片的固件(包括LonTalk協(xié)議等),高字節(jié)空間作為節(jié)點應(yīng)用程序的存儲區(qū)。
外部數(shù)據(jù)存儲器擴(kuò)展用于存儲附加的應(yīng)用程序讀/寫數(shù)據(jù)和作為附加的網(wǎng)絡(luò)緩沖區(qū)及應(yīng)用程序緩沖存儲空間,SRAM采用HITACH公司生產(chǎn)的HM62256。HM62256含有512個扇區(qū),每個扇區(qū)為64字節(jié),總共存儲空間為32kB,設(shè)計時只使用了24kB。圖3為神經(jīng)元芯片外部存儲器擴(kuò)展電路。
圖3 神經(jīng)元芯片外部存儲器擴(kuò)展電路圖
收發(fā)器電路設(shè)計
收發(fā)器是智能節(jié)點與Lon網(wǎng)之間的接口。本設(shè)計選用ECHELON公司的FTT-10A自由拓?fù)潆p絞線收發(fā)器,該收發(fā)器可以連接到任何基于Neuron芯片的控制系統(tǒng),支持無極性自由拓?fù)淇偩€安裝形式,它可支持星型、總線型和環(huán)型。自由拓?fù)浣Y(jié)構(gòu)能夠減少系統(tǒng)安裝時間、降低系統(tǒng)安裝成本。
FTT-10A收發(fā)器由一個隔離變壓器和一個集成的78kbps微分曼切斯特編碼收發(fā)器組成,收發(fā)器管腳與Neuron芯片的通信端口(CP)和時鐘線、+5V電源及雙絞線網(wǎng)絡(luò)線相連。FTT-10A收發(fā)器自動檢測輸入時鐘頻率是在5MHz、10MHz還是20MHz。當(dāng)無電源供給時收發(fā)器輸出呈高阻狀態(tài),當(dāng)收發(fā)器電源下降時不會影響網(wǎng)絡(luò)通信。
FTT-10A收發(fā)器與神經(jīng)元芯片的接口電路如圖4所示。C1是供電電源的解耦電容,選用“0.1uF,+5VDC”解耦電容;C2是靜態(tài)放電電容,電容值較小,要盡可能地耐高壓,選用1000pF、2kV電容,電路設(shè)計時,C2和PCB火花隙連在一起,可有效地防止收發(fā)器接入網(wǎng)絡(luò)瞬間發(fā)生的電壓“浪涌”現(xiàn)象;C3,C4為DC模塊電容,選用22uF、+50V的極性電容;D1~D4為瞬態(tài)箱位二極管,保證收發(fā)器放電安全可靠,通常選用BAV99或IN4148。
圖4 FTT-10A收發(fā)器與神經(jīng)元芯片接口電路圖
時鐘電路設(shè)計
3150 Neuron芯片時鐘電路如圖5所示。在神經(jīng)元芯片內(nèi)有振蕩器,利用外接晶振可產(chǎn)生輸入時鐘。神經(jīng)元芯片時鐘頻率范圍在625KHz~10MHz之間,有效的輸入時鐘頻率為:10MHz、5MHz、2.5MHz、1.25MHz和625KHz,時鐘頻率的精度必須為±1.5%或更高。本設(shè)計采用外接晶體振蕩器的方法來產(chǎn)生10MHz輸入時鐘。
圖5 時鐘信號產(chǎn)生電路圖
主控制模塊及其外圍設(shè)備接口電路設(shè)計
以單片機(jī)為核心的主控制模塊及其外圍設(shè)備接口電路主要負(fù)責(zé)與LonWorks控制模塊的并行數(shù)據(jù)交換、對外圍設(shè)備輸入輸出量的控制以及實現(xiàn)人機(jī)交互的鍵盤輸入和LCD顯示等。
電源與復(fù)位電路設(shè)計
考慮到設(shè)備的集中供電,本設(shè)計采用交流13.8V對每個節(jié)點或者設(shè)備供電。由于系統(tǒng)需要+5V電源,13.8V交流電通過整流橋3KBP06整流得到直流電,對其濾波后送往穩(wěn)壓器件7805進(jìn)行轉(zhuǎn)換,便可得到相應(yīng)的穩(wěn)定工作電壓。7805芯片雖然具有輸出穩(wěn)定、溫度系數(shù)小、內(nèi)含過流及短路保護(hù)等優(yōu)點,但長時間工作時,往往會散發(fā)比較多的熱量,因此有必要在芯片的底槽上加固一散熱片以保護(hù)芯片長期穩(wěn)定工作,圖6為電源電路原理圖。
圖6 電源電路原理圖
復(fù)位電路采用復(fù)位芯片STC708,它具有較寬范圍的用戶自定義門限電壓,具有上電復(fù)位、掉電復(fù)位和外部手動復(fù)位等功能,能進(jìn)行電源穩(wěn)壓塊前端掉電檢測,可實現(xiàn)高/低電平兩路復(fù)位信號輸出,圖7為復(fù)位電路圖。
圖7 復(fù)位電路圖
STC89C516RD+及存儲器擴(kuò)展電路設(shè)計
主控制模塊單片機(jī)選用STC89C516RD+。STC89C516RD+是完全兼容8051內(nèi)核的單片機(jī),和8051單片機(jī)在指令級上兼容,12時鐘/機(jī)器周期和6時鐘/機(jī)器周期可反復(fù)設(shè)置。高達(dá)64k的用戶應(yīng)用程序空間和1280字節(jié)的片上集成RAM,以及256Byte的內(nèi)存,最高工作頻率可達(dá)40MHz,共有32根輸入輸出線、3個16位計時/計數(shù)器、8個中斷源和一個串行口。本節(jié)點采用外部振蕩器,其頻率為11.0592MHz。
由于系統(tǒng)在終端顯示、與外圍設(shè)備和Neuron芯片通信等都涉及大量的數(shù)據(jù)交換和操作,需要占用較大的RAM空間,同時也為了讓數(shù)據(jù)處理的速度更快,設(shè)計擴(kuò)展了一片8k×8數(shù)據(jù)存儲器HM6264。STC89C516RD+的存儲器擴(kuò)展電路如圖8所示。
圖8 STC89C516RD+存儲器擴(kuò)展電路圖
人機(jī)交互接口電路設(shè)計
人機(jī)接口電路主要包括鍵盤和終端顯示等。
為了減少對單片機(jī)I/O口的占用,設(shè)計采用非編碼式2×4矩陣鍵盤。鍵盤電路原理如圖9所示,DIG0~3與SEGA、B接擴(kuò)展芯片74LS373上。
圖9 鍵盤電路原理圖
本智能節(jié)點采用廈門OCULAR公司生產(chǎn)的GDM12864,該LCD模塊自帶漢字庫和常用字符,功能強(qiáng)大,操作簡單。它主要由行驅(qū)動器/列驅(qū)動器及128×64全點陣液晶顯示器組成,與CPU接口采用8位數(shù)據(jù)總線并行輸入輸出。
單片機(jī)與液晶控制模塊之間通過擴(kuò)展一個鎖存器74LS373的訪問方式,使STC89C516RD+利用數(shù)據(jù)總線與控制信號控制GDM12864液晶顯示模塊。其中,數(shù)據(jù)口P0與液晶顯示模塊的數(shù)據(jù)口通過鎖存器相連,單片機(jī)的R/W作為液晶顯示模塊的讀、寫控制信號,液晶模塊的/RST與外部復(fù)位電路的復(fù)位端相連,液晶模塊的/CE信號端由P2.6進(jìn)行片選控制,RS信號由單片機(jī)I/O口控制,高電平時為指令口地址,低電平時為數(shù)據(jù)口地址。電位器RW1用來調(diào)節(jié)顯示屏的亮度。液晶模塊與STC89C516RD+的電路連接如圖10所示。
單片機(jī)與神經(jīng)元芯片通信電路設(shè)計
圖10 液晶模塊與STC89C516RD+電路連接圖
主副控制器之間采用并行I/O方式,STC89C516RD+利用數(shù)據(jù)總線和控制信號與LonWorks控制模塊進(jìn)行通信,并根據(jù)控制模塊接口J2的引腳定義來設(shè)計相互之間的連接。單字節(jié)并行通信接口模塊由兩塊74HC574和一塊74HC74芯片組成,74HC574是帶三態(tài)輸出控制的8D觸發(fā)器,數(shù)據(jù)的輸入由CLK腳上升沿控制,數(shù)據(jù)的輸出由OC腳低電平選通。74HC74是帶預(yù)置端和清除端的雙D觸發(fā)器,接口電路中由于它的數(shù)據(jù)輸入端D接地、輸出清除端CD接正電源,所以其數(shù)據(jù)輸出端Q由CLK腳上升沿置低、由SD腳低電平置高。并行通信接口通過其對稱的兩個接口分別與要進(jìn)行數(shù)據(jù)交換的A機(jī)(主控制模塊)和B機(jī)(LonWorks控制模塊)相連。主副控制器通信接口電路如圖11所示。
(a)主控制器J2接口電路
(b)LonWorks控制模塊J2接口電路
圖11 主副控制器通信接口電路圖
A機(jī)向B機(jī)發(fā)送單個數(shù)據(jù)的工作原理為:
①A機(jī)把數(shù)據(jù)輸出到數(shù)據(jù)總線D0~D7上;
②控制寫信號(WR),即上升沿,把D0~D7上數(shù)據(jù)選通到U5中鎖存,同時使INTS變低,請求B機(jī)接收數(shù)據(jù);
③B機(jī)收到INTS低電平請求信號后,控制IORS產(chǎn)生低電平,把U5中鎖存的數(shù)據(jù)選通輸出到數(shù)據(jù)總線BD0~BD7上,同時使INTS置高,釋放數(shù)據(jù)總線BD0~BD7;
④B機(jī)控制IOWS產(chǎn)生上升沿,使INTM變低,通知A機(jī)可以繼續(xù)發(fā)送數(shù)據(jù);
⑤A機(jī)收到INTM低電平后,把RD置低,使INTM變高,消除請求信號;
⑥A機(jī)把RD置高,釋放數(shù)據(jù)總線D0~D7。
重復(fù)上述步驟,就能實現(xiàn)A機(jī)到B機(jī)的多個數(shù)據(jù)傳送。B機(jī)到A機(jī)的數(shù)據(jù)傳送的工作原理同上。
外圍設(shè)備接口電路設(shè)計
本節(jié)點設(shè)備端使用GPIB專用芯片TNT4882實現(xiàn)GPIB接口功能,TNT4882是美國NI公司的一款單芯片、高速、聽/講功能兼?zhèn)涞腉PIB接口專用芯片。TNT4882芯片使用簡單靈活,可方便地連接各種8位和16位處理器,除了40MHz的時鐘外不需要其他任何外圍芯片即能直接與GPIB總線相連。TNT4882有三種不同的硬件接口模式:單片模式、Turbor+7210模式以及Turbor+9914模式,本設(shè)計采用單片模式。GPIB實現(xiàn)的硬件連接如圖12所示。
圖12 GPIB實現(xiàn)的硬件連接圖
智能節(jié)點的軟件設(shè)計
軟件的主要功能是通過單片機(jī)從GPIB總線獲取數(shù)據(jù),并將數(shù)據(jù)送到LON網(wǎng)絡(luò)上相應(yīng)節(jié)點,或?qū)ON網(wǎng)絡(luò)傳送過來的數(shù)據(jù)發(fā)給單片機(jī),經(jīng)轉(zhuǎn)換后發(fā)送至GPIB總線。本節(jié)點中Neuron芯片需要完成與單片機(jī)之間的通信,同時作為與LonWorks網(wǎng)絡(luò)的通信處理器還需實現(xiàn)與底層各節(jié)點的數(shù)據(jù)交換。而主控制器單片機(jī)則主要完成與LonWorks控制模塊的并行通信、控制TNT4882芯片獲取GPIB總線上儀器儀表設(shè)備的數(shù)據(jù)以及外圍電路的驅(qū)動。在此主要介紹單片機(jī)與GPIB接口的軟件設(shè)計。
GPIB系統(tǒng)中各設(shè)備的工作速度可能相差懸殊,為了保證多線消息能雙向、異步、準(zhǔn)確可靠地傳遞,GPIB母線中設(shè)置了三條握手線(DAV、NRFD和NDAC)。源方和受方之間利用三線握手技術(shù)以異步方式來進(jìn)行數(shù)據(jù)傳送。由于本節(jié)點采用TNT4882實現(xiàn)GPIB數(shù)據(jù)的收發(fā),因此對GPIB總線的控制只要對TNT4882進(jìn)行控制即可,數(shù)據(jù)傳送過程可通過TNT4882芯片自行完成。單片機(jī)控制TNT4882對GPIB數(shù)據(jù)的收發(fā)有中斷方式、查詢方式和DMA方式。本文采用查詢方式來控制TNT4882實現(xiàn)對GPIB總線的控制,其工作流程如圖13所示。當(dāng)初始化完成后,程序不斷地讀取TNT4882的狀態(tài)位判斷當(dāng)前TNT4882所處的狀態(tài),如果為聽者狀態(tài),單片機(jī)接收數(shù)據(jù),如果為講者狀態(tài),單片機(jī)發(fā)送數(shù)據(jù)。
圖13 單片機(jī)控制TNT4882工作流程圖
結(jié)束語
本文以含GPIB接口總線的儀器儀表設(shè)備為例,設(shè)計了將GPIB總線上的儀器儀表設(shè)備接入LonWorks現(xiàn)場總線網(wǎng)絡(luò)的智能節(jié)點,給出了智能節(jié)點的總體設(shè)計方案;并對智能控制節(jié)點進(jìn)行了詳細(xì)的硬軟件設(shè)計,給出了設(shè)計電路。
c語言相關(guān)文章:c語言教程
存儲器相關(guān)文章:存儲器原理
塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理 晶振相關(guān)文章:晶振原理 雙絞線傳輸器相關(guān)文章:雙絞線傳輸器原理
評論