SLOS616D March   2010  – March 2015 THS788

PRODUCTION DATA.  

  1. Features
  2. Applications
  3. Description
  4. Simplified Schematic
  5. Revision History
  6. Pin Configuration and Functions
  7. Specifications
    1. 7.1 Absolute Maximum Ratings
    2. 7.2 ESD Ratings
    3. 7.3 Recommended Operating Conditions
    4. 7.4 Thermal Information
    5. 7.5 Electrical Characteristics
    6. 7.6 Host Serial Interface DC Characteristics
    7. 7.7 Host Serial Interface AC Characteristics
    8. 7.8 Power Consumption
    9. 7.9 Typical Characteristics
  8. Detailed Description
    1. 8.1 Overview
    2. 8.2 Functional Block Diagram
    3. 8.3 Feature Description
      1. 8.3.1 Counter, Latches, Clock Multiplier
      2. 8.3.2 Channels, Interpolator
      3. 8.3.3 FIFO
      4. 8.3.4 Calibration, ALU, Tag, Shifter
      5. 8.3.5 Serial Interface, Temperature, Overhead
    4. 8.4 Device Functional Modes
      1. 8.4.1 Serial-Results Interface
      2. 8.4.2 Result-Interface Clock
      3. 8.4.3 DDR Mode
      4. 8.4.4 Output Interface Throughput
      5. 8.4.5 Counter Range
        1. 8.4.5.1 Preconditioning Holdoff Delay Time
        2. 8.4.5.2 Arming Conditions
      6. 8.4.6 Resister Map Descriptions for All Channels and Central Register
    5. 8.5 Programming
      1. 8.5.1 Host Processor Bus Interface
        1. 8.5.1.1  Serial Interface
        2. 8.5.1.2  Read vs Write Cycle
        3. 8.5.1.3  Parallel (Broadcast) Write
        4. 8.5.1.4  Address
        5. 8.5.1.5  Data
        6. 8.5.1.6  Reset
        7. 8.5.1.7  Chip ID
        8. 8.5.1.8  Read Operations
        9. 8.5.1.9  Write Operations
        10. 8.5.1.10 Write Operations to Multiple Destinations
      2. 8.5.2 Serial-Results Interface and ALU
        1. 8.5.2.1 Event Latches
        2. 8.5.2.2 FIFO
        3. 8.5.2.3 Result-Interface Operation
        4. 8.5.2.4 Serial Results Latency
        5. 8.5.2.5 TMU Calibration
        6. 8.5.2.6 Temperature Sensor
    6. 8.6 Register Maps
      1. 8.6.1 Register Address Space
      2. 8.6.2 Register Map Detail
  9. Application and Implementation
    1. 9.1 Application Information
    2. 9.2 Typical Application
      1. 9.2.1 Design Requirements
      2. 9.2.2 Detailed Design Procedures
        1. 9.2.2.1 Time Measurement
        2. 9.2.2.2 Output Clock to Data/Strobe Phasing
        3. 9.2.2.3 Master Clock Input and Clock Multiplier
        4. 9.2.2.4 Temperature Measurement and Alarm Circuit
        5. 9.2.2.5 LVDS-Compatible I/Os
        6. 9.2.2.6 LVDS-Compatible Inputs
        7. 9.2.2.7 LVDS-Compatible Outputs
      3. 9.2.3 Application Curve
  10. 10Power Supply Recommendations
  11. 11Layout
    1. 11.1 Layout Guidelines
    2. 11.2 Layout Example
    3. 11.3 Thermal Considerations
  12. 12Device and Documentation Support
    1. 12.1 Trademarks
    2. 12.2 Electrostatic Discharge Caution
    3. 12.3 Glossary
  13. 13Mechanical, Packaging, and Orderable Information

Package Options

Mechanical Data (Package|Pins)
Thermal pad, mechanical data (Package|Pins)
Orderable Information

8 Detailed Description

8.1 Overview

The THS788 TMU includes four measurement channels plus a synchronization channel optimized to make high-accuracy time-interval measurements. The following is a brief description of the various circuit blocks and how they interact to make and process the time measurements.

8.2 Functional Block Diagram

THS788 tmu_fbd_los776.gif

8.3 Feature Description

8.3.1 Counter, Latches, Clock Multiplier

The center of the TMU is a master synchronous counter which counts continuously at a rate of 1.2 GHz. This is the master timing generator for the whole TMU and defines the basic timing interval of 833 ps, which is further subdivided with Interpolator circuitry. The output bits of the counter are connected to five sets of latches, which can latch and hold the counter state on command from each of the channels. In this way, when an event occurs, the counter time is recorded in the particular channel’s latches. The latch output is converted to CMOS levels and passed to the respective channel’s FIFO buffer, which is 15 samples deep. The counter 1.2-GHz clock is derived from the MCLK input to the TMU at 200 MHz. This MCLK input is critical to the accuracy of the TMU, and any error in frequency is reflected as errors in time measurement. Likewise, jitter propagates to the counter and other circuits and adds noise to the measurement accuracy. The 200-MHz clock is the input to a clock multiplier. The clock multiplier uses delay-lock loop (DLL) techniques and combinatorial logic to construct a six-times clock from the reference input. This 1.2-GHz clock is passed to a high-power clock buffer, which drives all the circuitry in the master counter and many other circuits in the TMU.

8.3.2 Channels, Interpolator

