基于MAX114的高速數據采集系統設計
1 引言
數據采集技術(shù)是信息科學(xué)的一個(gè)很重要的分支,它研究信息數據的轉換,采集、存儲、處理以及顯示等作業(yè),在信號處理、智能儀器以及工業(yè)自動(dòng)控制等領(lǐng)域起到巨大的作用。如工業(yè)生產(chǎn)過(guò)程中常常需要對濕度、溫度、壓力、流量等各種工藝參數隨時(shí)進(jìn)行檢測和監控,同時(shí)還要將檢測到的數據及時(shí)傳遞給上位機,以實(shí)現對于參數的隨機查詢(xún),對信息的存儲與處理,及時(shí)調整控制方案,提高生產(chǎn)效率和產(chǎn)品質(zhì)量。
但是,在許多其他領(lǐng)域如:雷達通信,地理信息,圖像傳輸,軍工及醫療化工,為了捕捉,采集,存儲,處理,傳輸和再現瞬間變化的模擬信號(類(lèi)似脈沖信號),則對數據采集速度及效率提出了更高的要求。本文應用單片機89C51作為主控制來(lái)實(shí)現模擬信號的高速采集、存儲及再現。應用中,單片機只對信號進(jìn)行中轉不對數據進(jìn)行處理,采集的數字信號傳給DA轉換器后,由DA轉換器將信號還原成模擬信號。
2硬件組成
設計的方案主要用于瞬間信號的采集,要求選用的A/D轉換芯片轉換速度比較快,經(jīng)過(guò)考慮選用MAX114。89C51單片機的指令執行時(shí)間(us級)與AD轉換芯片的轉換時(shí)間往往不同步[1],因此在單片機與AD轉換器間加入高速緩存IDT72041,用高速緩存來(lái)連接單片機與AD轉換器。系統整體結構框圖如圖1所示。
圖1 系統整體結構框圖
實(shí)際應用中,須將瞬間的連續的模擬信號轉換成便于存儲與分析的數字信號。在這個(gè)過(guò)程中應盡量避免模擬信號的失真,這就與AD轉換芯片的轉換精度與轉換速度有極大的關(guān)聯(lián)。在模擬信號的頻率很高時(shí),AD芯片的轉換速度就顯得尤其重要。MAX114芯片對輸入的模擬電壓有一定的要求,必須對輸入的模擬電壓進(jìn)行放大以滿(mǎn)足AD轉換芯片的要求[2]。MAX114的前置放大電路如圖2:
圖2 放大與濾波電路
高通濾波只允許一定頻率的信號通過(guò),清除雜波的影響。MAX114的引腳REF+,REF-所接旁路電容消除干擾。MAX114為四通道的A/D芯片,而我們只需要一個(gè)通道轉換數據,因此A1,A2必須接數字“0”。根據需要選擇模式“0”狀態(tài)來(lái)轉換數據,引腳“5”MODE也必須接數字“0”。其真值表如表1所示: www.51kaifa.com
表1 MAX114真值表
AD轉換芯片MAX114將轉換出來(lái)的數字信號傳送給高速緩存IDT72041。MAX114的工作時(shí)鐘由內部時(shí)鐘電路提供的時(shí)鐘脈沖,緩存寫(xiě)控制信號也是由該芯片的 “INT”來(lái)控制,在A(yíng)D芯片轉換完畢后,“INT”產(chǎn)生一個(gè)低電平,這一低電平被傳送給緩存芯片,數據即被寫(xiě)入緩存中并按照先入先出的規則進(jìn)行保存。只有當緩存引腳(FF)為高電平,(EF)為低電平時(shí),AD轉換出來(lái)的數據才能被寫(xiě)入[3]。
IDT72XX系列是IDT公司推出的先進(jìn)先出(FIFO)存儲器芯片,它具有雙口輸入輸出,采集傳輸速度快和先進(jìn)先出的特點(diǎn),能滿(mǎn)足高速數據傳輸的要求[4]。
高速緩存IDT72041有這樣一個(gè)特點(diǎn):當緩存芯片被寫(xiě)滿(mǎn)后,緩存芯片就不再接受外來(lái)的寫(xiě)信號,同時(shí)緩存IDT72041的滿(mǎn)位FF變?yōu)榈?,同時(shí)會(huì )觸發(fā)單片機的外部中斷。單片機接收到中斷信號后運行片選程序,第二塊緩存開(kāi)始讀入A/D轉換數據。以此類(lèi)推,當所有的緩存芯片中的數據被全部寫(xiě)滿(mǎn)后,單片機經(jīng)運用程序傳輸緩存中的數據再進(jìn)行處理。緩存中數據全部處理完后重新啟動(dòng)A/D轉換,開(kāi)始數據的采集。
為了保證數據采集的連續性和采集足夠的數據,必須有較大的存儲空間來(lái)存放數據,為此,本系統中將IDT72041芯片擴展了8片[5]。擴展中的第一個(gè)芯片用FL/RT端接地來(lái)表示,其它芯片的FL/RT端接高電平。且每個(gè)芯片的“XO”端必須接到下個(gè)芯片的“XI”端。并將每個(gè)芯片的 “EF”標志相“或”以構成新的空標志,每個(gè)芯片的“FF”端也相“或”在一起構成新的滿(mǎn)標志。RT和HF在字深的擴展中不起作用。這里采用的方式是將8 塊芯片的“ FF”端分別接在單片機的P2口,由單片機來(lái)控制寫(xiě)滿(mǎn)。
在設計中,當IDT緩存芯片4K的存儲空間被寫(xiě)滿(mǎn),緩存的引腳“FF”為低,MAX114轉換的數據不能再寫(xiě)入。同時(shí)FF向89C51發(fā)出中斷請求,單片機接收到中斷信號后,用P0口來(lái)實(shí)現與緩存芯片的數據傳送,然后由單片機對存儲于IDT72041中的數據進(jìn)行初步處理。經(jīng)單片機P3.6口(WR)的片選,再將處理過(guò)的數據傳給DAC0832[6]。
在硬件電路中,單片機控制IDT72041和DAC0832,MAX114開(kāi)始采樣時(shí),要用到IDT72041中的D0~D7數據線(xiàn)、寫(xiě)控制端口 WR;當數據采樣結束,即數據已經(jīng)存儲到IDT72041中,單片機就要從IDT72041中讀取數據,要用到Q0~Q7線(xiàn),讀控制端口。在實(shí)際的運用中,通過(guò)QE腳和/DIR腳置不同的電平來(lái)解決信號串擾的問(wèn)題。通過(guò)置QE腳不同的電平可以實(shí)現三態(tài)的功能,同時(shí)由/DIR腳來(lái)確定信號傳輸的方向。
3系統軟件
3.1程序功能www.51kaifa.com
此程序的功能是實(shí)現AD芯片MAX114、緩存IDT72041之間的通信以及采樣頻率的控制,各功能分別用進(jìn)程完成[6]。程序主體分為五個(gè)部分:?jiǎn)纹瑱C初始化及對外圍器件的設置、對緩存的全滿(mǎn)標志位判斷以及該條指令的循環(huán)、對緩存的片選以及將緩存的數據傳給單片機寄存器A、對DAC的片選以及將暫存器的數據傳給DAC、判斷緩存是否為空以及跳轉。
3.2程序各部分的實(shí)現
第一部分是單片機的初始化及對外圍器件,主要是對IDT72041的設置,開(kāi)始是對89C51的P0、P1和P2口所有的端口置1,接下來(lái)是P1.1清“0”,實(shí)現IDT72041的復位,對P1.1清“0”,實(shí)現對MAX114進(jìn)行片選,指令如下:
START:SETB P0
SETB P1
SETB P2
CLR P1.0
CLR P1.1
第二部分主要是判斷緩存是否被寫(xiě)滿(mǎn)。輸入的模擬信號進(jìn)入該系統,由放大電路先進(jìn)行放大、整流,進(jìn)入A/D(MAX114)進(jìn)行轉換,由于A(yíng)/D芯片的INT腳在每轉換結束一次將產(chǎn)生一個(gè)低電平,此低電平驅動(dòng)緩存(IDT72041)進(jìn)行寫(xiě)入數據,由于使用8片緩存,所以會(huì )出現數據先被寫(xiě)入哪個(gè)緩存的問(wèn)題,為了提高單片機處理效率,在硬件上將前一個(gè)芯片的XO端接下一個(gè)芯片的XI端,邏輯“1” 芯片的FL/RT接地,其它芯片的FL/RT接高電平,這樣就可以實(shí)現將8個(gè)緩存芯片組成一個(gè)存儲整體,這樣數據將從第一個(gè)芯片一直寫(xiě)到最后一個(gè)芯片,8 個(gè)緩存的寫(xiě)滿(mǎn)端“FF”被接在單片節的P2口,用來(lái)判斷每個(gè)緩存是否被寫(xiě)滿(mǎn)。在硬件連接上,將8個(gè)緩存已經(jīng)組成了一個(gè)整體存儲體,所以在軟件方面,只需判斷P2.7是否為“0”來(lái)確定緩存是否被寫(xiě)滿(mǎn)[7],即:
ST:JNB P2.7, ST
第三部分判斷緩存是否寫(xiě)滿(mǎn),如果寫(xiě)滿(mǎn)就中止A/D轉換,已被轉換的數據將全部被存儲到緩存中,指令如下:www.51kaifa.com
SETB P1.1
第四部分對DAC的片選以及將暫存器的數據傳給DAC。將首地址存入DPTR數據指針寄存器,從緩存中順序讀取數據并存入外部RAM,經(jīng)由單片機初步處理后傳送到DAC。指令如下:
MCADTS:MOV DPTR, # 7000H
CLR P2.6
MOVX A,@DPTR
MOV DPTR, #5000H
CLR P2.0
MOVX @DPTR,A
第五部分判斷緩存是否為空,如果不為空將繼續讀取數據,否則程序跳轉到初始位置,重復上述過(guò)程,實(shí)現對數據的不斷采集及還原。指令如下:
SA: JNB INT1, MCADTS
SJMP START
結語(yǔ):
本文作者創(chuàng )新點(diǎn)為:
本系統運用簡(jiǎn)單的MCS-51單片機來(lái)實(shí)現復雜的數據采集與還原電路。在操作過(guò)程中,將該應用系統按其功能分成各個(gè)模塊,對電路進(jìn)行焊接以及調試,并進(jìn)行仿真測試。該系統設計方案電路簡(jiǎn)單,可靠性好,實(shí)現了高速數據采集的目的。
參考文獻:
【1】 張振榮等,MCS-51單片機原理及實(shí)用技術(shù)[M],人民郵電出版社,1997.5
【2】 MAXIM.MAX114-MAX118[DB/OL]./upload/eWebUpload/200805/2008051509462072.pdf
【3】 李大慶, 段建民, 綦慧, 江存勝. 高速數據采集處理系統的設計和實(shí)現[J]. 微計算機信息 , 2006(20)
【4】 Integrated Device Technology. CMOS ASYNCHRONOUS FIFO WITH RETRANSMIT [DB/OL], www.idt.com, 1996(12)
【5】 陳國良,黃心漢. 一種數據采集與融合系統結構及其實(shí)例[J], 高技術(shù)通訊,2005(07)www.51kaifa.com
【6】 王力,趙慶玲. 基于A(yíng)T89S51和USB接口的實(shí)時(shí)數據采集系統設計[J]電子工程師 , 2006,(11) .
【7】 林焯華,蔣梁中,姚錫凡,王春寶.一個(gè)單片機串行數據采集及傳輸模塊的設計[J],微計算機信息,2006(29)
評論