ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1167015 Топик полностью
arhiv6 (22.01.2022 11:28, просмотров: 211) ответил 3m на Библиотека и дрова с сайта ftdi, ос - десятка, софт пишу под minGW. Да, происходит именно так как вы пишете: транзакция делится на части и между частями паузы по 5-15 мс. ACK нужен. Удалось ускорить только блочное чтение но оно в софте используется крайне редко. Овердофига чтений по 1 байту а при этом по шине две тразакции :(
На сайте ftdi есть разные библиотеки. Например, libmpsse из AN_177 судя по коду для формирования СТАРТ отправляет одну транзакцию + для отправки АДРЕСа отдельную транзакцию. А простой и топорный пример из AN_113 отправляет всего одну транзакцию, когда в буфере накопится и СТАРТ и АДРЕС, т.е. будет быстрее. С libmpsse от Craig работал давно и только с SPI. Сейчас глянул код v1.3 с googlecode, там для i2c СТАРТ формируется побитно за несколько транзакций, т.е. точно 

будет

медленнее.

Т.е. я бы взял пример из AN_113 и сделал бы из него свою простенькую библиотечку только с нужными мне функциями (+ в инициализации подправил бы значения, передающиеся в FT_SetLatencyTimer, описание см в D2XX Programmer's Guide - это как раз на мелких транзакциях замтно на скорость влиять должно). AN_177AN_113D2XX Programmer's Guide