調頻廣播(FM)一直在人們的娛樂生活中占有非常重要的地位,廣大從事消費電子設計的廠商都在諸如MP3、智能手機、PDA等產品中嵌入FM部分。而RDS數據廣播系統(Radio Data System)正是利用調頻立體聲中的副載波,在傳輸音頻節(jié)目的同時為用戶提供各種數據信息服務,如廣播節(jié)目單,緊急通告,道路交通信息。盡管國內除了臺灣香港之外很少有帶有RDS功能的電臺,但這項技術在國外發(fā)展得卻相當成熟,而且需求也在不斷的猛增,本文所介紹的模塊正是基于這方面的應用,為車載音響系統提供調頻接收和RDS信息服務,下面主要介紹調頻模塊的設計及音頻處理和RDS數據的處理。
1 S14730/31外圍電路設計
S14730/31是工業(yè)上最早的高集成度的CMOSAF/FM收音接收芯片。因為S1473X內置DSP的先進數字低中頻構架,僅需少數幾個外圍元件,且無需人工調校,便能實現從天線輸入到音頻輸出的所有AM/FM接收功能。該模塊不僅體積小,質量輕,而且支持多種串行控制方式,所以特別適用于車載音響及其他小型的便攜設備中。S14730/31是一種多功能的解決方案,它的主要功能包括:先進的自動搜臺算法;靜音功能;自動校準數字調頻;FM立體聲處理;供模擬和數字語音輸出。
由于S1473X把天線輸入至音頻輸出的所有功能全部集成于單個芯片上使得以S1473X為核心的收音機電路設計過程變得簡單。S1473X的外圍電路如圖1所示。
注意事項:
(1)所有的地線都要與PCB板上的地直接相連。
(2)管腳1和20,沒有連接,懸空。
(3)管腳2與FM的天線接口相連,管腳4與AM的天線接口相連。
(4)S14730/31要盡可能放置在天線附近,讓AMI和FMI兩個管腳的路徑盡可能短。
2 RDS數據廣播系統介紹
RDS(Radio Data System)數據廣播系統是近幾年來出現在無線廣播領域的一項高新技術。它利用現有的調頻設備把一些非聲音數據的額外數據通過調制后加載到調頻立體聲信道的附加信道上,這樣,在這些多增加的數據的基礎上,RDS數據廣播系統就擁有了處理數據、文字、符號和信息的能力,能用于交通信息廣播,廣播尋呼、背景音樂,具有可大面積組網,可靠性高等顯著特點,基于RDS方案將會顯示出越來越多的技術優(yōu)越性。
2.1 RDS廣播信號
調頻自動搜索技術的實現要以RDS數據源即RDS廣播數據為背景條件,也就是需要當地廣播系統的支持。RDS接收機的調頻波段在87.5~108.0 MHz范圍,相鄰電臺波段間隔至少100 kHz,在57 kHz上加載上副載波數據。數據內容包括電臺類型、節(jié)目類型、交通公告、標準時間、天氣預告等,同時提供了開放式接口,為特殊用戶提供數據文本應用通道。RDS廣播技術的實質是利用調頻立體聲(FM)廣播的副載波攜帶數據信息的一種工作方式。RDS數據經過FSK調制,成為載波為57 kHz的RDS數據信號,RDS的數據信號和電臺本身播放的聲音信號混合,成為復合信號,然后經過FM調制進行發(fā)送。
2.2 RDS常用功能簡介
PI(Program Identification):是一個16位的二進制數,它表明一種電臺的發(fā)射,如果收音機發(fā)現有兩個發(fā)射機使用同一代碼,可以認為兩者發(fā)射的節(jié)目是相同的。于是收音機可以依據信號較強和質量較好來決定使用哪一個發(fā)射臺。
PS(Program Servicename):是一個八個字符的字符串,用來識別正在接受的電臺。PI碼只能由機器讀出,而PS則設計成讓聽眾看見,知道當前收聽的是哪一個電臺。
PTY(Program Type Code):用來確認當前節(jié)目屬于RDS標準中制定的32種節(jié)目類型中的哪一類節(jié)目,例如新聞,時事,天氣,兒童節(jié)目等。
TP(Traffic Program Identification):帶交通節(jié)目信息的電臺識別,TP只有一位。它表明正在收聽到電臺,實際上是正在收聽到節(jié)目中可能要發(fā)布交通、旅游通告。汽車駕駛員在不熟悉的地區(qū)可以利用它作為尋找交通信息及旅游新聞的辦法。
RT(Radio Text):用于顯示正在播放的節(jié)目的相關信息,例如當前播放歌曲的名字,演唱者等,類似于CD/MP3的附加信息。
RT+(Radio Text Plus):是RT的擴張功能,也是RDS2009年修訂的新標準中增加的新功能。主要用于顯示歌曲演唱者等一些細節(jié)追蹤,滾動新聞標題,當前廣播電臺的一些信息,比如電臺的網址,熱線電話等。RT+向下與RT完全兼容。
2.3 RDS的數據格式
RDS信號發(fā)送是遵循一種內部協議的,該協議規(guī)定了RDS數據的具體格式及其相應的含義。從信號發(fā)送角度看,每8個字節(jié)的數據被稱為一個數據包,它是信號發(fā)送的最基本單位。一種類型的數據包稱之為一種group,group類型有group 0A,group 0B,group1A,group 1B,…,group 15A,group 15B共32種。
1 group=4 block=104 b
1 block=16 b data+10 b校驗位
從數據內容含義角度,RDS數據被成套分組分節(jié)的組織在一起。每組數據與發(fā)送角度的數據包概念相對應,也是由8個字節(jié)數據組成。但一套RDS數據中每組數據都各不相同,內容上各自有不同的特定含義。再往下,每組RDS數據內又分為4個節(jié)的數據,每節(jié)占兩個字節(jié),不同節(jié)也有各自不相同的特定含義。一定數量組的RDS數據結合在一起,形成一套完整的RDS數據。隨著時間的推移,播放節(jié)目的跟進,相鄰套RDS數據的具體內容可能會有所變化,但內容性質都是固定而統一不變的。圖2是RDS數據各個塊及具體位的定義。
其中:A3~A0表示數據組的編號,大小從0~15;B0表示數據組的版本類型,分A和B兩種;PI code表示電臺的惟一標識,每一組數據組都包含PI code;TP表示當前電臺是否包含交通信息;PT4~PT0共5位,用于顯示當前的節(jié)目類型;checkword+offset A,B,C,D是10 b的校驗位加偏移量,用于數據同步和錯誤校驗。
3 RDS功能的軟件實現
本文討論通過車載常用芯片S1473X來實現RDS的接收功能。由于S1473X內置數字信號處理器,具有RDS數據的解碼功能,不需要再配備單獨的解碼芯片,也免去了軟件編程中控制數據同步及錯誤校驗等工作,只通過發(fā)送指令,讀取指令的返回值,便能輕松完成。下面先熟悉S14 73X的指令格式。
3.1 S1473X的指令格式
S1473X通過指令和響應與系統控制器進行信息交換,為了執(zhí)行某個動作,系統控制器發(fā)送一個字節(jié)的指令和若干個字節(jié)的相關參數。S1 473x執(zhí)行相應的動作并根據命令的類型返回對應的狀態(tài)字節(jié)和若干個響應字節(jié)。S1473X的完整控制過程依次由下面4個部分組成:
命令CMD:由主控制器發(fā)送,用來控制S1473X的行為,如上電、掉電或調諧到指定的頻率上;
參數ARG:由主控制器發(fā)送,是描述命令的參數,用來進一步指定命令的具體行為。如調諧到指定頻率的命令,其參數包含了指定的頻率;
狀態(tài)STATUS:由S1473X返回,每一條命令都有1 B的狀態(tài)返回,用來指示該命令的執(zhí)行情況。如中斷狀態(tài),是否準備就緒等;
響應RESP:由S1473X返回,當控制器發(fā)送的是讀取數據的命令時,由S1473X返回讀取的內容。例如FM_RDS_STATUS,讀取的就是RDS的數據狀態(tài)。
3.2 RDS功能的實現
通過發(fā)送命令0X24,也即函數FM-RDS_STATUS來獲取當前頻道的RDS信息,并從RDS堆棧中讀取一個空值。其中RDS的信息包括同步狀態(tài)標志位、堆棧狀態(tài)標志位、整個群組的信息(塊A,B,C,D)和每塊傳遞的錯誤信息。另外屬性命令0X1500,RDS_INT_SOURCE負責與RDS有關的中斷配置。屬性命令0X1501,RDS_INT_FIFO_COUNT負責設置在RDSRECV標志位置1之前,RDS堆棧中存放RDS群組數據的最小值。因為有些RDS的功能顯示,比如顯示電臺節(jié)目名稱,歌曲名等信息,需要幾組的RDS群組數據才能傳送完畢,所以RDS堆棧必須要有一定的存儲能力,才能將信息完整地顯示。整個RDS功能實現的流程如圖3所示。
4 結語
最近幾年我國像手機、MP3,PDA等提供信息服務功能的終端發(fā)展越來越快,功能也趨向一體化,集多種信息服務功能為一體的智能終端是這些便攜式設備的發(fā)展方向,很多消費者希望在他們的掌上產品中增加FM功能,而RDS等數據廣播業(yè)務由于是利用現有覆蓋面很廣的廣播網絡,網絡建設投入很少,而且很多調頻芯片已經集成了RDS解碼功能,所以RDS功能的實現變得簡單易行。相信FM+RDS一定會有更加廣泛的應用。