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