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