胡軼群,邱文博,李冠宇,徐俊臣,杜玉杰,王亞丁,楊子原
(國家海洋技術中心天津市300111)
基于SDI-12總線的海洋環(huán)境監(jiān)測數(shù)據(jù)采集技術的初探
胡軼群,邱文博,李冠宇,徐俊臣,杜玉杰,王亞丁,楊子原
(國家海洋技術中心天津市300111)
介紹了近年歐美國家在環(huán)境監(jiān)測中普遍應用的串行數(shù)字接口標準SDI-12的電氣特性及通訊協(xié)議,該接口標準具有以單根三芯電纜連接多個傳感器、低功耗、長距離、接口電路簡單、系統(tǒng)集成成本低等優(yōu)點,非常適合我國海洋環(huán)境監(jiān)測中系統(tǒng)擴展靈活、多要素觀測的實際需求。基于此接口標準,本文設計了一種應用于海洋環(huán)境監(jiān)測的數(shù)據(jù)采集系統(tǒng),介紹了數(shù)據(jù)采集系統(tǒng)的SDI-12接口的硬件電路設計和數(shù)據(jù)采集軟件程序流程,該數(shù)據(jù)采集系統(tǒng)具有總線結構、擴展方便、低功耗、總線供電、通用性強等特點。
SDI-12;數(shù)據(jù)采集;環(huán)境監(jiān)測
海洋環(huán)境監(jiān)測系統(tǒng),通常由測量傳感器、數(shù)據(jù)采集器和通訊設備構成。由于傳統(tǒng)測量傳感器的輸出信號多種多樣,有頻率量輸出、電壓量輸出、電流量輸出、數(shù)字量輸出和RS-232/RS-422輸出等方式,沒有統(tǒng)一的傳感器接口標準,因此數(shù)據(jù)采集器必須為多種不同的傳感器提供不同的接口電路,造成數(shù)據(jù)采集器的設計復雜并且其擴展性也受到一定的限制。
隨著基于微處理器技術的智能化傳感器的快速發(fā)展,使在數(shù)據(jù)采集系統(tǒng)和智能傳感器之間制定一種通用接口規(guī)范成為可能。SDI-12接口標準是由美國水文組織提出的一種串行數(shù)據(jù)通訊接口標準,規(guī)定了設備的接口電氣特性和數(shù)據(jù)通訊協(xié)議,該標準使用總線技術,使不同廠商的傳感器可簡單地連接在一條SDI-12總線上。
近年來SDI-12產(chǎn)品在歐美國家的環(huán)境監(jiān)測中得到了推廣使用。眾多的智能傳感器和數(shù)據(jù)采集設備的生產(chǎn)廠商都關注該項技術,尤其在環(huán)境和水文監(jiān)測領域,大多數(shù)的數(shù)據(jù)采集器和智能傳感器均配備有SDI-12總線接口。此技術廣泛應用在工農(nóng)業(yè)多參數(shù)測控、江河湖海的水文和氣象等海洋環(huán)境監(jiān)測、養(yǎng)殖和食品生產(chǎn)中,可以遠距離傳送數(shù)據(jù)。
我國的SDI-12技術也已應用到如氣候變化追蹤、水采集及水測試、生態(tài)調(diào)查、土壤監(jiān)測、農(nóng)業(yè)及氣候分析、海洋環(huán)境監(jiān)測等領域。國外有很多從事智能傳感器開發(fā)的公司對SDI-12通信技術的應用都非常成熟,生產(chǎn)了眾多高性能數(shù)據(jù)采集系統(tǒng)產(chǎn)品和智能傳感器。國內(nèi)近年來從事SDI-12傳感器開發(fā)的公司也逐步興起,有些公司也開發(fā)出了一些不錯的SDI-12智能傳感器。
本文對基于SDI-12總線的應用于海洋環(huán)境監(jiān)測的數(shù)據(jù)采集系統(tǒng)的關鍵技術進行了研究,介紹了SDI-12接口電氣特性及接口通訊協(xié)議、數(shù)據(jù)采集系統(tǒng)的SDI-12接口的硬件電路設計和數(shù)據(jù)采集軟件程序流程,該接口標準具有以單根三芯電纜連接多個傳感器、低功耗、長距離、接口電路簡單、系統(tǒng)集成成本低等優(yōu)點,非常適合我國海洋環(huán)境監(jiān)測中系統(tǒng)擴展靈活、多要素觀測的實際需求。
SDI-12(Serial Digital Interface with 1200 band)是由美國水文組織提出的一種串行數(shù)據(jù)通訊接口協(xié)議,是數(shù)據(jù)采集系統(tǒng)和智能傳感器之間的串行數(shù)據(jù)接口標準,規(guī)定了電器接口和通訊協(xié)議。SDI-12采用串行數(shù)據(jù)接口,使用的波特率是1 200 baud。它是一種在一根數(shù)據(jù)線上進行雙向半雙工數(shù)據(jù)交換的單總線。同時,標準的接口方式使數(shù)據(jù)采集器可連接智能傳感器,最大限度發(fā)揮電池電力的作用。
SDI-12自身具有的獨特、復雜的校準運算法則可應用于智能傳感器。傳感器所需電能由接口電路提供,無需額外的電纜。傳感器與數(shù)據(jù)采集器之間的通信,不需重新編寫數(shù)據(jù)采集器的運算法則及其他信息。傳感器使用低消耗的EEPROM(Electrically Erasable Programmable Read Only Memory)放置校準信息和其他配置信息。我國的海洋水文氣象的環(huán)境監(jiān)測,常要求一個無人值守的自動觀測站與多個多要素測點進行數(shù)據(jù)通訊,SDI-12通訊標準非常適用。
1.1 SDI-12接口電氣特性
SDI-12接口總線由三線組成,即12伏電源線一根、串行數(shù)據(jù)線一根、地線一根,其中12伏電源線一般由數(shù)據(jù)采集器或者其他供電設備提供,用于為連接到總線上的所有傳感器提供電源支持,串行數(shù)據(jù)線是一根雙向、三態(tài)的串行數(shù)據(jù)線,是數(shù)據(jù)采集器和傳感器交換信息的線路,可實現(xiàn)半雙工雙向通訊,地線是數(shù)據(jù)采集器和傳感器的公共接地線。
SDI-12總線可以在單個總線上同時連接多個傳感器,并提供總線供電功能,系統(tǒng)的連接和擴充非常方便。SDI-12傳感器掛接到總線的接線方式為:12 V電源線互聯(lián),串行數(shù)據(jù)線互聯(lián),地線互聯(lián)。SDI-12總線至少支持10個傳感器互聯(lián),具體地址可為0~9、a~z、A~Z中的任意ASCII碼字符。圖1為具有SDI-12總線的數(shù)據(jù)采集器與2個傳感器的連接框圖。
1.2 SDI-12接口通訊協(xié)議

