基于FPGA的LON網(wǎng)絡(luò)高速智能節(jié)點(diǎn)的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 概述
LonWorks現(xiàn)場(chǎng)總線(簡(jiǎn)稱LON總線)是美國Echelon公司推出的局部操作網(wǎng)絡(luò),為集散式監(jiān)控系統(tǒng)提供了很強(qiáng)的實(shí)現(xiàn)手段,成為當(dāng)今流行的現(xiàn)場(chǎng)總線技術(shù)之一?,F(xiàn)在的測(cè)控系統(tǒng)中,連接在現(xiàn)場(chǎng)總線網(wǎng)絡(luò)上的每一個(gè)節(jié)點(diǎn),即傳感器、變送器、執(zhí)行器等都不再是單功能的傳統(tǒng)儀表,而是具有數(shù)據(jù)采集、轉(zhuǎn)換、控制、計(jì)算、報(bào)警、診斷及數(shù)字通訊等功能的智能化設(shè)備(智能節(jié)點(diǎn))連接在網(wǎng)絡(luò)上的各種智能現(xiàn)場(chǎng)設(shè)備共享總線信道,進(jìn)行數(shù)據(jù)和信息交換,相互協(xié)調(diào)工作組成一個(gè)完整的現(xiàn)場(chǎng)總線控制系統(tǒng)。LON總線技術(shù)使用開放式的通信協(xié)議LonTalk,為設(shè)備之間交換控制狀態(tài)信息建立了一個(gè)通用標(biāo)準(zhǔn)并,在硬件芯片的支持下實(shí)現(xiàn)了實(shí)時(shí)性和接口的直觀、簡(jiǎn)潔的現(xiàn)場(chǎng)總線的應(yīng)用要求。在LON總線技術(shù)中所有節(jié)點(diǎn)都包括一個(gè)用以實(shí)現(xiàn)通信管理、輸入、輸出和控制等功能的神經(jīng)元芯片(Neuron Chip)-- LON總線技術(shù)的核心,它不僅是LON總線的通信處理器,也是數(shù)據(jù)采集和控制的通用處理器,LON總線技術(shù)中所有網(wǎng)絡(luò)的操作實(shí)際上都是通過它來完成的。因此網(wǎng)絡(luò)中節(jié)點(diǎn)的設(shè)計(jì)是實(shí)現(xiàn)LON總線技術(shù)的一個(gè)關(guān)鍵所在。
2 智能節(jié)點(diǎn)開發(fā)的一般方法
智能節(jié)點(diǎn)是控制網(wǎng)絡(luò)中分布在現(xiàn)場(chǎng)級(jí)的基本智能單元,主要用于接受和處理來自傳感器的輸入數(shù)據(jù),執(zhí)行通信和控制任務(wù)以及控制執(zhí)行起操作等。智能節(jié)點(diǎn)中的核心技術(shù)是LONTALK協(xié)議和神經(jīng)元芯片。智能節(jié)點(diǎn)的開發(fā)分為兩類:一類是利用神經(jīng)元芯片完成所有的工作(包括通信和用戶應(yīng)用程序),節(jié)點(diǎn)中不再包含其他處理器。這類智能節(jié)點(diǎn)成為基于神經(jīng)元芯片的節(jié)點(diǎn)。另一類是只利用神經(jīng)元芯片完成通信工作,而用戶的應(yīng)用程序由其他的處理器(如微處理器、微控制器或PC機(jī)來完成)這種智能節(jié)點(diǎn)成為基于主機(jī)的節(jié)點(diǎn)。
(1) 以Neuron 芯片為核心的控制節(jié)點(diǎn)
圖1為以Neuron芯片為核心的控制節(jié)點(diǎn)的結(jié)構(gòu)框圖。
神經(jīng)元芯片是一組復(fù)雜的VLSI器件,通過獨(dú)特的硬件固件相結(jié)合技術(shù),使一個(gè)Neuron芯片幾乎包含一個(gè)現(xiàn)場(chǎng)節(jié)點(diǎn)的大部分功能若加上收發(fā)器就可以構(gòu)成一個(gè)典型的現(xiàn)場(chǎng)控制節(jié)點(diǎn)。
此設(shè)計(jì)方法由于Neuron芯片是8位總線,目前只支持最高主頻是10MHz,因此它能完成的功能也十分有限,對(duì)于一些復(fù)雜的控制如帶有PID算法的單回路多回路的控制就顯得力不從心。且其片載操作系統(tǒng)基于一種巡檢機(jī)制,不太適合于實(shí)時(shí)性很強(qiáng)的控制節(jié)點(diǎn)。
圖1 以Neuron芯片為核心的控制節(jié)點(diǎn)結(jié)構(gòu)
圖2 采用MIP結(jié)構(gòu)的控制節(jié)點(diǎn)結(jié)構(gòu)
(2) 采用MIP結(jié)構(gòu)的控制節(jié)點(diǎn)
圖2為Host Base結(jié)構(gòu)的節(jié)點(diǎn)框圖。鑒于方法(1)的缺點(diǎn),采用MIP結(jié)構(gòu)是解決這一問題的好辦法,將Neuron芯片作為通信協(xié)處理器,用高級(jí)主機(jī)(上位管理機(jī))的資源來完成復(fù)雜的測(cè)控功能。
對(duì)于這種方法,由于高級(jí)主機(jī)(上位管理機(jī))和各智能節(jié)點(diǎn)間,屬于多對(duì)一通信,當(dāng)節(jié)點(diǎn)增多時(shí),容易引起網(wǎng)絡(luò)的阻塞,且一旦發(fā)生網(wǎng)絡(luò)阻塞,網(wǎng)絡(luò)上的數(shù)據(jù)傳輸效率將顯著降低。
此外,現(xiàn)有大多LON網(wǎng)絡(luò)的智能節(jié)點(diǎn)應(yīng)用中,數(shù)據(jù)采集系統(tǒng)通常采用單片機(jī)或DSP(數(shù)字信號(hào)處理器)作為CPU,控制ADC(模/數(shù)轉(zhuǎn)換器)、存儲(chǔ)器和其他外圍電路的工作。但是單片機(jī)的時(shí)鐘頻率較低,難以適應(yīng)高速數(shù)據(jù)采集系統(tǒng)的要求,而DSP雖然可以實(shí)現(xiàn)較高速的數(shù)據(jù)采集,但其速度提高的同時(shí)也提高了系統(tǒng)的成本。FPGA(現(xiàn)場(chǎng)可編程門陣列)有單片機(jī)和DSP無法比擬的優(yōu)勢(shì):時(shí)鐘頻率高,內(nèi)部時(shí)延小;全部控制邏輯由硬件完成,速度快,效率高;組成形式靈活,可以集成外圍控制、譯碼和接口電路。
3高速智能節(jié)點(diǎn)的設(shè)計(jì)
3.1高速智能節(jié)點(diǎn)的硬件系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
該高速智能節(jié)點(diǎn)是基于FPGA架構(gòu)來設(shè)計(jì)的。FPGA是整個(gè)系統(tǒng)的控制中心和數(shù)據(jù)交換橋梁,而且能夠?qū)崿F(xiàn)對(duì)底層的信號(hào)快速預(yù)處理,在很多信號(hào)處理系統(tǒng)中,底層的信號(hào)預(yù)處理算法要處理的數(shù)據(jù)量很大,對(duì)處理速度要求很高,但算法結(jié)構(gòu)相對(duì)比較簡(jiǎn)單,適于用FPGA進(jìn)行硬件編程實(shí)現(xiàn)。
系統(tǒng)的原理框圖如圖3所示。
圖3 通用高速智能節(jié)點(diǎn)總體結(jié)構(gòu)框圖
整個(gè)高速數(shù)據(jù)采集處理系統(tǒng)的主要硬件構(gòu)成為:
1)ACEX1K系列EP1K30TC144-3:主處理器,是整個(gè)系統(tǒng)的控制中心和數(shù)據(jù)處理中心,特點(diǎn)是電路連接I/O口多,速度快;
2)AD9288:實(shí)現(xiàn)4路8位采樣,最高采樣頻率為100 MSPS,適合應(yīng)用與高速信號(hào)測(cè)量?jī)x器;;
3)Neuron芯片:通信協(xié)處理器,負(fù)責(zé)通信功能
4)雙口RAM:主處理器與通信協(xié)處理器的接口,實(shí)現(xiàn)數(shù)據(jù)交換;
5)收發(fā)器FTT-10A:將數(shù)據(jù)傳遞至LON總線。
在控制臺(tái)發(fā)出采集指令或定時(shí)器的作用下,模擬輸入經(jīng)AD采樣進(jìn)入FPGA,經(jīng)過FPGA里的信號(hào)處理模塊和算法處理后存入RAM,經(jīng)Neuron芯片讀出至LON網(wǎng)絡(luò)。
3.2高速智能節(jié)點(diǎn)的軟件設(shè)計(jì)
軟件設(shè)計(jì)包括:數(shù)據(jù)采集和控制。
1) 數(shù)據(jù)采集軟件設(shè)計(jì)
數(shù)據(jù)采集當(dāng)上位機(jī)發(fā)出采集數(shù)據(jù)指令后,通過網(wǎng)絡(luò)變量送到相應(yīng)的節(jié)點(diǎn),然后控制外部傳感器執(zhí)行相應(yīng)的數(shù)據(jù)采集指令,并將采集到的數(shù)據(jù)經(jīng) A/D 轉(zhuǎn)換送到神經(jīng)元芯片,再經(jīng)過網(wǎng)絡(luò)變量傳遞,經(jīng) LNS DDE 動(dòng)態(tài)數(shù)據(jù)連接傳遞給監(jiān)控軟件,并進(jìn)行圖形化顯示給操作者。這一流程可以不斷循環(huán)進(jìn)行,直到滿足所有條件為止。這一部分的總體流程如圖4所示。
圖4 采集程序的軟件流程圖 圖5 控制程序的軟件流程圖
數(shù)據(jù)采集部分核心軟件:本部分的主要功能是將采集到的模擬信號(hào)通過電平轉(zhuǎn)換、濾波及多路開關(guān)后分成 8 路信號(hào),再進(jìn)行 A/D 轉(zhuǎn)換變成數(shù)字量,經(jīng)過加工處理后,送至網(wǎng)絡(luò)數(shù)據(jù)庫,自動(dòng)改寫其中的網(wǎng)絡(luò)變量的值。
2)控制軟件設(shè)計(jì)
控制軟件主要是負(fù)責(zé)對(duì)底層設(shè)備的控制。當(dāng)控制中心在監(jiān)控軟件下發(fā)出控制指令,經(jīng)DDE 傳遞給 LonWorks 網(wǎng)絡(luò),通過網(wǎng)絡(luò)變量送到對(duì)應(yīng)的節(jié)點(diǎn),在經(jīng)過 D/A轉(zhuǎn)換,底層設(shè)備接收后開始數(shù)據(jù)采集,然后進(jìn)行檢測(cè)是否有下一個(gè)控制指令。這一流程也是可不斷循環(huán)直到滿足所有條件為止。這一部分的總體流程如圖5所示。
3.3 實(shí)驗(yàn)結(jié)果
輸入一正弦波,周期為1s,得到如圖6示結(jié)果:
圖6 實(shí)驗(yàn)結(jié)果
4 結(jié)束語
本設(shè)計(jì)成功的實(shí)現(xiàn)了利用FPGA芯片作為L(zhǎng)ON網(wǎng)絡(luò)智能節(jié)點(diǎn)的主處理器,并且采用雙口RAM實(shí)現(xiàn)了主處理器與NEURON芯片之間的數(shù)據(jù)傳遞。本系統(tǒng)適合大多數(shù)數(shù)據(jù)采集場(chǎng)合,能達(dá)到通用和高速的目的。
采用FPGA進(jìn)行設(shè)計(jì)可縮短開發(fā)生產(chǎn)周期,而且現(xiàn)場(chǎng)靈活性好,它不但包括了MCU這一特點(diǎn),而且可觸及硅片電路的物理界限,并兼有串、并行工作方式,高速、高可靠性以及寬口徑適用性等諸多方面的特點(diǎn)。因此,利用基于FPGA的LON網(wǎng)絡(luò)的高速智能節(jié)點(diǎn)的設(shè)計(jì)具有一定的實(shí)際意義和價(jià)值。