zvs 0 15 июня, 2006 Опубликовано 15 июня, 2006 · Жалоба Есть задача: С одной стороны быстро писать данные во флеш-память, с другой стороны потом с какой угодно скоростью писать их в ПК. С точки зрения переноса данных в ПК мне показалось предпочтительно (поправьте меня, если Вам кажется иначе) поставить USB-FLASH контроллер, например USB97C242 от SMSC... Предпочтительно потому что пользователю будет проще считывать эти данные в ПК и для этого не нужно никакое дополнительное ПО. В связи с этим появились вопросы на которые четкого ответа не нашел... 1. Выдержка из datasheet на микросхему Flash памяти от Samsung: The device may include initial invalid blocks when first shipped. Additional invalid blocks may develop while being used. The number of valid blocks is presented with both cases of invalid blocks considered. Invalid blocks are defined as blocks that contain one or more bad bits. Do not erase or program factory-marked bad blocks. То есть нужно где-то хранить карту памяти этих самых bad blocks.... 2. На стандартных USB-FLASH устройствах по умолчанию flash отформатирована как fat16, но нормально работает и с fat32. Вопрос - проводится ли при форматировании проверка на bad блоки и помечаются ли они в таблице размещения файлов? Ну и самый главный вопрос - как создавать/писать файлы на fat32 со стороны ПЛИС? Если кто уже занимался этой проблемой, подскажите пожалуйста что можно почитать именно по этому поводу? Заранее спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
v_mirgorodsky 0 15 июня, 2006 Опубликовано 15 июня, 2006 · Жалоба К сожалению FPGA совсем не подходит для работы с FAT32 :( Скорость получится очень незначительной, да и поддержка файловой системы превратится в кошмар. Для поддержки файловой системы нужен процессор. Можно встроенный в FPGA. Другим методом может быть предварительное форматирование устройства на назком уровне в формате FAT32 с расположением по фиксированным секторам таблицы ссылок на непрерывные файлы. Таким образом для пользователя карта памяти будет выглядеть как куча файлов и один файл ссылок. FPGA считывает файл ссылок из фиксированного места, пишет свою инфу в своем формате в заранее пресозданные файлы, а пользователь может их считывать потом в USB Mass Storage. Таким образом все существенно упрощается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zvs 0 15 июня, 2006 Опубликовано 15 июня, 2006 · Жалоба 2 v_mirgorodsky За идею огромное спасибо. Только сошлите все-таки куда-нибудь почитать? :unsure: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
v_mirgorodsky 0 15 июня, 2006 Опубликовано 15 июня, 2006 · Жалоба Это просто идея, мы таким образом собиральсь решать свои проблемы с внешним сторажем. Потому с почитать сложно :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ddkk 0 15 июня, 2006 Опубликовано 15 июня, 2006 · Жалоба Поскольку не известна пиковая скорость данных и их объем можно рассмотреть большее количество вариантов. Если необходимо для ввода данных в комп использовать его наружние интерфейсы (USB/FireWire/Ethernet) то тут без процессора не обойтись. При этом процессор может быть или железным (с уже встроенным нужным интерфейсом) или софтовым (в FPGA). В первом случае в FPGA нужно будет реализовать только интерфейс между внешними данными и железным процессором. Во втором случае все (кроме PHY выбранного интерфейса связи с компом) будет реализовано в FPGA. В обоих случаях ваше устойство будет всегда подключено к компу и передавать в него данные (например сразу на HDD). Более конкретный выбор - результат личных предпочтений и требований задачи... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zvs 0 15 июня, 2006 Опубликовано 15 июня, 2006 · Жалоба Если необходимо для ввода данных в комп использовать его наружние интерфейсы (USB/FireWire/Ethernet) то тут без процессора не обойтись. Ранее я писал, что для ввода данных в комп мне хотелось бы использовать мост FLASH-USB. В основном это желание продиктовано тем, что при таком подходе не нужно нагружать пользователя доплонительным ПО - при подсоединении к компу флэшка моего устройства находится в системе как съемный флэш-диск с принятыми данными. В обоих случаях ваше устойство будет всегда подключено к компу и передавать в него данные (например сразу на HDD). Вот как раз "всегда подключено" у меня не получится. Есть два режима: 1 режим накопления данных, когда моя девайсина собирает данные во внутреннюю флеш память - очень быстро, т.е. на пределе записи во флеш, причем не в одну а сразу в несколько - с распараллеливанием (очень уж медленно флешки пишут в себя данные) 2 режим переноса данных на комп - тут для меньшего заморачивания хотелось бы применить указанный выше мост. Тут скорось переписи совершенно не важна. Отсюда главной заморочкой является запись во флеш так, чтобы сохранить файловую структуру FAT32, который планируется применить на флэшке... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harbour 0 15 июня, 2006 Опубликовано 15 июня, 2006 · Жалоба с плис задолбаетесь отлаживать - дешевое и быстрое решение - usb 8051/arm от cypress/atmel с флешкой на spi (MMS/SD) - в инете готовых примеров до фига. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zvs 0 16 июня, 2006 Опубликовано 16 июня, 2006 · Жалоба с плис задолбаетесь отлаживать - дешевое и быстрое решение - usb 8051/arm от cypress/atmel с флешкой на spi (MMS/SD) - в инете готовых примеров до фига. Вы имеете ввиду микроконтроллер с USB? А подскажите пожалуйста, какого объема флешку на SPI там можно адресовать? Мне нужно не менее 10, лучше 20 ГБайт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться