当有其他从属 SPI 设备时,是否存在通过 SPI 访问 microSD 卡的问题?

电器工程 spi sd 微信
2022-02-05 05:32:24

我正在研究一种只有一个 SPI 端口的 CPU 的设计。我有多个 (3) 个从属设备连接到此端口,其中一个是 microSD 卡。

这是一位工程师的报告,他说 SD 卡设计为作为 SPI 主设备的唯一从设备运行。

有其他人能够在同一总线上与其他 SPI 从站一起使用 microSD 吗?也许这份报告只是基于一个特定的、有问题的 miniSD 卡?

为了安全起见,有人会建议用连接到 miniSD 卡的从选择线来选通 SPI CLK 线吗?

1个回答

根据此页面SD 卡驱动和/或释放 DO 线与 sclk 线同步:

在 SPI 总线中,每个从设备通过单独的 CS 信号进行选择,并且可以将多个设备连接到 SPI 总线。通用 SPI 从设备通过 CS 信号异步驱动/释放其 DO 信号,共享一条 SPI 总线。然而,MMC/SDC 驱动/释放 DO 信号以与 SCLK 同步。这意味着存在与 MMC/SDC 和任何其他连接到 SPI 总线的 SPI 从机发生总线冲突的可能性。右图显示了 MMC/SDC 的驱动/释放时序(DO 信号被拉到 1/2 vcc 以查看总线状态)。因此,要使 MMC/SDC 释放 DO 信号,主设备必须在 CS 信号置低后发送一个字节。

因此,只需在将 CS 线提高到高电平后向 SPI 发送一个虚拟字节就可以了。上面的网站有一个将 SD 卡上的 CS 线拉高时 SPI 总线的时序图。

此外,最好确保在上电/插入卡时,微控制器与卡协商使用 SPI 模式。这些细节可以在这里找到

综上所述,只要做好以上预防措施,多个外设共享SPI总线应该是可以的。