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