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有三個緩沖區怎么使用呢?

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM