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.

[参考译文] TMS570LS1227:MIBSPI:内部触发器的触发频率

Guru**** 2943350 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1025654/tms570ls1227-mibspi-trigger-frequency-of-internal-trigger

器件型号:TMS570LS1227

我很难确定如何使用内部 MIBSPI 触发器作为源。   

我将 SPI 格式(格式0)配置为1000KHz、 并将节拍计数器设置为最大值- 0xFFFF。  我将配置为仅在上升沿触发。  

在此速率下-格式为0的 SPICLK、即1000kHz -我希望触发 频率大约每  ~65ms * 2 =~130ms (计数器重新加载上升、重新加载下降等)。 )。

但我得到的结果似乎是尽可能快地中断、或者它以尽可能快的速度结束、并且我必须 设置缓冲模式6 =等待 Rx 为空、以保持不覆盖读取。

如果我将触发源更改为外部 GIOA7 -它被映射到1227 HDK 套件的用户按钮-那么我获得预期的行为、当我按下按钮时、只有一个发送/接收。  

我不在 Ideas ATM 中...  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好。

     TICKCNT 寄存器的值是多少? 是 FMT0 9格式0的 SPI 时钟)被选为节拍计数器的时钟源。

    如果启用了节拍计数器、并且时钟源和 TOK 值已正确编程、则应在触发事件时触发 MibSPI TG 传输。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    、感谢您一如既往地参加救援活动。

    嗯,TICKCNT 的值就像我在上面描述的那样,最初的16位基本上是0xFFFF,然后第31位被设置为使能它,所以我这样做了:

    mibspiREG1->TICKCNT = 0xC000FFFF;

    位30我设置为强制计数器重新加载、它 shold 不是 NECC。 当您启用计数器时。   TICKCNT 始终从调试器读取为0x8000FFFF。  我无法通过任何其他方式验证内部时钟计数器是否实际计时、来自寄存器-或者是否可以?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    似乎我看到这是错误的。  我比较 了从 ISR 中的断点到 ISR 的时间、并查看了 RTI 计数器的值、以及检查时间。

    但是,似乎内部 SPI 计数器/触发器或 SPICLK 在调试器中中断时不会停止-是这样吗?  

    现在、我连接了协议分析器、并根据触发设置精确触发 SPI 读取。

    如果 CPU 处于调试中断状态、是否有一些寄存器设置可指示 SPI 内部计数器停止?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    否、在调试模式下、节拍计数器不会停止计数。