DPGA(數字編程增益放大器)用于模擬信號的放大或衰減,實現一個ADC動態范圍的最大化。大多數單片DPGA(如凌特技術公司的LTC6910和美國國家半導體公司的LPM8100)都在運放的反饋回路中使用一個乘法DAC,這樣用DAC的輸入碼設定放大器的閉環增益。除了使用單片DPGA,還可以用兩支運算放大器和三個模擬開關,建立一個有負時間常數的DPGA。 顯然大家都很熟悉e–t/RC會聚指數,RC電路中的一只電容會漸近地放電至零。對于輸入電壓,在t=T=loge(2)RC時 V=VIN/2,t=2T時V=VIN/4,t=3T時V=VIN/8,等等。當用一個合成負電阻的有源電路代替同一個RC結構中的R時,其性能雖不太熟悉但一樣簡單。如果用-R代替電阻R,就建立了一個正RC的時間常數。于是,就建立了一個發散指數VINe+t/RC。 理論上,波形將不能會聚到零,而是發散至無窮大,并且當t=T時,V=2VIN,t=2T時,V=4VIN,t=3T時,V=8VIN,等等。因此,在負放電開始后簡單地等候正確的時間量(t=log2(V/VIN)T),就可以放大輸入電壓。發散指數和負時間常數是圖2中電路的核心概念。 可以用來自微控制器或其它電路的PWM(脈寬調制)信號設定放大器的增益。當PWM信號達到邏輯零時,采樣與保持電容C1充電至 VIN。當PWM信號循環到邏輯1時,運放A1驅動正反饋回路R1C1,建立一個負時間常數。當PWM信號保持在邏輯1時,所獲得的C1充電發散指數式上升持續下去。這種情況產生的凈電壓增益為 VOUT(t)=VIN2(t/10 μs+0.5)。 因此,增益=2(t/10 μs+0.5),log(增益)=3+0.6dB/μs。在放大周期結束,PWM返回邏輯零時,放大器A2捕捉并保持住放大的輸入電壓。 增益與時序之間的對數關系提供了出色的增益分辨率,即使一個PWM信號只有8bit分辨率,其可編程增益范圍大于每步0.2dB/LSB。 指數信號時序、ADC采樣、抖動以及RC時間常數穩定的精度與可重復性等都限制了放大的增益編程的精度。在圖2中,1ns的時序誤差(或抖動)會產生 0.007%的增益編程誤差。所幸,幾乎所有微控制器和數據采集系統中都有可編程定時器/計數器硬件,通常很容易數字式地生成一個高度可重復的PWM控制信號。 |