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.

TDC100 Time of Flight Offset and Stop Generation Problem

Other Parts Discussed in Thread: TDC1000, TDC7200

Hi, 

We are developing a gas flow meter using TDC1000 only. We have developed our own board and here are some information about our board and measurement environment.

- We have followed the TI design for TDC1000 Gasevm and used same RX/TX resistances which are 200ohm

- We are using TDC1000 in resistive feedack mode and PGA is disabled, measurement mode is mode2(delta TOF), TDC trigger period is 3ms.

- TDC1000 clock frequecny is 640khz.

- We are using 40khz waterproof transducers, and the transducers are in direct contact with the masurement medium, they are positioned at 45 degree angle with distance of 5 cm apart from each other

- The cables that are connecting transducers to the circuit board is approximately 40cm in length cables for both transducers are in equal length.

- The flow speed to be measured is in between 0.1 meter/sec and 60 meter/sec, 

Here are our problems;

1-Under these conditions, we are observing a large offset for zero flow measurement and even the offset is not stable, it varies alot.

2- Our sensor frequency is 40khz (which makes 25us period). For some measurements, we are observing exactly 25us time difference. I have concluded that TDC1000 sometimes generates stop pulse for a latter recevied signal. For example, if the 5th transmitted signal is generating stop in the receiver side and the expected delta TOF is x us, I am sometimes observing that the delta TOF is exactly (x+25) us. Hence, I am assuming the 6th trasmitted signal is exceeding treshold and causing a 25us delay. I have tried with many other treshold values but I could not solve this problem.

3- We are applying a trigger to TDC1000 at every 3ms, the voltage at VCOM pin drops a few tens of milivolts before the nex excitation. How can I make VCOM drop faster ?

4- How can I reduce the mismatch in impedance for two transducers ? Should the resistances connected to RX and TX pins change as we have designed our own boards ?

Many thanks

  • We will come back to you on this. Thanks, Vishy

  • a) Please up load your TDC1000 and TDC7200 settings. If you are still using the GUI, you can do a "Save Config" from the TDC1000 tab and up load the saved text file.

    b) VCOM takes 128 clock cycles to settle. In your case, with 640kHz clock input, it is equal to 0.2ms. If you are using standard TOF as shown below and TOF distance = 5cm which corresponds to 145us (5/343). So the common mode has not settled at all and could be causing the issue.

    It's better to use short TOF measurement as shown below. Here the TX pulses are sent after the common mode has settled. 

    c) The 25us shift should also improve when you make sure there's a stable VCOM when receiving. I assume you are using Single Echo receive mode. You can use mode 2 if you want to make both upstream and downstream measurements. Initially, try with mode 1 and make sure you are measuring correctly w/o issue from TX1 to RX1 and then from TX2 to RX2.

    d) Refer section 6.1.2 of the following app note for a discussion on the impedance mismatch. As shown in Fig 9, we use a switch TS3A44159PWR controlled by a GPIO line of the micro to effect this. The MSP430 firmware source code also has this control.

    www.ti.com/.../snia020

    There's also a discussion on this in the following app note section 2.4

    www.ti.com/.../snaa284

    Thanks,

    Vishy

  • Here's a sample config file that I use with TDC1000GASEVM and a 500kHz sensor

    TDC1000_Config0                         2B
    TDC1000_Config1                         45
    TDC1000_Config2                         01
    TDC1000_Config3                         02
    TDC1000_Config4                         1F
    TDC1000_TOF-1                           A0
    TDC1000_TOF-0                           1E
    TDC1000_Error_Flags                     00
    TDC1000_Timeout                         63
    TDC1000_Clock_Rate                      01
    TDC1000_Conts_Trigger                   01
    TDC7200_Config1                         02
    TDC7200_Config2                         44
    TDC7200_Interrupt_Status                00
    TDC7200_Interrupt_Mask                  07
    TDC7200_Coarse_Cntr_Ov_H                FF
    TDC7200_Coarse_Cntr_Ov_L                FF
    TDC7200_Clock_Cntr_Ov_H                 FF
    TDC7200_Clock_Cntr_Ov_L                 FF
    TDC7200_Clock_Cntr_Stop_Mask_H          00
    TDC7200_Clock_Cntr_Stop_Mask_L          00
    TRIGGER_UPDATE_FREQ                     0001
    TDC_AVG/STDEV_NUM_ELEMS                 000A
    SAVE_GRAPH_DATA_TO_FILE                 00
    FLOW_MODE_SELECT                        01
    Y-SCALE_CENTER                          0032
    X-SCALE_RANGE                           0032
    MEASURE_RTD1                            00
    SAVE_RESULT_REGR_TO_FILE                00
    GRAPH_MULTI_STOPS                       00
    TDC_SELECT                              00
    TEMP_RTD_SELECT                         00
    TEMP_RTD_MODE                           01
    TEMP_AVG/STDEV_NUM_ELEMS                000A
    SAVE_TEMP_DATA                          00
    GRAPH_YMAX_DATA                         00000000004C4B40
    GRAPH_YMIN_DATA                         0000000000030D40
    TDC1000-HV_DRV_EN1                      01
    TDC1000-HV_DRV_EN2                      01
    HV_DRV_EN1_Period                       01F4
    HV_DRV_EN2_Period                       01F4
    ENABLE_POWER_CYCLE                      00
    CLK_FREQ_(1-16MHz)                      2.000000
    CLK_SOURCE_SEL                          03
    CPU_CLK_FREQ                            0C
    CPU_CLK_EN                              01
    TDC1000-HV_BST_PWR_EN                   01
    HV_BST_PWR_EN_Period                    0000
    FWD2REV_FLOW_DELAY                      0000
    TDC1000-IMPE_MATCH_EN                   00
    ENABLE_UART_STREAM                      00
    ENABLE_MSP430TIMER_TDC                  00

    Thanks,

    Vishy

  • Hi thank you for your response,

    I am still working on the offset issue and I have realized something else which might be the source of many problems. The filter capacitor between LNA output and PGA output in TI designs ( like TDC1000-GASEVM) is for 1MHZ sensors. However, I am using 40khz sensors. How can I decide the value of the capacitor inbetween LNA output and PGA input pins. I have also tried using a resistor between LNA output and PGA input and it somehow worked..?  but I am not sure what should I put there.

    Also, I am not using any filter between PGA ouput and COMPIN pin.. PGA output and COMPIN are directly connected together(no component in between two pins). Is this configuration correct ?

    Lastly, although I am using internal excitation for VCOM pin, I am exciting the input of VCOM by VDD/2 with a resistive divider connected to VDD.(The output is taken from the middle of the resistances to VCOM, so that I will have VDD/2 at VCOM). The tolerance of these resistances are %1. Can this cause any issue about measurement offset ? The tolearnce of LNA feedback resistors(which are connected to sensors) are also %1.

    Many thanks

  • Please refer to the following app note

    www.ti.com/.../snaa284

    Section 2.2 has discussion on TDC1000 Receiver Signal Path. You can decide cap value between LNA output and PGA input as explained in table 1.

    >>>>Also, I am not using any filter between PGA ouput and COMPIN pin.. PGA output and COMPIN are directly connected together(no component in between two pins). Is this configuration correct ?

    No. It's good to have a bandpass filter so you receive only the frequencies of interest. The filters on the TDC1000 GASEVM is tuned for 58kHz to 300kHz not for 1MHz (schematic comment is not correct).

    Also, any reason you are sticking to 40kHz transducers? Most of the 40kHz have a very wide beam angle (65deg) and get reflected from everywhere not just the target. So the echo is very feeble. We have seen TDC1000 work better with transducers with a focused beam angle like the 200kHz bestartech/audiowell transducers.

    Thanks,
    Vishy
  • Thank you for your comments Vishy, the reason we are sticking with 40khz transducers is price ! The cost efficiency is very important for our product. Do you have any suggestion for a cheap sensor with center freqeuncy between 100khz and 200khz ? The price of one unit should not be above 2 dollars for a bulk order (10000 units).

    I will redesign the board. Many thanks.