Because of the Thanksgiving holiday in the U.S., TI E2E™ design support forum responses may be delayed from November 25 through December 2. Thank you for your patience.

This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] TDC1000: Everything You Need to Know for Ultrasonic ToF (Liquid-Coupled) [Collateral, Tools, Designs, FAQ]

Part Number: TDC1000
Other Parts Discussed in Thread: TDC7200, TDC1011, TDC7201, MSP430F5528, , TDC7200EVM, MSP-EXP430F5529LP, TDC7201-ZAX-EVM,

For liquid-coupled ultrasonic sensing applications including level sensing, fluid contamination and identification sensing, and liquid/gas flow sensing the TDC1000 Ultrasonic AFE is the recommended device. Typically, the TDC1000 is paired with the TDC7200 digital timer, but depending on the accuracy needed, a microcontroller such as the MSP430 or something more powerful such as the C2000 can be used in place of the TDC7200. All official collateral for the TDC1000 and TDC7200 are available on their associated product pages.

For an overview on ultrasonic sensing fundamentals, TI recommends you begin by reading the Ultrasonic Sensing Basics application note, and watching the TI Precision Labs Ultrasonic Sensing Video Series

1) Getting Started and Evaluation Flow

1.1) Device Selection

To begin evaluation of the TDC device family, the first step is to choose a device based on the intended application. Each device in the family is listed below with a brief description, and general applications:

TDC1000: http://www.ti.com/product/TDC1000

Dual channel ultrasonic time-of-flight sensing AFE

  • Liquid level/proximity sensing
  • Liquid concentration/contamination/identification
  • Liquid/gas flow sensing

 

TDC1011: http://www.ti.com/product/TDC1011

Single channel ultrasonic time-of-flight sensing AFE

  • Liquid level/proximity sensing
  • Liquid concentration/contamination/identification

 

TDC7200: http://www.ti.com/product/TDC7200

Time to digital converter

  • Liquid level/proximity sensing
  • Liquid concentration/contamination/identification
  • Liquid/gas flow sensing
  • LIDAR time-of-flight measurement

TDC7201: http://www.ti.com/product/TDC7201

Time to digital converter with combined mode for short time measurements

  • Liquid level/proximity sensing
  • Liquid concentration/contamination/identification
  • Liquid/gas flow sensing
  • LIDAR time-of-flight measurement

1.2) EVM Selection

Once a device or devices have been chosen, next an EVM needs to be selected for the evaluation. There are several EVMs incorporating the TDC device family for a variety of applications listed below:

TDC1000-TDC7200EVM: www.ti.com/.../tdc1000-tdc7200evm

Includes the TDC1000 as the ultrasonic AFE, the TDC7200 to measure the time of flight, and an MSP430F5528 to configure the TDC devices and communicate with a PC GUI. Onboard bandpass filter suitable for use with 1-2Mhz transducers.

  • Liquid level/proximity sensing
  • Liquid concentration/contamination/identification
  • Liquid flow sensing (highest accuracy)

TDC1000-C2000EVM: www.ti.com/.../tdc1000-c2000evm

Includes the TDC1000 as the ultrasonic AFE and a C2000 microprocessor to measure time of flight, configure the TDC1000, and communicate with a PC GUI. Both the TDC1000, and some versions of the C2000 microcontroller are qualified for use in automotive applications. Onboard bandpass filter suitable for use with 1-2Mhz transducers.

  • Liquid level/proximity sensing
  • Liquid concentration/contamination/identification
  • Liquid flow sensing (lower accuracy)
  • Automotive applications

TDC1000-GASEVM: www.ti.com/.../tdc1000-gasevm

Includes the TDC1000 as the ultrasonic AFE, the TDC7200 to measure the time of flight, and an MSP430F5528 to configure the TDC devices and communicate with a PC GUI. Also includes the BSTEVM, which is a daughtercard that boosts the output voltage of the TDC1000 up to 30V for use with high voltage transducers in gas-coupled applications. This EVM has the same functionality as the TDC1000-TDC7200EVM, however the frequency range of the onboard bandpass filter is designed for 200-500kHz transducers.

  • Liquid level/proximity sensing
  • Liquid concentration/contamination/identification
  • Liquid flow sensing (highest accuracy)
  • Gas flow sensing

TDC7200EVM: www.ti.com/.../tdc7200evm

Includes the TDC7200 on an MSP430 boosterpack. Designed to be compatible with the MSP-EXP430F5529LP launch pad (must be purchased separately). Must be connected to an external AFE for use in all applications listed below:

  • Liquid level/proximity sensing
  • Liquid concentration/contamination/identification
  • Liquid and gas flow sensing (highest accuracy)
  • LIDAR time of flight (long distance)

TDC7201-ZAX-EVM: www.ti.com/.../tdc7201-zax-evm

Includes the TDC7200 on an MSP430 boosterpack. Designed to be compatible with the MSP-EXP430F5529LP launch pad (must be purchased separately). Must be connected to an external AFE for use in all applications listed below:

  • Liquid level/proximity sensing
  • Liquid concentration/contamination/identification
  • Liquid and gas flow sensing (highest accuracy)
  • LIDAR time of flight (short and long distance)

1.3) How do I set up my EVM and mount my ultrasonic transducer?

Each EVM page linked above includes a comprehensive user's guide for setup of the EVM hardware. All of the TDC1000 EVMs also include a transducer to use for testing. For best results in the evaluation process, it is important to properly mount the transducer to ensure good coupling to the medium the sound will travel through. For liquid level and concentration sensing, please refer to the following application note that describes the ideal mounting method for your transducer:

1.4) How to Select and Mount Transducers in Ultrasonic Sensing for Level Sensing and Fluid ID: http://www.ti.com/lit/an/snaa266a/snaa266a.pdf

2) Frequently Asked Questions

2.1) What is the minimum and/or maximum distance that can be measured with the TDC1000?

Both the minimum and maximum distance able to be measured by the TDC1000 depend on the specific application. The maximum distance is determined by the speed of sound in the medium it is traveling through, and to a lesser extent the frequency of the sound produced by the transducer (higher frequencies attenuate faster, and will be harder to detect at long distances). The maximum listen period for the TDC1000 is set at 8ms. To determine the maximum distance under ideal conditions use the following formula: 

Max distance = speed of sound in medium (m/s) * 0.008 seconds / 2

This formula accounts for the round trip time in the case of a single transducer being used as both transmitter and receiver. As an example, the speed of sound in water is ~1480m/s, so the maximum distance measurable by the TDC1000 in water is ~5.9m one way.

The minimum distance measurable is dependent on the transducer (its frequency and ringdown characteristics) and the number of TX pulses selected by the user. The frequency of the transducer will determine the period of the TX pulses output by the TDC1000, and therefore the length of time that the TDC1000 is transmitting. Since ultrasonic transducers are resonant devices, the transducer will continue to output sound for a short time after the TX pulses have stopped (called ringdown). While the transducer is ringing, it will be mask any incoming echo signals and the TDC1000 will not be able to register a return echo to generate a STOP signal. The theoretical minimum distance can be calculated with the following formula:

Min time (theoretical) = (number of TX pulses (at least 3)) * (1 / transducer frequency) + ringdown time

In practice, the minimum time is further limited by the blanking time of the TDC1000. For the smallest possible time of flight measurement, the TDC1000 must be in Short TOF mode. The TDC1000 will not start receiving until the Short TOF Blanking Period has ended. The minimum blanking period determines the minimum time of flight, and is set using the following formula:

Min blanking period = 8 * (1 / system clock frequency)

The maximum system clock frequency is 16Mhz, which equates to a minimum blanking time of 500ns.

The effective minimum time that can be measured will be the higher of the two times calculated above. Finally the minimum distance can be calculated using the following formula along with the min time determined above:

Min distance = speed of sound in medium (m/s) * min time / 2.

2.2) What settings should I use for my system?

The specific settings needed for a given system are entirely dependent on the components in the system, and the measurement parameters (medium, expected distance, flow rate, etc.). Since it is impossible to provide settings for all possible systems, this section will provide a flow for how to configure the TDC1000 for TOF measurement: which settings to change, and how they affect the measurement sequence. For the most detailed description of all available settings, reference the TDC1000 datasheet.

