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.

MSP430FR6047: Gap between pulse start and ADC capture.

Part Number: MSP430FR6047

First I would like to state what I understand to be the way the MAS430fr6047 works and have you verify that my understanding is correct. Then I have a question about the Gap between pulse start and ADC capture.

My understanding:

  • The routine USS_configureUltrasonicMeasurement records a start time T0 and sends electronic pulses to a transmit transducer
  • The transmit transducer get the electronic signal and produces ultrasonic pulses starting at a time that is essentially T0 for a duration Δ and ending at some time T1 = T0 + Δ.
  • The ultrasonic signal travel through the pipe arriving at the receive transducer almost immediately  so there is a receive signal from essentially T0 to T1.
  • The routine USS_configureUltrasonicMeasurement continues and at time T2 = T0 +( Gap between pulse start and ADC capture) start to look at the received signal.
  • At some time T3 > T2 the signal has travelled across the fluid in the pipe and strikes the receive transducer which then send a signal to the MSP430FR6047 where the routine USS_configureUltrasonicMeasurement receives it and puts data into the LEA.
  • There is a quite time between T2 and T3, that is after the Gap but before the signal has travelled across the pipe.
  • The initial signal through the pipe (not echoes) should happen from T3 to T3 + Δ.
  • When the routine USS_configureUltrasonicMeasurement exits, the transmit/receive process has completed.

The questions:

    • Isn’t the time of flight T3 – T0?
    • Why do we get different value if we change the Gap time? Shouldn’t any Gap greater than Δ give the same result?
    • We have designed a board that has amplifiers on the transmit and receive signals. We were turning them on by setting a GPIO pin high just before calling USS_configureUltrasonicMeasurement  and turning them off upon returning from USS_ configureUltrasonicMeasurement. An oscilloscope shows the amplifiers coming on some time after T3. I expected them to come on just before T0. Can you explain this?

Thanks

  • Hi Marty,

    Marty Diamond said:
    The routine USS_configureUltrasonicMeasurement records a start time T0 and sends electronic pulses to a transmit transducer

    USS_configureUltrasonicMeasurement is only for configuring the different registers according to the user specified values. The relevant functions that actual do the pulse excitation and capture is USS_startUltrasonicMeasurement OR USS_startLowPowerUltrasonicCapture. Please see the fucntion USSLibGUIApp_Engine() in USSLibGUIApp.c

    Marty Diamond said:
    The ultrasonic signal travel through the pipe arriving at the receive transducer almost immediately  so there is a receive signal from essentially T0 to T1.

    Based also on your 5th bullet, I am assuming you are referring here to the travel through the material of the pipe and NOT the fluid. I think there is a small delay even through the pipe, but we can ignore it for now.

    Marty Diamond said:
    At some time T3 > T2 the signal has travelled across the fluid in the pipe and strikes the receive transducer which then send a signal to the MSP430FR6047 where the routine USS_configureUltrasonicMeasurement receives it and puts data into the LEA.

    The MSP430FR6047 and the SW running on it is NOT detecting for arrival of signal. The ADC starts sampling the data starting at T0+GAP based on the value of GAP (Gap between pulse start and ADC capture) provided by the user.

    Marty Diamond said:
    Isn’t the time of flight T3 – T0?

    Correct

    Marty Diamond said:
    Why do we get different value if we change the Gap time? Shouldn’t any Gap greater than Δ give the same result?

    The user has to provide T3 - T0 which is the GAP. For your pipe and fixed transducers spacing, changing the GAP provided to the SW, will change when the on-chip ADC starts capturing the received signal. This should be why you see a different value when you change GAP. You can look at the captured ADC waveform on the GUI to see the approximate correct setting for GAP. You can find more information in section 4.3 (Capturing the ADC Signals) at http://www.ti.com/lit/pdf/slau810 

    Marty Diamond said:
    An oscilloscope shows the amplifiers coming on some time after T3.

    The function I expect you to set the GPIO pins is before and after USS_startUltrasonicMeasurement OR USS_startLowPowerUltrasonicCapture. Please see the function USSLibGUIApp_Engine() in USSLibGUIApp.c

    Srinivas

  • Thank you for your reply. I'm sorry about having put the wrong name of the subroutine in the question. I knew it was USS_startLowPowerUltrasonicCapture and accidently copied the wrong name from the program and then didn't check what I had written.

    Your reference to http://www.ti.com/lit/pdf/slau810 does explain the functioning to me. It highlights the question. Figure 12 of section 4.3 is exactly what I'm don't understand. in the case that the Gap is past T1 in my first set of questions but before the start of the signal, say around 50 in Figure 12, why doesn't the ADC identify that there is no signal matching the transmitted signal from the too-short Gap up to just past 50 and then find the desired signal sometime after 50?

    On the question about the amplifiers coming on after T3: Yes the GPIO pins are set high just before  USS_startLowPowerUltrasonicCapture and set low immediately after it.

  • Hello Marty,

    Marty Diamond said:
    why doesn't the ADC identify that there is no signal matching the transmitted signal from the too-short Gap up to just past 50 and then find the desired signal sometime after 50?

    I guess you can add signal start estimation into the SW but we do not have that feature in our release. For water flow meter applications, this is not that important as the transducer placements are static and the required GAP can be identified at the design time itself. Any variations observed in real-time is due to temperature variations or flow rate variations and can be handled by having a sufficient amount of capture duration ensuring the entire desired signal is captured under all those variations.

    Marty Diamond said:
    An oscilloscope shows the amplifiers coming on some time after T3. I expected them to come on just before T0. Can you explain this?

    If you can confirm that the GPIO's are actually turning ON before T3 but the amplifiers are coming much later, have you looked at the ON time delay of the amplifier when it is enabled?

    Srinivas

  • Thank you,

    I'll look into the time delay of the amplifier

  • Just checked the box

**Attention** This is a public forum