Как подключить SD карту к микроконтроллеру? (примитивный способ)

 

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

 
question

 

SD или может microSD?

 

Самый простой способ, это припаять SD карту к проводникам, а проводники к входам контролера. Но при данном подходе, мы лишаемся возможности извлекать SD-карту из проекта, например для проверки на кардридере компьютера.

Для того чтобы, не выпаивать каждый раз SD карту для проверки её на компьютере, я рекомендую использовать её младшего брата — microSD с переходником » microSD на SD».

SD_and_microSD_

MicroSD ничем не отличается от обычной SD, различия только в размере. От нас требуется правильно соединить выходы микроконтроллера с переходником «microSD на SD». Данный пост применим как и для SD, так и для microSD.

 

 

Какой микроконтроллер?

 

В качестве микроконтроллер я буду использовать ATmega328P (или Arduino UNO), но данный подход можно использовать для любого микроконтроллера поддерживающий протокол SPI.

Важно заметить, что данный контроллер (да и многие другие) построен на технологии CMOS. Это означает, что нулевой уровень (логический 0-ль) соответствует 0.1 В, а высокий логический уровень (логическая 1-ца) соответствует напряжению питания. Т.е. каким напряжением будет запитан микроконтроллер, то вы и получите на выходе при логической 1-цы. Если вы используете Arduino, то у вас нет возможности изменять напряжения питания контролера, это означает, что на выходе, в качестве логической единицы, у вас будет ~5 В. Что не соответствует уровню логической 1-цы SD карты, т.е. 2.7-3.6 В. Поэтому напрямую подключить SD (microSD) к разъемам микроконтроллера не получиться, придется делать небольшую развязку, в виде делителей напряжений.

 

 

Делители напряжения

 

Делитель напряжений будем собирать из резисторов, нам необходимо их подобрать таким образом, что бы мы могли, снять с делителя от 2.7 до 3.6 В. Это можно сделать, с помощью резисторов номиналом 1.8 кОм и 3.3 кОм. Можно использовать и другие комбинации, главное попасть в промежуток от 2.7 до 3.6 В на выходе.

 

resistor_divider

 
В реальности делитель я сделал следующим образом, в разрез провода впаял резистор 1,8 КОм, к концу этого резистора припаял резистор для земли — 3.3 КОм. Надвинул на резисторы и оголенные участки — термоусадочную трубку.

 
Картинка вверху «без термоусадки«, внизу «с термоусадкой на резисторах и оголенных участках»

 
divider

 

 

Что в итоге? Как подключать?

 

В итоге, SD карта к микроконтроллеру нужно подключить следующим образом:

 

scheme_SD+MC

 

P.S. выход DO подключать к делителю нет необходимости, т.к. на него мы ничего не подаем, а только получаем данные с SD карты.
P.S. в данной схеме, я не рекомендую извлекать и вставлять microSD в разъем во время работы микроконтроллера, делайте это только в обесточенном состояние.

 
В реальности это выглядит следующим образом:

 
sd+divider

 
Подключим «осьминога» к Arduino UNO

 arduino+sd




Буду признателен если вы поделитесь данным постом


Ваш комментарий


Ответ в цифрах

 
© s-engineer.ru, 2012-2017 | Все права защищены