<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

          作者: 時間:2012-01-07 來源:網(wǎng)絡 收藏

          1 引言

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

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

          2硬件組成

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

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

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

          圖2 放大與濾波電路

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

          表1 MAX114真值表

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

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

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

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

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

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

          3系統(tǒng)軟件

          3.1程序功能www.51kaifa.com

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

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

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

          START:SETB P0

          SETB P1

          SETB P2

          CLR P1.0

          CLR P1.1

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

          ST:JNB P2.7, ST

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

          SETB P1.1

          第四部分對DAC的片選以及將暫存器的數(shù)據(jù)傳給DAC。將首地址存入DPTR數(shù)據(jù)指針寄存器,從緩存中順序讀取數(shù)據(jù)并存入外部RAM,經(jīng)由單片機初步處理后傳送到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)到初始位置,重復上述過程,實現(xiàn)對數(shù)據(jù)的不斷采集及還原。指令如下:

          SA: JNB INT1, MCADTS

          SJMP START

          結(jié)語:

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

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

          參考文獻:

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

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

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

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

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

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

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



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();