> For the complete documentation index, see [llms.txt](https://mujoseph.gitbook.io/mujoseph-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mujoseph.gitbook.io/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/high-resolution-timer-hrtim/timd-pulse-skipping-timer.md).

# TIMD: Pulse-Skipping Timer

## Role

Pulse-skipping timer. Resets on every [EEV8](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/high-resolution-timer-hrtim/external-event-eev-configuration.md#eev8-over-current-detection-ocd-signal) (OCD) event. A HRTIM [*Burst DMA*](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/high-resolution-timer-hrtim/timd-pulse-skipping-timer/pulse-skipping-via-burst-dma-transfers.md#hrtim-burst-dma-sequence-within-the-drsstc_driver-context) write triggered by a [TIMB Capture 2](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/high-resolution-timer-hrtim/timb-half-bridge-1-driver.md#timb-capture-2-role) rearranges [TIMB](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/high-resolution-timer-hrtim/timb-half-bridge-1-driver.md)/[TIMC](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/high-resolution-timer-hrtim/timc-half-bridge-2-driver.md) set sources so a cycle can be skipped when current exceeds the OCD threshold.

{% hint style="info" %}
Preload for TIMD is disabled: Writes to TIMD SFRs bypass the shadow registers and are directly applied to the active registers.
{% endhint %}

## Overview

<div data-with-frame="true"><figure><img src="https://2297250131-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzNHSl7dsTOS0XjlMXnIe%2Fuploads%2FIMMycW4NKvVbxBhetT0c%2Femma_mk1_hrtim_timd_overview.svg?alt=media&amp;token=9847f48b-91e1-48e1-8fb1-6e6d6da03092" alt=""><figcaption><p>HRTIM TIMD high-level overview</p></figcaption></figure></div>

## TIMD Compare 1 Role

TIMD Compare 1 event is used to restore the normal H-bridge drive configuration after an [OCD](/mujoseph-docs/emma-mk1-drsstc/hardware-overview/electrical-design/pcb-design/current-sense.md#over-current-detection-ocd) event triggers [pulse-skipping](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/high-resolution-timer-hrtim/timd-pulse-skipping-timer/pulse-skipping-via-burst-dma-transfers.md).

The resonant period stored in [TIME Capture 1](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/high-resolution-timer-hrtim/time-resonant-frequency-capture.md#time-capture-1-role) is loaded into TIMD Compare 1 via [DMA2 CH4](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/dma-configuration.md#dma2-channel-4-role) on a [TIMC Capture 2](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/high-resolution-timer-hrtim/timc-half-bridge-2-driver.md#timc-capture-2-role) event. TIMC Capture 2 is triggered by an [EEV8](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/high-resolution-timer-hrtim/external-event-eev-configuration.md#eev8-over-current-detection-ocd-signal) (OCD) event; this ensures that TIMD is kept up-to-date with the current resonant period at every detected OCD.

TIMD is reset on every EEV8 (OCD) event. When the TIMD count reaches the resonant period stored in Compare 1, [DMA2 CH3](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/dma-configuration.md#dma2-channel-3-role) is triggered, which restores the states of the set source registers (`HRTIM.SETyxR` ) for TIMB [TB1/TB2](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/high-resolution-timer-hrtim/timb-half-bridge-1-driver.md#timb-outputs-tb1-and-tb2-roles) and TIMC [TC1/TC2](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/high-resolution-timer-hrtim/timc-half-bridge-2-driver.md#timc-outputs-tc1-and-tc2-roles) outputs.

The TIMD Compare 1 event also sets the output [TD2](#timd-output-td2-role) (see below).

## TIMD Output TD2 Role

<div data-with-frame="true"><figure><img src="https://2297250131-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzNHSl7dsTOS0XjlMXnIe%2Fuploads%2F0L5SafvinbpbGD5Irpqc%2Fimage.png?alt=media&amp;token=21f9d28f-f0c8-4402-baf7-e45b782c1643" alt="" width="563"><figcaption><p>Output TD2 block diagram sub-section from <a href="#overview">overview</a></p></figcaption></figure></div>

TIMD TD2 is used as a blanking source for the [EEV8](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/high-resolution-timer-hrtim/external-event-eev-configuration.md#eev8-over-current-detection-ocd-signal) (OCD) event within the TIMC context (which is used to trigger [TIMC Capture 2](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/high-resolution-timer-hrtim/timc-half-bridge-2-driver.md#timc-capture-2-role)). EEV8 is unmasked when TD2 is high. Therefore, an OCD event begins the masking period by bringing TD2 low, then after one resonant period (TIMD Compare 1 hit) or [EEV9](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/high-resolution-timer-hrtim/external-event-eev-configuration.md#eev9-prf-cycle-start) (next PRF cycle has start) event, TD2 goes high and allows TIMC Capture 2 to be triggered.

TD2 fulfills the same role as [TA2](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/high-resolution-timer-hrtim/tima-resonant-cycle-timing-reference.md#tima-output-ta2-role); it prevents a burst of OCD events from overrunning the [pulse-skip](/mujoseph-docs/emma-mk1-drsstc/drsstc_driver-firmware-overview/high-resolution-timer-hrtim/timd-pulse-skipping-timer/pulse-skipping-via-burst-dma-transfers.md) DMA.
