彭佳麗,仲海東,王炯翊
(無錫中微愛芯電子有限公司,江蘇無錫214072)
隨著制造技術和集成電路的發展,目前的芯片中已有振蕩器集成。由于構成振蕩器的MOS器件和電阻都極易隨著電壓和溫度產生一定的變化,在不同的電壓和溫度下會導致芯片頻率偏差。在使用芯片進行方案開發時對其頻率精度有要求,因此在進行芯片可靠性評估時需要在不同的電壓和溫度條件下對頻率進行全面評測。
本文介紹了一種基于STM32F107的高低溫頻率自動測試系統,能夠通過上位機配置所需的電壓條件和溫度條件,配合高低溫箱和等精度頻率測試方法,在不同的溫度和電壓測試條件下實現芯片的頻率測試。該自動測試系統對比人工測試具有高精度、高效率、低誤差等優勢,并且大大增加了樣本容量,減少了測試成本。
選擇STM32F107作為主控電路,搭配供電模塊、溫度檢測模塊、主控與待測電路接口模塊、主控與上位機通信模塊、DPS模塊和待測MCU模塊共同構成硬件部分。軟件部分則選用面向對象的計算機編程語言C++語言開發。高低溫頻率自動測試系統通過上位機進行電壓和溫度參數配置,上位機與硬件系統利用串口進行數據傳輸,將設置好的參數值發送到硬件系統進行處理。在整個過程中,待測電路和溫度檢測模塊需放在高低溫測試箱中,通過溫度檢測模塊進行溫度測試,電源選擇模塊進行電壓控制,實現不同溫度和不同電壓下的頻率測試。本系統中主控模塊對頻率信號的處理采用等精度測量原理,通過合理使用定時器和外部中斷來實現。
高低溫頻率自動測試系統結構如圖1所示,可分為4個部分,分別為儀器設備、待測芯片、硬件系統和上位機軟件。其中硬件系統細分為主控模塊、供電模塊、溫度檢測模塊、主控與待測電路接口模塊、主控與上位機通信模塊、電源選擇模塊和待測MCU模塊。

圖1 高低溫頻率自動測試系統結構
主控模塊選用STM32F107,這是意法半導體推出的全新STM32互連型(Connectivity)系列微控制器中一款性能較強的產品[1],集成了多種高性能工業標準接口[2-3]。
供電系統采用三端穩壓器對精密電源輸入的電壓進行穩壓,為不同的模塊提供對應的電壓。放大器采用正負9 V供電,主控電路采用3.3 V供電。主控與上位的通訊硬件選用USB接口,通過CH340G電路實現硬件系統與上位機的通訊。
電源選擇模塊主要用來設置待測電路的電壓測試條件,根據上位機的設置值進行配置,原理圖如圖2所示。

圖2 電源選擇模塊原理
上位機通過串口向主控模塊發送溫度和電壓配置信息,主控電路接收上位機信號并轉換為數字信號發送給DA模塊,轉換為電壓信號。對電信號進行放大處理后將得到的穩定電壓提供給待測芯片進行供電。溫度檢測模塊用來實現溫度與電信號的轉換,本系統中選用常用的數字溫度傳感器DS18B20來進行溫度控制,該傳感器擁有體積小、抗干擾性強、精度高等優點。
常用的頻率測量方法有兩種:頻率測量法和周期測量法。頻率測量法是在單位時間內對被測信號的脈沖數進行計數,然后求出單位時間內的脈沖數,即為被測信號的頻率。周期測量法是先測量出被測信號的周期T,然后根據頻率f=1/T求出被測信號的頻率。根據測量原理很容易發現頻率測量法適合于高頻信號測量,周期測量法適合于低頻信號測量,但二者都不能兼顧高低頻率精度相同的測量要求。
等精度頻率測量又叫做多周期同步測量技術,主要由被測信號計數器、參考信號計數器、同步閘門控制器、采樣時間控制器以及運算單元組成,最大特點是在整個被測頻率范圍內都能達到相同的測量精度,并且與被測信號本身的頻率值無關。等精度頻率測量原理如圖3所示。

圖3 等精度頻率測量原理
兩個頻率的計數是在同一個同步閘門控制下進行的,被測信號頻率為:

其中nX和ns分別為被測信號計數值和參考信號計數值,fX和fs分別為被測信號頻率值和參考信號頻率值,TC為實際測量采樣時間。根據式(2)可以看出fs、nX和ns是引起fX變化的主要因素。TC是在被測信號fX同步下產生的,所以對被測信號的計數nX將不產生正負1計數誤差[4-5]。若忽略fs的影響,對式(2)進行微分處理可得:


