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

          新聞中心

          EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 串行及并行A/D轉(zhuǎn)換器在高速數(shù)據(jù)采集中的采樣差別性

          串行及并行A/D轉(zhuǎn)換器在高速數(shù)據(jù)采集中的采樣差別性

          作者: 時(shí)間:2008-02-28 來(lái)源:網(wǎng)絡(luò) 收藏
          摘要:接口模式是A/D轉(zhuǎn)換器諸多分類中的一種,但卻是應(yīng)用中器件選擇的一個(gè)重要指標(biāo)。在同樣的轉(zhuǎn)換分辨率及轉(zhuǎn)換速度的前提下,不同的接口方式不但影響了電路結(jié)構(gòu),更重要的是將在高速數(shù)據(jù)的過(guò)程中對(duì)周期產(chǎn)生較大影響。本文通過(guò)12位ADC ADS7822和ADC ADS774與AT89C51的接口電路,給出二者時(shí)間的差異性。
          關(guān)鍵詞:A/D轉(zhuǎn)換;;轉(zhuǎn)換時(shí)間;接口;接口


          1 引言
          A/D轉(zhuǎn)換器是一種數(shù)據(jù)中常用的模擬-數(shù)字信號(hào)轉(zhuǎn)換元件,按轉(zhuǎn)換原理可以分為逐次逼近型、雙積分型等;按接口方式可分為串行和并行接口類型;按分辨率又可分為8、12、14、16、18等多種類型。轉(zhuǎn)換時(shí)間是A/D轉(zhuǎn)換應(yīng)用中一項(xiàng)重要的性能指標(biāo),在高速數(shù)據(jù)采樣中更是十分的重要,但在同樣的轉(zhuǎn)換時(shí)間指標(biāo)前提下,使用串行或是并行A/D轉(zhuǎn)換器實(shí)現(xiàn)數(shù)據(jù)采樣,轉(zhuǎn)換時(shí)間上的差異往往被忽略。以下以美國(guó)TI公司的ADS7822和ADS774為例,通過(guò)二者與AT89C51單片機(jī)的接口電路,分析在一次轉(zhuǎn)換過(guò)程中轉(zhuǎn)換時(shí)間上的差異。

          2 ADS744的接口電路和轉(zhuǎn)換時(shí)間
          2.1 ADS774及與單片機(jī)的接口
          ADS774是12位逐次逼近型并行A/D轉(zhuǎn)換器,它具有轉(zhuǎn)換精度高、轉(zhuǎn)換速度快(最高8.5 μs)等特點(diǎn),但接口電路較為繁瑣。圖1為ADS774與AT89C51的典型接口電路。
          圖1中,ADS774采用0V~10 V單極性信號(hào)輸入模式,9引腳接地,轉(zhuǎn)換結(jié)果被設(shè)置為8位方式,12位轉(zhuǎn)換結(jié)果分兩次輸出并受4引腳(Ao)控制,Ao=“0”時(shí),20~27引腳輸出12位轉(zhuǎn)換結(jié)果的高8位,Ao=“l(fā)”時(shí),輸出12位轉(zhuǎn)換結(jié)果的低4位。啟動(dòng)轉(zhuǎn)換及讀取轉(zhuǎn)換結(jié)果由3、4、5、6腳控制,28引腳(STS)為轉(zhuǎn)換結(jié)束標(biāo)志,轉(zhuǎn)換進(jìn)行過(guò)程中,28引腳為高電平,轉(zhuǎn)換結(jié)束時(shí),28引腳變?yōu)榈碗娖?。圖2為ADS774啟動(dòng)轉(zhuǎn)換和讀取轉(zhuǎn)換結(jié)果的工作時(shí)序。結(jié)合圖l的接口電路和圖2的工作時(shí)序可知,轉(zhuǎn)換工作過(guò)程如下:

          (1)啟動(dòng)A/D轉(zhuǎn)換,即AT89C51對(duì)ADS774執(zhí)行一次寫操作,地址信號(hào)中應(yīng)使CS=“0”,Ao=“0”,R/C=“0”。
          (2)單片機(jī)通過(guò)P2.4引腳查詢STS信號(hào),當(dāng)STS為低電平時(shí),轉(zhuǎn)換即告結(jié)束。
          (3)讀取轉(zhuǎn)換結(jié)果,即單片機(jī)對(duì)ADS774執(zhí)行兩次讀操作:第一次讀取轉(zhuǎn)換結(jié)果的高8位,這時(shí)應(yīng)使A0=“0”,R/C=“l(fā)”,第二次讀取轉(zhuǎn)換結(jié)果的低4位,這時(shí)應(yīng)使Ao=“1”,R/C=“1”。
          2.2 轉(zhuǎn)換時(shí)間分析
          根據(jù)轉(zhuǎn)換時(shí)序和轉(zhuǎn)換過(guò)程分析,結(jié)合圖1的接口電路,轉(zhuǎn)換程序及轉(zhuǎn)換時(shí)間如下所示(單片機(jī)使用12 MHz外接晶振):


          由此可見,完成一次A/D轉(zhuǎn)換的時(shí)間為23μs~27μs,采用并行A/D轉(zhuǎn)換器可最大限度發(fā)揮高速A/D的速度性能,在高速數(shù)據(jù)采樣的過(guò)程中,為保證A/D轉(zhuǎn)換結(jié)果的準(zhǔn)確性,即使采用多次采樣轉(zhuǎn)換結(jié)果均值濾波的方法,仍可以保證轉(zhuǎn)換的高速度。

          3 ADS7822的接口電路和轉(zhuǎn)換時(shí)間
          ADS7822是12位串行A/D轉(zhuǎn)換器,它的采樣頻率最高為75 kHz,采用串行外圍接口(SPI)方式與微處理器接口。ADS7822與AT89C51的典型接口電路如圖3所示,圖中VREF(1引腳)為參考電壓輸入引腳,IN+、IN-為差動(dòng)信號(hào)輸入端,CS/SHDN(5引腳)為片選信號(hào)輸入,低電平有效,高電平時(shí)為關(guān)閉模式,DOUT(6引腳)為串行數(shù)據(jù)輸出端,DCLOCK(7引腳)為同步時(shí)鐘輸入端。

          由于AT89C51單片機(jī)沒有SPI接口,因此使用P12、P13虛擬SPI接口的串行數(shù)據(jù)輸出端(DOUT)和同步時(shí)鐘輸入端(DCLOCK)。圖4為ADS7822啟動(dòng)轉(zhuǎn)換和讀取轉(zhuǎn)換結(jié)果的工作時(shí)序圖。

          圖4中tCYC為采樣周期(75 kHz),tCONVE為轉(zhuǎn)換時(shí)間(12個(gè)CLK周期),如果一次轉(zhuǎn)換結(jié)束后,CS仍保持為低電平,ADS7822將繼續(xù)輸出12位轉(zhuǎn)換結(jié)果,但再次的輸出將是低位在前,因此在讀出轉(zhuǎn)換結(jié)果后,應(yīng)將CS變?yōu)楦唠娖剑笰DS7822處于掉電狀態(tài)。
          以下是采用軟件虛擬方式,對(duì)ADS7822啟動(dòng)轉(zhuǎn)換和讀取轉(zhuǎn)換結(jié)果的程序,CLK和DAT為使用AT89C51的P1.2和P1.3虛擬的串行時(shí)鐘線和數(shù)據(jù)線。


          從以上轉(zhuǎn)換程序中可以看出,一次轉(zhuǎn)換,從啟動(dòng)到讀取轉(zhuǎn)換結(jié)果,約需要100個(gè)機(jī)器周期以上,如果單片機(jī)使用12 MHz的外部晶振,則一次轉(zhuǎn)換的時(shí)間應(yīng)該在100μs以上。如果在轉(zhuǎn)換過(guò)程中需要多次采樣均值濾波,則不滿足高速采樣的需要。

          4 結(jié)束語(yǔ)
          串行A/D雖然在使用中有接口電路簡(jiǎn)單的優(yōu)點(diǎn),但在需要軟件虛擬串行通信協(xié)議的情況下,轉(zhuǎn)換時(shí)間與同樣分辨率的并行A/D相比要遜色的多。如果要實(shí)現(xiàn)與并行A/D同樣的轉(zhuǎn)換速度,則需要選擇本身具有同類串口的單片機(jī)。



          關(guān)鍵詞: 串行 并行 采集 采樣

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