Обсуждаем контроллеры компании Atmel.
Ответить

Устройство для чтения CID SD-карт

Чт июл 05, 2012 20:15:30

Иногда (а владельцам навигаторов может и чаще, чем иногда ;) ) бывает нужно узнать ID карты памяти типа SD или Micro SD. Хорошо если у вас есть какой-либо мобильный навигатор с сервисным меню, показывающим этот ID. У меня вот такового не оказалось. По SPI карта Micro SD работать отказалась, пришлось собрать нижеприведённое устройство и пообщаться с картой по её родному SD-протоколу.

Итак, схема устройства:

Изображение
SD_Reader.GIF
(24.69 KiB) Скачиваний: 12616


SDReader.rar
Прошивка и исходник.
(53.75 KiB) Скачиваний: 1103


Считывать данные в Hyper Terminal с настройками:

Изображение
ht.GIF
(9.22 KiB) Скачиваний: 12063


Ответ придёт вида:

Код:
Manufacturer ID:03
Application ID:SD
Product name:SU08G
Product revision:8.0
S/N:03-d6-f7-b0
Date:02-2012
CRC:32
3f 03 53 44 53 55 30
38 47 80 03 d6 f7 b0
00 c2 65

Re: Устройство для чтения CID SD-карт

Сб июл 14, 2012 16:32:04

Спасибо за схему), А какие у вас стоят диоды и стабилитрон???

Re: Устройство для чтения CID SD-карт

Сб июл 14, 2012 16:46:54

Это не стабилитрон, а диод Шоттки. Собственно, диоды любые маломощные, но не Шоттки (важно падение напряжения). Кроме одного. :)

Кстати, номер для keygen'ов нужен десятичный. Скажем, в примере выше пришёл номер 03-d6-f7-b0. Вводим в калькулятор 03d6f7b0, переводим в десятичный вид, получится 64419760. Вот этот номер (64419760) уже и вбиваем, скажем, в garmin keygen. :)

Кстати! :) Если кому захочется пообщаться с SD-картой по её родному протоколу, то достаточно подключить линию DAT0 так же, как подключена линия CMD. Но, естественно, на свободную ножку микроконтроллера. А дальше читать спецификацию и модифицировать программу (программа умеет посылать некоторые команды карте и получать на них ответ. Линию данных использовать для этого не требовалось). Приём/передача данных или команд идут по линиям DAT0 и CMD, соответственно. Каждая линия двунаправленная.

Re: Устройство для чтения CID SD-карт

Сб июл 14, 2012 17:23:44

