Velocidad de datos / rendimiento
Hablando de Bluetooth, hay una gran diferencia entre "Velocidad de datos" (1 MBit / s) y "Rendimiento" real (que puede ser solo 1/10 de eso). La transferencia de datos solo ocurre durante intervalos periódicos, no continuamente. La capa física de BT no es comparable a una conexión de cable.
Además, hay cierta sobrecarga de protocolo y cierta cantidad de tiempo de postprocesamiento / preprocesamiento para cada paquete.
Con respecto a las especificaciones de la hoja de datos:
- 11k bps (BR / EDR) @ La velocidad en baudios de UART es de 115200 bps
- La velocidad en baudios de UART a 8 Kbps (LE) es de 115200 bps
Esto es ligeramente irritante con respecto a las unidades. Estoy bastante seguro (también corresponde con los valores de la hoja de datos TABLA 10‐2) de que significan 11k Byte / sy 8k Byte / s para Bluetooth EDR (mejorado velocidad de datos) y Bluetooth LE (baja energía) respectivamente.
¿Por qué la indicación de velocidad de transmisión de UART?
El encuadre UART más común (8N1) utiliza 2 bits por sobrecarga de bytes de datos (bit de inicio y de parada).
Entonces, usando 115200 baudios, el rendimiento real es de solo 92160 bps o 11520 Byte / s. Esto corresponde a los 11kB / s antes mencionados. Entonces, al usar Bluetooth EDR @ 115200 UART, ¡el UART es el factor limitante!
Mirando la tabla "TABLA 10‐2: Informe de rendimiento del modo APP" de la hoja de datos, el rendimiento es mayor cuando se utiliza una mayor velocidad en baudios de UART. A velocidades de transmisión más altas, la conexión Bluetooth es el factor limitante.
Prácticamente no hay mejoras (no puedo explicar por qué hay siquiera una) cuando se utiliza una velocidad de transmisión más alta para Bluetooth LE, porque ya está operando en su límite con 115200 baudios UART.