Jump to content
    

Работа с интерфейсом MMC/SD

Господа, столкнулся с такой проблемой...

Разрабатываю слэйв-устройство с SD интерфейсом, которое по сути изображает из себя SD карту памяти. Все вроде было хорошо, но под конец (!) проекта выяснилось, что:

1. Практически никакие хосты не предлагают устройству работать в SPI-режиме, следовательно применение набортного SPI контроллера (использую LPC2132) в штатном режиме практически невозможно

2. По спецификации, тактовая SD-интерфейса может достигать 25МГц. Но когда, устройство вставляется в слот, хост в режиме идентификации общается с ним на частоте до 400кГц, что вполне приемлемо. Но! Режим идентификации заканчивается ДО того, как хост спрашивает у устройства его скоростные ограничения, и задирает тактовую. Очень нелогично, но так. SPI контроллера захлёбывается :(

 

Выход из ситуации вижу в применении промежуточной интерфесной микросхеме на базе ПЛИС.

 

ПЛИСами не занимался :( Вопрос в том, возможно ли чайнику с нуля в сжатые сроки соорудить некое чудо, котрое из последовательного интерфейса сделает параллельный + имело бы буфер хотя бы на один байт... + малый размер корпуса.

 

Поможите направить взор сразу в правильном направлении. Буду рад любым рекомендациям

Share this post


Link to post
Share on other sites

Зависит от того занимались вы раньше цифровой схемотехникой вообще или нет. Если занимались, то можно рисовать схему в схемном редакторе. Если нет то можно попробовать сразу начать писать на xHDL.

 

Если не охота заморачиваться с загрузкой ПЛИС от проца, то надо ставить CPLD (например ХС9500 от Ксайлинкса).

 

Софтина на такие маленькие проекты бесплатная как у Ксайлинкса, так и у Альтеры.

 

Часть ответов можете найти здесь: http://fpga-faq.narod.ru/

И естественно поиском по конфе :)

Share this post


Link to post
Share on other sites

Если не работал с ПЛИСюкаме то не лучше попробовать использовать микросхемку: W86L388D Winbond Host Interface SD/MMC Memory Card Bridge

Share this post


Link to post
Share on other sites

Работа с интерфейсом MMC/SD

 

Вот, занимался этим проектом гдето год назад, сейчас забросил. Чтобы добро не пропадало, решил выложить, может кому-то потребуется. Проект рабочий, корка написана на верилоге, для процессора ниос 2, прилагается пример Си кода и исходники на верилоге. Работа с SD в 1-но битном SD режиме, реализовано только блочное чтение, максимальная скорость которая у меня была 1.2 МБайта, правда SD карточка была быстрая, при медленной где-то 800 КБайт. Тактовая SD у меня была 20 MHz, CPU 100 MHz. При желании эту корку можно довести до ума и реализовать 4-х битный режим, а также запись.

Желаю удачи!!!

 

P.S. при разработке использовал спецификации SD от SanDisk и Toshiba.

SD_card_controller.rar

Share this post


Link to post
Share on other sites

Народ а кто может подсказать где можно взять доки по работе с SD картой в 4 битном режиме желательно хочу попробывать сделать контроллер

Благодарность Camelot за щедрость !

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...