羅亞軍,孫興林,鄭森炎
(浙江大學 生物醫學工程與儀器科學學院,浙江 杭州310027)
隨著嵌入式系統的發展,智能傳感器(intelligent sensor,or smart sensor)已經成為當今傳感器技術的一個主要發展方向[1],它由普通傳感器、微處理器和相關的電路構成,具有自補償、自校準、自診斷、數值處理和雙向通信等特點[2,3]。目前,智能傳感器已經廣泛應用于航空、航天、國防、科技和工農業生產等各個領域中,但在虛擬化、網絡化、高速數據傳輸等方面仍有著較大的研究空間[4]。
一種總線分布式的高速數據采集系統由通用的主控平臺和大數據量的智能傳感器節點構成,在不同的工業現場,可以將不同的智能傳感器通過高速數據傳輸總線與主控平臺進行連接,快速搭建出針對各種應用的傳感器網絡,縮短研發周期,并降低成本。這些智能傳感器節點來自于不同的生產廠家,能夠采集不同的物理量,在接口、功耗、數據量、實時性等方面也提出了不一樣的要求,既豐富了數據采集系統的功能,也增加了設備管理的難度。由于大數據量和高實時性的要求,單憑數據傳輸總線已經無法實現自身的管理功能,因此,針對多樣化、大數據量的智能傳感器節點進行統一身份識別,快速檢測并處理節點的故障,成為當前必須解決的問題。
Md Sajjad Rahaman 等人[5]設計了一種通用傳感器接口,對數據傳輸總線進行改造,解決了一些低速傳感器接口適配問題;王全[6]提出了智能傳感器的軟硬件通用設計,來解決礦用檢測系統的通用性與擴展性問題;張粵等人[7]在環境監測系統中,研究了無線智能傳感器節點的管理,提高了無線組網的靈活性。然而,目前并沒有一種簡單而有效的方法能夠在不影響數據采集系統的實時性的前提下,解決大數據量智能傳感器節點的身份識別和故障處理的難題。基于此,本文提出一種實用的解決方案。
在圖1 所示的高速數據采集系統中,主控平臺是系統的控制中心,用于多傳感器數據融合、存儲和處理,并與遠程上位機進行通信;智能傳感器節點是根據實際應用進行定制和擴展的,可以測量溫度、壓力、流量、速度等多種物理量;數據傳輸總線是智能傳感器節點與主控平臺通信的橋梁,用于傳達控制命令和大量的傳感器數據,是一條高速的互聯總線。

圖1 智能傳感器節點的管理方案Fig 1 Management scheme of smart sensor nodes
為了保證數據采集系統的實時性和可靠性,節點的管理不能依賴于高速繁忙的數據傳輸總線,可以用一條低成本、可靠、獨立的管理總線來負責狀態信息的接收和發送。如圖1 所示,將一種簡單通用的管理單元分布在每一個智能傳感器節點中,它攜帶了節點的身份信息,也具備電源控制的能力,通過管理總線互聯,即可實現對智能傳感器節點的身份識別和故障處理功能。
由于智能傳感器網絡是開放式的,必須引入統一的身份管理機制,一個新的傳感器節點要成為數據采集系統的一部分,必須先通過身份識別,主控平臺在獲取了該節點的身份信息之后,才能下載或配置相應的驅動程序進行操作,實現資源的統一調配。
表1 是智能傳感器節點的管理單元所包含的身份信息,其中,廠商ID、版本號、出廠序列號、設備類型,以及功耗等級為靜態身份信息,描述的是智能傳感器節點的固有屬性,從節點中讀取出來之后存儲在管理單元中,并且設定為禁止修改的屬性。在這里,設備類型涵蓋了各種不同的傳感器種類,如溫度/濕度傳感器、流量/質量傳感器、速度/加速度傳感器、位置/位移傳感器等,主控平臺可根據設備類型來選擇合適的高速總線驅動方式和數據處理方式;功耗等級反映的是智能傳感器節點中的元器件總功率,是額定工作狀態下的參考值。其余的字段均為動態信息,描述的是該節點在傳感器網絡中的實時狀態,如設備ID 是由主控平臺統一分配的,它是區分傳感器網絡節點身份的唯一標志;數據采集優先級不同于總線仲裁優先級,它從應用層的角度定義了智能傳感器節點數據采集的實時性要求、數據量大小,以及數據的重要程度;實時功耗可以通過管理單元檢測出來,反映了該節點的工作負荷與電源使用情況,用于節點的安全性能分析。此外,還有狀態碼信息、故障累計次數和持續正常工作時間,以便于主控平臺對智能傳感器節點的穩定性與可靠性進行全面的評估。

表1 智能傳感器節點身份信息Tab 1 Identity information of smart sensor nodes
在主控平臺中保存一個注冊表,存儲智能傳感器網絡中所有節點的身份信息。身份識別可以用四次握手的過程來實現,如圖2 所示,主控平臺通過管理總線向該節點請求身份信息,智能傳感器節點的管理單元收到請求之后,將廠商ID、版本號、出廠序列號、設備類型、功耗等級以及設備ID 返回給主控平臺,在主控平臺中將這些信息與原有的注冊表進行對比,如果不相等,則視為新的智能傳感器節點,通知主控平臺的操作系統配置相應的驅動程序,一旦配置成功,則為該節點生成一個新的設備ID,并把它的身份信息添加到注冊表,同時將設備ID、電流監控閾值等重要參數發送給智能傳感器節點的管理單元,完成對該節點的初始化。然后由智能傳感器節點管理單元向主控平臺返回一個“設備就緒”的通知來完成注冊。當移除一個智能傳感器節點,需要清除它的注冊表信息,主控平臺卸載該節點的驅動程序,并通知該節點的管理單元切斷電源,降低系統功耗,保證傳感器安全。