There are four event channels and one sync channel. The event channels are identical, and the sync channel contains most of the event channel circuitry, but without a FIFO. An input pulse to the sync channel serves as the reference time zero for the TMU. An event input to a channel is compared to the sync time reference, and the time delay is calculated as the time difference modified by a calibration value. An event input follows the following signal path: the event input edge sets a fast latch (hit latch). The output of the latch is current-buffered and applied to the interpolator. The interpolator uses DLL techniques to subdivide the counter interval of 833 ps into 64 time intervals of 13 ps each. A large array of fast latches triggered by the hit latch captures the state of the 64 time intervals and logically determines 6 bits of timing data based on where the event occurred in the 833-ps clock interval. These 6 bits are latched and eventually passed to the FIFO, where they become the LSBs of the time-to-data conversion. A synchronizer circuit is also connected to the 64-latch array and removes the possible timing ambiguity between the 64 latches and the master counter. This takes a few 1.2-GHz clock pulses. When this process is complete, a pulse occurs which captures the master counter bits into the channel latches. A subsequent pulse loads all the bits from the interpolator and the counter into the channel FIFO. While this is happening, the hit latch is being reset, and the channel is prepared to accept another event edge. This process is fast enough to accept and measure event edges as close together as 5 ns.

8.3.3 FIFO

Each event channel contains a 15-deep, 40-bit-wide FIFO, which allows for rapid accepting and measurement of event inputs and a user-defined data-output rate of those measurements.

8.3.4 Calibration, ALU, Tag, Shifter

The output of the FIFO is controlled by the shifter, which is a free-running parallel-to-serial register. The shifter generates a load pulse, which transfers the data in the FIFO output into an arithmetic logic unit, which does the sync time and calibration time subtractions and then parallel-loads the result into the output serial register. An LVDS output buffer outputs the clock, data, and strobe signals to transfer the time-measurement data to the user. A TAG bit is appended to the leading edge of the data word. Currently the TAG feature is not implemented. The bit will always be 0 representing data.

8.3.5 Serial Interface, Temperature, Overhead

The TMU functions and options are controlled and read out by a serial interface built in CMOS logic that can operate up to 50 MB/s. There is one central controller which then drives registers, counters, etc., in each channel. A temperature sensor is located central to the chip and outputs a voltage proportional to the chip temperature. If the chip temperature rises above 141°C, the TMU powers down and outputs an overtemperature alarm signal. The TMU does not restart without a command through the serial interface. A bias circuit provides a regulated current bias and voltage reference for the TMU. The serial controller sequences some of the bias circuits to account for some acquisition times, and thereby, turns on the TMU.

8.4 Device Functional Modes

8.4.1 Serial-Results Interface

The TMU captures time-stamp results and sends them to external logic using an LVDS serial-results port. The serial-results port consists of a clock signal (RCLK), four strobe signals (Rstrobex) and four data signals (Rdatax). The Rstrobex signal indicates that a time-stamp data transfer is about to begin for the corresponding channel.

The serial-result interface can be programmed to have a variable data-length format. Three register bits (Rlength0, Rlength1, and Rlength2), are used to program the required data transfer formats.

The default length of the data field is 40 bits, and it is in 2s-complement format. Table 1 defines the various data formats.

Table 1. Result Transfer Format and Time Range

RESULT TRANSFER FORMAT TIME RANGE Rlength2 Rlength1 Rlength0
8 bits –1.653 ns to 1.667 ns 0 0 0
16 bits –426.626 ns to 426.639 ns 0 0 1
24 bits –109.22 µs to 109.22 μs 0 1 0
32 bits –27.96 ms to 27.96 ms 0 1 1
40 bits –7.158 s to 7.158 s 1 0 0

Table 1 refers to the 2s-complement format. Therefore, the 8-bit result represents a number between –127 and 128.

8.4.2 Result-Interface Clock

The result-interface clock (RCLK) is generated internally and runs at a maximum frequency of 300 MHz. RCLK is programmable and may be programmed using two register bits (RCLK_sel0 and RCLK_sel1) according to the following table.

8.4.3 DDR Mode

The result interface may be operated using one-half the clock frequency while keeping the data bit rate unchanged. In this mode, data is clocked out of the device using both edges of RCLK. A register bit (DDR_EN) is used to enable DDR mode.

Table 2. Result-Interface Clock

RCLK FREQUENCY (MHz)
NORMAL MODE
RCLK FREQUENCY (MHz)
DDR MODE
RCLK_sel1 RCLK_sel0
75 (default) 37.5 0 0
150 75 0 1
300 150 1 0

8.4.4 Output Interface Throughput

Multiple data-word lengths and bit speeds, combined with a 15-sample-deep FIFO, give exceptional flexibility to output data throughput. The actual throughput is easily calculated, keeping in mind the following: The selected word length includes N – 1 data bits and 1 sign bit, which are sent out last as the MSB. Two bit times do not have meaningful data during the Rstrobe high time. The TAG bit is appended to the data bits and is sent first. Example: for a bit rate of 300 MB/s and 16-bit length, the bit time is 3.33 ns, and the total word length is 16 + 1 + 2 = 19 bit times. Therefore, the throughput is 15.8 M samples/s. This is a constant output sample rate. The TMU can take time measurements at up to 200 MS/s. The 15-deep FIFO buffers these two rates until it is filled, in which case samples are lost.

8.4.5 Counter Range

The coarse counter has three supported ranges: 18, 27, and 34 bits. The coarse counter applies to the 1.2-GHz clock.

