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


14

При использовании интерфейса 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 Appliance. Я поменял кабели и проводку. Ничего не помогло

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

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


Я использовал (как, вероятно, другие) USB-последовательные адаптеры на скорости 115200 бод. Один из более дешевых адаптеров имеет проблему с сигнальным заземлением . GND на стороне RS-232 не подключен к USB GND; некоторые соединения (в зависимости от заземления шасси) выдают данные мусора. Вы сообщаете, что у всех установок более 57600 бод есть проблемы? Есть ли какое-либо общее оборудование? Что это за макет в видео? Это самодельный сдвиг уровня?
— опилки

Я не пробовал более высокие значения, чем 115200, поэтому не могу с уверенностью сказать, что они также создают проблемы. Макет используется для разделения сигнала, чтобы я мог использовать его на собственном порте и порте USB-to-Serial. Там нет электрических частей, кроме некоторых проводов. У моего устройства USB-to-Serial есть открытый (проводной) конец, и я подключил к нему разъем RJ45, так что я могу однозначно сказать, что GND подключен правильно. Без подключения я не получаю вывод. Так что я думаю, что все должно быть в порядке. Тот факт, что многие другие используют этот адаптер без каких-либо проблем, как раз та часть проблемы, которая сводит меня с ума ...
— Mose

Разделение сигнала может быть проблематичным. Если есть только провода, то означает ли это, что нет линейного завершения для отмены отражений (что может ухудшиться при увеличении частоты)?
— опилки

Да, это может быть проблемой, но не в этом случае. Я просто подключил это, чтобы лучше продемонстрировать проблему. Проблема возникла без каких-либо "нюхающих" вещей. Я просто хотел показать, что устройство выдает свои данные правильно, показав это одновременно.
— Моисей

9600, кажется, отлично, 115200 выдает мусор на передней панели.
— Лин Сонг Ян

Ответы:


6

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

FTDI MProg

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

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


Любое обновление по этому вопросу?
— Исаак

2
У меня тоже сработалоFT_Prog
— MrMajestyk

1

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.