FTDI FT2232H (USB <-> UART) Скорость передачи данных?

8

Кто-нибудь использовал один из чипов FT2232H от FTDI?

В частности, как вы определяете допустимые скорости передачи данных?

Лист данных довольно расплывчатый, и мне нужно что-то выбрать в диапазоне 1-3 МБод, но мне нужно знать, какие у меня есть варианты.

Джейсон С
источник

Ответы:

7

У меня тоже была эта пробема. FTDI считает это скорее проблемой драйвера, чем проблемой микросхемы. Перейдите в область « Примечания к приложению FTDI» и посмотрите PDF-приложение «AN_120 Aliasing VCP Baud Rates» .

todbot
источник
В приложении указано, что именно вы можете выбрать, и вам нужно убедиться, что ваш микроконтроллер может выполнять ту же скорость передачи данных с ошибкой менее 10%.
Кортук
10%? Ошибка 10% слишком высока для хорошей связи UART ... обычно это что-то вроде +/- 3%.
Джейсон С
Если на одной стороне есть идеальные часы, то на другой может быть ошибка до 10% (при использовании 8-битных данных, 1 пуска, 1 остановки) без ошибок. Вы добавляете четность, вам нужно уменьшить эту максимальную ошибку. Однако, как правило, обе стороны не идеальны, и вы должны уменьшить эти накладные расходы, так как они есть.
Кортук
@Kortuk: Если известно, что ошибка в определенном направлении, можно организовать допуск на удаленный конец, например, 0-10%, но если это произойдет, связь может прерваться, если на удаленном конце будет 0,01%. Многие конструкции UART имеют почти симметричные диапазоны ошибок, хотя некоторые из них с 4-кратным передискретизацией асимметричны; Я никогда не видел ни одного, который позволял бы пользователю регулировать синхронизацию начальных битов, чтобы отдавать предпочтение более быстрому или медленному пульту.
суперкат
@supercat, я думаю, что MSP430, который мы использовали, мы могли использовать «модуляцию», которая давала высокую ошибку в первом бите, но улучшалась по сравнению с битами.
Кортук
2

Также следует отметить, что драйвер Linux в настоящее время поддерживает скорости (только?) До 460800 бод.

Брэд Хейн
источник
2
Не совсем так, хотя легко ошибиться. Выбор скорости BPS в Linux должен быть POSIX-совместимым, а в семидесятых также много эмоционального багажа. Например, раньше вы могли выбирать только до 38400. Позже вы можете немного перевернуть, и 57600 и 115200 также будут доступны. Это все на стороне ОС, а не аппаратной части. Современные водители все еще должны поддерживать почтенные Bxxxxфлаги, но они также могут делать индивидуальные тарифы. Посмотрите на get_ftdi_divisor()(строка 1077) в драйвере. Вы можете установить пользовательские ставки BPS до 12 000 000 на FT232H.
Алексиос