реклама на сайте
подробности

 
 
9 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> Проблема с SD картой, Подключение карт к 5В питанию. Кто плавал, посоветуйте.
QuickWitted
сообщение Jul 14 2007, 09:02
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596



Цитата(SALOME @ Jul 14 2007, 10:04) *
Дальше карту надо инициировать (разбудить). Для этого посылаем команду CMD1. Вот здесь надо дождаться R1=0x00. Отклик R1 приходит не сразу, ну и далее смотрите мой исходник...
Еще раз напоминаю, что команду CMD1 следует повторить не менее 100 раз, пока не появится отклик.


Отловил пару глюков в исходном тексте,
откопал плохую пайку сопротивления 47к

CMD0 - начала правильно отвечать 01h
(до этого глючило из-за сопротивления)

Легче не стало CMD1 проходить не хочет
(отправляю 256х128 раз ну и?)

Стало интересно - как CRC считается?

Цитата
Даташит смотрите выше.

там их много – какой именно?
А лучше если не трудно закиньте сюда…


--------------------
Сайт с разработками http://www.mindrunway.ru/
Go to the top of the page
 
+Quote Post
QuickWitted
сообщение Jul 14 2007, 14:23
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596



Цитата
При работе в SPI контрольная сумма не высчитается, а этот байт играет другую роль.

Под FF переделал. При CMD0 – 95 в остальных FF

Цитата
Причины, почему не просыпается Ваша карта после CMD1.
(Надеюсь, что осцилом вы смотрите на все происходящее у вас на линиях SPI?)

Цифрового нет – а так смотрю... плюс использую для дебагинга RS-232

Цитата
Неправильно настроен интерфейс SPI (не совпадает фаза, полярность, скорость)

Он софтовый (не харда) В исходном примере он же В ТЕОРИИ работал…
(если верить автору сайта)
хотя по кол-во найденных мной ляпов я потихоньку начинаю сомневаться...

Т.к. он использует вывод только в 1 месте, то в будущем (после запуска) перейду на харду...

Цитата
Не посылаете пустой байт перед отправкой команды

посылается

Цитата
Не соблюдаете задержку Ncr при получении отклика R1

Вроде есть, но уточню: Сколько она должна быть? Где должна стоять?

Цитата
У Вас ММС карта живая, но неисправная карта и т.д.

Это как - чуть-чуть беременна? В картридере работает...
Сунул MMC-Mikro результат тот же…


--------------------
Сайт с разработками http://www.mindrunway.ru/
Go to the top of the page
 
+Quote Post
QuickWitted
сообщение Jul 14 2007, 16:33
Сообщение #18


Местный
***

Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596



С задержками разобрался...
Далее вопрос как инициализировать карты MMCmicro ?
после запуска с той-же инициализацией считать с неё получается только статус...

Как проверять может ли карта выдавать данные при чтении?
В оригинале было при CMD17 = read block контролировали
ответ 0xFE, а приходит 0xFC

при отключении проверок и случайной ошибке во вводе
вешается карточка...


--------------------
Сайт с разработками http://www.mindrunway.ru/
Go to the top of the page
 
+Quote Post
SALOME
сообщение Jul 16 2007, 03:55
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Цитата(QuickWitted @ Jul 14 2007, 23:33) *
С задержками разобрался...
Далее вопрос как инициализировать карты MMCmicro ?

Как проверять может ли карта выдавать данные при чтении?
В оригинале было при CMD17 = read block контролировали
ответ 0xFE, а приходит 0xFC

при отключении проверок и случайной ошибке во вводе
вешается карточка...

Не знаю точно, но наверное Micro - это просто другой корпус.
При чтении блока надо обязательно дождаться 0xFE - это маркер. После него пойдет собственно блок данных. По умолчанию он=512 байт.
Действий по отключению проверок что-то не догоняю smile.gif


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post
QuickWitted
сообщение Jul 16 2007, 04:58
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596



Цитата(SALOME @ Jul 16 2007, 08:55) *
При чтении блока надо обязательно дождаться 0xFE - это маркер.

Одно но ОН не приходит sad.gif вместо него 0хFC

ldi R20_Arg1,0x11 ; CMD17 = read block
rcall SPISendC

rcall SPIReadOtvet ; Прочтём ответ

tst R0_Vozv ; Проверим считалось ли?
breq PC+2
rjmp MMCErrRed1 ; Ошибка при чтении 1

rcall SPIReadOtvet
mov R16_Tmp1,R0_Vozv


