王炳文
(中國航空工業集團公司西安航空計算技術研究所,陜西 西安 710065)
基于SAR-ADC的精密同步數據采集系統設計
王炳文
(中國航空工業集團公司西安航空計算技術研究所,陜西 西安 710065)
針對某精密數據采集系統中模擬信號同步采樣問題,文章研究了多通道同步模擬信號采集方法,設計了一種基于SAR-ADC、使用FPGA控制的16位同步采樣AD轉換系統。該系統可實現模擬信號的實時同步采樣,同時兼顧多路模擬信號采樣頻率要求的差異性,最后通過試驗測試了該系統的信納比(SINAD)和有效位數(ENOB)。測試結果表明,該系統具有良好的動態性能指標。
SAR-ADC;同步采樣;FPGA
在慣性測量[1]、功率因數校正[2]、電機控制等工業應用場合,系統需要采集同一時刻來自多個傳感器的模擬信號,并根據當前的狀態進行計算和控制。有時候系統的動態范圍可能會很大,要求的采樣頻率很高,這種情況下如何兼顧系統的快速性和精密性,使之性能最優,是一個較為關鍵的設計難點。
在實現同步采樣的過程中,有多個因素需要考慮,這些因素大多都是與時間及空間相關的。時間是指系統所要求的采樣頻率,空間是指系統需采集的通道數量。
在進行設計時,首先應明確同步采樣的通道數,一般相位敏感信號往往需要同步采樣,如計算交流瞬時功率P時的電流I和電壓V。很多時候并不是所有信號都需要同步采樣;其次,需了解采集信號的帶寬,信號帶寬越大,對轉換器的轉換時間要求越高;最后,還應明確采樣信號的幅值和精度要求,這關系到模擬調理電路和AD轉換器電路的設計,幅值過大的信號可能需要電氣隔離,由隔離所帶來的精度損失應考慮在內。
在設計同步采樣電路時,往往會用到同步采樣ADC,一般的同步采樣ADC有兩種結構,一種是自帶多個采樣保持器,內置多路模擬開關和一個AD轉換內核,通過采樣保持器進行同步采集;另一種是內置多個AD轉換內核。實際設計時應根據系統需求、通道個數、采樣周期等因素綜合確定系統方案。
在某同步控制系統中,共有42路模擬量需采集,其中8路模擬量需同步采集。這8路模擬量要求具有100 kHz的采樣頻率,其余的模擬量主要都是緩變模擬量,如溫度、壓力、指令等,要求采樣頻率約為1 kHz。
采用2片AD7656共用的方式構成AD部分,無需同步采集的模擬量通過外置多路開關進行切換,整個電路通過FPGA控制時序,DSP軟件設置好采樣模式、采樣周期、切換周期后,由邏輯管理AD外設,處理器無需等待,只要定時去讀寄存器即可,系統架構如圖1所示,這里AIN32~AIN42為11路同步采集模擬接口,實際使用了其中的8路。

圖1 系統架構
AD7656是一款逐次逼近型(SAR)ADC,此類ADC雖然不會在高速和高精度方面做到非常優化,但其往往具有精度、速度、功耗和成本的綜合優勢[3]。如果要使其發揮較好的模數轉換效果,應特別注意電壓基準源和模擬調理電路的設計。
3.1 電壓基準源
SAR型ADC的內部原理簡圖如圖2所示,在采樣過程中輸入引腳AIN要對內部采樣電容充電,而在轉化過程中,Vref基準源引腳要對轉化電容網絡進行充電。

圖2 SAR型ADC內部原理
SAR-ADC的采樣保持和量化過程,也就是對內部電容的充電過程。但需要注意的是,在整個采樣量化周期中,SAR-ADC對模擬輸入電路只抽取一次電荷,而要從基準源REF中抽取N次電荷(N等于ADC的位數),而且抽取的周期更短(即一個轉化時鐘的周期)。基準源引腳應設計有儲能電容,在轉換的過程中,SAR-ADC不斷從基準源處抽取電荷,隨著電荷的減少,電容電壓也在降低,由電容公式C=Q/V可知,電荷電壓變化關系如圖3所示。

圖3 電荷電壓變化關系
在最壞的情況下,前端基準源沒有及時給這個電容充電,這就使得轉換開始到結束基準源的電壓已經發生了ΔVref的變化。要使這一變化對ADC無影響,就要求ΔVref<1/2 LSB。
要滿足這一邊界條件,需要評估轉換過程中SAR-ADC所需的最大電荷量,這取決于ADC基準源的最大輸入電流Iref和輸入時間t。一般最壞情況都是在最高轉換速率時出現的。依據最大輸入電流和輸入時間,可得到轉換過程所需的總電荷量,再根據電容定義公式C=ΔQ/ΔV可推導出電壓基準源處所需儲能電容的最小值為:
(1)
為留有一定裕量,進行保守設計,可將C取值為Cmin的2倍。
如果單獨的外置基準源不足以及時補充AD轉換過程中消耗的電荷,則要考慮外加運放構成buffer。這個buffer不止用來增大基準源的驅動電流,其更重要的功能是快速給驅動電容充電。因此要求這個運放既具有足夠高的帶寬和響應速率,也要具有足夠的驅動能力。
在該數據采集系統中,設置AD7656的量程為±10 V,因此1 LSB=FSR/216=306 μV,1/2的LSB則為153 μV。AD7656的最高采樣速率為250 kb/s,所以t=4 μs。由于AD7656的手冊中并未給出其使用外部基準源時的輸入電流指標,按照此類ADC一般的指標估算,當Iref=200 μA時,可得出C的理論最小值為:

(2)
最終該容值選定為10μF。由于板面體積空間的限制,在基準源方面使用AD7656內部集成的電壓基準源,同時在基準源去耦管腳處放置10μF電容。
3.2 模擬前端調理電路
模擬前端的調理電路基本原理如圖4所示,主要包含RC濾波和運放。運放相當于是一個在信號源和AIN輸入之間的buffer。RC濾波則提供信號濾波,同時消除采樣抖動。

圖4 模擬前端調理電路
應該注意的是,RC電路用于濾除信號上的高頻噪聲,因此其濾波帶寬越低越有利于抑制高頻噪聲,但同時該一階慣性環節也會延長系統的建立時間,帶寬越低延遲越大,其時間常數如式(3)所示。
T=R×C
(3)
為避免該環節過渡過程對后端AD轉換器的影響,應保證AD采樣時刻該環節輸出誤差在1LSB之內,這就與系統需達到的分辨位數有關。表1給出了系統需達到的位數與延遲T的關系。從表中可見要達到16位的精度,至少需要11倍T的時間才可以[4]。所以當采樣周期較短時RC帶寬不能太低,要保證AD采樣時有足夠的建立時間。

表1 位數與T關系