Table 3. Counter Range

COUNTER RANGE MAX TIME RANGE CNT_RNG1 CNT_RNG0
Reserved X 0 0
18 bit 218.45 µs 0 1
27 bit 111.84 ms 1 0
34 bit 14.31 s 1 1

8.4.5.1 Preconditioning Holdoff Delay Time

The preconditioning circuitry controls the ON/OFF state of the event latches. Following a Sync input signal, the TMU checks for a number of conditions before it proceeds with the time-measurement operation. Event input signals are ignored until all arming conditions are met. These conditions are as follows:

The hold-off delay is a programmable delay used to inhibit the creation of the next timestamp until the hold-off delay has expired. A 16-bit register is used for the hold-off delay count register. One holdoff delay register exists for each of the four event input channels.

The generation of a timestamp reloads the value from the holdoff delay register into a down counting counter. Timestamp generation pauses until hold-off delay counter reaches zero. There are seven ranges for the holdoff delay maximum duration. Three register bits are used to specify the required range.

Table 4 defines these ranges.

Table 4. Preconditioning Holdoff Delay Time

RANGE HOffRng2_x HOffRng1_x HOffRng0_x FULL RANGE (ms) LSB (ns)
1 0 0 0 0.655 10
2 0 0 1 2.621 40
3 0 1 0 10.486 160
4 0 1 1 41.943 640
5 1 0 0 167.772 2560
6 1 0 1 671.089 10,240
7 1 1 X 2,684 40,960

In range 1 each count in the holdoff register delays the next possible timestamps by 10 ns (100-MHz clock period). The maximum delay range for this feature is 2.684 s for each channel. To disable this feature, a register bit (HOffTm_EN_x) is set to 0.

8.4.5.2 Arming Conditions

An additional arming condition for each event channel is based on other channels meeting some preprogrammed conditions before it can become fully armed. These conditions are in addition to the individual channel arming conditions.

  • A given channel does not become fully armed until one, two, or all three of the other channels are armed. A logical AND of one or more channels.
  • A given channel does not become fully armed until the holdoff delay expires, the arming counter reaches zero, and the logical OR of one or more channels has been active.

The following tables define this conditional operation.

Table 5. Channel-A Conditional Arming Definition

Arm_sel3A Arm_sel2A Arm_sel1A Arm_sel0A OUTCOME
0 0 0 0 ChA is armed if ChB is fully armed.
0 0 0 1 ChA is armed if ChC is fully armed.
0 0 1 0 ChA is armed if ChD is fully armed.
0 0 1 1 ChA is armed if ChB AND ChC are fully armed.
0 1 0 0 ChA is armed if ChB AND ChD are fully armed.
0 1 0 1 ChA is armed if ChC AND ChD are fully armed.
0 1 1 0 ChA is armed if ChB AND ChC AND ChD are fully armed.
0 1 1 1 ChA will be armed if ChB OR ChC is fully armed.
1 0 0 0 ChA will be armed if ChB OR ChD is fully armed.
1 0 0 1 ChA will be armed if ChC OR ChD is fully armed.
1 0 1 0 ChA will be armed if ChB OR ChC OR ChD is fully armed.
1 0 1 1 Reserved
1 1 0 0 Reserved
1 1 0 1 Reserved
1 1 1 0 Reserved
1 1 1 1 Reserved

Table 6. Channel-B Conditional Arming Definition

Arm_sel3A Arm_sel2A Arm_sel1A Arm_sel0A OUTCOME
0 0 0 0 ChB is armed if ChA is fully armed.
0 0 0 1 ChB is armed if ChC is fully armed.
0 0 1 0 ChB is armed if ChD is fully armed.
0 0 1 1 ChB is armed if ChA AND ChC are fully armed.
0 1 0 0 ChB is armed if ChA AND ChD are fully armed.
0 1 0 1 ChB is armed if ChC AND ChD are fully armed.
0 1 1 0 ChB is armed if ChA AND ChC AND ChD are fully armed.
0 1 1 1 ChB will be armed if ChA OR ChC is fully armed.
1 0 0 0 ChB will be armed if ChA OR ChD is fully armed.
1 0 0 1 ChB will be armed if ChC OR ChD is fully armed.
1 0 1 0 ChB will be armed if ChA OR ChC OR ChD is fully armed.
1 0 1 1 Reserved
1 1 0 0 Reserved
1 1 0 1 Reserved
1 1 1 0 Reserved
1 1 1 1 Reserved

Table 7. Channel-C Conditional Arming Definition

Arm_sel3A Arm_sel2A Arm_sel1A Arm_sel0A OUTCOME
0 0 0 0 ChC is armed if ChA is fully armed.
0 0 0 1 ChC is armed if ChB is fully armed.
0 0 1 0 ChC is armed if ChD is fully armed.
0 0 1 1 ChC is armed if ChA AND ChB are fully armed.
0 1 0 0 ChC is armed if ChB AND ChD are fully armed.
0 1 0 1 ChC is armed if ChA AND ChD are fully armed.
0 1 1 0 ChC is armed if ChA AND ChB AND ChD are fully armed.
0 1 1 1 ChC will be armed if ChA OR ChB is fully armed.
1 0 0 0 ChC will be armed if ChB OR ChD is fully armed.
1 0 0 1 ChC will be armed if ChB OR ChD is fully armed.
1 0 1 0 ChC will be armed if ChA OR ChB OR ChD is fully armed.
1 0 1 1 Reserved
1 1 0 0 Reserved
1 1 0 1 Reserved
1 1 1 0 Reserved
1 1 1 1 Reserved

Table 8. Channel-D Conditional Arming Definition

Arm_sel3A Arm_sel2A Arm_sel1A Arm_sel0A OUTCOME
0 0 0 0 ChD is armed if ChA is fully armed.
0 0 0 1 ChD is armed if ChB is fully armed.
0 0 1 0 ChD is armed if ChC is fully armed.
0 0 1 1 ChD is armed if ChA AND ChB are fully armed.
0 1 0 0 ChD is armed if ChA AND ChC are fully armed.
0 1 0 1 ChD is armed if ChB AND ChC are fully armed.
0 1 1 0 ChD is armed if ChA AND ChB AND ChC are fully armed.
0 1 1 1 ChD will be armed if ChA OR ChB is fully armed.
1 0 0 0 ChD will be armed if ChB OR ChC is fully armed.
1 0 0 1 ChD will be armed if ChB OR ChC is fully armed.
1 0 1 0 ChD will be armed if ChA OR ChB OR ChC is fully armed.
1 0 1 1 Reserved
1 1 0 0 Reserved
1 1 0 1 Reserved
1 1 1 0 Reserved
1 1 1 1 Reserved

NOTE

When programming individual-channel arming conditions, it is important to avoid conditions where dependency would cause a lockup situation.

8.4.6 Resister Map Descriptions for All Channels and Central Register

Table 9. Control and Status Register Descriptions For All Channels (X)

Register Bit Name Function LogicState Description
00h
20h
40h
60h
0 En_ChX Enable or disable channel X by powering down the channel. Time to enable a channel is 200 μs. 0 Channel is disabled
1 Channel is enabled
1 ChX_IP_EN Enables or disables the input of channel X. Events are prevented from entering a channel. 0 Input is disabled
1 Input is enabled
2 Pol_X Defines the polarity of the event inputX for the upcoming timestamp generation. 0 Positive edge
1 Negative edge
7 HOffRng0_X Defines holdoff range for event input X. 0 Holdoff range value
1 Holdoff range value
8 HOffRng1_X Defines holdoff range for event input X. 0 Holdoff range value
1 Holdoff range value
9 HOffRng2_X Defines holdoff range for event input X. 0 Holdoff range value
1 Hold-off range value

Table 10. Control and Status Register Descriptions for All Channels (X)

Register Bit Name Function Logic State Description
01h
21h
41h
61h
0 Reserved Reserved x
1 Arm_sel0X Define arming conditions for channel X. 0 Arming value
1 Arming value
2 Arm_sel1X Define arming conditions for channel X. 0 Arming value
1 Arming value
3 Arm_sel2X Define arming conditions for channel X. 0 Arming value
1 Arming value
4 Arm_sel3X Define arming conditions for channel X. 0 Arming value
1 Arming value
5 Armg_Con_En_X Enables or disables the arming conditions for
channel X.
0 Arming cond. disabled
1 Arming cond. enabled
04h
24h
44h
64h
0 DLL_Lock_X Indicates the DLL lock status for channel X. 0 DLL locked
1 DLL not locked
2 Reserved Reserved x
3 FIFO_Full_X Indicates that the FIFO is full. Timestamps arriving while FIFO is full are lost. 0 FIFO not full
1 FIFO full
4 FIFO_Empty_X Indicates that the FIFO is empty. 0 FIFO not empty
1 FIFO empty

Table 11. Central Control and Status Registers Description

Register Bit Name Function Logic State Description
80h 0 TEST_En Enables or disables factory test routines. 0 Disabled
1 Enabled
1 RESET Reset the device. Device is fully operational after 250 μs. 0
1 Reset
2 DDR_En It enables DDR mode allowing the result interface to output data on both edges. 0 Normal mode
1 DDR Mode
3 Connect_AB It connects channels A and B inputs together. 0 Inputs not connected
1 Inputs connected
4 Connect_CD It connects channels C and D inputs together. 0 Inputs not connected
1 Inputs connected
5 Rlength0 Define the result data length being used for the timestamps. 0 Length value
1 Length value
6 Rlength1 Define the result data length being used for the timestamps. 0 Length value
1 Length value
7 Rlength2 Define the result data length being used for the timestamps. 0 Length value
1 Length value
8 RCLK_sel0 Define RCLK frequency. 0 Frequency value
1 Frequency value
9 RCLK_sel1 Define RCLK frequency. 0 Frequency value
1 Frequency value
10 OT_En Enables or disables the overtemperature alarm circuits. 0 Disabled
1 Enabled
11 RST_OT_ALM Resets the temperature alarm. 0
1 Reset alarm state
12 SYNC_TS_Pol Defines the polarity of the Sync input for the upcoming timestamp generation. 0 Positive edge
1 Negative edge
13 SYNC_IP_ENI Enables or disables the sync channel 0 Sync disabled
1 Sync enabled
14 PWR_DN Powers down the device 0 Powered up
1 Powered down
81h 1 CNT_Rng0 Defines the coarse counter range 0 Range value
1 Range value
2 CNT_Rng1 Defines the coarse counter range 0 Range value
1 Range value
3 Quiet_Mod It disables the RCLK digital clks internal during timestamp process. Allows for only 16 timestamps. 0 Normal mode
1 Quiet mode
82h 0 TMU_Ready Indicates that the internal clks, coarse counter and Sync channel are operational. 0 Device is not ready
1 Device is ready
1 OT_ALM Over temperature alarm. Indicates that the junction temperature is 140°C. 0 No alarm
1 Alarm is enabled
2 DLL_Lock_Sync Indicates the Sync channel DLL lock status. 0 DLL is locked
1 DLL is not locked
3 DLL_Lock_1G2 Indicates the lock status of the 1.2-GHz internal clock. 0 DLL is locked
1 DLL is not locked

