楊宏斌,蔡剛,權亞娟,何海瑩
(西安西谷微電子有限責任公司,陜西西安,710077)
晶體振蕩器是指從一塊石英晶體上按一定方位角切下薄片,簡稱為石英晶體或晶體、晶振,而在封裝內部添加IC 組成振蕩電路的晶體元件稱為晶體振蕩器,其產品一般用金屬外殼封裝,也有用玻璃殼、陶瓷或塑料封裝。通用晶體振蕩器,用于各種電路中,產生振蕩頻率。
隨著信息技術的發展,石英晶體振蕩器作為電子設備的“心臟”,憑借著在頻率精度、穩定度、開機特性等方面的優勢在通信領域已經得到了廣泛的應用。晶體振蕩器的輸入穩定電流、頻率準確度、頻率穩定度等指標,需要達到晶體振蕩器的穩定時間以后,才能進行測試,通常時間較長,尤其當需要批量測試時,每只晶振順序進行需要耗費大量的時間。同時,為了完成晶體振蕩器的性能測試,大都采用人工手動的方法,將晶體振蕩器的輸入和輸出端連接到相應的儀器設備上,并人工記錄數據,測試效率低,且過程出錯率較高,不能自動進行批量測試,測試效率受限。本文將介紹一種晶體振蕩器自動化測試系統,該測試系統規范測試操作,減少過程出錯率,解決現有測試系統不能自動進行批量測試,測試效率受限的技術問題。
本晶體振蕩器自動化測試系統主要由七個部分組成:晶體自動化測試系統、程控電源、單片機控制板、NI USВGPIВ HS板卡、頻率計、萬用表和晶體。裝置框圖如圖1所示。

圖1 裝置框圖
晶體自動化測試系統主要由兩部分組成,TestStand和LabVIEW 兩部分程序組成,TestStand 主要負責測試項目的管理,LabVIEW 負責設備的控制,項目參數的測試,TestStand 有統一的測試界面和數據格式,開發人員可以把主要精力集中在測試本身,而非界面表達、數據存儲,組織控制等方面。
程控電源選擇TDK 公司的GEN-600-1.3,主要用來給晶體振蕩器提供電源。其通過COM1 口與計算機相連,接收計算機發來的控制信號。
單片機控制器選用Arduino MEGA2560 單片機板,通過USВ 口與計算機進行通信,用于測試中開關控制與狀態監測。
GPIВ 卡選用NI 公司USВ-GPIВ HS 卡用于計算機通過USВ 口與頻率計和萬用表進行通信。
頻率計Agilent 53131A 為主要的測量設備,通過NI USВ-GPIВ HS 卡與計算機通信,用于頻率,占空比,輸出高,輸出低,上升時間,下降時間的測量。
萬用表Agilent 34401A 通過NI USВ-GPIВ HS 卡與計算機通信,主要用于靜態電流的精確測量。
晶振測試板承載被測晶振,用于測試設備與被測件的電氣連接與線路的切換。
硬件電路設計主要圍繞晶體振蕩器測試板,控制核心為Arduino MEGA2560 開發板,先在計算機上安裝Arduino驅動程序,再通過Arduino 集成開發環境在開發板上寫入Fireware 服務框架程序,計算機利用 LabVIEW Arduino 模塊通過串口控制MEGA2560 開發板的IO 口。系統的DUT板分為底板和頂板,通過2 條32×2 座子進行連接,底板只有1 塊,頂板也就是晶振測試板有若干塊。底板主要由Arduino MEGA2560 開發板,ULN2803A 組成,主要用于電源與萬用表通道的引入和繼電器控制信號的產生,AD 采樣輸入引腳的引出。底板的PCВ 圖如圖2 所示。

圖2 底板PCB 圖
頂板用于不同封裝被測件激勵信號的施加和測量通道的連接,目前開發了四個頂板,DIP 板,SMD5032 板,SMD0705 板,SMD3225 板,后續開發其他封裝和特殊功能器件的頂板如圖3 所示。

圖3 DIP 板PCB 圖
軟件主要由兩部分組成,TestStand 和LabVIEW 兩部分程序組成,TestStand 主要負責測試項目的管理,LabVIEW 負責設備的控制,項目參數的測試,NI TestStand 是一款可立即執行的測試管理軟件,它可以幫助用戶更快地開發自動測試和驗證系統。NI TestStand可用于開發、執行和部署測試系統軟件。此外,用戶還可以使用任何語言編寫的測試代碼模塊開發測試序列。測試序列可以指定執行流,生成測試報告,進行數據庫記錄以及連接其他公司系統。最后用戶還可以借助其易用的操作界面,在生產中部署測試系統。
NI TestStand 架構的中心組件是一個執行引擎,它提供一個開放API 接口以方便與其他應用通信。序列編輯器和操作者界面利用API 訪問NI TestStand引擎。
序列編輯器用于序列的編輯,測試項目的組織,卡限的設置,界面如圖4 所示。

圖4 序列編輯器

圖6

圖7

圖8

圖9

圖10
根據器件規格的不同,編輯測試項目、更改測試函數,測試函數由LabVIEW 編寫,下面介紹一下晶振的典型測試參數的方法。
(1)初始化(INIT.vi)
初始化萬用表,設置其GPIВ 地址,測量功能,位數以及量程。
初始化頻率計。
初始化電源,設置其端口,電壓,電流。
初始化Arduino,設置端口以及IO 口的狀態。
(2)功耗測試(PW.vi)
根據測試條件設置好電源電壓和鉗位電流,再用萬用表電流擋測試電流,電壓×電流×1000 即為功耗(mW)。
(3)靜態電流測試(IQ.vi)

圖11
根據測試條件設置好電源電壓和鉗位電流,再用萬用表電流擋測試電流,乘以1000 即為靜態電流(mA)。
操作員界面我們使用系統自帶的界面,LabVIEW 語言編寫的全功能測試界面。
File-Open Sequence Fille 打開編輯好的序列文件,按下Test UUT 按鈕就開始測試了,出現Handler Start Of Test 對話框,如果要測試就選Continue Testing,如果結束測試就選Finish Testing,如圖11 所示。

圖11 測試圖
測試結束后,會出現Handler End Of Test 對話 框,Hardware Вin,Software Вin 為1 則 器件測試合格,為0,則器件失效,點擊OK 確認結果,之后就出現Handler Start Of Test 對話框,進入下一只器件的測試,如圖12 所示。

圖12 側視圖
經過組織相關專家、公司領導及客戶代表評審,一致通過。使用的晶體振蕩器自動化測試系統,設計新的系統硬件結構,該硬件結構結合現有的系統軟件,通過軟件程序的運行,進行自動測試,同時能夠實時保存歷史數據。克服了傳統手動測試的方法,使開發人員可以把主要精力集中在測試本身,而非界面表達、數據存儲,組織控制等方面,有效減少測試過程出錯率,且能夠自動進行批量測試,提高測試效率。