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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于LTC1286的通用數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

          基于LTC1286的通用數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2012-02-27 來源:網(wǎng)絡(luò) 收藏

          系統(tǒng)廣泛應(yīng)用于測量儀器儀表及工業(yè)控制設(shè)備等測控裝置與測控系統(tǒng)中,其核心器件是A/D轉(zhuǎn)換器。

            基于的通用系統(tǒng)通過選用不同的傳感器件和信號調(diào)理電路,可實(shí)現(xiàn)對電壓、電流、溫度、壓力、濕度等多種信息的采集與處理。該系統(tǒng)具有誤差小、精度高、電路構(gòu)成簡單、通用性強(qiáng)的特點(diǎn)。

            的特性、引腳功能及時(shí)序

            ● 主要特點(diǎn)

            是低功耗、中速、12位逐次比較型串行輸出通用A/D轉(zhuǎn)換器,它采用5~9V單電源供電,其主要特性包括:具有12位分辨率;最大非線性誤差為±3/4LSB;轉(zhuǎn)換時(shí)間為60μs;雙極性或單極性模擬輸入;12位三態(tài)串行輸出。

            ● 引腳排列及功能

            LTC1286的引腳排列如圖1所示。

            

          基于LTC1286的通用數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

            圖1:LTC1286的引腳排列及功能

            各引出腳功能如下。

            腳1為基準(zhǔn)電壓輸入端;腳2為正極性模擬信號輸入端;腳3為負(fù)極性模擬信號輸入端;腳4為公共端;腳5為片選端,CS由高電平跳變到低電平將復(fù)位內(nèi)部計(jì)數(shù)器,并控制和使能DATA OUT端和CLOCK端,CS由低電平跳變到高電平將在一個(gè)設(shè)置時(shí)間內(nèi)禁止CLOCK;腳6為A/D轉(zhuǎn)換結(jié)果三態(tài)輸出端(數(shù)字信號輸出端),在CS為高電平時(shí),該腳處于高阻狀態(tài),當(dāng)CS為低電平時(shí),該腳由前一次轉(zhuǎn)換結(jié)果的MSB值置成相應(yīng)的邏輯電平;腳7為時(shí)鐘信號輸入端;腳8為電源正極性端。

            ● 接口時(shí)序

            

          基于LTC1286的通用數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

            圖2:LTC1286時(shí)序圖

            LTC1286的接口時(shí)序如圖2所示。由時(shí)序圖可知,LTC1286每次轉(zhuǎn)換和傳送數(shù)據(jù)使用15個(gè)時(shí)鐘周期,在每次傳送周期之間插入CS的時(shí)序,從CS信號由高電平變?yōu)榈碗娖綍r(shí),轉(zhuǎn)換和傳送過程開始,到CS為高電平時(shí),轉(zhuǎn)換和傳送周期結(jié)束,CLOCK被禁止,DATA OUT變?yōu)楦咦钁B(tài)。

            該系統(tǒng)采用LTC1286作為A/D轉(zhuǎn)換器件,采用PC機(jī)作為處理機(jī)對采集的數(shù)據(jù)進(jìn)行處理,并把處理結(jié)果輸出到屏幕進(jìn)行實(shí)時(shí)顯示,或作為記錄保存到硬盤中。系統(tǒng)硬件電路如圖3所示,

            

          基于LTC1286的通用數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

            圖3:系統(tǒng)硬件電路

            ● 電源與基準(zhǔn)電壓源

            系統(tǒng)電源取自PC機(jī)串行接口的TXD腳,經(jīng)D7、C4、78L05、C1、C2處理向電路提供+5V平滑穩(wěn)定的直流電壓。

            D3、C3、R3構(gòu)成LTC1286外部基準(zhǔn)電壓源,D3選用REF25Z作為2.5V基準(zhǔn)電壓輸出。

            ● 信號輸入電路

            系統(tǒng)輸入端分壓電阻R1和R2構(gòu)成模擬信號輸入電路,輸入信號電壓變化范圍為0~+5V,R1和R2的取值須考慮LTC1286的輸入特性及外接傳感器或調(diào)理電路的輸出特性,其取值范圍為33~100kΩ,且R1=R2。二極管D1和D2構(gòu)成輸入端雙向限幅電路。

            ● LTC1286與PC的接口電路

            LTC1286與PC采用四線制通信方式,如圖3所示。PCRS-232口的電平為12V,為了解決與LTC1286的直接連接問題,在LTC1286的數(shù)字信號輸入/輸出端加了三只4.7V穩(wěn)壓管D4、D5、D6和兩只限流電阻R4、R5。系統(tǒng)中數(shù)據(jù)的采集與控制由PC編程完成。數(shù)據(jù)的采集與更新通過LTC1286第5腳的控制信號CS實(shí)現(xiàn)。在CS信號低電平期間,LTC1286完成數(shù)據(jù)的更新采集,同時(shí)把前一次采集的數(shù)據(jù)通過6腳(DATA OUT)串行移出,在CS信號高電平期間,時(shí)鐘信號CLOCK被禁止,輸出端為高阻態(tài)。

            ● 接口程序設(shè)計(jì)

            系統(tǒng)軟件主要包括初始化模塊、A/D轉(zhuǎn)換控制模塊、數(shù)據(jù)處理模塊、屏幕輸出顯示模塊和磁盤文件輸出模塊。限于篇幅,這里只給出對應(yīng)于PC串行口COM1(3F8h)的接口程序。

            10 REM --- 12BTIS ---

            20 KEY OFF:CLS

            30 B=H3F8:REM COM1:

            40 N=12:REM 12BITS

            50 OUT B+4,1

            60 FOR T=0 TO 100 NEXT T

            70 OUT B+3,64

            80 FOR T=0 TO 500 : NEXT T

            90 OUT B+4,0:D=0:REM ACQUISITION

            100 OUT B+4,2:OUT B+4,0

            102 OUT B+4,2:OUT B+4,0

            103 OUT B+4,2:OUT B+4,0

            110 FOR F=0 TO N-1

            120 OUT B+4,2

            130 E=INP(B+6) AND 16

            140 OUT B+4,0

            150 IF E=16 THEN D=D+2^(N-1-F)

            160 NEXT F

            170 D=5*D/(2^N-1)

            180 OUT B+4,1

            190 RETURN

            選用不同的傳感器件和信號調(diào)理電路,該系統(tǒng)可實(shí)現(xiàn)對多種電量與非電量的采集與處理,運(yùn)行穩(wěn)定可靠,采樣精度高,能滿足多數(shù)測控系統(tǒ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); })();