作者:賽普拉斯半導(dǎo)體公司Gautam Das 我們正在目睹個(gè)人計(jì)算領(lǐng)域的不斷發(fā)展。手機(jī)和平板電腦等移動(dòng)設(shè)備即將取代傳統(tǒng)的電腦。調(diào)頻收音機(jī)(FM Radio)是發(fā)展中國家的一種常見娛樂方式,但這個(gè)事實(shí)往往被人們所忽略,外加因特網(wǎng)無線電的出現(xiàn),可能會(huì)導(dǎo)致 調(diào)頻收音機(jī)的消亡。OEM廠商通常不會(huì)考慮在平板電腦或移動(dòng)設(shè)備上配備調(diào)頻收音機(jī)。然而,許多大都市現(xiàn)在仍然有FM廣播電臺(tái),而且近期也不會(huì)被淘汰掉。 一種微型插件在連接到手機(jī)或平板電腦后能給這些移動(dòng)設(shè)備帶來 調(diào)頻收音機(jī)功能。這種即插即用型FM接收器采用帶微控制器或SOC的FM接收器芯片。微控制器與平板電腦/移動(dòng)設(shè)備上的USB主機(jī)進(jìn)行通信時(shí)相當(dāng)于一個(gè)USB器件,能夠接收頻道掃描、更換頻道、輸出功率設(shè)置等操作的命令。這種即插即用FM接收器配件通過總線供電,可收聽本地FM頻道,而且其耗電量遠(yuǎn)遠(yuǎn)低于移動(dòng)寬帶收音機(jī)(因特網(wǎng)收音機(jī))。 調(diào)頻收音機(jī)接收器 調(diào)頻收音機(jī)接收器芯片工作在70 MHz到108 MHz之間,能滿足全球頻段要求,支持美歐的87.5到108 MHz、日本的76到90 MHz和中國的76到108 MHz標(biāo)準(zhǔn)。通常來說,調(diào)頻收音機(jī)接收器能以50 kHz、100 kHz或200 kHz步進(jìn)的方式調(diào)諧頻率。此外,調(diào)頻收音機(jī)還支持無線電數(shù)據(jù)系統(tǒng)(RDS)/無線電廣播數(shù)據(jù)系統(tǒng)(RBDS)功能,能夠通過主機(jī)實(shí)現(xiàn)完全可編程。RDS除了用于發(fā)射音頻之外還能接收文本等信息。這些文本可能包括歌曲名稱、廣播節(jié)目名稱以及flash新聞等可供顯示的內(nèi)容。在緊急情況下,RDS還可用來發(fā)射危急信息。 頻段掃描是指FM radio芯片掃描整個(gè)FM頻段并尋找可用無線電頻道的過程。收音機(jī)將最強(qiáng)的頻道頻率存儲(chǔ)在其內(nèi)部存儲(chǔ)器中,供主機(jī)微控制器或SOC讀取。 存儲(chǔ)頻道后,可通過三種方法調(diào)諧到特定頻道: ●預(yù)設(shè)調(diào)諧:這種方法是將FM接收器的調(diào)諧頻率設(shè)置為主機(jī)定義的特定頻道。 ●搜索調(diào)諧:這種方法是讓接收器通過頻率增加(上搜)或降低(下搜)的辦法自動(dòng)搜索下一個(gè)可用的有效頻道。 ●步進(jìn)調(diào)諧:這種方法是讓接收器通過頻率序號(hào)的增加(漸進(jìn))或降低(漸降)選擇下一個(gè)頻道。 當(dāng)今大多數(shù)無線電接收器芯片都通過I2C和SPI等標(biāo)準(zhǔn)協(xié)議與主機(jī)進(jìn)行通信。此外,無線電接收器芯片還會(huì)通過生成關(guān)鍵事件中斷的方式提醒主機(jī)注意,這些事件包括: ●當(dāng)接收信號(hào)強(qiáng)度指示器(RSSI)的值降到閾值水平以下時(shí),信號(hào)質(zhì)量低; ●單聲道轉(zhuǎn)換到立體聲,或者相反; ●需要無線電數(shù)據(jù)系統(tǒng) (RDS) 同步; ●RDS同步丟失; ●RDS緩沖區(qū)已滿。 由于該嵌入式系統(tǒng)工作在由電池供電的設(shè)備上,因此高效的電源管理至關(guān)重要。無線電接收器芯片支持多種電源模式,并可由SOC控制,以延長電池使用壽命。因此,接收器芯片支持以下電源模式: ●關(guān)機(jī):在此模式中,電源關(guān)閉,所有內(nèi)部穩(wěn)壓器被禁用; ●斷電:電源開啟,但內(nèi)部穩(wěn)壓器仍然被禁用; ●待機(jī):穩(wěn)壓器可工作,保持無線電模式; ●上電:這是正常的運(yùn)行模式,所有穩(wěn)壓器被啟用且無線電全面工作。 圖1給出了FM接收器的方框圖。 ![]() 圖1:接收器的方框圖 第一階段是模擬信號(hào)處理階段,該階段負(fù)責(zé)將RF天線信號(hào)轉(zhuǎn)換為一個(gè)較低的中頻(IF)數(shù)字信號(hào)。自動(dòng)增益控制單元(AGC)將低噪聲RF放大器(LNA)保持在其線性工作范圍內(nèi)。混頻器用于將接收到的RF信號(hào)下變頻為較低的中頻(IF)信號(hào)。而ADC將信號(hào)轉(zhuǎn)換為數(shù)字格式。在數(shù)字域內(nèi)完成FM解調(diào)。此外,數(shù)字信號(hào)處理器也用于處理RDS數(shù)據(jù)。 調(diào)頻收音機(jī)配件的實(shí)施 圖2中的完整FM系統(tǒng)采用通用型FM radio芯片,其簡單實(shí)施方框圖如下所示: ![]() 圖2:系統(tǒng)方框圖 隨著現(xiàn)代可編程SOC的出現(xiàn),除了一些無源器件之外,實(shí)施完整的設(shè)計(jì)不再需要額外的外部元件。SOC可以發(fā)送命令并通過I2C端口從調(diào)FM radio芯片接收狀態(tài)信息。SOC通過已有的 USB接口與平板電腦相連。平板電腦上的前端應(yīng)用可以訪問FM radio信息,用于進(jìn)行頻道掃描和選擇。一旦FM radio接收到鎖定特定頻率的命令,它會(huì)在特定引腳上輸出模擬音頻。FM radio接收器的模擬輸出由SOC進(jìn)一步處理,得到的數(shù)字音頻會(huì)通過USB傳輸給平板電腦。FM radio芯片的工作電源由USB總線提供。大多數(shù)FM radio芯片需要的電流一般只有幾毫安,電壓甚至不到1.8V,USB總線完全能夠滿足這一需求,而且這種功耗對(duì)于便攜式設(shè)備來說完全可以接受。 在SOC中實(shí)施收音機(jī)配件需要以下資源: ●放大器 ●模數(shù)轉(zhuǎn)換器(ADC) ●通信協(xié)議(I2C/SPI) ●USB接口 ●濾波器模塊 通常來說,調(diào)頻收音機(jī)芯片輸出音頻信號(hào)的強(qiáng)度約為100mV的水平。放大器用來放大FM接收器的模擬音頻信號(hào),隨后將信號(hào)提供給SOC中的ADC。如方框圖所示,模擬音頻輸出的強(qiáng)度在通過可編程增益放大器(PGA)之后得到了加強(qiáng)。這就能確保整個(gè)ADC的輸入范圍得到了利用,從而在FM radio芯片輸出端真實(shí)地復(fù)制音頻。此外,我們也可以采用輸入范圍較窄的 ADC對(duì)信號(hào)進(jìn)行數(shù)字化。但是,信號(hào)強(qiáng)度越低,就越容易受到系統(tǒng)噪聲的影響。 模數(shù)轉(zhuǎn)換器(ADC)以44.1 kHz的頻率采樣放大器的模擬輸出,并將其轉(zhuǎn)換為16位的數(shù)字信號(hào)。采樣率設(shè)為44.1 kHz是為了滿足Nyquist原理,該原理要求采樣頻率必須至少為最大工作頻率的2倍。 通信協(xié)議:如I2C或SPI等標(biāo)準(zhǔn)協(xié)議,可用于連接SOC和FM接收器。如果使用I2C協(xié)議,則SOC將作為主機(jī),無線電接收芯片作為從機(jī),數(shù)據(jù)速率為100/400 kHz。改變頻道或掃描FM頻段的命令可由I2C主機(jī)通過I2C 總線發(fā)送給FM接收芯片。FM接收芯片能夠解碼預(yù)定義的命令,從而執(zhí)行各種任務(wù)。如果使用RDS協(xié)議,則接收的數(shù)字信息可由控制器通過I2C接口從 FM接收器讀取。我們也能讀取其它狀態(tài)信息(如FM radio接收器通過I2C接收到的信號(hào)強(qiáng)度指示(RSSI)信息),并在平板電腦或PC上顯示出來。 直接存儲(chǔ)器存取(DMA):在許多微控制器中,DMA都是一種強(qiáng)大的特性,有助于減輕存儲(chǔ)器不同位置之間的數(shù)據(jù)傳輸任務(wù),從而提高性能。DMA可用來將經(jīng)過轉(zhuǎn)換的數(shù)字信息從ADC傳輸?shù)酱鎯?chǔ)器或直接傳輸?shù)経SB,從而使CPU能夠處理其它關(guān)鍵任務(wù)。 USB:USB是主機(jī)平板電腦與SOC之間的接口。USB中斷端點(diǎn)可用來接收主機(jī)發(fā)送的各種命令,如頻道掃描、頻道加減等。請(qǐng)注意,如果命令數(shù)據(jù)比較小,那么USB設(shè)備上的控制端點(diǎn)也可用來傳輸命令。我們可以用控制端點(diǎn)來發(fā)送命令。命令可作為廠商定義的命令發(fā)送,然而在控制端點(diǎn)上,一個(gè)USB數(shù)據(jù)包最多包含8個(gè)字節(jié)的數(shù)據(jù)內(nèi)容。來自ADC的44.1 kHz數(shù)字?jǐn)?shù)據(jù)通過同步USB傳輸模式發(fā)送給主機(jī)。同步傳輸在這里是最理想的方式,原因在于它的延遲性能有保障、分配了總線帶寬并且沒有錯(cuò)誤校正和握手過程,因此能保持交付時(shí)間的一致性。請(qǐng)注意,CRC字段可以檢查錯(cuò)誤,但并不予以校正。人耳無法聽出偶然的數(shù)據(jù)錯(cuò)誤或傳輸丟失,除非是頻繁的停頓才會(huì)引起注意。由于沒有錯(cuò)誤校正,因此即便數(shù)據(jù)包有錯(cuò)誤也不會(huì)中斷數(shù)據(jù)傳輸。對(duì)于同步端點(diǎn)來說,微控制器支持的最大數(shù)據(jù)包為1023字節(jié)。 提高音質(zhì) 在移動(dòng)操作系統(tǒng)中,通常采用專用的媒體服務(wù)器或媒體引擎來播放音頻。如果用戶需要,該媒體引擎也可用來增強(qiáng)或修改音頻特性。在某些移動(dòng)處理器中,有專用的DSP硬件實(shí)現(xiàn)這一目的。使用媒體引擎或DSP會(huì)消耗額外的電量,降低性能,也可能對(duì)用戶體驗(yàn)造成不利影響。還有一種辦法是在SOC中處理音頻,然后通過USB將處理后的音頻流發(fā)送到主機(jī)(Host)平板電腦。平板電腦需要做的僅僅是播放音頻。利用SOC中的資源還能實(shí)現(xiàn)低音、高音等控制選項(xiàng),使用戶可以更加精細(xì)地控制音質(zhì)。這一功能是通過賽普拉斯PSoC 3等器件中的數(shù)字濾波器模塊(DFB)實(shí)現(xiàn)的。DFB模塊接收數(shù)字輸入數(shù)據(jù),并將處理后的數(shù)字?jǐn)?shù)據(jù)進(jìn)行輸出。在本應(yīng)用中,數(shù)據(jù)流通過DMA進(jìn)入DFB,按照音質(zhì)要求加以過濾,再通過USB發(fā)送至終端進(jìn)行播放。可通過圖形用戶界面(GUI)控制音質(zhì)。GUI提供了一個(gè)類似于音樂播放器均衡器的界面。整個(gè)音頻范圍可被分為多個(gè)分立頻段。我們通過改變GUI上的控件位置,可以向 DFB加載新的調(diào)節(jié)系數(shù),這些系數(shù)會(huì)改變每個(gè)頻段的增益,從而改變輸出音質(zhì)。 主機(jī)應(yīng)用 主機(jī)運(yùn)行一個(gè)用于控制音頻接收器的前端應(yīng)用。如果主機(jī)運(yùn)行的是Android操作系統(tǒng),則可以用標(biāo)準(zhǔn)的Java和Android庫創(chuàng)建簡單的GUI。如果是Windows平板電腦,則可以用C# GUI完成同樣的工作。用戶通過按鈕等控制對(duì)象能夠?qū)崿F(xiàn)頻道選擇、加減頻道等操作。 Windows操作系統(tǒng)中的DirectSound驅(qū)動(dòng)程序與USB的同步傳輸模式配合使用,可將音頻流傳輸?shù)綋P(yáng)聲器。這項(xiàng)功能在Windows 7操作系統(tǒng)中同樣適用。專為平板電腦設(shè)計(jì)的Windows 8 操作系統(tǒng)也支持GUI和音頻驅(qū)動(dòng)器,且無需任何變化。同步傳輸目前還無法支持Android平板電腦。Apple的iPad和少數(shù)其它iOS設(shè)備具有內(nèi)置的USB主機(jī)和同步傳輸模式,可用于音頻播放。 前端主機(jī)應(yīng)用或Windows Form應(yīng)用可根據(jù)用戶的如下請(qǐng)求生成事件: ●頻道掃描請(qǐng)求 ●頻道上調(diào)請(qǐng)求 ●頻道下調(diào)請(qǐng)求 ●從接收器請(qǐng)求接收信號(hào)強(qiáng)度指示器 (RSSI) 對(duì)于Windows而言,可在Visual Studio中利用C#開發(fā)應(yīng)用。USB設(shè)備和端點(diǎn)可通過標(biāo)準(zhǔn)庫或SOC制造商提供的定制庫來進(jìn)行訪問。庫提供了通過USB接口訪問SOC的方法和對(duì)象。我們可以創(chuàng)建Windows Form來發(fā)送命令并顯示狀態(tài)信息,如下所示。 ![]() 圖3:FM Radio GUI 可添加按鈕等控制對(duì)象,用來實(shí)施頻道掃描、下一頻道、上一頻道和音量控制等各種不同操作。除此之外,還可以將數(shù)字音頻錄制為.WAV文件。也可以針對(duì)Android操作系統(tǒng)和 Apple的iOS開發(fā)類似應(yīng)用。 PSoC 3等現(xiàn)代SOC可以通過單芯片的方式實(shí)現(xiàn)即插即用型調(diào)頻收音機(jī)配件。模擬音頻放大、數(shù)字化、濾波、向主機(jī)傳輸音頻流以及控制FM接收器等操作都能得到高效處理。當(dāng)不工作時(shí),這種由總線供電的設(shè)備可以使FM接收器和SOC在待機(jī)和斷電等低功耗模式下運(yùn)行,因此它在平板電腦等電池供電的主機(jī)中使用時(shí)具有很高的能效。平板電腦的時(shí)代已然開啟,這種微型配件將利用計(jì)算設(shè)備中的已有資源實(shí)現(xiàn)巨大價(jià)值。 |