楊宏斌,蔡剛,權(quán)亞娟,何海瑩
(西安西谷微電子有限責任公司,陜西西安,710077)
晶體振蕩器是指從一塊石英晶體上按一定方位角切下薄片,簡稱為石英晶體或晶體、晶振,而在封裝內(nèi)部添加IC 組成振蕩電路的晶體元件稱為晶體振蕩器,其產(chǎn)品一般用金屬外殼封裝,也有用玻璃殼、陶瓷或塑料封裝。通用晶體振蕩器,用于各種電路中,產(chǎn)生振蕩頻率。
隨著信息技術(shù)的發(fā)展,石英晶體振蕩器作為電子設備的“心臟”,憑借著在頻率精度、穩(wěn)定度、開機特性等方面的優(yōu)勢在通信領域已經(jīng)得到了廣泛的應用。晶體振蕩器的輸入穩(wěn)定電流、頻率準確度、頻率穩(wěn)定度等指標,需要達到晶體振蕩器的穩(wěn)定時間以后,才能進行測試,通常時間較長,尤其當需要批量測試時,每只晶振順序進行需要耗費大量的時間。同時,為了完成晶體振蕩器的性能測試,大都采用人工手動的方法,將晶體振蕩器的輸入和輸出端連接到相應的儀器設備上,并人工記錄數(shù)據(jù),測試效率低,且過程出錯率較高,不能自動進行批量測試,測試效率受限。本文將介紹一種晶體振蕩器自動化測試系統(tǒng),該測試系統(tǒng)規(guī)范測試操作,減少過程出錯率,解決現(xiàn)有測試系統(tǒng)不能自動進行批量測試,測試效率受限的技術(shù)問題。
本晶體振蕩器自動化測試系統(tǒng)主要由七個部分組成:晶體自動化測試系統(tǒng)、程控電源、單片機控制板、NI USВGPIВ HS板卡、頻率計、萬用表和晶體。裝置框圖如圖1所示。
圖1 裝置框圖
晶體自動化測試系統(tǒng)主要由兩部分組成,TestStand和LabVIEW 兩部分程序組成,TestStand 主要負責測試項目的管理,LabVIEW 負責設備的控制,項目參數(shù)的測試,TestStand 有統(tǒng)一的測試界面和數(shù)據(jù)格式,開發(fā)人員可以把主要精力集中在測試本身,而非界面表達、數(shù)據(jù)存儲,組織控制等方面。
程控電源選擇TDK 公司的GEN-600-1.3,主要用來給晶體振蕩器提供電源。其通過COM1 口與計算機相連,接收計算機發(fā)來的控制信號。
單片機控制器選用Arduino MEGA2560 單片機板,通過USВ 口與計算機進行通信,用于測試中開關(guān)控制與狀態(tài)監(jiān)測。
GPIВ 卡選用NI 公司USВ-GPIВ HS 卡用于計算機通過USВ 口與頻率計和萬用表進行通信。
頻率計Agilent 53131A 為主要的測量設備,通過NI USВ-GPIВ HS 卡與計算機通信,用于頻率,占空比,輸出高,輸出低,上升時間,下降時間的測量。
萬用表Agilent 34401A 通過NI USВ-GPIВ HS 卡與計算機通信,主要用于靜態(tài)電流的精確測量。
晶振測試板承載被測晶振,用于測試設備與被測件的電氣連接與線路的切換。
硬件電路設計主要圍繞晶體振蕩器測試板,控制核心為Arduino MEGA2560 開發(fā)板,先在計算機上安裝Arduino驅(qū)動程序,再通過Arduino 集成開發(fā)環(huán)境在開發(fā)板上寫入Fireware 服務框架程序,計算機利用 LabVIEW Arduino 模塊通過串口控制MEGA2560 開發(fā)板的IO 口。系統(tǒng)的DUT板分為底板和頂板,通過2 條32×2 座子進行連接,底板只有1 塊,頂板也就是晶振測試板有若干塊。底板主要由Arduino MEGA2560 開發(fā)板,ULN2803A 組成,主要用于電源與萬用表通道的引入和繼電器控制信號的產(chǎn)生,AD 采樣輸入引腳的引出。底板的PCВ 圖如圖2 所示。
圖2 底板PCB 圖
頂板用于不同封裝被測件激勵信號的施加和測量通道的連接,目前開發(fā)了四個頂板,DIP 板,SMD5032 板,SMD0705 板,SMD3225 板,后續(xù)開發(fā)其他封裝和特殊功能器件的頂板如圖3 所示。
圖3 DIP 板PCB 圖
軟件主要由兩部分組成,TestStand 和LabVIEW 兩部分程序組成,TestStand 主要負責測試項目的管理,LabVIEW 負責設備的控制,項目參數(shù)的測試,NI TestStand 是一款可立即執(zhí)行的測試管理軟件,它可以幫助用戶更快地開發(fā)自動測試和驗證系統(tǒng)。NI TestStand可用于開發(fā)、執(zhí)行和部署測試系統(tǒng)軟件。此外,用戶還可以使用任何語言編寫的測試代碼模塊開發(fā)測試序列。測試序列可以指定執(zhí)行流,生成測試報告,進行數(shù)據(jù)庫記錄以及連接其他公司系統(tǒng)。最后用戶還可以借助其易用的操作界面,在生產(chǎn)中部署測試系統(tǒng)。
NI TestStand 架構(gòu)的中心組件是一個執(zhí)行引擎,它提供一個開放API 接口以方便與其他應用通信。序列編輯器和操作者界面利用API 訪問NI TestStand引擎。
序列編輯器用于序列的編輯,測試項目的組織,卡限的設置,界面如圖4 所示。
圖4 序列編輯器
圖6
圖7
圖8
圖9
圖10
根據(jù)器件規(guī)格的不同,編輯測試項目、更改測試函數(shù),測試函數(shù)由LabVIEW 編寫,下面介紹一下晶振的典型測試參數(shù)的方法。
(1)初始化(INIT.vi)
初始化萬用表,設置其GPIВ 地址,測量功能,位數(shù)以及量程。
初始化頻率計。
初始化電源,設置其端口,電壓,電流。
初始化Arduino,設置端口以及IO 口的狀態(tài)。
(2)功耗測試(PW.vi)
根據(jù)測試條件設置好電源電壓和鉗位電流,再用萬用表電流擋測試電流,電壓×電流×1000 即為功耗(mW)。
(3)靜態(tài)電流測試(IQ.vi)
圖11
根據(jù)測試條件設置好電源電壓和鉗位電流,再用萬用表電流擋測試電流,乘以1000 即為靜態(tài)電流(mA)。
操作員界面我們使用系統(tǒng)自帶的界面,LabVIEW 語言編寫的全功能測試界面。
File-Open Sequence Fille 打開編輯好的序列文件,按下Test UUT 按鈕就開始測試了,出現(xiàn)Handler Start Of Test 對話框,如果要測試就選Continue Testing,如果結(jié)束測試就選Finish Testing,如圖11 所示。
圖11 測試圖
測試結(jié)束后,會出現(xiàn)Handler End Of Test 對話 框,Hardware Вin,Software Вin 為1 則 器件測試合格,為0,則器件失效,點擊OK 確認結(jié)果,之后就出現(xiàn)Handler Start Of Test 對話框,進入下一只器件的測試,如圖12 所示。
圖12 側(cè)視圖
經(jīng)過組織相關(guān)專家、公司領導及客戶代表評審,一致通過。使用的晶體振蕩器自動化測試系統(tǒng),設計新的系統(tǒng)硬件結(jié)構(gòu),該硬件結(jié)構(gòu)結(jié)合現(xiàn)有的系統(tǒng)軟件,通過軟件程序的運行,進行自動測試,同時能夠?qū)崟r保存歷史數(shù)據(jù)??朔藗鹘y(tǒng)手動測試的方法,使開發(fā)人員可以把主要精力集中在測試本身,而非界面表達、數(shù)據(jù)存儲,組織控制等方面,有效減少測試過程出錯率,且能夠自動進行批量測試,提高測試效率。