圖1 SDI-12總線連接框圖
SDI-12接口標準為數(shù)據(jù)采集器和傳感器制訂了通用數(shù)據(jù)通訊協(xié)議,協(xié)議包括一系列的命令和應答格式,數(shù)據(jù)采集器可通過發(fā)出不同命令,控制傳感器的工作并獲取傳感器的測量數(shù)據(jù)信息。
SDI-12的數(shù)據(jù)結構為1位起始位、7位數(shù)據(jù)位、1位偶校驗位、1位停止位。數(shù)據(jù)采集器發(fā)送的每一個命令的第一個字符必須是傳感器地址,傳感器響應的第一個字符也是該傳感器的地址,每個地址代表SDI-12總線上一個特定的傳感器。
數(shù)據(jù)采集器和傳感器之間的通信是靠在數(shù)據(jù)總線上交換ASCII碼的信息實現(xiàn)的。一個典型的數(shù)據(jù)采集過程如下:
第一步:數(shù)據(jù)采集器在串行通訊線上發(fā)出一個break信號,喚醒連接在SDI-12總線上的全部傳感器。
第二步:數(shù)據(jù)采集器向一個指定地址的傳感器發(fā)送一個測量指令。
第三步:被指定的傳感器必須在12 ms內(nèi)向數(shù)據(jù)采集器發(fā)出命令響應,報告完成本次測量所需要的時間和返回測量數(shù)據(jù)的個數(shù),未被指定的其他傳感器繼續(xù)保持在低功耗狀態(tài)。
第四步:如果測量數(shù)據(jù)已經(jīng)有效,數(shù)據(jù)采集器立即向該傳感器發(fā)送一個命令,指令其傳回測量數(shù)據(jù)。如果測量數(shù)據(jù)尚未就緒,數(shù)據(jù)采集器將等待該傳感器完成測量并發(fā)出數(shù)據(jù)就緒請求,然后數(shù)據(jù)采集器向該傳感器發(fā)送一個命令,指令其傳回測量數(shù)據(jù)。
第五步:該測量傳感器應答,把一組或多組數(shù)據(jù)發(fā)送給數(shù)據(jù)采集器。
1.3 支持SDI-12總線的產(chǎn)品類型
應用于海洋環(huán)境監(jiān)測領域的基于SDI-12協(xié)議的產(chǎn)品類型主要有很多,測量氣象要素溫度、相對濕度、
雨量、風速、風向的,如Vaisala的WXT520等,測量水文觀測要素水位、水質(zhì)、流量、溫度,如YSI 6600等。具有SDI-12接口的數(shù)據(jù)采集器有GeoPrecision、Campbell、DataTaker等。
從SDI-12總線標準可以看出,在設計SDI-12數(shù)據(jù)采集接口時,除了對外提供12伏直流供電以外,還需要在通訊電路解決以下問題:
(1)半雙工通訊接口的實現(xiàn)
一般海洋環(huán)境監(jiān)測設備采用的微處理器如ARM、DSP、單片機等都有全雙工串口,為符合SDI-12的需要,串口必須加邏輯反相器,滿足SDI-12數(shù)據(jù)線使用負邏輯的要求,同時還要在數(shù)據(jù)發(fā)送電路上增加三態(tài)緩沖電路,將全雙工電路轉換為半雙工電路。
(2)電路阻抗匹配
按照SDI-12接口電路的技術要求,當通訊電路處于發(fā)送數(shù)據(jù)狀態(tài)時,其直流阻抗應該在1 000~2 000歐姆。當通訊電路處于接收數(shù)據(jù)狀態(tài)時,其直流阻抗應該在160~360 K歐姆。
本文所設計的數(shù)據(jù)采集器SDI-12接口電路的設計如圖2所示。

