基于AD7714的高精度隔離數(shù)據(jù)采集系統(tǒng)
在高精度及多路采樣設(shè)備中,A/D芯片選用的恰當與否對系統(tǒng)整體性能的表現(xiàn)好壞非常關(guān)鍵。目前,由于數(shù)字信號處理技術(shù)的快速發(fā)展,對信號采集前向通道的器件要求也不斷提高,特別是對器件的采樣分辨率、采樣速度以及采樣通道數(shù)等參數(shù)的要求越來越嚴格。
本系統(tǒng)測量采用極化繼電器的力臂控制盒儀器設(shè)計,需要測量的數(shù)據(jù)變化范圍大,精度要求高,測量的通道數(shù)多。同時,由于本系統(tǒng)測量電路相對復雜,各信號間容易產(chǎn)生干擾,而高速運轉(zhuǎn)的電機信號產(chǎn)生的干擾將會使系統(tǒng)癱瘓。針對上述情況,筆者采用多路輸入、高精度的A/D轉(zhuǎn)換器AD7714,與MCU之間的通信采用光電隔離技術(shù)。
1 AD7714的基本情況
AD7714是一個完整的用于低頻測量應(yīng)用場合的模擬前端。它的3線串行接口與SPI、QSPI、MICROWEIR兼容。通過軟件可對增益設(shè)定、信號極性和通道選擇作出配置。AD7714的主要特點如下:
◇最高可實現(xiàn)24位無誤碼輸出,同時保證0.0015%的非線性度;
◇具有前端增益可編程放大器,增益值為1~128,內(nèi)含可編程低通濾波器和可讀寫系統(tǒng)校準系數(shù);
◇有5通道輸入,可根據(jù)需要采用3路差分輸入或5路準差分輸入;
◇低噪聲(<150 nV rms);
◇低功耗,典型電流值為226μA(省電模式僅為4 μA);
◇采用單5 V供電(AD7714-5)或單3 V供電(AD7714-3)方式。
AD7714提供24腳DIP、SOIC、TSSOP及28腳SSOP封裝。其引腳功能如圖1所示(以24DIP封裝為例)。AD7714的功能方框圖如圖2所示。
2 系統(tǒng)中的實際應(yīng)用
2.1 AD7714外圍接口配置
POL時鐘極性。輸入低電平時,數(shù)據(jù)傳送操作中串行時鐘的第1個跳變是從低電平至高電平。輸入高電平時,數(shù)據(jù)傳送操作中串行時鐘的第1個跳變是從高電平至低電平。
RESET邏輯輸入端。低電平有效輸入,它把器件的控制邏輯、接口邏輯、數(shù)字濾波器以及模擬調(diào)制器復位到上電狀態(tài)。本系統(tǒng)是通過在DIN輸入端寫入一系列的1來進行軟件復位,使AD7714返回到等待對通信寄存器進行寫操作的狀態(tài)。
用軟件進行復位需要注意兩點:一是AD7714的DIN線寫邏輯1至少達32個串行時鐘周期;二是寫到任何寄存器的信息是未知的,因而要再次設(shè)置所有的寄存器。
CS芯片選擇。用于選擇AD7714的低電平有效邏輯輸入端。當此輸入端由硬件連線設(shè)置為低電平時,AD7714工作在其3線接口模式。
SYNCL邏輯輸入端。當使用多個AD7714時,它用于數(shù)字濾波器和模擬調(diào)制器的同步。
2.2 AD7714與MCU的接口
AD7714與MCU之間的接口關(guān)系如圖3所示,圖3中給出了輸入和輸出的電路轉(zhuǎn)換。為了能夠獲得穩(wěn)定的數(shù)據(jù),AD7714與MCU之間加入光隔離器。光隔離器件采用的是隔離電壓高、速度快、共模抑制性強的6N137。由于6N137的速度快,編程中不需要進行適當?shù)难訒r就能滿足光隔離器的電平建立時間。試驗表明通過光隔離器,獲得的穩(wěn)定數(shù)據(jù)能夠增加3~4位(二進制位)。
AD7714的CS接地,使AD7714始終工作在SPI接口模式。對每個接口模塊的控制是通過74LSl25的三態(tài)允許端來實現(xiàn)的。對其中一個SPI接口操作時,使其74LSl25處于選通狀態(tài),而其他SPI接口的74LSl25處于高阻狀態(tài)。這樣可實現(xiàn)微處理器單獨對一個接口進行操作,而不影響其他接口。CPU通過對三態(tài)緩沖器74LSl25控制,可實現(xiàn)多個接口共用相同的數(shù)據(jù)線。圖3中的DA-CS是控制具有SPI總線的D/A轉(zhuǎn)換器芯片。
6N137外部元件電阻根據(jù)自己的實際情況來選取,即不宜過大也不宜過小。為了增加穩(wěn)定性,最好在電阻的兩端并上電解電容。
2.3基準電壓源AD780
高精度參考電壓源AD780為AD7714提供基準電壓。其基本特性:通過8腳的懸空或接地,可實現(xiàn)2.5 V或3.0 V的輸出;輸出電壓范圍在2.5 V±1 mV或3.0 v±l mV;輸入電壓范圍可從4~36 V來實現(xiàn)2.5 V或3.0V的輸出。
在使用AD780作基準電壓源時,其周圍的電容一定要按照圖4上所給的進行配置,否則,輸出的精度會下降很多。特別要注意AD780輸出端和地的100μF電容,試驗表明這個電容可以使系統(tǒng)的精度提高2~3位(二進制位)。
2.4 AD7714的模擬前端
在模擬前端所要測量的電流和電壓很多,并且變化范圍很大。為了能夠提高測量精度,必須根據(jù)電壓和電流的大小來設(shè)計合理的電壓表和電流表。在圖5中,通過合理的選取R1和R2的阻值以及使其短路或開路,來實現(xiàn)電壓表和電流表。
設(shè)計電流表時,將R1短路,選取相應(yīng)的R2電阻,R2的電阻是通過AD7714最大輸入電壓以及所要測量的最大電流來計算的。設(shè)計電壓表時,如果測量的電壓在AD7714輸入電壓范圍內(nèi),將Rl短路,R2開路直接測量;如果測量的電壓超過AD7714輸入電壓的范圍,合理的選取R1和R2阻值分壓,來滿足測量的要求。
AD7714的輸人通道由AIN(+)和AIN(一)成對排列,AIN(+)輸入端上單極性和雙極性信號作為基準的電壓是各自AIN(一)輸入端上的電壓。例如,如果開關(guān)SW在圖5中的位置,即AIN(+)接入AD780輸出電壓+2.5 V,AD7714配置為單極性,若設(shè)定增益為2,那么AIN(+)輸入電壓范圍為+2.5~+3.75 V。如果在相同的配置下,改為雙極性,那么AIN(+)輸入電壓范圍為+1.25~+3.75 V(即2.5士1.25 V)。如果通過SW開關(guān)使其AIN(一)為AGND,那么器件不能配置為超過±30 mV的雙極性范圍。
如果外部電壓和電流有很大干擾,測量的精度就會受到很大影響。在AD7714的每個模擬輸入端都加上一個對地電容(如圖5中C1和C2),通過實驗表明對其精度有很大提高。電容的選取要根據(jù)自己的轉(zhuǎn)換速率以及外部的干擾來選取。
2.5 LDC5-24S5電源模塊
外部所能提供的電源是27 V,由于電源穩(wěn)定性差以及來自外部的干擾會影響系統(tǒng)的正常工作,同時筆者所需的電源工作電壓為單+5 V。因此,選用了LDC5-24S5直流一直流開關(guān)電源模塊,其輸入電壓范圍為18~36 V直流電壓,輸出為單+5 V。該電源模塊有很好的DC-DC隔離作用,輸出電壓很穩(wěn)定,用它可直接作為AD7714的電源,從而簡化了整個電路。
3 實際使用中的問題和解決方法
3.1 如何濾除模擬輸入端的干擾
AD7714的模擬輸入端可以接受單極性或雙極性的輸入電壓范圍。雙極性輸入范圍并不意味著器件在模擬輸入端可以處理負電壓。為了確保器件的正常工作,模擬輸入不能變到比一30 mV更低。本系統(tǒng)需要測試的電壓有一個是27 V,它由帶有高速電機的設(shè)備輸出。如不加處理直接進行測試,由電機產(chǎn)生的過低負脈沖或過高正脈沖都會影響AD7714的正常工作,嚴重時會永久性損壞AD7714芯片。筆者通過大量的分析和試驗,得出了如圖6所示的理想濾除脈沖的電路圖。其中LI和I.2是用雙孔磁芯纏繞而成,C3的大小根據(jù)自己測量的實際情況來定。
3.2如何制作印制板和元件裝接
為了使ADC獲得最佳的性能,必須使用模擬地和數(shù)字地分開的印制電路板。在印制電路板的設(shè)計中,特別要注意地線的布置。通常把模擬地和數(shù)字地獨立設(shè)置在各自電路中,然后把模擬地和數(shù)字地連到一點(星號標志)。
在系統(tǒng)中,2片AD7714設(shè)計成2個獨立電路板,那么可把該片的AGND和DGND引腳一起連到地平面。如果系統(tǒng)中有多片AD7714,那么可把多塊芯片的AGND和DGND引腳相連,而后連到一個公共點,而這個公共點應(yīng)盡量靠近AD7714的星形地。
數(shù)字地嚴禁設(shè)計在芯片下面,因為這樣會把噪聲耦合給芯片,從而影響ADC正常工作。但是應(yīng)當使模擬地在芯片下面運行,因為這樣能減少數(shù)字噪聲的耦合。AD7714的電源引腳輸入線應(yīng)盡可能寬,以提供一個低阻抗通道,從而降低電源線上脈沖的影響。
由于AD7714是高分辨率的ADC,因而電源的耦合電路尤為重要。因此在印制電路板設(shè)計時,應(yīng)對所有的模擬電源輸入都加一級去耦電路,即用10μF鉭電容和0.1μF陶瓷電容并聯(lián)到地。這些去耦電路的元件應(yīng)盡可能靠近芯片的電源引腳,這樣才能獲得更好的去耦效果和消除引線過長而帶來的干擾。
3.3如何從AD7714獲取更多的穩(wěn)定數(shù)據(jù)位
在滿足整個系統(tǒng)需要的前提下,應(yīng)盡量降低單片機的工作頻率,這樣可以獲取更多的穩(wěn)定數(shù)據(jù)位。在印制板采取良好的抗干擾措施前提下,如果干擾仍然比較嚴重,那么軟件上也應(yīng)采取相應(yīng)的措施,比如采用軟件冗余技術(shù)進行相同命令的多次寫入,以保證可靠操作。
4 編程要點及相關(guān)的子程序
4. 1 編程要點和注意事項
①AD7714具有8個片內(nèi)寄存器,通過對片內(nèi)寄存器的編程,可以實現(xiàn)通道選擇、增益選擇、濾波頻率選擇、轉(zhuǎn)換周期選擇、自動校準和A/D轉(zhuǎn)換等功能。對AD7714的任何一種操作,必須首先對通信寄存器寫入相應(yīng)代碼,然后才能對其他寄存器讀寫,RS2、RSl和RS0對8個片內(nèi)寄存器選擇的關(guān)系如表1所列。
②讀A/D數(shù)據(jù)時,A/D首先輸出數(shù)據(jù)最高位,最后是數(shù)據(jù)最低位;在對A/D內(nèi)部寄存器進行寫操作時,也應(yīng)首先寫人最高位,最后寫入最低位。
③校準寄存器和數(shù)據(jù)寄存器是16位或24位寄存器。對于8位微處理器來說,16位或24位寄存器數(shù)據(jù),需要分2個字節(jié)或3個字節(jié)進行讀寫操作。
④AD7714的串行接口具有僅用3條線工作的能力,它與SPI接口協(xié)議相兼容。A157714數(shù)字輸入的上升和下降時間(特別是SCLK輸入)應(yīng)當不長于1μs。
4.2有關(guān)AD7714子程序
①初始化子程序。
CLR AD_CS ;選通74LS125
MOV A,#24H; ;寫通信寄存器
LCALL W_7714
MOV A,#4FH ;寫濾波器高寄存器
LCALL W7714
MOV A,#34H; ;寫通信寄存器
LCALL W_7714
MOV A,#0AOH ;寫濾波器低寄存器
LCALL W_7714
MOV A,#14H ;寫通信寄存器
LCALL W_7714
MOV A,#20H ;寫模式寄存器
LCALL W_7714
RET
②讀數(shù)據(jù)子程序。
LCALL DELAY ;延時10 ms
JB DRDY,POLL ;判斷是否有新的數(shù)據(jù)
MOV A,#5CH ;寫通信寄存器
LCALL W 7714
LCALL R7714
MOV 62H,A ;讀數(shù)據(jù)寄存器的高8位寄存到62H
LCALL R_7714
MOV 61H,A ;讀數(shù)據(jù)寄存器的中間8位寄存到61H
LCALL R 7714
MOV 60H,A ;讀數(shù)據(jù)寄存器的低8位寄存到60H
RET
③寫字節(jié)子程序。
MOV R4.08H
WOUT74: CLR SCK
NOP
RLC A
MOV SI,C
NOF
SETB SCK
NOF
DJNZ R4.WOUT74
RET
④讀字節(jié)子程序。
MOV R4,#08H
RIN74: CLR SCK
NOP
MOV C,SO
NOP
RLC A
SETB SCK
NOP
DJNZ R4,RIN74
RET
結(jié)語
本系統(tǒng)所介紹的技術(shù)已在電氣檢測平臺和力臂控制盒原位檢查儀中得到了應(yīng)用,它不但提高了系統(tǒng)抗干擾性和數(shù)據(jù)的測量精度,而且由于結(jié)構(gòu)簡單也給維護帶來了方便。