富士 FUJI UG420H-TC1 老式触摸屏程序硬件迁移研究:双 Flash 架构、32 位存储总线与芯片级复制方法
在工业自动化维修中,触摸屏损坏但内部工程程序仍然具有价值,是非常常见、也非常棘手的一类故障。尤其对于已经停产二十年以上的老式 HMI,原始工程文件往往早已遗失,设备厂家也可能已经不存在。此时,即使可以买到相同型号的二手触摸屏,如果无法把旧屏中的工程程序转移过去,新触摸屏仍然不能直接替代。
本文以一台 Fuji Electric POD UG420H-TC1 为实际对象,讨论一种非常典型的维修场景:旧触摸屏主板无法正常显示,无法通过正常软件方式上传工程;维修人员购买了一台同型号、可以正常工作的二手 UG420H-TC1,希望通过拆焊存储器或者编程器读写,实现旧设备程序向新主板的迁移。
这类维修最容易出现的错误,是看到板上的大容量存储芯片后,简单认为“这一颗就是程序 Flash”,然后单独搬运。对于 UG420H-TC1,这种做法存在相当高的失败概率。通过对两块实物主板的 CPU、Flash、DRAM、PCB 版本以及总线结构进行逐步分析,可以发现:这台富士触摸屏真正需要关注的不是某一颗单独 Flash,而是一组很可能以 32 位宽度共同工作的双 16 位 Flash 存储系统。
这也是为什么只搬一颗 Flash 后,新板可能直接黑屏甚至表现为“板子也坏了”。

一、UG420H-TC1 是什么年代和架构的触摸屏
UG420H-TC1 属于 Fuji Electric 老一代 POD programmable operation display 系列,后来也被归入 MONITOUCH 产品体系。富士资料显示,UG420H-TC 系列采用 TFT 彩色液晶,典型分辨率为 640×480,具备 RS-232C、RS-422/485 等工业通信接口。该系列已经停产多年,富士后来提供过 UG430 以及更晚的 V 系列作为替代方案。
本文分析的实物铭牌为:
FUJI ELECTRIC POD
Type:UG420H-TC1
MFD:2001.2
也就是说,这是一套典型的 2000 年前后工业嵌入式硬件平台。
在这个年代,工业触摸屏通常不像今天的 ARM+NAND/eMMC 系统那样高度集成,而是采用:
独立 32 位微处理器;
外部并行 Flash;
外部 DRAM;
独立总线缓冲;
独立串口收发器;
LCD 显示控制;
RTC、复位、电源监控等外围电路。
这意味着它从硬件层面反而更适合进行芯片级数据恢复,但前提是必须先把存储体系搞清楚。
二、首先确认核心 CPU:SHARP HD6417708S
旧板和二手正常板的 CPU 均可以清楚看到:
SHARP / Hitachi
HD6417708S
AF60
这是 Hitachi SuperH 系列中的 SH7708S/SH-3 架构 32 位 RISC 微处理器。
更重要的是,Renesas 后续公开的 SH7708 系列硬件资料明确说明,这一系列 CPU 的外部数据总线支持:
8 bit / 16 bit / 32 bit
并且总线状态控制器可以直接连接 ROM、DRAM、SDRAM、Pseudo SRAM 等外部存储器。
这一点对于分析 UG420H-TC1 的 Flash 结构非常重要。
因为我们在主板上恰好发现了:
两颗 16 位宽度的 Flash ROM。
两颗 ×16 Flash 并联以后,正好可以形成:
32 bit 数据总线。
于是整个存储系统的逻辑开始变得非常清楚。
三、旧板和新板并不是完全相同 PCB,但核心平台一致
两块主板 CPU 周围的 PCB 丝印分别为:
旧板:
V610/12-CPU2
P02134-1
新板:
V610/12-CPU2
P02134-2
说明它们并不是同一次 PCB Revision。
可以理解为:
P02134-1:较早硬件版本;
P02134-2:后续修订版本。
但是从实际照片对比,可以看到:
CPU 型号相同;
CPU 封装相同;
晶振结构相同;
RAM 架构基本相同;
Flash 数量相同;
总线连接形式基本相同;
外围逻辑基本一致。
因此,这并不是完全不同的设计,而更像同一平台的硬件修订版。
对于工业设备来说,这是很正常的。
某颗 Flash 停产后,厂家可能更换供应商;DRAM 缺货后,也可能换另一家兼容产品,只要:
总线宽度一致;
地址结构一致;
电压一致;
引脚兼容;
时序满足要求;
就没有必要重新设计整个 CPU 平台。
四、一个非常重要的修正:SANYO LC32V4265 并不是应该搬运的“工程 Flash”
主板上存在一颗较大的 SANYO IC:
旧板:
LC32V4265TL-25S
新板:
LC32V4265BT-25S
因为它体积较大,而且直接连接大量 CPU 总线,维修时很容易把它误认为“程序存储 Flash”。
但是仔细观察 PCB 丝印,会发现它所在区域明确标有:
DRAM4
这意味着该芯片在设计中的功能属于动态运行存储器体系,而不是主要的非易失程序 Flash。
这也是分析这台机器时一个非常关键的突破点。
换句话说:
LC32V4265 不应该作为程序迁移的主要对象。
它的工作性质更接近:
CPU 运行过程中使用的动态内存。
因此即使旧板和新板的 LC32V4265 后缀不同:
也不能据此认为“用户工程必须连它一起搬”。
在正常情况下,DRAM 掉电以后数据全部消失。
所以:
DRAM 不可能单独长期保存触摸屏的用户工程文件。
程序迁移时应该保留二手正常板自己的 DRAM,不需要搬旧板上的 DRAM。