8.5 Programming

8.5.1 Host Processor Bus Interface

The THS788 device includes a high-speed serial interface to a host processor. The host interface is used for writing or reading registers that reside in the TMU chip. These registers allow configuration of the device functions. All registers are capable of both read and write operations unless otherwise stated.

8.5.1.1 Serial Interface

The TMU serial interface operates at speeds of up to 50 MHz. Register addresses are 8 bits long. Data words are 16 bits wide, enabling more-efficient interface transactions. The serial bus implementation uses three LVCMOS signals: HCLK, Hstrobe, and Hdata. The HCLK and Hstrobe signals are inputs only, and the Hdata signal is bidirectional. The HCLK signal is not required to run continuously. Thus, the host processor may disable the clock by setting it to a low state after the completion of any required register accesses.

When data is transferred into the device, Hdata is configured as an input bus, and data is latched on a rising edge of HCLK. When data is transferred out of the part, Hdata is configured as an output bus, and data is updated on the falling edge of HCLK. Hstrobe is the control signal that identifies the beginning of a host bus transaction. Hstrobe must remain low for the duration of the transaction, and must go high for at least two clock cycles before another transaction can begin.

8.5.1.2 Read vs Write Cycle

The first Hdata bit latched by HCLK in a transaction identifies the transaction type.
First Hdata bit = 1 for read; data flows out of the chip.
First Hdata bit = 0 for write; data flows into the chip.

8.5.1.3 Parallel (Broadcast) Write

Parallel write is a means of allowing identical data to be transferred to more than one channel in one transaction. The second Hdata bit of a transaction indicates whether a parallel write occurs.
Second Hdata bit = 0; data goes to the selected channel.
Second Hdata bit = 1; data goes to all four channels.

8.5.1.4 Address

After the R/W bit and the parallel write bit, the following 8 bits on the Hdata line contain the source address of the data word for a read cycle or the destination address of the data word for a write cycle. Address bits are shifted in MSB first, LSB last.
Third HCLK – Address Bit 7 (MSB)
Tenth HCLK – Address Bit 0 (LSB)

8.5.1.5 Data

The data stream is 16 bits long, and it is loaded or read back MSB first, LSB last. The timing for read and write cycles is different, as the drivers on Hdata alternate between going into high-impedance and driving the line.

8.5.1.6 Reset

Reset is an external hardware signal that places all internal registers and control lines into their default states. The THS788 device resets after a power-up sequence (POR). Hardware reset is an LVCMOS active-low signal and is required to stay low for approximately 100 ns.

Reset places the TMU in a predetermined idle state at power on, and anytime the system software initializes the system hardware. In the idle state, the TMU ignores state changes on the Event inputs and never creates timestamps. The TMU is capable of switching within 250 μs from the idle state to a state that creates accurate timestamps.

8.5.1.7 Chip ID

Address (83h) is a read-only register that identifies the product and the die revision. The 16-bit register is divided into two 8-bit sections. The LSB represents the revision history and the MSB represents the last two digits of THS788 device (i.e., 80). The first revision (1.0) is as follows:

1000 0000 0001.0000

8.5.1.8 Read Operations

Reading the THS788 device registers via the host interface requires the following sequence:

The host controller initiates a read cycle by setting the host strobe signal, Hstrobe, to a low state. The serial Hdata sequence starts with a high R/W bit, followed by (either 1 or 0) for parallel-write bit and 8 bits of address, with most-significant bit (A7) first. The host controller should put the Hdata signal in the high-impedance state beginning at the falling edge of HCLK pulse 10. The THS788 device allows one clock cycle, (r0) for the host to reverse the data-channel direction and begins driving the Hdata line on the falling edge of HCLK pulse 11. The data is read beginning with the most-significant bit (D15) and ending with the least-significant bit (D0).

The host must drive Hstrobe to a high state for a minimum of two HCLK periods beginning at the falling edge of HCLK pulse 27 to indicate the completion of the read cycle. Figure 3 shows the timing diagram of the read operation.

THS788 T0427-01a_LOS616.gifFigure 3. Read Operation

8.5.1.9 Write Operations

Writing into the THS788 device registers via the host interface requires the following sequence:

After the Hstrobe line is pulled low (start condition), the R/W bit is set low, followed by a 0 for the parallel-write bit (single-register write), then the memory address (A7–A0) followed by the data (D15:D0) to be programmed. The next clock cycle (w) is required to allow data to be latched and stored at the destination address (or addresses in the case of a parallel write), followed by at least two dummy clock cycles during which the Hstrobe is high, indicating the completion of the write cycle. Figure 4 and Figure 4 show timing diagrams of write operations.

THS788 T0425-01a_LOS616.gifFigure 4. Write Operation

8.5.1.10 Write Operations to Multiple Destinations

This is similar to the single-write operation except the parallel-load bit is set to 1.

THS788 T0426-01a_LOS616.gifFigure 5. Write Operations to Multiple Destinations

8.5.2 Serial-Results Interface and ALU

8.5.2.1 Event Latches

Each event channel and the sync channel include two event latches whose inputs are both connected to the LVDS input-buffer output. One latch is the time-measurement signal path and connects to the interpolator and synchronizer. The other latch connects to the preconditioning circuitry. A selectable rising or falling edge of an event pulse sets the latch. the latch remains set until the interpolator has finished processing the event, at which time the interpolator resets the latch. The latch, however, does not accept another event pulse until the event input returns to its initial state and remains for the initial event-pulse duration. Any event transitions which occur before the interpolator has completed processing the previous event are ignored. For example, assume that rising edge is selected. Two rising edges can occur as quickly as 5 ns apart. The falling edge can occur anywhere from 250 ps after the rising edge to 250 ps before the next rising edge. Any other edges or glitches are ignored. In addition to the rising/falling-edge selection, the event latch includes the gating function whereby the preconditioning logic controls whether the TMU accepts and processes an event input. The second event latch operates similarly to the main signal-path latch with the following exceptions: The latch is followed by and ECL-to-CMOS converter , because all the preconditioning logic is CMOS instead of the fast ECL circuitry in the measurement chain. The preconditioning logic rather than the interpolator resets this latch, and the timing of the reset pulse is slightly faster than the interpolator.

8.5.2.2 FIFO

Timestamps are written to a FIFO at high speed and read for further processing at a lower speed before being sent to the result interface. This FIFO is 15 bits deep and 40 bits wide. There are four FIFOs in THS788 device, one for each channel. There are two status registers (FIFO_Full_x and FIFO_Empty_x), which are set when a FIFO reaches its full capacity and when it is empty, respectively.

Timestamps are taken and loaded into the FIFO as events occur. Timestamps are mathematically processed by an arithmetic logic unit (ALU) which calculates the difference between the event and the sync timestamps and factors in the appropriate calibration value from the calibration register. The ALU operates on the data as it is read out of the FIFO and sent out through the serial-results interface. The serial-results interface controls the output of the FIFO.

8.5.2.3 Result-Interface Operation

The TMU initiates a read cycle by setting the strobe signal, Rstrobe, to a low state, indicating that the data transfer is about to begin. The serial Rdata sequence starts with a TAG bit, followed by the 40-bit data (R0 to R39). R39 (MSB) is the sign bit. Following the last data bit (R39), the strobe signal (Rstrobe) goes high for two clock cycles, indicating the end of the transaction.

The data is clocked out of the TMU on the rising edge of RCLK. The receiving device clocks the data in on the rising edge of RCLK. Figure 6 and Figure 7 show a 40-bit result on the result interface.

THS788 T0428-01a_LOS616.gifFigure 6. Result-Interface Operation A
THS788 T0455-01a_LOS616.gifFigure 7. Result-Interface Operation B

NOTE

In the preceding diagrams, only RCLK_P is drawn to indicate the correct edge with respect to data.

8.5.2.4 Serial Results Latency

The event stored in the FIFO will be transferred to ALU and subsequently to the free running results data shift register when the shift register enters a load pulse. The load pulse is generated once per ALU/shift register processing cycle. The load pulse will trigger the ALU and transfer result to the parallel to serial shift register for output. The cycle time of the load pulse is dependent upon the depth of the result transfer register and data rate. Because the results parallel to serial register are free running, the load pulse will be asynchronous to the actual event. So, the latency will depend upon where in the current cycle the load pulse occurred relative to the event being captured into the FIFO.

The worst case for data to be output from serial bus:

Equation 1. Tevent + 5(Rclkcycles) + (Rdatalength + 3) x Rclkcycles + (Rdatalength + 3) × Rclkcycles

The best case for data to be output from serial bus:

Equation 2. Tevent + 5(Rclkcycles) + (Rdatalength + 3) × Rclkcycles

where

  • Tevent = 5 ns (minimum repeat capture time)
  • 5(Rclkcycles) = number cycles for FIFO to ALU to Shift register
  • Rclkcycles is period of RCLK data = 300 MHz, SDR = 3.33 ns
  • Rdatalength = number of results bits = 40 for THS788 device

In the case where RCLK = 300 MHz, with 40-bit serial result:

Equation 3. Min Latency = 5 ns + 17 ns + (40 + 3) × 3.33 ns = 165 ns
Equation 4. Max Latency = 5 ns + 17 ns + (40 + 3) × 3.33 ns + (40 + 3) × 3.33 ns = 308 ns

NOTE

The THS788 device was intended for sync-event, event, event, sync-event ... processing. However, some applications desire the use of a sync pulse that is a fixed period. During a sync period, there could be multiple events, or no events. The TMU can be used effectively for this scenario as well.

For applications using the THS788 device in this fashion, it is important to consider the uncertainty that is introduced by the load pulse timing. Because the load pulse is free running and asynchronous to any events, the latency will vary based on this timing. Additionally, the load pulse is the mechanism that will cause the ALU to grab the current sync value for the result calculation.

If an event is in the FIFO, waiting for the load pulse and a new sync occurs, the ALU will use the new sync value for calculating the result. In this case, the event would precede the sync resulting in a negative result. The system could then offset the result by one sync cycle as the result is negative, indicating that is was captured during a prior sync cycle.

8.5.2.5 TMU Calibration

The TMU calibration process is identical to a normal TMU time-stamp measurement. The process involves measuring a known interval and calculating the difference between the measured value and the actual value. The result is then stored into calibration registers inside the TMU. The TMU takes the stored calibration values and corrects the subsequent time-stamp measurements.

There are four calibration registers for each channel. These are identified as follows:

  • A calibration register for positive sync edge and positive event edge
  • A calibration register for positive sync edge and negative event edge
  • A calibration register for negative sync edge and positive event edge
  • A calibration register for negative sync edge and negative event edge

Calibration due to temperature changes following the initial system calibration may be required if temperature variations are significant.

8.5.2.6 Temperature Sensor

A temperature sensor has been located centrally in the THS788 device for monitoring the die temperature. There are two monitor outputs for this feature. An analog voltage proportional to the die temperature is presented at the TEMP pin. Also, an overtemperature alarm output is available at the OT_ALARM pin. The overtemperature alarm (OT_ALARM) is an open-drain output that is activated when the die temperature reaches 141°C.

The overtemperature alarm sets a register bit (OT_ALM) in the central register and may be accessed through the serial interface.

The overtemperature alarm initiates an automatic power down to prevent overheating of the device. The digital blocks remain functional when in automatic power down. Following a power down, the user is required to reset OT_ALM using the serial interface. A register bit (RST_OT_ALM) is used for this purpose.

The temperature-monitoring function and its associated overtemperarture alarm circuit may be disabled by the user, using a register bit (OT_EN). The default for the temperature-monitoring function is enabled.

OT_EN = 1: Temperature-monitoring function is enabled.
OT_EN = 0: Temperature-monitoring function is disabled.

8.6 Register Maps

8.6.1 Register Address Space

Table 12. Channel-A Registers

Address (Hex) Register
00h–01h Control register R/W
02h–03h Not used NA
04h Status registers RO
05h Not used NA
06h Holdoff delay time register R/W
07h Not used R/W
08h Not used R/W
09h Not used R/W
0Ah Not used R/W
0Bh Not used R/W
0Ch Positive edge sync and positive edge hit calibration register, 16 bits R/W
0Dh Positive edge sync and negative edge hit calibration register, 16 bits R/W
0Eh Negative edge sync and positive edge hit calibration register, 16 bits R/W
0Fh Negative edge sync and negative edge hit calibration register, 16 bits R/W
10h–12h Timestamp register, 40 bits R
13h–1Fh Not used NA

Table 13. Channel-B Registers

Address (Hex) Register
20h–21h Control register R/W
22h–23h Not used NA
24h Status registers RO
25h Not used NA
26h Hold_off delay time register R/W
27h Not used R/W
28h Not used R/W
29h Not used R/W
2Ah Not used R/W
2Bh Not used R/W
2Ch Positive edge sync and positive edge hit calibration register, 16 bits R/W
2Dh Positive edge sync and negative edge hit calibration register, 16 bits R/W
2Eh Negative edge sync and positive edge hit calibration register, 16 bits R/W
2Fh Negative edge sync and negative edge hit calibration register, 16 bits R/W
30h–32h Timestamp register, 40 bits R
33h–3Fh Not used NA

Table 14. Channel-C Registers

Address (Hex) Register
40h–41h Control register R/W
42h–43h Not used NA
44h Status registers RO
45h Not used NA
46h Not used R/W
47h Not used R/W
48h Not used R/W
49h Not used R/W
4Ah Not used R/W
4Bh Not used R/W
4Ch Positive edge sync and positive edge hit calibration register, 16 bits R/W
4Dh Positive edge sync and negative edge hit Calibration register, 16 bits R/W
4Eh Negative edge sync and positive edge hit Calibration register, 16 bits R/W
4Fh Negative edge sync and negative edge hit Calibration register, 16 bits R/W
50h–52h Timestamp register, 40 bits R
53h–5Fh Not used NA

Table 15. Channel-D Registers

Address (hex) Register
60h-61h Control register R/W
62h-63h Not used NA
64h Status registers RO
65h Not used NA
66h Not used R/W
67h Not used R/W
68h Not used R/W
69h Not used R/W
6Ah Not used R/W
6Bh Not used R/W
6Ch Positive sync edge and positive hit edge, calibration register, 16 bits R/W
6Dh Positive sync edge and negative hit edge, calibration register, 16 bits R/W
6Eh Negative sync edge and positive hit edge, calibration register, 16 bits R/W
6Fh Negative sync edge and negative hit edge, calibration register, 16 bits R/W
71h-73h Timestamp register, 40 bits R
74h-7Fh Not used NA

Table 16. Central Registers

Address (hex) Register
80h Control register R/W
81h Control register R/W
82h Status register RO
83h Chip ID RO
84h Test key register R/W
85h Test1 R/W
86h Test2 R/W
87h Reserved R/W
88h Reserved R/W

8.6.2 Register Map Detail

Table 17. Channel A

