нет не правильно (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено SM 12 марта 2003 г. 17:46
В ответ на: Добавлю: Вы пытаетесь заменить выпадение отдельных блоков выпадением большого куска, но с меньшей вероятностью. Это приемлемо для экспериментов на столе, но обычно неприемлемо для автономных систем сбора данных. отправлено Oldring 12 марта 2003 г. 17:30

Мое устройство представляется в системе как дисковое скази устройство поверх USB. (стандартный USB class, bulk) В устройстве принята следующая методика обмена - каждый последующий блок данных должен быть считан как-бы из следующего сектора диска. То есть читаем "как бы диск" линейно увеличивая стартовый адрес сектора. В случае если обнаружено железом чтение данных из сектора с номером меньше или равным последнему переданному - то повторяем данные из буфера. Держим количество буферов, соответствующее максимальному количеству отправляемых в ядро ОС хоста отложенных запросов на передачу данных. Плюс еще какой-то буфер для складывания данных на время этих перепосылок. Мне за глаза 8MB SDRAM'ины.

Всё - имеем 100% гарантию отсутствия потерь данных. Если скорость канала упала ниже определенного уровня в результате немеренного кол-ва ошибок - то начинаем кричать об этом - значит неисправность.

И не надо писать никаких драйверов.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru