SPI интерфейс 3-х проводный серийный Si471X - PullRequest
1 голос
/ 17 марта 2019

Я попытался найти ответ на этот вопрос с помощью поиска в SDIO, который связан с моим вопросом на основе имен каналов данных в Silicon Labs.Тем не менее, я был наводнен темами, связанными с протоколом SDIO для последовательной связи с картой памяти SD - совершенно другое дело.

Я хочу связать PIC MCU (шину SPI) с Silicon Labs FM TX / RXМикросхемы 47XX, которые описывают последовательный интерфейс управления и различные способы его использования - то, что они называют 2-х проводным (в основном I2C) или то, что они называют 3-х проводным и которые называются «SPI».3 строки: SLCK, SEN и SDIO (тактовая синхронизация, включение и полудуплексный ввод / вывод данных по одному и тому же проводу).

Моя проблема заключается в том, что SPI поддерживает полнодуплексный режим - одновременную передачу и прием.Несмотря на то, что каждая реализация, которую я видел, на самом деле является полудуплексной (отправляй, получай, получай), аппаратное обеспечение соединено с SDI / SDO или MISO / MOSI или вызывает любые линии в модуле SPI;отдельный вход данных и провод данных OUT.Наряду с SCLK и SEN (часы и включение).

Я не уверен, как подключить это - и будет ли это работать.Подключаю ли я контакты SDI и SDO PIC (модуля SPI) к одному SDIO на Si47XX?Поскольку Si47XX полудуплекс, это имело бы смысл;но я никогда не видел две линии, связанные на интерфейсе SPI.Не уверен, например, что контакты всегда Hi-Z, и я не хочу что-то жарить.Должен ли я добавить подтягивания вверх / вниз?

Как ни странно, я не могу найти фактическую схему соединений в таком случае.Когда я ищу 3-проводный SPI, я всегда получаю примеры, где SEN привязан, поскольку используется только одно подчиненное устройство, а не моя ситуация.Любой совет будет - как всегда - с благодарностью.-Rick

1 Ответ

0 голосов
/ 17 марта 2019

Можно соединить SPI и 3-проводные устройства, используя следующую схему.Неважно, какое устройство является главным, а какое ведомым.

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

Если 3-проводное устройство находится в состоянии приема, то сигнал SDO поступает через резистор на вывод (Hi-Z) SDIO и обратно наSDI pin.Если трехпроводное устройство находится в состоянии передачи, то выход SDIO переопределяет значение SDO.

Пример такого подключения можно увидеть в техническом описании FTDI для FT2232H , стр. 37 (Рисунок 4.1RS232).Конфигурация) - соединение 93С46 - FT2232H.

На более низких частотах SPI можно использовать более высокое значение резистора для более низкого тока переопределения.Это также зависит от длины трасс, но в обычных случаях 3k находится в очень хорошем состоянии для частот до 2 МГц.


ps Кажется, что вопрос не в программировании.Может ли он быть перенесен на electronics.stackexchange.com?

...