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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> Бардак с at91sam7s64, Не работает норм ЮСБ
_4afc_
сообщение Sep 11 2008, 09:40
Сообщение #31


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(galjoen @ Sep 10 2008, 18:31) *
У меня была такая же мысль (MassStorage я сделал), но избавится от кэширования файлов виндой мне не удалось. Т.е. из устройства только первый раз читаются данные, а второй и последующие разы винда их кэширует (к устройству вообще не обращается) и из файла читается одно и тоже. М.б. кто-то знает как у винды кэширование отключить?


Не пользоваться файловой системой, а то ещё и с защитой интелектуальной собственности будете боротся.

Короче - создайте устройство, объёмом 16 и более мнимых секторов.
Читайте средствами ОС сектора напрямую. В винде есть ограничения - может не читать меньше 16 секторов.
На стороне ОС читаете или пишете большой блок в сектора подрят.
На стороне МК берёте или отдаёте данные не смотря на номер сектора.
Скорость потока регулируется временем обработки сектора на стороне мк.

Для передачи 2 мегабит в секунду с at91sam7s64 в ПК хватало внутреннего буфера в 4 кб. А более 2 мегабит - вытянуть не удалось. sad.gif



Цитата(aaarrr @ Sep 9 2008, 17:10) *
Во-вторых, 600 байт/мс туда и обратно через шину элементарно не пройдут.


Максимально вроде удавалось отдавать 10 мбит в ПК, но это прямо на пайпах со своим драйвером.

А тах шина конечно медленная надо для таких задач осваивать HS, апример на SAM9RL64
Go to the top of the page
 
+Quote Post
galjoen
сообщение Sep 12 2008, 09:33
Сообщение #32


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(_4afc_ @ Sep 11 2008, 13:40) *
Не пользоваться файловой системой, а то ещё и с защитой интелектуальной собственности будете боротся.

Весь смысл моего девайса в том, что его можно воткнуть в любой комп и сразу работать. Для того на нём и MassStorage стоит (ещё HID есть - устройство составное). Т. е. совершенно неподготовленный пользователь, которые этот девайс впервые видит и никакой документации не имеет: 1. Воткнул его в УСБ, 2. На появившемся диске мышкой на .exe нажал (диск read only), 3. Тут у него уже и документация и помощь появилась, 4. Логи прочитал (хотя м.б. и не знает, что это так называется) и себе на винт скопировал, 5. Через HID девайс перенастроил (если разобрался), 6. Объектом поуправлял (если связь есть). И всё это без установки к. л. драйверов.
Тут без файловой системы никак. А вообще я не слышал чтобы файловая система или Mass Storage были к.л. патентом защищены.
Цитата(_4afc_ @ Sep 11 2008, 13:40) *
Короче - создайте устройство, объёмом 16 и более мнимых секторов.
Читайте средствами ОС сектора напрямую. В винде есть ограничения - может не читать меньше 16 секторов.
На стороне ОС читаете или пишете большой блок в сектора подрят.
На стороне МК берёте или отдаёте данные не смотря на номер сектора.
Скорость потока регулируется временем обработки сектора на стороне мк.

Об этом я както и не подумал. Спасибо.
Цитата(_4afc_ @ Sep 11 2008, 13:40) *
Для передачи 2 мегабит в секунду с at91sam7s64 в ПК хватало внутреннего буфера в 4 кб. А более 2 мегабит - вытянуть не удалось. sad.gif

Только Mass Storage (без HID) у меня строго мегабайт в секунду читается. Т.е. максимально возможная скорость у FS USB - NAKов я вообще не хосту не передаю. А когда в составном устройстве (HID добавляется), то скорость падает т.к. шина под HID резервируется.
Цитата(_4afc_ @ Sep 11 2008, 13:40) *
Максимально вроде удавалось отдавать 10 мбит в ПК, но это прямо на пайпах со своим драйвером.

А тах шина конечно медленная надо для таких задач осваивать HS, апример на SAM9RL64

У USB FS 8 мбит максимум. 16 пакетов по 64 байта в милисекунду. Если ещё и контрольный канал использовать, то ещё 1 пакет добавляется. Но до 10 мбит всё равно не дотягивает.
HS я пробовал, там всего 2 дескриптора добавляются, а так всё тоже самое. Но у меня ошибки CRC начали частенько возникать (хотя м.б. это у меня руки кривые). И я подумал, что если уж у меня на столе подглючивает, то что на объекте то будет! И для себя решил, что если FS по скорости вытягивает, то на нем и нужно делать.
Go to the top of the page
 
+Quote Post

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

 


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


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