劉長(zhǎng)虹
【摘要】針對(duì)海流傳感器信號(hào)微弱、難以采集的特點(diǎn),設(shè)計(jì)了一種基于AT89C52主控芯片的數(shù)據(jù)采集通信系統(tǒng),用以對(duì)海流傳感器信號(hào)的采集。系統(tǒng)采用LabVIEW作為上位機(jī)處理工具,直觀地顯示采集的數(shù)據(jù),并將數(shù)據(jù)以Excel表格文件保存;在下位機(jī)硬件設(shè)計(jì)中,采用了AD7714芯片作為轉(zhuǎn)換芯片,簡(jiǎn)化了數(shù)據(jù)采集系統(tǒng)的復(fù)雜度;上下位機(jī)采用串口傳輸數(shù)據(jù)。
【關(guān)鍵詞】AT89C52;數(shù)據(jù)采集;LabVIEW;串口通信
0.引言
海流傳感器是監(jiān)測(cè)海洋環(huán)境的重要工具,通過(guò)對(duì)海洋傳感器反饋的信號(hào)的采集與分析,可以清楚的掌握海洋的內(nèi)部環(huán)境。本文針對(duì)海流傳感器信號(hào)微弱的特點(diǎn),設(shè)計(jì)了一種基于AT89C52單片機(jī)的信號(hào)采集系統(tǒng),對(duì)系統(tǒng)設(shè)計(jì)結(jié)構(gòu)和主要功能特點(diǎn)作了較詳細(xì)的論述。
1.系統(tǒng)硬件設(shè)計(jì)
海流傳感器信號(hào)屬于微弱信號(hào),幅度很小且易被噪聲淹沒(méi)[1]。傳統(tǒng)的方法是先對(duì)信號(hào)進(jìn)行預(yù)處理。在這里采用自帶放大和濾波功能的模數(shù)轉(zhuǎn)換器直接處理信號(hào)的方法,有效降低了系統(tǒng)器件噪聲的引入。由于海流傳感器采用自容式的設(shè)計(jì),工作時(shí)沒(méi)有外接供電電纜和通信電纜[2]。為此傳感器內(nèi)部必須自帶供電單元,通過(guò)信號(hào)采集電路將海流的微弱信號(hào)轉(zhuǎn)化為高精度的數(shù)字信號(hào),并存儲(chǔ)在傳感器內(nèi)部的FLASH數(shù)據(jù)存儲(chǔ)器中。工作時(shí),只需將海流傳感器,錨定在待測(cè)海流區(qū)域,海流傳感器開(kāi)始定時(shí)采集海流數(shù)據(jù),并自動(dòng)保存。一定時(shí)間后,采集完成,回收傳感器,通過(guò)串口將采集的數(shù)據(jù)輸入計(jì)算機(jī)。上位機(jī)采用基于LabVIEW設(shè)計(jì)了數(shù)據(jù)處理程序,可直觀地顯示采集數(shù)據(jù),儲(chǔ)存數(shù)據(jù)為Excel表格文件,方便后續(xù)的數(shù)據(jù)分析。
2.系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)主要包含上位機(jī)和下位機(jī)軟件兩部分。上位機(jī)軟件中,設(shè)計(jì)了基于LabVIEW的數(shù)據(jù)采集程序,可實(shí)現(xiàn)海流傳感器采集數(shù)據(jù)的顯示、存儲(chǔ)、分析等功能。下位機(jī)軟件采用keil編程,主要完成采集系統(tǒng)的初始化、AD轉(zhuǎn)換程序的設(shè)計(jì)以及單片機(jī)中位值平均濾波算法[3]。
2.1 上位機(jī)LabVIEW程序設(shè)計(jì)
海流傳感器在固定的海域進(jìn)行數(shù)據(jù)采集,采集完成后,對(duì)采集的數(shù)據(jù)需要由計(jì)算機(jī)處理,這就要求必須設(shè)計(jì)合適的上位機(jī)程序完成傳感器信號(hào)的讀取、顯示、保存、分析等。本設(shè)計(jì)中上位機(jī)傳感器信號(hào)采集程序基于LabVIEW軟件編寫(xiě)[4]。
2.2 采集系統(tǒng)初始化
采集系統(tǒng)的初始化,主要包括單片機(jī)定時(shí)器T0和串口的初始化。
定時(shí)器T0初始化,需要設(shè)置定時(shí)器工作方式,定時(shí)時(shí)間等。AT89C52單片機(jī)中,定時(shí)器工作方式寄存器為TMOD,設(shè)置TMOD=0x01,表示定時(shí)器工作在方式1,即16位定時(shí)器模式。定時(shí)器實(shí)質(zhì)上是一個(gè)16位的加1計(jì)數(shù)器,通過(guò)設(shè)置合適的計(jì)數(shù)初值,可以實(shí)現(xiàn)不同時(shí)間的定時(shí)。
信號(hào)采集電路需要通過(guò)串口與上位機(jī)通信,上位機(jī)軟件,通過(guò)串口發(fā)送讀取數(shù)據(jù)指令,單片機(jī)串口接收到數(shù)據(jù)時(shí),產(chǎn)生串口中斷,執(zhí)行相應(yīng)的中斷處理程序。
2.3 模數(shù)轉(zhuǎn)換程序設(shè)計(jì)
信號(hào)采集系統(tǒng),模數(shù)轉(zhuǎn)換芯片為AD7714,AD7714包含8個(gè)片內(nèi)寄存器,在信號(hào)轉(zhuǎn)換中主要用到通信寄存器、模式寄存器、濾波器高寄存器和濾波器低寄存器,這些寄存器都是通過(guò)串行口訪問(wèn)的。首先要寫(xiě)通信寄存器,初始化AD時(shí),寫(xiě)入RS2-RS0的值為001,則表示下一步的操作時(shí)寫(xiě)模式寄存器,模式寄存器參數(shù)寫(xiě)完畢,則自動(dòng)返回到,等待寫(xiě)通信寄存器。即對(duì)AD芯片的編程操作,都是從寫(xiě)通信寄存器開(kāi)始的.
2.4 數(shù)字濾波程序設(shè)計(jì)
數(shù)字濾波是指通過(guò)數(shù)據(jù)的處理,來(lái)濾除干擾信號(hào),進(jìn)一步提高采集數(shù)據(jù)的準(zhǔn)確度。這里模數(shù)轉(zhuǎn)換過(guò)的數(shù)據(jù),通過(guò)單片機(jī)編寫(xiě)的濾波程序,來(lái)進(jìn)行數(shù)字濾波。本文在對(duì)比了幾種常用的濾波算法之后,決定常用中位值平均濾波算法。
中位值平均濾波,是把連續(xù)采集到的N個(gè)數(shù)據(jù),先進(jìn)行大小的比較,去掉其中的最大值和最小值,再對(duì)剩余的N-2個(gè)數(shù)據(jù)求均值。通常情況下N選擇為4-12。
2.5 時(shí)鐘和存儲(chǔ)模塊程序設(shè)計(jì)
信號(hào)采集系統(tǒng)時(shí)鐘模塊采用的是PCF8563時(shí)鐘芯片。通過(guò)單片機(jī)可以,實(shí)時(shí)地讀取當(dāng)前的時(shí)間數(shù)據(jù),包括年月日,時(shí)分秒等。經(jīng)過(guò)數(shù)字濾波的AD轉(zhuǎn)換數(shù)據(jù),要加上時(shí)間標(biāo)簽,海流傳感器信號(hào)采集系統(tǒng)需要讀取時(shí)、分、秒和日數(shù)據(jù),和模數(shù)轉(zhuǎn)換數(shù)據(jù)一起存入存儲(chǔ)器中。
FLASH存儲(chǔ)芯片采用Atmel公司的AT45D-B081D,容量為8Mbits,采用SPI接口數(shù)據(jù)傳輸方式。SPI數(shù)據(jù)的傳輸有三根數(shù)據(jù)線,SCK、SO和SI。SCK為芯片的讀寫(xiě)提供串行時(shí)鐘,SO為數(shù)據(jù)輸出引腳,單片機(jī)從該引腳讀取數(shù)據(jù),SI為數(shù)據(jù)輸入引腳,采集的數(shù)據(jù)即從SI引腳輸入。
3.結(jié)束語(yǔ)
可測(cè)上升流的海流傳感器信號(hào)屬于微弱信號(hào),對(duì)于微弱信號(hào)的測(cè)量關(guān)鍵在于噪聲的抑制。傳統(tǒng)的信號(hào)采集方案,采用獨(dú)立的兩級(jí)放大和模擬濾波的預(yù)處理方式,采集系統(tǒng)自身引入的器件噪聲不可忽略。本文,針對(duì)海流信號(hào)的特點(diǎn),從降低系統(tǒng)噪聲的角度出發(fā),采取了一系列抑制噪聲的措施,設(shè)計(jì)了低噪聲、高精度、低功耗、可視化的海流傳感器信號(hào)采集系統(tǒng),實(shí)現(xiàn)了對(duì)傳感器信號(hào)的高精度采集。
參考文獻(xiàn)
[1]于麗霞,王福明.微弱信號(hào)檢測(cè)技術(shù)綜述[J].信息技術(shù),2007,02:115-116.
[2]侯永海,王安敏.自容式海流計(jì)[J].微計(jì)算機(jī)信息,2001, 17(1):84-85.
[3]楊明,狄衛(wèi)國(guó),段淑鳳.數(shù)字濾波技術(shù)及其在電池檢測(cè)系統(tǒng)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2003,05:98-99.
[4]Ai,X,Yang.Virtual instrument technology and its application to power system[J].IEEE Transactions on Instrumentation and Measurement,2001,25(15):54-57.