孫 光 宋 榮
摘 要:廣播數(shù)據(jù)系統(tǒng)(RDS)是一種利用調(diào)頻多工技術(shù)對現(xiàn)有的調(diào)頻廣播系統(tǒng)進行改造,使用調(diào)頻廣播的剩余頻帶實現(xiàn)數(shù)據(jù)廣播的方案。通過分析RDS的基本數(shù)據(jù)結(jié)構(gòu),介紹了將傳統(tǒng)的循環(huán)冗余校驗(CRC)運算轉(zhuǎn)化為三字節(jié)遞推算法并采用查表法進行快速計算,在有限的運算速度和資源的前提下實現(xiàn)RDS數(shù)據(jù)組同步運算的方法和程序流程,以及如何利用RDS透明數(shù)據(jù)通道進行城市公交廣告信息的傳輸?shù)葍?nèi)容。
關(guān)鍵詞:廣播數(shù)據(jù)系統(tǒng);數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)組同步;透明數(shù)據(jù)通道;信息傳輸
中圖分類號:TN934.2文獻標識碼:B
文章編號:1004-373X(2009)03-033-03
City Bus Advertisement Information Transmission Based on Radio Data System
SUN Guang,SONG Rong
(Shenzhen Polytechnic College,Shenzhen,518055,China)
Abstract:Radio Data System (RDS) is a scheme to reform exsiting FM system using FM multi-tasking technology,to realize data broad casting using remaining band of FM.RDS data structure and a fast algorithm for RDS data group synchronization are analysed.It changes traditional CRC algorithm to three bytes algorithm and realizes fast algorithm on table.RDS data group synthronization can be completed by limited calculating speed and resource.City bus advertisement information can be successfully transmitted in RDS transparent data channel.
Keywords:radio data system;data structure;data group synchronization;transparent data channel;information transmission
0 引 言
廣播數(shù)據(jù)系統(tǒng)(Radio Data System,RDS)利用調(diào)頻多工技術(shù)對現(xiàn)有調(diào)頻廣播系統(tǒng)進行改造,使用頻率范圍在87.5~108 MHz的調(diào)頻立體聲或單聲道廣播的57 kHz副載波來傳輸數(shù)據(jù)信息,其發(fā)射與接收裝置與現(xiàn)有的調(diào)頻廣播系統(tǒng)完全兼容。RDS信號占用的帶寬較窄,數(shù)據(jù)傳輸率只有1 187.5 b/s,非常適合傳輸對數(shù)據(jù)率要求不高的實時文字信息。這里設計的“城市公交廣告信息顯示屏”正是利用RDS的透明數(shù)據(jù)通道實現(xiàn)了文字廣告信息的傳輸。
1 系統(tǒng)的組成與工作原理
“基于RDS的城市公交廣告信息顯示屏”的組成如圖1所示。
在RDS信號接收的設計中,選用日本三洋公司的可編程鎖相環(huán)頻率合成器LC72131M和收音芯片LA1844M為主體構(gòu)成的電路來接收FM廣播信號。
LA1844M芯片中鑒頻器輸出的立體聲復合信號送入RDS解碼電路S1A0905X01進行分離,提取出RDS基帶信號直接輸入PIC16F74單片機,采用軟件方式進行數(shù)據(jù)同步處理,然后將相應的廣告和文字信息顯示在公交車前方的條形LED顯示屏上。
圖1 RDS接收機組成框圖
2 RDS數(shù)據(jù)組的結(jié)構(gòu)
圖2所示為RDS基帶信號的基本數(shù)據(jù)結(jié)構(gòu),結(jié)構(gòu)中的最大元素被稱之為數(shù)據(jù)組(Group),由104位組成。每個組由4個分別為26位的數(shù)據(jù)塊(Block)組成。每個數(shù)據(jù)塊都由信息碼和校驗碼組成,其中信息碼為16位,校驗碼為10位,圖中的偏移量代表每一個數(shù)據(jù)塊在數(shù)據(jù)組中的位置。
圖2 RDS基本數(shù)據(jù)結(jié)構(gòu)
RDS數(shù)據(jù)結(jié)構(gòu)的主要特點可以歸納如下:
(1) 每個RDS數(shù)據(jù)組的第一個數(shù)據(jù)塊必定包含節(jié)目識別碼(Programme Identification,PI碼),PI碼的建立是為了判定在不同地區(qū)甚至不同國家間播出的同一節(jié)目。它并不是為了達到顯示節(jié)目信息的目的,而是某一個特定節(jié)目的身份證,使得該節(jié)目有別于其他節(jié)目。PI碼的一個重要應用是在當前頻率點接收效果較差時,RDS接收機能夠自動調(diào)諧到正在播送同一節(jié)目的其他頻率點,以保證收聽質(zhì)量。這一功能在車輛或移動式接收設備上顯得尤為重要。
(2) 交通節(jié)目標志碼(Traffic Programme Identification,TP碼)和節(jié)目類型碼(Programme Type,PTY碼)總是出現(xiàn)在每個RDS數(shù)據(jù)組第二個數(shù)據(jù)塊的固定位置,而不論數(shù)據(jù)組的版本如何。
TP碼是一個開關(guān)標志,它用于指示現(xiàn)在調(diào)諧到的頻率點播出的電臺節(jié)目中是否包含交通信息,這里包括正在播出以及即將播出的交通信息。
PTY碼的作用是以字符的形式告知收聽者正在接收的是何種類型的節(jié)目,例如體育節(jié)目、娛樂節(jié)目等。
(3) 每個RDS數(shù)據(jù)組的第二個數(shù)據(jù)塊的開始4位為數(shù)據(jù)組類型標志。在RDS規(guī)范中,數(shù)據(jù)組根據(jù)4位標志的不同被分為0~15共16類,每類中又根據(jù)第5位值的不同被分為A和B兩種版本。
在RDS規(guī)范中,RDS數(shù)據(jù)組類型多達16類兩個版本共32種,分別針對不同的數(shù)據(jù)特點和功能。需要特別指出的是,這些不同的類型的數(shù)據(jù)組根據(jù)所承載信息的重要程度以及信息類型的差別以不同的頻度得以發(fā)送。
在世界上已經(jīng)開始運營的RDS系統(tǒng)中,沒有一個完全實現(xiàn)了RDS系統(tǒng)能夠擁有的所有功能,而是根據(jù)當?shù)氐木唧w情況有選擇地加以實現(xiàn)。同樣,在RDS接收機的設計過程中,基于性價比以及實用性的考慮,也是有針對性地實現(xiàn)RDS的部分功能。
3 RDS數(shù)據(jù)組同步的獲取
在RDS數(shù)據(jù)塊中,采用的是標準CRC校驗的一種變形,其生成多項式為:
G(x)=x10+x8+x7+x5+x4+x3+1
將16位的信息字對g(x)進行模2除法,所得到的余式再使用模2加法加上數(shù)據(jù)塊的偏移量即構(gòu)成所發(fā)送的10位校驗字。
由于RDS數(shù)據(jù)組、數(shù)據(jù)塊之間采用連續(xù)發(fā)送,沒有任何間隔,要完成RDS數(shù)據(jù)組的同步操作,必須要在每接收到一個新的數(shù)據(jù)位后,都對新組成的26位數(shù)據(jù)流進行CRC校驗運算。為了保證數(shù)據(jù)處理的連續(xù)性,運算必須在下一個數(shù)據(jù)位到來前完成,也就是說,必須要在842 μs(即一個RDS碼元周期)內(nèi)完成運算。
由于RDS中CRC校驗的生成多項式G(x)在單片機運算中占據(jù)兩個字節(jié),根據(jù)CRC校驗的原理,其在8位單片機中的運算其實就是一種三字節(jié)序列遞推運算,每次運算所得的余式加入下一個三字節(jié)序列進行模二除法。依次類推,每一次遞推運算都是對一個三字節(jié)序列的計算,因此,如何簡單快捷地對三字節(jié)進行運算是算法的關(guān)鍵。
提到簡單快捷,人們自然會想到查表法,即事先將三字節(jié)序列的所有余式計算出來,置于一個稱之為余式表的表格中供隨時讀取。不過這樣的表格太大,需要224個16位單元,即占用225個字節(jié)的存儲空間,這對單片機來說是無法接受的,因此,要設法盡量減少表格所占用的存儲空間。
設一個三字節(jié)序列Tabc=[a b c],一個三字節(jié)序列Ta00=[a 0 0]和一個二字節(jié)序列Tbc=[b c]。可以用多項式的形式表示它們之間的關(guān)系為Tabc(x)=Ta00(x)+Tbc(x),因此,對Ta00來說:
Ta00(x)G(x)=Qa00(x)+Ra00(x)G(x)
而對Tabc來說:
Tabc(x)G(x)=Ta00(x)+Tbc(x)G(x)=
Qa00(x)+Ra00(x)+Tbc(x)G(x)
其中,Qa00(x)是整數(shù),與余式無關(guān);而Ra00(x)和Tbc都是二字節(jié)序列,因而,它們的和(模2加法,即異或運算)仍然是二字節(jié)序列,因此,它就是Tabc的余式Rabc,即:
Rabc=ReTabc(x)G(x)〗=Ra00(x)+Tbc(x)
這樣就可以把三字節(jié)序列Tabc=[a b c]的運算分解成兩個步驟來完成:
(1) 通過查余式表,讀取Ta00=[a 0 0]的余式Ra00=[ha00 la00];
(2) 將Ra00與[b c]進行異或運算,從而得到[a b c]的余式Rabc=[habc labc]。
由于[a 0 0]只有一個字節(jié)不為零,因此,余式表只需要256個單元即512 B的存儲空間。
在RDS接收機的設計過程中采用的是PIC16F74單片機,其ROM空間僅有16 KB,還要完成顯示控制、電子調(diào)諧控制等許多其他功能,存儲空間非常緊張,所以還需要對余式表進行壓縮。
將Ta00=[a 0 0]分解為Te00=[e 0 0]和Tf00=[f 0 0],并使字節(jié)e的上半字節(jié)內(nèi)容與a的上半字節(jié)相同但下半字節(jié)為零,同時使字節(jié)f的下半字節(jié)內(nèi)容與a的下半字節(jié)內(nèi)容相同但上半字節(jié)內(nèi)容為零,然后用Te00和Tf00的生成余式表來代替Ta00的余式表。由于Te00和Tf00中只有半個字節(jié)內(nèi)容不為零,所以每個余式表只需16個單元,即32個字節(jié),兩個余式表共占用64個字節(jié),可以滿足PIC16F74單片機對于存儲空間的要求。
實現(xiàn)CRC校驗的快速算法只是獲取RDS數(shù)據(jù)信號同步的前提條件之一。由于RDS數(shù)據(jù)信號的同步信息是包含在每個26位數(shù)據(jù)塊的結(jié)尾處,必須采用先接收數(shù)據(jù),再進行同步運算的辦法。在PIC16F74單片機的通用寄存器中專門為接收數(shù)據(jù)設置了4個字節(jié)的緩沖區(qū),每接收到1位數(shù)據(jù),就按照先入先出(FIFO)的原則對數(shù)據(jù)緩沖區(qū)進行移位操作,然后對最近接收到的26位數(shù)據(jù)進行CRC校驗運算,將運算結(jié)果與RDS數(shù)據(jù)塊偏移量A,B,C,D進行比較,如果發(fā)現(xiàn)與其中之一相同,則認為進入準同步狀態(tài)。由于接收數(shù)據(jù)的隨機性,在單獨一個26位數(shù)據(jù)流中運算出數(shù)據(jù)塊偏移量的幾率是比較大的,所以必須進行進一步的檢測。
進入準同步狀態(tài)后,準同步計數(shù)器開始對接收的數(shù)據(jù)位進行計數(shù),當又接收到一組26位數(shù)據(jù)后,再進行一次CRC校驗運算,如果運算結(jié)果為RDS數(shù)據(jù)塊偏移量A,B,C,D其中之一,并且與上次檢測到的RDS數(shù)據(jù)塊偏移量成順序關(guān)系,就可以認為已經(jīng)獲取了RDS數(shù)據(jù)信號的同步。
在獲取同步后,就不必每接收1位數(shù)據(jù)進行一次CRC校驗了,而只用在接收到一個完整的26位數(shù)據(jù)后進行一次校驗運算,以檢測數(shù)據(jù)是否傳輸錯誤并得到數(shù)據(jù)塊的偏移量。
4 文字信息在RDS透明數(shù)據(jù)通道中的傳輸
由于這里所涉及的RDS接收機主要用于公交廣告顯示屏的文字信號傳輸,所以重點討論RDS中適合于文字信息傳輸?shù)膬煞N數(shù)據(jù)類型,即開放數(shù)據(jù)應用和透明數(shù)據(jù)通道。
開放數(shù)據(jù)應用(Open Data Application,ODA)是RDS數(shù)據(jù)類型中的一項重要內(nèi)容,它賦予了RDS系統(tǒng)實現(xiàn)各種特定功能的極大的靈活性。開放數(shù)據(jù)應用只是規(guī)定了數(shù)據(jù)組的格式,但對其中的內(nèi)容沒有作出具體的規(guī)定。由于FM廣播具有地域性的特點,各個不同的地方可以根據(jù)各自不同的需要對于開放數(shù)據(jù)應用的內(nèi)容作出具體規(guī)定。當然,接收端也必須能夠理解這些具體規(guī)定。在實際應用中,開放數(shù)據(jù)結(jié)構(gòu)常用來進行特殊目的數(shù)據(jù)廣播,例如無線尋呼、股市信息等。在RDS的相關(guān)標準中,規(guī)定開放數(shù)據(jù)應用應該向標準制定部門進行登記。
與開放數(shù)據(jù)應用相比,透明數(shù)據(jù)通道(Transparent Data Channels,TDC)則使RDS的功能實現(xiàn)更加靈活。之所以稱之為透明,是指通過它幾乎可以傳輸任意長度以及任意格式的數(shù)據(jù)。圖3所示為透明數(shù)據(jù)通道的數(shù)據(jù)組結(jié)構(gòu)。
圖3 透明數(shù)據(jù)通道的數(shù)據(jù)組結(jié)構(gòu)
圖3中的地址編碼是指透明數(shù)據(jù)通道的子通道號,共有5位二進制數(shù)構(gòu)成,也就是說,透明數(shù)據(jù)通道最多可容納32路數(shù)據(jù)同時傳輸。
鑒于透明數(shù)據(jù)通道在功能實現(xiàn)上的靈活性和可擴展性,設計的“基于RDS的城市公交廣告信息顯示屏”采用透明數(shù)據(jù)通道進行數(shù)據(jù)傳輸,由于可最多容納32路數(shù)據(jù)傳輸,這也意味著廣告運營商可以在一個FM頻道上同時傳輸多套信息,不僅有利于減小運營成本。也可以根據(jù)廣告客戶的需求,有針對性地在特定公交線路上顯示出特定的廣告信息內(nèi)容,提高了廣告信息投放的靈活性。
RDS規(guī)范中并未規(guī)定透明數(shù)據(jù)通道中傳輸數(shù)據(jù)的格式和長度,因此可以根據(jù)實際需要進行數(shù)據(jù)傳輸協(xié)議的設計。由于系統(tǒng)傳輸?shù)臑閿?shù)字、英文、標點符號等ASCII碼(小于80H)和漢字字符編碼,對于16位的漢字字符編碼,需要一個透明數(shù)據(jù)段的16位進行傳輸,對于ASCII碼字符,只需要一個透明數(shù)據(jù)段的低8位進行傳輸,而高8位留作備用。由于漢字編碼每一字節(jié)的數(shù)據(jù)從0A1H開始,并不會與小于80H的ASCII碼字符混淆。
為方便信號處理,在每一條文字信息開始設置起始標志7EH,對應ASCII碼字符“~”;在每一條文字信息結(jié)束時設置結(jié)束標志0DH,對應ASCII碼的回車符。
一條完整的文字信息接收的主要流程如圖4所示。
圖4 文字信息接收的主要流程
5 結(jié) 語
在“基于RDS的城市公交廣告信息顯示屏”的設計過程中,通過對RDS數(shù)據(jù)結(jié)構(gòu)的仔細分析,在有限的處理速度和計算資源的前提下,成功解決了RDS數(shù)據(jù)組同步運算的實時性問題,實現(xiàn)了文字信息在RDS透明數(shù)據(jù)通道中的傳輸,并在實際運行過程中取得了令人滿意的效果。
RDS作為一種依托于傳統(tǒng)媒體而開發(fā)出的數(shù)據(jù)傳輸方式,其自身也在不斷地完善和發(fā)展之中。隨著更多新的技術(shù)手段應用于RDS系統(tǒng),RDS的內(nèi)涵也在不斷擴充,其應用領(lǐng)域也會不斷擴大。
參考文獻
[1]劉小兵.廣播數(shù)據(jù)系統(tǒng)(RDS)接收機原理[J].現(xiàn)代電子技術(shù),2004,27(12):34-36.
[2]朱昊.歐盟交通信息廣播頻道RDS/TMC系統(tǒng)簡介[J].交通與運輸,2007,23(1):51-52.
[3]張紀升,楊琪,陳希.基于廣播數(shù)據(jù)系統(tǒng)(RDS)的交通及出行者信息系列標準的研究與制定[J].交通標準化,2008(2):21-23.
[4]秦曉軍,蘭濱,李軍煥.基于RDS-TMC技術(shù)的車輛動態(tài)導航系統(tǒng)[J].計算機應用研究,2006,23(5):182-184.
[5]余華,劉冬生.基于SAA6588解碼器的RDS接收系統(tǒng)的設計與實現(xiàn)[J].自動化與儀器儀表,2005(2):14-17.
[6]丁勝昔,張其善.調(diào)頻副載波在GPS車輛動態(tài)導航中的應用[J].遙測遙控,2003,24(4):46-48.
[7]李華,鄭明,范雄,等.利用調(diào)頻立體聲基帶傳送數(shù)據(jù)信息的原理與實現(xiàn)[J].電子技術(shù)應用,2001(7):55-57.
[8]韓炬.CRC快速算法[J].煤炭科學技術(shù),2000,28(2):11-14.
[9]趙兵選,吳剛,呂旭濤,等.一種廣播數(shù)據(jù)系統(tǒng)數(shù)據(jù)幀同步快速算法[J].計算機應用,2008(1):9-16.
[10]GB/T15770-1995,廣播數(shù)據(jù)系統(tǒng)(RDS)技術(shù)規(guī)范[S].1995.
作者簡介
孫 光 男,1971年出生,湖北武漢人,工程師,工學碩士。研究方向為電子測量、數(shù)字音視頻技術(shù)。
宋 榮 男,1969年出生,四川廣元人,講師,工學學士。研究方向為音視頻技術(shù)、自動控制。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。