五、HYUNDAI GM71VS18163 同样属于运行内存,不需要迁移
主板另外可以看到多颗:
HYUNDAI GM71VS18163CLT6
PCB 附近同样标注 DRAM。
它们属于整个运行内存体系。
CPU 上电以后:
从非易失 Flash 启动;
初始化硬件;
部分代码、显示资源或者运行数据被加载到 DRAM;
HMI 程序开始运行。
因此 DRAM 出问题会引起:
开机死机;
随机黑屏;
画面异常;
系统重启;
数据错误;
但它并不是断电后永久保存工程程序的地方。
所以这类 DRAM:
不属于程序复制对象。
六、真正重要的是板上的 FROM1 和 FROM2
仔细观察旧主板,可以看到两颗大型 TSOP Flash 附近 PCB 明确丝印:
FROM1
FROM2
这里的 FROM 实际上就是:
Flash ROM
旧板两颗器件型号为:
Mitsubishi M5M29GT160BVP-80
而正常二手板上的对应位置更换成:
Fujitsu MBM29LV160TE-70PFTN
而且新板同样是:
两颗。
这才是本案例真正应该重点研究的程序存储区域。
七、M5M29GT160BVP 到底是什么芯片
Mitsubishi M5M29GT160BVP 是一颗:
16,777,216 bit Flash Memory
即:
16 Mbit Flash
它可以配置为:
供电电压:
约 3.3V
封装:
48-pin TSOP-I
Mitsubishi 原始资料还明确指出:
M5M29GT160BVP 为 Top Boot 架构。
也就是说,每一颗的容量是:
16 Mbit
= 2 MB
两颗合计:
32 Mbit
= 4 MB
如果两颗采用 ×16 工作模式并联:
FROM1:16 bit
│
├────→ 32 bit CPU DATA BUS
│
FROM2:16 bit
就可以形成一个:
32 位宽、总容量约 4 MB 的 Flash 存储空间。
这和 SH7708 本身支持 32 位外部总线的特点完全吻合。
八、新板为什么换成了 MBM29LV160TE
新板对应位置使用的是:
MBM29LV160TE-70PFTN
这同样是一颗:
16 Mbit;
×8 / ×16;
3V;
TSOP48;
Top Boot;
的并行 NOR Flash。
Fujitsu 资料明确说明:
MBM29LV160TE 中的:
T = Top Boot
容量:
2M×8 或 1M×16
并采用 3V 单电源读写。
所以:
旧板:
2 × M5M29GT160
新板:
2 × MBM29LV160TE
从整个系统设计来看,很明显是:
富士在后续 PCB Revision 中采用了兼容 Flash 替代方案。
因此不能看到 Flash 厂牌不同,就认为两块主板完全不兼容。
真正重要的是:
×16 数据模式;
Top Boot;
TSOP48;
3.3V;
地址结构;
控制信号;
数据线对应关系。
九、为什么只搬一颗 Flash 极有可能直接黑屏
这是整个案例最值得注意的技术问题。
很多工业触摸屏采用的是:
CPU
│
└──16 bit Flash
所以维修人员习惯于:
找到 Flash → 拆掉 → 搬过去。
但 UG420H-TC1 很可能并不是这种结构。
它更接近:
SH7708S
│
32 bit DATA BUS
│
┌────────┴────────┐
│ │
FROM1 FROM2
×16 ×16
│ │
└────────┬────────┘
│
Flash Memory
如果是这种存储结构,那么 CPU 读取一个 32 位数据时:
一颗 Flash 提供其中 16 位;
另一颗 Flash 提供另外 16 位。
假设只换 FROM1,而 FROM2 保留新板原来的内容,就可能出现:
FROM1:旧机器数据
FROM2:新机器数据
CPU 得到的是:
旧数据的一半 + 新数据的一半
最终组成的 32 位机器码自然完全错误。
CPU 启动后的第一阶段就可能跑飞。
表现出来就是:
黑屏;
没有开机画面;
无蜂鸣;
通讯失败;
看起来像主板彻底损坏。
实际上 CPU、DRAM、显示驱动甚至可能全部正常。
只是:
启动代码已经无法正确执行。
十、这也很好地解释了“为什么其他触摸屏搬一颗 Flash 可以,富士这台却不行”
维修现场经验经常会出现这种情况:
其他品牌 HMI:
搬一颗 Flash,程序就出来了。
而某些 Fuji POD:
搬完以后好板也不开机。
这不是富士有什么特殊的软件保护机制所必然导致,更可能是因为硬件架构不同。
如果其他 HMI 使用:
16位CPU
│
一颗×16 Flash
那么一颗 Flash 就包含完整的机器码。
而这台 UG420H-TC1:
32位 CPU BUS
│
×16 Flash + ×16 Flash
两颗 Flash 很可能实际上是一个逻辑整体。
所以从维修角度不能把它理解成:
“两颗独立程序芯片。”
更应该理解成:
一组双芯片 Flash Bank。
这也是本文最核心的结论。
十一、FROM1 和 FROM2 谁保存系统、谁保存用户工程?
这里必须保持严谨。
仅凭 PCB 照片不能直接下结论说:
FROM1 是系统程序,FROM2 是用户工程。
事实上,如果它们组成 32 位数据总线,那么这种说法很可能就是错误的。
完全可能出现:
FROM1:
D0~D15
FROM2:
D16~D31
那么每一条 32 位数据都同时分布在两颗 Flash 中。
这种情况下:
系统程序在两颗里面;
用户工程也在两颗里面;
字库也可能在两颗里面;
画面资源也在两颗里面。
因此正确的维修思想应该是:
把 FROM1 + FROM2 当成一个不可拆分的数据集合。
除非真正读取 BIN 并分析内容,否则不要人为定义:
“这一颗系统,另一颗用户程序”。
十二、最稳妥的方法不是“搬芯片”,而是“复制数据”
如果条件允许,最推荐的做法是:
第一步:先读取旧板 FROM1
拆下:
M5M29GT160BVP-80
使用支持该型号的编程器和 TSOP48 转接座。
保存为:
OLD_FROM1.BIN
不要只读一次。
建议:
连续读取至少三次。
然后比较:
三次完全一致,才能说明读取可信。
第二步:读取旧板 FROM2
同样保存:
OLD_FROM2.BIN
继续执行:
多次读取 + 校验。
这是非常重要的。
老 Flash 已经工作二十多年,如果芯片本身存在弱单元,一次读出的 BIN 并不一定绝对可信。
十三、正常二手板也必须先完整备份
这是维修中最容易忽视的一步。
既然买回来的二手板目前:
正常启动。
那么它本身就是非常珍贵的参考样本。
在对它进行任何修改以前,都应该把:
NEW_FROM1.BIN
NEW_FROM2.BIN
全部读出来。
以后即使实验失败,只要 PCB 没有物理损坏,就可以把正常板恢复原状。
这一步相当于:
给正常主板做“硬件镜像备份”。
千万不要直接擦掉新板 Flash 后才发现:
旧数据读取失败。
十四、特别注意 FROM1 和 FROM2 不能搞反
拆 Flash 前一定要做标记。
建议:
OLD-F1
OLD-F2
NEW-F1
NEW-F2
并拍照记录:
1脚方向。
因为即使两个 Flash 型号完全一样,内部内容也可能不同。
如果它们构成 32 位数据宽度:
FROM1 可能对应:
D0~D15
FROM2 可能对应:
D16~D31
一旦烧录时对调:
F1 → F2
F2 → F1
CPU 仍然无法启动。
所以必须做到:
FROM1 对 FROM1,FROM2 对 FROM2。
十五、旧 M5M29GT160 的 BIN 能不能直接烧进新的 MBM29LV160TE?
从硬件规格看,这两种器件非常接近:
| 项目 | 旧板 | 新板 |
|---|
| 型号 | M5M29GT160BVP-80 | MBM29LV160TE-70PFTN |
| 容量 | 16 Mbit | 16 Mbit |
| 数据组织 | ×8 / ×16 | ×8 / ×16 |
| 供电 | 3.3V 系 | 3V 系 |
| Boot | Top Boot | Top Boot |
| 封装 | TSOP48 | TSOP48 |
| 用途 | NOR Flash | NOR Flash |
因此二者具备很强的硬件兼容基础。
但维修时仍然不能简单地说:
型号兼容,所以随便烧。
需要注意:
芯片本身的擦除/编程命令体系可能不同。
不过这是编程器负责解决的问题。
当使用专业编程器时:
读取 Mitsubishi:
选择:
M5M29GT160BVP
烧写 Fujitsu:
选择:
MBM29LV160TE
不要为了省事在编程器里始终选同一个型号。
编程器负责采用正确的:
Device ID;
擦除算法;
编程算法;
Verify 算法。
最终写进去的 BIN 数据本身可以保持不变。
十六、建议使用“新芯片测试”,不要第一次就擦正常板原 Flash
如果有条件,维修风险最低的方法甚至不是直接改正常板。
可以买两颗:
与新板相同或者确认完全兼容的 Flash。
例如:
MBM29LV160TE
然后:
旧 FROM1 BIN → 新 Flash A
旧 FROM2 BIN → 新 Flash B
再安装到二手板。
这样原来二手板的两颗 Flash 可以完整保存。
如果新程序启动失败:
把原来的两颗重新装回去;
正常板理论上就可以恢复。
这种方式比:
擦掉二手板唯一一套正常 Flash
安全得多。
十七、为什么不建议继续搬 LC32V4265
由于 LC32V4265 所在位置已经由 PCB 明确标注为:
DRAM
因此程序复制时:
不需要搬。
同样:
HYUNDAI GM71VS18163
也不需要搬。
除非维修目标变成:
原板 DRAM 本身损坏,需要维修硬件故障。
否则从“恢复用户程序”的角度,它们没有意义。
十八、其他小 IC 基本也和工程数据没有关系
本次排查过程中还发现:
HIN202 一类接口器件;
SN75ALS 系列接口/总线器件;
74HC245;
74HC541;
LVX4245;
小型逻辑门;
电源监控和复位芯片。
这些器件的作用主要集中在:
RS-232;
RS-422/485;
地址/数据缓冲;
电平转换;
电源监控;
CPU RESET;
逻辑门;
总线驱动。
它们不是非易失工程存储器。
所以:
不要为了“程序复制”而盲目搬这些 IC。
拆得越多,损坏正常板的概率越大。
十九、实际上应该搬哪些芯片?
根据目前实物分析,可以总结为:
| 器件 | 作用判断 | 程序迁移 |
|---|
| HD6417708S | 主 CPU | 不搬 |
| M5M29GT160BVP ×2 | 旧板 Flash ROM | ★★★★★ 核心 |
| MBM29LV160TE ×2 | 新板 Flash ROM | ★★★★★ 核心 |
| LC32V4265 | DRAM 区域 | 不搬 |
| GM71VS18163 | DRAM | 不搬 |
| HIN202 等 | 通信接口 | 不搬 |
| 74HC245/541 等 | 总线逻辑 | 不搬 |
| 复位/电源监控 IC | 系统管理 | 不搬 |
因此真正的目标已经从最初猜测的:
一颗大 Flash
缩小到:
FROM1 + FROM2 两颗并行 Flash。
二十、如果只能采用“芯片搬运法”,应该怎么做?
如果没有合适的编程器,而必须直接把旧芯片搬到新板,那么:
不能只搬一颗。
应该将:
旧板:
M5M29GT160 FROM1
+
M5M29GT160 FROM2
作为一整套处理。
但即使如此,也仍然建议:
先读取 BIN。
因为一旦拆装过程中:
原始程序就可能永久丢失。
真正珍贵的不是芯片本身,而是:
芯片里面那套已经没有其他备份的现场工程数据。
二十一、TSOP48 拆焊尤其要注意焊盘损坏
20 多年前的 PCB 与今天新板不同。
经过长期热老化以后:
TSOP48 又具有:
因此拆卸时最忌讳:
焊锡没有完全熔化就硬撬。
正确原则是:
芯片自己“浮起来”以后再拿走。
如果需要用镊子明显施力才能抬起,说明还有焊点没有完全熔化。
二十二、程序复制成功以后,不要马上认为维修完成
烧写完成后建议按照以下顺序检查:
1. 不接 PLC,单独启动 HMI
观察:
电流是否正常;
CPU 是否运行;
背光是否正常;
有没有蜂鸣;
有没有 Fuji/POD 启动画面。
2. 检查 CPU 晶振
SH7708 周围晶振应该存在稳定振荡。
如果 Flash 数据正确但 CPU 无晶振:
那就是硬件故障,而不是程序问题。
3. 测 FROM1/FROM2 的 CE、OE
示波器观察:
CE#
OE#
是否存在连续访问。
如果开机以后 Flash 总线出现高速活动:
说明 CPU 正在取指。
4. 判断 RESET
如果 RESET 一直有效:
CPU 根本没有开始执行 Flash。
这种情况下继续研究程序内容没有意义。
应该先查:
3.3V;
5V;
Reset supervisor;
晶振;
CPU 供电。
二十三、黑屏并不等于“程序没了”
这一点对于老触摸屏维修尤其重要。
旧 UG420H-TC1:
通电没有显示。
不能自动推出:
Flash 没有程序。
可能原因还包括:
LCD 本体损坏;
背光逆变器故障;
LCD 电源异常;
CPU Reset;
DRAM;
晶振;
LCD 控制电路;
接口排线;
Flash 总线某根地址线故障。
所以在拆 Flash 以前,如果条件允许,最好用示波器观察:
CPU CLK
RESET
FLASH CE
FLASH OE
如果 CPU 上电以后一直在访问 FROM1/FROM2,那么:
原来的程序极有可能仍然存在。
此时最重要的任务就是:
把两个 Flash 的内容安全保存下来。
二十四、为什么“先读,再搬”比“直接搬芯片”专业得多
直接搬芯片实际上是在拿唯一原始数据冒险。
而使用编程器:
旧板:
FROM1
↓
OLD_FROM1.BIN
FROM2
↓
OLD_FROM2.BIN
从这一刻开始:
即使芯片后来损坏,只要 BIN 文件还在,程序就不会真正丢失。
随后可以:
换新 Flash;
换第二块主板;
多次实验;
分析文件;
对比新旧 firmware;
找出用户程序区域。
所以专业维修真正追求的是:
先把不可再生的信息变成可复制的数据文件。
而不是一开始就追求:
“把芯片焊过去看看。”
二十五、还可以通过 BIN 对比进一步研究富士程序结构
取得四个文件以后:
OLD_FROM1.BIN
OLD_FROM2.BIN
NEW_FROM1.BIN
NEW_FROM2.BIN
还可以继续进行二进制分析。
例如比较:
哪些区域完全相同;
哪些区域不同;
是否存在大量 FF;
是否存在 ASCII 字符串;
是否出现 PLC 型号;
是否存在画面名称;
是否存在 Fuji 固件版本;
是否存在项目名称。
如果新旧固件大部分相同,只有部分区域不同,那么就可能进一步定位:
用户工程所在 Flash 地址范围。
未来甚至有可能不用复制整个 Flash,只修改工程数据区域。
但第一次维修没有必要这样做。
最稳妥还是:
完整镜像两颗 Flash。
二十六、UG420H-TC1 程序迁移的推荐标准流程
综合上述分析,可以建立一套相对可靠的维修 SOP:
阶段一:硬件确认
确认:
型号一致:UG420H-TC1
CPU一致:HD6417708S
Flash组织:FROM1 + FROM2
记录 PCB Revision。
阶段二:保护正常样板
读取正常二手板:
NEW_FROM1
NEW_FROM2
做至少两份备份。
阶段三:抢救旧程序
读取旧板:
OLD_FROM1
OLD_FROM2
每颗至少读取三次。
确保 HASH 完全一致。
阶段四:准备目标 Flash
最好准备两颗备用兼容 Flash。
分别写入:
OLD_FROM1
OLD_FROM2
写完必须 Verify。
阶段五:安装
严格保持:
FROM1 → FROM1
FROM2 → FROM2
以及:
Pin 1 方向一致。
阶段六:第一次通电
限流供电。
观察:
电流;
CPU RESET;
Flash CE;
晶振;
LCD。
阶段七:程序验证
如果正常进入用户画面:
再连接 PLC。
检查:
通讯参数;
地址;
按键;
报警;
数据显示;
配方;
时间;
通讯口。
这样才能确认整个工程真正恢复。
二十七、最终技术结论
通过对 Fuji Electric UG420H-TC1 两块不同 Revision 主板的实物分析,可以得出几个对于维修非常重要的结论。
第一,HD6417708S 是一颗支持 32 位外部总线的 SH-3 RISC CPU,因此不能按照普通 8 位或 16 位 HMI 的思路简单推断存储结构。
第二,板上真正明确标记为非易失 Flash 的区域是:
FROM1 和 FROM2。
旧板使用两颗:
M5M29GT160BVP-80
新 Revision 主板使用两颗:
MBM29LV160TE-70PFTN
二者均属于约 16 Mbit、3V、×8/×16、Top-Boot 的并行 NOR Flash。
第三,两颗 ×16 Flash 与 SH7708 的 32 位外部总线能力相结合,再结合 PCB 上 FROM1/FROM2 的布局,可以高度怀疑它们以:
双芯片 32 位 Flash Bank
形式工作。
因此在没有进一步总线追线或 BIN 分析以前,应当把:
FROM1 + FROM2
视作不可分割的一套程序存储系统。
第四,板上的:
SANYO LC32V4265
位于明确标识的 DRAM 区域,因此不应再作为用户工程 Flash 处理。HYUNDAI GM71VS18163 等动态存储器同样不需要为了复制程序而搬运。
第五,这也能够合理解释一个维修中非常典型的现象:
只把旧板的一颗 Flash 搬到正常板以后,正常板反而黑屏。
如果两颗 Flash 分别承担 32 位数据总线的高、低 16 位,那么混合使用不同机器的 FROM1 和 FROM2,会直接破坏 CPU 读取到的 32 位程序代码,机器甚至可能连启动程序都无法执行。
所以,对于这类老式 Fuji POD,最可靠的维修方法不是“猜哪颗 IC 是程序然后搬过去”,而是:
先完整读取旧板 FROM1、FROM2 → 保存两个 BIN → 备份正常板两个 Flash → 将旧板两颗 Flash 数据作为一整套写入兼容 Flash → 保持 FROM1/FROM2 对应关系 → 再进行启动验证。
对于已经运行二十多年的老工业设备而言,真正不可替代的往往不是那块触摸屏硬件,而是里面唯一存在的一份工程程序。
先保护数据,再维修硬件;先理解总线结构,再决定搬哪颗芯片。
这才是老式工业 HMI 芯片级数据恢复最重要的原则。