基于LonWorks的在系統(tǒng)編程技術(shù)
引言
在系統(tǒng)編程ISP(In System Programming)是指在用戶設(shè)計(jì)的目標(biāo)系統(tǒng)或印刷電路板上為重新配置邏輯,或?qū)崿F(xiàn)新的功能而對(duì)器件進(jìn)行編程或反復(fù)編程。
隨著EDA工具的普及和ISP器件的日益成熟,ISP技術(shù)也得到了越來(lái)越廣泛的應(yīng)用。ISP技術(shù)的應(yīng)用使得硬件設(shè)計(jì)軟件化,其顯著優(yōu)勢(shì)體現(xiàn)在:簡(jiǎn)化生產(chǎn)流程;利用同一硬件結(jié)構(gòu)實(shí)現(xiàn)多種系統(tǒng)功能,使之成多功能硬件;在不特殊電路板資源的情況下進(jìn)行電路板級(jí)測(cè)試;邊界掃描測(cè)試;通過(guò)Modem和ISP編程接口實(shí)現(xiàn)對(duì)系統(tǒng)的遠(yuǎn)程維護(hù)和升級(jí)。
對(duì)ISP器件的編程可通過(guò)PC機(jī)進(jìn)行,利用1條編程電路(或稱下載電纜)將準(zhǔn)確定時(shí)的編程信號(hào)提供給該器件。但是,這種方法不能使各種器件的數(shù)據(jù)下載脫離EDA工具獨(dú)立進(jìn)行,真正意義上的在系統(tǒng)可編程難以實(shí)現(xiàn)。對(duì)于ISP器件的編程也可以通過(guò)微處理器的控制程序?qū)崿F(xiàn),這就為基于Neuron芯片的LON網(wǎng)絡(luò)節(jié)點(diǎn)提供了應(yīng)用空間。
Lon(Local Operating Networks)總線是美國(guó)Echelon公司1991年推出的局部操作網(wǎng)絡(luò),目前已廣泛應(yīng)用于測(cè)控網(wǎng)絡(luò)中。LonWorks現(xiàn)場(chǎng)總線技術(shù)在控制系統(tǒng)引入了網(wǎng)絡(luò)的概念。在該技術(shù)的基礎(chǔ)上,可以方便地實(shí)現(xiàn)分布式的網(wǎng)絡(luò)控制系統(tǒng),并使得控制系統(tǒng)更高效、更靈活、更易于維護(hù)和擴(kuò)展。利用分布的智能控制節(jié)點(diǎn)進(jìn)行在系統(tǒng)編程無(wú)需編程電纜,而且能夠充分地利用系統(tǒng)資源,簡(jiǎn)化編程操作,大大拓展了在系統(tǒng)編程技術(shù)的應(yīng)用范圍。
1 基于Neuron芯片的控制節(jié)點(diǎn)
1.1 Neuron芯片簡(jiǎn)介
Neuron芯片的LonWorks節(jié)點(diǎn)的核心部分,它既能管理通道,同時(shí)具有輸入/輸出以及控制等能力。該芯片主要包括Neuron 3120和3150兩大系列。二者的區(qū)別是3150芯片中無(wú)部ROM,但擁有訪問(wèn)外部存儲(chǔ)器的接口,尋址空間可達(dá)64KB,可用于開(kāi)發(fā)更為復(fù)雜的應(yīng)用系統(tǒng),Noeuron芯片內(nèi)部固化了完整的LonTalk通信協(xié)議,確保節(jié)點(diǎn)間的可靠通信和互操作。芯片內(nèi)部有3個(gè)8位CPU協(xié)調(diào)工作,實(shí)現(xiàn)Lon節(jié)點(diǎn)的通信和控制功能;11個(gè)編程I/O口;5個(gè)網(wǎng)絡(luò)通信端口提供3種工作方式;單端方式、差分方式和專用方式。
1.2 控制節(jié)點(diǎn)的硬件結(jié)構(gòu)
Lon網(wǎng)絡(luò)節(jié)點(diǎn)有2種類(lèi)型:基于Neuron芯片的節(jié)點(diǎn)(Neuron芯片是唯一的處理器)和基于主機(jī)的節(jié)點(diǎn)(主處理器可以是微控制器、PC機(jī)等)。一個(gè)典型的現(xiàn)場(chǎng)總線控制節(jié)點(diǎn)的基本結(jié)構(gòu)如圖1所示,主要包含以下幾個(gè)部分功能塊;應(yīng)用CPU、I/O處理單元、通信處理器、收發(fā)器和電源。無(wú)論哪種類(lèi)型的節(jié)點(diǎn)都有1片Neuron芯片用于通信和/或控制、1個(gè)I/O接口用于連接1個(gè)或多個(gè)I/O設(shè)備,另外還有1個(gè)收發(fā)器負(fù)責(zé)將節(jié)點(diǎn)連接上網(wǎng)。
本設(shè)計(jì)中控制節(jié)點(diǎn)的基本結(jié)構(gòu)如圖2所法。該節(jié)點(diǎn)主要包括Neuron芯片、128KB Flash存儲(chǔ)器、10MHz晶振、FTT-10A收發(fā)器以及I/O接口、驅(qū)動(dòng)、CPLD。Neuron芯片外部擴(kuò)展了Flash存儲(chǔ)器,用于存儲(chǔ)固件和用戶應(yīng)用程序。其中固件通過(guò)編程器下載,而應(yīng)用程序的下載可以使用編程器,還可以使用網(wǎng)絡(luò)管理工具經(jīng)Lon網(wǎng)絡(luò)下載,這樣,CPLD的重新配置就能夠通過(guò)Lon網(wǎng)絡(luò)方便快捷地進(jìn)行。5根在系統(tǒng)編程控制的ispEN、MODE、SDI、SCLK以太SDO占用Neuron芯片的5個(gè)I/O口。Neuron芯片I/O口本身的驅(qū)動(dòng)能力是不夠的,需要使用74HC367或74HC244增強(qiáng)信號(hào)驅(qū)動(dòng)能力,并使用適當(dāng)?shù)淖枞菥W(wǎng)絡(luò)給信號(hào)線濾波,增強(qiáng)抗干擾能力。