Lucky:)
Mar 9 2007, 01:06
хочу для хранения данных использовать micro/mini SD память
1. Есть ли какие несовместомости MSP430 (SPI) & SD?
2. Можно ли писать / читать как с обычной флэшки (без файловой системы)?
3. Видел ли кто тех. спецификацию на SD, киньте линк, а то не могу найти (интересует токи утечки, питния).
-несовместимости не было замечено (применял в режиме spi-ммс)
-можно писать/читать и без файловой системы
-тут глядели?
/pub/DOC/Standarts&Specifications/Flash_cards/
Lucky:)
Mar 9 2007, 01:43
Цитата(el34 @ Mar 9 2007, 01:16)

-несовместимости не было замечено (применял в режиме spi-ммс)
-можно писать/читать и без файловой системы
вы пользовались ммс или "обычным"?
Цитата(el34 @ Mar 9 2007, 01:16)

-тут глядели?
/pub/DOC/Standarts&Specifications/Flash_cards/
ещё нет
>вы пользовались ммс или "обычным"?
я применял ммс и sd в spi моде
уточните плз что такое "обычным"?
сорри не внимательно прочел тему
я пользовался полноразмерными карточками
Lucky:)
Mar 9 2007, 02:17
Цитата(el34 @ Mar 9 2007, 01:53)

>вы пользовались ммс или "обычным"?
я применял ммс и sd в spi моде
уточните плз что такое "обычным"?
сорри не внимательно прочел тему
я пользовался полноразмерными карточками
"обычными" я имел ввиду "полноразмерными" и не
MMCкак я понимаю
MMC это та же
SD но фарматированная?
P.S.
линк поглядел, нашёл что почитать. Cпасибо.
>"обычными" я имел ввиду "полноразмерными" и не MMC
>как я понимаю MMC это та же SD но фарматированная?
sd это более продвинутая но может работать в ммс моде ....
Lucky:)
Mar 9 2007, 02:56
MMC - протокол (моде) для работы с файлами напрямую?
>MMC - протокол (моде) для работы с файлами напрямую?
в спецификации ммс и sd нет упора на файловую систему...
упоминается , что она DOS FAT и все...
там описывается система команд, в том числе и команды чтения/записи данных...
обычно это сектор длиной 512 байт...но есть и болчные команды...
файловую систему поддерживает внешний контроллер (в вашем случае мсп)
внутренний ( в карточке) этим не занимается....
Lucky:)
Mar 9 2007, 03:23
Цитата(el34 @ Mar 9 2007, 03:11)

>MMC - протокол (моде) для работы с файлами напрямую?
в спецификации ммс и sd нет упора на файловую систему...
упоминается , что она DOS FAT и все...
там описывается система команд, в том числе и команды чтения/записи данных...
обычно это сектор длиной 512 байт...но есть и болчные команды...
файловую систему поддерживает внешний контроллер (в вашем случае мсп)
внутренний ( в карточке) этим не занимается....
OK.
Пользуем EFSL. С самой карторй работаем по 1-wire serial, т.е в SPI режиме. С SD никаких проблем не замечено, а вот с MMC пока как-то не ясно. Есть просто пачка 16меговых флешек MMC, которые после попытки залить в них файлик с устройства вешают комп с интегрированным ридером до синего экрана
Удобсво либы в том, что понимает и FAT12 и FAT16 и FAT32.
Цитата(el34 @ Mar 9 2007, 02:48)

>"обычными" я имел ввиду "полноразмерными" и не MMC
>как я понимаю MMC это та же SD но фарматированная?
sd это более продвинутая но может работать в ммс моде ....
Не может. SD и MMC - это разные карты и разные протоколы. Но и те, и другие могут одинаково работать в SPI-моде.
Shread
Mar 11 2007, 00:50
Цитата(rx3apf @ Mar 9 2007, 19:03)

Цитата(el34 @ Mar 9 2007, 02:48)

