簡單實(shí)用的PROM電路測試器
本設(shè)計(jì)實(shí)例分享一種電路測試器,可以夾在每顆PROM上進(jìn)行測試,不用將PROM從電路板上拔下。
處理老舊技術(shù)會(huì)帶來有趣的挑戰(zhàn);雖然現(xiàn)代的可程式化元件透過JTAG或SPI介面很容易實(shí)現(xiàn)電路測試(tested in circuit,或稱“線上測試”),但測試較老的元件就沒這么方便了。
我從事的是一個(gè)大型有線數(shù)位電話交換系統(tǒng)的維護(hù)工作;這些系統(tǒng)最早是在1980年代初期設(shè)計(jì)的,但目前在美國各地仍能看到這些系統(tǒng)提供服務(wù),因此需要經(jīng)常維護(hù)和修理。其中,經(jīng)常需要維修的板卡是音訊產(chǎn)生卡(tone generation card),負(fù)責(zé)產(chǎn)生電話系統(tǒng)中用到的所有聲音訊號(hào),比如鈴聲、忙線音、雙音多頻訊號(hào)(DTMF)和多頻(MF)訊號(hào)音。
這些聲音的產(chǎn)生是透過將數(shù)位化的聲音片段組合成完整的復(fù)合音;這片音訊產(chǎn)生卡上共有6顆采用24pin DIP封裝的老式1k×8可程式唯讀記憶體(PROM),聲音片段就儲(chǔ)存在這些PROM內(nèi)。這片板卡最常見的問題,是其中一顆PROM上的某個(gè)單元出現(xiàn)故障,但由于電路配置的原因,除非從板子上把PROM拔下來然后用編程器一顆顆讀,根本無法得知道是那一顆故障。
還好這些PROM都是插在板子上,比較容易拔;但畢竟已經(jīng)待在原位許多年,有時(shí)也不太容易移動(dòng);無論如何,損壞良好PROM的風(fēng)險(xiǎn)很高,而且移除、測試和替換的工作十分繁瑣耗時(shí)。本設(shè)計(jì)實(shí)例分享一種電路測試器,可以夾在每顆PROM上進(jìn)行測試,不用將PROM從電路板上拔下;PCB板上有一個(gè)測試點(diǎn)(test point),它能夠禁用PROM的位址驅(qū)動(dòng)器(address driver),所以其接取完全受測試電路控制。
只要將該測試點(diǎn)接地,測試器就可以依次安裝到每顆PROM上;該測試器上有一顆PIC16F887微控制器,透過計(jì)算縱向檢查總和(longitudinal checksum)驗(yàn)證PROM,將計(jì)算出來的檢查總和與6個(gè)已知的正確檢查總和值進(jìn)行比對。
如果能匹配,6顆綠色LED燈中的一顆就會(huì)點(diǎn)亮,顯示發(fā)現(xiàn)一顆良好PROM并做為辨識(shí)(這是很有用的,我就曾經(jīng)插錯(cuò)過PROM);如果檢查總和都不匹配,則是會(huì)點(diǎn)亮紅色LED燈,顯示測試器連接的是一顆故障/無法識(shí)別的PROM。
該測試器的電路是用Diptrace設(shè)計(jì)的,軟體碼則是用Microchip的MPLABX開發(fā)。
測試器PCB連接到一個(gè)24接腳的DIP測試夾具;測試夾的一排接腳以穿透方式插入電路板,另一排接腳則以電線連接電路板,因此可以用擠壓方式張開。電路在測試中從電路板汲取店員,也可以透過6腳插頭(header)連接到5V電源,用以測試平臺(tái)上松散排列的PROM。