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.

[参考译文] TMS320F28379D:TIDM-1010 BiSS 参考设计不触发 SPI RX FIFO 中断

Guru**** 2533590 points
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE, BOOSTXL-POSMGR, TIDM-1010

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/976323/tms320f28379d-tidm-1010-biss-reference-design-not-triggering-spi-rx-fifo-interrupt

器件型号:TMS320F28379D
主题中讨论的其他器件:controlSUITEC2000WAREBOOSTXL-POSMGRTIDM-1010

标题中几乎全部都有。 我正在使用 controlSUITE 中为位置管理器提供的示例代码、因为 C2000Ware 还没有 BiSS 支持。 我使用随附的扩展坞中的379D 控制卡、并使用一些跳线将它们全部连接在一起。 我很确定我已经正确连接了所有器件、我已经检查过很多次了。  

CLB 部分似乎正常工作、检测到起始位、正确位数后立即停止编码器的时钟、24位(即 fifo_level(2)* fifo_width (12))后停止 SPI 的时钟。 但是、"bissc_spiRxFifoIsr"永远不会运行、因此主循环停留在

while (bissc_data_struct.dataReady!= 1){} 

我确信中断的软件或设置存在一些问题、但我根本没有更改提供的示例代码、因此我无法很好地确定。 如果我想让中断保持活动状态、我应该为调试做什么具体的事情吗? 也许我使用的是禁用中断的错误模式? 我可以提供的另一条信息是、当我在等待 dataReady 的等待行暂停调试时、即使我旋转编码器并在示波器上观察到不同的数据、Rx 缓冲器也始终具有相同的值、 它始终如下图所示、无论它实际接收到什么数据

 

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

    [引述 USER="Chaitanya Sindagi"")我使用随附的扩展坞中的379D 控制卡和一些跳线将它们全部连接在一起。 [/报价]

    您的硬件是否包含 RS-485收发器?  TIDM-1010 BiSS-C 示例假设 Launchpad 上连接了一个 BOOSTXL-POSMGR。  BOOSTXL-POSMGR 包括收发器。  

    需要检查的另一件事:

    • 编码器已正确通电、不受电流限制。   
    • 使用示波器监视引脚、以查看编码器是否响应。  

    此致

    Lori

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

    你(们)好、Lori

    我可以确认编码器和 CLB 工作正常。 下面是控制卡接收到的 SIMO (黄色)和 CLK (绿色)的示波器屏幕截图、如在引脚75和79处测得。 时钟信号在发送正确位数后立即停止、当我重新启动程序并在旋转变压器后再次运行时、数据会发生变化、因此 CLB 和旋转变压器肯定会正常运行。  

    我使用的硬件是控制卡+基板和 POSMGR 板。 由于我没有 launchpad、我用跳线电缆将其连接起来、但一切都正常。 我连接了 TX_EN、GPIO6、GPIO7、SPI_SIMO、SPI_SOMI、 SPI_CLK、SPI_STEB。 是否需要其他一些引脚才能使其正常工作?  

    我使用 RM44DC 13位旋转变压器作为参考

    此外、我的印象是、SPIDAT 寄存器在收集数据时会更新、但我注意到、在事务完成后、该寄存器中没有数据。 这是正常的吗?  

    此外,在调试过程中,在"bissc_configXBAR()函数中,我必须将以下行更改为24,否则 CLB 不会检测到起始位,这是否会使事情混乱? 原始代码为63、这似乎是错误的引脚。

    InputXbarRegs.INPUT1SELECT = 24;// GPTRIP XBAR TRIP1 -> GPIO63 
    ////被用来- InputXbarRegs.INPUT1SELECT = 63;///

    谢谢

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

    我将其连接到错误的 SPI 引脚组。 我没有意识到它是为 GPIO63-66而不是 GPIO24-27配置的。 但是、我遇到了很多 CRC 错误、虽然这可能是由于布线松动、而不是实际问题、因为有时数据仍正常接收