引言
隨著計(jì)算機(jī)技術(shù)和通信技術(shù)的發(fā)展,,基于各種現(xiàn)場(chǎng)標(biāo)準(zhǔn)的分布式測(cè)量和控制系統(tǒng)得到廣泛應(yīng)用,。這些系統(tǒng)采用了多種控制總線,,如CAN、LONWORKS,、FROFIBUS,、HATR、FF等,。這些不同的總線標(biāo)準(zhǔn)都有自己的協(xié)議格式,,相互之間不兼容,給系統(tǒng)的擴(kuò)展帶來(lái)很多不便,。
鑒于此,,國(guó)際電子電氣工程師協(xié)會(huì)(IEEE)和美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究院(NIST)聯(lián)合推出IEEE1451標(biāo)準(zhǔn),解決了各種不同標(biāo)準(zhǔn)的總線接口兼容性問題,提高了各個(gè)不同廠家產(chǎn)品的互換性和互操作性,。
1 IEEE1451協(xié)議
IEEE和NIST推出的IEEE1451標(biāo)準(zhǔn),,通過定義一整套通用的通信接口來(lái)解決不同網(wǎng)之間的兼容性問題,并最終實(shí)現(xiàn)各個(gè)廠家的產(chǎn)品的互換和互操作,。其協(xié)議簇體系結(jié)構(gòu)和關(guān)系如圖1所示,。根據(jù)IEEE1451標(biāo)準(zhǔn),網(wǎng)絡(luò)智能傳感器分成兩大模塊,。
圖1 IEEE1451協(xié)議整體架構(gòu)
(1) NCAP(網(wǎng)絡(luò)應(yīng)用處理器)模塊
該模塊主要執(zhí)行網(wǎng)絡(luò)通信,、TIM通信、數(shù)據(jù)轉(zhuǎn)換等功能,。IEEE1451.1標(biāo)準(zhǔn)定義了它的實(shí)體模型,。NCAP是標(biāo)準(zhǔn)變送器總線與專用網(wǎng)絡(luò)總線之間的接口。這一部分與微處理器集成在一起,,在網(wǎng)絡(luò)化傳感器中起“大腦”的作用,。NCAP還支持熱插拔功能。
?。?) TIM(智能變送器)模塊
根據(jù)和NCAP之間連接的方式,,可以有多種不同功能的TIM。一個(gè)TIM可以支持單個(gè)或多個(gè)不同的通道,,它既可以與傳感器連接,也可以與執(zhí)行器連接,。
?、?IEEE1451.0:該層標(biāo)準(zhǔn)包括通用功能、通信協(xié)議以及電子數(shù)據(jù)表格(TEDS FORMATS),。IEEE1451.0通過定義基本命令設(shè)置和通信協(xié)議接口,,為不同的物理層提供通用、簡(jiǎn)單的標(biāo)準(zhǔn),,從而加強(qiáng)這些標(biāo)準(zhǔn)之間的互操作性,。
② IEEE1451.1:針對(duì)現(xiàn)有的各種網(wǎng)絡(luò)技術(shù),,定義了從智能變送器到網(wǎng)絡(luò)的標(biāo)準(zhǔn)連接的方法,,使用面向?qū)ο蟮乃枷霝榫W(wǎng)絡(luò)化的智能變送器定義了一個(gè)標(biāo)準(zhǔn)的對(duì)象模型,并且為該模型的每一個(gè)類定義了軟件接口,。
?、?IEEE1451.2:定義了傳感器和微處理器之間的連接的數(shù)字接口TII。其定義了電子數(shù)據(jù)表格以及數(shù)據(jù)格式,,還定義了一系列的讀寫命令,,包括讀寫電子數(shù)據(jù)表格、讀取傳感器數(shù)據(jù)和設(shè)置執(zhí)行器數(shù)據(jù)等。
?、?IEEE1451.3:包括分布式多點(diǎn)系統(tǒng)數(shù)字通信與TEDS格式的定義,,主要用于點(diǎn)對(duì)多點(diǎn)分布式智能傳感器系統(tǒng)的同步數(shù)據(jù)采集與通信。
?、?IEEE1451.4:包含混合模式通信協(xié)議與TEDS格式的定義,。其主要針對(duì)已存在的模擬量變送器通信協(xié)議,一方面支持?jǐn)?shù)字接口對(duì)TEDS數(shù)據(jù)的讀寫,,另一方面支持模擬接口對(duì)現(xiàn)場(chǎng)儀器的測(cè)量,。
⑥ IEEE1451.5:定義智能傳感器的無(wú)線通信接口,,通過指定的無(wú)線通信協(xié)議在無(wú)線變送器接口模塊(WTIM)和NCAP進(jìn)行通信,。目前支持WiFi、藍(lán)牙,、ZigBee協(xié)議,。IEEE1451.5也定義與無(wú)線通信協(xié)議相關(guān)的TEDS。
2 無(wú)線通信協(xié)議
IEEE1451.5標(biāo)準(zhǔn)為使用不同通信協(xié)議的無(wú)線傳感器提供一個(gè)統(tǒng)一的接口,,不是開發(fā)一種新的無(wú)線通信技術(shù),,而是采用已經(jīng)成熟的無(wú)線通信技術(shù)作為接口標(biāo)準(zhǔn)。IEEE 1451.1標(biāo)準(zhǔn)提議了3種無(wú)線通信方式:WiFi,、藍(lán)牙和ZigBee,。本論文中采用的是ZigBee協(xié)議,其主要包括IEEE 802.15.4的PHY層和MAC層,,以及ZigBee的NWK層和APS層,。
2.1 IEEE 802.15.4的PHY層
PHY層采用DSSS技術(shù),不同的載波行道提供不同的傳輸速率,,2.4 GHz提供250 kbps傳輸速率,。PHY層用來(lái)在兩個(gè)設(shè)備之間提供透明的比特流傳輸。其主要功能包括:信道選擇和信道能量檢測(cè),、空閑信道*估,、無(wú)線信道數(shù)據(jù)收發(fā)、接收包鏈路質(zhì)量,。
2.2 IEEE 802.15.4的 MAC層
MAC層負(fù)責(zé)將NWK層發(fā)送來(lái)的數(shù)據(jù)包進(jìn)行封裝,,并向下發(fā)送給PHY層,并對(duì)PHY層發(fā)送上來(lái)的幀進(jìn)行分解,,將分解后的數(shù)據(jù)包向上發(fā)送給NWK層,。
MAC層提供了信標(biāo)和非信標(biāo)兩種傳輸模式。其中,,信標(biāo)傳輸模式通過網(wǎng)絡(luò)協(xié)調(diào)器以一定的時(shí)間間隔向網(wǎng)絡(luò)廣播信標(biāo)幀,,網(wǎng)絡(luò)內(nèi)的所有節(jié)點(diǎn)以該信標(biāo)幀作為同步信號(hào),,實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)的同步。非信標(biāo)傳輸模式采用CSMA/CA機(jī)制避免傳輸碰撞,。
MAC層的主要功能為MPDU數(shù)據(jù)處理,。其幀格式包括幀頭、MAC凈荷和幀尾3個(gè)部分,。 幀頭中的幀控制域提供了幀類型,、安全使能、目標(biāo)地址模式,、源地址模式等相關(guān)控制信息,。MAC凈荷域?yàn)镸AC層的有效數(shù)據(jù),即NWK數(shù)據(jù)包,。幀尾為幀頭和MAC幀凈荷域的16位CRC校驗(yàn)序列,。
2.3 ZigBee協(xié)議的NWK層
圖2 NWK幀格式
ZigBee聯(lián)盟在IEEE 802.15.4標(biāo)準(zhǔn)的PHY層基礎(chǔ)上制定了NWK層協(xié)議。其主要功能包括:網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元處理,、組網(wǎng)管理和路由功能,。NWK幀格式如圖2所示。
2.4 ZigBee協(xié)議的APS層
應(yīng)用層包括應(yīng)用支持層(APS),、應(yīng)用框架(AF)和ZigBee設(shè)備對(duì)象,。
支持層(APS):主要包括APS層協(xié)議數(shù)據(jù)單元APDU的處理、APS數(shù)據(jù)傳輸機(jī)制和節(jié)點(diǎn)間的應(yīng)用對(duì)象綁定,。
應(yīng)用框架(AF):為各個(gè)用戶自定義的應(yīng)用對(duì)象提供了模板式的活動(dòng)空間,,為每個(gè)應(yīng)用對(duì)象提供了鍵值對(duì)服務(wù)和報(bào)文服務(wù)供數(shù)據(jù)傳輸使用。
ZigBee設(shè)備對(duì)象:主要包括設(shè)備服務(wù)發(fā)現(xiàn),。
3 系統(tǒng)設(shè)計(jì)
本文設(shè)計(jì)了WTIM模塊,。該模塊用于采集和處理數(shù)據(jù),并通過SPZB260模塊將數(shù)據(jù)發(fā)送給NCAP,,同時(shí)實(shí)現(xiàn)了TEDS(Transducer Electronic Data Sheet)、IEEE1451.5標(biāo)準(zhǔn),。SPZB260是專門用于嵌入式開發(fā)的低功耗ZigBee模塊,。
3.1 WTIM模塊
WTIM模塊主要包括STM32F103C微控制器、SPZB260模塊,、信號(hào)調(diào)理器和傳感器,。其架構(gòu)圖如圖3所示。其中,,SPZB260模塊是與NCAP通信的模塊,。
圖3 WTIM模塊架構(gòu)圖
ADC在數(shù)據(jù)采樣中,使用了一階濾波算法:Y(n)=αX(n) (1-α)+Y(n-1),。式中:α為濾波系數(shù),;X(n)為本次采樣值,;Y(n-1)為上次濾波輸出值;Y(n)為本次濾波輸出值,。
3.2 TEDS
IEEE1451每一層中都有與之對(duì)應(yīng)的TEDS,。本文實(shí)現(xiàn)了PHYTEDS、MetaTEDS和TransducerChannel TEDS,。其通用格式為:
structXXX_TEDS {
UInt32 TEDSlength;
TLV;
……
TLV;
UInt16 Checksum;
}
TEDSlength:XXX_TEDS結(jié)構(gòu)體中除了TEDSlength之外所有字段的長(zhǎng)度和,。
TLV:一種包含類型(Type)、長(zhǎng)度(Length),、值(Value)三個(gè)字段的結(jié)構(gòu)體,。
Type:XXX_TEDS各個(gè)TLV的ID。對(duì)于不同的TEDS,,即使TLV的ID相同,,代表的實(shí)際意義也不同。
Length:表示TLV結(jié)構(gòu)體中Value字段的長(zhǎng)度,。
Value:該字段填充的是具體的TEDS信息,。
Checkum:提供了對(duì)XXX_TEDS中之前字段(包括TEDSlength和所有TLV字段)的校驗(yàn)和。
校驗(yàn)和計(jì)算公式如下:Checksum=0xFFFF-∑TEDSlength+2i=1TEDSOctet(i)
3.3 IEEE1451.5標(biāo)準(zhǔn)的實(shí)現(xiàn)
IEEE1451支持3類無(wú)線通信協(xié)議,,本文中實(shí)現(xiàn)的是ZigBee協(xié)議,。IEEE1451.5標(biāo)準(zhǔn)中的ZigBee協(xié)議定義了模塊功能、接口函數(shù),,以及NCAP和WTIM之間的無(wú)線通信協(xié)議,。其定義的協(xié)議棧如圖4所示。
圖4 IEEE1451.5標(biāo)準(zhǔn)的協(xié)議棧
PHY層,、MAC層,、NWK層由SPZB260提供。本文中需要實(shí)現(xiàn)APS層和IEEE1451.5會(huì)聚層,。
APS層采用的是EZSP協(xié)議,,可通過SPI接口實(shí)現(xiàn)。在WTIM模塊中,,STM32F103C與SPZB260之間通過SPI進(jìn)行通信,,其中STM32F103C配置為SPI主設(shè)備,SPZB260配置為從設(shè)備,。EZSP作為IEEE14515會(huì)聚層的應(yīng)用支持層(APS),,以NCAP為協(xié)調(diào)器的星型網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn),如圖5所示,。
圖5 IEEE1451.5的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
IEEE14515會(huì)聚層定義了IEEE14515和IEEE14510之間的模塊通信接口,。其中,一部分接口由IEEE1451.5系統(tǒng)提供,,被IEEE1451.0調(diào)用,;另一部分由IEEE1451.0提供,。
4 測(cè)試與結(jié)論
在測(cè)試中,針對(duì)的是溫度傳感器和濕度傳感器,。測(cè)試WTIM節(jié)點(diǎn)分為兩個(gè),,每個(gè)節(jié)點(diǎn)上都有一個(gè)溫度傳感器和濕度傳感器。其中,,WTIM1放在正常環(huán)境下,,另一個(gè)節(jié)點(diǎn)WTIM2放置于一個(gè)裝滿水的容器上方。NCAP通過ZigBee與兩個(gè)節(jié)點(diǎn)進(jìn)行通信,,并可以通過主機(jī)監(jiān)控,。測(cè)試時(shí)以10 Hz的頻率進(jìn)行采樣,其結(jié)果如圖6所示,。
圖6 WTIM1的溫濕度數(shù)據(jù)
測(cè)試結(jié)果表明,,WTIM節(jié)點(diǎn)能正常獲取數(shù)據(jù),并發(fā)送給NCAP,,使得NCAP能夠正確地獲得各節(jié)點(diǎn)與響應(yīng)通道的信息,,實(shí)現(xiàn)了無(wú)線變送器的功能。