; Здесь проблема - приходит 0xFC вместо 0xFE

; cpi R16_Tmp1,0xFE ; Признак данных ?
; breq PC+2
; rjmp MMCErrRed2 ; Ошибка при чтении 2


Цитата
Действий по отключению проверок что-то не догоняю smile.gif

Если отключить проверку (просто заремил 3 строки выше)
на 0xFE (вместо него наблюдается 0хFC) - работает,
но при ошибке ввода - (с клавы через терминал адрес задаю)
вместо Error имеем повисание карточки sad.gif
(Т.е. не адекватное поведение)

А в целом всё работает (С картой 32метра)
Т.е. я считал тестовый 32 мегабайтный файл
(содержащий 00000001:00000002...) записанный с картридера...

Цитата
Не знаю точно, но наверное Micro - это просто другой корпус.

Да, но он с адаптером (под стандартный) и размером 512мб
Подозреваю он имеет др. инициализацию...
Вообще вы с какой карточкой работаете?

Я раритет в 32 метра ели нашёл - микро везде...
(просто в енете вычитал, что в зависимости от версии
они могут иметь разную систему команд, а мне стартануть надо
было – сейчас думаю про микро)

И доков у меня нет crying.gif
Задержки где и сколько должны быть?
если нетрудно дай ПРЯМОЙ урл к пдфке или кинь сюда...

Вот дока на MMCplus но это другое...
[attachment=12491:attachment]


--------------------
Сайт с разработками http://www.mindrunway.ru/
Go to the top of the page
 
+Quote Post
jasper
сообщение Jul 16 2007, 05:19
Сообщение #21


Народный чинитель
***

Группа: Участник
Сообщений: 415
Регистрация: 15-07-05
Пользователь №: 6 811



Вот последняя версия:
http://www.sdcard.org/sd_memorycard/Simpli...ecification.PDF
Go to the top of the page
 
+Quote Post
QuickWitted
сообщение Jul 16 2007, 06:03
Сообщение #22


Местный
***

Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596



Цитата(jasper @ Jul 16 2007, 10:19) *


За спецификацию спасибо, но таймингов я там неувидел twak.gif

У меня огрызок есть, но в нём цифрового значения таймингов - нет...
В своей проге я действовал по схеме - догадайся сам и выстави от фонаря...
Но мне интересно минимальное их значение (умножу 1,25 и выставлю в проге)
[attachment=12492:attachment]


--------------------
Сайт с разработками http://www.mindrunway.ru/
Go to the top of the page
 
+Quote Post
jasper
сообщение Jul 16 2007, 06:26
Сообщение #23


Народный чинитель
***

Группа: Участник
Сообщений: 415
Регистрация: 15-07-05
Пользователь №: 6 811



Здесь вроде было.
Прикрепленные файлы
Прикрепленный файл  ProdManualMMCv5.2.pdf ( 885.96 килобайт ) Кол-во скачиваний: 611
 
Go to the top of the page
 
+Quote Post
QuickWitted
сообщение Jul 16 2007, 08:15
Сообщение #24


Местный
***

Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596



Цитата(jasper @ Jul 16 2007, 11:26) *
Здесь вроде было.


Открыть картинку не могу (ст.3-8)...
у меня вместо картинки - пустота...

У тебя в верхней части картинка читается?

хотя если спросить гуглю, то
http://mipsa.p.lodz.pl/download/BazaWiedzy...-rs-mmcv1.0.pdf

но там по моему не всё...
1) какая задержка после 10 пустых байтов во время резета до перепада CS из 1 в 0 ?
2) какая после перепада CS из 1 в 0 и перед началом тактирования при чтении/записи?

Сообщение отредактировал QuickWitted - Jul 16 2007, 08:35


--------------------
Сайт с разработками http://www.mindrunway.ru/
Go to the top of the page
 
+Quote Post
jasper
сообщение Jul 16 2007, 09:26
Сообщение #25


Народный чинитель
***

Группа: Участник
Сообщений: 415
Регистрация: 15-07-05
Пользователь №: 6 811



Цитата
Открыть картинку не могу (ст.3-8)...
у меня вместо картинки - пустота...

Действительно. sad.gif

Цитата
но там по моему не всё...
1) какая задержка после 10 пустых байтов во время резета до перепада CS из 1 в 0 ?
2) какая после перепада CS из 1 в 0 и перед началом тактирования при чтении/записи?

Там в параграфе 5.7 времена расписаны.


