https://e2e.ti.com/support/processors-group/processors/f/processors-forum/959602/am3358-am3358
器件型号:AM3358您好!
我的设计需要将 am3358连接到6个 SPI 从器件、我尝试使用 am3358内的 McSPI 模块、我的图随附于此、您能不能帮助确认 McSPI 可以支持这种设计吗?
谢谢、
锂离子电池
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.
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/959602/am3358-am3358
器件型号:AM3358您好!
我的设计需要将 am3358连接到6个 SPI 从器件、我尝试使用 am3358内的 McSPI 模块、我的图随附于此、您能不能帮助确认 McSPI 可以支持这种设计吗?
谢谢、
锂离子电池
锂离子电池
您已将 SPI1配置为标准双通道双向配置。
对于 SPI0、标签 SPI0_CS0和 ARM_GPIOA_SPI0_CS0以及 SPI0_CS1和 ARM_GPIOB_SPI0_CS1不清楚。 您能否说明您正在尝试/预期如何处理 CS 信号? 全部由软件控制?
看起来器件2-5都是单向的。 与其尝试控制 SPI0_D0的方向、最好将所有发送器连接到 D1、将所有接收器连接到 D0 (如果有道理、也可以相反)。 这样、您应该能够使用多通道功能、同时通过使用 GPIO 引脚的软件生成(4)个 CS 信号。
保罗
尊敬的 Paul:
感谢您的建议。
SPI 从器件#2和#3不是"单向"、它们是单引脚 D0 (半双工)上的"输入和输出"。 只有#4和#5器件为"单向"、AM3358使用 SPI0_D1将数据输出到两个器件。
2.我使用标准"SPI0_CS0"作为芯片选择信号来控制器件#2、我们的固件工程师将对一些代码进行编程、以便从"ARM_GPIO_A"引脚生成类似的"CS"信号来控制器件#3、所有这些都由软件控制。
器件#2和器件#3是完全独立的(在时序和内容方面)、它们只共用"SPI0_SCK"、"SPI0_D0"总线接口、但使用不同的"SPI0_CS0"和"ARM_GPIOA_SPI0_CS0"芯片选择信号将它们分开。 在器件#4和#5上也需要考虑相同的设计注意事项。
您认为我的设计适用于 AM3358中的 McSPI 模型吗(因为设计中有6个 SPI 从器件、McSPI 可以处理如此多的从器件)?
谢谢、
锂离子电池
好的、 您提供的图表暗示#2是发射的、#3是接收的。
每个 SPI 模块设计用于处理4个器件(4个通道)。 AM335x 器件中的实现仅支持 CS0和 CS1、CS2和 CS3、未输出引脚。 但是、正如您在实现中所指出的、软件可以使用 GPIO 实现 CS 信号。 但是、您不必使用这些通道即可支持多个器件。
以下配置可能更适合您的用例。
SPI0_D0成为器件2和3的半双工 TX/Rx 以及器件5的 TX。 SPI0_D1是来自器件4的 Rx。
S/W 将控制 CSx 以及 SPI0_D0的方向控制。
只要在从器件4接收数据时禁用 SPI0_D0驱动器、甚至可以将器件2和3连接到 SPI0_D1引脚。
必须对其进行原型设计以验证功能器件2和3。
保罗