sd_micro-250MMC (MultiMedia Card) и SD (Secure Digital Memory Card) карты на настоящий момент являются самым недорогим устройством большой емкости. Эти устройства  идеально подходят для встраиваемых систем где необходимо сбор большого количества данных, а также для простой возможности непосредственного переноса данных на ПК.

Карты памяти позволяют выполнять обмен информации по SPI интерфейсу,  который в основном присутствует в любом контроллере. И позволяет создать недорогой интерфейс обмена информацией.

Хороший сайт по информации о работе картами памяти (и не только) http://elm-chan.org/ рекомендую для ознакомления и получения дополнительной информации.

 


Габаритные размеры sdcard


Назначение выводом Микро SD для подключения по интерфейсу SPI.

sd_micro-03

Номер Обозначение Описание
1   Подключить к подтягивающему резистору
2 CS Выбор карты
3 DI Данные для записи в карту
4 Vdd Напряжение питания 2,7-3,3v
5 SCLK Синхроимпульсы шины SPI
6 Vss Общий
7 DO Данные чтения из карты
8   Подключить к подтягивающему резистору

Назначение выводом мини и SD карт для подключения по интерфейсу SPI.sd_mini-01

SecureDigitalMemoryCard

Номер Обозначение Описание
1 CS Выбор карты
2 DI Данные для записи в карту
3 Vss Общий
4 Vdd Напряжение питания 2,7-3,3v
5 SCLK Синхроимпульсы шины SPI
6 Vss Общий
7 DO Данные чтения из карты
8   Подключить к подтягивающему резистору
9   Подключить к подтягивающему резистору
10    
11    

   


Вариант подключения для микро SD. CATCATCAT_sd_micro_03  


Схема для тестового проекта. CATCATCAT_sd_micro_04

Проект предназначен ка обучающий для понимания работы с файловой системой, основан на FatFs — Generic FAT File System Module от ChaN. В программе присутствуют некоторые изменения для использования с PIC-контроллерами. Используется подключение через USB (эмуляция COM-порта) и HeperTerminal как управляющую панель, можно протестировать работу самой библиотеки и PIC-контроллеров по работе с DS/MMC картами памяти. Пример настроен на кодировку 866.


Управляющие последовательности.

Низкоуровневые последовательности для работы с диском:

di  — инициализация логического устройства

Пример, выполнения инициализации

dd [ <sector>] — чтение выбранного сектора с диска, просмотр на терминале (с загрузкой в буфер)

Пример, чтение сектора 0

ds — Просмотр состояния диска, устройства

Пример, выполнения команды

bd <адрес> — Просмотр буфера с указанного байта

Пример, выполнения

be <адрес> [<данные>] … — Редактирование буфера

Пример, выполнения

br  <сектор> <количество секторов 1 — 255> — Чтение сектора или секторов

Пример, выполнения

bw <сектор> <количество секторов 1 — 255> — Запись буфера в сектор на диске  или запись буфера в несколько секторов на диске

Пример, выполнения

bf <число> — заполнение буфера данными

Пример, выполнения

Последовательности для работы с файловой системой

fi — быстрая инициализация устройства

Пример, выполнения

fs [<путь>] — Показать состояния логического диска (каталога)

Пример, выполнения

fl [<путь>] — Просмотр каталога. Без пути — текущего каталога

Пример, выполнения

fo <режим> <имя файла> — открыть файл, режим: 0x01 — на чтение, 0x00 — , 0x80 — , 0x02 — на запись, 0x04 — создать новый файл, 0x08 — , 0x10 — , 0x20 — , 0x40 — .

Пример, выполнения

fc — Закрыть открытый файл

Пример, выполнения

fe <ofs> — Переместить указатель в указанный адрес (внутри открытого файла, если файл на запись или внутри буфера если файл отрыт на чтение)

Пример, выполнения

fr <количество байт чтения> — читать файл (данные загружаются в буфер)

Пример, выполнения

fd <количество байт чтения> — чтение буфера, вывод на экран информации

Пример, выполнения

fw <Количество байт для записи> <Значение записываемого байта> — запись в файл

Пример, выполнения

fn <old_name> <new_name> — Изменения имени файла/каталога

Пример, выполнения, изменение имени каталога 123

fu <path> — удаление файла или каталог (каталог должен быть пустым)

Пример, выполнения

fv — урезать файл, файл урезается по установленному указателю

Пример, выполнения, урезание файла footer.txt до 1кБ

fk <имя каталога> — Создайте каталог

Пример, выполнения создать каталог с именем test03

fa <атрибут> <маска> <имя файла или каталога> — Изменение атрибута  файла/каталога. Аnритут показывает какие флаги сбросить или установить 0 — сбросить, 1 — установить, маска какие влаги активировать, если использовать бинарные числа, то 0b000 — старший байт S, средний H, младший R.

Пример, выполнения

ft <year> <month> <day> <hour> <min> <sec> <name> — Изменить временную метку

Пример, выполнения

fx <src_name> <dst_name> — Скопировать файл

Пример, выполнения

fg <path> — Изменить текущий каталог

Пример, выполнения

fj — <номер диска 0, 1…> — Сменить текущий диск (если устройство разбито на несколько дисков).


fq — Показать путь текущей директории

Пример, выполнения

fb — переместить указатель в конец файла, для до записывания информации

Пример, выполнения

fm — <partition rule> <sect/clust> — Создание файловой системы

Пример, выполнения

t  — [<year> <mon> <mday> <hour> <min> <sec>] установка и индикация системного времени

Пример, выполнения

Файлы для загрузки
Share →

Добавить комментарий