Перейти к содержанию
    

Помогите подобрать файловую систему для microsd

Добрый день. Задача следующая.

Имеется микроконтроллер AVR. Хотелось бы сделать на mega88 (1024 SRAM), но максимум что смогу себе позволить - mega32.

 

Задачи самые скромные - только читать какой-нибудь файл. Не будет никаких каталогов - просто в корневом будет около 100 файлов. Форматировать и записывать информацию планируется исключительно в Windows. Скорость хотелось бы не ниже 600 кбайт сек.

 

Вопросы.

1. Смогу ли я достичь такой скорости в SPI режиме при частоте контроллера 20 Мгц?

2. Ну собственно, учитывая скромные (кроме скорости) потребности - какую малотребовательную к ресурсам и легкую в освоении систему порекомендуете? efsl, я так понял, это акула, попроще ничего нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день. Задача следующая.

Имеется микроконтроллер AVR. Хотелось бы сделать на mega88 (1024 SRAM), но максимум что смогу себе позволить - mega32.

 

Задачи самые скромные - только читать какой-нибудь файл. Не будет никаких каталогов - просто в корневом будет около 100 файлов. Форматировать и записывать информацию планируется исключительно в Windows. Скорость хотелось бы не ниже 600 кбайт сек.

Если нужно только читать и нет каталогов, то рекомендую сделать свою FS с ориентацией именно на это. Самый простой вариант - корневой каталог лежит в начале SD, файлы адресуются ссылкой на первый сектор файла. В начале сектора лежит заголовок, в котором указанны длинна данного куска файла (в секторах), номер сектора, где находится продолжение файла и длинна занятого участка на последнем секторе (только для последнего участка).

 

Для последовательного чтения файлов в такой FS память в МК практически не нужна вообще.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

какую малотребовательную к ресурсам и легкую в освоении систему порекомендуете? efsl, я так понял, это акула, попроще ничего нет?

fatfs

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Свою?

Я наверное не сделал акцент, но с этой флешкой нужнго будет полноценно работать под Windows, то есть на компьютере будет только писаться, а на флешке только читаться.

Так что свою ситстему не потяну.

 

А вот что касается FATFS - она поддерживает SD-режим? А то SPI - 200 кб/сек - маловато будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Она вообще не поддерживает никакого режима. Вам нужно самому переопределить функцию чтения/записи сектора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопросы.

efsl у меня на ARM7 дала 250 кб/c.

Может, файловая система и не нужна? Разве что очень упрощенная.

SD режим - это 4 бита? Только потеряете в быстродействии на AVR по сравнению с SPI.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем, максимум что мне нужно это транслировать по SPI от контроллера объем данных в 64 кбайт 30 раз в секунду. Источник этих данных - SD карта. Данные эти просто передавать, никак не обрабатывая.

Как лучше сделать - закгрузить во внешнюю оперативную память эти 64 кб и крутить? или как-то по другому?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

или как-то по другому?

Угу.

1) Выбрать более подходящий контроллер.

2) записывать данные во FLASH или EEPROM от компьютера по какому-нибудь интерфейсу.

 

Да и задача непонятно - что потом с этими данными делается?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Свою?

Я наверное не сделал акцент, но с этой флешкой нужнго будет полноценно работать под Windows,

А свой софт на Windows предусматривается? Или флэшка с вашей FS должна выглядеть как сменный накопитель на голой винде? Если первое, то своя FS не проблема, так как ее можно поддержать специальной программой на Windows, а если второе, то ищите контролер потолще, стандартные FS, которые понимает Винда, требуют ощутимого количества RAM'а для работы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я наверное не сделал акцент, но с этой флешкой нужнго будет полноценно работать под Windows...
Есть известный способ обмануть FAT...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А свой софт на Windows предусматривается?

 

 

Ну если от своего не денешься, то конечно легче сделать свой софт на виндовс. Хотя идея скачать файлик, закинуть его на флешку, короче, чтобы мог сделать любой дурак - так заманчива...

 

то ищите контролер потолще,

 

АT91SAM7 подойдет для этих задач?

И скажите, по своему опыту прыжок с Mega на ARM7 сильно тернистый?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну если от своего не денешься, то конечно легче сделать свой софт на виндовс. Хотя идея скачать файлик, закинуть его на флешку, короче, чтобы мог сделать любой дурак - так заманчива...
Тогда только FAT. И как минимум 512 байт для обработки (а может и больше, зависит от библиотеки)

АT91SAM7 подойдет для этих задач?
Да, скорее всего

 

И скажите, по своему опыту прыжок с Mega на ARM7 сильно тернистый?
Сказать не могу - не прыгал :( Но в принципе особых трудностей быть не должно (и по большей части это будет зависеть от 'прыгуна' :) )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

КТо-нибудь именл дело с этим http://www.megachip.ru/item.php?item_id=667627

 

Там даже разъем под SD есть и пример проекта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там даже разъем под SD есть и пример проекта.

Прыгал LPC-2478STK и на STM32 STK от Olimex.

По вопросу NXP/Atmel почитайте раздел ARM.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, продолжите.

Я так понимаю, скорость чтения зависит от частоты SPI и от скорости обработки данных контроллером.

Поменяв контроллер мы частично решим обе задачи. Дальше оптимизация программы, читающей файловую систему. Что еще входит в упомянутый Вами комплекс? Какой скорости считывания можно добиться на ARM7?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...