自己的一台DS1052E在升级固件的过程中死机了,重启之后黑屏。判断是固件写入失败,查询了国外论坛,方法只有一个:拆下Flash芯片重新烧写固件。
拆机过程不表,吹下S29GL064N90TFI040查规格书是一片8M的Flash芯片,在论坛下载了二进制的烧写文件,大小是4M,查资料发现Flash的数据存储结构前4M为固件,后4M为用户和校准数据,所以烧写固件的关键是保留后4M的内容。
编程器是希尔特SUPERPRO-600P,先用编程器读取拆下的芯片数据,查看数据缓冲区。
发现0X4000地址后的数据已经丢失,只有前边的部分数据,与新下载固件对比发现程序入口地址的数据相同,初步判断论坛下载的固件没有问题。 先读取原芯片数据,再载入待烧写的固件文件,如下图。
关键在于上图五星标注处,不要选择清除缓冲区,因为固件只有4M,清除缓冲区会把后4M数据全都置为0xFF,我们要保留原有的后4M数据。载入后检查,4M以后的数据必须和原芯片的相同。
烧写校验成功后,焊接回PCB,旁边的电解电容碍事,需要提前拆掉,焊好FLASH之后再还原。
顺便看下被打磨的AD芯片,背面还有两片,另外屏蔽罩的模拟通道内还有4片。
焊接检查无误后开机,固件版本为4.0,按CH1两次,CH2两次,MATH一次显示开机次数,和原来相同,表示原有数据已经保留下来了。
然后升级示波器,其实所谓升级的是不需要改动示波器固件的,只要将示波器型号由 DS1052E改为DS1152E 就行了。示波器开机时只要读到自己的型号是DS1152E,就会将150M带宽原本奉上。但是改型号这个操作只能在2.02版固件的机器上进行。为了改型号,需要安装两个软件和运行一个工具。
先使用论坛下载的2.02版本的固件将示波器刷为2.02版本,然后安装NIVISAruntime.MSI和Ultrascope For DS1000E Series.EXE,用USB线连接PC和示波器,运行demoIDN.exe文件,在demoIDN.exe中选择对应硬件,在指令框中输入以下指令,然后按 “Send & Read” 键,会返回当前版本和序列号。 *IDN?
在指令框中输入以下指令,然后按 “Send & Read” 键,更改示波器型号为DS1152E。 INFO:MODEL DS1152E
在指令框中输入以下指令,然后按 “Send & Read” 键,更改序列号(X为本机序列号)。 INFO:SERIAL DS1EXXXXXXXXX
使用官网下载的最新固件将示波器升级为最新版本,运行一次自校准。
至此,50M的DS1052E已经成功升级为150M的DS1152E。
|