Tooth Control Table

Overview

The main goal of the table iconTooth Control table is to subdivide the physical timing wheel teeth (actual teeth) into regularly spaced internal teeth.

RPM Pickup Wizard

The RPM Pickup wizard can be used to calculate the Tooth Control table values, given some common timing wheel types.

Tooth Control Table

The table iconTooth Control table is a low-level ECU feature that is not obvious but essential to understand if needing to accommodate unusual tooth patterns.

Each site in the table iconTooth Control table corresponds to the sequence of ECU interrupts (events) from actual teeth passing the crank sensor and are therefore not necessarily evenly spaced in time or angle; there will not be any events in the missing section of the wheel or there may be an extra tooth. Some timing wheels have more than one missing teeth section.

The aim is to select from these events an evenly spaced real-world pattern of internal teeth that can be used to schedule fuelling and ignition events. The internal teeth are used to subdivide the engine cycle into equal parts, and the ECU will increment internal tooth counters for each internal tooth detected, with separate counters for fuelling and ignition.

If using a wheel with 2 missing teeth in a row, for example, then the actual teeth will need to be divided by at least 3 (possibly more) to ensure that no internal teeth fall within the missing section and are also evenly spaced in terms of crank angles. Each internal tooth must coincide with an actual tooth passing the sensor; i.e. an interrupt/event occurs in the ECU for each internal tooth.

It is common to subdivide the timing wheel into 12 internal teeth. For example, with a 36-2 wheel that has 2 missing teeth in a row this can be divided by 3 into 12 equally spaced internal teeth that all coincide with actual teeth.

When actual teeth are detected, the ECU will increment channel iconA Tooth and use the value to look up the corresponding site in the table iconTooth Control table.

Each value in the table is composed of 3 digital ‘bits’ (1/0):

Value Bits Function
0 000 Do nothing.
1 001 Active Edge (Internal Tooth).
2 010 Alternate Edge (Used for Crank Alt Fire mode).
3 011 Reset channel iconA Tooth, if loss of sync. Indicates the end of the table.
4 100 Test for synchronization.
5 101 Active Edge (Internal Tooth) + test for synchronization.
6 101 Alternate Edge + test for synchronization.
7 111 Reserved (do not use this value).

Unless all sites in the table are required, the value ‘3’ should be placed at the end of the table so that loss of synchronization can be detected; if channel iconA Tooth overruns the valid section of the table then the ‘3’ shall be encountered and the ECU will reset channel iconA Tooth to 0. The channels channel iconSync Error and channel iconTiming Error will be incremented if this event occurs.

It is expected that the synchronization event(s) will be detected before the ‘3’ value is encountered, which would also result in channel iconA Tooth being reset to 0.

Active edges (internal teeth) are used to schedule fuelling and ignition events and are indicated by either ‘1’ or ‘5’ in the table. The ECU increments internal tooth counters channel iconFuel Tooth No and channel iconIgn Tooth No when an active edge (internal tooth) is encountered in the table iconTooth Control table.

The Synchronization Test bit (100), when set, will cause the ECU to test for synchronization. This allows for some reduction of CPU load when running at higher RPMs by skipping synchronization checks on all tooth interrupts (events) (which would be occurring much more frequently). This bit is normally set in the tooth control values near the end of the table where the missing / extra tooth is approaching, though for some other patterns there could be multiple synchronization points.

When not synchronized (channel iconStat Sync'd == OFF), the ECU can be configured to test for synchronization on all actual teeth by setting option iconTest Not Sync'd to ON (recommended).