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

SD Card - програмная реализация интерфейса

Да, стартует карта в SD-режиме, и последовательность инициализации будет именно такой. А какое железо используется, на борту есть контроллер SD? С программной эмуляцией SD-режима я бы не связывался.

 

А что бы Вы посоветовали в случае EP9302? Если я правильно понял, то SD-card к нему можно только по SPI подключить, а хотелось бы по протоколу SD работать, но не реализовывать это все программно.

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


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

А что бы Вы посоветовали в случае EP9302? Если я правильно понял, то SD-card к нему можно только по SPI подключить, а хотелось бы по протоколу SD работать, но не реализовывать это все программно.

Что в вашем понимании "реализация протокола"?

Если прием и передача команд по SD-протоколу - то програмная реализация займет строк 30-40.

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


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

А что бы Вы посоветовали в случае EP9302? Если я правильно понял, то SD-card к нему можно только по SPI подключить, а хотелось бы по протоколу SD работать, но не реализовывать это все программно.

В случае EP9302 я бы вообще не советовал связываться с SD: по SPI получается медленно, а преимуществ программной реализации SD-протокола через GPIO я, честно говоря, не вижу.

Впрочем, про эмуляцию SD лучше спросить у Andrei.....

 

Еще можно:

- поставить внешний контроллер

- подключить карту через USB адаптер

- сделать свой контроллер на программируемой логике

 

На практике годится только третий вариант: stand-alone контроллеры SD почти не встречаются, а при подключении через USB выйгрыш по скорости будет совсем небольшим по сравнению с SPI.

 

Что в вашем понимании "реализация протокола"?

Если прием и передача команд по SD-протоколу - то програмная реализация займет строк 30-40.

Пять сотен строк минимум.

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


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

Спасибо.

 

Не могли бы вы поделиться ссылками на какие-нить процессоры, где реализован SD-контроллер. Просто чтоб почитать, что он из себя представляет. Что-то не могу найти ничего.

 

ps: у меня есть опасение, что я не смогу воспользоваться готовыми вещами в WinCE 5.0 (в плане работы с картами SD), если буду подключать карточку по SPI.

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


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

Пять сотен строк минимум.

Это полная реализация протокола.

Я имел в виду "прием байта", "передача байта".

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


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

Не могли бы вы поделиться ссылками на какие-нить процессоры, где реализован SD-контроллер. Просто чтоб почитать, что он из себя представляет. Что-то не могу найти ничего.

Можно посмотреть AT91SAM9261, но описание там довольно куцее, еще Sharp, Samsung и т.д.

Но лучше почитать полную спецификацию SD, она есть на FTP.

 

ps: у меня есть опасение, что я не смогу воспользоваться готовыми вещами в WinCE 5.0 (в плане работы с картами SD), если буду подключать карточку по SPI.

Вполне справедливое опасение: в WinCE BSP для ep93xx ничего подобного нет. Да и под Linux придется писать свое.

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


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

Подскажите, плз.

EP9302 работа с SD-card в SPI-mode.

 

CMD0 выполняется правильно - получаю 0х01.

 

Далее, что надо для работы SD-card в SPI-режиме?

 

А то в исходниках EFSL далее идет CMD1, а Тошибовском мануале, например, сказано, что DO NOT USE CMD1, а юзайте ACMD41.

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


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

Почитайте даташит на микроконтроллер LPC2378, в нем есть контроллер SDIO (в даташите называется MCI), там описаны принципы действия и архитектура вдух автоматов-данных и команд. Аналогично можно это все реализовать и на ПЛИС

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


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

Спасибо.

 

Не могли бы вы поделиться ссылками на какие-нить процессоры, где реализован SD-контроллер. Просто чтоб почитать, что он из себя представляет. Что-то не могу найти ничего.

 

ps: у меня есть опасение, что я не смогу воспользоваться готовыми вещами в WinCE 5.0 (в плане работы с картами SD), если буду подключать карточку по SPI.

Можно посмотреть AT91SAM9261, но описание там довольно куцее, еще Sharp, Samsung и т.д.

Но лучше почитать полную спецификацию SD, она есть на FTP.

Вполне справедливое опасение: в WinCE BSP для ep93xx ничего подобного нет. Да и под Linux придется писать свое.

А ещё есть AT32AP7000 (ядро AVR32), для которого (в том числе) есть Linux, который можно грузить как раз (и опять же в том числе) с SD-карты, поддерживаемой аппаратным модулем Multimedia Card Interface.

Сам не сравнивал, но думаю, что этот модуль аналогичен тому, что в ARM9-процессоре от Atmel.

Про портирование WinCE на платформу AVR32 ничего не слышал.

 

P.S. А ветки по AVR32 всё нет :lol:

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


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

Спасибо.

 

Вот тут возник вопрос по EP9302. Какие значения надо записывать в биты SPO и SPH в регистре SSPCR0 в SSP? Имеется ввиду работа с SD-card по SPI.

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

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


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

SPI у EP93xx адекватно ведет себя только в режиме SPO=0, SPH=0, но это касается генерации сигнала SFRMOUT. Если он не используется, то для работы с картой можно использовать и режим SPO=1, SPH=1.

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


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

Спасибо.

 

Вот что-то не могу найти в документации: при подаче ACMD41 (т.е. CMD55 + CMD41), какой ответ я должен ожидать от CMD55? 0x01?

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


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

какой ответ я должен ожидать от CMD55? 0x01?

Зависит от предыдущего состояния, посему в общем случае ожидайте любой :) меньший или равный 0x01 - это наиболее правильная реализация.

 

 

 

По-идее, 0x01. В SPI режиме не обязательно использовать ACMD41, можно использовать CMD1.

Если эта команда, не используется для распознавания MMC/SD, однако.

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


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

Изввиняюсь, сразу не сказал. Подразумевается, что я подавал уже CMD0 и добился ответа 0х01. Карточка только SD.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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