Tasa de datos / rendimiento
Hablando de Bluetooth, hay una gran diferencia entre la "tasa de datos" (1MBit/s) y el "rendimiento" real (que puede ser sólo 1/10 de eso). La transferencia de datos sólo se produce durante intervalos periódicos, no de forma continua. La capa física de BT no es comparable a una conexión por cable.
Además, hay una cierta sobrecarga de protocolo y una cierta cantidad de tiempo de posprocesamiento/preprocesamiento para cada paquete.
En cuanto a las especificaciones de la hoja de datos:
- 11k bps (BR/EDR)@ UART baud Rate es 115200 bps
- 8 Kbps (LE) La tasa de baudios de la UART es de 115200 bps
Esto es ligeramente irritante con respecto a las unidades. Estoy bastante seguro (también se corresponde con los valores de la hoja de datos TABLE 102) de que esos significan 11k Byte /s y 8k Byte /s para Bluetooth EDR (velocidad de datos mejorada) y Bluetooth LE (baja energía) respectivamente.
¿Por qué la indicación de la tasa de baudios de la UART?
La trama UART más común (8N1) utiliza una sobrecarga de 2 bits por byte de datos (bits de inicio y de parada).
Por lo tanto, utilizando 115200 baudios, el rendimiento real es de sólo 92160 bps o 11520 Byte/s. Esto corresponde a los 11kB/s mencionados anteriormente. Así que cuando se utiliza Bluetooth EDR @115200 UART, ¡la UART es el factor limitante!
Mirando la tabla "TABLA 102: Informe de rendimiento del modo APP" de la hoja de datos, el rendimiento es mayor cuando se utiliza una tasa de baudios UART más alta. A velocidades de transmisión más altas, la conexión Bluetooth es el factor limitante.
No hay prácticamente ninguna mejora (no me explico por qué la hay) al utilizar una velocidad de transmisión más alta para el Bluetooth LE, porque ya está operando en su límite con la UART de 115200 baudios.