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