基于S1473X的RDS功能設(shè)計及其在車載多媒體中的實現(xiàn)
2.3 RDS的數(shù)據(jù)格式
RDS信號發(fā)送是遵循一種內(nèi)部協(xié)議的,該協(xié)議規(guī)定了RDS數(shù)據(jù)的具體格式及其相應(yīng)的含義。從信號發(fā)送角度看,每8個字節(jié)的數(shù)據(jù)被稱為一個數(shù)據(jù)包,它是信號發(fā)送的最基本單位。一種類型的數(shù)據(jù)包稱之為一種group,group類型有g(shù)roup 0A,group 0B,group1A,group 1B,…,group 15A,group 15B共32種。
1 group=4 block=104 b
1 block=16 b data+10 b校驗位
從數(shù)據(jù)內(nèi)容含義角度,RDS數(shù)據(jù)被成套分組分節(jié)的組織在一起。每組數(shù)據(jù)與發(fā)送角度的數(shù)據(jù)包概念相對應(yīng),也是由8個字節(jié)數(shù)據(jù)組成。但一套RDS數(shù)據(jù)中每組數(shù)據(jù)都各不相同,內(nèi)容上各自有不同的特定含義。再往下,每組RDS數(shù)據(jù)內(nèi)又分為4個節(jié)的數(shù)據(jù),每節(jié)占兩個字節(jié),不同節(jié)也有各自不相同的特定含義。一定數(shù)量組的RDS數(shù)據(jù)結(jié)合在一起,形成一套完整的RDS數(shù)據(jù)。隨著時間的推移,播放節(jié)目的跟進,相鄰套RDS數(shù)據(jù)的具體內(nèi)容可能會有所變化,但內(nèi)容性質(zhì)都是固定而統(tǒng)一不變的。圖2是RDS數(shù)據(jù)各個塊及具體位的定義。
其中:A3~A0表示數(shù)據(jù)組的編號,大小從0~15;B0表示數(shù)據(jù)組的版本類型,分A和B兩種;PI code表示電臺的惟一標(biāo)識,每一組數(shù)據(jù)組都包含PI code;TP表示當(dāng)前電臺是否包含交通信息;PT4~PT0共5位,用于顯示當(dāng)前的節(jié)目類型;checkword+offset A,B,C,D是10 b的校驗位加偏移量,用于數(shù)據(jù)同步和錯誤校驗。
3 RDS功能的軟件實現(xiàn)
本文討論通過車載常用芯片S1473X來實現(xiàn)RDS的接收功能。由于S1473X內(nèi)置數(shù)字信號處理器,具有RDS數(shù)據(jù)的解碼功能,不需要再配備單獨的解碼芯片,也免去了軟件編程中控制數(shù)據(jù)同步及錯誤校驗等工作,只通過發(fā)送指令,讀取指令的返回值,便能輕松完成。下面先熟悉S14 73X的指令格式。
3.1 S1473X的指令格式
S1473X通過指令和響應(yīng)與系統(tǒng)控制器進行信息交換,為了執(zhí)行某個動作,系統(tǒng)控制器發(fā)送一個字節(jié)的指令和若干個字節(jié)的相關(guān)參數(shù)。S1 473x執(zhí)行相應(yīng)的動作并根據(jù)命令的類型返回對應(yīng)的狀態(tài)字節(jié)和若干個響應(yīng)字節(jié)。S1473X的完整控制過程依次由下面4個部分組成:
命令CMD:由主控制器發(fā)送,用來控制S1473X的行為,如上電、掉電或調(diào)諧到指定的頻率上;
參數(shù)ARG:由主控制器發(fā)送,是描述命令的參數(shù),用來進一步指定命令的具體行為。如調(diào)諧到指定頻率的命令,其參數(shù)包含了指定的頻率;
狀態(tài)STATUS:由S1473X返回,每一條命令都有1 B的狀態(tài)返回,用來指示該命令的執(zhí)行情況。如中斷狀態(tài),是否準(zhǔn)備就緒等;
響應(yīng)RESP:由S1473X返回,當(dāng)控制器發(fā)送的是讀取數(shù)據(jù)的命令時,由S1473X返回讀取的內(nèi)容。例如FM_RDS_STATUS,讀取的就是RDS的數(shù)據(jù)狀態(tài)。
3.2 RDS功能的實現(xiàn)
通過發(fā)送命令0X24,也即函數(shù)FM-RDS_STATUS來獲取當(dāng)前頻道的RDS信息,并從RDS堆棧中讀取一個空值。其中RDS的信息包括同步狀態(tài)標(biāo)志位、堆棧狀態(tài)標(biāo)志位、整個群組的信息(塊A,B,C,D)和每塊傳遞的錯誤信息。 另外屬性命令0X1500,RDS_INT_SOURCE負責(zé)與RDS有關(guān)的中斷配置。屬性命令0X1501,RDS_INT_FIFO_COUNT負責(zé)設(shè)置在RDSRECV標(biāo)志位置1之前,RDS堆棧中存放RDS群組數(shù)據(jù)的最小值。因為有些RDS的功能顯示,比如顯示電臺節(jié)目名稱,歌曲名等信息,需要幾組的RDS群組數(shù)據(jù)才能傳送完畢,所以RDS堆棧必須要有一定的存儲能力,才能將信息完整地顯示。整個RDS功能實現(xiàn)的流程如圖3所示。
4 結(jié)語
最近幾年我國像手機、MP3,PDA等提供信息服務(wù)功能的終端發(fā)展越來越快,功能也趨向一體化,集多種信息服務(wù)功能為一體的智能終端是這些便攜式設(shè)備的發(fā)展方向,很多消費者希望在他們的掌上產(chǎn)品中增加FM功能,而RDS等數(shù)據(jù)廣播業(yè)務(wù)由于是利用現(xiàn)有覆蓋面很廣的廣播網(wǎng)絡(luò),網(wǎng)絡(luò)建設(shè)投入很少,而且很多調(diào)頻芯片已經(jīng)集成了RDS解碼功能,所以RDS功能的實現(xiàn)變得簡單易行。相信FM+RDS一定會有更加廣泛的應(yīng)用。
評論