>"обычными" я имел ввиду "полноразмерными" и не MMC
>как я понимаю MMC это та же SD но фарматированная?
sd это более продвинутая но может работать в ммс моде ....
Не может. SD и MMC - это разные карты и разные протоколы. Но и те, и другие могут одинаково работать в SPI-моде.
Может быть вы знаете, в чем может быть отличие MMC от SD, для EFSL. На первый взгляд работа с самой картой, на физическом уровне не должна нести каких-либо проблем(схема и софтина общения с самой картой очень близкая к аппноту TI, касательно подсоединения SD/MMC к MSP430).
C самодельным портом, под TMS320LF2808 та же история наблюдается.
rx3apf
Mar 11 2007, 02:25
Цитата(Shread @ Mar 11 2007, 00:50)

Цитата(rx3apf @ Mar 9 2007, 19:03)

Цитата(el34 @ Mar 9 2007, 02:48)

>"обычными" я имел ввиду "полноразмерными" и не MMC
>как я понимаю MMC это та же SD но фарматированная?
sd это более продвинутая но может работать в ммс моде ....
Не может. SD и MMC - это разные карты и разные протоколы. Но и те, и другие могут одинаково работать в SPI-моде.
Может быть вы знаете, в чем может быть отличие MMC от SD, для EFSL. На первый взгляд работа с самой картой, на физическом уровне не должна нести каких-либо проблем(схема и софтина общения с самой картой очень близкая к аппноту TI, касательно подсоединения SD/MMC к MSP430).
C самодельным портом, под TMS320LF2808 та же история наблюдается.
EFSL - это кто и где ? Посмотрел бы.. Но с уверенностью могу сказать, что работают в SPI (потому как средств обеспечения SD/MMC интерфейсов в MSP430 нет, и в TMS320 тоже вряд ли. В ARMах - я бы ожидал, что все ж где-то может быть. А программно их реализовывать радости никакой, сплошные тормоза). А раз в SPI - разницы в работе быть не должно. Единственно, у меня нет абсолютной уверенности, правильно ли у SD-карточки, засунутой в MMC-коннектор, оставлять "в воздухе" пару ног. Наоборот, MMC в SD - никаких сомнений в работоспособности нет.
rx3apf>Не может. SD и MMC - это разные карты и разные протоколы.
не совсем понял....то, что карты разные эт я догадывался , а вот ВСЕ протоклы разные ???.....укажите плз. в место в спецификации .....хочу убедится .....
(а то, что они по разному отвечают на нек команды я разумееся знаю)
rx3apf>потому как средств обеспечения SD/MMC интерфейсов в MSP430 нет
а по мне так нет средств для обеспечения протокола( напр crc)....а вот интерфейсов(конечтно я говорю о spi) - есть!
rx3apf
Mar 11 2007, 03:07
Цитата(el34 @ Mar 11 2007, 02:43)

rx3apf>Не может. SD и MMC - это разные карты и разные протоколы.
не совсем понял....то, что карты разные эт я догадывался , а вот ВСЕ протоклы разные ???.....
"Карл Маркс и Фридрих Энгельс - это не муж и жена, а четыре разных мужика" ©

Еще раз - SD и MMC - это разные карты и разные протоколы (это даже без учета того, что есть еще и новые спецификации), но и те и другие поддерживают вдобавок к собственно SD/MMC еще и SPI, который у них реализован одинаково и обеспечивает совместимость (хоть и на относительно небольшой скорости обмена).
Цитата(el34 @ Mar 11 2007, 02:43)

укажите плз. в место в спецификации .....хочу убедится .....
(а то, что они по разному отвечают на нек команды я разумееся знаю)
Спецификации SD у меня нет (но то, что это параллельная 4-битная шина и без описания очевидно ?). В общедоступной спецификации MMC есть раздел по собственно протоколу MMC - отличия от SPI видны невооруженным глазом

Цитата(el34 @ Mar 11 2007, 02:43)

rx3apf>потому как средств обеспечения SD/MMC интерфейсов в MSP430 нет
а по мне так нет средств для обеспечения протокола( напр crc)....а вот интерфейсов(конечтно я говорю о spi) - есть!
А что говорить о SPI ? Все же известно и совместимость заявлена. А вот реализовать SD или MMC средствами стандартного SPI не получится, а чисто программно - можно, но будет безумно медленно и "развесисто".
Знаете, из Вашего поста , я понял только одно утверждение:
rx3apf>Спецификации SD у меня нет
а... вот еще.... это до меня тоже дошло:
rx3apf>"Карл Маркс и Фридрих Энгельс - это не муж и жена, а четыре разных мужика"
понимаю, мне можно только посочувствовать....
да мне и самому жалко.....
Lucky:)
Mar 11 2007, 06:49
Цитата(rx3apf @ Mar 11 2007, 03:07)

[но и те и другие поддерживают вдобавок к собственно SD/MMC еще и SPI, который у них реализован одинаково и обеспечивает совместимость (хоть и на относительно небольшой скорости обмена).
Почему небольшая сеорость? В datasheet - 25MHz.
rx3apf
Mar 11 2007, 12:10
Цитата(Lucky:) @ Mar 11 2007, 06:49)

Цитата(rx3apf @ Mar 11 2007, 03:07)

[но и те и другие поддерживают вдобавок к собственно SD/MMC еще и SPI, который у них реализован одинаково и обеспечивает совместимость (хоть и на относительно небольшой скорости обмена).
Почему небольшая сеорость? В datasheet - 25MHz.
"Небольшая" - в сравнении с режимом SD или MMC+.
rx3apf>"Небольшая" - в сравнении с режимом SD или MMC+.
приведете плз. полученные Вами реальные данные .....
(uC. его MHz, тип карты, файлов.сист., длина на котор. произв. сравнение и тп )
тогда можно будет сравнить количественно...понять порядок величин....
rx3apf
Mar 11 2007, 13:32
Цитата(el34 @ Mar 11 2007, 12:32)

rx3apf>"Небольшая" - в сравнении с режимом SD или MMC+.
приведете плз. полученные Вами реальные данные .....
(uC. его MHz, тип карты, файлов.сист., длина на котор. произв. сравнение и тп )
тогда можно будет сравнить количественно...понять порядок величин....
А потом опять будет "это не дошло, это не понял" ? Задаете вопрос - задавайте его без "подковырок", если ожидаете услышать нормальный ответ, ок ?
Теперь по делу - спецификацию SD я таки нашел. Итого - в SPI регламентированная тактовая до 25 MHz, что дает максимум 3.125 мб/сек (мгновенная скорость при передаче сектора) - и это при условии, что найдем микроконтроллер со столь скорострельным SPI. В режиме полнофункционального SD (четыре линии) - вчетверо больше (12.5 мб/сек).
В стандартном MMC - тактовая до 20 MHz, соответственно, скорость до 2.5 мб/сек в обоих режимах (MMC/SPI). А по спецификации MMC+ - регламентируется скорость 26 мб/сек (4-битный режим) и опционально 52 мб/сек (8-битный режим). Таким образом, при соответствующей аппаратной поддержке можно иметь минимум четырехкратный выигрыш при прочих равных. Объяснение достаточно исчерпывающее ?
имхо, в нашем конкретном случае (msp430 spi)
-результат по скорости для SD и MMC будет примерно одинаков.....
для меня это было ясно (вопрос о теоретических пределах, тем более для разной ширины шины, не стоял )
даташиты читаем......
меня(и не только) на самом деле интересовали реальные результаты и их возможная разница....
rx3apf>А потом опять будет "это не дошло, это не понял" ? Задаете вопрос - задавайте его без "подковырок", если ожидаете услышать нормальный ответ, ок ?
эт Вы напрасно ......спрашивал я конкретно...
надеясь на конкретный и по возможности нормальный ответ....
мда....
для внесения ясности в эту ветку повторю вопрос:
было
el34>sd это более продвинутая но может работать в ммс моде ....
на что Вы ответили:
rx3apf>Не может. SD и MMC - это разные карты и разные протоколы.
это Ваше крайнее слово?
если "НЕ МОЖЕТ" покажите плз. место в спец. подтверждающее это.
.....
RA3WUM
Mar 11 2007, 18:37
Кто-нибудь имел дело с примером из файла Sham176.zip?
Там представлена реализация протокола обмена с картой памяти, однако какой компилятор при этом использован остаётся загадкой...
Есть еще в природе примеры как подружить ммс/sd карту с FAT и мср430?
Кто-нибудь имел дело с примером из файла Sham176.zip?
Там представлена реализация протокола обмена с картой памяти, однако какой компилятор при этом использован остаётся загадкой...
Есть еще в природе примеры как подружить ммс/sd карту с FAT и мср430?
Lucky:)
Mar 11 2007, 21:02
Цитата(RA3WUM @ Mar 11 2007, 18:37)

