Problema extraño en Raspberry Pi UART (con FTDI USB - adaptador RS-232)

1

Estoy tratando de establecer una comunicación UART de alta velocidad en la placa Raspberry Pi. Como el UART interno no es muy bueno en 1+ Mbaud, decidió usar el adaptador FTDI (basado en el chip FT232RL).

He probado un adaptador en mi computadora portátil con Debian 8 y alcancé una velocidad de transmisión estable a 3 Mbaudios (con un cat * > > / dev / ttyUSB0). Luego lo conecté a Pi2 haciendo exactamente lo mismo, y noté esto:

(a 3 Mbaudios)

(a1Mbaud)

Hay intervalos amplios (hasta 1 segundo a 3 Mbaudios) en la transmisión a intervalos de tiempo regulares. La transmisión de datos no está dañada, solo retrasada. ¿Alguna sugerencia sobre cómo superar un problema? Gracias.

    
pregunta Alexey918331

2 respuestas

0

Resuelto

El problema estaba en el controlador USB de RPi.

Respuesta del desarrollador:

  

A velocidades de transmisión elevadas, puede alcanzar el umbral de aceleración de paquetes NAK de USB en los datos salientes. Tenemos un mecanismo básico implementado para evitar que los dispositivos FTDI causen tormentas de interrupción que bloquean la CPU durante períodos prolongados de tiempo. Probablemente pueda vivir con la mayor tasa de interrupción en un Pi2 que proviene de reducir el intervalo del acelerador.

Después de deshabilitar la retención NAK (al agregar dwc_otg.nak_holdoff=1 a /boot/cmdline.txt ), funciona perfectamente a 3 Mbaud.

    
respondido por el Alexey918331
1

El RPi tiene solo un Bus USB. Un segundo espacio largo podría ser muy raro, pero los vería si su fuente de datos para cat * usa el mismo bus USB para transferir datos a el RPi al mismo tiempo. tiempo.

Algo con mas buffer como dd if=/dev/zero of=/dev/ttyUSB0 bs=1M debería mostrar menos espacios, a menos que haya más dispositivos USB activos.

    
respondido por el Turbo J

Lea otras preguntas en las etiquetas