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.

TDC1000: TDC1000-TDC7200EVM Transit-Time measurements underwater

Part Number: TDC1000
Other Parts Discussed in Thread: TDC7200

Hi !

I'm Trieu Le from RYNAN Technologies Vietnam.

I have some questions about TDC1000 and TDC7200 drivers, please let me clearly understand about it.

We have followed the reference design from TI based on TDC1000-TDC7200EVM development KIT.

And using 1 MHz transducer for our application, here is it: https://www.everychina.com/p-z52fca17-110907690-piezoelectric-transducer-micro-1mhz-ultrasonic-flow-sensor.html

In our application we want to install 2 transducers fixed about 0.5 meters apart, both of them submerged underwater. We want to measure the Transit-Time between 2 transducers.

Is this design suitable for our application? 

Here are some questions I need your help:

  1. I want to use 2 transducers to measure the Transit-Time between 2 transducers, which mode should be configured for TDC1000 in this case? 
  2. I also tried to config TDC1000 working in mode 1 and channel 1 (Active TX Channel is TX1, Active RX Channel is RX1) then I connected only 1 transducer to RX1 pin, make pulse to TRIGGER pin every 1 second and I got the STOP pulses, and also got the waveform from COMPIN pin. My question is: Why is there a signal when I have only connected 1 transducer to pin RX1 (Pin TX1 is No Connected)
  3. Is this 1MHz transducer and this design suitable for Transit-Time measurements underwater?

