Предпосылки этого следующие: у меня есть плата 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?Это первая причина, которую я хотел бы попытаться исключить.