car 板


LINE

看板 car  RSS
文长慎入 一、前言 HFM(Hot-Film Mass热膜式空气流量计),正式名称是HFM-SFI 全名是 HFM Sequential Multiport Fuel Injection/Ignition System 大多用在90年代的车子 例如我的1993年 W124 300E 2.8 现代车子常用OBD-II介面 类似一种通用的语言 HFM数据没办法直接用OBD-II读取(头不一样、协定也不一样) 最佳的沟通方式是透过HHT原厂诊断电脑 现在的通用车用诊断电脑也可以 但就差了点 也少了一些coding的功能 但我知道HFM系统的ECU已经具备完整的自我诊断与引擎管理功能 可惜一直都没有办法去读取 最近开始用CODEX来Vibe Coding 想到多年前我曾经看到一个网站 http://www.hfmscan.com/en/index.html 由一位应该是俄国人的W124车主研发出了HFM读取软体 软体有免费功能(可读/清故障码)跟付费升级(阅读即时数据) 可惜无论是当年 还是现在 写信给他都没有回应 考虑到他是俄国人.....希望他一切安好 现在既然有CODEX 或许可以结合原厂资讯与他这个软体 进行逆向工程与开发 最後做出一套我命名为HFMreader的程式 因为是中文系毕业的纯文组 很多叙述或理解可能有误 也有可能我觉得很新奇 但在资工人看来稀松平常的事情 以下部分内容是辅以AI的解释 若有错误还请不吝赐教 二、成本 订阅chatgpt 20 美金 CODEX点数 154.5 美金 AUTOOL汽车诊断协议检测盒 1208 NTD KKL 409.1 FTDI USB-OBDII 诊断接口 260 NTD 三、开发过程 1.透过wireshark侧录HFMscan跟HFM的沟通方式,得到基本数据。 接线方式非常土炮 透过诊断盒附的香蕉头<->OBDPIN转接头 一端插再KKL USB的OBDII头端PIN脚上 一端插到HFM诊断孔PIN1、8、16 搞半天根本没用到诊断盒 浪费一千二了 哭啊 透过这样 得到宝贵的资讯 它并不是像现代 OBD-II直接用标准 PID 询问转速、水温 串列端是 9600 baud 初始化时先用 8N1 拉一段大约 177 ms 的 K-Line BREAK 放开之後等约 214 ms 再用 space parity 传送 AA 线上会先看到自己的 echo AA,接着ECU 回 55 总之就是先经过特定的 K-Line 初始化 再以不同的 command、group 与 selector 向 ECU 要资料 每个 byte 还伴随 echo、ACK 与特定 parity 规则 我的理解有点像打电话前要先挂断电话几秒钟再打 打过去要说"你好" 电话中会听到自己的讲的"你好" 然後电脑会回"好你"表示收到了 然後才给数据 2.解读数据 拿到 ECU 回传的资料後 通常只是原始的 RAW byte 我根本看不懂 程式必须先依照资料型别判断它是单 byte、双 byte、signed value 或 bit flag 再按照对应的换算公式 把它转成真正有意义的数值 有些比较简单 例如RPM = RAW × 25 所以如果 ECU 回传 0x20 十进位就是 32 故RPM=32 ×25 = 800 有趣的是透过与原厂HHT诊断电脑对比 发现显示出来的最小单位就是25rpm 所以他只会显示675、700这样,不会有679、702 水温则比较困难 他是非线性的公式 我举两段为例 RAW 0xA4 = 164 相邻基准点: RAW 160 = 61°C RAW 176 = 70°C 61 + (70 - 61) × (164 - 160) ÷ (176 - 160) = 63.25°C RAW 0xBE = 190 相邻基准点: RAW 176 = 70°C RAW 192 = 80°C 70 + (80 - 70) × (190 - 176) ÷ (192 - 176) = 78.75°C 有趣的是 CODEX一开始推估的水温公式 对比我们透过逆工程、原厂资讯得到的公式 差异都在0.1~2度之间 真的蛮厉害的 同时也发现宾士仪表上的水温表准的不可思议 例如79.16就换刚好落紧贴80白线下方 81.25度则会紧贴80度水温的上方 转速表亦然 整体言而 公式的来源来自原厂资料、HFMscan拆解以及修车厂HHT数据对照 HFM还有近百种 甚至更多可读取的数据 从HHT上可以验证 从档位、时速、引擎发动时间到第几缸失火 这就有待日後慢慢验证了(至少等我下周CODEX用量重置) 3.故障码读取与清除 故障码读取也是一大难题 他的逻辑跟读live data不同 程式先完成 AA/55 同步 再送出 F1 读取命令 依序取得 ECU 内的故障位元资料 我的理解大概像把每一个放资料的抽屉打开检查一遍 得到的数据前半段代表 Stored(曾经发生、已记录) 後半段代表 Current(目前仍存在) ECU 传回的不是一整句故障描述 而是一组需要软体解码的位元图 所以还要对照原厂HFM诊断表才能正确转译 有趣的是 消除故障码的指令必须在读取指令後的大约0.22秒内发出 不然ECU会把下一个指令视为独立指令 然後就卡住了 所以我们看似按下"清除故障码" 但按下的瞬间他其实会再度重读一次然後迅速发出清除指令 为了准确测试 我可怜的W124被我拔了好几次MAF(空气流量计)的头 辛苦他气喘吁吁好几回了 附带一提 早在93年的W124 他的ECU就有学习功能了 原厂HHT诊断电脑也有学习数据归零甚至coding的功能 後者是可以调整ECU一些细部的version code 举例来说 手排/有触媒会有一组 XXX XXX XXX的序号 自排/无触媒 也会有一组OOO OOO OOO的序号 所以如果你自排改手排 电脑可以沿用 只要改这个序号 让电脑的自我认同从自排变手排即可 不然转速会拉不上去,因为电脑一直以为在空档 这也是未来我想尝试的功能 四、制作程式 交给CODEX,我完全不懂CODING。 只是交代他UI跟背後运算分开 方便我之後做一些酷酷的UI 同时加上读取ECU版本的功能 以便日後开发更多车子可以用的版本 研究中我发现少数数据读取或故障诊断 牵涉到不同版本的ECU 此外还读到自己电脑的生日 Hardware date: 35/92 Software date: 46/92 我猜35 46应该是周啦 跟轮胎一样 CODEX完成後就是实车试验 总之就是各种debug 地下停车场真的超热 不过CODEX其实蛮厉害的 大概来回三次就搞定 五、成品展示 https://youtu.be/EbqY9gmMMY8?si=iVEO-h4DcTltSMyf
前半段是实操第一人称视角 後半段是萤幕录影 车上超乱请大家无视 谢谢 先插PIN1(接地)、8(读资料)、16(12V,开红火才供电) 开红火(或发动) 选连接埠 然後点Connect 目前只有两个功能 读即时数据跟故障码读取/清除 即时数据的部分 目前公式确定的有 RPM、水温、节气门开度角度、含氧感知器电压、引擎负载、点火提前角 结合原厂数据+HHT推算的则是 IAT(进气温度)、MAF(空气流量) 这两个跟原厂HHT数值误差极小 例如怠速675~725转 HHT跟我们读到的平均值都落在15.1~15.3 但毕竟是CODEX推估的公式 所以还不能100%说是完全正确 故障码的部分 因为即时数据马上切过去会故障 原理大概就是ECU反应不过来吧 所以我做了等待2秒的设计 可以读故障码 然後会分成正在发生/曾经发生 CODEX坚持要在清除时跳一个警示"删除不代表修好" 真有趣 六、未来展望 其实坊间卖的诊断电脑也能做到这些 但我做这些最终极的目标 是透过带WIFI功能的ESP32插在引擎室内 然後传讯号到车内有触控萤幕的开发板上 再3D列印一个菸灰缸卡榫底座 制作一个能安放在菸灰缸位置的小萤幕 而不是像目前国内外加装的表 都要拉线 由於现在带WIFI或蓝牙的ELM327诊断头 不能直接传输HFM的数据 经过测试ELM会自己乱解读HFM的数据最後不是传不出来就是乱传 所以必须自己做一个可以忠实把HFM讯号传出来的发讯器 最後解读则交给车内开发板 不过由於我只有高中生活科技课焊过LED灯 这部分还得再研究 感觉道阻且长 同时也希望软体本身多一些功能 例如纪录最大/最小值、60秒波型图之类的 七、结语 经过两个礼拜的闭门造车 终於做出一个可用的程式 很庆幸自己生活在有AI的年代 当WIN11的笔电上跑出W124的数据与故障码 那种感觉真的好奇妙 又好开心 开发过程也开始能同理以前我学生看文言文的感觉了 每个字都懂 整句就鸭子听雷 早知道应该读理组的 恨文组 感谢车友Omega的技术文件 感谢宾皇的HHT支援与数据分享 感谢台大资工的好友阿尧给我的指点 感谢网友Rikki给我ESP32与开发板的知识补充 希望未来能继续改良 让每台电喷W124都能用 造福更多车友 八、参考资料 《Mercedes-Benz HFM-SFI Diagnostic Manual》(Mercedes-Benz,Diagnostic Manual · Engines,09/2000) Mercedes-Benz HFM-SFI Diagnostic Manual.pdf 《Mercedes-Benz Vehicle Communication Software Manual》(Snap-on Incorporated ,2011) Mercedes-Benz_Vehicle_Communication_Software_Manual.pdf Mercedes-Benz HFM-SFI Engine 111 Diagnostic Trouble Code(DTC)Memory 原厂故障 码表图片,页面 11/9~11/16 Mercedes-Benz W124 16-pin Data Link Connector/Impulse Counter Scan Tool 接线 图 HFM 故障码读取、清除与 ECM Memory Reset 中文操作说明 http://www.hfmscan.com/en/index.html 相关资料 -- / ̄﹨ ▁▁ / / ▕鸿木 . . 秋风章子 Pellaeon ξ /︻\  ̄ ̄ ψ η ;;  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ζ\/ --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.249.133.202 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/car/M.1786913461.A.9EB.html ※ 编辑: Pellaeon (111.249.133.202 台湾), 08/17/2026 04:52:06
1F:推 jemile1016 : 太神了 08/17 05:37
2F:推 zerg2150 : 神人阿! 08/17 06:56
3F:推 kokunmai : 这样捞过界是要理组情何以堪 08/17 07:15
可能W124车主之中 理组太少...
4F:推 kvlo : 厉害 08/17 07:17
5F:推 Behave : 不推不行 08/17 08:09
6F:推 maltum : 不能再笑文组的不会 coding 了呜呜呜 08/17 08:26
都是Vibe Coding...
7F:推 mylegacy : 推 08/17 08:27
8F:推 joybarbarian: 看不太懂但还是推 08/17 08:30
老实说我打了甚麽有些我也还在一知半解...
9F:推 Gloomy : 猛猛 08/17 08:31
10F:推 toasl : 赞赞要推 08/17 08:32
11F:推 ohlong : 很猛! 通常都软体灌一灌usb工具就完事 08/17 08:34
12F:→ ohlong : Bmw的软体做得很神 manual 都很齐 08/17 08:35
96年之後的宾士就省事多了 最麻烦的就是我们这些出代电喷车主
13F:推 lkj12tw : 太厉害了,前W124车主推一个 08/17 08:40
14F:推 zizou : 哇喔.....算你狠 08/17 09:07
为了爱 勇往直前 我觉得最狠的是我五点睡 九点准时到办公室 我现在感觉快死了
15F:推 mouz : 太……太认真了吧 08/17 09:07
16F:→ zzahoward : 你这个可以拿去订阅XDDD 08/17 09:12
我有想过 之後完整版可以放github 然後大家依照心情斗内我 但如果还要开发更多功能 感觉真得跟大家收点钱 不然CODEX要等每周重置 上百种功能不知道要弄到民国几年
17F:推 ninnyshadow : 推一下 08/17 09:14
18F:推 DSB520 : 花那麽多 wireshark至少也赞助一下 ( ( ^ω^ ) 08/17 09:26
我到现在还搞不懂WIRESHARK跟USBNCAP的关系....
19F:推 KevinKURO : 替W124的车友跟你说声感谢 08/17 09:37
希望之後四缸也能证明可行
20F:推 ohlong : 忘了说 搞个蓝芽工具跟app就可以卖了 08/17 09:47
工具就是现在最大的障碍QQ 不过感觉卖不出去几套 因为车友已经越来越少XD
21F:推 doi : 先推推再跪 08/17 09:53
22F:推 zwk0606 : 好猛 08/17 09:55
23F:推 ohlong : 这种东西最好就手机架着能一直看最方便 08/17 09:55
对 如果可以搞定ELM327 或许手机的carscanner就可用
24F:推 whatzup1124 : 好屌 08/17 10:02
25F:推 GTAAK47s : 强 08/17 10:06
26F:推 mardy0422 : 强 08/17 10:11
27F:推 luke2007 : 超猛 08/17 10:17
28F:推 bgflyer : 俄国人那组WiFi 版本的我有装在车上,有需要的话可 08/17 10:19
29F:→ bgflyer : 以借你测试。 08/17 10:19
感谢大大无私分享 我再站内您
30F:推 leo255112 : 超猛,文组变码农喔 08/17 10:23
为了爱车 不惜当码农爆肝...
31F:推 Mercedes124 : 我帐号可以送你 08/17 10:27
都靠我朋友的技术支援
32F:推 lll156k1529 : 太神啦 Mercedes Classic Center都没你专业 08/17 11:05
他们有原厂作弊神器HHT...
33F:推 CircusJoker : 鸿章太猛了吧,还不推爆xD 08/17 11:08
感谢大大 有机会我也想延伸到202 140上
34F:推 ChangeHeart : 太神!! 08/17 12:32
35F:推 h311013 : 修成精了 08/17 13:04
36F:推 QuentinHu : 太猛 08/17 14:08
37F:推 kalapon : 听起来很像是一般的serial port 协定,只是data 编 08/17 19:52
38F:→ kalapon : 码每家不同,所以要猜 08/17 19:52
39F:→ kalapon : ESP32还是用线把信号拉进驾驶室,避免震动和密封的 08/17 19:52
40F:→ kalapon : 问题,5V也方便取得 08/17 19:52
完全不考虑拉线进来XD会动到内装的就不考虑了 ※ 编辑: Pellaeon (118.163.72.223 台湾), 08/18/2026 11:16:47
41F:推 Alllllogo : 推推!! 08/18 14:11
42F:推 wlv : 推 08/18 19:04
43F:推 gx9900824 : 爱它 就修它 给尊重 08/18 23:06







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP