羅駿
(中國電子科技集團公司第三十四研究所,廣西桂林,541004)
運算放大器參數(shù)測試及其故障檢測對于電子領(lǐng)域特別是功放領(lǐng)域,有著極其重要的作用,能夠高效的排查故障,保障運算放大器的使用便捷、有效。
針對上述問題設(shè)計實現(xiàn)了一個運算放大器特性測試儀,以STM32單片機為主控芯片,通過DDS產(chǎn)生被測電路的驅(qū)動信號,同時構(gòu)建輸入測量和輸出測量網(wǎng)絡(luò)實現(xiàn)被測電路的基本參數(shù)的測量以及故障的判別。在故障判別電路中,通過輸入端的小信號結(jié)合大信號驅(qū)動以及輸出端加入負載電阻來判斷電阻開路和短路故障;通過測量頻帶外某兩點的電壓增益實現(xiàn)電容開路以及容值改變的迅速判別,在進度和速度上都有較大提高。
常見的單運放還有場效應(yīng)管為輸入級都是通用型運算放大器,僅僅只有級數(shù)不同而已。
下面列出這些通用型放大器的基本參數(shù):
(1)共模輸入電阻:這一參數(shù)是運算放大器在線性區(qū)工作時,輸入端的共模電壓區(qū)間和這個區(qū)間內(nèi)偏置電流的變化量的比值。
(2)直流共模抑制:這一參數(shù)主要用于評判運算放大器對兩個輸入端口的相同直流的抑制能力。
(3)交流共模抑制:主要是用來計算運算放大器對兩個輸入端口的相同交流電壓的抑制力。
圖1 設(shè)計流程圖
1.2.1 DDS信號源
AD9833:頻率、相位可編程,低功耗(20Mw/3V)。輸出的頻率范圍一般是0.1~12.5MHz在這一個范圍內(nèi)可以使用軟件控制。還可以通過編程是輸出信號在正弦波,三角波以及方波中間切換,正常工作時電壓2.3V~5.5V之間,通信方式 SPI通信方式,SPI通信速率最高可達到40MHz。
1.2.2 數(shù)控放大器
AD8051通用運算放大器芯片,使用反向比例放大功能。
1.2.3 信號源控制原理
ARM控制板通過SPI通信對DDS進行頻率、幅度、波形的設(shè)置spi通信,片選低有效,16bit通信模式,下降沿采集數(shù)據(jù),ARM通信頻率,2.5MHz。分別對ad9833內(nèi)的寄存器進行讀寫,控制波形、頻率以及相位等。
圖2 stm32F767核心板
1.2.4 模擬開關(guān)控制
ARM控制板通過IO口高低切換控制模擬開關(guān)的斷開切換,從而達到輸入信號500mV和10mV的切換以及輸入電阻,輸出電阻的切換。
1.2.5 ADC
ARM控制板通過IO口高低切換控制模擬開關(guān)的斷開切換,從而達到輸入信號500mV和10mV的切換以及輸入電阻,輸出電阻的切換。
主控芯片STM32F767IGT 采用Cortex M7內(nèi)核,外圍flash 1024KB,SARM 512KB。
輸入電壓2.3-5.5V,以及外圍電源濾波電容,外加一個CAP參考電壓,通信口接入SPI通訊線與控制板普通IO口相連,在輸出端口加入一個SPI協(xié)議的數(shù)字電位模塊,可用來實現(xiàn)在線調(diào)控輸出波形的功率。
數(shù)控放大器模塊實際就是一個電位器,可以通過SPI進行時序通訊,并且通過控制命令,可以實現(xiàn)在線調(diào)節(jié)電壓的一個模塊。
檢波器,主要就是用來提取出波動信號里面的一個有用的特殊的信號一種電路。檢波就是從一個不斷變化的信號之中提取出一個有用信號的過程,有包絡(luò)檢波和同向檢波兩種方式進行檢波。
圖3 AD9833的外圍電路
AD8361是一個通過集成的模式來提供均方根(RMS)響應(yīng)功率的器件的檢波器,這個器件可以檢出2.5GHz的信號的均方根的值,主要用于于CDMA、QAM等其他復(fù)合調(diào)制的檢波。
(1)輸入輸出電阻測量原理
輸入阻抗的測量可以通過測量輸入端短接時被測網(wǎng)絡(luò)的輸出電壓有效值Uo,與輸入端串接一個電阻Rs時的輸出電壓有效值Uo’,通過公式Ri=Rs*Uo’/(Uo-Uo’)來計算出輸入電阻。同理,測量輸出電阻時可以通過輸出空接時的輸出電壓Uo和接入負載電阻時輸出電壓Uo’,再通過公式Ro=RL*(Uo-Uo’)/Uo’來計算輸出阻抗,求得的誤差經(jīng)過算法修正可使得測量值接近真實值。
圖4 AD8361真有效值檢測電路設(shè)計
(2)增益計算
單片機通過控制DDS輸出1Khz,10mv的交流電壓Ui到被測網(wǎng)絡(luò),后級檢測被測網(wǎng)絡(luò)輸出電壓Uo,利用放大倍數(shù)公式Au=Uo/Ui計算出放大倍數(shù),然后利用公式Gu=20lgAu計算出增益。
(3)增益與幅頻特性的計算
單片機通過控制DDS輸出不同頻率下的電壓Ui到被測網(wǎng)絡(luò),后級檢測被測網(wǎng)絡(luò)輸出電壓Uo,結(jié)合DDS輸出頻率從而畫出幅頻特性曲線。
(4)誤差分析計算
通過實測得到其真實輸入輸出電阻Rr,通過測量儀測得的輸入輸出阻抗為Rt,所以求得其相對誤差為(Rt-Rr)/Rr。
平臺keil 5,使用hal庫,使用C語言編寫代碼,采用C51譯碼器生成機器語言,裝入寄存器進行執(zhí)行命令。
圖5 流程圖
首先將引腳配置為普通IO口使用
圖6 AD9833的程序流程圖
使用普通io模擬SPI通訊協(xié)議,NSS低電平有效,時鐘空閑時位低電平,通過查AD9833資料獲取寄存器的地址,通過SPI時序的調(diào)試,嘗試通信,通過讀寫測試,與其進行數(shù)據(jù)的交互,進行代碼的的封裝,固定。通過循環(huán)就可以實現(xiàn)掃頻輸出信號,達到自動測試的理想結(jié)果,經(jīng)過掃頻測試,測試通用型運算放大器的基本特性,基本實現(xiàn)要求的功能。最后通過模擬時序?qū)D9833進行通信。
*函數(shù)名:AD9833_Write
*功能說明:向SPI總線發(fā)送16個bit數(shù)據(jù)
圖7 數(shù)控放大器流程圖
與AD9833,通過模擬SPI進行數(shù)據(jù)交互,由于其寄存器地址不同,所以掛載SPI總線。通過數(shù)據(jù)的傳輸使其有不同的阻值切換,改變其電阻值。達到與電位器相同的結(jié)果。
圖8 ADC電壓采集流程圖
ADC設(shè)置,通過hal庫函數(shù),配置ADC參數(shù),其中,包括采樣時間,采樣速率,和輪詢次數(shù),通過多次采集數(shù)據(jù),加入簡單的濾波,使數(shù)據(jù)相對穩(wěn)定。對ADC引腳進行以下配置。
ADC1_Handler.Instance=ADC1;
ADC1_Handler.Init.ClockPrescaler=ADC_CLOCK_SYNC_PCLK_DIV4; //4分頻,ADCCLK=PCLK2/4=108/4=27MHZ
ADC1_Handler.Init.Resolution=ADC_RESOLUTION_12B;//12位模式
ADC1_Handler.Init.DataAlign=ADC_DATAALIGN_RIGHT;//右對齊
ADC1_Handler.Init.ScanConvMode=DISABLE;//非掃描模式
ADC1_Handler.Init.EOCSelection=DISABLE;//關(guān)閉EOC中斷
ADC1_Handler.Init.ContinuousConvMode=DISABLE;//關(guān)閉連續(xù)轉(zhuǎn)換
ADC1_Handler.Init.NbrOfConversion=1;//1個轉(zhuǎn)換在規(guī)則序列中 也就是只轉(zhuǎn)換規(guī)則序列1
ADC1_Handler.Init.DiscontinuousConvMode=DISABLE;//禁止不連續(xù)采樣模式
ADC1_Handler.Init.NbrOfDiscConversion=0;//不連續(xù)采樣通道數(shù)為0
ADC1_Handler.Init.ExternalTrigConv=ADC_SOFTWARE_START; ADC1_Handler.Init ExternalTrigConv Edge=ADC_EXTERNALTRIGCONVEDGE_NONE;//使用軟件觸發(fā)
ADC1_Handler.Init.DMAContinuousRequests=DISABLE;//關(guān)閉DMA請求
HAL_ADC_Init(&ADC1_Handler); //初始化
DA輸出濾去整流輸出電壓中的紋波的電路有兩種方案可以選擇,一種是APF,一種是LC濾波器。
選用3.5寸串口屏,通過TTL與控制板的IO口相連,還可以通過USB轉(zhuǎn)TTL與串口屏相連接。
串口屏內(nèi)部有字庫提供,直接使用。字體的顯示常用的就兩種方法,一是在控件里面直接輸入要顯示的漢字內(nèi)容。二是通過控制板發(fā)送指令集,調(diào)用字庫里面的漢字進行顯示。在界面設(shè)計的時候用到了第一種方法,第二種是在進行自動測試的時候,進行漢字的顯示,測量出誤差通過串口返回給串口屏控件,進行數(shù)據(jù)于漢字的顯示。
在串口屏上加上背景圖片,加入到串口屏之中再進行選擇、調(diào)整模糊度設(shè)置。
在串口屏上加上曲線描點控件,設(shè)置描點的方式、方向、速度等等,其次選擇表格的類型、格數(shù),要設(shè)置背景、表格、畫線顏色,預(yù)先通過設(shè)計軟件設(shè)計好之后下載到屏幕,描點直接通過串口發(fā)送y軸的值,將這些值放在連續(xù)的循環(huán)函數(shù)里面就可以實現(xiàn)不斷地循環(huán)描點。
printf(“add 2,1,%dxffxffxff”,ch1);向串口屏發(fā)送指令,使其不斷的進行描點畫線。
采用實測與理論數(shù)據(jù)結(jié)合的方式進行測量與測試。以運算放大器的特性參數(shù)測量為準,用示波器測量電壓幅度值,在和ADC采集的數(shù)據(jù)進行對比,顯示基本平滑。使用頻譜儀測量dds的輸出功率,和adc采集的值進行對比,發(fā)送給串口屏,進行數(shù)據(jù)的接受和顯示,完成數(shù)據(jù)的描點的畫線。通過采集數(shù)據(jù)統(tǒng)計表明,本模塊輸入電阻,輸出電阻,增益等數(shù)據(jù)誤差不超過10%,得到了一下數(shù)據(jù)。
表1 實驗數(shù)據(jù)
設(shè)計基于stm32放大器測試儀,對單片機程序編寫,完成SPI、串口的通信,完成ADC的使用,電路方面主要是檢波電路,以及濾波器的設(shè)計。完成系統(tǒng)架構(gòu)要求后,對方案的理論進行模擬與仿真測試。
之后對整體的理論方案軟件部分的實現(xiàn)進行程序編寫,首先控制板自身的整體框架的實現(xiàn),后面再加上ADC的功能的實現(xiàn),和引腳功能的映射,然后實現(xiàn)與DDS信號源的通信,還有數(shù)控衰減器的SPI通信。最后通過串口與串口屏進行數(shù)據(jù)的交互,實現(xiàn)顯示功能、控制功能。再加上顯示動態(tài)Adc值,與故障的檢測功能的判定。然后通過串口的的數(shù)據(jù)發(fā)送,在串口屏上進行描點的操作。最終完成了整個軟件的編寫過程。