假设您有一个SPI总线,只有一个芯片选择。有没有这样的芯片,我可以连接8个或更多的设备到那个SPI总线?
为了简化操作,您可以假设所有设备都同意SPI模式(数据需要在上升的边缘上有效)。此外,所有的设备都是时间的,其中芯片选择保持低为整个传输,而不是切换后,每个字。
SPI复用器可以有4个输入:
9项产出:
MISO和MOSI直接连接到奴隶。从站将其SPI时钟连接到输出时钟,并且它们的芯片选择被连接到8个从芯片选择中的一个。
SPI复用器将把每个SPI传输的两个字节作为自己的输入。第一个字节可以指示要选择哪个从字节。对于多路复用器的配置,可以允许第九个地址。
如果选择了8位中的一位,则复用器将在第一个字节之后(甚至在第一个字节的前几位之后)激活从机的芯片选择。输出时钟将在第二个字节开始时激活,并与输入时钟同步。使时钟在第一个字节期间处于不活动状态,确保从节点从未注意到第一个字节。
这样的芯片似乎并不存在。我找到了两个芯片选择的解决方案,但这不是用单一芯片选择来升级旧硬件设计的一种选择。
这样的东西存在吗?
发布于 2019-09-28 15:02:14
它之所以不存在,是因为它没有必要。通常,在启动SPI传输之前,CS只能作为常规gpio从软件控制,然后您可以将不同的从站连接到不同的GPIO,并将它们用作CS。如果CS是由硬件块生成和需要的,您可以用外部芯片选择这个信号来选择想要的从机。
您提出的选择总线的一个字节也会破坏所有在写入和读取到同一个缓冲区时中继的软件,这将减少控制信号的可用带宽。
另外,随着安全飞地和Trustzone的发展,趋势不是共享spi总线,而是硬连接它们,这样只有运行在SoC受信任部分的代码才能访问连接的从节点。
https://stackoverflow.com/questions/55172478
复制相似问题