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.
TI 团队、
我 将外部时钟信号(5MHz)作为 GIO 引脚(GIO 端口 A、7)上的中断。 在 ISR 中、我要切换 GIO 引脚(GIO PORta、0)、理想情况下、切换速率(在 ISR 中定义)应与时钟速率(即5MHz)相同、但接近~740KHz。
我想知道 GIO 引脚处理中断的最大频率是多少。 此外、您能否建议应执行哪些操作才能在此频率下对中断进行采样。
我正在附加必要的文件
您好、耐受、
ISR 执行时间应短于中断事件的间隔。 ISR 需要 保留堆栈上 ISR 使用的任何寄存器、并在返回前将其恢复、ISR 需要读取外设的中断矢量以清除标志。 所有这些操作也将需要周期。 请使用 PMU 来测量 ISR 所需的周期数。
您好、Wang、
我将使用 PMU 来测量 ISR 所采用的周期。 但现在、我以300MHz 的频率运行 CPU 时钟(GCLK)、因此时间周期为3.3ns。 GIO 切换频率为~740Khz、这意味着 GIO 引脚切换所需的时间为1.35us。 因此、通过此类比、简单的 GIO 切换函数需要将近400个时钟周期。 我的理解是正确的、或者我缺少一些东西、因为 GIO 切换函数的400个时钟周期会降低性能。
您的中断每0.2us (5MHz)发生一次、并且您的 GIO ISR 尝试切换 GIOA[1]引脚。 我认为在 TMS570LS1224上切换 GIO 引脚(gioToggleBit())大约需要450ns (在 TMS570LS1224 Launchpad 上测量)。
[引用 userid="488031" URL"~μ C/support/microcontrollers/arm-based microcontrollers-group/arm -based-microcontrollers/f/arm -based-microcontrollers-forum/1127471/tms570lc4357-gio-interrupt-handling /4184677#4184677"]通过引用引脚切换时间、GIO 频率为~740Khz [我不明白你的观点。 GIO 切换函数是否每1.35us 调用一次? 和1.35us 是使用 RTI 中断确定的?