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