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

Возникла задача реализация SD карточки.

 

Первая мысль, которая пришла в голову, это взять армовский контроллер с SDIO интерфейсом.

Только как-то кажется что не совсем решаемо это будет, так как в МК sdio хостовый, а здесь его по сути нужно сделать slave'ом.

 

Может я не в том направлении мыслю и задача делается проще?

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

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


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

Правильно Вам кажется. MMC/SD интерфейсы МК не предусматривают работы в роли slave (по крайней мере, я не знаю таких). Так что, FPGA Вам в помощь.

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


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

Правильно Вам кажется. MMC/SD интерфейсы МК не предусматривают работы в роли slave (по крайней мере, я не знаю таких). Так что, FPGA Вам в помощь.

 

Т.е. вариант решения это или брать плисину или управлять сигналами на МК.

Спасибо.

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

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


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

Возникла задача реализация SD карточки.

Первая мысль, которая пришла в голову, это взять армовский контроллер с SDIO интерфейсом.

Только как-то кажется что не совсем решаемо это будет, так как в МК sdio хостовый, а здесь его по сути нужно сделать slave'ом.

 

Зачем МК делать slave'ом? Разве SD-карта может быть хостом?

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


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

Зачем МК делать slave'ом? Разве SD-карта может быть хостом?

наверное чтобы микроконтроллер мог эмулировать microSD

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


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

Т.е. вариант решения это или брать плисину или управлять сигналами на МК.

Без "или". МК не успеет обслужить SD интерфейс, там тактовая частота до 50 МГц.

 

Зачем МК делать slave'ом?

Как правило, чтобы к хосту прицепиться через SDIO интерфейс. Но бывают случаи, что надо эмулировать и карту памяти.

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


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

Без "или". МК не успеет обслужить SD интерфейс, там тактовая частота до 50 МГц.

А габарит тоже microSD нужно оставить?

Питание с интерфейса берется?

 

Это не очередное "хочу помигать лампочкой путем записи байтика в файл на uSD-карточке"?

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


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

А габарит тоже microSD нужно оставить?

Питание с интерфейса берется?

А почему этот вопрос ко мне? Ну, если он ко мне... То, лично я делал SDIO slave интерфейс, чтобы прицепить микросхему WiFi+BT c интерфейсом SDIO+UART только на интерфейс SDIO (как это умеет marvell 88w8688), сделав контроллер UART over SDIO, и мост SDIO-SDIO, получив SDIO-девайс, имеющий на выходе UART и SDIO-хост. А формфактор и питание пофигу, оно же на плате все дорожками соединено.

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


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

А почему этот вопрос ко мне?

Вопрос к ТС, но и вам ответ будет полезен)

ТС просит реализовать именно "SD карточку".

Допускаю, что под этим понимается "интерфейс, аналогичный SD карточке".

 

Вопрос к ТС, кроме всего прочего: "а вы с SD картами хотя бы с хоста работали?"

Там ведь и SD/SDHC/SDXC разных версий; SDIO; SPI mode; UHS-I с огромными МГц и 1.8В + DDR;

 

Конкретно что нужно сделать? Какой минимум? Что нужно будет хосту от такой карточки? На хост можно как-то повлиять?

 

А то ведь в SPI mode можно проэмулировать (самый простой случай).

Или попытаться найти спец контроллер для карточек.

Или вам нужна карточка где "security" часть отключаемая? )

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


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

Вопрос к ТС, но и вам ответ будет полезен)

Чем? У меня уже есть реализация этого интерфейса в виде IP-блока, и все уже года три как работает. Правда, без DDR, но и это ни разу не проблема для ПЛИС.

 

А то ведь в SPI mode можно проэмулировать (самый простой случай).

Нет смысла. Ни один стандартный хост-контроллер не работает с SD или SDIO в режиме SPI. Это только всякие пионерские поделки...

 

Или попытаться найти спец контроллер для карточек.

Нереально. Только IP-блоки доступны для ASIC, это пройденный этап.

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


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

Вопрос к ТС, но и вам ответ будет полезен)

ТС просит реализовать именно "SD карточку".

Допускаю, что под этим понимается "интерфейс, аналогичный SD карточке".

 

Вопрос к ТС, кроме всего прочего: "а вы с SD картами хотя бы с хоста работали?"

Там ведь и SD/SDHC/SDXC разных версий; SDIO; SPI mode; UHS-I с огромными МГц и 1.8В + DDR;

 

Конкретно что нужно сделать? Какой минимум? Что нужно будет хосту от такой карточки? На хост можно как-то повлиять?

 

А то ведь в SPI mode можно проэмулировать (самый простой случай).

Или попытаться найти спец контроллер для карточек.

Или вам нужна карточка где "security" часть отключаемая? )

 

 

C хоста работал с SD/SDHC через SPI(на LPC1114) и через SDIO (LPC4337).

 

Конкретно нужно, чтобы устройства (телефон, компьютер через картридер) могли читать/писать карточку. Собственно по сути реализовать то, что заложено внутри контроллера обычных SDHC. Хотя бы самое основное необходимое для чтения и записи.

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


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

(телефон, компьютер через картридер) могли читать/писать карточку.

Именно карточку ? Очень нестандартное решение. И нетривиальное. С телефоном можно связаться по BlueTooth или по USB (хоть и не всегда), с компьютером - по USB. Насколько оправданы сложности с карточкой ?

 

P.S. Когда-то очень давно слышал о некоем устройстве, в которое данные с персоналки сливались путем считывания устройством состояний светодиодов клавиатуры. Т.е., спец. ПО со стороны персоналки преобразовывало, например, файл данных в последовательность миганий светодиода, например, NumLock. Устройство своим фотоприемником прикладывалось к светодиоду и принимало данные. Ну, не гениально ли ? :)

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


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

Собственно по сути реализовать то, что заложено внутри контроллера обычных SDHC.

FPGA, и без вариантов. На некую минимальную обслугу хватит LCMXO2-256HC-4SG32C или ICE40LP384-SG32, но тренироваться лучше на чем побольше, например LCMXO2-1200HC-4TG100C или iCE40LP1K-QN84, так как без опыта не факт, что сделаете в 256, и в мелочи не сделать толковую буферизацию, в ней памяти или почти нет, или нет.

 

Если не боитесь BGA, то там, рядом с ними, есть вообще ультрамелкие корпуса, например LCMXO2-1200ZE-1UWG25ITR50, всего 2.5х2.5 мм

 

UPD:

мелкие FPGA, только как интерфейс к МК! В более больших, может быть, можно сделать и всю функциональность устройства целиком (я не знаю, что оно должно делать, кроме обмена по SDIO, потому объемы предсказать не могу),

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


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

А читать и писать в никуда? Или на какую-нить flash?

А это уже отдельный вопрос, не по реализации SDIO интерфейса. Я думаю, автор без нашей помощи с этим разберется.

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


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

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

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

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

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

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

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

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

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

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