摘要:采用nRF24Z1無線射頻芯片對電視機頂盒的數字音頻S/PDIF信號進行無線發(fā)送與接收。該方案根據實際應用環(huán)境設計電路,并采用PIC18系列單片機分別對發(fā)送端和接收端射頻芯片及接收端的D/A轉換芯片進行配置,并設計按鍵控制其音量的增減。實驗表明,該方案能夠實時接收機頂盒音頻,且在室內收聽時音質較好。
引言
模擬音頻受外界影響較大,穩(wěn)定性差。因此數字音頻漸漸取代模擬音頻成為現代音頻的主要形式。數字音頻信號直接從機頂盒輸出,不在內部進行D/A轉換,并將數字音頻進行無線轉發(fā),在接收端進行D/A轉換,可避免音頻布線的影響以及音頻線上音質的損耗。這種方法可有效地減少機頂盒內部的干擾,并保證較好的音質。
2.4 GHz數字高速射頻技術是目前較為成熟的音頻應用無線技術。其抗干擾性強、傳輸距離遠,并且采用完全開放式的網絡協(xié)議。nRF24 Z1無線射頻芯片工作于2.4 GHz,通信速率高達4 Mbps,實際音頻數據傳輸率為1.54 Mbps,且具有S/PDIF數字音頻信號接口。本方案從機頂盒直接提取數字音頻S/PDIF信號,保證了較好的音質;通過nRF24Z1無線射頻芯片進行發(fā)送和接收,保證了音頻無損無線傳輸。
1 系統(tǒng)總體方案設計
機頂盒數字音頻無線轉發(fā)系統(tǒng)的總體結構框圖如圖1所示。系統(tǒng)主要由數字音頻信號的提取與傳輸、數字音頻無線發(fā)送、數字音頻無線接收三部分組成。大部分的機頂盒都具有數字音頻S/PDIF輸出接口,且一般采用同軸線輸出。射頻芯片nRF24Z1既可用在音源端發(fā)送音頻數據,也可用在接收端接收音頻數據。采用PIC18系列單片機配置射頻芯片相應的寄存器,實現數字音頻無線發(fā)送與接收。nRF24Z1芯片經過內部處理后輸出I2S數字音頻信號,送至數模轉換芯片以及外圍電路處理,實現模擬接收。同時,采用單片機控制音量的增減。
2 無線射頻芯片功能分析
nRF24Z1是Nordic公司推出的單片式CD音質數字音頻芯片,無線音頻傳輸速率高達48KspS,16位,無需任何壓縮。它工作在全球通用的2.4 GHz頻段,以極低的成本提供高性能和高集成度的解決方案;具有I2S和S/PDIF數字音頻接口,方便與ADC/DAC直接連接,或者與具有數字音頻輸出口的設備直接相連。由于所有與音頻I/O、RF協(xié)議和RF鏈路管理的有關功能已經嵌入到芯片內部,芯片提供透明的1.54 Mbps的音頻通道,而不需要額外的時間處理。
3 數字音頻信號的提取及接口電路
大部分的機頂盒都具有S/PDIF同軸輸出口。對于不具有S/PDIF直接輸出接口的機頂盒,可以自己增加S/PDIF光纖/同軸輸出接口。對于不同的機頂盒采用不同的加裝方法:
①MPEG-2解碼芯片有S/PDIF輸出腳的機頂盒,將S/PDIF輸出信號引出,送到緩沖放大器和同軸RCA端子就可以輸出數字S/PDIF信號。
②對于只有I2S輸出的MPEG-2解碼芯片,將I2S的DATA、BCLK和LRCK信號送入PCM/SPDIF轉換的芯片,以S/PDIF形式輸出,并加上轉換電路即可實現S/PDIF信號的提取。
S/PDIF同軸線傳輸的信號合并了數據和時鐘信號,頻率高且具有尖銳的邊緣特性。同軸線具有75 Ω的特性阻抗,并且輸出的S/PDIF信號電壓只有0.5 Vpp,不能直接連接CMOS芯片。所以要將輸出的S/PDIF信號通過電平轉換,使其能夠直接輸入到nRF24Z1芯片的S/PDIF輸入引腳。電平轉換電路如圖2所示。
S/PDIF信號經過前端電路將電壓抬高,然后通過74HC04反相放大器放大至TTL電平,但此時輸出的信號是反相的,所以將其再經過74HC 04的另一組反相端口,將信號再反相回來。注意要將74HC04的14和7引腳分別接到+3.3V和地上,使電路正常工作;S/PDIF信號達到了nRF24 Z1的工作電壓,可直接使用。
4 數字音頻信號的無線發(fā)送
nRF24Z1可工作于發(fā)送模式或接收模式。當Mode引腳接高電平時為發(fā)送模式,發(fā)送音頻數據;接低電平時,則接收音頻數據。nRF24Z1芯片的發(fā)送端和接收端分別采用MCU進行控制。
PIC18系列單片機是Microchip公司推出的增強型8位單片機,具有高性能的RISC結構CPU、精簡指令集和多種中斷方式,且執(zhí)行速度快、程序存儲器和數據存儲器容量大、功能強。此外,具有最大64 KB可尋址的線性程序存儲空間和最大3 936寧節(jié)的可尋址的線性數據存儲空間。因此選用PIC18系列單片機來控制nRF24Z1芯片。
nRF24Z1具有串行主接口和串行從接口。如果選擇串行主接口,則由nRF24Z1控制單片機運作。為了方便功能的增加,選擇nRF24Z1的串行從接口,采用I2C總線通信模式。將PIC18F46K20的RC3和RC4引腳分別接nRF24Z1的SSCL和SSDA引腳,并采用模擬I2C總線通信的方法實現連接。I2C總線通信模式連接成功后,由I2C總線向nRF24Z1寫入相應的寄存器配置值,令其啟動。
nRF24Z1的ATX端接入+5 V直流電源,ARX端接上+3 V電壓后,nRF24Z1執(zhí)行上電復位。上電后,單片機先完成自身的初始化配置,并完成nRF24Z1相應寄存器的初始化配置。nRF24Z1發(fā)送端初始化配置如表1所列。
初始化配置完成后,ATX和ARX間將進行射頻鏈路的初始化,嘗試建立通信鏈路。ATX在有效頻段內探訪具有正確ID的ARX單元,通過在所有可能的頻道上發(fā)送短的搜索包來試圖與ARX建立鏈接,直到收到來自ARX的應答包。ATX在每個頻道上發(fā)送一個包,并等待一定的時間以確定是否有應答。而ARX也在所有可用的頻道上監(jiān)聽搜索包來試圖與ATX建立鏈接。當收到一個搜索包時,ARX將回送一個應答包來確認一個可用的鏈接。鏈路建立后,發(fā)射模塊給接收模塊發(fā)送私密地址,接收模塊將配置私密的地址,然后返回應答信號。鏈路建立后音頻序列將通過nRF24 Z1以數據包的形式發(fā)送出去,配對的接收端收到音頻序列后再進行相應的處理。
5 數字音頻信號的無線接收
nRF24Z1的Mode腳接低電平,處于音頻接收模式。同樣采用PIC18系列單片機控制nRF24Z1芯片,音頻接收機的配置和控制數據通過I2C接口輸入。nRF24Z1接收端初始化配置如表2所列。
為了實現滿意的音頻質量,采用QoS機制。自適應跳頻是集成的一部分。自適應跳頻算法所使用的頻率由38個頻率寄存器所指定。發(fā)送端和接收端所使用的丁作頻率根據時間和空中出現的噪聲而進行改變。跳頻序列也由連續(xù)寄存器CH0~CH37指定。因此在初始化配置時,發(fā)送端和接收端設置同一基本跳頻序列,這樣也可以使建鏈時間最短。
接收端收到數字音頻無線信號后,可分別通過S/PDIF或I2S接口輸出音頻信號。本文采用I2S接口輸出,并選用WM8711BL的DAC芯片進行數模轉換,輸出模擬音頻并用耳機接收。WM8711BL芯片具有I2C總線接口,采用PIC18系列單片機對其相應的寄存器地址進行初始化配置。WM8711BL初始化配置如表3所列。
DAC芯片將數字音頻轉變?yōu)樽笥衣暤赖哪M音頻,實現相應的模擬接收。此時輸出的音量為固定值,為了控制音量的增減,設置兩個開關按鍵,通過PIC18系列單片機PD0和PD1口進行控制。
為了能夠節(jié)省電量的損耗,平時讓射頻芯片處于掉電模式,通過中斷喚醒或定時器喚醒功能使其恢復工作狀態(tài)。
結語
本文介紹了如何將機頂盒音頻信號通過nRF24Z1射頻芯片實現數字音頻無線傳輸。采用PIC18系統(tǒng)單片機進行配置,處理速度快。整個系統(tǒng)傳輸速率高、體積小、攜帶方便,且通信距離遠,可廣泛用于無線耳機、無線音響等產品中。
作者:嚴芳 林東 來源:《單片機與嵌入式系統(tǒng)》
免責聲明:本文僅代表作者個人觀點,與C114中國通信網無關。其原創(chuàng)性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。