SP200SE烧录器维修一例

年前买的SP200SE烧录器,用于烧写93LC66。当时用了一两个月都没有出现问题,但最近使用过程中却发现可以擦除、读取,但只要写入非0xFF数据即报校验失败。神奇的是使用软件WLPRO2.2自检,对应电路引脚输出却没有问题。

前几天工作繁忙顾不上修理,打算重新买一台,但要求提供售后。淘宝找遍了都没有一家愿意提供售后服务。为避免买回来又出问题,只好硬着头皮找失效原因。

一开始测量供电电压,因为USB线比较长而且93LC66接地引脚是通过电路选通到地,怀疑是供电不稳导致。量出来电压4.4V,的确低了一些。于是乎直接在IC电源和地引脚间加上5V电压,实验仍然写入失败。

再拿出逻辑分析仪对写入过程进行记录。发现写第一个字节时候是正确的,写完后等待再读取校验。但第二个字节就出现了卡壳,写入之后直接进行了读取,丢掉了等待写入过程。这样一来只要写入的和原先存储内容不一致,就会导致校验失败。

问题找到了,但觉得甚是奇怪。为什么一开始写入都正常,看现在情况USB转串口、烧录器单片机自身应该也没有出现损坏。为什么就偏偏在时序上出了问题,难道是单片机片内FLASH出现丢失?一个没有Bootloader的程序出现Flash数据丢失,而且其他都正常,就丢失了一个时序这种事情实在不容易。

后来偶然间想起这个增强版是不是存在破解行为,要不然也不会满淘宝的都在卖。看电路上面没有可擦写器件,会不会是在上位机端进行的破解呢。找到WLPRO2.2的安装目录,按修改时间排序,发现了一个名为chip.set的文件。笔记本打开之后发现里面有擦写芯片型号信息,跟着芯片型号后面的是一串乱码,紧接着又是另一个芯片型号,又跟一串乱码。看来这个文件应该记录了历史烧写的芯片型号和烧写次数。会不会是这个文件导致了现在出现的烧写异常呢。抱着试试看的态度我修改了其后缀名,相当于删除了原来的文件。再次打开软件,打开过程没有提示错误,又尝试进行烧写操作,发现烧写校验正常。

终于算是找出了故障原因,不过这过程倒是十分有趣,没想到限制发生在上位机软件中。不过这例也给出了一个防盗版的方法,就是嵌入式软件防逆向中常说的定时炸弹,一开始工作正常,到达一定使用次数出现不规律故障。让使用者一开始认为破解成功,但之后却无法使用,以此隐蔽故障原因。即便深入破解,这种定时炸弹的设计由于失效时间不确定性导致很难在一开始测试阶段被发现,从而出现破解遗漏。

← Previous post

Next post →

2 Comments

  1. 搞这么多铜柱干嘛

    • admin

      固定夹具的位置,放进去刚好可以对齐触点

发表评论