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.

TMS570LC4357: TMS570LC43

Part Number: TMS570LC4357

该产品MibSPI模块在4线发送16bit数据时,SIMO[3:0] 分别输出15,14,13,12,而不是发送15,11,7,3bit;请问为什么只支持这种模式,有没有办法切换到SIMO[3:0] 分别输出15,11,7,3bit信号;

  • Hi,

    您的问题我们需要升级到英文论坛寻求帮助,如有答复将尽快回复您。

    Thanks

  • Hi,

    您是说在parallel模式下,您没有像 TRM 波形一样获得输出是吗?

    如果是的话,工程师这边根据 TRM 获得了波形。

    您可以看到,工程师以4 line parallel 模式发送数据0xC3A5,获得了以下输出波形: 

    MO3 - bit-15, bit-14, bit-13, bit-12  = (1, 1, 0, 0)

    MO2 - bit-11, bit-10, bit-09, bit-08  = (0, 0, 1, 1)

    MO1 - bit-07, bit-06, bit-05, bit-04  = (1, 0, 1, 0)

    MO0 - bit-03, bit-02, bit-01, bit-00  = (0, 1, 0, 1)

    输出与TRM中的相同:

    工程师的代码也给您贴在这边,您可以参考下看看:

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/908/MibSPI_5F00_Parallel_5F00_Mode_5F00_TEST_5F00_LC4357.zip

    Thanks

  • 非常感谢你的回答,我的问题是能不能按照下列格式输出:

    MO3 - bit-15, bit-11, bit-07, bit-03 

    MO2 - bit-14, bit-10, bit-06, bit-02 

    MO1 - bit-13, bit-09, bit-05, bit-01 

    MO0 - bit-12, bit-08, bit-04, bit-00

    因为我们某些器件是这样输出,还有该器件那样输出是基于什么考虑,主要应用是什么,谢谢

  • Hi,

    还有该器件那样输出是基于什么考虑,主要应用是什么,

    我们也不太了解为何这样设置输出,我的理解是该方法较简单,可以提高吞吐量,因为

    只考虑 MO3在bit 15上硬接线,MO2在bit 11上硬接线,MO1在bit 7上硬接线,MO0在bit 0上硬接线。 在第一个时钟脉冲时,bit 15将在 MO3上移出,bit 11将在 MO2上移出,bit 7将在 MO1上移出,bit 3将在 MO0右侧移出、。因此对于下一个时钟脉冲来说,可以将移位寄存器中的数据向左移动一位,除此之外没有其他动作。现在您能看到bit-14将位于 MO3上,bit-10位于 MO2上,bit-6位于 MO1上,bit-2位于 MO0上。 对于下一个时钟脉冲,数据将再次左移1且以此类推。 您可以看到该方法较简单,也是一种高吞吐量的方法。可能这就是该设计的原因。

    很抱歉并没有硬件机制可以来实现您的输出要求,不过我们可以在软件中实现。如果我们在向从器件发送数据之前更改bit位置,以及在从slave接收数据后更改位位置,情况会怎样。

    工程师在软件中做了以下测试,来验证该方法是否成立:

    1)根据主设备和从设备的顺序创建了two-bit field结构:

    2)工程师还创建了一个“Converting_Master_to_Slave_Format" API,该 API 在向从器件发送数据时很有用,并且该 API 会在我们发送数据之前根据从器件位顺序转换主器件位顺序。 

    3)同样地,工程师还创建了另一个名为”Converting_Slave_to_Master_Format“的API,该 API有助于将从slave接收到的数据转换为master顺序。 

    不过您也可以很明显的看到,当我们需要转换每个接收或传输的数据帧时、此方法会在一定程度上降低吞吐量。 但很遗憾目前由于protocol不匹配,无法通过其他方式与从器件连接。

    以下是完整项目,供您参考:

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/908/3487.MibSPI_5F00_Parallel_5F00_Mode_5F00_TEST_5F00_LC4357.zip

    Thanks