реклама на сайте
подробности

 
 
> Покритикуйте плз. задумку
Paramedic
сообщение Mar 4 2011, 18:09
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 181
Регистрация: 15-01-07
Пользователь №: 24 436



Есть устройство записи звука, пишет на NAND флэш поток аудио без стандартных файловых систем, менеджмент файлов самописный, оптимизированный по скорости.
Хочется сделать ридер данных с устройства который бы подключался к USB и напрямую к выводам NAND и на скорости близкой к скорости работы NAND мог читать и писать файлы, прикидываясь съемным носителем и звуковые файлы были доступны через проводник винды или другой оси в виде wav.
Для реализации планируется взять какой-нить быстрый проц типа LPC3130 с аппаратным интерфейсом NAND флэш и HiSpeed USB.
Есть какие-то засады в такой реализации? Особенно беспокоит возможность реализации подмены нестандартного потока аудио в стандартный wav через MSD.
Покритикуйте плз. Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
codier
сообщение Mar 5 2011, 08:59
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 21-01-05
Пользователь №: 2 113



Если устойство с внутренней автономностью, то почему не писать на FAT, организованный поверх NAND ? Тогда можно прикрутить готовый MSD. Как я понял, надо писать 8кГц 16бит, т.е. 16кбайт/сек, что мало, а значит не надо бояться накладных расходов на запись в FAT.

PS: А вообще, эмулировать FAT интересней :-) Сам сталкивался с такой задачей, но пока решал что FAT на флешке проще, хотя идеи есть :-)

Сообщение отредактировал codier - Mar 5 2011, 09:02
Go to the top of the page
 
+Quote Post
Paramedic
сообщение Mar 5 2011, 09:44
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 181
Регистрация: 15-01-07
Пользователь №: 24 436



Цитата(codier @ Mar 5 2011, 11:59) *
Если устойство с внутренней автономностью, то почему не писать на FAT, организованный поверх NAND ? Тогда можно прикрутить готовый MSD. Как я понял, надо писать 8кГц 16бит, т.е. 16кбайт/сек, что мало, а значит не надо бояться накладных расходов на запись в FAT.

А поверх NAND, это как?
Go to the top of the page
 
+Quote Post
codier
сообщение Mar 5 2011, 16:41
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 21-01-05
Пользователь №: 2 113



Цитата(Paramedic @ Mar 5 2011, 12:44) *
А поверх NAND, это как?


AlexandrY написал варианты. NAND - это просто носитель, ничто не запрещает на нём реализовать секторы, а на них FAT, да и любую файловую систему. Я с NAND не работал, про проблему выроботки ресурса на нём деталей не знаю, но выше уже знающие люди написали.

Собственно, любой формат хранения данных, если они каким-то образом идентифицируются - это файловая система в её глобальном понимании, так что любой свой "велосипед" ничем не хуже, разве что делать надо.

Насчёт эмуляции FAT (говорю в приложении к FAT16) идеи такие:
1. Все секторы, что не данные генерить "на лету"
2. MBR и Bootsector можно хранить во флеше контроллера
3. Допущение: Запись данных осуществляется непрерывным блоком (как на ленту) -> Если выровнять блоки по размеру кластера (64-128 кбайт для больших флешек), то больших проблем с генерацией "на лету" собственно таблицы FAT быть не должно.
4. Небольшое торможение при генерации на лету служебных секторов не смущает, т.к. делается Host системой один раз.

Если блоки не выравнивать, то тоже можно, но геморней

Пните меня где я ошибаюсь..

Сообщение отредактировал codier - Mar 5 2011, 16:42
Go to the top of the page
 
+Quote Post
Paramedic
сообщение Mar 5 2011, 17:25
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 181
Регистрация: 15-01-07
Пользователь №: 24 436



Цитата(codier @ Mar 5 2011, 19:41) *
AlexandrY написал варианты. NAND - это просто носитель, ничто не запрещает на нём реализовать секторы, а на них FAT, да и любую файловую систему. Я с NAND не работал, про проблему выроботки ресурса на нём деталей не знаю, но выше уже знающие люди написали.
Собственно, любой формат хранения данных, если они каким-то образом идентифицируются - это файловая система в её глобальном понимании, так что любой свой "велосипед" ничем не хуже, разве что делать надо.


Проблема выработки есть. Более того есть проблема необходимости использовать ECC для обхода битых битов. Чем дальше растёт плотность упаковки данных, тем проблема более актуальна. SD карта решает проблему, у неё встроенный контроллер ECC и прочие прелести - но жрёт сильно больше голой NAND. Сразу писать в ФАТ для нашего случая это слишком большие накладные расходы , избыточное решение. Собственно уже писал, что характеристика диктофонов в плане потребления экстремальные, и каждый "лишний" такт заметен.