ЗЫ: Вот еще дока.
Прикрепленные файлы
Прикрепленный файл  ProdManualSDCardv1_1_.9.pdf ( 1.12 мегабайт ) Кол-во скачиваний: 544
 
Go to the top of the page
 
+Quote Post
QuickWitted
сообщение Jul 17 2007, 03:25
Сообщение #26


Местный
***

Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596



Народ как работать с MMCmicro?
(или датащит кто к ней нашёл)

Ну и в качестве подведения итогов....

У кого какие карточки получилось запустить?

У меня MMC 32мб. Схему смотри выше...
Подозреваю (исходя из датащита) с этим алгоритмом будут работать карты от 8 до 128 мб...
Карта MMCmicro 512Мб по этому алгоритму инициализацию проходит, но читаться отказывается...
(впрочем статус считать получается)


--------------------
Сайт с разработками http://www.mindrunway.ru/
Go to the top of the page
 
+Quote Post
Angelborn
сообщение Jul 17 2007, 05:46
Сообщение #27


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 12-06-07
Пользователь №: 28 387



Цитата(QuickWitted @ Jul 17 2007, 06:25) *
Народ как работать с MMCmicro?
(или датащит кто к ней нашёл)

Ну и в качестве подведения итогов....

У кого какие карточки получилось запустить?

У меня MMC 32мб. Схему смотри выше...
Подозреваю (исходя из датащита) с этим алгоритмом будут работать карты от 8 до 128 мб...
Карта MMCmicro 512Мб по этому алгоритму инициализацию проходит, но читаться отказывается...
(впрочем статус считать получается)


Высылаю тебе алгоритм работы с MMC, который мне здорово помог при написании моей программы. Кстати её ещё нужно корректировать, т.к. с быстродействием сильный напряг.
У AT89C2051 с кварцем на 11 МГц звук получается 8 кГц. А с кварцем на 20 МГц 22 кГц, что уже очень неплохо. ЦАП поставлю 8 bit, скорее всего DAC7513 (12 bit, просто был под рукой).

Выслал мне этот алгоритм один хороший человек. Кстати, написан он на Algoritm Bilder, для начала лучше ознакомится с его схемами.
Прикрепленные файлы
Прикрепленный файл  MMC_lib.zip ( 6.18 килобайт ) Кол-во скачиваний: 328
 
Go to the top of the page
 
+Quote Post
QuickWitted
сообщение Jul 17 2007, 08:09
Сообщение #28


Местный
***

Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596



Цитата(Angelborn @ Jul 17 2007, 10:46) *
Высылаю тебе алгоритм работы с MMC, который мне здорово помог при написании моей программы. Кстати, написан он на Algoritm Bilder.


Мысль раз - Algoritm Bilder тот что я скачал в прошлом месяце работает только под АВР
Мысль два - на картинке что прислал ты про численное значение задержек ни слова...
Мысль три - набор инструкций скаченный с FinalProjekt'а у меня у самого есть,
одно но - кривой он. Я как раз его доделываю…
Мысль четыре - о последовательности команд твой пример не даёт ни
малейшего представления...

Цитата
Кстати её ещё нужно корректировать, т.к. с быстродействием сильный напряг.

выше я тоже не окончательный вариант выкладывал...

как вариант переходи на АВР.
Мой алгоритм с описанием и схемой валяется выше…
Если интересно поясню что и как…
(сам до этого проекта на 51 серии работал – пока не понял,
что для его реализации производительности не хватит…)

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

Цитата
для начала лучше ознакомится с его схемами.

ничего нового...

У тебя с какими карточками получалось работать?
По какой схеме включены?


Вот под SD на пике и бейсике, но с описанием
http://www.compsys1.com/support/PBP_Files/mmc/mmc_demo.bas


--------------------
Сайт с разработками http://www.mindrunway.ru/
Go to the top of the page
 
+Quote Post
Angelborn
сообщение Jul 17 2007, 21:02
Сообщение #29


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 12-06-07
Пользователь №: 28 387



Цитата(QuickWitted @ Jul 17 2007, 11:09) *
Мысль раз - Algoritm Bilder тот что я скачал в прошлом месяце работает только под АВР
Мысль два - на картинке что прислал ты про численное значение задержек ни слова...


Где ты видел хоть какое-то упоминание о задержке? В этом алгоритме есть слово "delay"?
Карта - очень шустрое устройство, у меня прекрасно без задержек работает на 1 МГц, больше пока нет времени попробовать, но точно придётся, я уже писал.
Насчёт конструкции на AVR особо не напрягайся! Уже давно придумали очень неплохое решение на 32-ой меге, сам не повторял, но с исходником ознакомился.
http://pol-sem.narod.ru/polymuson/polymuson.htm