Кто-нибудь имел дело с примером из файла Sham176.zip?
Там представлена реализация протокола обмена с картой памяти, однако какой компилятор при этом использован остаётся загадкой...
Есть еще в природе примеры как подружить ммс/sd карту с FAT и мср430?
Кто-нибудь имел дело с примером из файла Sham176.zip?
Там представлена реализация протокола обмена с картой памяти, однако какой компилятор при этом использован остаётся загадкой...
Есть еще в природе примеры как подружить ммс/sd карту с FAT и мср430?
По моему это cygwin - gcc компилятор
RA3WUM
Mar 11 2007, 21:16
А где cygwin - gcc скачать можно и как прикрутить к msp?
Указанный выше файл из статьи какого-то журнала, но там ничего внятного о компиляторе не сказано.
Пробовал с Mspgcc -- толку ноль
Lucky:)
Mar 11 2007, 21:36
Цитата(RA3WUM @ Mar 11 2007, 21:16)

А где cygwin - gcc скачать можно и как прикрутить к msp?
Указанный выше файл из статьи какого-то журнала, но там ничего внятного о компиляторе не сказано.
Пробовал с Mspgcc -- толку ноль

Cначало надо установить систему (или только оболочку) Cygwin. Это типа Юникс/Линукс. Её можно и на Windows поставить. Ну а потом и компилятор.
rx3apf
Mar 11 2007, 22:39
Цитата(el34 @ Mar 11 2007, 15:58)

для внесения ясности в эту ветку повторю вопрос:
было
el34>sd это более продвинутая но может работать в ммс моде ....
на что Вы ответили:
rx3apf>Не может. SD и MMC - это разные карты и разные протоколы.
это Ваше крайнее слово?
если "НЕ МОЖЕТ" покажите плз. место в спец. подтверждающее это.
.....
Пожалуй, я не буду на этом настаивать. Желания вдумчиво курить спецификации SD нет, но найдя и прочитав спецификацию SD по первому взгляду однобитный режим SD как минимум похож на MMC, так что, похоже, система команд MMC является подмножеством SD, и тогда я был неправ (полагав, что SD бывает только 4-битный). 4-битный SD-заведомо отличается. Но особого смысла изучать и обсуждать сходство и различие я не вижу - работать в MMC по-любому без соответствующей поддержки неудобно, а в SPI они идентичны.
Что же до реальных результатов - узкое место именно "скорострельность" SPI. На MSP430 я это не пробовал, на AVR с тактовой 16 MHz имел почти мгновенную скорость почти 900 кило на чтение (издержки растактовки примененного камня, у новых было бы 1E6 в секунду @16 MHz на секторе и вряд "служебные" потери превысят 5%).
Shread
Mar 12 2007, 00:22
EFSL это есть Embedded File System Library, родом вот отсюда
http://sourceforge.net/projects/efsl , а ваще Google рулит, да и местный поиск тоже. С SD нет никаких проблем. Все радостно фурычит, а вот с MMC наблюдается невеселый глюк. Про портирование EFSL под MSP430 могу сказать следующее. Либа действительно работает с 1К рамы, но при этом если у проца всего 1К, то после некоторых операций стек наезжает на данные и пипец=) На MSP430F448 все работает замечательно.
rx3apf
Mar 12 2007, 00:45
Цитата(Shread @ Mar 12 2007, 00:22)

