FPGA Notes

EDK IP - XPS Timer/Counter - Capture Mod

0
阅读(2996)

在用XPS Timer/Counter模块检测一个外部信号检测时,发现Timer这个IP Core的Datasheet写的不是很清楚。以下对其中的比较模糊的地方梳理一下。

1. 运行在哪个模式下 - Compare(Generate) 还是 Capture。在 TCSR0 的 MDT0 中配置。

2. Capture 上升沿还是下降沿,由Generic C_TRIG0_ASSERT 控制。1为上升沿,0为下降沿。Datasheet中叫做 high-true 和 low-true 让人以为是高低电平。查看源代码发现原来是做了Edge比较的。

3. 如果 TCSR0 的 ENT0 = 1 (Enable Timer0) 且 CAPT0 = 1 ( Enable External Capture Trigger),那么在发现上升沿或下降沿后,T0INT会置1

4. 对 T0INT 写入 1 可以清除中断,即将T0INT置0

5. 如果ARHT0 = 1 (Auto Reload/Hold Timer0),那么每次发生Capture Event时都会将现在的计数器内容存入Load Register。如果 ARHT0 = 0,那么只有在将Load Register读出后才可以重写Load Register。

6. 如果 ENIT0 (Enable Interrupt for Timer0) 置1,那么T0INT会驱动Interrupt管脚,使中断信号输出。否则中断只是一个内部的状态信号,需要查询才可得知内容。