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: New measurement won´t start

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

Hi,

I designed a board similar to the TDC1000-TDC7200EVM with another microcontroller. This board will be used for distance measurement in air. After setting up the register from TDC1000 and TDC7200 via SPI, I set the TDC7200 CONFIG_1 register to 0x3 to start a new measurement in mode 1. The TDC7200 then sends a trigger to TDC1000 and performs one measurement. Because the sensor isn´t adjusted yet, the AFE won´t receive an echo, so the TDC7200 will detect an overflow in register INT_STATUS in Bit [1]. I tried to reset all Bits in register INT_STATUS by writing 0x1F to it and resetting TDC1000 ERROR_FLAGS by writing 0x1 to it. After resetting these registers I tried sending 0x3 to CONFIG_1 register again to start another measurement, but it still doesn´t work.

How can I start a measurement continuously?

My register settings are:

TDC1000: 

CONFIG_0=0xE1

CONFIG_1=0x41

CONFIG_2=0x1

CONFIG_3=0x5

CONFIG_4=0x1F

TOF_1=0xE4

TOF_0=1E

ERROR_FLAGS=0x1

TIMEOUT=0x77

CLOCK_RATE=0x1

TDC7200:

CONFIG_1=0x3

Unmentioned registers are left to their default values.

I aprreciate your help.

Kind regards,

Gert

  • Hi Gert,

    What do you read on the INT_STATUS register after you have cleared it with 0x1F?

    Are you polling the INT_STATUS register to detect the overflow, or are you waiting for the INTB pin to reflect the overflow? INTB will pull low when any of the INT_STATUS fields become active unless they are masked. It's not recommended to poll the INT_STATUS register directly during the measurement as it could interrupt the flow of the measurement.

    If you are already checking INTB instead of the INT_STATUS register, try the multicycle averaging feature to see if you get multiple triggers.

    Regards,
  • Hi Scott,

    thank you for your quick response.
    Seems like I didn´t notice that interrupt pin is open drain. Maybe this will resolve my issue, I will let you know.

    Regards,
    Gert
  • Hi Scott,

    Multicycle-Measurement(64 cycles):
    before I clear INT_STATUS I read 0x0, after clearing I read the same value again. The TDC1000 errorflag register reads 0x18 before clearing and 0x24(weak signal) after.

    1 cycle only:
    before I clear INT_STATUS I read 0x3, after clearing I read the same value again. The TDC1000 errorflag register reads 0x0 before clearing and 0x0(weak signal) after.

    I still can´t trigger multiple measurments.

    Regards,
    Gert