收藏本页 电工之家_电工基础知识学习网站
当前位置:电工之家 > 汽车维修 > 正文

丰田车速里程表算法原理说明

时间:2015-10-18 08:48 来源:电工之家 作者:编辑部

丰田车速里程表算法原理说明
丰田车系的里程算法与大众的里程算法都同样是为了解决芯片擦写次数限制问题而产生的。在分析丰田算法前我们先介绍两个名词:
  字节:在十六进制的数据中我们把两个连着的字符称为“字节”,如:FF、00、12、34等。
  字 :由连着的两个字节组成的数据称之为“双字节”或“字”,如:80FF、1032、7ABE等。在绝大部分的调表算法中都使用“字”作最小的计数单位。

  现在我们来看一组丰田车的里程数据:
  97486公里记录为:80FF FFFF FFFF FFFF 7A8B F6FF 7A8B F6FF 7A8B F6FF
  这组数据为丰田车的里程记录数据,数据分为两部分。前一部分由四个字组成。即我们看到的:80FF FFFF FFFF FFFF,这组数据记录了从
0到4的里程数。
如:0KM FFFF FFFF FFFF FFFF
如:1KM 80FF FFFF FFFF FFFF
如:2KM 80FF 80FF FFFF FFFF
如:3KM 80FF 80FF 80FF FFFF
如:4KM 80FF 80FF 80FF 80FF
即是有几个80FF就为几公里。

那么超过了4公里是怎么记录的呢?
  那就是后半部的数据了。在后半部的数据中我们看到了重复了三次的“7A8B F6FF”,这三组数据代表的数值都是一样的,只是为了提高数据的可靠性而重复记录了三次,在修改数据时我们必须把三组数据同时修改,且其数值都必须一样。
现在我们来分析一下这组数据的含义。首先我们先看一下下面的这个数据转换表:
6 7 8 9 A B C D E F
| | | | | | | | | |
9 8 7 6 5 4 3 2 1 0
对照上表我们可以把数据:7A8B F6FF 转换为: 8574 0900。
在8574 0900这组数据中它们的排列方式为:[十位][个位][千位][百位] [十万位][万位][千万位][百万位]。
我们将它们按我们日常的记数顺序重新排列一下,可得到:00097485。
97485加上前面一个80FF代表的一公里,那么可得到公里数为97486公里。

为了让大家加深印象,我再举例几个里程数据:
80FF FFFF FFFF FFFF EF78 FFFF EF78 FFFF EF78 FFFF :8710+1=8711km
80FF 80FF FFFF FFFF EFFF FFFF FFFF FFFF FFFF FFFF :10+2=12km
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF :0+0=0km
80FF FFFF FFFF FFFF 669A E8FF 669A E8FF 669A E8FF :176599+1=176600km
80FF 80FF 80FF FFFF FFCF 69FF FFCF 69FF FFCF 69FF :963000+3=963003km
80FF 80FF 80FF 80FF CAFF FFFF CAFF FFFF CAFF FFFF :35+4=39km

注:
[1]在某些[2]在某些车中每个80FF代表2公里;丰田车中以FF80代替80FF;

[3]在调表时建议大家可以把前半部数据都改为FFFF,只需修改后半部三组数据,可以简化计算。

此算法适用车型:97-2000年款丰田佳美、98款-2000年凌志LS400、96-2000款凌志ES300、97-2000年款GS300,以及部分其它车型。