Thanks !

  • Hello Trieu,

    Thanks for posting to the sensing forum!

    1) It sounds like you are trying to do what is referred to as a bistatic measurement where one transducer transmits the pulse and the opposing transducer will receive the pulse. Is this correct?

    2) The device is not supposed to generate a signal on RX1. Below is a scope capture of my device in Mode 1 the orange signal is the TX1 and blue is the RX1 signal. There is some noise that couples at the beginning but due to the listening window this should not be a problem. I believe you may have connected your two pins together somehow if you provide your schematic we should be able to look through and confirm.

     

    3) Typically for water based measurements a 1MHz or higher transducer is used. So yes 1MHz is suitable for this application. Just ensure that your transducer is rated to be submerged underwater since not all transducers are rated for this type of application.

    Best,

    Isaac

  • Dear

    Thank you for your reply!

    Here is some further information for your questions: 

    1) It sounds like you are trying to do what is referred to as a bistatic measurement where one transducer transmits the pulse and the opposing transducer will receive the pulse. Is this correct?

    => Yes, that's exactly what I need. In my application I need to monitor the Transit-Time between 2 transducers (ToF value) in Realtime.

    2) The device is not supposed to generate a signal on RX1. Below is a scope capture of my device in Mode 1 the orange signal is the TX1 and blue is the RX1 signal. There is some noise that couples at the beginning but due to the listening window this should not be a problem. I believe you may have connected your two pins together somehow if you provide your schematic, we should be able to look through and confirm.

    => Our hardware was designed based on TDC1000-TDC7200EVM development KIT. TX1/RX2 connected together and TX2/RX1 connected together. I also tried to separate TX and RX pin by removing R0316 and R0317 but got the same problems (I got signal on RX transducer without transducer connected on TX pin), please refer to the attached schematic.

    3) Typically for water based measurements a 1MHz or higher transducer is used. So yes 1MHz is suitable for this application. Just ensure that your transducer is rated to be submerged underwater since not all transducers are rated for this type of application.

    => What do you think if I put 2 transducers 0.5 meters apart? May it too far for this transducer? Because in the datasheet of TDC1000 and TDC7200 the distance between transducers only few cm?

    Thank you so much for your support!

  • Hey Trieu,

    Thanks for all the detailed info here it really helps!

    2) Your main problem here quite common for bi-static measurements, one of the problems that occurs is that since the TX and RX signal share the same ground some of the signal will couple as it is emitted from the TX and travel through to the RX path of the transducer tripping the threshold and generating a STOP signal.

    I am not sure where you signal is getting coupled if you removed the TX transducer and all the corresponding resistors, but this is something we typically see when the transducers are connected. I expect that when you probe your RX channel you are not getting a complete waveform but just some noise that follows the TX. You could probe and provide a scope capture just to ensure that this is the case.

    You may overcome this by shifting the listening window of the TDC1000 (timing reg adjustments). You can have the device begin listening at a later point to ensure that you give the noise generated by the TX enough time to fall avoid the noise thats causing the threshold to trip. If this noise is not being generated by the TX signal and is just present in your system this might not solve your issue, so this is where probing the STOP, COMPIN, TX, and RX can help you identify if the source of the noise is just the TX noise or system noise.

    3) What do you think if I put 2 transducers 0.5 meters apart? May it too far for this transducer? Because in the datasheet of TDC1000 and TDC7200 the distance between transducers only few cm?

    I am not sure what the application is, are you attempting to measure flow between the two sensors or just detect if something is in between the two sensors?

    The distance depends on a couple of factors, but if they're transmitting directly through the water and not through a tank I don't think you should have a huge problem transmitting over 0.5m, if you are measuring flow I am not sure if this distance would affect your accuracy though. Another thing to note is that TDC1000-TDC7200 is not the recommended solution for flow solutions and instead recommend using an MSP430FR6043 solution.

    Another concern is the frequency since higher frequencies lose sound pressure level (SPL) over distance faster than lower frequencies. But you can compensate by transmitting more pulses and that will increase your SPL.

    Looking forward to your reply!

    Best,

    Isaac

  • Dear

    Here are some screenshots of signals which were captured on my hardware.

    I tried to trigger TDC1000 every second, below screenshot is signal from TRIGGER pin (Without TX transducer connected)

    I also config TDC1000 transmit 5 pulses per measurement and below are signals from STOP pin (STOP_OUT test point P0301 on my above schematic)

    And the signals below are from COMPIN (Test point TP0304 - COMPIN_OUT on my above schematic)

    "I am not sure what the application is, are you attempting to measure flow between the two sensors or just detect if something is in between the two sensors?"

    => I just want to detect if something is in between the two transducers.

    Thank you for your support!

  • Hello Trieu,

    Thanks for the scope captures, I was hoping to get a capture of both the START pulse and COMPIN or STOP in a single capture to get a better timing reference. But if the distance of your other transducer is .5m and the speed of sound in room temp water is ~1480m/s we can calculate your expected with this formula ToF = .5m/1480m/s, your expected time of flight should be ~337us.

    The device needs to be configured properly in order to listen at the appropriate time. My main thought is that as of now it is currently listening very early in the measurement. In order to configure the TDC1000 we can do this by configuring the TIMING_REG appropriately.

    If you could provide your device configuration and register settings I can help you figure out if your echo listening window configuration is ideal for your test setup.

    Best,

    Isaac

  • Dear

    Please take a look at my configuration in the screenshot below:

    I also published my IDC1000 driver for STM32 MCU at the link below:

    IDC1000_Driver

    I was port the library for STM32 MCU based on this library:

    https://github.com/Yveaux/TDC1000

    Seem, in my firmware is using default value of TIMING_REG register (0h). Could you please let me know what is the proper value for my use case? 

    Thank you for your support!

  • Hello Trieu,

    Thanks for the info, next time if you could please provide the results of a register read after your configuration, it was a little difficult having to figure out what each register was written with using this snippet of code and it was a lot work checking through the files just to identify how the device was in fact configured, especially since some registers were not mentioned in the comments.

    Comments on a couple of settings:

    RX LNA feedback should be configured to capacitive, since there is not a resistor on the RX path.

    Expected pulses should be set to 1 since you are using single echo mode and not multi echo mode.

    PGA gain may be required depending on your COMPIN signal, I typically suggest to enable it and tune it or turn it off depending on the performance.

    As far as the timing configuration, you are using short ToF control method so this uses SHORT_TOF_BLANK_PERIOD register and not the TIMING_REG, currently with your setting you are waiting ~4us before you start to measure the ultrasonic signal, but if there is still noise in the path it could accidentally trigger a false STOP signal. As mentioned your point of interest is around ~337us so you are starting to measure to early, adjusting the SHORT_TOF_BLANK_PERIOD to 512*T0 should give you a wait time of ~128us before you begin making your measurement. This should hopefully give you enough time for any noise to fall so that your threshold is not triggered.

    Of course this is assuming you are using an CLKIN frequency of 8MHz, if you are using something else then this will change your calculation.

    Best,

    Isaac