Register Address Register Name Word/Bit Default Value
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
00h Control X X PreCon_En_A 0 0 HOffTm_En_A HOffRng2_A HOffRng1_A HOffRng0_A 0 0 0 0 Pol_A ChA_IP_En En_ChA 0000h
01h Control X X X X X X X X X X ArmgCon_En_A Arm_sel3_A Arm_sel2_A Arm_sel1_A Arm_sel0_A 0 0000h
04h Status X X X X X X X X X X X FIFO_Empty_A FIFO_Full_A X X DLL_Lock_A 0000h
06h Reserved X X X X X X X X X X X X X X X X 0000h
0Ch Calibration:Pos Sync EdgePos Event Edge D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
0Dh Calibration:Pos Sync EdgeNeg Event Edge D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
0Eh Calibration:Neg Sync EdgePos Event Edge D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
0Fh Calibration:Neg Sync EdgeNeg Event Edge D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
10h Timestamp D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
11h D31 D30 D29 D28 D27 D26 D25 D24 D23 D22 D21 D20 D19 D18 D17 D16 0000h
12h 0  0  0  0  0  0  0  0  D39 D38 D37 D36 D35 D34 D33 D32 0000h

Table 18. Channel B

Register Address Register Name Word/Bit Default Value
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
20h Control  X   X  PreCon_En_B 0 0 HOffTm_En_B HOffRng2_B HOffRng1_B HOffRng0_B 0 0 0 0 Pol_B ChB_IP_En En_ChB 0000h
21h Control  X   X   X   X   X   X   X   X   X   X  ArmgCon_En_B Arm_sel3_B Arm_sel2_B Arm_sel1_B Arm_sel0_B 0 0000h
24h Status  X   X   X   X   X   X   X   X   X   X   X  FIFO_Empty_B FIFO_Full_B X X DLL_Lock_B 0000h
26h Reserved X X X X X X X X X X X FIFO_Empty_B FIFO_Full_B X X DLL_Lock_B 0000h
2Ch Calibration:Pos Sync EdgePos Event Edge D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
2Dh Calibration:Pos Sync EdgeNeg Event Edge D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
2Eh Calibration:Neg Sync EdgePos Event Edge D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
2Fh Calibration:Neg Sync EdgeNeg Event Edge D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
30h Timestamp D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
31h D31 D30 D29 D28 D27 D26 D25 D24 D23 D22 D21 D20 D19 D18 D17 D16 0000h
32h 0  0  0  0  0  0  0 0  D39 D38 D37 D36 D35 D34 D33 D32 0000h

Table 19. Channel C

Register Address Register Name Word/Bit Default Value
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
40h Control  X   X  PreCon_En_C 0 0 HOffTm_En_C HOffRng2_C HOffRng1_C HOffRng0_C 0 0 0 0 Pol_C ChC_IP_En En_ChC 0000h
41h Control  X   X   X   X   X   X   X   X   X   X  ArmgCon_En_C Arm_sel3_C Arm_sel2_C Arm_sel1_C Arm_sel0_C 0 0000h
44h Status  X   X   X   X   X   X   X   X   X   X   X  FIFO_Empty_C FIFO_Full_C X X DLL_Lock_C 0000h
46h Reserved X X X X X X X X X X X X X X X X 0000h
4Ch Calibration:Pos Sync EdgePos Event Edge D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
4Dh Calibration:Pos Sync EdgeNeg Event Edge D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
4Eh Calibration:Neg Sync EdgePos Event Edge D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
4Fh Calibration:Neg Sync EdgeNeg Event Edge D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
50h Timestamp D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
51h D31 D30 D29 D28 D27 D26 D25 D24 D23 D22 D21 D20 D19 D18 D17 D16 0000h
52h 0  0  0  0  0  0  0  0  D39 D38 D37 D36 D35 D34 D33 D32 0000h

Table 20. Channel D

Register Address Register Name Word/Bit Default Value
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
60h Control  X   X  PreCon_En_D 0 0 HOffTm_En_D HOffRng2_D HOffRng1_D HOffRng0_D 0 0 0 0 Pol_D ChD_IP_En En_ChD 0000h
61h Control  X   X   X   X   X   X   X   X   X   X  ArmgCon_En_D Arm_sel3_D Arm_sel2_D Arm_sel1_D Arm_sel0_D 0 0000h
64h Status  X   X   X   X   X   X   X   X   X   X   X  FIFO_Empty_D FIFO_Full_D X X DLL_Lock_D 0000h
66h Reserved X X X X X X X X X X X X X X X X 0000h
6Ch Calibration:Pos Sync EdgePos Event Edge D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
6Dh Calibration:Pos Sync EdgeNeg Event Edge D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
6Eh Calibration:Neg Sync EdgePos Event Edge D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
6Fh Calibration:Neg Sync EdgeNeg Event Edge D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
70h Timestamp D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0000h
71h D31 D30 D29 D28 D27 D26 D25 D24 D23 D22 D21 D20 D19 D18 D17 D16 0000h
72h 0  0  0  0  0  0  0  0  D39 D38 D37 D36 D35 D34 D33 D32 0000h

Table 21. Central Registers

Register Address Register Name Word/Bit Default Value
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
80h Control RCLK_En PWR_DN Sync_IP_En Sync_TS_Pol RST_OT_ALM OT_En RCLK_sel1 RCLK_sel0 Rlength2 Rlength1 Rlength0 Connect_CD Connect_AB DDR_En RESET Test_En 0000h
81h Control  X   X   X   X   X   X   X   X   X   X   X   X  Quiet_Mod CNT_Rng1 CNT_Rng0 X 0000h
82h Status  X   X   X   X   X   X   X   X   X   X   X   X  DLL_Lock_1G2 DLL_Lock_Sync OT_ALM TMU_Ready 0000h
83h Chip ID ID ID ID ID ID ID ID ID Rev Rev Rev Rev Rev Rev Rev Rev 8010h