Но всеже хотелось бы знать наверняка про диоды.... Просто я уже долго вожусь с картой и ничего как только испортить не получилось(
А где можно прочитать про то как общаться с SD-картой по её родному протоколу? Приём/передача данных или команд идут по линиям DAT0 и CMD, соответственно. Я новичек, не подскажете, какая это ножка(DAT0) на карте?? Почему ее не пишут на картах, кажется я давно еще видел этот dat0, но так и не понял где он находится( А напряжение на карту понижается до 3.3V?

Re: Устройство для чтения CID SD-карт

Сб июл 14, 2012 18:35:53

Просто я уже долго вожусь с картой и ничего как только испортить не получилось(


Если всё подключено верно и питание на карту снижено до 3.3 В, то ничего не испортится.

Но всеже хотелось бы знать наверняка про диоды...


Они абсолютно любые. Я их вообще из старых блоков питания вытащил. Падение напряжения на них должно быть не менее 0.6 В. На диоде Шоттки примерно 0.2-0.3 В.

А где можно прочитать про то как общаться с SD-картой по её родному протоколу?


Например, здесь:
SD_card_Specification_Ver3.01_Final_100518.pdf
(1.13 MiB) Скачиваний: 1754


Я новичек, не подскажете, какая это ножка(DAT0) на карте??


Она нарисована на схеме выше.

А напряжение на карту понижается до 3.3V?


Да.

Re: Устройство для чтения CID SD-карт

Сб июл 14, 2012 18:45:18

Про испорченную карту... Я понижал питание до 3.3 но что странно, после разговора с атмегой, карта стала неперезаписываемой, вообще ничего не записывается и не удаляется, даже не форматируется( Не знаете что за ерунда?

Re: Устройство для чтения CID SD-карт

Сб июл 14, 2012 18:49:40

Нет, не знаю. Но атмегу вы тоже от 3.3 В питали? Если от 5, то надо понижать уровни. Иначе можно испортить карту.

Re: Устройство для чтения CID SD-карт

Сб июл 14, 2012 18:57:58

Атмегу от 5, вот по этой схеме http://www.ulrichradig.de/home/index.php/avr/mmc-sd Схема верна?

Re: Устройство для чтения CID SD-карт

Сб июл 14, 2012 19:36:16

Верна. Но питание в 3.3 В лучше брать от стабилизатора. И здесь обмен по SPI, который ваша карта может и не поддерживать, т.к. он ей не родной.

Re: Устройство для чтения CID SD-карт

Вт июл 24, 2012 08:11:54

Скажите, а вот на VR1 напряжение понижается до 3.3V? Просто такой схемы у меня нет, хочу заменить на 2 последовательно спаянных диода.

Re: Устройство для чтения CID SD-карт

Вт июл 24, 2012 17:55:19

Вы имеете в виду делитель? Да, он понижает до 3.3 В.

Re: Устройство для чтения CID SD-карт

Вт июл 24, 2012 21:49:33

da-nie
а устройство (софт) работает с картами повышеной плотности? (от 4 ГБ)

Re: Устройство для чтения CID SD-карт

Вт июл 24, 2012 22:46:31

------
Последний раз редактировалось HHIMERA Вт июл 24, 2012 22:52:43, всего редактировалось 1 раз.

Re: Устройство для чтения CID SD-карт

Вт июл 24, 2012 22:52:16

HHIMERA писал(а):
da-nie писал(а):По SPI карта Micro SD работать отказалась, пришлось собрать нижеприведённое устройство и пообщаться с картой по её родному SD-протоколу.
Итак, схема устройства:

Смотрю я на схему,
Про SDIO обутый,
То ли там чистый SPI,
То ли я ..............!
:)))

аналогично!!

Re: Устройство для чтения CID SD-карт

Ср июл 25, 2012 05:21:12

а устройство (софт) работает с картами повышеной плотности? (от 4 ГБ)


Да, работает. Я 8 ГБ карту мучал. :)

То ли там чистый SPI,
То ли я ..............!


Нет, господа, там не SPI. Отличия вот в чём. Карта памяти в своём родном протоколе работает по раздельным двунаправленным линиям команд и данных (до 4-х штук, по-умолчанию, включена DAT0). Подчёркиваю - эти линии двунаправленные. Сигнал CS в режиме SD не используется и может либо быть линией данных, либо работать только на чтение сигнала Card Detect, но ни в коем случае не на установку (карта не запустится иначе, либо перейдёт в SPI). Ну и вариантов ответов несколько больше. В данном устройстве используется только командная линия, так как всего-то нужно запросить CID.

Re: Устройство для чтения CID SD-карт

Ср июл 25, 2012 08:03:11

Можете пояснить зачем нужен диод шотки? Не совсем понимаю как схемотически работает sd протокол.(

Re: Устройство для чтения CID SD-карт

Ср июл 25, 2012 10:59:57

SD-протокол работает как запрос-ответ со старт-стоповыми битами. Используются двунаправленные линии команд и данных. Вы сначала кидаете на линию CMD команду, потом эту же линию начинаете читать и ждать стартового бита. Как только вы его получили, принимаете весь ответ карты. Диод Шоттки нужен для того, чтобы вы могли не только выдавать в линию данные, но и читать с неё. Потому что понижающие напряжение микроконтроллера диоды в обратную сторону (от карты к микроконтроллеру) будут заперты. Чтобы в этом случае всё-таки считать, что же передаёт карта, я поставил диод Шоттки обратной к понижающим диодам полярностью (но, кстати, можете и обычный попробовать - оно тоже работает, но Шоттки всё же правильнее - у него падение напряжения меньше). Вот и всё.

Re: Устройство для чтения CID SD-карт

Ср июл 25, 2012 18:15:55

Благодарю за пояснения)))

Re: Устройство для чтения CID SD-карт

Вс июл 29, 2012 00:39:10

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

Re: Устройство для чтения CID SD-карт

Вс июл 29, 2012 08:04:20

Преимущества родного режима в том, что дофига и больше карт (как минимум все micro SD, насколько я понимаю) сейчас SPI не поддерживают. А разница ясна из документации на карты памяти, и я кое-что выше написал по этоу поводу. Документация тут выше лежит.
Ответить