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

 
 
> Както задать ограничение на количество блоков в SCSI командах READ10/WRITE10?, LPC 4357 USB карт реадер SCSI USB High Speed
Neumeyka
сообщение Aug 22 2014, 19:21
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 21-07-08
Пользователь №: 39 115



Здравствуйте!
Есть устройтсво на контроллере LPC 4357, которое выполняет функции microSD карт ридера.

Тоесть вставляем microSD карту в устройство, затем подключаем его через USB к компьютеру.
И в компе появляется Removable Disk (USB High Speed).

Проблема в следующем, при общении с устройством через SCSI команды, ОС Windows иногда присылает комаду READ10/WRITE10 с количеством блоков более 20,
но мое устройство может оперировать буфером максимум в 20 блоков (не хватает памяти в контроллере, 1 блок = 512 байт).

Вопрос:
Както можно задать ограничение на количество блоков в SCSI командах READ10/WRITE10?

Может в конфигурационных USB дескрипторах есть поле где указано максимальное колическто Bulk или байт в одной транзакции), либо при ответах на SCSI комадны IQUERY, CAPACITY, MODE_SENCE, есть поле где это ограничение можно задать..... но чет я там ниче такого не увидел sad.gif

Спасибо!!!

Сообщение отредактировал Neumeyka - Aug 22 2014, 19:24
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
prottoss
сообщение Aug 23 2014, 01:05
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Neumeyka @ Aug 23 2014, 01:21) *
Проблема в следующем, при общении с устройством через SCSI команды, ОС Windows иногда присылает комаду READ10/WRITE10 с количеством блоков более 20,
но мое устройство может оперировать буфером максимум в 20 блоков (не хватает памяти в контроллере, 1 блок = 512 байт).
Как только буфер заполнился, отправляйте его по USB. После отправки буфера, снова заполняйте его данными из носителя и так пока не прочтете все, что требует хост. После отправляете статус. Простой и надежный алгоритм. Я на МК с 4К оперативки такое проделывал. Все работало.

Алгоритм можно ускорить. Сделать два (три, четыре, пять...) буфера. Пока один отправляется по USB, другой заполняется данными носителя.


--------------------
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 10:41
Рейтинг@Mail.ru


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