24位A/D轉(zhuǎn)換器LTC2400及其應(yīng)用
關(guān)鍵詞:LTC2400 A/D轉(zhuǎn)換器 數(shù)據(jù)采集 單片機(jī)
1?。蹋裕茫玻矗埃暗囊_功能和內(nèi)部結(jié)構(gòu)
LTC2400采用與SPI接口兼容的3線數(shù)字接口,可應(yīng)用于高分辨率和低頻應(yīng)用場(chǎng)合,如稱重、溫度測(cè)量、氣體分析、應(yīng)變儀,數(shù)據(jù)采集,工業(yè)控制等方面。它采用8腳SO-8封裝,其引腳排列如圖1所示。其引腳功能如下:
1腳VCC:電源;
2腳VREF:參考電壓輸入端;
3腳VIN:模擬信號(hào)輸入腳;
4腳GND:接地腳;
5腳CS:片選端,低電平有效;
6腳SDO:數(shù)據(jù)輸出端,同時(shí)也是轉(zhuǎn)換數(shù)據(jù)有效的指示端;
7腳SCK:時(shí)鐘腳,雙向;
8腳FO:數(shù)字輸入腳,用于選擇需要抑制的頻率和AD轉(zhuǎn)換時(shí)間。
LTC2400的供電電壓VCC的范圍為2.7~5.5V;所需外接基準(zhǔn)電壓源的電壓范圍為0.1V~VCC;模擬信號(hào)輸入VIN的輸入電壓范圍為-0.125VREF~1.125VREF。
LTC2400內(nèi)部已集成了高精度的振蕩器,因此采用片內(nèi)振蕩器時(shí)?不需要外接任何元件。LTC2400的數(shù)字濾波器能夠抑制50Hz或60Hz及其諧波。當(dāng)芯片的F0腳接VCC時(shí),使用內(nèi)部振蕩器可對(duì)輸入信號(hào)中的50Hz干擾進(jìn)行大于110dB的抑制,其AD轉(zhuǎn)換時(shí)間為160ms;F0腳接GND時(shí),使用內(nèi)部振蕩器可對(duì)輸入信號(hào)中的60Hz干擾進(jìn)行大于110dB的抑制,AD轉(zhuǎn)換時(shí)間為133ms;當(dāng)F0腳接外部振蕩器fEOSC時(shí),其抑制的頻率為fEOSC/2560,AD轉(zhuǎn)換時(shí)間為2048/fEOSC。圖2所示為LTC2400的內(nèi)部結(jié)構(gòu)。
2 LTC2400的工作過程及串行輸出
2.1 LTC2400的工作過程
LTC2400是一種低功耗、采用Δ-Σ技術(shù)且具有3線串行接口的AD轉(zhuǎn)換器,而且在AD轉(zhuǎn)換完成后將直接進(jìn)入睡眠狀態(tài)。LTC2400的三線接口線分別是數(shù)據(jù)輸出(SDO)、時(shí)鐘(SCK)和片選(CS)。其工作流程如圖3所示。
LTC2400完成轉(zhuǎn)換就進(jìn)入睡眠狀態(tài)。睡眠狀態(tài)的供電電流僅為20μA。若CS一直為高電平,芯片將保持睡眠狀態(tài)。進(jìn)入睡眠狀態(tài)時(shí),數(shù)據(jù)最后的轉(zhuǎn)換結(jié)果將保存在芯片內(nèi)部的靜態(tài)移位寄存器中。
當(dāng)CS變?yōu)榈碗娖綍r(shí),LTC2400開始輸出轉(zhuǎn)換結(jié)果,此時(shí)數(shù)據(jù)轉(zhuǎn)換沒有等待時(shí)間,輸出數(shù)據(jù)即為剛進(jìn)行的轉(zhuǎn)換結(jié)果。該轉(zhuǎn)換結(jié)果是在串行時(shí)鐘SCK的控制下由SDO輸出的,并在SCK的下降沿更新,而在SCK的上升沿可靠讀取。當(dāng)32位數(shù)據(jù)從LTC2400讀出或當(dāng)CS被拉高時(shí),數(shù)據(jù)輸出結(jié)束。此后LTC2400將自動(dòng)開始新的數(shù)據(jù)轉(zhuǎn)換和重復(fù)周期。
2.2 LTC2400的串行輸出接口
通過對(duì)CS和SCK的控制,LTC2400可以提供幾種靈活的接口模式(內(nèi)部或外部的SCK模式)。不同轉(zhuǎn)換模式的選擇無需對(duì)LTC2400的寄存器進(jìn)行設(shè)置,并且不影響數(shù)據(jù)轉(zhuǎn)換周期。使用時(shí)鐘信號(hào)SCK(PIN7)控制轉(zhuǎn)換數(shù)據(jù)的輸出時(shí),轉(zhuǎn)換結(jié)果將在時(shí)鐘CLK的下降沿由SDO腳輸出。在內(nèi)部時(shí)鐘模式,SCK信號(hào)由LTC2400產(chǎn)生輸出?在外部SCK模式,SCK為LTC2400外部輸入的時(shí)鐘信號(hào)。下面詳細(xì)介紹外部串行時(shí)鐘的三線接口方法。
當(dāng)LTC2400上電時(shí),如果SCK為低電平,轉(zhuǎn)換進(jìn)入外部串行模式;在CS信號(hào)的下降沿,SCK信號(hào)必須為低電平。
當(dāng)CS為高電平時(shí),SDO為高阻態(tài),此時(shí),SDO連接的接口線可以作為其它應(yīng)用。如果LTC2400在轉(zhuǎn)換和睡眠時(shí)?CS為低電平,那么,SDO的輸出狀態(tài)將用于指示EOC。在AD轉(zhuǎn)換階段,SDO的輸出狀態(tài)EOC將變?yōu)楦唠娖剑坏┺D(zhuǎn)換完成,EOC又變?yōu)榈碗娖健T冢蹋裕茫玻矗埃疤幱谒郀顟B(tài)時(shí),如果CS為低電平,系統(tǒng)會(huì)在SCK的上升沿將其喚醒。圖4所示是LTC2400的外部串行時(shí)鐘接口時(shí)序圖。
CS信號(hào)除用來檢測(cè)LTC2400的狀態(tài)和輸出AD轉(zhuǎn)換數(shù)據(jù)外,還可用來控制全部串行數(shù)據(jù)輸出之前進(jìn)行的新一次AD轉(zhuǎn)換。在LTC2400處于數(shù)據(jù)輸出狀態(tài)時(shí),CS由低變高以停止串行輸出,同時(shí)開始新的AD轉(zhuǎn)換。
由于在CS為高電平時(shí),數(shù)據(jù)輸出端SDO為高阻態(tài),因此,在LTC2400的轉(zhuǎn)換過程中,可通過將CS變?yōu)榈碗娖絹頇z測(cè)轉(zhuǎn)換狀態(tài)。當(dāng)CS為低電平時(shí),SDO腳輸出的EOC信號(hào)為1,表示轉(zhuǎn)換正在進(jìn)行;EOC為0表示轉(zhuǎn)換完成,系統(tǒng)處于睡眠狀態(tài)。當(dāng)LTC2400處于睡眠狀態(tài)時(shí),其轉(zhuǎn)換結(jié)果將保存在內(nèi)部移位寄存器中。CS為低可在SCK的上升沿喚醒LTC2400,此時(shí)轉(zhuǎn)換數(shù)據(jù)將在SCK的下降沿串行輸出。EOC通常在SCK的第一個(gè)上升沿被鎖存,直到第32個(gè)上升沿鎖存結(jié)束,同時(shí),系統(tǒng)將在第32個(gè)下降沿開始的新一輪轉(zhuǎn)換。
圖4 外部串行時(shí)鐘接口時(shí)序圖
一般情況下,在數(shù)據(jù)輸出過程中,如果CS為低電平,那么,系統(tǒng)將在SCK的第一個(gè)上升沿和第32個(gè)下降沿中間將CS變高以停止數(shù)據(jù)輸出。
3 和AT89C2051單片機(jī)的接口應(yīng)用
利用LTC2400實(shí)現(xiàn)高精度信號(hào)采集功能的系統(tǒng)原理圖如圖5所示。在該數(shù)據(jù)采集系統(tǒng)中,LT2400芯片的外圍電路十分簡(jiǎn)單。AT89C2051單片機(jī)作為控制器,其中P1.4、P1.5和P1.6與LTC2400的SCK、SDO和CS相連,數(shù)據(jù)轉(zhuǎn)換結(jié)果也通過該串行口輸出;該系統(tǒng)采用電壓為5V的基準(zhǔn)源;信號(hào)由LTC2400的VIN輸入,輸入的電壓范圍為-0.625~5.625V;轉(zhuǎn)換速率為6.25PPS;數(shù)據(jù)通過AT89C2051的RXD和TXD并經(jīng)MAX202進(jìn)行電平轉(zhuǎn)換后由串行口輸出給上位機(jī)。
圖5 LTC2400數(shù)據(jù)采集原理圖
通過實(shí)際應(yīng)用證明,LTC2400芯片具有很高的性能,可以較好地實(shí)現(xiàn)預(yù)期的設(shè)計(jì)功能,目前?筆者已將其應(yīng)用在地震前兆形變觀測(cè)儀器中,且效果良好。