劉 君,程 凱,趙培剛,徐 爽,馬 超
(中國海洋大學(xué),光學(xué)光電子青島市重點實驗室,山東青島 266100)
海洋為人類提供了豐富的海洋資源與發(fā)展空間[1]。傳統(tǒng)的海洋科學(xué)研究方法只能從地面或者乘船從海面觀察海洋,隨著衛(wèi)星遙感技術(shù)的發(fā)展,也可從空中對海洋進行觀測,但這些方法都只能得到海洋表面的數(shù)據(jù)[2]。隨著科學(xué)技術(shù)的發(fā)展,海洋探測技術(shù)也相應(yīng)的在不斷發(fā)展與改進。深海運載器探測技術(shù)、深海光學(xué)傳感器探測技術(shù)、深海電磁學(xué)傳感器技術(shù)等[3]為人類科學(xué)地認識深海提供了方法。認識海洋的前提是需要依靠各種傳感器探測到的數(shù)據(jù),傳感器在不同海洋環(huán)境下的控制和傳感器數(shù)據(jù)存取則主要依托于數(shù)據(jù)采集系統(tǒng)。
在設(shè)計數(shù)據(jù)采集系統(tǒng)中,采用微控制器STM32作為系統(tǒng)的控制核心,由于試驗需要搭載多種RS232串行接口的傳感器進行測試,而STM32所提供的3個串口不能滿足需求,必須進行串口擴展。本文結(jié)合STM32單片機和串口擴張芯片CH438Q設(shè)計實現(xiàn)了一種集成度高、配置靈活、小型化、多種傳感器接入的數(shù)據(jù)采集系統(tǒng)。
海洋數(shù)據(jù)采集系統(tǒng)集傳感器供電與管理于一體,兼容數(shù)字量、模擬量等接口傳感器,可以廣泛地應(yīng)用在各種海洋監(jiān)測平臺系統(tǒng)建設(shè)中,能夠滿足在線觀測與自容監(jiān)測的設(shè)計需要[4]。數(shù)據(jù)采集系統(tǒng)的整體設(shè)計是基于深海環(huán)境背景下設(shè)計的,其整體設(shè)計圖如圖1所示。
數(shù)據(jù)采集系統(tǒng)主要分為供電電源,微控制器,串口擴展三部分。供電電源負責(zé)為微控制器、串口擴展以及外接傳感器提供電源管理;串口擴展部分負責(zé)與各種傳感器進行通信對接,將傳感器探測的數(shù)據(jù)傳輸?shù)轿⒖刂破髦?。微控制器是整個數(shù)據(jù)采集系統(tǒng)的核心,負責(zé)控制整個數(shù)據(jù)采集系統(tǒng)的工作,需要對各類數(shù)據(jù)進行采集、處理、存儲,對各種傳感器工作狀態(tài)工作進行監(jiān)控,保證整個采集工作的穩(wěn)定進行。
數(shù)據(jù)采集系統(tǒng)各部分的詳細設(shè)計需要考慮所搭載傳感器的工作電壓、通信方式、通信速率、數(shù)據(jù)格式等主要參數(shù)。本試驗所搭載的主要傳感器和其性能參數(shù)如表1所示。
表1 傳感器類型及性能參數(shù)
傳感器返回的數(shù)據(jù)格式如下所示。
(1)CTD返回的數(shù)據(jù)格式為:溫度,電導(dǎo)率,壓力,鹽度,聲速,日期,時間。
(2)甲烷返回的數(shù)據(jù)格式為:1:甲烷濃度對應(yīng)的電壓值;2:溫度;3:保留;4:保留;5:保留;6:保留;7:保留;8:保留。
(3)自研CO2返回的數(shù)據(jù)格式為:開始標志,年月,日,時,分,秒,參考A/D,當(dāng)前A/D,未校正CO2濃度,校正后CO2濃度,傳感器溫度,氣壓,內(nèi)部電池溫度,電源電壓,記錄器溫度,模擬輸入1,模擬輸入2,數(shù)字輸入1,數(shù)字輸入2。
(4)MiniCO2返回的數(shù)據(jù)格式為:CO2濃度。
串口擴展部分是數(shù)據(jù)采集器中的重要部分,它主要負責(zé)接收各種傳感器探測獲得的數(shù)據(jù)、將微控制器發(fā)送的指令傳達給部分傳感器以及將接收到的數(shù)據(jù)再返回到微控制器,微控制器再進行相應(yīng)的分類存儲。在此部分的設(shè)計中,選用了CH438Q芯片進行串口擴展。CH438Q芯片可以擴展為8路串口,只需要在控制部分進行相應(yīng)的初始化配置即可使用,而不會影響單片機自身具備的串口功能,且支持最高4 Mbit/s的通訊波特率,可以用于單片機/嵌入式系統(tǒng)的RS232串口擴展、帶自動硬件速率控制的高速串口等,支持串口低功耗睡眠模式。CH438Q與STM32通信原理如圖2所示。
圖2 CH438Q與STM32F103RCT6通信原理圖
CH438Q集成擴展出來的通信接口為TTL電平,在本次數(shù)據(jù)采集器中所要搭載的傳感器均為RS232通信方式,因此,在串口擴展設(shè)計模塊中,需要采用MAX3232芯片將TTL電平轉(zhuǎn)換成RS232電平與傳感器進行通信。
微控制器采用STM32F103RCT6芯片,它基于高性能、低成本、低功耗嵌入式應(yīng)用的ARMCortex-M3內(nèi)核,采用ARM V7構(gòu)架,支持Thum-2指令集,具有位帶操作、定時器、可嵌套中斷、低成本、低功耗、接口豐富等優(yōu)勢[5]。
在數(shù)據(jù)采集系統(tǒng)中,STM32微控制器負責(zé)對串口擴展模塊中的CH438Q寄存器進行初始化、將采集到的數(shù)據(jù)進行整合、存儲以及對整個系統(tǒng)運行進行監(jiān)測。微控制器主要功能示意圖如圖3所示。
圖3 控制模塊主要功能示意圖
控制模塊的軟件設(shè)計部分是在Keil uVision5集成開發(fā)環(huán)境下完成的。軟件架構(gòu)基于模塊化思想,針對不同的功能模塊進行函數(shù)封裝,提高了軟件重用性和簡潔性。
CH438Q芯片內(nèi)部具有8個完全獨立的異步串口,在寄存器地址空間分布上,每個串口各占用8個字節(jié)的地址空間。對CH438Q的串口進行初始化要根據(jù)串口號對應(yīng)的地址進行相應(yīng)的設(shè)置,主要包括:波特率、內(nèi)部時鐘頻率、FIFO的設(shè)置。
(1)波特率的設(shè)置是基于搭載傳感器的波特率大小選擇的。在本次試驗中將串口1的波特率設(shè)置為115 200 bit/s,其他串口統(tǒng)一設(shè)置為9 600 bit/s。
(2)內(nèi)部時鐘頻率的大小要根據(jù)CH438Q外部晶體的大小進行計算,其計算公式為:
設(shè)計中選用了頻率為7.372 8 MHz石英振蕩器作為外部晶振,以1.843 2 MHz作為串口內(nèi)部基準時鐘,所需波特率為9 600 bit/s,則公式計算后,內(nèi)部時鐘頻率大小為0.614 4 MHz。
(3)設(shè)置FIFO模式為打開狀態(tài),觸發(fā)點為112字節(jié),便于數(shù)據(jù)緩存。
考慮到所搭載傳感器的數(shù)量和返回數(shù)據(jù)的重復(fù),有必要對數(shù)據(jù)進行相應(yīng)的處理,這樣有利于數(shù)據(jù)的存儲以及后期處理。
微控制器將接收到CTD傳感器、甲烷傳感器、MiniCO2傳感器、自研CO2傳感器、艙內(nèi)溫濕度傳感器以及pH傳感器數(shù)據(jù),每個傳感器保留必要的數(shù)據(jù)后并用分號隔開進行組合。數(shù)據(jù)處理后的格式為:標志位,日期,時間,溫度,電導(dǎo)率,壓力,溶解氧,鹽度,聲速;甲烷濃度;參考A/D,當(dāng)前A/D,未校正CO2濃度,校正后CO2濃度,傳感器溫度,氣壓,內(nèi)部電池溫度,電源電壓;CO2濃度;艙內(nèi)溫度,艙內(nèi)濕度;pH值。
存儲模塊應(yīng)具有非易失性,及在掉電后的數(shù)據(jù)不會被丟失。常用的有固化存儲器主要包括FLASH、E2PROM和SD卡[6]。
在深海探測時,由于深度原因,數(shù)據(jù)一般無法進行實時傳輸?shù)剿?,可以采用大容量存儲設(shè)備,以存儲數(shù)據(jù)。這里選用SD卡作為數(shù)據(jù)存儲器是非常合適的。它不僅容量可以做到很大(32 GB以上),而且方便移動,并且有幾種體積的尺寸可供選擇(標準的SD卡尺寸,以及TF卡尺寸等),能滿足不同應(yīng)用的要求。
微控制器在將數(shù)據(jù)處理完成之后,將數(shù)據(jù)以.TXT文件格式存儲到SD卡之中,并以時間作為文件名。此外,為了方便測試后數(shù)據(jù)讀取處理,設(shè)計了USB的硬件接口功能并編制了相應(yīng)的控制程序,方便了數(shù)據(jù)的讀取。
數(shù)據(jù)采集系統(tǒng)裝載在耐壓艙體中,通過定制電纜分別與CTD傳感器、甲烷傳感器、自研CO2傳感器、MiniCO2傳感器等進行連接,工作電源由AUV提供24 V直流電源。近海試驗表明,數(shù)據(jù)采集器在長時間運行下可以穩(wěn)定工作,通過USB讀取的實驗數(shù)據(jù)分類存儲完整,達到了預(yù)期目標。部分實驗數(shù)據(jù)整理后如表2~表4所示。
表2 CTD傳感器數(shù)據(jù)
表3 甲烷和MiniCO2傳感器數(shù)據(jù)
表4 自研CO2、溫濕度、pH傳感器數(shù)據(jù)
針對于深海資源探測設(shè)計的數(shù)據(jù)采集系統(tǒng),在完成了串口擴展問題的基礎(chǔ)上,不僅做到了集成度高、低功耗、低成本,還可以根據(jù)不同的探測任務(wù)需求,靈活搭載不同的傳感器。后期還可以針對微控制器STM32功能進行深入開發(fā),設(shè)計不同的功能模塊,滿足不同領(lǐng)域通信控制和數(shù)據(jù)傳輸?shù)男枨蟆?/p>