圖2 SDI-12接口電路
由于SDI-12接口制定了較為完善的數(shù)據(jù)通訊協(xié)議,因此數(shù)據(jù)采集軟件的設計具有通用性,可適合不同傳感器廠商的產(chǎn)品。本文所設計的數(shù)據(jù)采集系統(tǒng)采用Keil集成開發(fā)環(huán)境,采用C語言編寫系統(tǒng)軟件,主要包括傳感器數(shù)據(jù)采集、SD卡存儲數(shù)據(jù)、液晶顯示數(shù)據(jù)等。本文所設計的SDI-12數(shù)據(jù)采集器接口軟件流程如圖3所示。
數(shù)據(jù)采集器定時發(fā)送命令喚醒數(shù)據(jù)線上的所有傳感器,每個請求在數(shù)據(jù)線上的持續(xù)時間最短為12 ms。傳感器收到正確命令后,按數(shù)據(jù)格式返回對應值。每條控制命令開始的字節(jié)為不同傳感器的地址,這個地址表示數(shù)據(jù)采集器選擇通信的傳感器,其他傳感器忽略這條命令返回待機模式。總線上的傳感器根據(jù)主機發(fā)送的地址和命令做出不同的響應。如果和自己定義的地址相同,則根據(jù)命令返回一個或者多個測量結果。

圖3 SDI-12數(shù)據(jù)采集軟件流程

