我正在设计一个只有一个SPI端口的CPU。我有多个(3)从站连接到此端口,其中之一是microSD卡。
这是一位工程师的报告,他说SD卡被设计为可作为SPI主设备的唯一从设备。
其他人是否能够在同一总线上与其他SPI从机一起使用microSD?也许此报告仅基于特定的有问题的miniSD卡?
为了安全起见,有人会建议使用去往miniSD卡的从选择线选通SPI CLK线吗?
我正在设计一个只有一个SPI端口的CPU。我有多个(3)从站连接到此端口,其中之一是microSD卡。
这是一位工程师的报告,他说SD卡被设计为可作为SPI主设备的唯一从设备。
其他人是否能够在同一总线上与其他SPI从机一起使用microSD?也许此报告仅基于特定的有问题的miniSD卡?
为了安全起见,有人会建议使用去往miniSD卡的从选择线选通SPI CLK线吗?
Answers:
根据此页面, SD卡与sclk线同步驱动和/或释放DO线:
在SPI总线中,每个从设备都使用单独的CS信号进行选择,并且可以将多个设备连接到SPI总线。通用SPI从设备通过CS信号异步驱动/释放其DO信号,以共享SPI总线。但是,MMC / SDC与SCLK同步驱动/释放DO信号。这意味着可能会与MMC / SDC以及连接到SPI总线的任何其他SPI从设备发生总线冲突。右图显示了MMC / SDC的驱动/释放时序(DO信号被拉至1/2 vcc以查看总线状态)。因此,要使MMC / SDC释放DO信号,主设备必须在CS信号无效后发送一个字节。
因此,仅在将CS线拉高后,才向SPI发送一个虚拟字节即可。当在SD卡上将CS线抬高时,上面的站点具有SPI总线的时序图。
另外,最好确保在加电/插入卡时,微控制器与卡协商使用SPI模式。这些细节可以在这里找到
总之,只要采取上述预防措施,就可以与多个外设共享SPI总线。