新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于MAX114的高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

基于MAX114的高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2012-01-07 來(lái)源:網(wǎng)絡(luò) 收藏

1 引言

技術(shù)是信息科學(xué)的一個(gè)很重要的分支,它研究信息數(shù)據(jù)的轉(zhuǎn)換,采集、、處理以及顯示等作業(yè),在信號(hào)處理、智能儀器以及工業(yè)自動(dòng)控制等領(lǐng)域起到巨大的作用。如工業(yè)生產(chǎn)過(guò)程中常常需要對(duì)濕度、溫度、壓力、流量等各種工藝參數(shù)隨時(shí)進(jìn)行檢測(cè)和監(jiān)控,同時(shí)還要將檢測(cè)到的數(shù)據(jù)及時(shí)傳遞給上位機(jī),以實(shí)現(xiàn)對(duì)于參數(shù)的隨機(jī)查詢(xún),對(duì)信息的與處理,及時(shí)調(diào)整控制方案,提高生產(chǎn)效率和產(chǎn)品質(zhì)量。

但是,在許多其他領(lǐng)域如:雷達(dá)通信,地理信息,圖像傳輸,軍工及醫(yī)療化工,為了捕捉,采集,,處理,傳輸和再現(xiàn)瞬間變化的模擬信號(hào)(類(lèi)似脈沖信號(hào)),則對(duì)速度及效率提出了更高的要求。本文應(yīng)用89C51作為主控制來(lái)實(shí)現(xiàn)模擬信號(hào)的高速采集、存儲(chǔ)及再現(xiàn)。應(yīng)用中,只對(duì)信號(hào)進(jìn)行中轉(zhuǎn)不對(duì)數(shù)據(jù)進(jìn)行處理,采集的數(shù)字信號(hào)傳給DA轉(zhuǎn)換器后,由DA轉(zhuǎn)換器將信號(hào)還原成模擬信號(hào)。

2硬件組成

設(shè)計(jì)的方案主要用于瞬間信號(hào)的采集,要求選用的A/D轉(zhuǎn)換芯片轉(zhuǎn)換速度比較快,經(jīng)過(guò)考慮選用。89C51的指令執(zhí)行時(shí)間(us級(jí))與AD轉(zhuǎn)換芯片的轉(zhuǎn)換時(shí)間往往不同步[1],因此在單片機(jī)與AD轉(zhuǎn)換器間加入高速緩存IDT72041,用高速緩存來(lái)連接單片機(jī)與AD轉(zhuǎn)換器。系統(tǒng)整體結(jié)構(gòu)框圖如圖1所示。

圖1 系統(tǒng)整體結(jié)構(gòu)框圖

實(shí)際應(yīng)用中,須將瞬間的連續(xù)的模擬信號(hào)轉(zhuǎn)換成便于存儲(chǔ)與分析的數(shù)字信號(hào)。在這個(gè)過(guò)程中應(yīng)盡量避免模擬信號(hào)的失真,這就與AD轉(zhuǎn)換芯片的轉(zhuǎn)換精度與轉(zhuǎn)換速度有極大的關(guān)聯(lián)。在模擬信號(hào)的頻率很高時(shí),AD芯片的轉(zhuǎn)換速度就顯得尤其重要。芯片對(duì)輸入的模擬電壓有一定的要求,必須對(duì)輸入的模擬電壓進(jìn)行放大以滿(mǎn)足AD轉(zhuǎn)換芯片的要求[2]。的前置放大電路如圖2:

圖2 放大與濾波電路

高通濾波只允許一定頻率的信號(hào)通過(guò),清除雜波的影響。MAX114的引腳REF+,REF-所接旁路電容消除干擾。MAX114為四通道的A/D芯片,而我們只需要一個(gè)通道轉(zhuǎn)換數(shù)據(jù),因此A1,A2必須接數(shù)字“0”。根據(jù)需要選擇模式“0”狀態(tài)來(lái)轉(zhuǎn)換數(shù)據(jù),引腳“5”MODE也必須接數(shù)字“0”。其真值表如表1所示: www.51kaifa.com

表1 MAX114真值表

AD轉(zhuǎn)換芯片MAX114將轉(zhuǎn)換出來(lái)的數(shù)字信號(hào)傳送給高速緩存IDT72041。MAX114的工作時(shí)鐘由內(nèi)部時(shí)鐘電路提供的時(shí)鐘脈沖,緩存寫(xiě)控制信號(hào)也是由該芯片的 “INT”來(lái)控制,在AD芯片轉(zhuǎn)換完畢后,“INT”產(chǎn)生一個(gè)低電平,這一低電平被傳送給緩存芯片,數(shù)據(jù)即被寫(xiě)入緩存中并按照先入先出的規(guī)則進(jìn)行保存。只有當(dāng)緩存引腳(FF)為高電平,(EF)為低電平時(shí),AD轉(zhuǎn)換出來(lái)的數(shù)據(jù)才能被寫(xiě)入[3]