2.2.1. Select TOF measurement mode (TOF_MEAS_MODE) depending on application and transducer configuration:

  • Mode 0: Fluid level and identification. Transducer transmits then receives its own signal.
  • Mode 1: Flow sensing. Transducer 1 transmits and transducer 2 receives. Requires manual channel switching
  • Mode 2: Flow sensing (preferred). Transducer 1 transmits and transducer 2 receives. Allows automatic channel switching.

2.2.2. Select TX frequency depending on input clock and transducer frequency:

Set the TX_FREQ_DIV to divide the input clock to the correct frequency for the transducer. Ex: 8Mhz input clock with 1Mhz transducer. Set TX_FREQ_DIV to divide by 8.

2.2.3. Select NUM_TX depending on range needed, and saturation point of transducer:

Larger NUM_TX numbers will increase the excitation and sound pressure level (SPL) of the transducer output up to a point. Eventually the transducer will become saturated and will not produce more SPL even when provided with more transmit pulses. Care must be taken with short distance measurements as well, because a longer transmit period could mask the return echo. This setting requires experimentation with the exact transducer being used in the system.

2.2.4. Choose short or standard TOF mode:

Short TOF mode is useful for short distance measurements, where the receive echo would return before the common mode settling and autozero periods have completed. It moves these functions to start before the transmit pulses have begun:

Standard TOF mode allows for longer distance measurements with a wider range of listen period lengths. It also allows for a blanking period if the blanking mode is set.

2.2.5. Choose the blanking time, TIMING_REG, autozero period length, and echo timeout length to suit your desired measurement range:

All settings are based off of the period of the input clock (T0). For a wider range of values, the input clock can be divided by 2 (T0 period increased 2x) by setting the CLOCKIN_DIV setting. Reference the above timing diagrams when choosing the settings listed below.

  • Blanking time:
    • in short TOF mode set SHRT_TOF_BLNK_PRD long enough that it masks the ringdown time of the transducer, but short enough that it does not mask the return echo for the shortest possible distance measured
    • in standard TOF mode with blanking, set TIMING_REG in the same manner as above, but keep in mind that the AUTOZERO_PERIOD and the common mode settling time also add to the effective blanking time of the mode
  • Autozero period:
    • in short TOF mode set AUTOZERO to a low setting to minimize total measurement time, or to a longer time if the total measurement time is not critical
    • in standard TOF mode AUTOZERO can be used as an additional blanking period adjustment
  • TIMING_REG:
    • if TIMING_REG is set to 30 or lower or if the FORCE_SHORT_TOF bit is set to 1, this enables the short TOF mode. Otherwise the device is in standard TOF mode
    • in standard TOF mode without blanking the TIMING_REG determines the Echo Listen time period along with the TOF_TIMEOUT_CTRL
    • in standard TOF mode with blanking the TIMING_REG determines the blanking period length
  • Echo timeout:
    • in all modes, the TOF_TIMEOUT_CTRL setting determines the Echo Listen time period

2.2.6. Set the receive path gain and echo quality threshold:

  • PGA CTRL: the receive path PGA can be enabled or disabled
  • PGA_GAIN: select the gain for the input signal from 0dB to 21dB. This can be used to increase the level of the input signal in order to bring it within the range of available echo quality thresholds
  • ECHO_QUAL_THLD: selec the echo quality threshold so that the return echo triggers a STOP signal, but received noise does not. This is measured in -mV from the common mode (VDD/2) at the COMPIN pin.

2.2.7. Select the receive mode and the number of stops:

  • RECEIVE_MODE:
    • Single echo mode generates a stop for each time the signal crosses the echo quality threshold. See figure above.
    • Multiple echo mode generates a stop for each echo pulse envelope. See figure below.

  • NUM_RX: determines how many STOP signals will be generated by the TDC1000

