Thanks mate that's valuable to know!
Cheers
VZ PIM
-
Snitz
- Posts: 16
- Joined: Sun Mar 03, 2024 3:54 am
- cars: VN L67 Dirt circuit race car
- Location: Eyre Peninsula, SA
Re: VZ PIM
Snitz
-
jxx
- Posts: 222
- Joined: Tue Oct 25, 2011 9:47 am
- cars: To many
- Location: Vic
Re: VZ PIM
Been a while, this thread is still going......
Just select any 93C46 should work (all the variants are compatible with each other).
Now the memory is hazy but i think there was an option for 8bit or 16bit option for read/write? or am i thinking of a different chip, bascially if you get a read and can see the OPEL string you have a good read.
Just select any 93C46 should work (all the variants are compatible with each other).
Now the memory is hazy but i think there was an option for 8bit or 16bit option for read/write? or am i thinking of a different chip, bascially if you get a read and can see the OPEL string you have a good read.
-
Tre-Cool
- Posts: 533
- Joined: Tue Oct 16, 2012 2:17 am
- cars: VY SS UTE, VX Drag Car
- Location: Perth
Re: VZ PIM
plugged a vz pim into my bench and captured the tx id's. setup with vin 6G1ZK42H26L822765.
works out to be a vz 6lt ute
The five messages
ID Rate Payload What it is
0x380 ~31 ms (32 Hz) 00 1A 00 00 A0 00 + counter Periodic status; data bytes static, only an integrity counter moves
0x388 ~31 ms (paired w/ 380) 0026000280000000 Fully constant status frame
0x4E9 ~1 Hz (6×) 0100030022 (DLC 5) Platform/config broadcast (constant)
0x670 ~1 Hz (3×) ASCII VIN/ID fragment
0x671 ~1 Hz (3×) ASCII VIN/ID fragment
0x380 — decoded the integrity scheme
Bytes 0–5 never change (00 1A 00 00 A0 00). Byte 6 is a 2‑bit rolling counter (0→1→2→3→wrap) and byte 7 is its checksum/complement:
ctr 00 → 00 | ctr 01 → 0F | ctr 02 → 0E | ctr 03 → 0D
i.e. byte7 = (–byte6) & 0x0F (low nibbles sum to 0). That's the classic GM rolling‑count + inverted‑count message‑integrity pattern. The actual payload isn't changing because the vehicle is static.
0x670 / 0x671 — the VIN
These are ASCII. Read straight: 670="67228L62", 671="H24KZ1G6". Read byte‑reversed (little‑endian per frame), 0x671 → "6G1ZK42H" — and 6G1 is the Holden / GM‑Australia VIN WMI. So these are VIN broadcast frames (passive — no diagnostic request needed), almost certainly completed by a 0x672 that wasn't in the capture.
0x4E9 — matches a known GM ID
0x4E9 is PPEI_Platform_Configuration_Data (a BCM platform/config broadcast) in the project's GlobalA - HS.dbc. The DBC version is DLC 6 with PTO/config bitfields, vs the VZ log's DLC 5 — same role, different‑generation layout, so treat the DBC as a hint, not a byte‑exact decode for VZ.
works out to be a vz 6lt ute
The five messages
ID Rate Payload What it is
0x380 ~31 ms (32 Hz) 00 1A 00 00 A0 00 + counter Periodic status; data bytes static, only an integrity counter moves
0x388 ~31 ms (paired w/ 380) 0026000280000000 Fully constant status frame
0x4E9 ~1 Hz (6×) 0100030022 (DLC 5) Platform/config broadcast (constant)
0x670 ~1 Hz (3×) ASCII VIN/ID fragment
0x671 ~1 Hz (3×) ASCII VIN/ID fragment
0x380 — decoded the integrity scheme
Bytes 0–5 never change (00 1A 00 00 A0 00). Byte 6 is a 2‑bit rolling counter (0→1→2→3→wrap) and byte 7 is its checksum/complement:
ctr 00 → 00 | ctr 01 → 0F | ctr 02 → 0E | ctr 03 → 0D
i.e. byte7 = (–byte6) & 0x0F (low nibbles sum to 0). That's the classic GM rolling‑count + inverted‑count message‑integrity pattern. The actual payload isn't changing because the vehicle is static.
0x670 / 0x671 — the VIN
These are ASCII. Read straight: 670="67228L62", 671="H24KZ1G6". Read byte‑reversed (little‑endian per frame), 0x671 → "6G1ZK42H" — and 6G1 is the Holden / GM‑Australia VIN WMI. So these are VIN broadcast frames (passive — no diagnostic request needed), almost certainly completed by a 0x672 that wasn't in the capture.
0x4E9 — matches a known GM ID
0x4E9 is PPEI_Platform_Configuration_Data (a BCM platform/config broadcast) in the project's GlobalA - HS.dbc. The DBC version is DLC 6 with PTO/config bitfields, vs the VZ log's DLC 5 — same role, different‑generation layout, so treat the DBC as a hint, not a byte‑exact decode for VZ.
-
Tre-Cool
- Posts: 533
- Joined: Tue Oct 16, 2012 2:17 am
- cars: VY SS UTE, VX Drag Car
- Location: Perth
Re: VZ PIM
different PIM. this would likely be for a 5l40e since it's now broadcasting additional data.
Vehicle state: engine OFF, key‑on, stationary. The decode is unambiguous:
0x3E9 Vehicle Speed & Distance → all speeds/distances 0 (valid but zero)
0x1F5 Trans → TransEstGear = Neutral, TrnsEngdState = Operating State Not Reached, shift lever "Unknown"
0x191 Torque → rails at -126.5 / -225 Nm (engine‑off placeholder values)
0x1A1 → AccPdlPos = Invalid, cruise inactive
0x4F1 → EngOffTmPT = 78 (engine‑off timer running)
Only one thing moves in 16 s: 0x0C9 Engine General Status cycles a keepalive rolling counter (DrThrtlOvrdDetAlvRlCnt 1→2→3 + its protection nibble). Everything else is byte‑for‑byte constant.
The genuinely useful bit — static config in 0x4F1 Powertrain Config Data
Signal Value Note
WhlDistPrRevDrvn 2087 mm tire rolling circumference (~664 mm dia)
WhlDistPrRevNDrvn 2087 mm non‑driven, same
DrvlnFnlAxleRatio 2.0 final drive — looks low; likely a default or needs scale‑check
EngOffTmPT 78 engine‑off time
That wheel‑distance‑per‑rev + axle ratio is directly relevant to your gear‑ratio / speed‑cal work — though the 2.0 axle ratio is suspicious (real ratios are ~2.7–4.1), so I'd verify its scaling before trusting it.
Vehicle state: engine OFF, key‑on, stationary. The decode is unambiguous:
0x3E9 Vehicle Speed & Distance → all speeds/distances 0 (valid but zero)
0x1F5 Trans → TransEstGear = Neutral, TrnsEngdState = Operating State Not Reached, shift lever "Unknown"
0x191 Torque → rails at -126.5 / -225 Nm (engine‑off placeholder values)
0x1A1 → AccPdlPos = Invalid, cruise inactive
0x4F1 → EngOffTmPT = 78 (engine‑off timer running)
Only one thing moves in 16 s: 0x0C9 Engine General Status cycles a keepalive rolling counter (DrThrtlOvrdDetAlvRlCnt 1→2→3 + its protection nibble). Everything else is byte‑for‑byte constant.
The genuinely useful bit — static config in 0x4F1 Powertrain Config Data
Signal Value Note
WhlDistPrRevDrvn 2087 mm tire rolling circumference (~664 mm dia)
WhlDistPrRevNDrvn 2087 mm non‑driven, same
DrvlnFnlAxleRatio 2.0 final drive — looks low; likely a default or needs scale‑check
EngOffTmPT 78 engine‑off time
That wheel‑distance‑per‑rev + axle ratio is directly relevant to your gear‑ratio / speed‑cal work — though the 2.0 axle ratio is suspicious (real ratios are ~2.7–4.1), so I'd verify its scaling before trusting it.