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.

TDC7200: Continuous measurement of frequency

Part Number: TDC7200
Other Parts Discussed in Thread: , SN74LS31

Hello there,

I found TDC7200 which seems as very good candidate for precise frequency measurement rather than MCUs which are slow (nanosecond resolution). Unfortunately there are few features which I do not completely understand with TDC7200.

I need to measure frequency ranging 1-2 MHz of a square signal with averaging over the period of 50 usec.

time measurement resolution: <1ns (TDC7200 - 55 ps)

period of one measurement: 50 usec (TDC7200 mode 2 continuous)

Unfortunately TDC7200 can measure time between start and stop signal. I need to measure number of edges of input frequency signal during this period (50 usec). 

Q1: Can TDC7200 be used for such measurements?

Q2: Is there any recommended connection / additional IC which would help me to measure number of edges within a given 50 usec measurement period? I may use traditional MCU but they do not run usually faster enough.

I am grateful for any answer.

Michael 

  • Hello Michael,

    Bit 5 of the CONFIG1 register [TRIGG_EDGE] can configure the TRIGG signal to output as a Rising or Falling edge. The trigger signal is generated on the TRIGG pin after the START_MEAS bit in the CONFIG1 register is set. The TDC7200 then enables the START pin and waits to receive the START pulse edge. After receiving a START, the TDC resets the TRIGG pin. Monitoring the TRIGG pin assertion and de-assertion should allow for recording the number of edges in an input frequency signal.

    Best regards,

    Nicole

  • Hi Nicole,

    thank you for response.

    based on your answer, would you use TDC7200 more as a counter of pulses? How would it then calculate the frequency? There would have to be a second TDC to measure the pulses which already does not justify using the first TDC. Or did I miss something?

    In meantime I read about Multi-Cycle Averaging (8.4.4 - SNAS647D).

    I think it may work to directly connect the input pulse signal to START and STOP signal and let it average over multiple cycles (5 STOPS in one cycle), 8 or 16 cycles. Each STOP is after 1 usec. Then all measured values from all stops to read out by MCU and let it calculate average to have 50 usec interval from 1 usec pulse period. Does this approach make sense? Would it work? 

    Other solution is to use some MCU such as TMS320F28XXXX with HRCAP to get resolution of 500 ps. or MSP430FR6XXX for similar approach correct?

    Thank you,

    Michael 

  • Hi Michael,

    I believe that your proposed solution of directly connecting the input pulse signal to START and STOP could work. However, I am not aware of this already being used as a solution for continuous frequency measurements. A signal generator is used to provide START and STOP signals to test the TDC7200EVM setup conditions (EVM User's Guide for reference). Additionally, I recommend the Interleaved Short Time Measurements application note for further background on the TDC7200.

    Best regards,

    Nicole

  • Hi Nicole,

    reading both main manual and app note I think that Interleaved method does not work for my application. Square signal changes unexpectedly so constant triggering signal from MCU will not work.

    I would use following setup:

    TRIGG pin is connected into START pin. (not sure if this does not effect anyhow internal process?)

    Sequence:

    MCU wakes up TDC and set up all necessary registers.

    MCU enables TDC

    MCU sets START_MEAS. --> TRIGGER is sent to START and new measurement starts. (TRIGGER sets low so the START)

    N cycles is measured until the last cycle of Multi cycle mode

    MCU gets INTB pin flag and reads out registers with data, sends a new START_MEAS and new measurement starts.

    Q0: Can be TRIGG connected to START?

    Q1: Does this approach make sense and would it work? 

    Q2: How long does it take to read out all registers between two full (multicycle) measurements?

    data = 1x 6 bits address, 10h-->1Ch 13 registers of data by 24 bits; 1x 6 bits address, 1x 8 bits for CONFIG1 to set new measurement? Total time at 20 MHz --> 6 + 13*24 + 6 + 8 = 16.6 usec? 

    I appreciate your help.

    Thank you,

    Michael 

  • Hi Michael,

    I will check on this further and hope to have answers to your questions on Monday.

    Best regards,

    Nicole

  • Hi Michael,

    Unfortunately, I don't believe that it will be possible to connect TRIGG directly to START. There is a timing requirement of 5 ns for the time from the trigger signal to the start signal (TTRIGGSTART, section 7.3). Additionally, the pulse width for both the start and stop signal will need to be a minimum of 10 ns (section 7.6), which needs to be taken into account during multi-cycle measurements.

    Best regards,

    Nicole

  • Hi Nicole,

    yes, that seems correct.

    Approach 1:

    Previously suggested approach in SNAA288  using MCU to start new measurement will be used in slightly changed configuration. Instead of constant generation of start pulse there will be a sequence:

    MCU sets START_MEAS. --> pulse >10ns from a MCU GPIO is sent to START and new measurement starts.

    New number of cycles are measured.

    MCU gets INTB pin flag and reads out data registers, sends a new START_MEAS command into address 02h, after >5 ns MCU sends via GPIO a pulse >10 ns to initialize new measurement to start.

    Approach 2:

    Connect START and STOP together and let it drive by input signal. 

    First approach seems to me as safety way rather than connect START and STOP into single pin from signal and let initialize measurement based on measured signal frequency.

    Approach 3:

    Connecting TRIGG to START over some Delay element (SN74LS31) or so which will bring in desired delay of 5 ns or more.

    What is your opinion?

    Thanks,

    Michael

  • Hi Michael,

    I think that Approach 1 may be the safest way to handle this application. I would otherwise be concerned about the device behavior if the Start and Stop signals were connected together, as there is a minimum time required between the Start and Stop signals:

    Best regards,
    Nicole

  • I think that even Approach 1 is more consistent. Every new measurement will have exact timing sequence and MCU has full control over the measurement process. 

    Thank you Nicole for your answers. I will upload any test results.

    Best Regards,

    Michael 

  • Hi Michael,

    Great to hear, I'm glad we could help. Please feel free to post a new thread with any test results or additional questions you may have.

    Best regards,

    Nicole