基于SST89E58RD2的智能測試系統(tǒng)設(shè)計
隨著電子、電器類產(chǎn)品在社會生活中的普及,國內(nèi)眾多中小企業(yè)也紛紛開始自行研制,生產(chǎn)此類產(chǎn)品以滿足市場的需求,但由于中小企業(yè)人力、物力的局限,往往將主要經(jīng)歷放在了產(chǎn)品的生產(chǎn)上,而對于產(chǎn)品的出廠檢測卻不夠完善,造成產(chǎn)品返修率較高的局面,從實際情況來看,造成產(chǎn)生返修的故障中很大一部分是能夠在出廠檢測時被發(fā)現(xiàn)的,但是由于目前國內(nèi)的中小企業(yè)大部分依靠人工借助部分儀器,儀表來檢測,使得檢測效率低、測試面不廣,存在錯檢,誤檢等情況。
智能測試系統(tǒng)的引入可以很好地解決此類矛盾,幫助企業(yè)提高產(chǎn)品檢測的效率,下面將以一款麻將機主機板的智能測試系統(tǒng)為例,全面闡述設(shè)計原理。
2 SST89E58RD2特性介紹
SST87E58RD2是一款80C51微控制器,包含32KB+8KB FLASH和256+768B的數(shù)據(jù)RAM。SST89E58RD2的典型特性是他的×2方式選項,利用該特性,設(shè)計者可使應(yīng)用程序以傳統(tǒng)的80C51時鐘頻率(每個機器周期包含12個時鐘)或×2方式(每個機器周期包含6個時鐘)的時鐘頻率運行。
FLASH程序存儲器支持傳統(tǒng)的并行編程,也支持串行在系統(tǒng)編程(ISP)。ISP允許在軟件控制下對成品中的器件進行重復(fù)編程,SST89E58RD2也可采用在應(yīng)用中編程(IAP),允許隨時對兩片F(xiàn)LASH程序存儲器重新配置,即使應(yīng)用程序正在運行時也不例外。
SST89E58CD2特性如下:
80C51核心處理單元;
5V的工作電壓,操作頻率為0-40MHz;
64KB的片內(nèi)FLASH程序存儲器,具有ISP(在系統(tǒng)編程)和IAP(在應(yīng)用中編程)功能;
通過軟件或ISP選擇支持12時鐘(默認)或6時鐘模式;
SPI(串行外圍接口)和增強型UART;
PCA(可編程計數(shù)器陣列),具有PWM和捕獲/比較功能;
4個8位I/O口(P0-P3),1個4位I/O口(P4);
3個16位定時器/計數(shù)器;
可編程看門狗定時器(WDT);
10個中斷源,4個中斷優(yōu)先級;
2個DPTR寄存器;
低EMI方式(ALE禁能);
兼容TTL和CMOS邏輯電平;
掉電檢測;
低功耗模式(掉電模式,外部中斷喚醒,空閑模式)。
3 智能測試系統(tǒng)原理
本智能測試系統(tǒng)以SST89E58RD2為核心,其原理框圖如圖1所示,包括:
SPI口線 主要用于向被測主板進行程序下載和通訊;
I2C總線 向被測主板中的外部E2PROM讀取數(shù)據(jù);
RS232電路 用于與上位計算機的通信;
外部FLASH 主要存放被測主板的程序目標代碼,選用AT29C010A;
指示燈電路,每個故障點用一個指示燈指示,總數(shù)有32個,用4片74HC595做輸出驅(qū)動電路;
2個步進按鈕 用于測試過程中的步進控制,其控制線直接連到SST89E58RD2的P1.1,P1.2口線上;
LED顯示 用于測試步進的顯示,用1片74HC595控制;
DI輸入電路 選用74HC165邏輯芯片,并入串出;
DO輸出電路 選用74HC595邏輯芯片,串入并出;
由于單片機外圍接口芯片較多,故采用GAL16V8D作為控制譯碼電路。
4 智能測試系統(tǒng)功能
本文中的智能測試系統(tǒng)的測試對象是自動麻將機的主機板,以下對該系統(tǒng)的設(shè)計進行闡述。
自動麻將機的主要測試項包括:
主板供電:內(nèi)部3個分塊電源;12個9V交流DO信號,16個DI信號;4個電源信號;1個主電源和3個分支電源,1個蜂鳴器,1個帶I2C的E2PROM;1個SPI口用于與智能測試系統(tǒng)通信和程序下載。
麻將機主機板選用AT89S52,該單片機具有通過SPI口系統(tǒng)編程(ISP)功能。
針對麻將機主機板的這些硬件功能,智能測試系統(tǒng)具有以下幾個功能接口;
24個DO輸出 用于檢測被測主板的DI信號;
16個交流/直流DI輸入 用于檢測被測主板的DO信號;
一個SPI總線接口 用于被測主板的程序下載和通訊;
一個I2C接口 用于讀寫被測主板的I2C的E2PROM。
測試步驟如下:
(1)被測主板的電源測試
該電源的標稱值為5V,判定條件為是否在4.75-5.25V之間,可通過由一個N555搭建的SHMILT比較器進行判斷,通過指示燈顯示結(jié)果是否正常。如果電源檢測不能通過,后續(xù)的檢測步驟不再進行,并由蜂鳴器提示。
(2)被測主板的 SPI連接測試和測試程序下載
通過SPI口串行下載命令讀取被測主板CPU的特征碼,通過識別判斷為AT89S52芯片(麻將機主機板選用的單片機型號),即認為被測主板已連接上。因?qū)τ赟ST89E58單片機而言,他的SPI口是一個完全的SPI口,但AT89E52單片機的SPI口是用于FLASH的ISP功能,當特征碼讀對后,表明SPI口連線正常,此時測試系統(tǒng)將向被測主板下載測試程序,該測試程序的代碼放在SST89E58RD2的FLASH地址為0X7000-0X7FF的空間內(nèi),下載完成后將使被板測主可以配合智能測試系統(tǒng)進行檢測。
(3)被測主板的DI功能測試
將被測主板的16點DI分成兩組,8點一組,與測試系統(tǒng)的DO口線相連,通過測試系統(tǒng)輸出DO信號經(jīng)被測主板采樣后,再通過SPI口通訊讀回采樣數(shù)據(jù),比較輸出信號與采樣信號的異同、判斷是否有通道異常,若存在異常則通過故障指示燈顯示。
(4)被測主板的DO功能測試
將被測主板的12個DO分成2組,8點一組和4點一組,與測試系統(tǒng)的DI口連接,通過SPI口通訊命令,讓被測主板進行特定狀態(tài)輸出,測試系統(tǒng)通過DI采樣,比較采樣數(shù)據(jù)和輸出特征數(shù)據(jù)的異同、判斷是否有通道異常,若存在異常則通過故障指示燈顯示。
(5)被測主板的斷電數(shù)據(jù)保存測試
因被測主板另有一個非常重要的斷電數(shù)據(jù)保存功能,該功能可使被測主板內(nèi)部的電源檢測電路一旦檢測到失去電源后,CPU會在有限的時間內(nèi)將一些特征數(shù)據(jù)存放到外部E2PROM(AT24C64)中。針對此功能,測試系統(tǒng)將通過I2C總線直接讀取E2PROM內(nèi)部的數(shù)據(jù)判斷斷電數(shù)據(jù)保存是否有效,通過指示燈指示。
(6)查看故障指示燈,完成測試
以上5個步驟完成后如果沒頭有指示燈顯示故障,則可按下下載按鍵,將麻將機主機板的程序下載到AT89S52中,完成整個測試。如果發(fā)現(xiàn)還有故障,則按后退鍵再次進行測試,以便確認故障。
5 智能測試系統(tǒng)關(guān)鍵的程序代碼
測試步進處理程序: |
---|
6 結(jié) 語STRONG>
本設(shè)計實現(xiàn)的智能測試系統(tǒng)已應(yīng)用于某自動麻將機的生產(chǎn)廠家,并取得了良好的應(yīng)用效果。以往該廠產(chǎn)品的出廠檢測均采用人工檢測模式,完成檢測需要花費20 min,且檢測的范圍局限于最主要的幾項指標;引入本智能檢測系統(tǒng)后,只需2min即可完成對產(chǎn)品的檢測,且檢測的范圍覆蓋了絕大部分功能,遇到檢測不能通過的產(chǎn)品還可以根據(jù)智能檢測系統(tǒng)的提示快速、準確地找到故障源,大大提高了生產(chǎn)效率。
該智能測試系統(tǒng)還可以進行更深入的開發(fā):
(1)目前很多電子產(chǎn)品出廠前需要進行帶電老化測試,但僅僅是帶電空載,如果將智能測試系統(tǒng)引入老化測試,模擬產(chǎn)品的工作負載,使產(chǎn)品在老化測試的過程中滿負荷工作,則能通過該老化測試的產(chǎn)品將在實際應(yīng)用中體現(xiàn)出更穩(wěn)定、可靠的性能。
(2)電子產(chǎn)品出廠前都需要標注序列號,以及產(chǎn)品的版本號,如何將產(chǎn)品的實體與序列號、版本號有效地控制起來,一直是眾多廠家的棘手問題,如果將智能測試系統(tǒng)引入出廠產(chǎn)品的序列號、版本號管理也將是非常有效的,利用智能測試系統(tǒng)的上位機擴展功能,通過RS232與計算機相連,智能測試系統(tǒng)在向測試產(chǎn)品下載程序之前已經(jīng)獲取了該產(chǎn)品的版本號,再根據(jù)當天日期和出廠順序等一系列屬性計算出出廠序列號,當該產(chǎn)品檢測通過后,智能測試系統(tǒng)將序列號和版本號上送給上位計算機,計算機中的專用軟件將序列號和版本號存入數(shù)據(jù)庫,并將序列號標注在產(chǎn)品上。
目前,本設(shè)計實現(xiàn)的智能測試系統(tǒng)正在進行二期開發(fā),擬將智能測試系統(tǒng)引入老化測試和出廠序列號管理,開發(fā)成功后,將可大大完善系統(tǒng)的性能、提高系統(tǒng)的適用范圍。