简单实用的PROM电路测试器
扫描二维码
随时随地手机看文章
本设计实例分享一种电路测试器,可以夹在每颗PROM上进行测试,不用将PROM从电路板上拔下。
处理老旧技术会带来有趣的挑战;虽然现代的可程式化元件透过JTAG或SPI介面很容易实现电路测试(tested in circuit,或称“线上测试”),但测试较老的元件就没这么方便了。
我从事的是一个大型有线数位电话交换系统的维护工作;这些系统最早是在1980年代初期设计的,但目前在美国各地仍能看到这些系统提供服务,因此需要经常维护和修理。其中,经常需要维修的板卡是音讯产生卡(tone generation card),负责产生电话系统中用到的所有声音讯号,比如铃声、忙线音、双音多频讯号(DTMF)和多频(MF)讯号音。
这些声音的产生是透过将数位化的声音片段组合成完整的复合音;这片音讯产生卡上共有6颗采用24pin DIP封装的老式1k×8可程式唯读记忆体(PROM),声音片段就储存在这些PROM内。这片板卡最常见的问题,是其中一颗PROM上的某个单元出现故障,但由于电路配置的原因,除非从板子上把PROM拔下来然后用编程器一颗颗读,根本无法得知道是那一颗故障。
还好这些PROM都是插在板子上,比较容易拔;但毕竟已经待在原位许多年,有时也不太容易移动;无论如何,损坏良好PROM的风险很高,而且移除、测试和替换的工作十分繁琐耗时。本设计实例分享一种电路测试器,可以夹在每颗PROM上进行测试,不用将PROM从电路板上拔下;PCB板上有一个测试点(test point),它能够禁用PROM的位址驱动器(address driver),所以其接取完全受测试电路控制。
只要将该测试点接地,测试器就可以依次安装到每颗PROM上;该测试器上有一颗PIC16F887微控制器,透过计算纵向检查总和(longitudinal checksum)验证PROM,将计算出来的检查总和与6个已知的正确检查总和值进行比对。
如果能匹配,6颗绿色LED灯中的一颗就会点亮,显示发现一颗良好PROM并做为辨识(这是很有用的,我就曾经插错过PROM);如果检查总和都不匹配,则是会点亮红色LED灯,显示测试器连接的是一颗故障/无法识别的PROM。
该测试器的电路是用Diptrace设计的,软体码则是用Microchip的MPLABX开发。
测试器PCB连接到一个24接脚的DIP测试夹具;测试夹的一排接脚以穿透方式插入电路板,另一排接脚则以电线连接电路板,因此可以用挤压方式张开。电路在测试中从电路板汲取店员,也可以透过6脚插头(header)连接到5V电源,用以测试平台上松散排列的PROM。