Radio 及RDS功能
1. Radio app及RDS功能说明
1.1 Radio app功能:
收听基站广播节目。
1.2 Radio RDS (radio datasystem):
广播数据系统RDS是一种数据业务,是由欧洲广播联盟(EBU)提出的,目的是为87.5~107.9FM频段的电台提供显示和控制信息,以改善FM接收机的功能,使FM电台的操作更加友好。
RDS可以显示电台名称、节目类型、节目内容、日期时间及其它信息,而它具有的AF和TA功能,则更强大。
l PS (program service)---提供8个字符的电台名称显示
l PTY (program type)---提供电台节目类型显示
l TP (traffic program)---提供电台是否为交通电台指示信息
l TA (traffic announcement)---提供电台是否正在播放交通消息指示信息
l AF (alternative frequencies) ---提供某个电台的发射频率表
l PI (program identification)---提供电台识别码
l EON (enhanced other network)---提供其它电台的信息,如PS,TA。
l RT (radio text)---提供最多64个字符的广播文本显示信息
l CT (clock time)---提供当前时间校正信息
l 其它---GPS、TMC (trafficmessagechannel)…
RDS电台同普通FM电台的区别:
l 普通FM电台只能发出“听”得到的信息,而RDS电台还可以发出“看”得见的信息,或者说RDS电台是在普通电台上增加了额外的信息。
l 从频域上看这两者的差别,下图为FM频段信号频谱图,其中0~15kHz就是普通FM电台承载的广播声音;绿色部分为额外的RDS数据,其带宽为2.4kHz,经过调制到57kHz后占用4.8kHz带宽。
RDS信息的传输特点:
l 频繁、重复传送:由于电台与接收机之间是单向通信,为保证电台接收的数据的准确性,电台会不停重复发送RDS信息
l 分组、分时传输:RDS的信息被分割成固定长度的数据块连续传输
FM芯片会把接受到的RDS信息放在8个寄存器里,读取这些寄存器,就可得到RDS信息。 RDS每一次接收到8个字节,即为4个字,分别定义为4块,每块为16位。
l AF:Alternative Frequency
本意为替换频率,这里指在同一个RDS 电台网络的多个频率点之间做连续切换,以期找到这个RDS 电台中最强的那个频率点,使得用户始终处在最好的信号下接听电台。
AF功能是RDS功能最复杂的功能,该功能是为解决汽车从一个地区走到另一个地区始终能够保持接收同一电台信号,而且实时切换到同一电台信号最强的发射频率上。
l REG:
REG 用于设置区域码在RDS 追台时PI 码的比较条件。
以下面为例子,做为说明:
当前频率为90.1MHz(PI码为ABCD),目前经过两国交界地。由两个含有同样AF列表(89.0; 90.1; 93.1; 95.1; 98.1)的RDS电台: RDS1的PI码为:ABCD,RDS2的PI码为:AACD
当前信号RDS1中信号最强的为93.1;RDS2中信号最强的为98.1;且其中:98.1的信号强度大于93.1
l PTY-节目类型搜索
每个RDS 电台都有一个PTY属性,表示当前电台正在播放的节目的类型,这些类型可以是以下32种之一:
None, News, Affairs, Info , Sport ,Educate, Drama , Culture, Science, Varied , Pop M , Rock M , Easy M ,Light M,Classics, Other M ,Weather ,Finance ,Children, Social ,Religion, Phone In,Travel , Leisure, Jazz , Country, Nation M, Oldies , Folk M ,Document, Test ,Alarm
l PTY-节目类型搜索
用户可以根据自己的喜爱选择让接收机搜索其中的一种类型,但有几种类型不可用于PTY搜索:None, TEST, Alarm。
所有的RDS接收机都提供了EWS(紧急消息系统)功能,此时PTY类型为alarm,只有发生如9.11这类的事件才会出现,alarm为强制功能,用户无论在什么状态都必须接收
l TA- Traffic-Announcement identification
是一个切换信号,指明是否正在播送交通公告。接收机利用此信号自动切换到有交通公告的节目上,交通公告播完后回到原来的工作状态。
TA功能是为改善解决交通阻塞而设计的,随着交通状况的日益恶化,交通公告对于司机显得越来越重要,司机总是想随时随地了解当前的交通状况。RDS的TA功能使得司机即使在播放CD或正在收听某个电台时都可以暂时切换到播放交通公告的电台及时了解交通状况。
l EON:(Enhanced Information Concerning Other Networks对其它网络的增强信息)
EON是一种RDS功能,它确保某个无线广播机构的所有交通广播公告都能在TP运行模式下播放。象NDR一类较大的无线广播机构,经常同时发射不同的广播节目,例如NDR 1、NDR2、Radio3等等。
此功能使得相应无线广播机构其它节目的TP公告不依赖当前设定的节目也可以收听到。 如:汽车收音机现在正在收听Radio 3广播节目。如果NDR 2在播放TP公告,则本机便会自动切换到相应的频率上播放NDR 2的公告。在此期间显示屏上会出现“EON”。在TP公告播放结束后,即切换回原先的Radio 3节目。
2. Radio app的mcusrv进程 以及uart协议
l mcusrv进程:在QT下新建mcusrv进程,ARM通过串口与mcu通讯,获取mcu 收音信息
mcusrv进程主要动作:1.初始化串口,2.解析串口协议读与写。
数据结构定义:
typedefstruct_CommandHeader{
unsignedcharHeader1;
unsignedcharHeader2;
unsignedcharTotalLength;
unsignedcharGroup;
unsignedcharCtrl;
}CommandHeader;
3. Radio app的主要类及说明
Radio app 主要的类有:
classRadioView:初始化显示、实例化RadioFrom、初始化更新数据、连接和实现槽函数。
classRadioFrom:Radio的ui类,包含ui界面所有的控件,用qtdesigner 设计后自动生成。
classRadioInfo:不同地区对应的FM AM波段的最大最小值(频率范围)
classRadiomodule:实现与mcusrv进程之间的双向dbus通讯,传输radio数据。
5. Radio app的Module设计
Radiomodule主要实现与mcusrv进程之间的双向dbus通讯,传输radio数据,以及通过qt信号与槽连接radioui 进行显示与更新。
radio module 创建qdbus 信号连接mcusrc进程
createSignal("/appmessage/path", "appmessage.interface","ReceiveMessage");
6. Radio app的软件设计流程图
Radio app 软件设计流程图如下: