
Сообщение от
esl
*** Extrom - SD ***
Таймаут данных - 0 16
CARD MID=72 OID=b620
Product - ��4[(
rev 169 serail -27589
Таймаут данных - 0 512
fs_init error 0
У тебя однозначные проблемы с чтением карт. Даже блок идентификации по SPI не читается, а вместо него читается мусор. Должно быть примерно так:
Код:
*** Extrom - SD ***
Reset flag:1
CARD MID=2 OID=4d54
Product - SD02G
rev 56 serail 13224
-- Каталог диска --
0: MOUNT CFG
1: LOADER BIN
2: SYSTEM BIN
3: ROM6 BIN
4: ROM1 BIN
5: ROM3 BIN
6: ROM5 BIN
7: DISK
8: ROM0 BIN
Total 9 files
На всякий случай, попробовал карту на 512М из древнего фотоаппарата. С ней тоже все пошло:
Код:
*** Extrom - SD ***
Reset flag:1
CARD MID=13 OID=474b
Product - SD512
rev 16 serail 497
-- Каталог диска --
0: DCIM
1: MISC
Total 2 files
Так что проблемы ищи у себя в схеме. Я могу только предположить:
1. SD - карта сидит на том же порте SPI, что и программатор. Пробовал запускать с отсоединенным программатором? Некоторые программаторы не отключают свой буфер, и мешают работать схеме.
2. Перепутал местами провода, идущие от процессора к карте. Там 4 сигнала, запросто можно ошибиться. Или перепутал цоколевку карты. Там хитрый порядок пинов - 9-1-2-3-4-5-6-7-8. Плюс на самой колодке SD есть лишние пины для контроля вставки карты и защелки защиты записи.
3. Ошибся с номиналом резисторов делителей, впаял стабилитрон на ножке DO карты не на но напряжение или случайно впаял его задом наперед (надо анодом к земле, катодом к сигналу).
Если схема собрана правильно, и номиналы все так же правильные, то оно должно заработать сразу и без вариантов. Чудес не бывает, особенно в цифровой технике.
Проще всего проверить работу, ткнув осциллографом в ножку DO карты. Там должны быть видны ответные пакеты, идущие от карты.
Кстати.Он у тебя там что - постоянно самопроизвольно уходит в перезагрузку, судя по твоему логу? Или это ты кнопку Reset давишь?
карточкек пробовал парочку
одну таки sdhc
С ней ничего не выйдет, даже идентификатор не прочитается. Так какая-то другая система команд, но подробнее я не разбирался.
напиши что точно и куда ставить, плата уже у меня, припаять то я смогу, но надо точно ЧТО и КУДА
Нужна парочка конденсаторов не менее 0.1 мкф, лучше 0.33, обязательно керамические. Припаять их с двух сторон процессора между ножками питания - 10-11 и 30-31. Кстати, не забыл подать питание на ножку 30? Без этого работать не будет.
еще мы плату запитали от 12В
т.к. на разъеме было не 5 а 4.6в
Напрасно вы так сделали. 4.6в - вполне нормальное напряжение для меги. Ему так даже немного легче работать. У меня тоже 4.6в питание с корвета идет, и все работает. По 12в в корвете сильная помеха идет от ВМ80. Хотя у тебя на плате приличный фильтр питания есть, так что это все несущественно.
на SD получалось около 3х
а на плате есть вход с кренкой, вот туда и подали 12
на SD стало 3.5 это вроде допустимо
Вообще-то, хорошо бы понизить все же до 3.3В. В карте имеется встроенный монитор питания, и в случае выхода его за пределы карта отключает работу с Flash-массивом. Правда, идентификация в любом случае должна проходить.
Вообщем, разбирайся с картой. Хорошо бы тебе найти карту на 1-2 гига, они все не HC. Но и н 256М - вроде тоже не особо древняя.
Из всех имеющихся у меня не-HC карт отказалась работать только древнючая Toshiba на 16 Mb. Остальные контроллером корректно опознаются.
Вот теперь думаю - может, пора переделывать драйвер на HC ? Но, с другой стороны, нафиг там HC, если весь имеющийся на свете корветовский софт занимает менее 1 гигобайта?
Что интересно, мой вариант выглядит почти так же - https://www.dropbox.com/s/7g8xs61qgc5ebr5/P1070752.JPG