SPI接口3线串行Si471X

问题描述 投票:1回答:1

我试图通过搜索SDIO来找到这个问题的答案,这与我基于Silicon Labs数据通道命名的问题有关。但是,我充斥着与SD存储卡串行通信的SDIO协议相关的主题 - 这是一个完全不同的问题。

我想将PIC MCU(SPI总线)与Silicon Labs FM TX / RX 47XX芯片接口,这些芯片描述了串行控制接口和多种使用方式 - 他们称之为2线(基本上是I2C)或他们称之为3-导线并称为“SPI”。 3条线路是SLCK,SEN和SDIO(时钟,使能和同一线路上的数据输入/输出半双工)。

我的问题是SPI具有全双工功能 - TX和RX同时工作。即使我看到的每个实现都是半双工 - 发送然后接收 - 硬件连接SDI / SDO或MISO / MOSI或称为SPI模块中的任何行;单独的数据IN和数据OUT线。与SCLK和SEN一起(时钟和使能)。

我不确定如何连接它 - 以及它是否会起作用。我是否将PIC(SPI模块)的SDI和SDO引脚连接到Si47XX上的相同SDIO?因为Si47XX是半双工的,所以有意义;但我从来没有见过这两条线绑在SPI接口上。不确定引脚是否总是Hi-Z,例如我不想炒出一些东西。我需要添加上拉/下降吗?

奇怪的是,我似乎无法找到这种情况的实际接线图。当我搜索3线SPI时,我总是得到SEN绑定的示例,因为只使用了一个从设备 - 而不是我的情况。任何建议都将 - 一如既往 - 非常感谢。 -Rick

interface i2c spi duplex
1个回答
0
投票

可以使用以下原理图互连SPI和3线设备。哪个设备是主设备哪个设备是奴隶并不重要。

SPI device             3-wire device
----+
SDO |--/\/\/\-+  3k
    |         |        +---
SDI |---------*--------| SDIO
    |                  |
SCK |------------------| SCK
SEN |------------------| SEN
----+                  +---

如果3线设备处于接收状态,则SDO信号通过电阻连接到(Hi-Z)SDIO引脚并返回SDI引脚。如果3线设备处于传输状态,则SDIO输出将覆盖SDO值。

这种连接的例子可以在FTDI数据表中找到FT2232H,第37页(图4.1RS232配置) - 93С46到FT2232H连接。

在较低的SPI频率下,可以使用更高的电阻值来降低更高的电流。它也取决于走线长度,但在通常情况下,3k对于高达2 MHz的频率非常好。


附:似乎问题不在于编程。可以转移到electronics.stackexchange.com吗?

© www.soinside.com 2019 - 2024. All rights reserved.