EFSL это есть Embedded File System Library, родом вот отсюда
http://sourceforge.net/projects/efsl , а ваще Google рулит, да и местный поиск тоже. С SD нет никаких проблем. Все радостно фурычит, а вот с MMC наблюдается невеселый глюк.
Вряд ли это проблема MMC. Скорее - драйверов ридера. Наблюдал бук (точнее, это были две тошибы, одинаковые, купленные одновременно), под XP, суем MMC 128 - вешается. Даже без синего экрана, просто встало и все, даже мышь не мышит. Где-то дыра в драйвере, иного объяснения нет. Поиграться-посмотреть, чем файл на карточке отличается при его создании в устройстве и на компьютере можно, конечно (а если такой же записать на компьютере - все нормально ?), но чудес-то не бывает - если система виснет при подключении съемного носителя, значит, в системе есть злобный баг... А почему то же самое не наблюдается с SD - можно предложить кучу вариантов, только смысла в том нет...
Shread
Mar 12 2007, 14:25
Проблема однозначно в связке EFSL-MMC и больше ни в чем. MMC отформаченная на компе нормально работает, и файлы пишутся и стираются. А вот если сунуть хоть раз ее в прибор, где используется EFSL, карте приходит злобный кирдык. После этого она перестает адекватно восприниматься компом. Отформатить через пень колоду получается.
rx3apf
Mar 12 2007, 15:48
Цитата(Shread @ Mar 12 2007, 14:25)

Проблема однозначно в связке EFSL-MMC и больше ни в чем. MMC отформаченная на компе нормально работает, и файлы пишутся и стираются. А вот если сунуть хоть раз ее в прибор, где используется EFSL, карте приходит злобный кирдык. После этого она перестает адекватно восприниматься компом. Отформатить через пень колоду получается.
_Система_ совершенно однозначно не должна зависать вне зависимости от содержимого носителя. Если это не так - наличествует ошибка в _системе_. Ну, а если ситуация воспроизводима только для карточек, записанных под управлением EFSL - то особенности-то выяснить несложно. Пишем такой же файл с компьютера, делаем посекторное сравнение носителя (на другом компьютере с другим ридером, чтобы не зависало). Для упрощения - минимизировать операции. Если хватит файла размером в один сектор - этим и ограничиться. Если виснет и с файлом нулевой длины - то что-то на уровне FAT или оглавления, это и сравнивать.
2Shread если у Вас 16MB SunDisk....
думаю дело может быть в контроллере карточки ...
может он там себе думает что то свое ....
у меня было похожее...
правда я так и не понял в чем там дело....
т.е. при доступе из моего дев-са -все видно...
при доступе чеез ридер(после записи в девайсе) - тишина как будто мертвая карточка...
комп правда не вешался..
потом , после N попыток удается ее форматнуть....
я долго крутил туда сюда инициализацию и проч...
вроде пропало....(именно вроде)
была карточка которая вообще умерла....но хз почему....
Vladimir_T
Mar 14 2007, 06:28
Можно и процессор 16-MHz установить из серии MSP430F2xx, скорость работы с SD - картами будет выше.....
Shread
Mar 14 2007, 12:41
Цитата(el34 @ Mar 12 2007, 18:17)