IDT72XX系列是IDT公司推出的先進(jìn)先出(FIFO)存儲(chǔ)器芯片,它具有雙口輸入輸出,采集傳輸速度快和先進(jìn)先出的特點(diǎn),能滿(mǎn)足高速數(shù)據(jù)傳輸?shù)囊?SUP>[4]。

高速緩存IDT72041有這樣一個(gè)特點(diǎn):當(dāng)緩存芯片被寫(xiě)滿(mǎn)后,緩存芯片就不再接受外來(lái)的寫(xiě)信號(hào),同時(shí)緩存IDT72041的滿(mǎn)位FF變?yōu)榈?,同時(shí)會(huì)觸發(fā)單片機(jī)的外部中斷。單片機(jī)接收到中斷信號(hào)后運(yùn)行片選程序,第二塊緩存開(kāi)始讀入A/D轉(zhuǎn)換數(shù)據(jù)。以此類(lèi)推,當(dāng)所有的緩存芯片中的數(shù)據(jù)被全部寫(xiě)滿(mǎn)后,單片機(jī)經(jīng)運(yùn)用程序傳輸緩存中的數(shù)據(jù)再進(jìn)行處理。緩存中數(shù)據(jù)全部處理完后重新啟動(dòng)A/D轉(zhuǎn)換,開(kāi)始數(shù)據(jù)的采集。

為了保證的連續(xù)性和采集足夠的數(shù)據(jù),必須有較大的存儲(chǔ)空間來(lái)存放數(shù)據(jù),為此,本系統(tǒng)中將IDT72041芯片擴(kuò)展了8片[5]。擴(kuò)展中的第一個(gè)芯片用FL/RT端接地來(lái)表示,其它芯片的FL/RT端接高電平。且每個(gè)芯片的“XO”端必須接到下個(gè)芯片的“XI”端。并將每個(gè)芯片的 “EF”標(biāo)志相“或”以構(gòu)成新的空標(biāo)志,每個(gè)芯片的“FF”端也相“或”在一起構(gòu)成新的滿(mǎn)標(biāo)志。RT和HF在字深的擴(kuò)展中不起作用。這里采用的方式是將8 塊芯片的“ FF”端分別接在單片機(jī)的P2口,由單片機(jī)來(lái)控制寫(xiě)滿(mǎn)。

在設(shè)計(jì)中,當(dāng)IDT緩存芯片4K的存儲(chǔ)空間被寫(xiě)滿(mǎn),緩存的引腳“FF”為低,MAX114轉(zhuǎn)換的數(shù)據(jù)不能再寫(xiě)入。同時(shí)FF向89C51發(fā)出中斷請(qǐng)求,單片機(jī)接收到中斷信號(hào)后,用P0口來(lái)實(shí)現(xiàn)與緩存芯片的數(shù)據(jù)傳送,然后由單片機(jī)對(duì)存儲(chǔ)于IDT72041中的數(shù)據(jù)進(jìn)行初步處理。經(jīng)單片機(jī)P3.6口(WR)的片選,再將處理過(guò)的數(shù)據(jù)傳給DAC0832[6]。

在硬件電路中,單片機(jī)控制IDT72041和DAC0832,MAX114開(kāi)始采樣時(shí),要用到IDT72041中的D0~D7數(shù)據(jù)線、寫(xiě)控制端口 WR;當(dāng)數(shù)據(jù)采樣結(jié)束,即數(shù)據(jù)已經(jīng)存儲(chǔ)到IDT72041中,單片機(jī)就要從IDT72041中讀取數(shù)據(jù),要用到Q0~Q7線,讀控制端口。在實(shí)際的運(yùn)用中,通過(guò)QE腳和/DIR腳置不同的電平來(lái)解決信號(hào)串?dāng)_的問(wèn)題。通過(guò)置QE腳不同的電平可以實(shí)現(xiàn)三態(tài)的功能,同時(shí)由/DIR腳來(lái)確定信號(hào)傳輸?shù)姆较颉?/P>

3系統(tǒng)軟件

3.1程序功能www.51kaifa.com

此程序的功能是實(shí)現(xiàn)AD芯片MAX114、緩存IDT72041之間的通信以及采樣頻率的控制,各功能分別用進(jìn)程完成[6]。程序主體分為五個(gè)部分:?jiǎn)纹瑱C(jī)初始化及對(duì)外圍器件的設(shè)置、對(duì)緩存的全滿(mǎn)標(biāo)志位判斷以及該條指令的循環(huán)、對(duì)緩存的片選以及將緩存的數(shù)據(jù)傳給單片機(jī)寄存器A、對(duì)DAC的片選以及將暫存器的數(shù)據(jù)傳給DAC、判斷緩存是否為空以及跳轉(zhuǎn)。

3.2程序各部分的實(shí)現(xiàn)

第一部分是單片機(jī)的初始化及對(duì)外圍器件,主要是對(duì)IDT72041的設(shè)置,開(kāi)始是對(duì)89C51的P0、P1和P2口所有的端口置1,接下來(lái)是P1.1清“0”,實(shí)現(xiàn)IDT72041的復(fù)位,對(duì)P1.1清“0”,實(shí)現(xiàn)對(duì)MAX114進(jìn)行片選,指令如下:

