羅亞軍,孫興林,鄭森炎
(浙江大學 生物醫(yī)學工程與儀器科學學院,浙江 杭州310027)
隨著嵌入式系統(tǒng)的發(fā)展,智能傳感器(intelligent sensor,or smart sensor)已經成為當今傳感器技術的一個主要發(fā)展方向[1],它由普通傳感器、微處理器和相關的電路構成,具有自補償、自校準、自診斷、數(shù)值處理和雙向通信等特點[2,3]。目前,智能傳感器已經廣泛應用于航空、航天、國防、科技和工農業(yè)生產等各個領域中,但在虛擬化、網絡化、高速數(shù)據(jù)傳輸?shù)确矫嫒杂兄^大的研究空間[4]。
一種總線分布式的高速數(shù)據(jù)采集系統(tǒng)由通用的主控平臺和大數(shù)據(jù)量的智能傳感器節(jié)點構成,在不同的工業(yè)現(xiàn)場,可以將不同的智能傳感器通過高速數(shù)據(jù)傳輸總線與主控平臺進行連接,快速搭建出針對各種應用的傳感器網絡,縮短研發(fā)周期,并降低成本。這些智能傳感器節(jié)點來自于不同的生產廠家,能夠采集不同的物理量,在接口、功耗、數(shù)據(jù)量、實時性等方面也提出了不一樣的要求,既豐富了數(shù)據(jù)采集系統(tǒng)的功能,也增加了設備管理的難度。由于大數(shù)據(jù)量和高實時性的要求,單憑數(shù)據(jù)傳輸總線已經無法實現(xiàn)自身的管理功能,因此,針對多樣化、大數(shù)據(jù)量的智能傳感器節(jié)點進行統(tǒng)一身份識別,快速檢測并處理節(jié)點的故障,成為當前必須解決的問題。
Md Sajjad Rahaman 等人[5]設計了一種通用傳感器接口,對數(shù)據(jù)傳輸總線進行改造,解決了一些低速傳感器接口適配問題;王全[6]提出了智能傳感器的軟硬件通用設計,來解決礦用檢測系統(tǒng)的通用性與擴展性問題;張粵等人[7]在環(huán)境監(jiān)測系統(tǒng)中,研究了無線智能傳感器節(jié)點的管理,提高了無線組網的靈活性。然而,目前并沒有一種簡單而有效的方法能夠在不影響數(shù)據(jù)采集系統(tǒng)的實時性的前提下,解決大數(shù)據(jù)量智能傳感器節(jié)點的身份識別和故障處理的難題。基于此,本文提出一種實用的解決方案。
在圖1 所示的高速數(shù)據(jù)采集系統(tǒng)中,主控平臺是系統(tǒng)的控制中心,用于多傳感器數(shù)據(jù)融合、存儲和處理,并與遠程上位機進行通信;智能傳感器節(jié)點是根據(jù)實際應用進行定制和擴展的,可以測量溫度、壓力、流量、速度等多種物理量;數(shù)據(jù)傳輸總線是智能傳感器節(jié)點與主控平臺通信的橋梁,用于傳達控制命令和大量的傳感器數(shù)據(jù),是一條高速的互聯(lián)總線。
圖1 智能傳感器節(jié)點的管理方案Fig 1 Management scheme of smart sensor nodes
為了保證數(shù)據(jù)采集系統(tǒng)的實時性和可靠性,節(jié)點的管理不能依賴于高速繁忙的數(shù)據(jù)傳輸總線,可以用一條低成本、可靠、獨立的管理總線來負責狀態(tài)信息的接收和發(fā)送。如圖1 所示,將一種簡單通用的管理單元分布在每一個智能傳感器節(jié)點中,它攜帶了節(jié)點的身份信息,也具備電源控制的能力,通過管理總線互聯(lián),即可實現(xiàn)對智能傳感器節(jié)點的身份識別和故障處理功能。
由于智能傳感器網絡是開放式的,必須引入統(tǒng)一的身份管理機制,一個新的傳感器節(jié)點要成為數(shù)據(jù)采集系統(tǒng)的一部分,必須先通過身份識別,主控平臺在獲取了該節(jié)點的身份信息之后,才能下載或配置相應的驅動程序進行操作,實現(xiàn)資源的統(tǒng)一調配。
表1 是智能傳感器節(jié)點的管理單元所包含的身份信息,其中,廠商ID、版本號、出廠序列號、設備類型,以及功耗等級為靜態(tài)身份信息,描述的是智能傳感器節(jié)點的固有屬性,從節(jié)點中讀取出來之后存儲在管理單元中,并且設定為禁止修改的屬性。在這里,設備類型涵蓋了各種不同的傳感器種類,如溫度/濕度傳感器、流量/質量傳感器、速度/加速度傳感器、位置/位移傳感器等,主控平臺可根據(jù)設備類型來選擇合適的高速總線驅動方式和數(shù)據(jù)處理方式;功耗等級反映的是智能傳感器節(jié)點中的元器件總功率,是額定工作狀態(tài)下的參考值。其余的字段均為動態(tài)信息,描述的是該節(jié)點在傳感器網絡中的實時狀態(tài),如設備ID 是由主控平臺統(tǒng)一分配的,它是區(qū)分傳感器網絡節(jié)點身份的唯一標志;數(shù)據(jù)采集優(yōu)先級不同于總線仲裁優(yōu)先級,它從應用層的角度定義了智能傳感器節(jié)點數(shù)據(jù)采集的實時性要求、數(shù)據(jù)量大小,以及數(shù)據(jù)的重要程度;實時功耗可以通過管理單元檢測出來,反映了該節(jié)點的工作負荷與電源使用情況,用于節(jié)點的安全性能分析。此外,還有狀態(tài)碼信息、故障累計次數(shù)和持續(xù)正常工作時間,以便于主控平臺對智能傳感器節(jié)點的穩(wěn)定性與可靠性進行全面的評估。
表1 智能傳感器節(jié)點身份信息Tab 1 Identity information of smart sensor nodes
在主控平臺中保存一個注冊表,存儲智能傳感器網絡中所有節(jié)點的身份信息。身份識別可以用四次握手的過程來實現(xiàn),如圖2 所示,主控平臺通過管理總線向該節(jié)點請求身份信息,智能傳感器節(jié)點的管理單元收到請求之后,將廠商ID、版本號、出廠序列號、設備類型、功耗等級以及設備ID 返回給主控平臺,在主控平臺中將這些信息與原有的注冊表進行對比,如果不相等,則視為新的智能傳感器節(jié)點,通知主控平臺的操作系統(tǒng)配置相應的驅動程序,一旦配置成功,則為該節(jié)點生成一個新的設備ID,并把它的身份信息添加到注冊表,同時將設備ID、電流監(jiān)控閾值等重要參數(shù)發(fā)送給智能傳感器節(jié)點的管理單元,完成對該節(jié)點的初始化。然后由智能傳感器節(jié)點管理單元向主控平臺返回一個“設備就緒”的通知來完成注冊。當移除一個智能傳感器節(jié)點,需要清除它的注冊表信息,主控平臺卸載該節(jié)點的驅動程序,并通知該節(jié)點的管理單元切斷電源,降低系統(tǒng)功耗,保證傳感器安全。
圖2 身份識別的四次握手過程Fig 2 Four-time handshake process of identification
智能傳感器節(jié)點常見的故障是短路,會對數(shù)據(jù)采集系統(tǒng)的安全造成威脅,因此,擁有故障處理機制對系統(tǒng)的可靠性至關重要。不同的智能傳感器節(jié)點對電源的需求不一樣,管理單元可以根據(jù)身份信息中的功率等級參數(shù)Power-Rate 來設定監(jiān)控閾值TH1 和TH2,其中,TH1 為額定工作電流,TH2 為短路保護的閾值。通過管理單元的電源檢測電路獲得實時電流,當大于TH1 時提高監(jiān)測的頻率,一旦超過TH2,則立刻切斷電源,防止智能傳感器節(jié)點的短路損壞,并通過管理總線向主控平臺匯報故障信息。
除了供電故障,智能傳感器節(jié)點還可能出現(xiàn)其它的異常情況。管理單元通過簡單的串行通信方式定期獲取智能傳感器節(jié)點的狀態(tài)信息,包括數(shù)據(jù)采集接口的狀態(tài)(如休眠、采樣、中斷、異常、其它)和數(shù)據(jù)傳輸總線的工作狀態(tài)(如空閑、發(fā)送、接收、異常、其它)存儲在狀態(tài)碼中,一旦接收到異常信號,立即通過管理總線通知主控平臺,并采取短時等待、強制中斷、遠程復位、斷電重啟等一系列措施使智能傳感器節(jié)點恢復正常。此外,對于故障累計次數(shù)過多的節(jié)點,也要通知主控平臺,并且強制切斷電源,保證系統(tǒng)的安全。智能傳感器節(jié)點的故障處理方法如圖3 所示。
圖3 智能傳感器節(jié)點故障處理方法Fig 3 Fault handling method of smart sensor nodes
為了驗證上述方法的可行性,設計了一個管理單元的實例應用在高速數(shù)據(jù)采集系統(tǒng)中。傳統(tǒng)的監(jiān)控設備多采用RS—232 和RS—485 等方式,實時性、擴展性和可靠性較差[8]。控制器局域網(controller area network,CAN)是一種開放式的現(xiàn)場總線[9],它具有良好的實時性和可靠性,在控制成本、提高性能以及產品升級等方面具有很大的優(yōu)勢[10]。因此,設計了一個基于CAN 總線的管理系統(tǒng)對該方法進行驗證。
管理單元的結構如圖4 所示,微控制器采用Microchip公司的dsPIC30F6012A,它具有豐富的外設接口,能夠大大簡化硬件電路的設計,通過一個電流檢測和開關控制電路對智能傳感器節(jié)點的電源進行監(jiān)控,利用UART,I2C,SPI,通用I/O 口等任意一種方式讀取節(jié)點的工作狀態(tài)。將管理單元分布在每個智能傳感器節(jié)點的電源入口處,通過一組CAN 總線互連通信,實現(xiàn)管理消息的傳輸。為了查看實驗結果,將主控平臺管理單元的UART 通過電平轉換后與上位機連接,在上位機使用串口調試助手顯示相關信息。智能傳感器節(jié)點通過四次握手的方式完成了身份識別,部分測試結果如表2 所示,其中,設備ID 是主控平臺為智能傳感器節(jié)點分配的統(tǒng)一識別碼,設備類型用于區(qū)分傳感器的種類,不同設備類型的節(jié)點,其功耗等級也不一樣,可根據(jù)功耗等級來設置電流閾值,用于節(jié)點的電源監(jiān)控。如設備ID 為0x05 的傳感器節(jié)點,其設備類型是0xB6,代表該節(jié)點是一個多通道RS-485 數(shù)據(jù)采集前端,管理單元讀出功耗等級為62,按照線性映射的關系設置電流閾值為1.24 A,當檢測到實時電流大于閾值電流,立即采取了關斷措施進行保護,并把故障信息通知給主控平臺。實驗證明:該方法對智能傳感器節(jié)點的身份識別準確,對故障的處理迅速可靠,保證了數(shù)據(jù)采集系統(tǒng)的安全性。
圖4 通過測試的管理單元設計實例Fig 4 Verified instance of management units
表2 節(jié)點身份識別與電流檢測結果Tab 2 Results of identification and current detection
本文以一種可擴展的高速數(shù)據(jù)采集系統(tǒng)為背景,立足于解決主控平臺下多樣化智能傳感器節(jié)點不識別、不兼容、不可靠、發(fā)生故障威脅整個網絡的安全等問題,提出了一種針對智能傳感器節(jié)點的身份識別與故障處理方法。該方法研究了不同智能傳感器的特征屬性,通過四次握手的方式完成新節(jié)點的注冊;檢測到故障之后,嘗試各種方式進行恢復,采取局部斷電的措施是保證系統(tǒng)安全最直接、最可靠的方式。為了對該方法進行驗證,設計了一種基于CAN 總線的管理單元,經測試,能夠實現(xiàn)智能傳感器節(jié)點的身份識別、電源監(jiān)控、故障處理等多項功能。這種方案的優(yōu)點在于,維持了高速數(shù)據(jù)采集系統(tǒng)原有的結構,不影響數(shù)據(jù)傳輸總線的工作效率,且結構簡單,性能穩(wěn)定,大大提高了數(shù)據(jù)采集系統(tǒng)的兼容性,對于大數(shù)據(jù)量的智能傳感器節(jié)點的擴展尤為適用。
[1] 趙 丹,肖繼學,劉 一.智能傳感器技術綜述[J].傳感器與微系統(tǒng),2012,33(9):4-7.
[2] 尹寄明.基于CAN 總線的智能傳感器開發(fā)與應用技術研究[D].南京:南京航空航天大學,2006.
[3] Zhang Yong,Gu Yikang,Vlatkovic Vlatko,et al.Progress of smart sensor and smart sensor networks[C]∥Proceedings of the 5th World Congress on Intelligent Control and Automation,Hangzhou,China,2004:3600-3606.
[4] 孫圣和.現(xiàn)代傳感器發(fā)展方向[J].電子測量與儀器學報,2009,23(1):1-10.
[5] Md Sajjad Rahaman,Masud H Chowdhury,Irfan Nasir,et al.VSIB:A sensor bus architecture for smart-sensor network[C]∥2009 World Congress on Computer Science and Information Engineering,Los Angeles,American,2009:436-439.
[6] 王 全.基于M-Bus 總線的礦用智能傳感器網絡的研究[D].青島:山東科技大學,2011.
[7] 張 粵,倪桑晨,倪 偉.基于智能傳感器網絡的環(huán)境信息監(jiān)測系統(tǒng)設計[J].傳感器與微系統(tǒng),2012,31(2):140-145.
[8] 王曉英,羅紅波.基于CAN 總線的高低溫試驗箱監(jiān)控系統(tǒng)[J].微計算機信息,2005,21(5):26-27.
[9] Chen Hanxing,Tian Jun.Research on the controller area network[C]∥2009 International Conference on Networking and Digital Society,Guiyang,China,2009:251-254.
[10]Mohd Sharil b Salleh,Herdawatie bt Abd Kadir,Mohd Helmy bin Abd Wahab.A modular controller area network vision system using programmable interface controller[C]∥2008 International Conference on Electronic Design,Penang,Malaysia,2008:1-4.