USB-to-Serial, показывающий бред на скорости 115200 бод

При использовании интерфейса USB-to-Serial все работает, пока я не превышаю 57600 бод. При более высоких ставках я получаю только талисман, как это:

év.­b0JNLYÆÿ¿iëd0U²(kßÞb!
                        ú]/xscB!ï¯!BoXûÿ1ïâÖCÿ6ÌAnè*íÌC)º¿BíÞØ.C.@ÆÃwHJÂs
"YE:ñ.èFðÌCÊ÷ÞÄ
               !x
                 H
w6@BtbHJ
        ̪
          Ì6ì
H¾a¿bH.">îvy®;f<ßBÌ
               p­L¨fæH­E
­þ¼MBÞI

Что делает проблему такой странной, так это то, что я обменял каждый компонент, и проблема все еще существует. Я пробовал разные ОС (Ubuntu, Windows XP, Windows 7, Mac OS X 10.7) с 32 и 64 бит. Я попробовал интерфейс USB-to-Serial от FTDI и Prolific. Я попытался прочитать выходные данные моего Raspberry PI и устройства Asterisk. Я поменял кабели и проводку. Ничего не помогло

Я сделал пример со старым ноутбуком с нативным COM и подключил USB-к-Serial к тому же соединению, что и "сниффер" (только Rx и GND подключены), чтобы убедиться, что вывод и все в порядке, как видно на нативном порт. Напряжение в порядке. Настройки для обоих: 115200 бод, 8 бит с 1 остановом и без контроля потока. Родной в порядке. USB перепутан.

Я использовал новейшие драйверы и дважды проверил все соединения. Я понятия не имею, что здесь не так. Поскольку я не мог найти никого, кто бы описывал подобные проблемы, я ставлю под сомнение свой многолетний опыт работы в области компьютерных наук и думаю, что делаю некоторые из них совершенно неправильно.

2 ответа

Решение

Обдумав это и найдя один пост, который был немного в правильном направлении, я понял, что это единственная оставшаяся возможность инвертировать сигнал и попробовать. К счастью, FT232RL имеет флаги опций в своей EEPROM (программируемые с помощью "MProg" от FTDI), чтобы установить это:

FTDI MProg

После этого все работало на всех скоростях передачи. Не спрашивайте меня почему, у меня нет технических объяснений. Я с нетерпением жду, чтобы получить осциллограф для дальнейшего исследования. Никогда раньше не видел такой странной проблемы.

Я также протестировал свой USB-to-Serial с коммутатором Cisco, и он не работал без этой инверсии.

У меня тоже была та же проблема с подключением к нашему MCU на скоростях свыше 57600, и, заподозрив наш UART, я обнаружил, что мост USB-UART (TTL) Silicon Labs CP2102 работает должным образом при более высоких скоростях передачи без необходимости настраивать чипсет FTDI.

Другие вопросы по тегам