Пятница, 19.04.2024, 08:04
Микроконтроллерная техника AVR
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
Меню сайта
Помоги сайту
Поддержи наш сайт
Через WebMoney
U222865683087
R391933670808
Z877043628365
E649133782052

или пополни нашу SMS копилку
SMS.копилка

Ссылки

 Каталог статей
Главная » Статьи » Учимся работать с AVR

ATmega8 + SD с поддержкой FAT
Долгожданная статья о FAT16 )))

Коротко о структуре карточки:

Block=Sector

Диск имеет плоскую структуру т.е. доступ от 0-я до N байта,
но читается блоками по 512 байт.
Для чтения с карточки адрес задается не в блоках, а в байтах.
Можно указать адрес, например 4-е, но карточка выдаст ошибку и чтения не будет.
Адрес должен быть кратен 512 (0,512,1024...block0,block1,block2), после
чтения 512 байт нужно еще прочитать 2-а байт - это CRC (контрольная сумма).

Разметка карточки:

MBR (Master Boot Record) занимает 1 блок.
В MBR описывается 4-е логических диска (Partirion), в каждом логическом диске
Может также находится MBR и разбивать его, например: еще на 2-а диска.
Карточки обычно разбиты на один логический.
В MBR описывается тип файловой системы, смещение диска, размер диска и тд.

Самое главное, разметка FAT:

BPB (BIOS Parameter Block или Boot block) занимает 1 блок
RS (Reserved Sectros) может занимать несколько блоков
FAT таблица FAT здесь хранятся номера кластеров, может быть
несколько FAT таблиц друг за другом, обычно 2-е и зеркальные.
ROOT здесь записи корневой директории, файлы, папки и т.д.
DATA тута сами данные файлов, папок

В FAT16 размер номера кластера составляет 2-а байта, значит адресация
в FAT таблицы будет такова:
возьмем относительно с 0-я, адрес - кластер
0 - 0
2 - 1
4 - 2
6 - 3
и тд.

Данные размечаются на кластеры, кластер это как блок определенного размер
(размер описан в BPB).
Данные размечаются со 2-ого кластера, также возьмем относительно 0-я:
кластер - адрес блока данных (пускай кластер равен 2048)
2 - 0
3 - 2048
4 - 4096
5 - 6144
и тд.

Для чтения файла, нужно узнать первый кластер из записи в ROOT.
В FAT таблице по этому номеру будет следующий кластер этого файла и тд.
Пока не встретится 0xffff - это последний кластер.
Если первый кластер равен 0-ю, значит файл не содержит данных.
Директории - это те же файлы содержащие записи.

Файлы к статье для PROTEUS, CVAVR и также образ диска и документация FAT
Доступно только для пользователей

Исходники с комментариями, все вопросы на форум.

Категория: Учимся работать с AVR | Добавил: HiSER (15.06.2010) | Автор: Литвин Артём
Просмотров: 37790 | Комментарии: 55 | Теги: fat16, SD, ATmega8, MMC, fat | Рейтинг: 5.0/3 |
Всего комментариев: 55« 1 2 3 4 »
24 Andryxa  
0
Огромное человеческое спасибо за статью. Подключил к меге128, все работает. Не получается пока сделать вывод картинок напрямую с карты на дисплей. Можно в двух словах про чтение: file_read(byte *buff,word size); не могу понять какие именно переменные должны находится в скобках и за что они отвечают. Может вопрос тупой, но я пока только учусь.

23 HiSER  
1
ОБНОВИЛ ССЫЛКУ!!!

22 sgroot  
0
Всех с новым годом!
Тоже не могу скачать "Файлы к статье для PROTEUS, CVAVR и также образ диска и документация FAT fat16.rar".
Если можно, бросте на sgrock@yandex.ru

21 Ctrl-Alt-De1  
0
И мне тоже, пожалуйста отправьте архив на Chaykin.k@gmail.com. Спасибо

20 PulyaP  
0
Не могу скачать "Файлы к статье для PROTEUS, CVAVR и также образ диска и документация FAT fat16.rar". Если можно, бросте на pulyap@mail.ru
Заранее большое спасибо!

19 igarekani  
0
Битая ссылка на архив!!!

18 Babolik  
0
2 HiSER
Тоже не могу скачать "Файлы к статье для PROTEUS, CVAVR и также образ диска и документация FAT fat16.rar". Если можно, бросте на s.6588@yandex.ru.

16 uaf  
0
Перезалейте пожалуйста файлы к статье для PROTEUS, CVAVR и также образ диска и документация FAT
- fat16.rar или пошлите на мыло uaf@rambler.ru . Cпасибо.

17 HiSER  
0
Отправил

14 Proga-ks9476  
0
архив битый

15 HiSER  
1
исправлено.

12 Алекс8869  
0
Адаптировал проект к своему готовому устройству, на котором не мог отладить работу библиотек CV 2.04.4а. Работает. Жаль, что свою задачу (datalogger) решить не смогу. Уважаемый автор, не появилась ли у вас библиотека с функцией записи?

13 HiSER  
0
Нет, не появилась. И думаю в ближайшее время пока не появится.

1-10 11-20 21-30 31-38
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright My-AVR © 2024
Наша кнопка
У нас появилась кнопка, код кнопки:

Лаборатория самоделок на микроконтроллерах AVR

Форма входа
Наш опрос
Как вам материалы на сайте
Всего ответов: 863
Статистика/Друзья
CY-PR.com



Онлайн всего: 1
Гостей: 1
Пользователей: 0

РадиоКОТ - популярно об электронике. Авторские схемы, новые разработки. Обучение по электронике, микроконтроллерам, ПЛИС. Форум Сайт по радиоэлектронике. У нас все просто и интересно… ARV Reserch: Электроника — просто, полезно, увлекательно. Электронные устройства и программные средства для радиолюбителей и профессионалов, только авторские разработки, плагиата нет! Разработки на заказ. AVR projects Создание электронных роботов своими руками Схемы и программы на AVR http://ur5yfv.ucoz.ua/BANNER.gif Блог начинающего эмбеддера. Дай волю паяльнику! Самоделки на all-make.ru Принципиальные схемы Модулі автозапуску бензогенератора та системи АВР, електромонтажні роботи
Хостинг от uCoz