Похоже, что последовательное USB-устройство сбрасывает символы со скоростью свыше 9600 бит / с - PullRequest
0 голосов
/ 21 сентября 2018

Предпосылки этого следующие: у меня есть плата FPGA Atlys, и я занят внедрением UART на ней, потому что возможности для другой диагностики довольно ограничены.

Я хочу использовать портативный (на котором я также запускаю программное обеспечение FPGA) в качестве терминала для платы.Портативная версия 2004 года, AMD x64, 1 ГБ ОЗУ, ядро ​​Linux 3.2.0.4 под Debian.Плата содержит мост XR21V1410 с последовательным интерфейсом USB, который управляется драйвером Vizzini (2013 г.).

В результате это работает нормально при скорости 9600 бит / с.Однако, начиная с 19200 года, кажется, что данные отброшены.Это происходит независимо от скорости, с которой я предоставляю данные.Например, я могу регулировать скорость системы, отправляя только 1 символ / с, или 80 символов / с, данные по-прежнему сбрасываются.Я пытаюсь выяснить, где может возникнуть проблема.

Данные, которые я посылаю, представляют собой поток символов A..Z, за которым следует 0d 0a.

Диагностика с использованием двух способов чтения /dev / ttyUSB0 дают разные результаты.С minicom кажется, что данные искажены так, что они получают контрольные коды.Я предполагаю, что это потому, что minicom эмулирует VT102.

Считывание устройства raw (cat / dev / ttyUSB0), кажется, что оно иногда получает правильные символы в потоке, но не всегда.

Есть ли у кого-нибудь опыт работы с usbserial и максимально возможной скоростью передачи данных в Linux?Это первая причина, которую я хотел бы попытаться исключить.

...