黃志輝++楊寧渝
摘要:數字調頻發射器是基于數字技術的高質量廣播系統,它雖能很好地解決模擬調頻方案存在的電路體積大、調諧不方便、穩定性欠佳等弊端。但是傳統的數字調頻發射器,大多采用的是通過編碼旋鈕開關進行調頻的機械式調頻方式,這就存在頻點精度高低與調頻步長大小的矛盾關系,而且由于硬件的接觸不良還會給用戶在調頻上帶來更多的不便。基于用戶在使用數字調頻發射器的便捷以及如今藍牙手機的普及情況考慮,本文給出了基于arduino單片機的手機藍牙遙控數字調頻解決方案。通過最終的測試可以看出,用戶通過手機的藍牙技術連接arduino單片機上的藍牙模塊,可實現對數字調頻發射器進行高精度的任意頻點間的跨頻點調頻;而且還減少傳統數字調頻在調頻和顯示上面的設計成本并大大簡化了整個發射器的電路。
關鍵詞:Arduino單片機 手機藍牙遙控 數字調頻
中圖分類號:TN92 文獻標識碼:A 文章編號:1007-9416(2014)12-0103-02
0 引言
調頻廣播作為人們日常生活重要的娛樂方式,由于模擬的調制音頻廣播頻段己經飽和,導致越來越多的臨頻道和同頻道的信號干擾[1],使廣播的質量不斷惡。近幾年,隨著數字通信技和集成電路技術的快速發展,信號的數字處理技術也得到了相應的發展,數字信號處理在我們的日常生活中也發揮著重要的作用,比如在交通、教學以及醫療等領域的作用日益重要。而今,廣播的數字化發展趨勢也越來越強,數字的調頻廣播激勵器是運用數字方式來產生載波,然后進行音頻信號和載波的合成,其具有信號頻率精確、信號質量穩定、音質優良以及較低的功耗等優點,并越來越受到人們的重視[2]。然而,目前市場上數字調頻發射機因為普通采用編碼旋鈕開關或者按鍵等機械的調頻方式,故而存在頻點精度高低與調頻步長大小的矛盾關系,而且由于硬件的接觸不良還會給用戶在調頻上帶來更多的麻煩。因為設計者在給定的頻段上想要獲得更多的發射頻點就會設計更高的頻點精度,比如到0.1級的精度,但是這樣調頻步長也相應變小了,從而導致跨頻點調頻的不方便。而且由于機械調頻方式還可能存在硬件上面接觸不良的情況,所以也會給用戶在調頻時帶來沒反應甚至反向調頻的麻煩。對此,本文基于用戶在使用數字調頻發射器時的便捷以及如今藍牙手機的普及情況考慮,給出了基于arduino單片機的手機藍牙遙控數字調頻解決方案。
1 硬件結構設計與介紹
1.1 硬件結構框圖設計
本文采用的是帶有藍牙模塊的arduino單片機作為數字調頻發射器的控制器,以其為中心再分別連接內嵌有RDA5820芯片的PL102BH-20立體聲收發模塊和帶有藍牙無線通信技術的手機,并外接USB的5V電壓進行供電。具體硬件結構框圖如圖1所示。
1.2 相關硬件介紹
1.2.1 Arduino單片機與arduino藍牙模塊
Arduino是一款基于開發原始代碼的開源電子原型平臺。它具有便捷靈活、方便上手以及極好功能擴展性等優點,它使用類似Java、C語言的Processing/Wiring開發環境。Arduino的UNO版單片機,其有左右兩排串口,左排串口包括3.3V、5V的供電串口和6個模擬串口;右排主要由14個的數字串口構成。Arduino藍牙模塊,并且它的串口剛好能和Arduino單片機上的串口一一對應,便于設計者在使用Arduino其他擴展功能的時候,不改變其與其他設備的原來連接方式,有利于設計者后期對設計方案的改進和優化。
1.2.2 PL102BH-20立體聲收發模塊
“PL102BH-20”是一款內置RDA Microelectronics公司研發的RDA5820 IC的立體聲收發模塊,它是最新開發生產的一片高靈敏度、低功耗、小體積的調頻立體聲收發模塊。此模塊外圍組件少、噪聲系數極小。具有體積小(11*11)、低功耗、低成本、應用簡單、使用范圍廣等優點。是一款簡單易用且具極高性價比的單芯片FM立體聲收發模塊。最主要的是此模塊的串口模式是I2C模式,符合我們剛才在RDA5820芯片里面選用的串口模式。
PL102BH-20模塊在不減少RDA5820芯片功能的前提下已經把RDA5820的24個串口封裝成了只有10個串口,這給設計者帶來了很大方便。而且這里面的SDA和SCK串口剛好能和Arduino單片機的A4、A5兩個串口進行I2C模式的通信。
通過閱讀RDA5820芯片的設計手冊,可知配置RDA5820芯片寄存器40H的3-0這4位的CHIP_FUNC[3:0]數值(0000為FM RX,0001FM TX)來改變芯片接收和發射之間不同的工作模式;配置寄存器03H的15-6這10位的CHAN[9:0]數值來改變公式1中的CHAN參數以達到改變接受或發送頻點的目的;配置寄存器03H的3-2這2位的BAND[1:0]數值來改選擇芯片的工作頻段(00為87.0-108.0MHz,01為76.0-91.0.0MHz,10為76.0-108.0MHz);通過提取寄存器0AH的9-0這10位的READCHAN[9:0]數值,再通過公式2算出READCHAN[9:0]參數以達到獲取當前接受或發送頻點數值的目的。
1.2.3 Arduino藍牙模塊與手機的藍牙無線通信技術
藍牙是一種支持設備間短距離通信(一般10m內)的無線電技術,它能在包括PDA、無線耳機、移動電話、筆記本電腦等眾多帶有藍牙功能的設備之間進行無線的信息交換。通過藍牙技術,能夠有效地簡化不同通信設備之間的電路連接和通信,從而使數據傳輸變得更加方便和高效,為無線通信技術拓寬道路。藍牙采用的是分散式網絡結構以及快跳頻和短包技術,支持點對點和點對多點的通信,工作在全球通用的2.4GHz ISM(即工業、科學、醫學)頻段。它的數據傳輸速率為1Mb/s。采用時分雙工傳輸方案,可實現全雙工傳輸。
本設計中主要用到的是藍牙配對技術[3]和Bluetooth Serial Port協議[4]。其中配對技術指的是兩個Bluetooth設備間建立新的通信鏈路的技術。在配對過程中,將交換鏈路密鑰(在請求建立連接之前或在連接階段);而Bluetooth Serial Port的主要功能是將Bluetooth的通信轉化成Virtual Serial Port(虛擬串口)。經過這樣的轉換后,使用Bluetooth的Client程序就可以像使用串口一樣操作,即通過這個可以把Arduino單片機軟件的監控窗口轉化為手機上的顯示界面,這樣通過手機界面就可以實現對Arduino單片機進行控制和檢測的操作[5]。
2 手機藍牙數字調頻發射器的設計與實現
2.1 軟件的設計
通過上面對Arduino單片機、手機與Arduino單片機藍牙無線通信以及RDA5820芯片的學習和掌握,設計了如圖2所示的流程圖。并根據該流程圖在Arduino編程環境中進行相應代碼的編寫。
2.2 硬件的搭建
根據圖2所示流程圖,搭建如圖3所示的手機藍牙遙控數字調頻發射器的硬件結構圖。
3 手機藍牙數字調頻發射器的測試
基于前面硬件、軟件的設計與實現,把已經編好的程序燒錄到Arduino單片機中,取兩部手機(一部藍牙遙控,一部進行廣播收音)并在設計的硬件電路上進行實測。實測結果如圖4所示。
通過圖4所示的實測圖,我們可以看出通過黑色手機的藍牙軟件監控窗口,不僅可以顯示從Arduino單片機傳回來的RDA5820芯片工作頻點,而且還可以往Arduino單片機傳送一個預期頻點,讓RDA5820芯片的工作頻點直接調整到預期頻點上,達到快速高精度調頻的目的。
4 總結
通過本文的設計與實現,可以看出手機通過藍牙無線技術和Arduino的藍牙模塊進行連接通信,不僅能大大簡化整個系統的電路結果達到解決成本的目的;更為重要的是通過手機藍牙遙控功能,能很好的解決調頻精度和調頻步長之間的矛盾,也避免了因為編碼旋鈕開關接觸不良給用戶在調頻時帶來的麻煩。
參考文獻
[1]徐萬明.基于FPGA的數字調頻發射機設計[J].電腦與電信,2009(3):75-76.
[2]樊昕.基于DSP的數字調頻廣播激勵器[D].鄭州大學,2011.
[3]BluetoothSlany W. A mobile visual programming system for Android smartphones and tablets[C]//Visual Languages and Human-Centric Computing (VL/HCC), 2012 IEEE Symposium on. IEEE, 2012: 265-266.
[4]何彪,周開班.基于NFC技術的藍牙對象交換方法[J].微計算機信息,2009(6):133-134.
[5]鄭昊,鐘志峰,郭昊,許駿.基于Arduino/Android的藍牙通信系統設計.