Перейти к содержанию
    

Несколько SD карт к одному хосту

Можно ли в режиме SDIO объединить все одноименные сигналы карт (кроме CLK) и подключить к МК или ПЛИС с внутр. подтягивающими резисторами к VCCIO.

А CLK формировать только той карте с которой хотим общаться и только на время общения.

Могут ли быть какие либо подводные камни при таком включении?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, Freibier сказал:

Можно ли в режиме SDIO объединить все одноименные сигналы карт (кроме CLK) и подключить к МК или ПЛИС с внутр.

Если по емкостям проходят, то объединяйте, только могут быть подводные камни в виде того, что карта выставляет сигналы хосту, и если накривите с ПО и не установите карту в IDLE, перед тем, как начнете общаться со след, будет "не очень")))

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, mantech сказал:

 если накривите с ПО и не установите карту в IDLE, перед тем, как начнете общаться со след, будет "не очень")))

А почему именно в IDLE нужно карту переводить?

Думаю можно общаться с картами когда они в любом состоянии, главное чтобы все карты ждали фронта CLK и все свои линии перевели в Z.

А клок даём только одной, остальные ждут и не мешают.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вам нужна спецификация, часть Е1:
PartE1_SDIO_Simplified_Specification_Ver3.00.pdf

Конкретно пункт 17.3 - конфигурация общей шины.
В общем случае каждая карта может подключаться ко всем пинам шины, кроме пина тактирования. Такт должен быть мультиплексирован между картами.

Цитата

A device can be switched while the selected device does not drive the SD Bus; e.g., while busy is not indicated. An Un-selected device can request the host to service with an interrupt.

Переключение устройств (карт) возможно в том случае, когда выбраная (в текущий момент) карта не управляет шиной SD (SD Bus), например когда нет состояния занятости на линии.
Не выбранное устройство может подать хосту прерывание в любой момент (даже без подачи сигнала тактирования). Выход карты #INT асинхронный.

Как понимаю, когда передача завершена, и карта не трогает шину DAT[3:0], можно переключить тактирование на другую карту, выждать некоторое время (8+ тактов?) и работать уже с ней.

Дожидаться освобождения шины обязательно, иначе будет интересная ситуация, когда одна карта держит шину, допустим в состоянии 0b0011, хост отправляет, например, 0b1100, а выбранная в этот момент карта будет читать 0b0000 ("проволочное И"):

220px-WiredAND.svg.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...