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

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > MAX197在多通道數(shù)據(jù)采集中的應(yīng)用

          MAX197在多通道數(shù)據(jù)采集中的應(yīng)用

          作者:■ 西北工業(yè)大學(xué)自動(dòng)控制系 方俊利 朱紅育 時(shí)間:2005-04-27 來(lái)源:eaw 收藏

          摘    要:本文闡述了模數(shù)轉(zhuǎn)換芯片的特性和工作原理,并結(jié)合其在數(shù)據(jù)采集中的應(yīng)用介紹了MCS-51系列單片機(jī)與的硬件接口設(shè)計(jì)和軟件編程方法。
          關(guān)鍵詞:;

          引言
          在數(shù)據(jù)采集系統(tǒng)中,A/D轉(zhuǎn)換的速度和精度又決定了采集系統(tǒng)的速度和精度。MAX197是Maxim公司推出的具有12位測(cè)量精度的高速A/D轉(zhuǎn)換芯片,只需單一電源供電,且轉(zhuǎn)換時(shí)間很短(6ms),具有8路輸入通道,還提供了標(biāo)準(zhǔn)的并行接口——8位三態(tài)數(shù)據(jù)I/O口,可以和大部分單片機(jī)直接接口,使用十分方便。

          MAX197芯片簡(jiǎn)介
          MAX197轉(zhuǎn)換的基本原理
          MAX197無(wú)需外接元器件就可獨(dú)立完成A/D轉(zhuǎn)換功能。它可分為內(nèi)部采樣模式和外部采樣模式,采樣模式由控制寄存器的D5位決定。在內(nèi)部采樣控制模式(控制位置0)中,由寫(xiě)脈沖啟動(dòng)采樣間隔,經(jīng)過(guò)瞬間的采樣間隔(芯片時(shí)鐘為2MHz時(shí),為3ms),即開(kāi)始A/D轉(zhuǎn)換。在外部采樣模式(D5=1)中,由兩個(gè)寫(xiě)脈沖分別控制采樣和A/D轉(zhuǎn)換。在第一個(gè)寫(xiě)脈沖出現(xiàn)時(shí),寫(xiě)入ACQMOD為1,開(kāi)始采樣間隔。在第二個(gè)寫(xiě)脈沖出現(xiàn)時(shí),寫(xiě)入控制字ACQMOD為0,MAX197停止采樣,開(kāi)始A/D轉(zhuǎn)換。這兩個(gè)寫(xiě)脈沖之間的時(shí)間間隔為一次采樣時(shí)間。當(dāng)一次轉(zhuǎn)換結(jié)束后,MAX197相應(yīng)的INT引腳置低電平,通知處理器可以讀取轉(zhuǎn)換結(jié)果。
          內(nèi)部采樣模式的數(shù)據(jù)轉(zhuǎn)換時(shí)序
          對(duì)于模擬到數(shù)字量的轉(zhuǎn)換,時(shí)序要求非常嚴(yán)格,由于MAX197的數(shù)字信號(hào)輸出引腳是復(fù)用的,要正確讀出轉(zhuǎn)換結(jié)果,時(shí)序要求尤其重要。在一次采樣開(kāi)始前,可以通過(guò)單片機(jī)的8位數(shù)據(jù)線把這些控制字寫(xiě)入MAX197來(lái)初始化相應(yīng)的參數(shù)。然后按照一定的時(shí)序進(jìn)行采樣和轉(zhuǎn)換。圖1即為內(nèi)部采樣模式的數(shù)據(jù)轉(zhuǎn)換時(shí)序圖。
          圖中HBEN為12位數(shù)據(jù)高4位或低8位有效控制位,當(dāng)此位為高時(shí),高4位數(shù)據(jù)有效,為低時(shí)低8位數(shù)據(jù)有效??梢酝ㄟ^(guò)控制這個(gè)引腳來(lái)讀取12位的轉(zhuǎn)換結(jié)果。

          MAX197與單片機(jī)硬件接口設(shè)計(jì)
          MAX197是一種通用A/D芯片,可以和多種微機(jī)接口,在此選用單片機(jī)作為主處理器。通過(guò)的P0.0~P0.7與MAX197的D0~D7相連,既用于輸入MAX197的初始化控制字,也用于讀取轉(zhuǎn)換結(jié)果數(shù)據(jù)。 用AT89C52單片機(jī)的P2.7作片選信號(hào),則MAX197的高位地址為7FH。選擇MAX197為軟件設(shè)置低功耗工作方式,所以置SHDN腳為高電平。本文采用外部基準(zhǔn)電壓,所以REFDJ接高電平,而REF則接外部輸入?yún)⒖茧妷?。AT89C52單片機(jī)的P1.1腳用做判讀高、低位數(shù)據(jù)的選擇線,直接與HBEN腳相連。MAX197的INT腳可與AT89C52的INT0相連,以便實(shí)現(xiàn)中斷,讀取轉(zhuǎn)換結(jié)果。
          在電路中,AGND和DGND應(yīng)相互獨(dú)立,各種電源與模擬地之間都用0.1mF電容來(lái)消除電源的紋波。MAX197的硬件電路設(shè)計(jì)如圖2所示。

          軟件設(shè)計(jì)
          MAX197與其它A/D芯片不同之處在于它的很多硬件功能都是利用內(nèi)部控制字來(lái)實(shí)現(xiàn)的,如通道選擇、模擬信號(hào)量程、極性等。MAX197的輸出數(shù)據(jù)采用無(wú)符號(hào)二進(jìn)制模式(單極性輸入方式)或二進(jìn)制補(bǔ)碼形式(雙極性輸入方式)。當(dāng)CS和RD都有效時(shí),HBEN為低電平,低8位數(shù)據(jù)被讀出,HBEN為高電平,復(fù)用的高4位被讀出,另外4位保持低電平(在單極性方式下),或另外4位為符號(hào)位(在雙極性方式下)。
          由以上可知,正確進(jìn)行采集轉(zhuǎn)換并讀取數(shù)據(jù)的前提是必須正確設(shè)置控制字以及MAX197的各種控制信號(hào)。本設(shè)計(jì)中,進(jìn)行數(shù)據(jù)采集轉(zhuǎn)換前都對(duì)MAX197進(jìn)行初始化,以便確定其采集轉(zhuǎn)換的通道、量程和極性等。
          程序的編寫(xiě)可以采用查詢和中斷兩種方式,其中查詢方式是在查詢相應(yīng)的標(biāo)志成立時(shí),執(zhí)行讀?。欢袛鄤t通過(guò)把MAX197的INT引腳連接到單片機(jī)的外部中斷引腳來(lái)實(shí)現(xiàn)。本設(shè)計(jì)的軟件是利用MCS-51匯編指令進(jìn)行編寫(xiě)的,利用中斷進(jìn)行數(shù)據(jù)的轉(zhuǎn)換和讀取等操作。綜上,一個(gè)典型A/D轉(zhuǎn)換的控制與讀取程序流程如圖3所示。
           
          結(jié)語(yǔ)
          此設(shè)計(jì)表明,以MAX197為核心的數(shù)據(jù)采集A/D轉(zhuǎn)換電路具有外圍電路簡(jiǎn)單、與處理器并口兼容性好、時(shí)序控制簡(jiǎn)單易懂的特點(diǎn),其變換時(shí)間短(6ms),可靠性和性價(jià)比高,并且編程簡(jiǎn)單,比較適合實(shí)時(shí)性要求較高的大數(shù)據(jù)量數(shù)據(jù)采集與高速A/D轉(zhuǎn)換使用?!?/P>

          參考文獻(xiàn)
          1 肖忠祥. 數(shù)據(jù)采集原理. 西安: 西北工業(yè)大學(xué)出版社,2001
          2 Maxim 1997 New Releases DataBook V1 ,1997



          關(guān)鍵詞: AT89C52 MAX197 多通道

          評(píng)論


          相關(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); })();