一種基于I2C總線的新型可編程增益放大電路的設計
在各類遙感遙測系統中,模擬信號的動態范圍通常都很大,一般在幾mV至幾十V范圍內(動態范圍可達80_90db),有的甚至是幾pV_幾百V(動態范圍可達160db以上)。而且信號的干擾源多,有時甚至掩蓋掉有用信號,很難辨識是有用信號還是干擾信號。此外,不同的材料、形狀、尺寸,不同的類型,不同的測量速度,得到的信號頻譜不同,受干擾信號的特點也不同。對這樣的信號進行采集處理,為保證精度,檢測系統首先需要對大動態模擬信號的動態范圍進行壓縮,即對mV甚至pV級的信號進行放大,對幾十V甚至幾百V的信號進行衰減,將信號的變化幅度調整到A/電路所需要的范圍。針對這一問題,本文提出了一種基于I2C總線的新型可編程增益放大器的設計方法,可根據輸入的模擬信號大小,自動選擇量程進行放大/衰減。
可編程增益放大器的硬件電路
遙感遙測系統的數據采集部分通常包括一個可編程增益放大器,來確保不
同幅度的信號經A/D轉換后為滿分辨率的信號。大的信號需要少量甚至無需放大,小的信號則需要高放大倍數來減少轉換器噪音的影響。對于動態范圍很大的模擬輸入信號,就需要根據信號的大小提供相應的放大倍數,本文提出的可編程增益放大電路就是通過單片機改變輸出數字量來控制放大電路的增益,從而達到控制輸出信號幅度的目的。
其原理框圖如圖1所示。
![]() |
圖1 可編程增益放大器硬件原理圖 |
按照功能,硬件可分為五個部分:(1)增益可變放大器;(2)微控制器;(3)數字電位器;(4)多路開關選擇。
電路特點及功能
該電路以單片機89C2051為核心組成微處理系統,用軟件實現放大器增益的智能控制。該電路先對輸入信號的大小進行判斷,以一定算法得到相應放大倍數,然后轉化為增益碼再通過I2C總線傳遞給數字電位器,選擇相應的反饋電阻輸出,從而改變放大器的放大倍數。
微控制器及A/D轉換電路
在模擬輸入信號進入微控制器前,首先要將模擬信號轉換成數字信號,本文微控制器部分選用單片機AT89C2051,充分利用AT89C2051在對單輸入信號的A/D轉換方面的優勢。該芯片利用P1.0、P1.1兩個I/O口,再配以簡單的外圍電路,通過軟件編程即可實現單輸入的A/D轉換,不需要專門的外部A/D芯片,該方法降低了開發成本、減少了電路體積和器件。
數字電位器
AT89C2051對轉換后的數字信號進行處理,得到相應的放大倍數,轉化為增益碼輸出到數字電位器,由增益碼控制數字電位器的阻值輸出,從而改變增益可變放大器的放大倍數。
本文數字電位器采用Xicor公司的X9241芯片,該芯片是把四個非易失性數控電位器集成在一個單片的CMOS微電路。單個數控電位器包含63個電阻單元,可實現64級增益控制,四個電位器串聯則可以提供256級的增益控制。若256級增益設置仍然不能滿足大動態范圍信號的要求,那么可以采用多片X9241串聯的方法解決。
在每個電阻單元之間和二個端點都有可以被滑動單元訪問的抽頭點,滑動單元在陣列中的位置由用戶通過I2C串行總線傳遞增益碼來控制,X9241自帶I2C二線接口,接法簡單,使用方便,可靈活控制滑臂位置,改變阻值大小。
增益可變放大器及多路選擇開關
X9241芯片的四數控電位器集成特性提供了足夠大的阻值范圍,可滿足大動態范圍信號放大的增益要求。
因此根據模擬輸入信號的大小,通過單片機獲得相應的增益控制碼,同時控制多路選擇開關,選擇X9241相應的檔位輸出,即可獲得不同的阻值大小,控制增益可變放大器的放大倍數。
本文選用的增益可變放大器為ADI公司的AD623,具有低噪聲、高共模抑制比和低漂移等優點。AD623可產生的增益范圍,性能極限主要決定于外部電阻。其中由X9241提供,具體設計時采用X9241W芯片,其內部四個數控電位器的阻值均為,因此其增益范圍為,增益誤差小于0.05%,且呈現極好的交流特性,具有25MHz的增益帶寬積、的轉換速率和的響應時間。
可編程增益放大器的軟件設計
設計過程當中,數字電位器滑臂位置的控制起著非常重要的作用,對它的控制是通過總線實現的。總線是目前常用的一種雙向串行總線,其二線制的結構非常簡單,可靠性和抗干擾性較好,同時具有接法簡單、使用靈活等優點。
單片機AT89C2051沒有專用的總線接口,要用普通I/O口來模擬實現,所以對該可編程增益放大器的設計來說,其軟件模擬總線的實現在軟件設計中就顯得相當重要。
在單片機中使用I/O口模擬總線時,只需將單片機的兩個I/O口,在軟件中分別定義成SCL(串行時鐘信號)與SDA(串行數據信號),與X9241的兩個接口連接,再加上上拉電阻即可。其連接圖為:
![]() |
圖2 單片機與X9241之間的I2C連接 |
普通口模擬I2C總線的硬件連接非常簡單,主要是軟件模擬I2C總線的數據傳送。一次完整的數據傳送包括開始、數據發送、應答以及停止等典型信號。此外,在軟件模擬過程中,還需注意的一點,即對標準I2C總線的數據傳送,規定了嚴格的時序要求,以保證數據傳送的可靠性。I2C總線上時鐘信號的最小低電平周期為,最小高電平周期為,總線時鐘頻率為,根據這些要求,具體實現時,我們采用時鐘信號的最小、最高周期均定為。
圖3為軟件模擬I2C總線控制數字電位器的流程圖。對X9241的控制主要由三個字節實現,第一字節為器件地址,即X9241的地址;第二字節為命令內容和電位器的選擇,即選擇讀/寫四個電位器中的哪一個;第三字節為滑臂位置控制,即選擇具體的阻值大小。
![]() |
圖3 軟件模擬I2C總線控制數字電位器的流程圖 |
結語
按照上述方法設計的可編程增益放大電路,克服了傳統可編程放大器增益范圍小的缺點,X9241四數字電位器的串聯使用,擴大了增益范圍、提高了增益精度。此外,便于與單片機接口,可以在線修改,調整設計。I2C總線的運用降低了噪聲干擾,在干擾環境下也能夠高精度放大信號,簡化了設計。
上述設計經系統整體調試,放大器的非線性誤差,增益為100和500時的輸出噪聲分別為20mV和50mV,共模抑制比,基本滿足預定的性能要求。該電路已在一些微弱激光檢測系統中獲得了應用。
評論