Su problema es casi seguro que no se debe al hardware. USB utiliza tasas de bits fijas. La velocidad de bits en la línea debe ser de 12.000 Mbps +/- 0.25%, independientemente de la cantidad de datos que transmita. Si su velocidad de bits fuera incorrecta, no podría enviar ningún dato y verá mensajes de error en Windows. El TM4C123 tiene un PLL separado solo para el módulo USB. Aquí hay parte de un diagrama de bloques de la hoja de datos :
A nivel de protocolo, asegúrese de que está utilizando puntos finales a granel para transferir datos, y trate de no tener otros dispositivos conectados a ese controlador en el lado de la PC. Puedes ver esto en la vista de conexión del Administrador de dispositivos. Esto permitirá un máximo de 19 paquetes de 64 bytes por trama (milisegundos), lo que da 1216 kilobytes / segundo de datos de la aplicación. Esta es la velocidad de datos real más rápida posible para USB de máxima velocidad.
Hay dos posibles cuellos de botella de software en su sistema. El primero está en el lado MCU. Si no hay datos disponibles cuando el host (PC) envía un paquete IN, la MCU no funcionará y el host intentará más tarde. Si su MCU está ocupada haciendo otras cosas, puede tardar mucho tiempo en entrar en la interrupción USB. La forma más fácil de detectar esto es mediante el uso de un analizador de bus. Le costará varios cientos de dólares para el hardware, pero puede ahorrarle muchos dolores de cabeza a largo plazo. Me gustan los analizadores de Teledyne-LeCroy, personalmente.
El otro posible cuello de botella está en el lado de la PC. Por alguna razón, a Windows no le gusta maximizar el ancho de banda del USB. El uso de múltiples puntos finales con transferencias asíncronas que se ejecutan en paralelo funciona bien. Si solo tiene un flujo de datos, intente solicitar muchos más datos de los que necesita cuando configura la transferencia. Una vez más, un analizador de bus puede decirle lo que está pasando. También puede obtener información útil de un analizador de software USB que se ejecuta en la PC, pero nunca lo he probado.