2Shread если у Вас 16MB SunDisk....
думаю дело может быть в контроллере карточки ...
может он там себе думает что то свое ....
у меня было похожее...
правда я так и не понял в чем там дело....
т.е. при доступе из моего дев-са -все видно...
при доступе чеез ридер(после записи в девайсе) - тишина как будто мертвая карточка...
комп правда не вешался..
потом , после N попыток удается ее форматнуть....
я долго крутил туда сюда инициализацию и проч...
вроде пропало....(именно вроде)
была карточка которая вообще умерла....но хз почему....
16Mb Canon, пробовали много всего. У нас прибор, когда успешно создает файл, помыргивает индикатором, определенным образом. В случае с SD все ок, а с MMC он сигнализирует об ошибке записи. Пробовал трейсить, встает то на одной, то на другой процедуре. Структуру описания карты заполняет. Втыкаешь карту в прибор, фат ломается. На комповых ридерах все ок. Есть такое ощущение что это дырка EFSL. Но в чем именно она, понять пока не удалось.
>Есть такое ощущение что это дырка EFSL. Но в чем именно она, понять пока не удалось.
а может не в файловой системе а в драйверах...
может надо поправить(или вставить) таймауты на ожидание ответа от кароточки и поправить(или вставить) анализ ошибок отклика по SPI?
sergeeff
Mar 18 2007, 12:40
Мне думается, что это та самая проблема, которую я поднял в
http://electronix.ru/forum/index.php?showt...715&hl=efsl.
Встречаются карты, у которых блок (или сектор, кому как больше нравится) отличен от 512 байт. Тут efsl и впадает в клинч, потому как она оперирует именно с этими фиксированными блоками. Ну проще говоря, низкоуровневые функции чтения/записи получают в качестве входного параметра именно адрес этого блока.
Я с этим вопросом выходил на sourceforge. Автор efsl написал, что можно ситуацию исправить непосредственно учитывая величину реального блока в этих низкоуровневых функциях драйвера. Но я убей не понимаю, как это можно сделать, если параметр - номер блока. Если бы это был адрес - то да, можно, что угодно в драйвере нагородить (типа промежуточного кэширования). Сегодня спрошу у автора, что он имел в виду.
На компьютере, при чтении/записи, этот реальный размер блока учитывается (я думаю, что это так). Поэтому и проблем нет.
sergeeff>Встречаются карты, у которых блок (или сектор, кому как больше нравится) отличен от 512 байт
я это побеждал так(х буква диска )
format x: /fs:fat /a:512
или
format x: /fs:fat32 /a:512
RA3WUM
Mar 19 2007, 01:23
Люди, вы все говорите, говорите...
Кто-то себе что-то по углам мастерит а показать не хочет :-((
Поделитесь кто-нибудь реально работающим бесплатным поектом SD+FAT+MSP430?
sergeeff
Mar 19 2007, 10:06
Цитата(el34 @ Mar 18 2007, 14:39)

sergeeff>Встречаются карты, у которых блок (или сектор, кому как больше нравится) отличен от 512 байт
я это побеждал так(х буква диска )
format x: /fs:fat /a:512
или
format x: /fs:fat32 /a:512
Отформатировал. Получил:
Relative_Card_Address = 45928
Max_Read_DataBlock_Length = 1024
Max_Write_DataBlock_Length = 1024
Sector_Size = 128
Read_Partial = 1
Write_Partial = 0
Erase_Block_Enable = 0
Read_Block_Misalignment = 0
Write_Block_Misalignment = 0
Memory_Capacity = 2007498752
т.е. ровно тоже самое, что и до форматирования. Соответственно, все проблемы остались
sergeeff>Sector_Size = 128
а чем это Вы смотрели?
посмотрите на карту при помощи WinHex....
положил сюда последнего
/upload/Utils/X-Ways.WinHex.v13.8.SR-4.Incl.Keymaker-ZWT/
в нем как то все понятно было....
sergeeff
Mar 19 2007, 11:52
Цитата(el34 @ Mar 19 2007, 11:44)

sergeeff>Sector_Size = 128
а чем это Вы смотрели?
посмотрите на карту при помощи WinHex....
положил сюда последнего
/upload/Utils/X-Ways.WinHex.v13.8.SR-4.Incl.Keymaker-ZWT/
в нем как то все понятно было....
Да это информация, которую я непосредственно контроллером из карты считываю.
sergeeff>Да это информация, которую я непосредственно контроллером из карты считываю.
ну дак что отлаживаем? если контроллер....то какое доверее ему?
сравните с винхексом,?
sergeeff
Mar 19 2007, 13:33
Цитата(el34 @ Mar 19 2007, 13:33)

sergeeff>Да это информация, которую я непосредственно контроллером из карты считываю.
ну дак что отлаживаем? если контроллер....то какое доверее ему?
сравните с винхексом,?
Вопрос успешно разрешился. Была ошибка в драйвере. Во многом из-за путаницы:
размер блока в SD card и размер блока FAT - суть разные вещи.
Kuller
Apr 25 2007, 20:49
Заранее прошу прощения!
Я не совсем по теме.
Есть большое желание подцепить SD карту к АТМЕГЕ.
Помогите пожалуста документацией, нужен алгоритм чтения записи SD карты.
Если информация платная то гото расстаться с деньгами.
Вы совсем не по теме...
VAI
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.