可以看出被測頻率的測量精度主要取決于fs和TC,與fX無關[6]。只要fs足夠大,在整個被測頻率范圍內均能達到相對最高精度。
等精度頻率測試的測量控制相對比較復雜,在本系統中通過合理使用定時計數器并且準確讀出計數器的值來實現等精度的頻率測量,不需要額外增加控制器件。使用2個計數器分別對被測信號和標準信號進行計數,測量過程中的同步控制采用外部中斷實現,流程框圖如圖4所示。

圖4 頻率測量流程圖
程序初始化時將T0和T1設為計數方式,將用于測量的觸發端設為上升沿觸發。在頻率低于2000 Hz時通過加長TC時間來降低低頻信號誤差,提高測試精度。使用此頻率測試方案得到的測試結果如表1所示。
以上測量誤差主要是由閘門時間T的不確定引起的,該參數的準確度主要依賴于所提供的標準頻率的準確度。若標準頻率為fc,分頻系數為k,則有:

則:

式(5)和(6)中的負號表示由Δfc引起的閘門時間的誤差為ΔT。通過以上公式可以知道閘門時間的準確度等于標準頻率的準確度。表1中的測試結果最大偏差為5.8‰,主要與標準頻率的準確度有關,若采用準確度更高的石英振蕩器則測試結果偏差會減小。

表1 等精度頻率測試結果
本系統針對通用MCU電路進行不同電壓和不同溫度下的頻率測量,該測量分辨率可以基本滿足待測電路的頻率精度要求。
在控制系統中一般將受用戶控制的機器例如PC機等稱作上位機。上位機發送命令給下位機即硬件系統,下位機根據所收到的命令轉化成控制信號直接控制相對應的設備。上位機不能直接對所需要的信號進行監控和測量,所有的數據采集均由下位機完成。在本系統中采用Visual C++進行上位機開發,Visual C++是一個功能強大的面向對象的可視化集成編程系統,具有自動生成程序框架、類管理方便靈活等優點[7-10]。本系統采用Microsoft基本類(Microsoft Foundation Classes,MFC)來實現用戶交互界面,與下位機采用串口通訊實現數據傳輸。
上位機人機界面分為4個部分,分別是串口設置、參數設置、實測值顯示以及控制按鈕,上位機人機界面如圖5所示。

圖5 上位機人機界面
用戶可以在0~6 V的范圍內設置電壓值,在-60~+125℃的范圍內設置溫度值,設置完成后點擊應用按鈕,上位機會對設置值的范圍進行檢查,若設置值不合理會在顯示面板中給出提示。串口和參數設置完成后點擊開始按鈕,高低溫頻率自動測試系統開始對待測電路的頻率進行測試,每個溫度點測試20次取平均值作為該溫度下的頻率,得到的頻率值通過顯示面板顯示,點擊保存數據按鈕可生成對應的Excel文件。
高低溫頻率自動測試系統通過串口通訊將配置值發送給硬件系統,其中溫度范圍為-60~125℃。溫度的控制通過高低溫箱和溫度檢測模塊DS18B20實現,主控電路定時與DS18B20進行通訊,DS18B20采集高低溫箱的溫度并反饋給主控電路。待測電路的電壓通過上位機電壓編輯框設置,范圍為0~6 V。上位機將電壓信息傳輸給主控,主控將收到的信息處理生成數字信號并發送給DA模塊,轉換為電壓信號,對電信號進行放大處理后將得到的穩定電壓給待測芯片供電。測試完成后數據可保存為Excel文件,對測試數據進行處理得到頻率隨溫度和電壓的變化曲線。
使用本自動頻率測試系統對待測電路頻率進行測試,頻率隨溫度的變化和頻率隨電壓的變化分別如圖6和7所示。其中圖6為固定電壓下的頻率溫度曲線,橫坐標為溫度,變化范圍是-40~90℃,步進為10℃,縱坐標為實測頻率值,分別測試了5 V工作電壓下的頻率溫度曲線和3 V工作電壓下的頻率溫度曲線。圖7為固定溫度下的頻率電壓曲線,溫度為25℃,橫坐標為電壓,變化范圍是2~5.5 V,步進為0.5 V,縱坐標為實測頻率值。

圖6 頻率隨溫度變化曲線
本文介紹了一種高低溫頻率自動測試系統的設計與實現,以及系統實現的上下位機結構。通過等精度頻率測量的方法實現對不同溫度和不同電壓下的頻率的測量,得到待測電路頻率隨溫度和壓力變化的曲線。實驗結果表明該系統操作簡單方便、運行穩定可靠、測試精度高。