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.

[参考译文] TMS570LS1115:HalCoGEn MIBSPI1传输组

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/599702/tms570ls1115-halcogen-mibspi1-transfer-group

器件型号:TMS570LS1115
主题中讨论的其他器件:HALCOGEN

使用 HalCoGen V04.06.00 for TMS570LS1115配置 MIBSPI1传输组6和7是否存在任何问题? 在 MIBSPI3上也有相同的问题。

我可以成功使用传输组0-5。  除了数据长度之外、我的所有传输组都配置相同。  缓冲器总数小于128。

观察在一个范围内的数据/时钟传输、并且只存在传输组6、7的问题。   未使用组6、7的通知。

转移组

0        = 1字节数据

1        = 2字节数据

2        = 9字节数据

3        = 65字节数据

4        = 3字节数据

5        = 18字节数据

6        = 10字节数据 **发送 clk +数据失败

7        = 6字节数据**发送 clk +数据失败

是否有任何关于6、7组为什么不工作的建议?

此致

Rob

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

    是否所有组都用于相同的芯片选择? 还是分配给不同的芯片选择? 默认情况下,HALCoGen 将组0分配给 CS0,将组1分配给 CS1,... 第7组至 CS7。 MibSPI1和 MibSPI3没有 CS7。

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

    您好 QJ、

    我没有使用 CS 选项。  在 HalCoGen 中选择了无。  我为 CS 使用 GPIO 线路、我手动控制该线路。  

    所有组都连接到相同的 CS。

    有趣的是、我遇到的两个小组与正在工作的小组不同...

    还有其他建议吗?


    Rob

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

    我已经对这个问题做了更多的测试、但仍然无法解决。 虽然我已经快速查看了 mibspi.c、但生成的 HALCoGen mibspi.c 文件中似乎有一个错误、看起来还可以。

    我的测试功能如下、

    /*----------------- *
    void Debug_Test_SPI_Groups (void)

    uint16_t Buffer[64];

    Set_Output_SPI1_CS ();
    mibspiInit();

    /*
    * HALCoGen 配置
    *
    * MIBSPI1数据格式
    *
    *数据格式0
    *
    *波特率(kHz):4000
    *延时:0
    *图表:8.
    *时钟相位:启用
    *
    * MIPSPI1延迟
    *
    *芯片选择至有源启动33.33nS
    *传输端到芯片选择无效22.22 nS
    *芯片选择至 ENA 超时0.00 nS
    *传输完成到 ENA 非活动超时0.00 NS
    *
    * MIBSPI1传输组
    *
    *传输组通用
    *
    *芯片选择:CS_none
    *数据格式:0
    *锁定传输:未选择
    *缓冲模式:4.
    *启用 WDELAY:未选中
    *芯片选择保持:未选择
    *
    *一次性传输:已选择
    *使用编码芯片选择:未选中
    *芯片选择保持:未选择
    *触发事件:Trg_Always
    *触发源:TRG_DISABLED
    *传输组指针重置:未选中
    *
    *传输组0 -长度1
    *传输组1 -长度2
    *传输组2 -长度9
    *传输组3 -长度65
    *传输组4 -长度3
    *传输组5 -长度18
    *传输组6-长度6**不起作用
    *传输组7-长度10**不起作用
    *
    *

    /*
    *无论执行以下哪个订单的代码、始终在组6和组7上失败
    *

    /*
    *测试组5传输、这正常、在 CS 的下降沿触发示波器
    *
    CLEAR_OUTPSI1_CS ();/*芯片选择低电平*
    mibspiSetData (mibspiREG1、5U、缓冲器);
    mibspiTransfer (mibspiREG1、5U);

    while (!(mibspiIsTransferComplete (mibspiREG1、5U)))


    Set_Output_SPI1_CS ();/*芯片选择传输的高端*/

    /*
    *测试组6传输失败
    *
    CLEAR_OUTPSI1_CS ();/*芯片选择低电平*
    mibspiSetData (mibspiREG1、6U、缓冲器);
    mibspiTransfer (mibspiREG1、6U);

    while (!(mibspiIsTransferComplete (mibspiREG1、6U)))


    Set_Output_SPI1_CS ();/*芯片选择传输的高端*/

    /*
    *测试组7传输失败
    *
    CLEAR_OUTPSI1_CS ();/*芯片选择低电平*
    mibspiSetData (mibspiREG1、7U、SPI_1_TX_Big_Buffer);
    mibspiTransfer (mibspiREG1、7U);

    while (!(mibspiIsTransferComplete (mibspiREG1、7U)))


    Set_Output_SPI1_CS ();/*芯片选择传输的高端*/

    while (1);//从不会因为在 Group6 Transfer 上挂起而到达这里*/


    /*----------------- *

    我观察组5的 SPI 是否正常运行、但当我运行组6和组7的测试代码时、我看不到 SPI 活动。

    有什么建议?

    我想附加 HalCoGen 文件、但我看不到如何在这里附加文件...

    此致
    Rob