ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1166800 Топик полностью
jury093 (21.01.2022 19:09, просмотров: 2) ответил 3m на Есть ли способ ускорить работу USB-I2C на FT2232D ? Отлаживаю одну либу на писюке (просто на писюке удобнее чем на МК) она активно работает с I2C. При работе через libMPSSE_i2c в среднем передается по 1 байту за 15 миллисекунд. То есть адрес - 15мс, и так далее. В итоге получается дико медленно. С опцией I2C_TRANSFER_OPTIONS_FAST_TRANSFER_BYTES интерфейс не работает да и ACK нужен. Латентность задал 1 - пофиг.
не совсем понятна топология. допустим usb-i2c выступает мастером и общается со слейвом. обычно используют i2c standart mode 100 kHz. для работы в fast mode 400 kHz требуется мастер, который умеет работать на такой скорости и слейв, который тоже должен понимать fast mode. еще полезно осциллом глянуть scl/sda на предмет фронтов. если затянутые, то можно попробовать уменьшить пуллап резисторы, с типичных 10 кОм до 4к7 и даже 2к2. чтобы отсечь возможные проблемы с тормозами 

адаптера usb-i2c (вероятно эмулирует i2c на gpio пинах) взять банальную RaspberryPi в качестве писюка, в мелком линуксе открываете свой слейв и отлаживаете либу через стандартные вызовы из юзерспейса