项目要用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有三个缓冲区怎么使用呢?

最新文章

  1. Javascript基础知识总结一
  2. JavaScript学习笔记——运算符和表达式
  3. 第十章 Vim程序编辑器学习(下)
  4. 安装pdo.so和pdo_mysql.so还有pcntl.so扩展到php中
  5. (摘抄)HTTP 协议详解
  6. python num[y array
  7. dragsort拖动插件的使用
  8. LFI漏洞利用总结(转载)
  9. InstallShield 版本转换
  10. (转)java 23种设计模式
  11. Docker环境下如何安装Zookeeper
  12. 3步轻松搭建Unity3d安卓开发环境
  13. JSP/Servlet Web 学习笔记 DayTwo
  14. hdu2413(二分+二分匹配)
  15. 关于Linux虚拟化技术KVM的科普 科普四(From humjb_1983)
  16. LaTeX 中使两张表格并排
  17. django面试三
  18. Nginx隐藏主机信息,proxy_hide_header 与fastcgi_hide_header
  19. 第六周课上测试-1-ch02
  20. Alpha阶段敏捷冲刺⑤

热门文章

  1. learning java 使用WatchService监控文件变化
  2. Python爬虫 | IP池的使用
  3. Prisma 2 is Coming Soon
  4. 第12组 Beta版本演示
  5. Js 之正则验证手机号、QQ、身份证等
  6. debian10使用国内源安装docker以及一些使用方法
  7. 如何在IDEA上配置Maven
  8. Weblogic部署web项目获取项目根目录为null
  9. freemarker null异常详解及兼容模式
  10. USB安装ESXi出错,menu.c32 not a com32r image