1 引言
目前有一定規(guī)模的學(xué)校均建有基于網(wǎng)絡(luò)的校園消費(fèi)信息管理系統(tǒng),建立一個穩(wěn)定可靠、擴(kuò)充和維護(hù)方便的該類系統(tǒng),關(guān)鍵是建立一個適用于校園消費(fèi)環(huán)境的信息傳輸網(wǎng)絡(luò)。目前校園消費(fèi)信息管理系統(tǒng)底層網(wǎng)絡(luò)多采用RS-485 總線的組網(wǎng)方式。采用RS-485 總線組網(wǎng)具有結(jié)構(gòu)簡單、成本低等優(yōu)點(diǎn),但RS-485 總線無故障定位和錯誤處理功能,組網(wǎng)的靈活性不強(qiáng)。隨著互聯(lián)網(wǎng)的日益普及,也有一些學(xué)校的校園消費(fèi)信息管理系統(tǒng)采用以太網(wǎng)的組網(wǎng)方式,將每個消費(fèi)節(jié)點(diǎn)就近聯(lián)接于校園網(wǎng)上。這種組網(wǎng)方式的特點(diǎn)是能夠充分利用現(xiàn)有的網(wǎng)絡(luò)資源,能方便的進(jìn)行遠(yuǎn)程訪問,但在目前情況下,這種方式的不足是組網(wǎng)費(fèi)用較高,實(shí)時響應(yīng)能力不強(qiáng),網(wǎng)絡(luò)完全依賴于校園網(wǎng),而校園網(wǎng)并不能保證安全可靠。當(dāng)然,互聯(lián)網(wǎng)具有巨大的優(yōu)勢和應(yīng)用前景,但就傳輸信息量較小,實(shí)時性要求較高的校園消費(fèi)信息管理系統(tǒng)底層網(wǎng)絡(luò)而言,以太網(wǎng)并非最佳選擇。
本文提出了一種基于CAN網(wǎng)控器的性能價格比較高的校園消費(fèi)信息管理系統(tǒng)底層網(wǎng)絡(luò)設(shè)計(jì)方案。CAN總線具有傳輸速率高,抗干擾能力強(qiáng),硬件連接方便等突出特點(diǎn),在智能汽車,分布式信息的采集與控制等方面得到了廣泛的應(yīng)用。將CAN總線應(yīng)用于校園消費(fèi)信息管理系統(tǒng)底層網(wǎng)絡(luò)設(shè)計(jì)中,其組網(wǎng)成本與采用RS-485總線相當(dāng),而使用、維護(hù)和擴(kuò)充則都更為方便。與以太網(wǎng)相比則具有價格低、實(shí)時性好、可靠性高等優(yōu)點(diǎn)。欲了解更多信息請登錄電子發(fā)燒友網(wǎng)(http://www.elecfans.com)
2 CAN 網(wǎng)控器
由于現(xiàn)在許多學(xué)校校園面積較大,各消費(fèi)點(diǎn)又非常分散,需要有一種網(wǎng)絡(luò)設(shè)備能將各消費(fèi)點(diǎn)與服務(wù)器連接起來,實(shí)現(xiàn)消費(fèi)信息的高效實(shí)時傳輸。這樣的網(wǎng)絡(luò)設(shè)備一般采用的是中繼器,本文提出了采用CAN 網(wǎng)控器的方案。系統(tǒng)中所設(shè)計(jì)的CAN 網(wǎng)控器不僅具有中繼的功能,更重要的是它充分利用了CAN 總線控制器可靈活配置的特點(diǎn),在兩個CAN 子網(wǎng)之間實(shí)現(xiàn)報文的過濾,使各個子網(wǎng)都能高效運(yùn)轉(zhuǎn),而這些對于各CAN 節(jié)點(diǎn)和服務(wù)器而言都是透明的。因而,CAN 網(wǎng)控器是校園消費(fèi)信息管理系統(tǒng)組網(wǎng)的關(guān)鍵設(shè)備,它可以提高網(wǎng)絡(luò)設(shè)計(jì)的靈活性,極大的擴(kuò)展其使用范圍。CAN 網(wǎng)控器由微處理器和兩路CAN 控制器接口組成,網(wǎng)控器中有E2PROM,用于保存網(wǎng)控器的配置參數(shù)等信息。由于通信對實(shí)時性的要求以及CAN 網(wǎng)控器所用微處理器的內(nèi)部緩存容量有限,微處理器采用了FIFO 機(jī)制來管理內(nèi)部RAM,提高內(nèi)存使用效率。
3 校園消費(fèi)信息管理系統(tǒng)網(wǎng)絡(luò)設(shè)計(jì)
3.1 校園消費(fèi)信息管理系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)
校園消費(fèi)信息管理系統(tǒng)網(wǎng)絡(luò)主體由三部分構(gòu)成:消費(fèi)信息管理中心服務(wù)器,CAN 網(wǎng)控器,網(wǎng)絡(luò)終端(包括窗口機(jī)、充值機(jī)、掛失機(jī)等),其中CAN 網(wǎng)控器是組網(wǎng)的核心設(shè)備?;贑AN網(wǎng)控器的校園消費(fèi)信息管理系統(tǒng)已在某大學(xué)成功得到應(yīng)用,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。從圖中可以看出,網(wǎng)控器將窗口機(jī)等終端與服務(wù)器連結(jié)起來。在該網(wǎng)絡(luò)結(jié)構(gòu)中,網(wǎng)控器共分兩級。一級網(wǎng)控器一端與服務(wù)器相連,另一端則與各個消費(fèi)現(xiàn)場的窗口機(jī)等終端構(gòu)成的子網(wǎng)相連。一級網(wǎng)控器全部位于消費(fèi)信息管理中心,采用這種方式一方面是為管理和維護(hù)提供了方便,另一方面則是由于一級網(wǎng)控器離服務(wù)器的距離都很近,可以采用高達(dá)320Kbps 的通信速率。圖中網(wǎng)控器5 為二級網(wǎng)控器。采用兩級網(wǎng)控器設(shè)計(jì),使系統(tǒng)的通信距離可達(dá)5km 以上,網(wǎng)絡(luò)終端數(shù)目幾乎不受限制。
為了提高網(wǎng)絡(luò)的可靠性,系統(tǒng)中每個CAN 節(jié)點(diǎn)與總線之間均采用光電耦合器耦合,這樣可以有效的進(jìn)行故障隔離,保護(hù)網(wǎng)絡(luò)設(shè)備的安全。為了提高網(wǎng)絡(luò)的易維護(hù)性,可以充分利用CAN 總線在差錯控制與故障處理方面的能力,采用服務(wù)器定期查詢各網(wǎng)絡(luò)設(shè)備當(dāng)前狀態(tài)的辦法,使服務(wù)器及時掌握整個網(wǎng)絡(luò)的當(dāng)前運(yùn)行情況,便于更好的管理和維護(hù),網(wǎng)絡(luò)出故障時也可以用它來進(jìn)行故障定位,及時排除故障。
圖 1 校園消費(fèi)信息管理系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)
3.2 校園消費(fèi)信息管理系統(tǒng)網(wǎng)絡(luò)配置
校園消費(fèi)信息管理系統(tǒng)網(wǎng)絡(luò)的許多功能都是借助各CAN 通信節(jié)點(diǎn)的網(wǎng)絡(luò)通信參數(shù)的配置得以實(shí)現(xiàn)的,這種配置有點(diǎn)類似以太網(wǎng)IP 地址的分配。系統(tǒng)中各網(wǎng)絡(luò)設(shè)備的參數(shù)配置包括標(biāo)識符(ID)的分配,驗(yàn)收屏蔽寄存器(AMR)、驗(yàn)收碼寄存器(ACR)和波特率(BTR)等參數(shù)的設(shè)置。網(wǎng)絡(luò)設(shè)備可通過服務(wù)器進(jìn)行參數(shù)的自動配置,所有配置的參數(shù)均保存在服務(wù)器的數(shù)據(jù)庫中。
如圖2 所示,在系統(tǒng)網(wǎng)絡(luò)設(shè)備的參數(shù)配置中,重點(diǎn)考慮的一個方面是標(biāo)識符的分配。在本系統(tǒng)中只采用了CAN 總線29 位標(biāo)識符中的21 位,其中高8 位用作通信時的命令字節(jié)。由于一個網(wǎng)絡(luò)中標(biāo)識符的唯一性,21 位標(biāo)識符的分配必須由服務(wù)器根據(jù)網(wǎng)絡(luò)設(shè)備所處子網(wǎng)的不同統(tǒng)一分配,另外驗(yàn)收屏蔽寄存器(AMR)、驗(yàn)收碼寄存器(ACR)和波特率(BTR)等參數(shù)也與所處子網(wǎng)有關(guān)。
表1 21 位標(biāo)識符的分配
21 位標(biāo)識符共分4 段,按表1 的分段方式進(jìn)行分配,各網(wǎng)絡(luò)設(shè)備的具體ID 分配如圖2所示。服務(wù)器位于干線上,一級網(wǎng)控器的一端接在干線上,另一端與子網(wǎng)相連,網(wǎng)控器1和網(wǎng)控器2 均為一級網(wǎng)控器。網(wǎng)控器3 為二級網(wǎng)控器,二級網(wǎng)控器接在由一級網(wǎng)控器構(gòu)成的子網(wǎng)中,同時該子網(wǎng)中也接有窗口機(jī)或掛失機(jī)等終端。系統(tǒng)采用兩級網(wǎng)絡(luò)結(jié)構(gòu)。
AMR 與ACR 的配置是與該設(shè)備的ID 相配合的,其具體配置方式如圖2 所示。在本系統(tǒng)中,服務(wù)器、網(wǎng)控器和終端均采用擴(kuò)展幀的單濾波方式。采用圖2 的配置方式,窗口機(jī)發(fā)送的信息只會由網(wǎng)控器轉(zhuǎn)發(fā)給服務(wù)器,而不會轉(zhuǎn)發(fā)到其它子網(wǎng)中,而服務(wù)器發(fā)給窗口機(jī)的信息也只會由網(wǎng)控器轉(zhuǎn)發(fā)給窗口機(jī)所在子網(wǎng)中,即具有報文過濾功能。波特率(BTR)的配置在圖2 中沒有提到,它也是需要配置的一個參數(shù),設(shè)備與所連網(wǎng)絡(luò)的波特率參數(shù)保持一致。
在服務(wù)器中有相應(yīng)的數(shù)據(jù)庫和操作界面來實(shí)現(xiàn)上述參數(shù)的配置功能,配置時通過界面選擇設(shè)備類型和所屬服務(wù)區(qū),由服務(wù)器根據(jù)相關(guān)規(guī)則和數(shù)據(jù)庫中存儲的信息生成配置信息,實(shí)現(xiàn)設(shè)備網(wǎng)絡(luò)參數(shù)的自動配置。
圖 2 網(wǎng)絡(luò)參數(shù)配置圖
3.3 校園消費(fèi)信息管理系統(tǒng)網(wǎng)絡(luò)性能分析
采用上述網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)配置方法設(shè)計(jì)的網(wǎng)絡(luò)充分發(fā)揮了CAN 總線的特點(diǎn),能完全滿足校園消費(fèi)信息管理系統(tǒng)對網(wǎng)絡(luò)帶寬和實(shí)時性的要求。如圖1 所示,由于一級網(wǎng)控器離服務(wù)器的距離都很近,與服務(wù)器相連的干線通信速率可達(dá)320Kbps 甚至更高,這樣CAN 總線通信速度快的優(yōu)勢就充分得到了發(fā)揮。
在網(wǎng)絡(luò)的設(shè)計(jì)過程中對其實(shí)時響應(yīng)能力進(jìn)行了反復(fù)的模擬測試,測試時的環(huán)境如下:服務(wù)器采用PIV 2GHz HP 計(jì)算機(jī),編程語言為Delphi,干線速度為320Kbps,通過三臺網(wǎng)控器分別連接三臺窗口機(jī),速度分別80Kbps、80Kbps 和40Kbps。三臺窗口機(jī)均工作于全速模擬消費(fèi)狀態(tài),當(dāng)服務(wù)器的響應(yīng)數(shù)據(jù)庫采用Delphi 本地?cái)?shù)據(jù)庫時,響應(yīng)次數(shù)可高達(dá)120次/s 以上,而當(dāng)數(shù)據(jù)庫為SQL Server 2000 時,響應(yīng)次數(shù)則降為60 次/s 左右。同樣的網(wǎng)絡(luò)環(huán)境,系統(tǒng)的實(shí)時響應(yīng)能力卻相差很大,而這主要是與服務(wù)器的響應(yīng)速度有關(guān)。通過下面的分析能夠更加清楚的明白這一點(diǎn)。
每次正常的消費(fèi)過程共包括4 幀數(shù)據(jù),總的通信量約500bit。按響應(yīng)次數(shù)為60 次/s計(jì),則所需帶寬為30Kbps,遠(yuǎn)小于320Kbps。所以影響響應(yīng)次數(shù)的主要因素不是網(wǎng)絡(luò)帶寬,而是服務(wù)器的響應(yīng)能力。在現(xiàn)有320Kbps 的帶寬下,完全可以滿足200 次消費(fèi)/s 的網(wǎng)絡(luò)通信要求。為了提高響應(yīng)次數(shù),應(yīng)該提高服務(wù)器的運(yùn)算速度和優(yōu)化軟件設(shè)計(jì)。
上面所講的響應(yīng)次數(shù)只是在平均意義上的系統(tǒng)響應(yīng)能力,但具體到每一臺窗口機(jī)最能反映其實(shí)時響應(yīng)性能的是響應(yīng)延時(TR),即從窗口機(jī)向服務(wù)器提出響應(yīng)請求到收到服務(wù)器的響應(yīng)數(shù)據(jù)所經(jīng)過的時間。這段時間由兩部分構(gòu)成:網(wǎng)絡(luò)延時(Tn)和服務(wù)器的處理延時(Tp)。
TR= Tn + Tp (1)
要討論嚴(yán)格意義上Tp 的大小是很困難的,而其平均值大體可由服務(wù)器的每秒響應(yīng)次數(shù)來衡量。Tp 值對于每臺窗口機(jī)而言都是相同的,因而不同窗口機(jī)實(shí)時響應(yīng)性能的差異主要是由于Tn 的不同造成的。K.Tindell 在其文章中對CAN 總線系統(tǒng)在最壞情況下的延時特性進(jìn)行了分析,本文中所討論的CAN 總線系統(tǒng)模型要簡單一些。如圖1 所示,設(shè)新食堂中的窗口機(jī)數(shù)目最多,共有40 臺,因而可能的網(wǎng)絡(luò)延時也是最大。
窗口機(jī)m 從請求發(fā)送到服務(wù)器收到數(shù)據(jù)所需的時間(Rm)可由(2)式表示。
Rm= Tm + Cm (2)
式中Tm 是指發(fā)送一幀數(shù)據(jù)所需的時間,Cm 是窗口機(jī)m 競爭獲得總線所需的時間。Cm 的大小主要取決于窗口機(jī)標(biāo)識符(ID)的大小,ID 越小,優(yōu)先級越高,則Rm 越小,反之則越大。最壞情況下的最長延時為優(yōu)先級最低(ID 最大)的窗口機(jī)(設(shè)為40 號窗口機(jī))的延時。由于消費(fèi)過程數(shù)據(jù)傳輸?shù)奶厥庑?,?yōu)先級最低的窗口機(jī)一般只須等到比其優(yōu)先級高的所有窗口機(jī)發(fā)送一幀數(shù)據(jù)即可,所以可設(shè)該窗口機(jī)在最壞情況下C40 的大小為:
(3)
設(shè)每幀數(shù)據(jù)的大小為150bit,在通信速率為80Kbps 的情況下,40 號窗口機(jī)在最壞情況下的Rm 約為75ms。若考慮網(wǎng)控器的轉(zhuǎn)發(fā)延時和在干線上的競爭延時,Rm 最大不會超過150ms。而網(wǎng)絡(luò)延時Tn 最大為Rm 的兩倍,即:
Tn=2Rm≤300ms (4)
若Tp 以20ms 計(jì)算,則響應(yīng)延時TR 最大為320ms。這段時間對于窗口機(jī)的實(shí)際使用沒有太大的影響,而且這是在最壞情況下的延時,本身出現(xiàn)的概率就很小,因而完全不影響實(shí)際使用。
4 結(jié)論
文章通過分析常用校園消費(fèi)信息管理系統(tǒng)網(wǎng)絡(luò)的不足,引入了一種基于CAN 網(wǎng)控器的校園消費(fèi)信息管理系統(tǒng)網(wǎng)絡(luò)設(shè)計(jì)方案。文章詳細(xì)分析了由CAN 網(wǎng)控器構(gòu)成的校園消費(fèi)信息管理系統(tǒng)底層網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)和配置方法,對網(wǎng)絡(luò)帶寬和最壞情況下的延時等問題進(jìn)行了討論。通過這些分析和討論,可以看出所設(shè)計(jì)的網(wǎng)絡(luò)具有以下特點(diǎn):
●抗干擾能力強(qiáng),通信距離遠(yuǎn),可達(dá) 3~5km
● 具有自動配置與狀態(tài)反饋功能,使用和維護(hù)方便
●具有實(shí)時響應(yīng)能力,最大響應(yīng)延時不超過 320ms
●可連接的網(wǎng)絡(luò)終端數(shù)目多,擴(kuò)容方便,成本低廉
該網(wǎng)絡(luò)只是校園消費(fèi)信息管理系統(tǒng)的一個具有較高性價比的底層網(wǎng)絡(luò),而現(xiàn)在許多學(xué)校都有多個校區(qū),這就要求網(wǎng)絡(luò)具有遠(yuǎn)程訪問能力,這種情況可以借助互聯(lián)網(wǎng)或在校區(qū)之間架專線的辦法得以實(shí)現(xiàn)。