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

 
 
> Опять SD карта, проблема с CMD17
AndreyVN
сообщение Jan 26 2012, 15:38
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458



Всем привет!

Проблема с SD картой, работаю в режиме SPI на частоте 4MHz.

С иницилизацией как-то гладко все получилось. Шлю команды CMD0, CMD8, CMD55, ACMD41, CMD16 со всей сопутствующей логикой – читаю OCR регистр анализирую биты Busy и CCS, отличаю CDHC и SDSC, смотрю режим адресации, при необходимости выставляю 255 байт.

Проблемы начинаются при попытке прочитать сектор CMD17. Сначала вычитываю R1=00, потом жду 0xFE и читаю 255 байт.

Две карты читаются замечательно (SDHC 4Gb и SDSC 1Gb).

А две карты (SDSC 2Gb и SDSC 128Mb) возвращают полную ерунду – 99% байт не совпадают с реальным содержимым нулевого сектора, а два последних байта почему-то всегда совпадают 0x55, 0xAA.

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

Может у кого-то было что-то похожее? Уже не знаю, что делать…
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Jan 27 2012, 19:49
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Дык это таблица разделов с одним разделом FAT32 на 120МБайт. Только битая таблица.
Go to the top of the page
 
+Quote Post
AndreyVN
сообщение Jan 28 2012, 07:11
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458



Цитата(aaarrr @ Jan 27 2012, 23:49) *
Дык это таблица разделов с одним разделом FAT32 на 120МБайт. Только битая таблица.

Да, действительно, похоже, но с множественными ошибками.

1BE = 00 (1) 0 - раздел не активный;
1BF=82 (1) Номер головки для начального сектора раздела
1C0=03,00 (2)Номер сектора и цилиндра для начального сектора
1C2=0B (1) не подходит (0 - неизвестная система; 1, 4 – DOS);
1С3=50 (1)Номер головки для последнего сектора раздела.
1С4=СА,C6 (2)Номер сектора и цилиндра для последнего сектора раздела
1С6=00,20,00,00 (4)Относительный номер сектора начала раздела
1СA=C0,EC,00,00 (4) Размер раздела в секторах =3236691968 dec.

Тем не менее, продолжил поиски этих данных средствами Windows - нету!
Достаточно задать поиск кода CA он находится только один раз в самом последнем секторе карточки, который забит мусором
(карта только из магазина, содержит FAT32 и нули во всех секторах кроме последнего).

Попробую зайти с другой стороны - писать контоллером и смотеть Windows, где оно появилось...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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