胡軼群,邱文博,李冠宇,徐俊臣,杜玉杰,王亞丁,楊子原
(國家海洋技術(shù)中心天津市300111)
基于SDI-12總線的海洋環(huán)境監(jiān)測(cè)數(shù)據(jù)采集技術(shù)的初探
胡軼群,邱文博,李冠宇,徐俊臣,杜玉杰,王亞丁,楊子原
(國家海洋技術(shù)中心天津市300111)
介紹了近年歐美國家在環(huán)境監(jiān)測(cè)中普遍應(yīng)用的串行數(shù)字接口標(biāo)準(zhǔn)SDI-12的電氣特性及通訊協(xié)議,該接口標(biāo)準(zhǔn)具有以單根三芯電纜連接多個(gè)傳感器、低功耗、長(zhǎng)距離、接口電路簡(jiǎn)單、系統(tǒng)集成成本低等優(yōu)點(diǎn),非常適合我國海洋環(huán)境監(jiān)測(cè)中系統(tǒng)擴(kuò)展靈活、多要素觀測(cè)的實(shí)際需求。基于此接口標(biāo)準(zhǔn),本文設(shè)計(jì)了一種應(yīng)用于海洋環(huán)境監(jiān)測(cè)的數(shù)據(jù)采集系統(tǒng),介紹了數(shù)據(jù)采集系統(tǒng)的SDI-12接口的硬件電路設(shè)計(jì)和數(shù)據(jù)采集軟件程序流程,該數(shù)據(jù)采集系統(tǒng)具有總線結(jié)構(gòu)、擴(kuò)展方便、低功耗、總線供電、通用性強(qiáng)等特點(diǎn)。
SDI-12;數(shù)據(jù)采集;環(huán)境監(jiān)測(cè)
海洋環(huán)境監(jiān)測(cè)系統(tǒng),通常由測(cè)量傳感器、數(shù)據(jù)采集器和通訊設(shè)備構(gòu)成。由于傳統(tǒng)測(cè)量傳感器的輸出信號(hào)多種多樣,有頻率量輸出、電壓量輸出、電流量輸出、數(shù)字量輸出和RS-232/RS-422輸出等方式,沒有統(tǒng)一的傳感器接口標(biāo)準(zhǔn),因此數(shù)據(jù)采集器必須為多種不同的傳感器提供不同的接口電路,造成數(shù)據(jù)采集器的設(shè)計(jì)復(fù)雜并且其擴(kuò)展性也受到一定的限制。
隨著基于微處理器技術(shù)的智能化傳感器的快速發(fā)展,使在數(shù)據(jù)采集系統(tǒng)和智能傳感器之間制定一種通用接口規(guī)范成為可能。SDI-12接口標(biāo)準(zhǔn)是由美國水文組織提出的一種串行數(shù)據(jù)通訊接口標(biāo)準(zhǔn),規(guī)定了設(shè)備的接口電氣特性和數(shù)據(jù)通訊協(xié)議,該標(biāo)準(zhǔn)使用總線技術(shù),使不同廠商的傳感器可簡(jiǎn)單地連接在一條SDI-12總線上。
近年來SDI-12產(chǎn)品在歐美國家的環(huán)境監(jiān)測(cè)中得到了推廣使用。眾多的智能傳感器和數(shù)據(jù)采集設(shè)備的生產(chǎn)廠商都關(guān)注該項(xiàng)技術(shù),尤其在環(huán)境和水文監(jiān)測(cè)領(lǐng)域,大多數(shù)的數(shù)據(jù)采集器和智能傳感器均配備有SDI-12總線接口。此技術(shù)廣泛應(yīng)用在工農(nóng)業(yè)多參數(shù)測(cè)控、江河湖海的水文和氣象等海洋環(huán)境監(jiān)測(cè)、養(yǎng)殖和食品生產(chǎn)中,可以遠(yuǎn)距離傳送數(shù)據(jù)。
我國的SDI-12技術(shù)也已應(yīng)用到如氣候變化追蹤、水采集及水測(cè)試、生態(tài)調(diào)查、土壤監(jiān)測(cè)、農(nóng)業(yè)及氣候分析、海洋環(huán)境監(jiān)測(cè)等領(lǐng)域。國外有很多從事智能傳感器開發(fā)的公司對(duì)SDI-12通信技術(shù)的應(yīng)用都非常成熟,生產(chǎn)了眾多高性能數(shù)據(jù)采集系統(tǒng)產(chǎn)品和智能傳感器。國內(nèi)近年來從事SDI-12傳感器開發(fā)的公司也逐步興起,有些公司也開發(fā)出了一些不錯(cuò)的SDI-12智能傳感器。
本文對(duì)基于SDI-12總線的應(yīng)用于海洋環(huán)境監(jiān)測(cè)的數(shù)據(jù)采集系統(tǒng)的關(guān)鍵技術(shù)進(jìn)行了研究,介紹了SDI-12接口電氣特性及接口通訊協(xié)議、數(shù)據(jù)采集系統(tǒng)的SDI-12接口的硬件電路設(shè)計(jì)和數(shù)據(jù)采集軟件程序流程,該接口標(biāo)準(zhǔn)具有以單根三芯電纜連接多個(gè)傳感器、低功耗、長(zhǎng)距離、接口電路簡(jiǎn)單、系統(tǒng)集成成本低等優(yōu)點(diǎn),非常適合我國海洋環(huán)境監(jiān)測(cè)中系統(tǒng)擴(kuò)展靈活、多要素觀測(cè)的實(shí)際需求。
SDI-12(Serial Digital Interface with 1200 band)是由美國水文組織提出的一種串行數(shù)據(jù)通訊接口協(xié)議,是數(shù)據(jù)采集系統(tǒng)和智能傳感器之間的串行數(shù)據(jù)接口標(biāo)準(zhǔn),規(guī)定了電器接口和通訊協(xié)議。SDI-12采用串行數(shù)據(jù)接口,使用的波特率是1 200 baud。它是一種在一根數(shù)據(jù)線上進(jìn)行雙向半雙工數(shù)據(jù)交換的單總線。同時(shí),標(biāo)準(zhǔn)的接口方式使數(shù)據(jù)采集器可連接智能傳感器,最大限度發(fā)揮電池電力的作用。
SDI-12自身具有的獨(dú)特、復(fù)雜的校準(zhǔn)運(yùn)算法則可應(yīng)用于智能傳感器。傳感器所需電能由接口電路提供,無需額外的電纜。傳感器與數(shù)據(jù)采集器之間的通信,不需重新編寫數(shù)據(jù)采集器的運(yùn)算法則及其他信息。傳感器使用低消耗的EEPROM(Electrically Erasable Programmable Read Only Memory)放置校準(zhǔn)信息和其他配置信息。我國的海洋水文氣象的環(huán)境監(jiān)測(cè),常要求一個(gè)無人值守的自動(dòng)觀測(cè)站與多個(gè)多要素測(cè)點(diǎn)進(jìn)行數(shù)據(jù)通訊,SDI-12通訊標(biāo)準(zhǔn)非常適用。
1.1 SDI-12接口電氣特性
SDI-12接口總線由三線組成,即12伏電源線一根、串行數(shù)據(jù)線一根、地線一根,其中12伏電源線一般由數(shù)據(jù)采集器或者其他供電設(shè)備提供,用于為連接到總線上的所有傳感器提供電源支持,串行數(shù)據(jù)線是一根雙向、三態(tài)的串行數(shù)據(jù)線,是數(shù)據(jù)采集器和傳感器交換信息的線路,可實(shí)現(xiàn)半雙工雙向通訊,地線是數(shù)據(jù)采集器和傳感器的公共接地線。
SDI-12總線可以在單個(gè)總線上同時(shí)連接多個(gè)傳感器,并提供總線供電功能,系統(tǒng)的連接和擴(kuò)充非常方便。SDI-12傳感器掛接到總線的接線方式為:12 V電源線互聯(lián),串行數(shù)據(jù)線互聯(lián),地線互聯(lián)。SDI-12總線至少支持10個(gè)傳感器互聯(lián),具體地址可為0~9、a~z、A~Z中的任意ASCII碼字符。圖1為具有SDI-12總線的數(shù)據(jù)采集器與2個(gè)傳感器的連接框圖。
1.2 SDI-12接口通訊協(xié)議
圖1 SDI-12總線連接框圖
SDI-12接口標(biāo)準(zhǔn)為數(shù)據(jù)采集器和傳感器制訂了通用數(shù)據(jù)通訊協(xié)議,協(xié)議包括一系列的命令和應(yīng)答格式,數(shù)據(jù)采集器可通過發(fā)出不同命令,控制傳感器的工作并獲取傳感器的測(cè)量數(shù)據(jù)信息。
SDI-12的數(shù)據(jù)結(jié)構(gòu)為1位起始位、7位數(shù)據(jù)位、1位偶校驗(yàn)位、1位停止位。數(shù)據(jù)采集器發(fā)送的每一個(gè)命令的第一個(gè)字符必須是傳感器地址,傳感器響應(yīng)的第一個(gè)字符也是該傳感器的地址,每個(gè)地址代表SDI-12總線上一個(gè)特定的傳感器。
數(shù)據(jù)采集器和傳感器之間的通信是靠在數(shù)據(jù)總線上交換ASCII碼的信息實(shí)現(xiàn)的。一個(gè)典型的數(shù)據(jù)采集過程如下:
第一步:數(shù)據(jù)采集器在串行通訊線上發(fā)出一個(gè)break信號(hào),喚醒連接在SDI-12總線上的全部傳感器。
第二步:數(shù)據(jù)采集器向一個(gè)指定地址的傳感器發(fā)送一個(gè)測(cè)量指令。
第三步:被指定的傳感器必須在12 ms內(nèi)向數(shù)據(jù)采集器發(fā)出命令響應(yīng),報(bào)告完成本次測(cè)量所需要的時(shí)間和返回測(cè)量數(shù)據(jù)的個(gè)數(shù),未被指定的其他傳感器繼續(xù)保持在低功耗狀態(tài)。
第四步:如果測(cè)量數(shù)據(jù)已經(jīng)有效,數(shù)據(jù)采集器立即向該傳感器發(fā)送一個(gè)命令,指令其傳回測(cè)量數(shù)據(jù)。如果測(cè)量數(shù)據(jù)尚未就緒,數(shù)據(jù)采集器將等待該傳感器完成測(cè)量并發(fā)出數(shù)據(jù)就緒請(qǐng)求,然后數(shù)據(jù)采集器向該傳感器發(fā)送一個(gè)命令,指令其傳回測(cè)量數(shù)據(jù)。
第五步:該測(cè)量傳感器應(yīng)答,把一組或多組數(shù)據(jù)發(fā)送給數(shù)據(jù)采集器。
1.3 支持SDI-12總線的產(chǎn)品類型
應(yīng)用于海洋環(huán)境監(jiān)測(cè)領(lǐng)域的基于SDI-12協(xié)議的產(chǎn)品類型主要有很多,測(cè)量氣象要素溫度、相對(duì)濕度、
雨量、風(fēng)速、風(fēng)向的,如Vaisala的WXT520等,測(cè)量水文觀測(cè)要素水位、水質(zhì)、流量、溫度,如YSI 6600等。具有SDI-12接口的數(shù)據(jù)采集器有GeoPrecision、Campbell、DataTaker等。
從SDI-12總線標(biāo)準(zhǔn)可以看出,在設(shè)計(jì)SDI-12數(shù)據(jù)采集接口時(shí),除了對(duì)外提供12伏直流供電以外,還需要在通訊電路解決以下問題:
(1)半雙工通訊接口的實(shí)現(xiàn)
一般海洋環(huán)境監(jiān)測(cè)設(shè)備采用的微處理器如ARM、DSP、單片機(jī)等都有全雙工串口,為符合SDI-12的需要,串口必須加邏輯反相器,滿足SDI-12數(shù)據(jù)線使用負(fù)邏輯的要求,同時(shí)還要在數(shù)據(jù)發(fā)送電路上增加三態(tài)緩沖電路,將全雙工電路轉(zhuǎn)換為半雙工電路。
(2)電路阻抗匹配
按照SDI-12接口電路的技術(shù)要求,當(dāng)通訊電路處于發(fā)送數(shù)據(jù)狀態(tài)時(shí),其直流阻抗應(yīng)該在1 000~2 000歐姆。當(dāng)通訊電路處于接收數(shù)據(jù)狀態(tài)時(shí),其直流阻抗應(yīng)該在160~360 K歐姆。
本文所設(shè)計(jì)的數(shù)據(jù)采集器SDI-12接口電路的設(shè)計(jì)如圖2所示。
圖2 SDI-12接口電路
由于SDI-12接口制定了較為完善的數(shù)據(jù)通訊協(xié)議,因此數(shù)據(jù)采集軟件的設(shè)計(jì)具有通用性,可適合不同傳感器廠商的產(chǎn)品。本文所設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)采用Keil集成開發(fā)環(huán)境,采用C語言編寫系統(tǒng)軟件,主要包括傳感器數(shù)據(jù)采集、SD卡存儲(chǔ)數(shù)據(jù)、液晶顯示數(shù)據(jù)等。本文所設(shè)計(jì)的SDI-12數(shù)據(jù)采集器接口軟件流程如圖3所示。
數(shù)據(jù)采集器定時(shí)發(fā)送命令喚醒數(shù)據(jù)線上的所有傳感器,每個(gè)請(qǐng)求在數(shù)據(jù)線上的持續(xù)時(shí)間最短為12 ms。傳感器收到正確命令后,按數(shù)據(jù)格式返回對(duì)應(yīng)值。每條控制命令開始的字節(jié)為不同傳感器的地址,這個(gè)地址表示數(shù)據(jù)采集器選擇通信的傳感器,其他傳感器忽略這條命令返回待機(jī)模式??偩€上的傳感器根據(jù)主機(jī)發(fā)送的地址和命令做出不同的響應(yīng)。如果和自己定義的地址相同,則根據(jù)命令返回一個(gè)或者多個(gè)測(cè)量結(jié)果。
圖3 SDI-12數(shù)據(jù)采集軟件流程
圖4 SDI-12時(shí)序圖
如前所述,SDI-12總線的通信數(shù)據(jù)格式為1位起始位、7位數(shù)據(jù)位、1位偶校驗(yàn)位和1位停止位。起始位為高電平,停止位為低電平,該總線為負(fù)邏輯,故需對(duì)7位數(shù)據(jù)位進(jìn)行反碼操作后再發(fā)送。當(dāng)數(shù)據(jù)采集器發(fā)送命令后傳感器響應(yīng)數(shù)據(jù)也為負(fù)邏輯,需要對(duì)接收的7位數(shù)據(jù)位的每一位進(jìn)行求反操作來獲得真實(shí)數(shù)據(jù)。當(dāng)數(shù)據(jù)采集器或者傳感器釋放總線后,總線為低電平。
本文所設(shè)計(jì)數(shù)據(jù)采集系統(tǒng)連接德國VEGA公司的VEGAPULS通用型雷達(dá)水位傳感器,傳感器地址設(shè)置為C。每條命令以“!”結(jié)束,接收到的數(shù)據(jù)以〈CR〉〈LR〉結(jié)束,其中CR、LR表示回車換行的ASCII碼值。每位ASCII碼由低位到高位順序發(fā)送。由起始位、數(shù)據(jù)位、校驗(yàn)位和停止位每個(gè)ASCII碼對(duì)應(yīng)10個(gè)二進(jìn)制位組成。校驗(yàn)方式采用偶校驗(yàn),即7位數(shù)據(jù)位加校驗(yàn)位中高電平1的個(gè)數(shù)為偶數(shù)。
在硬件測(cè)試中,利用示波器獲得數(shù)據(jù)線上的相應(yīng)狀態(tài),通過比較理論分析和實(shí)驗(yàn)測(cè)試結(jié)果,發(fā)現(xiàn)二者完全吻合,驗(yàn)證了時(shí)序設(shè)計(jì)的正確性。經(jīng)實(shí)驗(yàn)室實(shí)驗(yàn)及現(xiàn)場(chǎng)應(yīng)用,本文中設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)完全能夠正確采集所需要的雷達(dá)水位傳感器的數(shù)據(jù)。
由于篇幅限制,本文重點(diǎn)介紹了SDI-12接口電氣特性、SDI-12接口通訊協(xié)議及基于SDI-12的海洋環(huán)境監(jiān)測(cè)數(shù)據(jù)采集技術(shù)的軟硬件設(shè)計(jì)及實(shí)驗(yàn)結(jié)果。采用海洋環(huán)境監(jiān)測(cè)數(shù)據(jù)采集系統(tǒng)使用的SDI-12通信協(xié)議來實(shí)現(xiàn)多個(gè)傳感器數(shù)據(jù)采集的傳輸和處理,通過單片機(jī)的實(shí)時(shí)處理,人機(jī)交互界面顯示數(shù)據(jù),通過不同的設(shè)置來實(shí)現(xiàn)數(shù)據(jù)的記錄和保存。
本文所設(shè)計(jì)的基于SDI-12總線技術(shù)的數(shù)據(jù)采集系統(tǒng)已經(jīng)經(jīng)過實(shí)驗(yàn)檢驗(yàn)并應(yīng)用于廣州海事測(cè)繪中心及多個(gè)海洋環(huán)境監(jiān)測(cè)站點(diǎn),系統(tǒng)連接測(cè)量風(fēng)、溫度、相對(duì)濕度、氣壓、雨量、水位等觀測(cè)要素的多個(gè)傳感器,已實(shí)現(xiàn)業(yè)務(wù)化運(yùn)行。該數(shù)據(jù)采集系統(tǒng)具有總線結(jié)構(gòu)、擴(kuò)展方便、低功耗、總線供電、通用性強(qiáng)等特點(diǎn),非常適合于我國海洋環(huán)境監(jiān)測(cè)中傳感器配置靈活和多要素觀測(cè)的需要,基于SDI-12總線技術(shù)的數(shù)據(jù)采集系統(tǒng)的廣泛應(yīng)用為構(gòu)建全方位、多參數(shù)集成的立體觀測(cè)系統(tǒng)節(jié)約了大量的人力、物力,對(duì)于預(yù)報(bào)各種自然災(zāi)害、減少經(jīng)濟(jì)損失,具有重要意義。
[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)測(cè)系統(tǒng)推薦SDI-12通訊標(biāo)準(zhǔn)[J].OCEAN TECHNOLOGY,2001(2):58-64.
[3]吳寶昌.走進(jìn)SDI-12標(biāo)準(zhǔn)[C].2008.
[4]劉圖,馮能操,朱儒石.基于SDI-12接口水位計(jì)的短消息水位查詢系統(tǒng)[J].黑龍江水專學(xué)報(bào),2010,37(1):84-86.
[5]黃操軍,陶冶,許秀英.基于SDI-12的播種機(jī)種肥監(jiān)測(cè)傳感器研究[J].黑龍江八一農(nóng)墾大學(xué)學(xué)報(bào),2012,24(2):80-83.
[6]毛元禮.基于SDI-12通信協(xié)議的水位數(shù)據(jù)采集系統(tǒng)[D].三峽職業(yè)大學(xué),2002.
[7]擺玉龍,董存輝,單吉明,等.基于SDI-12總線的生態(tài)水文數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].遙感技術(shù)與應(yīng)用,2013,28(3):453-458.
2016-10-17