Странная проблема в UART (через адаптер FTDI USB - RS232)

Я пытаюсь установить высокоскоростное соединение UART. Поскольку ttyAMA0 не очень хорош в 1+ Mbaud, вместо этого решил использовать адаптер FTDI (на основе чипа FT232RL).

Я протестировал адаптер на своем ноутбуке под управлением Debian 8 и достиг стабильной скорости передачи в 3 Мбод (с cat *> /dev /ttyUSB0). Затем подключил его к Pi2, делая то же самое, и заметил это:

(при 3 Мбод) введите описание изображения здесь

(при 1 Мбод) введите описание изображения здесь

В промежутках с регулярными интервалами имеются широкие промежутки времени (до 1 секунды при 3 Мбо). Передача данных не повреждена, просто отложена. Любое предложение о том, как преодолеть проблему? Спасибо.

3 голоса | спросил Alexey918331 16 12015vEurope/Moscow11bEurope/MoscowMon, 16 Nov 2015 13:22:05 +0300 2015, 13:22:05

1 ответ


3

решаемые

Проблема была в USB-драйвере RPi.

Ответ от разработчика:

  

При высоких скоростях передачи вы можете столкнуться с порогом дроссельной заслонки USB NAK для исходящих данных - у нас есть грубый механизм, который позволяет помешать устройствам FTDI создавать прерывистые штормы, которые блокируют процессор в течение длительного периода времени. Вероятно, вы можете жить с увеличенной частотой прерываний на Pi2, которая возникает из-за уменьшения интервала дроссельной заслонки.

После отключения NAK holdoff (добавив dwc_otg.nak_holdoff=1 в /boot/cmdline.txt), он отлично работает на 3 Мбод.

ответил Alexey918331 24 22015vEurope/Moscow11bEurope/MoscowTue, 24 Nov 2015 13:34:59 +0300 2015, 13:34:59

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132