Цитата(kovigor @ Jan 10 2011, 13:39)

Эх, не стал бы я связываться с USB в таком деле. Ненадежно это.
Та на самом деле ничего там страшного нет - реалтайм не для ПК, ПК подготавливает заранее управляющий массив данных и переодически подкидывает MK, весь реалтайм - это всего лиш МК с определенной временной дискретностью валит этот массив на ШД. Естественно внутри МК есть скользящий буфер - так что если У ПК скорость отправки колеблется это никак не влияет и несколько не отправленных пакетов тоже не собьют работу - отработает буфер, если интерфейс совсем ляжет - сработает стоп, стол по возможности плавно остановится на последней координате в буфере - плохо но не смертельно, после перезапуска пойдет дальше.
Система рассчитана на недорогой ЧПУ на базе ШД а не серводвигателей обратная связь в реалтайм сдесь ненужна.
Цитата(kovigor @ Jan 10 2011, 13:39)

А какой объем данных передается (в секунду) ? Просто интересно ..
Сейчас тестирую на 25мс/256 байт на OUT и 32 на IN, т.е. около 11K в секунду - полет нормальный.
Цитата(kovigor @ Jan 10 2011, 13:39)

Может, у вас там изохронная точка, а не BULK ? Спецификация у меня 2.0, раздел 5.8.3. Там четко сказано, что макс. размер пакета - 64 байта. На всякий случай открыл описание на свой ARM9 (FS). И там написано то же самое. Подозреваю, что это не случайно. Так что ...
Та нет именно bulk. Пакеты не бьются, даходят все 256 за один пакет. Сам читал спецификацию, про максимальную длину видел. В любом случае ошибка не из за длины пакета была, на 16байт тоже самое. Но насчет перейти на 64 для соответствия спецификации сейчас думаю. Как я уже писал - основа кода ПК на уже готовом ПО, там вообще 512 через bulk и вроде как у всех работает (жалоб от пользователей в сети не встречал ).
ПО тестировалось на трех машинах с XP и одной 2000, все запускалось без проблем, ошибка что была - одинаково возникала на двух ХР , на 2000 такие длительные тесты не проводились, сейчас после фикса будем тестировать заново на всем.