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.
大家好!
我的 SCI 通信实现有问题。 我正在使用 TX FIFO 空中断来帮助确定何时传输一条消息、但我无法在那里执行收发器方向引脚切换、因为这样做显然会导致消息不完整/Lops 离已传输数据的最后一个字节。 为此、我利用1ms 的时钟 SWI 在 TX FIFO 空中断发生后执行引脚切换。 这并不是最佳选择、因为我们的一些客户并不具有稳健的应用、并且当前的实现方案会在其系统中产生一些小噪声。
我正在寻找一项建议或另一种模式来使用、并帮助消除会给客户带来噪声的多余几微秒信号。
此致、
-韦斯
尊敬的 Wes:
是否可以改用 TXRDY 作为中断源? 这应该晚于 TX FIFO 空中断发生、因为 FIFO 的内容在数据被移出到 TX 引脚之前被移出到 TXBUF。
谢谢!
卢克
或许在 TX FIFO 为空中断之后、我可以尝试启用 TXRDY 中断、并在发生方向引脚切换时使用它来进行切换。 我来试一下。 谢谢!
使用 TX FIFO 会不会发送 TXRDY 吗? 遗憾的是、TXRDY 信号在最后一个 TX FIFO 为空中断后不触发。 观察 TRM、表23-4似乎表明、具有 FIFO 的 SCI 仅允许 RXERR、RXFFIL、TXFFIL 和 TXRDY 仅在未使用 FIFO 时可用。
您好、Wesley:
此应用是否需要 FIFO 模式? 如果没有、那么在使用非 FIFO 模式时会出现同样的问题吗?
另一个选项是使用 CLB。 这可以采用 SCIA_TX 信号作为输入、 每当 SCI_TX 线路为高电平时、您可能会有一个处于 CLB 增量的计数器、每当 SCI_TX 线路为低电平时、就会复位。 如果 SCI_TX 线路为高电平的时间过长、计数器将达到 CLB 配置中指定的某种匹配值、CLB 中的 HLC 可能会触发中断 、以将 SCI_TX 线路配置为输入。 请告诉我、这在您的应用中是否可行。 如果是、我建议使用 SysConfig 配置 CLB。 以下是 CLB 工具用户指南的链接:
如果您有任何进一步的问题、请告诉我。
谢谢!
卢克
谢谢 Luke。 我们一直在尝试不同的方法。 我正在尝试使用 ECAP 模块中的 APWM 模式和信号在短时间后设置中断。 我 针对前面提到的问题创建了一个新的话题、因为我们可能会尝试其他方式、但我们的团队很少在应用中使用 ECAP 模块、因此这似乎是一个潜在的解决方案。
好的、明白了、如果您还有任何有关 SCI 的具体问题、请告诉我。 否则、我将关闭该主题。