Example: 

  • Fluid level application
  • Input clock = 8Mhz (T0 = 0.125us)
  • TX Freq = 1Mhz
  • Medium = water (speed of sound 1480m/s)
  • Minimum distance = 2cm (~27us round trip in water)
  • Maximum distance = 20cm (~270us round trip in water)
  • NUM_TX = 5

  1. Set Mode 0 for fluid level sensing
  2. TX_FREQ_DIV = divide by 8
  3. NUM_TX was selected as 5 based on distances and transducer
  4. Short TOF mode selected. Can be forced with FORCE_SHORT_TOF set to 1
  5. Set CLOCKIN_DIV to divide by 2 for longer receive time (T0 = 0.25us)
  6. Set blanking time. Ringdown will be estimated as 2x the transmit period. Transmit period is NUM_TX * 1/TX freq = 5us. Transmit + ringdown = 15us. SHRT_TOF_BLNK_PRD = 64*T0 = 16us. (less than minimum distance, greater than transmit + ringdown)
  7. Set AUTOZERO_PERIOD to minimum for shortest measurement cycle 64*T0 = 16us.
  8. TIMING_REG is not used. Leave at 0 to keep short TOF mode.
  9. Set TOF_TIMEOUT_CTRL to max. 1024*T0 = 256us. Transmit (5us) + blanking (16us) + echo listen (256us) = 277us (greater than maximum distance)
  10. Set PGA_CTRL to enabled, and PGA_GAIN to 9dB
  11. Set ECHO_QUAL_THLD to -125dB
  12. Set receive mode to multiple echo for level sensing
  13. Set NUM_RX to 1 for a single expected return echo

 

2.3) How do I change the bandpass filter on the EVM? 

The TDC1000-TDC7200EVM is equipped with a simple bandpass filter between the PGAOUT and COMPIN pins as shown in the schematic from the user's guide:

This filter is configured for a roughly 1 Mhz center frequency. To change the filter to suit transducers of a different frequency, reference the "Receiver Filters" section of the datasheet (section 8.3.5) for example equations to calculate new component values. Additionally, attached below is a TINA simulation of the existing filter topology from the EVM that can be used to test the transfer characteristics of new filter components.

2.4) Why are my temperature readings incorrect on the GUI?

This situation is caused by erroneous short pulses generated when measuring the resistance of the RTD. The mechanism and workaround for this behavior is described in the following application note:

2.5) Measuring an RTD Sensor with the TDC1000 and TDC7200 for Ultrasonic Sensing: www.ti.com/.../snaa230.pdf

When measuring the temperature value with the TDC1000-TDC7200 GUI ensure that the TEMP_MODE on the TDC1000 page is set to "REF_RTD1_RTD2", and that TEMP_RTD_MODE on the TEMPERATURE page is set to "RTD1 and RTD2" regardless of whether one or two RTDs are being measured at that time. The GUI automatically implements the workaround to provide the correct reading for RTD1.

2.6) When the external channel select is enabled on the TDC1000, what are the active channels for a logic low and logic high voltage at pin 11 (CHSEL)?

EXT_CHSEL=1h (Enable external channel select)

TOF_MEAS_MODE=0h (Mode 0)

    • when the voltage at pin 11 (CHSEL) is 0V (GND), then Active TX Channel = TX1 / Active RX Channel = RX1
    • when the voltage at pin 11 (CHSEL) is 3.3V (VIO), then Active TX Channel = TX2 / Active RX Channel = RX2

 

3) Useful E2E Posts


3.1) Short distance measurements in air (Level from the top): e2e.ti.com/.../498792

3.2) How to perform liquid level sensing from the bottom of a tank: e2e.ti.com/.../467713

3.3) TDC1000 Overview Webinar: e2e.ti.com/.../504584

3.4) Fluid Identification using TDC1000 and time of flight measurements: e2e.ti.com/.../494576

3.5) Basic level sensing FAQ: e2e.ti.com/.../418605


3.6) TDC7200/TDC7201 Documents

  1. Product Folder: http://www.ti.com/product/TDC7200
  2. Interleaved Short Time Measurements Using TDC7200: http://www.ti.com/lit/an/snaa288/snaa288.pdf - This document describe a method for measuring time periods less than 12ns using TDC7200 for applications such as Lidar.
  3. Short Time Measurement Using TDC7201: http://www.ti.com/lit/an/snaa292/snaa292.pdf

The objective of this application note is to describe a method for measuring time periods down to 0.25ns using the TDC7201 with millimeter accuracy.

  1. TDC7200 EVM user’s guide: http://www.ti.com/lit/ug/snau177/snau177.pdf

Note: The above EVM is a Booster pack for TDC7201/TDC7200 and will need an EXP-MSP430F5529LP to run the GUI

  1. TDC7201 ZAX EVM user’s guide: http://www.ti.com/lit/ug/snau198a/snau198a.pdf

Note: The above EVM is a Booster pack for TDC7201/TDC7200 and will need an EXP-MSP430F5529LP to run the GUI

3.7) TDC1011/TDC1000 Documents

  1. TDC1011 Folder: http://www.ti.com/product/TDC1011
  2. TDC1000 Folder: http://www.ti.com/product/TDC1000

3.8) TDC1000-TDC7200 Application Related Documents:

  1. Analog Electronics Design to Improve Performance of Ultrasonic Gas Flow Meter : http://www.ti.com/lit/an/snaa284a/snaa284a.pdf - Refer to this document in case customer complains to unreliable reading in flow metering, the document talks about the varies orientation of transducers in the flow metering applications, which includes optimizing the Rx path, improving the SNR in the Rx path, increasing drive excitation energy in the Tx path & increasing gains in the TDC1000 device. This document refers to the TDC1000-GASEVM for circuitry requirements.
  2. How to Select and Mount Transducers in Ultrasonic Sensing for Level Sensing and Fluid ID: http://www.ti.com/lit/an/snaa266a/snaa266a.pdf - By far most referred document that provides details on the type of transducer to use for a particular application. Provide some selection of transducers as examples. Answers questions such as Where to mount the transducers? How to mount transducers? – Example includes attaching 1Mhz transducer to a plastic container.
  3. Using Ultrasonic Sensing to Monitor Level in Tanks: http://www.ti.com/lit/an/snaa270/snaa270.pdf - This application note describes how to utilize the TDC1000 and piezoelectric ultrasonic transducer to perform highly accurate fluid level measurements on a tank externally. Document refers to the TDC1000-C2000 EVM as example.

Provides info on the TDC1000 features such as blank time selection & Auto-zero and how these features can help to measure very short distances which can be impeded by the ringdown of the transducer. Also provides info on The Effect of Voltage Excitation vs. Echo Amplitude.

  1. Ultrasonic Sensing Basics for Liquid Level Sensing, Flow Sensing, and Fluid Identification Applications : http://www.ti.com/lit/an/snaa220a/snaa220a.pdf - Basic document that provides an introduction to how TDC1000 and TDC7200 can be applied to liquid level sensing, flow sensing, fluid identification & distance/proximity sensing.
  2. Ultrasonic Sensing for Fluid Identification and Contamination: http://www.ti.com/lit/an/snaa265/snaa265.pdf - An Application note that discusses the fluid concentration measurements, provided examples of automotive fluid concentration as examples. Refers only to the TDC1000-C2000 EVM for testing.
  3. Ultrasonic Sensing for Water Flow Meters and Heat Meters: http://www.ti.com/lit/an/snia020/snia020.pdf - This application note is intended as an introduction to ultrasonic time-of-flight (TOF) flow sensing using the TDC1000 ultrasonic analog-front-end (AFE) and the TDC7200 picosecond accurate stopwatch. Information regarding a typical off-the-shelf ultrasonic flow sensor is provided, along with related equations for calculation of flow velocity and flow rate. Included in the appendix is a summary of standards for water meters and a list of low cost sensors suitable for this application space. The document does provided details on the offset at zero flow & drift across temperatures.
  4. Measuring an RTD Sensor with the TDC1000 and TDC7200 for Ultrasonic Sensing: http://www.ti.com/lit/an/snaa230/snaa230.pdf - This application note describes the firmware procedure for measuring temperature via two RTD's using the TDC1000 and TDC7200. Temperature is monitored in heat meters and flow meters.
  5. TDC1000-GASEVM user’s Guide: http://www.ti.com/lit/ug/sniu026a/sniu026a.pdf - Provides a table of the external/CPU clock along with the internal clock divider value in order to sync the clock with resonant frequency of the transducer.
  6. TDC1000-C2000 EVM user’s guide: http://www.ti.com/lit/ug/sniu023/sniu023.pdf
  7. TDC1000-Q1 in Automotive Ultrasonic Level Sensing Systems: http://www.ti.com/lit/an/snva785/snva785.pdf - a technote on Automotive Ultrasonic Level Sensing
  8. Automotive Ultrasonic Fluid Level/Quality Measurement Reference Design: http://www.ti.com/tool/TIDA-00322?keyMatch=TIDA-00322&tisearch=Search-EN-everything&usecase=part-number#technicaldocuments - TI reference design TIDA00322 is an automotive Liquid Level and Fluid Identification measurement system. It is based on the dual channel TDC1000-Q1 Ultrasonic AFE and the RealTime Microcontroller C2000. This reference design can also be used with the TDC1000 for industrial/consumer applications.
  9. Ultrasonic Water Flow Measurement Using Time to Digital Conversion: http://www.ti.com/lit/ug/tidu965a/tidu965a.pdf Folder for the reference design http://www.ti.com/tool/TIDM-ULTRASONIC-FLOW-TDC?DCMP=ultrasonic&HQS=sva-psp-isc-ultrasonic-awire-20150731-rd-tdc-wwe
  10. TDC7201 Reference Design Folder: http://www.ti.com/lit/ug/tiduel3/tiduel3.pdf - Reference Design Maximizing Transimpedance Bandwidth for LIDAR and Time-of-Flight Applications - http://www.ti.com/lit/ug/tiduel3/tiduel3.pdf
  11. TDC7200 Reference Design Folder: http://www.ti.com/tool/TIDA-00663?jktype=design - LIDAR Pulsed Time of Flight Reference Design - http://www.ti.com/lit/ug/tiducm1b/tiducm1b.pdf

3.9) TDC1000 FAQ: https://e2e.ti.com/support/sensors/f/1023/t/724028

Typical TDC1000 & TDC7200 Related Questions & things to do for the same:

  1. TDC1000-TDC7200 Setup: Unable to get a reliable ToF data:
    1. Check if the transducer is mounted properly to the medium in use, check documentation # 2 in the list of documents above on further details
    2. If the above condition is met, then check on COMPIN pin to any signals & incase you do have a return signal from the transducer then increase the Gains of PGA & LNA. Also move the threshold values until you get a reasonable ToF reading for a particular setup.

    2. TDC1000-TDC7200 Gas/water Metering: Inaccurate readings
    1. Please use MSP430 based ultrasonic solution for any high accurate & resolution solutions for flow metering. The link for MSP430 device for this purpose is http://www.ti.com/microcontrollers/msp430-ultra-low-power-mcus/ultrasonic-performance-sensing-mcus-overview.html
    2. In case you would like to use the TDC1000-TDC7200 based solution for flow metering, please refer to the documents below while you design your solution:

                                                    i.     http://www.ti.com/lit/an/snia020/snia020.pdf

                                                   ii.     http://www.ti.com/lit/an/snaa284a/snaa284a.pdf

3. TDC1000 device misses the first STOP pulse at times:

    1. TDC1000 is known to miss the first STOP pulse generation at times; this can vary the ToF measurements in the range of ps.
    2. In case you encounter the above issue, we recommend that you try to use the averaging function in the device and that will increase your accuracy of measurement.
  1. The TDC1000/TDC7200 EVM GUIs come with example firmware codes for the SPI communication. Please direct your questions to the MSP430 team on any MSP430 related questions; we at Ultrasonic team will help with all the questions that are related to the TDC devices.

 

3.10) When attempting to run the GUI, I receive a pop-up message stating "The VI is not executable. The full development version of LabVIEW is required to fix the errors." How do I resolve this error?

 

All TDC EVM GUIs expect Microsoft .NET Assembly Version 2.0.0.0 to be available to the OS by default. As of the time of writing this FAQ entry, this version of .NET Assembly that is no longer included by default on newer PCs (especially Win10 or later). Download and install the Microsoft .NET Framework 2.0 Service Pack 2 at https://www.microsoft.com/en-us/download/details.aspx?id=1639? For help on the installation process, refer to the following guide from Microsoft that explains how to install and enable .NET Framework 3.5 (includes includes .NET 2.0 and 3.0): https://docs.microsoft.com/en-us/dotnet/framework/install/dotnet-35-windows-10.

As an alternative, replace the following attached files in the install directory of the TDC1000-C2000 GUI ( C:\Program Files (x86)\Texas Instruments\TDC1000_C2000 ): TDC1000_C2000_EVM_Executable_v01020084.zip

    • TDC1000_C2000.aliases
    • TDC1000_C2000.exe
    • TDC1000_C2000.ini