摘要:IEEE1451網絡化智能傳感器代表了未來傳感器的發展方向,協議的提出很好的解決了傳感器之間互換性與互操作性差的難題。本文簡要概述了IEEE1451協議,對其中定義的電子數據表格 (TEDS) 進行了詳細分析。通過基于片上系統ADuC812的智能傳感器模塊來說明電子數據表格的實際應用和作用,同時介紹了用VC設計的上層下載軟件來實現表格的數據填寫和下載。
關鍵詞:IEEE1451;TEDS;智能傳感器;ADuC812
中圖法分類號:TP212 文獻標識碼:A文章編號:1009-3044(2008)20-30334-03
The Research on Transducer Electronic Data Sheet of IEEE1451
LI Wei1,2, LI Ye1, ZHANG Ying1, QIU Fei1
(1.Dept. of Instrument Science Electrical Engineering, Jilin University, Changchun 130026, China; 2. Dept. of Electronic information in Zhuhai institute of Jilin University, Zhuhai 519000, China)
Abstract: The IEEE1451 protocol is briefly described in this paper first, and The Transducer Electronic Data Sheet(TEDS) is studyed in detail .To show the application function of TEDS in the smart transducer module, the system on chip ADuC812 is used here.Also, the article has given a software designed with VC which to win the fuction of TEDS and download of data.
Key words: IEEE1451; TEDS; Smart transducer; ADuC81
國際電子電氣工程師協會(IEEE)面對目前傳感器市場上總線接口互不兼容,互操作性差難以統一的難題,專門建立專家組制定IEEE1451協議族,以此來解決傳感器接口的標準化問題。IEEE1451協議族共分五個協議標準,到目前為止,IEEE1451.1、IEEE1451.2、IEEE1451.3、IEEE1451.4已被IEEE組織通過。這個標準提供了將變送器(傳感器和執行器)連接到一個數字系統,尤其是到網絡的方式,簡化了現場變送器到微處理器以及網絡的連接,提供一個適合各種網絡的工業標準接口,有效的實現現場各種不同的智能變送器的網絡互連、即插即用,最終實現各個傳感器或執行器廠家的產品相互兼容,降低了構建網絡化測控系統的總成本[1-3]。
IEEE1451協議族定義了一個較為完整的通用模型,在這個模型中采用的是分層體系結構。圖1描述了涉及IEEE1451.2智能傳感器接口模塊標準的功能框架。第一層模塊結構為網絡適配器NCAP(Network Capable Application Processor),用來運行網絡協議和應用軟件;第二層模塊為智能變送器模塊STIM(Smart Transducer Interface Module),其中包括變送器和電子數據表格TEDS(Transducer Electronic Data Sheet)。這種劃分使得在基于各種現場總線的分布式測量控制系統中,各種變送器的設計、制造無須考慮系統的網絡結構,從而智能化范圍的得以延伸,更加接近實際測量和控制點。其中TEDS的設計,是整個協議族的精華所在,使傳感器模塊同時具有即插即用(plug-and-play)的兼容性。本文以IEEE1451.2協議為例,介紹了TEDS的含義及現實意義,同時給出了具體的實例加以說明。
1 IEEE1451.2協議中的電子數據表格
網絡適配器通過變送器電子數據表格的定義以及IEEE1451的協議規范實現智能傳感器的自我識別、配置、即插即用。種類繁多的傳感器要進行系統概括和歸類有很大難度,因此TEDS的制訂充分考慮到傳感器的屬性和擴展性。在IEEE1451. 2標準中,TEDS可分為8個可尋址單元部分,如圖2所示。其中前兩個TEDS是必選且為只讀,其他是可選的。
(1)Meta-TEDS 整體描述符:
Meta-TEDS是對STIM的總體描述,包括數據結構和通道組信息。表格中的數據為常數。 其中值得一提的子域是Globally Unique Identifier (10個字節):全局唯一描述符
UUID全局唯一標志的數據類型結構如表1所示。
表1UUID全局唯一標志的數據類型結構表
UUID每一段域都給出了明確的界定范圍,如時間年域的范圍是公元0—4095年,起始時間視為1月1號00:00:00,UTC.用十進制表示。作為一個智能變送器的廠商來說,對于不同時間和地理位置等參數的結合,使得UUID都各不相同,因此保證了STIM不會有重復的版本出現。
(2)Channel-TEDS 通道描述符:
每個STIM必包含一個通道TEDS用來描述通道特性,如:函數模型、校準模型、物理單位、啟動時間、自檢結果、不確定性、對象使用上下極限、使用時限等參數。
1)通道類型關鍵字 Channel Type Key:
IEEE1451.2協議中規定了7種變送器類型:Sensor, Actuator, Buffered sensor, Data buffered sensor, Buffered data sequence sensor, Event sequence sensor和General transducer。前6種是對目前變送器進行系統概括的歸類,而General transducer是為以后變送器的擴展所保留的。這種分類已經充分考慮到了傳感器的基本屬性和擴展,是協議的難點和創新之處。通道類型關鍵字分別用數字0到6來表示這7種變送器通道類型。
2)物理單位 physical units:
采用10 字節長度的二進制流來表示物理單位。IEEE 定義傳感器的單位基于國際單位標準,即7個標準單位,通過這7個SI標準單位可以得到各種單位。以加速度單位m*sec^-2為例,根據定義的數據結構體,其邏輯表示為:
0, 0, 0,1,0,-2,0,0,0,0,
則TEDS的域值為:
0,128,128,130,128,124,128,128,128,128
3)數據模型:
Channel Data Model: 通道數據模型,描述了在訪問(讀寫)變送器時,所采用的通道數據模型。
Channel Model Significant Bits:數據模型最高位,這個域的數據代表了數據模型中最高位所在的位置,數值的范圍從0到2048。
4)時間參數:
Channel Update Time:通道建立時間,這個時間是到觸發信號到應答信號之間的時間最大值,其目的就是要防止等待時間過長。不同類型的通道,就要區別注意,如對事件序列傳感器來說,這個參數為 NaN非數。
Channel Write Setup Time:通道寫建立時間,為確保系統正常工作,寫數據完畢到觸發開始之間的最短時間。
Channel Read Setup Time:通道讀建立時間,為確保系統正常工作,觸發應答信號到讀數據之間的最短時間。
(3)Calibration-TEDS 校正描述符:
在IEEE1451協議族中最多可選表格就是校正TEDS。它包括最后校誰日期、校準周期和所有的校準參數,支持多結點的模型,并可隨時供傳感器對每個通道原始數據進行校正運算。協議提供了校正關鍵字的定義,并提供了響應的校正方法。當Channel TEDS的Calibration Key(校驗字)有效時,Calibration TEDS能夠被讀和寫。由于NCAP是從STIM存有校正模型的Calibration-TEDS中獲取所需要的數據來建立校正引擎CE(Correction Engine)的,因此這一部分的填寫尤為重要。
1)時間參數:
Last Calibration Data Time:最近校正通道的時間,記錄最后一次校正通道的時間。
Calibration Interval:校正間隔,這個域規范了校正時間的間隔長度。
2)校正模型:
Number of Correction Input Channels:校正模型的輸入通道數,這個數值就是校正多項式中的n。
Correction Input Channel List:列舉通道號,一維數組的形式表示,作為校正模型的輸入通道。如果校正引擎需要校正數據,那么該通道號存入通道列表中。
Correction Input Channel-Key List:校正輸入通道關鍵字列表,一維數組的形式表示,用來描述通道的數據是從STIM端過來(值為0)還是從NCAP端過來(值為1)的,也就是說明輸入通道本身是否已經經過了校正。
Channel Degree List D(K):校正通道階數列表,一維數組的形式表示,和校正通道Xk一一對應。
Number of segments list Nk:分段數列表,一維數組的形式表示,和輸入通道Xk一一對應。
Segment Boundary Values Table:邊界值列表,二維數組的形式表示,每一行中的元素對應每一個校正輸入通道,每行中的元素數目和段數加1相等,因此,行的數目在大小上可能不太一樣。
Multinomial Coefficient:多項式系數,二維數組的形式表示,按照行的順序存儲。每行的數據為多項式系數,這個多項式系數與分段單元一一對應。
舉例說明:當一個校正引擎有兩個輸入通道,一個輸入通道分成兩段,另一個輸入通道分成3段,那么整個二維曲面分成6段。這些分段的單元需要編號,假設一個通道可以分成(A1,A2),另一通道分成(B1,B2,B3)。
那么,所有的這些分段單元可以表示成:
(A1,B1),(A1,B2),(A1,B3),(A2,B1),(A2,B2),(A2,B3)
多項式系數的存儲規律如下:
C0,0…0,0C0,0…0,1C0,0…0,2 …… C0,0…0,D(n)
C0,0…1,0C0,0…1,1C0,0…1,2 …… C0,0…1,D(n)
……
CD(1),D(2)…D(n-1),0CD(1),D(2)…D(n-1),1CD(1),D(2)…D(n-1),2……CD(1),D(2)…D(n-1),D(n)
其他的五個TEDS均為可選的數據表格,如End Users’ Application specific TEDS,是用來給終端用戶定義其需要的特殊信息,如STIM所處的位置,維護人員的姓名、電話等。這段表格的填寫是為以后當STIM商品化后更方便用戶對產品的了解和維修;而Industry Extension TEDS的設計,正是表格擴展性的體現。
2 其他協議中的電子數據表格
IEEE1451.3由于是一種分布式多點總線的方式,因此它定義了幾種TEDS來滿足他小總線(mini-bus)的形式[4]。一些TEDS是機器可讀且被用作允許總線控制器決定設備的特點;而其它TEDS是基于文本的用來說明設備如何操作的。三種機器可讀的TEDS對系統操作是必需的,其它的TEDS都是可選的。對某些存貯器容量特別小或特殊環境不允許TEDS存貯于TBIM(Transducer Bus Interface Module)中的,可把TEDS置于遠程服務器上,有程序可以使TEDS存儲到遠程服務器上。這種遠程的TEDS在IEEE1451.3中稱作虛擬TEDS。三種必需的TEDS是通信TEDS、模型總體TEDS和變送器特定的TEDS。
IEEE1451.4的TEDS是IEEE 1451.2標準定義的TEDS的一個子集。由于IEEE1451.4變送器是一個帶有可設定地址的裝置的傳感器或執行器,該裝置和節點類似,制約著TEDS,可以用數字通訊來讀取TEDS的信息,并配置IEEE1451.4變送器。
3 用VC實現的TEDS下載軟件
用Vistual C++6.0實現了TEDS編輯和下載軟件,該軟件可以生成標準的TEDS數據表格,通過串口可以下載到STIM模塊中,并且可以從STIM模塊中讀取TEDS數據表格。
串口通訊部分采用API方式,多線程重疊I/O方式實現。使用重疊I/O方式時,線程要創建OVERLAPPED結構供讀寫函數使用,該結構最重要的成員是hEvent事件句柄。它將作為線程的同步對象使用,讀寫函數完成時hEvent處于有信號狀態,表示可進行讀寫操作;讀寫函數未完成時,hEvent被置為無信號。
另外,通過該軟件填寫得到的數據信息可以存儲到后臺的數據庫中,便于管理和使用TEDS信息。
4 TEDS具體設計實例
筆者所在實驗室對該協議標準展開了深入研究,成功研制了系列符合IEEE1451.2標準的網絡化智能傳感器,包括CH4、CO2、CO以及溫濕度傳感器節點,可以應用于環境監測、智能建筑等分布式測控領域。為了增強系統的集成度,設計采用了集成式的片上數據采集系統AdμC812。
AdμC812內部集成的640字節Flash存儲器是TEDS的理想之所。它被分為160頁,范圍為00H~9FH,每頁4字節。和其它外圍設備一樣,通過存儲器映射寄存器來訪問Flash,4個數據寄存器組(EDATA1~4)用于保存剛訪問的4字節數據。EADRL用于保存被訪問頁的8位地址,ECON是8位控制寄存器,它可寫入5個閃速/電擦除存儲器訪問命令之一,實現各種讀、寫擦除和校驗操作。為使TEDS內容更易升級與更新,系統采用異步串行口來下載電子數據表格至AdμC812的片內Flash。
在網絡化智能傳感器前端接入濕度傳感器模塊時,在溫度為35℃的條件下,得到的電子數據表格中的Calibration-TEDS部分如表2所示。
5 結束語
IEEE1451智能傳感器的一大特點是即插即用、自動識別,其實現原理在于規范定義了標準的電子數據表格(TEDS)。TEDS是IEEE1451協議族的設計閃光點,它不僅能給出內置的標識和校正模型,而且測控網絡也可以用其來檢測和配置變送器通道,使智能變送器模塊具有了智能特性。本文對IEEE1451.2協議中部分TEDS的數據格式進行了說明,給出的具體的實例也為其他協議中的TEDS提供了參考。
參考文獻:
[1] 吳忠杰,林君,李冶,等.IEEE1451標準智能傳感器中網絡應用處理器的實現[J].傳感器與微系統,2006,25(6):85-88.
[2] The Research on the Network Optical Fiber Sensor of the Surface Temperature Measurement for a Large Rotor Based on IEEE1451.2[C]//Proceedings of the Eighth International Conference on Electrical Machines and Systems,2005.
[3] 陳峰,孫同景,時延妮.基于IEEE1451和TCP/IP協議智能傳感器的研制[J].工業控制計算機,2006,19(5):39-40.
[4] 張森,葉曉慧,王紅霞.基于IEEE1451.3的IPv6網絡傳感器設計[J].電子器件,2006,29(1):193-196.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。”