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.

TDC7201: 计数器溢出中断问题

Part Number: TDC7201


请问,想使用tdc7201的溢出中断信号,Measurement Mode 1  设置了TDCx_COARSE_CNTR_OVF_H=0x00,TDCx_COARSE_CNTR_OVF_L=0X80,但中断管脚INTB并未按设置的溢出上限时间出现中断,是还需要进行其他设置吗? 请求解答,谢谢

  • 您好,0x03h的中断是不是已经enable了?如果这里disable了,那么就不会在中断管教INTB上反映出来,但是中断状态寄存器是可以读取到中断溢出的。您可以读取下寄存器02h的值看下是否有溢出中断信号? 

  • 0x30h中的中断已设置为enable了,在中断管脚上并没有体现。TDCx_COARSE_CNTR_OVF设置的溢出值计数是怎么计算的呢,例如想要设置500ns就溢出中断,该计数器数值应设为多少呢?谢谢解答

  • 您好,粗略测量和时钟测量两个计数器是TDC7201进行时间测量依赖的计数器。

    粗调计数器是计算振铃次数(TDCx 的内核时间测量机制)回绕, 用于在 TDCx_TIME1至 TDCx_TIVE6寄存器中生成结果。

    时钟计数器计算start和stop之间的整数时钟周期数。 二者计数器的计算方法如下:

  • 另外,关于INTB没有被拉低的行为,还是想和您确认下寄存器0x02的值读取为多少? bit 4是否表示测量已完成?还有bit2表示是否有溢出?

    如果这个寄存器读取出来bit2 确实检测到已经溢出,但是iNTB 并未拉低。 可能是因为测量没有完成。 datasheet中有这样一段备注,必须使用INTBx来确定里测量是否完成,所以我想通过寄存器02h的值看下是不是由于测量并未完成导致INTB没有被拉低: