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