START:SETB P0

SETB P1

SETB P2

CLR P1.0

CLR P1.1

第二部分主要是判斷緩存是否被寫(xiě)滿(mǎn)。輸入的模擬信號(hào)進(jìn)入該系統(tǒng),由放大電路先進(jìn)行放大、整流,進(jìn)入A/D(MAX114)進(jìn)行轉(zhuǎn)換,由于A/D芯片的INT腳在每轉(zhuǎn)換結(jié)束一次將產(chǎn)生一個(gè)低電平,此低電平驅(qū)動(dòng)緩存(IDT72041)進(jìn)行寫(xiě)入數(shù)據(jù),由于使用8片緩存,所以會(huì)出現(xiàn)數(shù)據(jù)先被寫(xiě)入哪個(gè)緩存的問(wèn)題,為了提高單片機(jī)處理效率,在硬件上將前一個(gè)芯片的XO端接下一個(gè)芯片的XI端,邏輯“1” 芯片的FL/RT接地,其它芯片的FL/RT接高電平,這樣就可以實(shí)現(xiàn)將8個(gè)緩存芯片組成一個(gè)存儲(chǔ)整體,這樣數(shù)據(jù)將從第一個(gè)芯片一直寫(xiě)到最后一個(gè)芯片,8 個(gè)緩存的寫(xiě)滿(mǎn)端“FF”被接在單片節(jié)的P2口,用來(lái)判斷每個(gè)緩存是否被寫(xiě)滿(mǎn)。在硬件連接上,將8個(gè)緩存已經(jīng)組成了一個(gè)整體存儲(chǔ)體,所以在軟件方面,只需判斷P2.7是否為“0”來(lái)確定緩存是否被寫(xiě)滿(mǎn)[7],即:

ST:JNB P2.7, ST

第三部分判斷緩存是否寫(xiě)滿(mǎn),如果寫(xiě)滿(mǎn)就中止A/D轉(zhuǎn)換,已被轉(zhuǎn)換的數(shù)據(jù)將全部被存儲(chǔ)到緩存中,指令如下:www.51kaifa.com

SETB P1.1

第四部分對(duì)DAC的片選以及將暫存器的數(shù)據(jù)傳給DAC。將首地址存入DPTR數(shù)據(jù)指針寄存器,從緩存中順序讀取數(shù)據(jù)并存入外部RAM,經(jīng)由單片機(jī)初步處理后傳送到DAC。指令如下:

MCADTS:MOV DPTR, # 7000H

CLR P2.6

MOVX A,@DPTR

MOV DPTR, #5000H

CLR P2.0

MOVX @DPTR,A

第五部分判斷緩存是否為空,如果不為空將繼續(xù)讀取數(shù)據(jù),否則程序跳轉(zhuǎn)到初始位置,重復(fù)上述過(guò)程,實(shí)現(xiàn)對(duì)數(shù)據(jù)的不斷采集及還原。指令如下:

SA: JNB INT1, MCADTS

SJMP START

結(jié)語(yǔ):

本文作者創(chuàng)新點(diǎn)為:

本系統(tǒng)運(yùn)用簡(jiǎn)單的MCS-51單片機(jī)來(lái)實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)采集與還原電路。在操作過(guò)程中,將該應(yīng)用系統(tǒng)按其功能分成各個(gè)模塊,對(duì)電路進(jìn)行焊接以及調(diào)試,并進(jìn)行仿真測(cè)試。該系統(tǒng)設(shè)計(jì)方案電路簡(jiǎn)單,可靠性好,實(shí)現(xiàn)了高速數(shù)據(jù)采集的目的。

參考文獻(xiàn):

【1】 張振榮等,MCS-51單片機(jī)原理及實(shí)用技術(shù)[M],人民郵電出版社,1997.5

【2】 MAXIM.MAX114-MAX118[DB/OL]./upload/eWebUpload/200805/2008051509462072.pdf

【3】 李大慶, 段建民, 綦慧, 江存勝. 高速數(shù)據(jù)采集處理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J]. 微計(jì)算機(jī)信息 , 2006(20)

【4】 Integrated Device Technology. CMOS ASYNCHRONOUS FIFO WITH RETRANSMIT [DB/OL], www.idt.com, 1996(12)

【5】 陳國(guó)良,黃心漢. 一種數(shù)據(jù)采集與融合系統(tǒng)結(jié)構(gòu)及其實(shí)例[J], 高技術(shù)通訊,2005(07)www.51kaifa.com

【6】 王力,趙慶玲. 基于AT89S51和USB接口的實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J]電子工程師 , 2006,(11) .

【7】 林焯華,蔣梁中,姚錫凡,王春寶.一個(gè)單片機(jī)串行數(shù)據(jù)采集及傳輸模塊的設(shè)計(jì)[J],微計(jì)算機(jī)信息,2006(29)



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