圖4 SDI-12時序圖
如前所述,SDI-12總線的通信數(shù)據(jù)格式為1位起始位、7位數(shù)據(jù)位、1位偶校驗位和1位停止位。起始位為高電平,停止位為低電平,該總線為負邏輯,故需對7位數(shù)據(jù)位進行反碼操作后再發(fā)送。當數(shù)據(jù)采集器發(fā)送命令后傳感器響應數(shù)據(jù)也為負邏輯,需要對接收的7位數(shù)據(jù)位的每一位進行求反操作來獲得真實數(shù)據(jù)。當數(shù)據(jù)采集器或者傳感器釋放總線后,總線為低電平。
本文所設計數(shù)據(jù)采集系統(tǒng)連接德國VEGA公司的VEGAPULS通用型雷達水位傳感器,傳感器地址設置為C。每條命令以“!”結束,接收到的數(shù)據(jù)以〈CR〉〈LR〉結束,其中CR、LR表示回車換行的ASCII碼值。每位ASCII碼由低位到高位順序發(fā)送。由起始位、數(shù)據(jù)位、校驗位和停止位每個ASCII碼對應10個二進制位組成。校驗方式采用偶校驗,即7位數(shù)據(jù)位加校驗位中高電平1的個數(shù)為偶數(shù)。
在硬件測試中,利用示波器獲得數(shù)據(jù)線上的相應狀態(tài),通過比較理論分析和實驗測試結果,發(fā)現(xiàn)二者完全吻合,驗證了時序設計的正確性。經(jīng)實驗室實驗及現(xiàn)場應用,本文中設計的數(shù)據(jù)采集系統(tǒng)完全能夠正確采集所需要的雷達水位傳感器的數(shù)據(jù)。
由于篇幅限制,本文重點介紹了SDI-12接口電氣特性、SDI-12接口通訊協(xié)議及基于SDI-12的海洋環(huán)境監(jiān)測數(shù)據(jù)采集技術的軟硬件設計及實驗結果。采用海洋環(huán)境監(jiān)測數(shù)據(jù)采集系統(tǒng)使用的SDI-12通信協(xié)議來實現(xiàn)多個傳感器數(shù)據(jù)采集的傳輸和處理,通過單片機的實時處理,人機交互界面顯示數(shù)據(jù),通過不同的設置來實現(xiàn)數(shù)據(jù)的記錄和保存。
本文所設計的基于SDI-12總線技術的數(shù)據(jù)采集系統(tǒng)已經(jīng)經(jīng)過實驗檢驗并應用于廣州海事測繪中心及多個海洋環(huán)境監(jiān)測站點,系統(tǒng)連接測量風、溫度、相對濕度、氣壓、雨量、水位等觀測要素的多個傳感器,已實現(xiàn)業(yè)務化運行。該數(shù)據(jù)采集系統(tǒng)具有總線結構、擴展方便、低功耗、總線供電、通用性強等特點,非常適合于我國海洋環(huán)境監(jiān)測中傳感器配置靈活和多要素觀測的需要,基于SDI-12總線技術的數(shù)據(jù)采集系統(tǒng)的廣泛應用為構建全方位、多參數(shù)集成的立體觀測系統(tǒng)節(jié)約了大量的人力、物力,對于預報各種自然災害、減少經(jīng)濟損失,具有重要意義。
[1]SDI-12 Support Group.SDI-12 a Serial-Digital Interface Standard f or Microprocessor-Based Sensors[Z].Utah USA,SDI-12 Support Group,2009.
[2]廉雙喜.向環(huán)境監(jiān)測系統(tǒng)推薦SDI-12通訊標準[J].OCEAN TECHNOLOGY,2001(2):58-64.
[3]吳寶昌.走進SDI-12標準[C].2008.
[4]劉圖,馮能操,朱儒石.基于SDI-12接口水位計的短消息水位查詢系統(tǒng)[J].黑龍江水專學報,2010,37(1):84-86.
[5]黃操軍,陶冶,許秀英.基于SDI-12的播種機種肥監(jiān)測傳感器研究[J].黑龍江八一農(nóng)墾大學學報,2012,24(2):80-83.
[6]毛元禮.基于SDI-12通信協(xié)議的水位數(shù)據(jù)采集系統(tǒng)[D].三峽職業(yè)大學,2002.
[7]擺玉龍,董存輝,單吉明,等.基于SDI-12總線的生態(tài)水文數(shù)據(jù)采集系統(tǒng)設計與實現(xiàn)[J].遙感技術與應用,2013,28(3):453-458.
2016-10-17