Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: как организовать USB host
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
barabek
В приборе необходимо иметь возможность скидывать лог на флешку. Объем записываемых данных задается пользователем. Максимум несколько гигов. Вопрос - как лучше организовать USB host для подключения flash drive?

У меня используется cyclon III с ниосом. В настоящее время установлена в качестве микросхемы хоста VNC1L vinculum. Удобная по использованию, но ТОРМОЗ жутчайшая crying.gif . Облазил весь форум и все интернеты, но вразумительного ответа для себя не нашел.

Какие вижу варианты. 1. Искать другую микросхему хоста. Например, у cypres видел хост, но там ног нужно много. Для разводки не очень. 2. Сделать свой хост внутри плис и использовать снаружи только микросхему PHY. В этом случае ног используется мало - также как и с VNC1L. Но сколько на это нужно труда и сколько отожрется ресурсов от плис, честно говоря, не представляю. Раньше работал только с "USB device" внутри микроконтроллеров. 3. Не париться и взять какой-нибудь МК с host на борту, например, те же EFM32GG от Energy micro (cortex M3) или другой камень с малым количеством ног. Наверняка можно даже найти готовые примеры от производителей для основы программы.

Посоветуйте, какой вариант выбрать. Выпускаемая серия небольшая, поэтому цена не особо критична в разумных пределах.
aaarrr
Цитата(barabek @ Jan 19 2012, 14:12) *
Посоветуйте, какой вариант выбрать. Выпускаемая серия небольшая, поэтому цена не особо критична в разумных пределах.

Тогда стоит выбрать вариант МК с USB как наименее трудоемкий.
Копейкин
Мне кажется, что внешний МК c поддержкой USB HOST сильно облегчит труд разработчика а также Циклона с Ниосом sm.gif.
Там ведь ещё нужно файловую систему поддерживать, я правильно понял?
Тогда для FAT дополнительные расходы ОЗУ и времени....
Внешний контроллер, также может помочь с буферизацией данных при записи.
Я бы, исходя из этих соображений, поставил внешний МК.
PS.
А что в VNC1L тормозит?
barabek
Да, внешний МК по всем признакам наиболее разумный путь. Спасибо за советы.
Цитата(Копейкин @ Jan 23 2012, 18:24) *
А что в VNC1L тормозит?

Даже не знаю что сказать. У меня нет контроля над ним. Что удобно - он все делает сам. Но скорость передачи на флэш максимальная где-то в районе 25 кБ/сек. Причем уже после заказа и проверки я нашел документ у FTDI с тестами скорости. И у них тоже такие же показатели. Можно взять второй vinculum, но что-то становится страшно. А документа с измеренными скоростями у них на сайте не нашел. В интернетах тоже не видел тестов.
Копейкин
25 кБ/сек это скорость последовательной/потоковой записи страниц или запись с ведением файловой системы?
Т.е. с постоянным обновлением FAT?
Дело в том, что я недавно делал запись на SD карту.
Так вот там потоковая скорость больше произвольной на порядки.
Здесь, на форуме, это кстати обсуждалось.
Поэтому мне пришлось сперва потоком писать данные файла, а затем сопутствующие данные, размер файла и
цепочку FAT.
М.б. здесь такие же грабли, а винкулум не при чём?
barabek
Винкулум сам ведет управление записью. Как он там делает - не знаю. Я с ним работаю только командами наподобии at-команд. Открываю командой файл для записи. Другой командой пишу в этот файл. Все.
Kostik
Цитата(Копейкин @ Jan 24 2012, 10:37) *
Дело в том, что я недавно делал запись на SD карту.
Так вот там потоковая скорость больше произвольной на порядки.

М.б. здесь такие же грабли, а винкулум не при чём?


Судя по информации на разных форумах, именно работа с FAT и есть основная причина медленной работы VNC1L из-за медленного контроллера и маленького буфера. Возможности писать напрямую на FLASH там вроде нет. Вся работа с файловой системой скрыта внутри контроллера. Есть мнение, что ему постоянно приходится буфер опустошать для модификации FAT.

Возможно Vinculum 2 поднимет быстродействие за счёт продвинутого процессора и большого буфера, но тестов скорости тоже пока не видел. Радует наличие pin2pin совместимого с VNC1L корпуса.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.