Цитата(codier @ Mar 5 2011, 19:41) *
Насчёт эмуляции FAT (говорю в приложении к FAT16) идеи такие:
1. Все секторы, что не данные генерить "на лету"
2. MBR и Bootsector можно хранить во флеше контроллера
3. Допущение: Запись данных осуществляется непрерывным блоком (как на ленту) -> Если выровнять блоки по размеру кластера (64-128 кбайт для больших флешек), то больших проблем с генерацией "на лету" собственно таблицы FAT быть не должно.
4. Небольшое торможение при генерации на лету служебных секторов не смущает, т.к. делается Host системой один раз.
Если блоки не выравнивать, то тоже можно, но геморней
Пните меня где я ошибаюсь..


Данные выровнены по страницам флэш, а размер страницы кратен стандарному сектору в 512 байт - с этим проблем нет. Я так понимаю что в случае с MSD не всегда можно понять по запросу хоста служебный блок файловой системы он запрашивает или звуковые данные...
Go to the top of the page
 
+Quote Post
codier
сообщение Mar 5 2011, 18:16
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 21-01-05
Пользователь №: 2 113



Цитата(Paramedic @ Mar 5 2011, 20:25) *
Данные выровнены по страницам флэш, а размер страницы кратен стандарному сектору в 512 байт - с этим проблем нет. Я так понимаю что в случае с MSD не всегда можно понять по запросу хоста служебный блок файловой системы он запрашивает или звуковые данные...


Почему же не понятно? Структура FAT фиксированная. Всё что вне Data Area - служебный блок. Проверка только 1 - на адрес начала данных во 2-ом кластере в FAT. Если адрес не совпадает, то идём в "медленный" код и генерим системные блоки.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Paramedic   Покритикуйте плз. задумку   Mar 4 2011, 18:09
- - kovigor   Цитата(Paramedic @ Mar 4 2011, 22:09) Ест...   Mar 4 2011, 18:52
- - AlexandrY   Цитата(Paramedic @ Mar 4 2011, 20:09) Осо...   Mar 4 2011, 21:55
|- - aaarrr   Цитата(AlexandrY @ Mar 5 2011, 00:55) Т.е...   Mar 4 2011, 22:33
|- - sasamy   Цитата(AlexandrY @ Mar 5 2011, 00:55) Стр...   Mar 5 2011, 02:04
|- - Paramedic   Понятно, что сделать всё, вместе с записью звука н...   Mar 5 2011, 08:22
||- - sasamy   Цитата(Paramedic @ Mar 5 2011, 11:22) А т...   Mar 5 2011, 18:50
||- - Paramedic   Цитата(sasamy @ Mar 5 2011, 21:50) Хотело...   Mar 6 2011, 14:16
||- - sasamy   Цитата(Paramedic @ Mar 6 2011, 17:16) Sam...   Mar 6 2011, 15:18
||- - aaarrr   Цитата(sasamy @ Mar 6 2011, 18:18) Ну вот...   Mar 6 2011, 15:42
||- - sasamy   Цитата(aaarrr @ Mar 6 2011, 18:42) Так не...   Mar 6 2011, 16:02
|- - AlexandrY   Цитата(sasamy @ Mar 5 2011, 04:04) Только...   Mar 5 2011, 13:45
|- - sasamy   Цитата(AlexandrY @ Mar 5 2011, 16:45) Хе-...   Mar 5 2011, 14:22
|- - AlexandrY   Цитата(sasamy @ Mar 5 2011, 16:22) После ...   Mar 5 2011, 15:56
|- - AlexandrY   Цитата(codier @ Mar 5 2011, 10:59) Если у...   Mar 5 2011, 09:32
|- - AlexandrY   Цитата(codier @ Mar 5 2011, 20:16) Почему...   Mar 5 2011, 18:55
|- - aaarrr   Цитата(AlexandrY @ Mar 5 2011, 21:55) Во ...   Mar 5 2011, 19:03
|- - codier   Цитата(AlexandrY @ Mar 5 2011, 21:55) Я б...   Mar 5 2011, 19:54
- - ukpyr   Можно cy7c68013 + контроллер с параллельным портом...   Mar 5 2011, 15:11
|- - sasamy   Цитата(ukpyr @ Mar 5 2011, 18:11) Можно c...   Mar 5 2011, 15:52
- - akimych   Вообще говоря эмуляция FAT-а на чтение не должна б...   Mar 5 2011, 17:37
- - akimych   Какие чипы используются не было озвучено, но в тех...   Mar 5 2011, 23:23
- - aaarrr   В случае SD/(e)MMC и прочих стандартных носителей ...   Mar 6 2011, 16:12
- - Paramedic   Цитата(aaarrr @ Mar 6 2011, 19:12) В случ...   Mar 6 2011, 17:21


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 23:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01442 секунд с 7
ELECTRONIX ©2004-2016