微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于广播数据系统的城市公交广告信息传输

基于广播数据系统的城市公交广告信息传输

时间:04-29 来源:互联网 点击:

摘 要:广播数据系统(RDS)是一种利用调频多工技术对现有的调频广播系统进行改造,使用调频广播的剩余频带实现数据广播的方案。通过分析RDS的基本数据结构,介绍了将传统的循环冗余校验(CRC)运算转化为三字节递推算法并采用查表法进行快速计算,在有限的运算速度和资源的前提下实现RDS数据组同步运算的方法和程序流程,以及如何利用RDS透明数据通道进行城市公交广告信息的传输等内容。
关键词:广播数据系统;数据结构;数据组同步;透明数据通道;信息传输

0 引 言
广播数据系统(Radio Data System,RDS)利用调频多工技术对现有调频广播系统进行改造,使用频率范围在87.5~108 MHz的调频立体声或单声道广播的57 kHz副载波来传输数据信息,其发射与接收装置与现有的调频广播系统完全兼容。RDS信号占用的带宽较窄,数据传输率只有1 187.5 b/s,非常适合传输对数据率要求不高的实时文字信息。这里设计的“城市公交广告信息显示屏”正是利用RDS的透明数据通道实现了文字广告信息的传输。

1 系统的组成与工作原理
“基于RDS的城市公交广告信息显示屏”的组成如图1所示。

在RDS信号接收的设计中,选用日本三洋公司的可编程锁相环频率合成器LC72131M和收音芯片LAl844M为主体构成的电路来接收FM广播信号。
LAl844M芯片中鉴频器输出的立体声复合信号送入RDS解码电路S1A0905XOl进行分离,提取出RDS基带信号直接输入PICl6F74单片机,采用软件方式进行数据同步处理,然后将相应的广告和文字信息显示在公交车前方的条形LED显示屏上。

2 RDS数据组的结构
图2所示为RDS基带信号的基本数据结构,结构中的最大元素被称之为数据组(Group),由104位组成。每个组由4个分别为26位的数据块(Block)组成。每个数据块都由信息码和校验码组成,其中信息码为16位,校验码为10位,图中的偏移量代表每一个数据块在数据组中的位置。

RDS数据结构的主要特点可以归纳如下:
(1)每个RDS数据组的第一个数据块必定包含节目识别码(Programme Identifleation,PI码),PI码的建立是为了判定在不同地区甚至不同国家间播出的同一节目。它并不是为了达到显示节目信息的目的,而是某一个特定节目的身份证,使得该节目有别于其他节目。PI码的一个重要应用是在当前频率点接收效果较差时,RDS接收机能够自动调谐到正在播送同一节目的其他频率点,以保证收听质量。这一功能在车辆或移动式接收设备上显得尤为重要。
(2)交通节目标志码(Traffic Programine Identifi―cation,TP码)和节目类型码(Programine Type,PTY码)总是出现在每个RDS数据组第二个数据块的固定位置,而不论数据组的版本如何。
TP码是一个开关标志,它用于指示现在调谐到的频率点播出的电台节目中是否包含交通信息,这里包括正在播出以及即将播出的交通信息。
PTY码的作用是以字符的形式告知收听者正在接收的是何种类型的节目,例如体育节目、娱乐节目等。
(3)每个RDS数据组的第二个数据块的开始4位为数据组类型标志。在RDS规范中,数据组根据4位标志的不同被分为O~15共16类,每类中又根据第5位值的不同被分为A和B两种版本。
在RDS规范中,RDS数据组类型多达16类两个版本共32种,分别针对不同的数据特点和功能。需要特别指出的是,这些不同的类型的数据组根据所承载信息的重要程度以及信息类型的差别以不同的频度得以发送。
在世界上已经开始运营的RDS系统中,没有一个完全实现了RDS系统能够拥有的所有功能,而是根据当地的具体情况有选择地加以实现。同样,在RDS接收机的设计过程中,基于性价比以及实用性的考虑,也是有针对性地实现RDS的部分功能。

3 RDS数据组同步的获取
在RDS数据块中,采用的是标准CRC校验的一种变形,其生成多项式为:

将16位的信息字对g(x)进行模2除法,所得到的余式再使用模2加法加上数据块的偏移量即构成所发送的10位校验字。
由于RDS数据组、数据块之间采用连续发送,没有任何间隔,要完成RDS数据组的同步操作,必须要在每接收到一个新的数据位后,都对新组成的26位数据流进行CRC校验运算。为了保证数据处理的连续性,运算必须在下一个数据位到来前完成,也就是说,必须要在842μs(即一个RDS码元周期)内完成运算。
由于RDS中CRC校验的生成多项式G(x)在单片机运算中占据两个字节,根据CRC校验的原理,其在8位单片机中的运算其实就是一种三字节序列递推运算,每次运算所得的余式加入下一个三字节序列进行模二除法。依次类推,每一次递推运算都是对一个三字节序列的计算,因此,如何简单快捷地对三字节进行运算是算法的关键。
提到简单快捷,人们自然会想到查表法,即事先将三字节序列的所有余式计算出来,置于一个称之为余式表的表格中供随时读取。不过这样的表格太大,需要224个16位单元,即占用225个字节的存储空间,这对单片机来说是无法接受的,因此,要设法尽量减少表格所占用的存储空间。
设一个三字节序列Tabc=[a b c],一个三字节序列Ta00=[a O O]和一个二字节序列Tbc=[b c]。可以用多项式的形式表示它们之间的关系为Tabc(x)=Ta00(x)+Tbc(x),因此,对Ta00来说:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top