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