А последовательность команд описана SALOME в этой теме на 1 стр, не читал, правда? Придётся повторить:
Function: Инциализация FLASH_SD карты по протоколу SPI
Description: Перевести карту в режим SPI, и разбудить.
1.Переход на SPI протокол (инициализация):
- после подачи питания: Fclk<400KHz; синхронизация и сдвиг бита по переднему
нарастающему фронту, пассивный уровень CLK -0;
- не подавая CS=0, оправить по SPI 10 пустых байт;
- подать команду CMD0 (сброс) и получить отклик 0х01. Bit_7=0 означает, что карта
откликнулась, Bit_0=1 - находится в спячке. Режим SPI сохранится до выключения питания.
2.Активизация карты в SPI режиме:
- подать CMD8 с аргументом пит. напряжения и емкости карты. Если в отклике эта команда
допустима (Bit_2=0), то карта ver2.00 и выше и она по напряжению совместима. Далее ее
следует вывести из спячки командой CMD41 и проверить емкость CMD58.
-если отклик R1 на CMD8 неверен, то применить ACMD41. Если карта не выходит из спячки,
то это не SD_карта.
-для MMC_карты применяется команда CMD1.
3. Увеличить скорость обмена

У меня лично последовательность такая CMD0-CMD1-CMD18....... т.е. непрерывное чтение блоков.

Вполне возможно, что подкачало твоё железо.
Лично я собрал переходник между 5 и 3.3 В следующим способом:
Взял 244-буфер M74HC244b1, запитал его от 3,3В (с 5 стабилизатор IRU101033).
Ноги CS, DI, CLK карточки соединил с выходами буфера, соответствующие ноги проца через резисторы 100-200 Ом на входы буфера. DO через буфер без резисторов. 8 и 9 ноги через 2 резистора 10-100 кОм подтянул на +3,3В. Схемы нет, но она и так до ужаса простецкая.
Если умеешь писать на VB, могу прислать исходник для компа, для проверки карточки по LPT. Там всё до ужаса просто.
Удачи!
Go to the top of the page
 
+Quote Post
QuickWitted
сообщение Jul 18 2007, 04:30
Сообщение #30


Местный
***

Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596



Цитата(Angelborn @ Jul 18 2007, 02:02) *
Где ты видел хоть какое-то упоминание о задержке? В этом алгоритме есть слово "delay"?
Карта - очень шустрое устройство, у меня прекрасно без задержек работает на 1 МГц, больше пока нет времени попробовать, но точно придётся, я уже писал.


Без задержек при 2х мегах она даже инициализироваться не хочет sad.gif
(это была основная причина почему у меня не работало...)

Цитата
Насчёт конструкции на AVR особо не напрягайся! Уже давно придумали очень неплохое решение на 32-ой меге, сам не повторял, но с исходником ознакомился.
http://pol-sem.narod.ru/polymuson/polymuson.htm


Мне асемблер ближе...

Цитата
А последовательность команд описана SALOME в этой теме на 1 стр, не читал, правда? Придётся повторить:


Повторяй, не повторяй а с картами более 128 метров всё равно не работает smile.gif
правильней сказать при команде сет блок показывает кукиш twak.gif
и на резет отвечает 00h

(Уточню: У МЕНЯ на карте 32метра только признак данных не по мануалу, а всё остальное РАБОТАЕТ.)

Ладно повторю вопрос: КАК РАБОТАТЬ С ММСмикро ?
или задержки у меня маленькие/большие или последовательность команд не та...

ВОПРОС2: У кого есть датащит на микро? поделитесь плиз...

ВОПРОС3: Если у вас с картами большого объема и/или MMCмикро удалось стартануть поясните последовательность команд...

Цитата
Вполне возможно, что подкачало твоё железо.
Лично я собрал переходник между 5 и 3.3 В следующим способом:
Схемы нет, но она и так до ужаса простецкая.


Моя схема, прошивка и описание выше в архиве...
ЗЫ. прошивка старая без задержек...
посмотри что-ли...

А то сам с собой разговариваю и некто меня не слышит crying.gif


--------------------
Сайт с разработками http://www.mindrunway.ru/
Go to the top of the page
 
+Quote Post

9 страниц V  < 1 2 3 4 > » 
Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 20:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01534 секунд с 7
ELECTRONIX ©2004-2016