• nRF24L01P数据传输速率


    项目要用nRF24L01P做语音的传输,数据量可想而知。

    发送端按照8KHz/s采样率,每次采样双声道,16位深度(2Bytes)。

    数据量算一下就是8000x2x2=32000(Bytes)

    nRF24L01一包数据量最大32字节那么1s需要传输1000包。平均1ms一包。

    这个速度肯定是能达到,我关心的是最大能传输多大的数据量,才能决定能不能用更高的采样率。

     

     

    查找nRF24L01数据手册

     

    TOA根据每包的数据长度而不同,最大是32字节。如下表

    TOA=数据包长度/空中传输速率=(8*(1+3(地址长度最短3字节)+32(数据)+2(校验位))+9)/2000000=152.5us

    TUL=数据长度/SPI速度 (最大9MHz/s) = 32/9000000 ≈ 3.6us

    那么一包的时间呢

    TESB=TUL+2.Tstdby2a+TOA+TIRQ=3.55+2*130+152.5+6 =422.1us

    那么每秒传输1/0.0004221≈2369包,数据量达到2369*32=75808(Bytes)

    这应该就是最快速度了,当然达到最快速度可能还是有难度的。

    11.025KHz/s采样率11025x2x2 = 44100(Bytes)  16KHz/s采样率16000x2x2 = 64000(Bytes)  

    22.050KHz采样率22050x2x2 = 88200(Bytes)  32KHz采样率32000x2x2 = 128000(Bytes)

    这样很明显就能看到,达不到22.050KHz采样率的传输要求,但是达到了16KHz的要求了。

    怎么样才能达到最大速度呢???

    nRF24L01有三个缓冲区怎么使用呢?

     

     

     

  • 相关阅读:
    linux报错-bash: ./xx.sh: Permission denied
    shell脚本报错:-bash: xxx: /bin/bash^M: bad interpreter: No such file or directory
    点灯
    笑话
    bzoj 4898: [Apio2017]商旅
    bzoj 4446: [Scoi2015]小凸玩密室
    bzoj 4237: 稻草人
    idea
    springmvc集成swagger实现接口文档自动化生成
    基本的内存泄漏的解释
  • 原文地址:https://www.cnblogs.com/IdeaMing/p/9555615.html
Copyright © 2020-2023  润新知