圖5 FPGA邏輯狀態轉換圖
ADC內部進行模擬信號采樣時,會瞬間抽取模擬通道的電荷,產生采樣抖動,RC電路中的C可用于抑制這種抖動,這要求C具有一定的儲能特性,容量應較大(nF級)。同時采用無源RC時應考慮R對信號的分壓作用,所以R應盡量小,但如果R過小,則可能引起前端運放的不穩定。可見RC電路的設計是一個均衡考慮各種指標的過程。最終按AD7656理論最高采樣周期4 μs來計算,R選為33 Ω,C選為10 nF。
為兼顧系統中的同步采集模擬量和其他模擬量對采樣頻率要求的差別,同時避免DSP直接操作AD轉換器和模擬多路開關的等待時間,在系統中通過FPGA對2片AD7656進行接口時序控制,同時FPGA內設計有控制寄存器和數據寄存器,DSP設置好采集模式后只需按時直接讀取數據寄存器即可。采集模式設計為單次采集和周期采集兩種。單次采集模式主要用于單路測試,周期采集模式用于應用軟件的實時控制。FPGA邏輯主要包含兩個狀態機:多路開關切換狀態機和同步采集狀態機。切換周期和同步采樣周期均通過軟件設置。FPGA邏輯的狀態轉換圖如圖5所示。
圖5左邊為多路開關狀態轉換圖,右邊為AD采樣狀態圖,由于各個信號源阻抗各不相同,且模擬多路選擇器具有一定的固有延遲,因此多路開關每切換一次的建立時間有所差別,經測量,信號中最長建立時間約為40 μs,但需同步采集的模擬量又要求至少每10 μs采集一次。因此,在邏輯設計時第1路AD采集結果應考慮多路開關的延遲狀態,在采集過程中,建立時間不足40 μs的第1路AD采集數據將被丟棄,此時該路對應的數據寄存器不更新數值,在FPGA中,通過信號量實現狀態的傳遞。在實際使用時將多路開關切換周期設置為100 μs,AD采樣周期設置為10 μs。
由于該AD轉換電路主要用于采集AC信號,因此用戶最為關心的是該電路的動態指標。一般用于定量表示AD轉換動態性能的常用指標有6個,分別是SINAD、SNR、ENOB、THD、THD+N、SFDR等[5]。其中SINAD(信納比)很好地反映了ADC的整體動態性能,因為它包括所有構成噪聲和失真的成分,同時ENOB(有效位數)也十分重要,它最直觀地反映了ADC的轉換質量。
根據N位ADC的理論SNR計算公式(SNR=6.02N+1.76 dB),將SINAD帶入換算可得到ENOB,如式(4)所示:
(4)
一般測試動態指標的方法是采用固定幅值的標準正弦波信號接入AD轉換電路,在不同激勵頻率下對采集到的電壓數據進行FFT分析。需要注意的是,這種分析方法存在的缺點是容易造成頻譜泄漏,因此需要選擇合適的窗函數使信號截斷銳角鈍化,可采用加hanning窗的方法[6]。
由于采樣頻率最高時SINAD指標最差,因此進行測試時采樣頻率按照系統使用的最大采樣頻率100 kHz進行測試。
在常溫實驗室環境下,使用HP公司出品的HP-33120a型信號發生器,發出5 Vpp標準正弦波激勵被測通道。為降低FFT點數帶來的噪底,利用板上256 KB容量NVRAM的存儲功能,將采樣點數取為218個。采用ADI公司的Visual Analog分析工具對數據進行分析。經過10次測量,其平均SINAD為76.4 dB,ENOB為12.4。由此可見,由于同步開關噪聲、電源去耦等原因導致ENOB指標較為一般。這一指標在工程上屬可接受范圍,如進一步改進可考慮使用高精度、高穩定度的外部基準源代替ADC內部基準源,同時在電源去耦[7]、PCB走線等方面繼續優化。
針對多路模擬量的同步采集問題,本文研究了SAR型ADC的設計要點之后設計了一種使用FPGA控制AD7656的16位同步AD轉換系統,該系統可實現模擬信號的實時同步采樣,FPGA的狀態機設計兼顧了同步采集量和非同步采集量的采集,可避免處理器過多的操作和等待外設。經測試該系統具有較好的動態指標,目前已在工程中應用,達到了多路同步精密實時采樣的效果。
[1] 馬幸,韓珺禮,劉長順,等.高精度慣導系統信號處理平臺的設計與實現[J].電子測量技術,2011,34(8):36-37.
[2] 陳新,WU C,HUTCHINGS W.功率因數校正的數字控制技術應用研究[J].南京航空航天大學學報,2007,39(2):164-169.
[3] 孫彤,李冬梅.逐次逼近A/D轉換器綜述[J].微電子學,2007,37(4):523-525.
[4] WALSH A.Front-end amplifier and RC filter design for a precision SAR analog-to-digital converter[J].Analog Dialog,2012,46(12):2-3.
[5] KESTER W.The data conversion handbook[M]. Amsterdam:Elsevier,2005.
[6] 李海濤,阮林波,田耕,等.FFT方法在ADC有效位數測試中的應用探討[J].電測與儀表,2013,50(10):15-17.
[7] 宋浩然,趙鐵龍.AD7656的原理及在繼電器保護產品中的應用[J].電子技術應用,2007,33(4):57-58.
The design of a precision synchronous data acquisition system based on SAR-ADC
Wang Bingwen
(Aeronautical Computing Technology Research Institute of Aviation Industry Corporation of China, Xi’an 710065, China)
For the problem of simultaneously sampling of multi-channel analog signals in a data acquiring system, the schemes of the system were discussed. Based on SAR-ADC, a kind of 16 bit AD convert system which controlled by FPGA was designed. The system could realize real-time synchronous sampling of analog signals. And the differences of sampling rate among multi-channel analog signals were well balanced in this system. The Signal to Noise and Distortion Ratio(SINAD) and Effective Number of Bits(ENOB) of the system were tested, and it was proved that the system can achieve good AC characters.
SAR-ADC; simultaneously sample; FPGA
TP353
A
10.19358/j.issn.1674- 7720.2017.07.009
王炳文.基于SAR-ADC的精密同步數據采集系統設計[J].微型機與應用,2017,36(7):29-31,34.
2016-12-01)