基于FM的数字模拟混合通信系统的研究*
2015-12-22谢明枫李明雪
谢明枫,李明雪,王 骄
(东北大学信息科学与工程学院,沈阳110819)
XIE Mingfeng,LI Mingxue,WANGJiao*
(School of Information Science and Engineering,Northeastern University,Shenyang 110819,China)
自从手机等智能无线设备大范围普及以来,人们已经离不开无线通信系统所提供的便利的服务。通过蓝牙[1]、WiFi[2]、NFC[3]等近距离无线通信技术,使用者可以快捷地分享设备中的文件,但是这些短距离通信技术的优缺点是并存的。WiFi的特点是速度快,通信距离远,但是需要移动热点的支持,功耗较高且设备部署不方便;蓝牙是一种较为成熟的无线通信技术,其功耗较低,同时具有较高的通信速度,但是在使用前需要配对,只能一对一通信,很难实现一对多通信;NFC的通信速度很快,但接触式通信的通信距离非常的短,通常2cm以内。而在实际的应用之中,人们往往追求设备的小型与低功耗、使用的便捷快速,而且在人员密集处尽量要范围式的分享。FM通信虽然现阶段尽显老态,但是其有诸多优点:通信距离远、范围广、速度尚可,且设备简单容易实现,此外,基于FM副载波的RDS协议具有一定的数字通信能力。下表描述了现在流行的几种通信技术的比较。
由表1不难看出,FM具有的诸多优点恰恰是现在人们在日常生活中所需要的,但是RDS技术由于引进时间较晚,在国内的相关开发现在还非常少,技术尚未成熟。本文就是要利用FM的数字模拟混合通信能力来引入一种全新的通信理念,并设计相应的软、硬件。
表1 主流短距通信方式对比
1 RDS技术介绍
Frequency Modulation(FM)意为调频广播,是生活中常用的一种广播方式。我国的国家标准规定:调频立体声广播的主载频的调制信号是立体声复合信号,由主信道信号(左信号和右信号)、副信道信号(由左信号和右信号的差信号对副载频进行抑制载频式调幅后所产生的上下边带波的合成信号)与导频信号(立体声广播时为了接收需要而传送的辅助信号)组成。
在进行立体声广播时基带中还有较多的频率空位可用作附加信息的传输。附加信息的传输不应造成对立体声广播节目的损害。而且附加信息的传输也不应受立体声广播节目的影响。虽然在基带频谱图中有许多频率空位可提供给传输附加信息用,但是实际上传输附加信息的副载频并不能任意选取。当立体声广播时,在基带的53 kHz以上的频率范围内,在19 kHz的谐波处(57 kHz、76 kHz等),干扰电平最低。此外,在66.5 kHz处也比较低。因此,如果传输附加信息的副载频选用这几个位置的频率,可以获得较高的传输信噪比。根据国际无线电咨询委员会(CCIR)的建议:在基带频谱内的53 kHz以上的57 kHz、67 kHz、76 kHz、92 kHz处可以传输附加信息,其中以57 kHz为副载波的数据通道称为数据广播系统(RDS),以67 kHz、76 kHz、92 kHz为副载波的通道称为辅助通信业务信道(SCA)。其基带频谱如图1所示。
图1 FM基带频谱图
其中的无线数据广播系统Radio Data System(RDS)是英国BBC广播公司开发的一种特殊的无线电广播[4]。它是在调频广播发射信号中利用副载波把电台名称、节目类型、节目内容及其他信息以数字形式发送出去。通过具有RDS功能的调谐器就可以识别这些数字信号,变成字符显示在显示屏上。
RDS从开始就是为车载移动设计,因此RDS的很多特点都和移动环境相关,如TA和AF功能。
RDS的数据信息分为两种类型:显示信息和控制信息。显示信息有PS、RT、PTY、CT。控制信息有AF、TA、TP、EON、PI。它们的功能如下[5]:
Program Service(PS)—提供8个字符的电台名称显示;
Program Type(PTY)—提供电台节目类型显示;
Traffic Program(TP)—提供电台是否为交通电台指示信息;
Traffic Announcement(TA)—提供电台是否正在播放交通消息指示信息;
Alternative Frequencies(AF)—提供某个电台的发射频率表;
Program Identification(PI)—提供电台识别码;
Enhanced Other Network(EON)—提供其他电台的信息,如 PS,TA;
Radio Text(RT)—提供最多64个字符的广播文本显示信息;
Clock Time(CT)—提供当前时间校正信息。
RDS传输有两个特点[6],一是频繁、重复传送。由于电台与接收机之间是单向通信,为保证电台接收的数据的准确性,电台会不停重复发送RDS信息,如PI、TP、PTY需要频繁传送以方便接收机操作,如TP、PTY搜索;二是分组、分时传输。RDS的信息被分割成固定长度的数据块连续传输,其意义有二,一是固定的小数据块有利于数据的可靠传输,接收出错时可使用纠错手段恢复数据;二是数据分块传输可使发射台方便控制各种RDS信息输送次数,如Traffic为突发性的数据,不必频繁地重复传送。
2 基于RDS的数字模拟混合通信系统的实现
前文讨论了RDS技术以及实现RDS功能的FM芯片Si4721芯片。尽管现在市面上的绝大多数智能手机都具有FM的接收芯片,也不乏使用Si4721芯片的设备[7],但是由于设计产权、专利等问题,手机的底层硬件驱动往往是不会公开的,我们直接利用手机内的FM芯片几乎不可能实现。因此,我们需要设计一个手机的“附件(Accessory)”来实现这样一种基于FM的通信系统[8]。
基于这种理念,我们构建了一个数字系统,其结构组成如图2所示。
图2 系统结构图
系统由MSP430作为主控芯片[9],FM部分采用两块Si4721芯片,以便实现全双工通信。对于系统与手机之间的通信,为了保证接口的通用性,我们选用了3.5mm口径的耳机接口,如图3所示。由这些硬件,就可以搭建一套基于FM的数字模拟混合通信系统了。
图3 耳机接口图
系统整体由MSP430芯片控制。由于系统执行任务较为复杂,这里我们采用Tiny OS嵌入式系统来保证系统的高效有序运行。MSP430通过耳机接口与手机进行通讯,分析手机端发出的指令,而后通过I2C协议驱动两块Si4721芯片进行数据的发送或接收。同样,从 Si4721接收到的指令通过MSP430进行分析,转为手机端控制指令并通过耳机接口传输至手机端,由手机执行相应操作。
系统基于手机平台开发自然不希望系统体积过大、功耗过高,这样会给使用者带来负担。为了解决这个问题,我们选择了低功耗的MSP430F117作为主控芯片;另一方面,我们不希望附件与手机之间通过额外的接口连接,所以我们利用耳机接口由手机对附件直接供电。
本设计采用了AMS1117直流电源转换芯片,AMS1117是一款正电压输出低压差的三端线性稳压电路[10],最高输出电流可达1 A,而且 AMS1117内部集成过热保护和限流电路,确保芯片和电源系统的稳定。在本系统中,用外部直流5 V电源供电,使用了2个AMS1117芯片,一个输出3.3 V电压,供MSP430以及Si4721芯片使用,另一输出1.8 V电压,暂且保留用途。
3 曼彻斯特编码
前文介绍的硬件平台是利用耳机接口传输音频信号实现手机与附件的通信。对传输的音频信号进行特定的编码,可以进一步提高数据传输的准确性。曼彻斯特码是一种双极性二电平码。曼彻斯特编码用一个周期的正负对称方波表示“0”,而用其反向波形表示“1”。其编码规则是:“0”用“10”表示,“1”用“01”两位码表示。曼彻斯特码只有极性相反的两个点,因此在每个码元周期的中心点都存在电平跳变,包含有丰富的定时信息[11]。由于曼彻斯特编码实现较为简单,并且在数字系统中经常使用,本文选择使用曼彻斯特进行数据编码。
我们使用USART0模块作为用户应用开发和软件调试的接口。当URXD0检测到数据后,单片机对接收到的数据进行曼彻斯特编码。该数据由开始位、奇偶校验位、停止位以及8 bit数据组成。经过编码后的数据通过连接到手机MIC的P40口输出。TimerB0有4种工作模式:停止模式、增计数模式、连续模式以及增减计数模式。我们将其设置为连续输出模式,在未发送数据的时候产生频率可调节的方波。
图4 曼彻斯特编码原理图
4 曼彻斯特解码
从手机左声道出来的数据经过加法器消除负值,将P23口设置为输入模式,并使用其第2功能D电压比较器CA0。使能P24的电压比较器CA1,比较器电压可以设置为0.25 Vcc或者0.5 Vcc,本实验将其设置为0.5 Vcc。CA0输入的电压与CA1内部的0.5 Vcc电压比较输出数字信号。
通过使用捕捉模式的边缘检测,检测经过电压比较器后的数字信号,当连续检测到下降沿以及连续3个上升沿时,表示接下来接收到的为数据,对数据进行曼彻斯特解码。解码算法为当检测到下降沿时将其置1,检测到上升沿时将其置0。
图5 曼彻斯特解码原理图
5 通信程序的实现
图6为程序初始化流程图,程序首先对硬件进行初始化,配置定时器比较器、电压比较器、捕捉器并设置串口通信的波特率以及时钟源。初始化完毕后定时器周期性产生中断,在串口收到数据后出发串口硬件中断,将接收到的数据进行曼彻斯特编码从MIC端口发出。在手机到从耳机的左声道输出的模拟信号通过电压比较器转换为数字信号再通过曼彻斯特解码获得从耳机的左声道发送来的数据。
图6 主程序执行流程图
6 系统测试
根据以上设计理念,我们设计了一款初步产品,现阶段我们已经完成了并制作了FM通信系统的硬件平台。在手机端,我们基于Android平台制作了四款演示软件,利用这些软件我们可以实现双机之间的数据通信、音乐分享、游戏对战等等功能。
图7 Demo测试平台实物图
将我们设计模块上的耳机插头插入Android平台的智能手机上,启动手机安装的相应软件,便可以实现两部手机之间的通讯功能,如图8所示。
图8 双机通讯实物图
在手机端设计了Android平台的FM信号检测软件,用于检测FM信号的RSSI与SNR。FM信号在手机的接收端会有接收强度的差别,利用信号的SNR(信噪比)的不同,我们便可以利用一些算法实现FM信号发射源的位置,也可以借此实现基于FM信号的室内无线定位[12]。另外,对于不同强度的信号,我们还可以利用信号检测软件来做很多FM通信的测试,例如:信号穿透性、信号传输的稳定程度、信号传输的距离等等。
为了满足手机的娱乐需要,我们还基于无线通信模块编写了一款中国象棋的软件,如图9所示,充分地展现了RDS协议的数字通信能力。利用这款应用,我们可以实现中国象棋的手机无线对战,而不需要接入无线网络。
图9 三款手机端测试软件
为了方便调试硬件设备,我们设计了一款模块系统测试软件,用于检测模块的工作情况。在软件中,可以设定发送信息的内容,然后重复发送,接收得到的反馈信息。
我们进行了平台功耗测试及性能测试。如表2和表3所示,可以看出平台的整体功耗非常低,接收距离比较理想,达到了设计的目标。
表2 平台功耗测试结果 单位:mW
表3 平台性能测试结果
7 结论
基于我们设计的Demo平台以及相关手机端软件,已经能够实现利用手机对平台进行控制、发送接收FM数字模拟混合信号。经过测试,我们发现这种基于FM的数字模拟混合短距离通信技术在25 m的范围内性能是可以接受的,但是在超过25 m时信号的强度以及可辨识度大大下降。就日常应用而言,25 m对于一种短距离通信技术是完全足够的。重要的是,平台的整体功耗维持在65 mW左右,达到了一个较低的功耗标准,可以供移动设备使用。
[1] An Introduction to Bluetooth[EB/OL].http://goo.gl/sKNmo.
[2] Introduction to 802.11 Wireless[EB/OL]. http://goo.gl/Zw4P2.
[3] Introduction to NFC[EB/OL].http://goo.gl/5p0Hd.
[4] 胡锦,李湘春,冯炳军.基于FM接收机的可变带宽频率综合器设计[J].电子器件,2007,30(2):526-529.
[5] Wildar R J.FM Plus RDS will Have a Long Future[J].Radio Word International Edition,2008:12 -15.
[6] 余华,刘冬生.基于SAA6588解码器的RDS接收系统的设计与实现[J].自动化仪器仪表,2005(2):18-21.
[7] 李静,应自炉,李德锋,等.基于SI473X的RDS功能设计与实现[J].现代电子技术,2011,34(21):175-177,182.
[8] 庄逸众,田野.一种基于RDS单向广播信道的文件分发方法[J].软件,2012,33(12):197 -200.
[9] 胡大可.MSP430系列超低功耗16位单片机原理与应用[M].北京:北京航空航天大学出版社,2000:39.
[10]杨平,王威.MSP430系列超低功耗单片机及应用[J].国外电子测量技术,2008,27(12):48 -50.
[11]肖景和,赵健.初学无线电——电子电路分析[M].北京:人民邮电出版社,2006:41-50.
[12]于宁,万江文,吴银锋.无线传感器网络定位算法研究[J].传感技术学报,2007,20(1):187 -192.