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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ADS1212和51單片機(jī)實現(xiàn)高精度數(shù)據(jù)采集設(shè)計

          ADS1212和51單片機(jī)實現(xiàn)高精度數(shù)據(jù)采集設(shè)計

          作者: 時間:2011-12-12 來源:網(wǎng)絡(luò) 收藏

          O 引 言
          技術(shù)已廣泛應(yīng)用于信號處理、通信、過程控制、遙感遙測等領(lǐng)域,各種高科技技術(shù)的發(fā)展對系統(tǒng)的精度進(jìn)一步加強。本文所介紹的就是一種高精度的系統(tǒng),它在筆者的工作中已經(jīng)得到了充分的應(yīng)用和試驗。
          該系統(tǒng)采用的∑一△型A/D轉(zhuǎn)換器它具有分辨率高,線性度好,抗干擾能力強(對噪聲的抑制能力不亞于雙積分ADC),成本低等不可多得的優(yōu)點,恰好能滿足這種要求。
          單片機(jī)采用SST公司8位微處理器FLAsH-Flex51系列成員SST89E564RD,它采用先進(jìn)的Super-FLASH CMOS半導(dǎo)體技術(shù)設(shè)計和制造,是采用8051的指令集,并與標(biāo)準(zhǔn)的8051控制器管腳兼容,而且具有SPI端口,接口簡單,易于編程控制。

          1 系統(tǒng)硬件設(shè)計
          1.1 的結(jié)構(gòu)及特點
          芯片內(nèi)部由可編程增益放大器(PGA)、二階∑-△調(diào)制器、調(diào)制控制單元、可編程數(shù)字濾波器、微控制器單元、寄存器組(指令寄存器、命令寄存器、數(shù)據(jù)寄存器、校準(zhǔn)數(shù)據(jù)寄存器)和1個串行接口,1個時鐘電路,1個內(nèi)部2.5 V電壓基準(zhǔn)等組成。
          ADS1212是高精度、寬動態(tài)特性的∑-△型模擬/數(shù)字轉(zhuǎn)換器。它的差動輸入端可以直接與傳感器或微小的電壓信號相連。其內(nèi)部的∑-△結(jié)構(gòu)可確保它的寬動態(tài)特性和24位的分辨率。
          由于采用了低噪聲的輸入放大器,可以在轉(zhuǎn)換速度為10 Hz時獲得23位的有效分辨率;借助于其內(nèi)部獨特的調(diào)制器加速操作模式,在轉(zhuǎn)換速度為1 kHz時仍可達(dá)到20位的有效分辨率。該轉(zhuǎn)換器動態(tài)特性的大大提高主要依賴于其前級的低噪聲程控放大器,其放大倍數(shù)可從1~16進(jìn)行設(shè)定,以2倍步長增加。該A/D轉(zhuǎn)換器都有一個靈活的同步串行接口,它與SPI兼容,并且可以提供雙線控制模式。該A/D轉(zhuǎn)換器為單一+5 V供電,有內(nèi)/外參考電壓和內(nèi)部自校準(zhǔn)系統(tǒng)。
          ADS1212主要用于工業(yè)過程控制、儀器儀表、色譜分析、靈巧傳感器、便攜式儀表、稱重儀器、壓力傳感器、高分辨率測量的場合。
          1.2 SST單片機(jī)的結(jié)構(gòu)及特點
          系統(tǒng)采用SST89E564RD作為處理機(jī),它是SST公司8位微處理器FLASHFlex51系列的成員,是采用先進(jìn)的SuperFLASH CMOS半導(dǎo)體技術(shù)設(shè)計和制造,是采用8051的指令集,并與標(biāo)準(zhǔn)的8051控制器管腳兼容。
          器件帶有72 KB的片內(nèi)FLASH E2PROM存儲器,使用了SST公司專利的CMOS Super_FLASH E2PROM技術(shù),存儲器被分成兩塊獨立的程序存儲器,第一塊(BLCK0)占用64 KB的內(nèi)部程序存儲器空間,第二塊(BLOCK0)占用8 KB的內(nèi)部程序存儲器空間。8 KB的第二塊FLASH可以映射到64 KB空間的低地址,還可以被隱藏和當(dāng)成類似E2PROM的獨立的數(shù)據(jù)存儲器。
          1.3 SPI接口的特點
          SST單片機(jī)的串行外設(shè)接口(Serial PeripheraI In-terface,SPI)總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使MCU與各種外圍設(shè)備,以串行方式進(jìn)行通信以交換信息。外圍設(shè)置 FLASHRAM、網(wǎng)絡(luò)控制器、LCD顯示驅(qū)動器、A/D轉(zhuǎn)換器和MCU等。該接口一般使用4條線:串行時鐘線(SCK)、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線 MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOST和低電平有效的從機(jī)選擇線SS。SPI接口是在CPU和外圍低速器件之間進(jìn)行同步串行數(shù)據(jù)傳輸,在主器件的移位脈沖下,數(shù)據(jù)按位傳輸,高位在前,低位在后,為全雙工通信,總體來說數(shù)據(jù)傳輸速度比I2C總線要快。
          SPI接口是以主從方式工作的,這種模式通常有一個主器件和一個或多個從器件,其接口包括以下四種信號:
          (1)MOSI為主器件數(shù)據(jù)輸出,從器件數(shù)據(jù)輸入;
          (2)MISO為主器件數(shù)據(jù)輸入,從器件數(shù)據(jù)輸出;
          (3)SCLK為時鐘信號,由主器件產(chǎn)生;
          (4)SS為從器件使能信號,由主器件控制。
          1.4 ADS1212與SST89E564RD的接口電路
          ADS1212與SST89E564RD的接口采用四線制通信方式,如圖1所示。ADS1212的DRDY與 SST89E564RD的INT1相連,即采用外部中斷方式讀取采樣數(shù)據(jù)結(jié)果。采樣數(shù)據(jù)由SDOUT輸出,命令數(shù)據(jù)由SDIO輸入,SCLK作為同步時鐘,同時SST89E564RD還留有2根口線與MAX232相連,在需要的時候可完成與計算機(jī)通信。根據(jù)采集需要,本系統(tǒng)將ADS1212設(shè)置為從動方式(即Slave方式),同步信號輸入端DSYNC接高電平。

          2 系統(tǒng)軟件設(shè)計
          該系統(tǒng)軟件采用單片機(jī)高級語言C51編寫,C51是一種專為MCS-51系列單片機(jī)設(shè)計的高效率C語言編譯器。它具有編程方便易用的特點,能夠很方便地操作硬件接口地址,C51編譯器具有極高的編譯效率,編譯代碼可與匯編語言相媲美,而編程效率比匯編語言高很多,采用高級語言C51編程可以提高源程序的可讀性,便于以后的改進(jìn)和升級。
          軟件部分包括主程序、數(shù)據(jù)采集子程序、串行口通信子程序。主程序的主要功能為系統(tǒng)初始化以及查詢各軟件標(biāo)志,決定系統(tǒng)不同工作模式,執(zhí)行各功能模塊。
          2.1 單片機(jī)SPI接口程序
          單片機(jī)SPI接口程序主要包括SPI接口初始化,以及SPI數(shù)據(jù)輸入/輸出程序,SPI接口初始化主要是針對SPI控制寄存器(SPCR)進(jìn)行相應(yīng)設(shè)置的,SPI控制寄存器(SPCR)格式如下:

          SPIE是SPI中斷使能位,當(dāng)SPIE和ES同時置為“1”,則SPI中斷使能;
          SPE是SPI使能位,“0”為不使能,“1”為使能;
          DORD是數(shù)據(jù)傳輸?shù)捻樞蛭?,?”為從高位到低位,“1”為從低位到高位;
          MSTR是主/從選擇位,“0”為從方式,“1”為主方式;
          CPOL是時鐘極性位,“0”為時鐘高電平有效,“1”為時鐘低電平有效;
          CPHA是時鐘相位控制位,“0”為時鐘上升沿左觸發(fā),“1”為時鐘下降沿左觸發(fā);


          上一頁 1 2 下一頁

          評論


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