破解万用表VC81D的串口输出功能
胜利的VC81D万用表是我最喜欢的万用表之一。它性价比极高,这些特点都让我对他爱不释手:全自动量程、带温度频率占空比电容二极管测量、使用普通7号电池供电、带数字微安表、毫安档与微安档跟电压档共用端子、有直接的通断检测档。他不仅好用,而且他几乎是市面上最便宜的全自动量程万用表,淘宝上只需要不到80块钱便可以买到,包邮送表笔送电池。
最近因为项目需要,想使用一些带有串口输出功能的万用表,来自动记录一些参数,于是产生了研究VC81D能否串口输出消息的想法。这个万用表对外只有三个插表笔的端子,因此肯定不能直接出串口,但总觉得内部应该有办法去破解。记得很久之前的VC81D使用的是富晶的FS9721方案,这个方案是带串口输出的。而拆开最近买的万用表之后才发现VC81D的方案已经换成LQFP64的方案。
论坛上搜了一下,发现新的VC81D使用的是DTM0660的方案。这个方案本身支持串口输出,但是万用表没有将串口引出来,而且在软件里将串口输出的功能关闭了。
拆开之后发现DTM0660使用的是邦定的封装,外面兼容LQFP64的封装。方便飞线,太棒了。
网上找到了这个表的数据手册,这个芯片的20号引脚是UART的输出。
但是默认设置是关闭UART输出的,需要长按2s的按键K3(Rel)键之后,UART才能开始输出。开始输出之后,万用表的自动关机功能失效。
然而默认情况下,K3(Rel)长按开启UART输出的功能也是关闭的。需要更改EEPROM里面的设置。
负责设置这个功能的是0xFA的bit1。将该bit置1之后,就可以长按Rel键开启UART输出了。
VC81D的所有配置都保存在一个外置的EEPROM里面。这个EEPROM可以很方便的通过编程器去读取里面的数据,更改之后写回去。这个IC又是SOIC封装的,很容易拆下来,太棒了。
原来的配置里面,0xFA地址存储的是0xCC。把这个数据由0xCC改成0xCE之后,就允许Rel键去控制UART的开关了。改好之后把整个EEPROM的内容写进入,焊上。
20脚终于开始源源不断的冒数据出来了。20脚使用的是3.3V的电平,兼容市面上大部分的USB转UART模块。
最后也把EEPROM内存储的原始数据放在这里,点此下载。