TP801单板机既可作为工业控制系统的专用机,也可利用它的单步、断点等检查功能来开发新的应用软件。该机功能多,价格低,使得TP801在中小企业中应用很广,社会拥有量也很大。然而该机出现故障后,一般维修人员感到非常棘手。其实只要掌握了计算机的工作原理,细心对故障进行分析,在没有专用仪器的情况下,也能排除故障。本文将TP801在EPR-OM写入时遇到的一种特殊故障排除方法介绍给大家,供作参考。
故障现象:有一段应用程序储存在起始地址为2000H、结束地址为23FOH的EPROM中,要写入插在PROM\(_{2}\)插座上的2716型EPROM中去,由于程序不满1K字节,因此打算写入起始地址为1000H、结束地址为13FOH的EPROM存贮区中。EPROM存贮区中剩下的地址以后再用,暂不写入。按TP801的EPROM写入操作顺序写入。写完后经核对一切正常。后来因另有一段程序要写入该EPROM的剩余部分。再次开机时,发现原来储存在1000H~1300H地址的内容有些不正常、但时间很短再次检查核对时,又一切正常。当用测试程序测试该EPROM剩下的存贮区是否全为1(即FFH)时,发现在起始地址为1400H、结束地址为17F0H的EPROM存贮区内也存有与1000H~13F0H地址内容完全相同的一段程序,好象该程序曾经两次写入该EPROM中,只是写入的页数不同(以1K为1页)。
检修过程:首先怀疑该机的TP—BUG—A监控程序中的EPROM写入段是否有误,经判读TP-BUG-A监控程序清单,并用键盘调出内存逐字与清单校对,未发现任何问题。看来该机软件部分没有问题。接着检查硬件,将EPROM拨下,插入PROM,插座进行检查。结果在0800H~OBFOH(对应于PROM\(_{2}\)插座的1000H~13FOH)地址内容完全正常,在OCOOH~OFFFH(对应PROM2插座的1400H~17FFH)地址并未发现相同程序出现。根据这种情况可以断定硬件部分存在故障。EPROM前1k存贮区写入正常,后1k存贮区出现的相同程序是一种假象,程序并非实际存在于EPROM中。这种假象是怎样造成的呢?毛病出在读出存贮区数据的过程中。确切地说是地址总线给出的访问地址有误。CPU在访问1000H~13FFH地址时。地址总线A\(_{1}\)00位出现的地址码为00000000000~01111111111,在访问1400H~17FFH地址时A\(_{1}\)00位出现的地址码应为10000000000~11111111111,从这里可以看出CPU访问1000H~13FFH地址和访问1400H~17FFH地址时地址总线A\(_{1}\)00位上的区别只在于A\(_{1}\)0位不同,其余位不变。因此,也就可以肯定故障是出在地址总线A10位上了。但是故障究竟是由CPU地址总线A\(_{1}\)0位引起,还是由总线传输线A10位引起呢?EPROM插在PROM\(_{1}\)上时,读出正常,PROM1插座的地址是0800H~OFFFH,其中0800H~OBFFH地址对应A\(_{1}\)00的地址码为00000000000~01111111111,而OCOOH~OFFFH地址对应A\(_{1}\)00的地址码应为10000000000~11111111111。所以说EPROM在分别插入PROM\(_{1}\)插座和PROM2插座时,如要读出内存,地址总线A\(_{1}\)00位应出现的地址完全一样。既然EPR-OM插入PROM\(_{1}\)插座时读出正常。那么就可以肯定CPU输出是正常的,故障肯定出现在总线传输线A10位上。经用万用表测试检查,发现CPUA\(_{1}\)0脚到PROM1A\(_{1}\)0脚正常,而CPUA10脚到PROM\(_{2}\)A10脚不通,有断路情况。这样,奇怪的现象也就得到圆满的解释了:因为PROM\(_{2}\)插座A10脚呈开路状态。所以在刚开机CPU访问1000H~13FFH地址时,由于EPROM的输入阻抗高,A\(_{1}\)0脚本身可能积累了一定数量的电荷,使得A10脚不一定呈低电平。造成读出的数据也不一定是1000H地址上的内容,使开机瞬间出现错误。但经短时间放电后A\(_{1}\)0脚的电荷放电完毕,呈低电平状态。数据读出也就正常了。而且当CPU地址总线输出访问1400H~17FFH地址码时,由于PROM2插座A\(_{1}\)0脚开路,EPROM地址线A10\(_{0}\)位接受的地址码仍为00000000000~01111111111,所以实际读出的仍是1000H~13FFH地址内存的内容。经过检查发现,该机印刷电路板从PROM1插座A\(_{1}\)0脚到PROM2插座A\(_{1}\)0脚的联接铜箔划断痕迹,焊好后故障消失。(潘幸乐)