圖2 身份識別的四次握手過程Fig 2 Four-time handshake process of identification
智能傳感器節點常見的故障是短路,會對數據采集系統的安全造成威脅,因此,擁有故障處理機制對系統的可靠性至關重要。不同的智能傳感器節點對電源的需求不一樣,管理單元可以根據身份信息中的功率等級參數Power-Rate 來設定監控閾值TH1 和TH2,其中,TH1 為額定工作電流,TH2 為短路保護的閾值。通過管理單元的電源檢測電路獲得實時電流,當大于TH1 時提高監測的頻率,一旦超過TH2,則立刻切斷電源,防止智能傳感器節點的短路損壞,并通過管理總線向主控平臺匯報故障信息。
除了供電故障,智能傳感器節點還可能出現其它的異常情況。管理單元通過簡單的串行通信方式定期獲取智能傳感器節點的狀態信息,包括數據采集接口的狀態(如休眠、采樣、中斷、異常、其它)和數據傳輸總線的工作狀態(如空閑、發送、接收、異常、其它)存儲在狀態碼中,一旦接收到異常信號,立即通過管理總線通知主控平臺,并采取短時等待、強制中斷、遠程復位、斷電重啟等一系列措施使智能傳感器節點恢復正常。此外,對于故障累計次數過多的節點,也要通知主控平臺,并且強制切斷電源,保證系統的安全。智能傳感器節點的故障處理方法如圖3 所示。

圖3 智能傳感器節點故障處理方法Fig 3 Fault handling method of smart sensor nodes
為了驗證上述方法的可行性,設計了一個管理單元的實例應用在高速數據采集系統中。傳統的監控設備多采用RS—232 和RS—485 等方式,實時性、擴展性和可靠性較差[8]。控制器局域網(controller area network,CAN)是一種開放式的現場總線[9],它具有良好的實時性和可靠性,在控制成本、提高性能以及產品升級等方面具有很大的優勢[10]。因此,設計了一個基于CAN 總線的管理系統對該方法進行驗證。
管理單元的結構如圖4 所示,微控制器采用Microchip公司的dsPIC30F6012A,它具有豐富的外設接口,能夠大大簡化硬件電路的設計,通過一個電流檢測和開關控制電路對智能傳感器節點的電源進行監控,利用UART,I2C,SPI,通用I/O 口等任意一種方式讀取節點的工作狀態。將管理單元分布在每個智能傳感器節點的電源入口處,通過一組CAN 總線互連通信,實現管理消息的傳輸。為了查看實驗結果,將主控平臺管理單元的UART 通過電平轉換后與上位機連接,在上位機使用串口調試助手顯示相關信息。智能傳感器節點通過四次握手的方式完成了身份識別,部分測試結果如表2 所示,其中,設備ID 是主控平臺為智能傳感器節點分配的統一識別碼,設備類型用于區分傳感器的種類,不同設備類型的節點,其功耗等級也不一樣,可根據功耗等級來設置電流閾值,用于節點的電源監控。如設備ID 為0x05 的傳感器節點,其設備類型是0xB6,代表該節點是一個多通道RS-485 數據采集前端,管理單元讀出功耗等級為62,按照線性映射的關系設置電流閾值為1.24 A,當檢測到實時電流大于閾值電流,立即采取了關斷措施進行保護,并把故障信息通知給主控平臺。實驗證明:該方法對智能傳感器節點的身份識別準確,對故障的處理迅速可靠,保證了數據采集系統的安全性。

圖4 通過測試的管理單元設計實例Fig 4 Verified instance of management units

表2 節點身份識別與電流檢測結果Tab 2 Results of identification and current detection
本文以一種可擴展的高速數據采集系統為背景,立足于解決主控平臺下多樣化智能傳感器節點不識別、不兼容、不可靠、發生故障威脅整個網絡的安全等問題,提出了一種針對智能傳感器節點的身份識別與故障處理方法。該方法研究了不同智能傳感器的特征屬性,通過四次握手的方式完成新節點的注冊;檢測到故障之后,嘗試各種方式進行恢復,采取局部斷電的措施是保證系統安全最直接、最可靠的方式。為了對該方法進行驗證,設計了一種基于CAN 總線的管理單元,經測試,能夠實現智能傳感器節點的身份識別、電源監控、故障處理等多項功能。這種方案的優點在于,維持了高速數據采集系統原有的結構,不影響數據傳輸總線的工作效率,且結構簡單,性能穩定,大大提高了數據采集系統的兼容性,對于大數據量的智能傳感器節點的擴展尤為適用。
[1] 趙 丹,肖繼學,劉 一.智能傳感器技術綜述[J].傳感器與微系統,2012,33(9):4-7.
[2] 尹寄明.基于CAN 總線的智能傳感器開發與應用技術研究[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] 孫圣和.現代傳感器發展方向[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] 張 粵,倪桑晨,倪 偉.基于智能傳感器網絡的環境信息監測系統設計[J].傳感器與微系統,2012,31(2):140-145.
[8] 王曉英,羅紅波.基于CAN 總線的高低溫試驗箱監控系統[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.