基于Arduino单片机的手机蓝牙遥控数字调频发射器

2015-05-04 21:50黄志辉杨宁渝
数字技术与应用 2014年12期

黄志辉++杨宁渝

摘要:数字调频发射器是基于数字技术的高质量广播系统,它虽能很好地解决模拟调频方案存在的电路体积大、调谐不方便、稳定性欠佳等弊端。但是传统的数字调频发射器,大多采用的是通过编码旋钮开关进行调频的机械式调频方式,这就存在频点精度高低与调频步长大小的矛盾关系,而且由于硬件的接触不良还会给用户在调频上带来更多的不便。基于用户在使用数字调频发射器的便捷以及如今蓝牙手机的普及情况考虑,本文给出了基于arduino单片机的手机蓝牙遥控数字调频解决方案。通过最终的测试可以看出,用户通过手机的蓝牙技术连接arduino单片机上的蓝牙模块,可实现对数字调频发射器进行高精度的任意频点间的跨频点调频;而且还减少传统数字调频在调频和显示上面的设计成本并大大简化了整个发射器的电路。

关键词:Arduino单片机 手机蓝牙遥控 数字调频

中图分类号:TN92 文献标识码:A 文章编号:1007-9416(2014)12-0103-02

0 引言

调频广播作为人们日常生活重要的娱乐方式,由于模拟的调制音频广播频段己经饱和,导致越来越多的临频道和同频道的信号干扰[1],使广播的质量不断恶。近几年,随着数字通信技和集成电路技术的快速发展,信号的数字处理技术也得到了相应的发展,数字信号处理在我们的日常生活中也发挥着重要的作用,比如在交通、教学以及医疗等领域的作用日益重要。而今,广播的数字化发展趋势也越来越强,数字的调频广播激励器是运用数字方式来产生载波,然后进行音频信号和载波的合成,其具有信号频率精确、信号质量稳定、音质优良以及较低的功耗等优点,并越来越受到人们的重视[2]。然而,目前市场上数字调频发射机因为普通采用编码旋钮开关或者按键等机械的调频方式,故而存在频点精度高低与调频步长大小的矛盾关系,而且由于硬件的接触不良还会给用户在调频上带来更多的麻烦。因为设计者在给定的频段上想要获得更多的发射频点就会设计更高的频点精度,比如到0.1级的精度,但是这样调频步长也相应变小了,从而导致跨频点调频的不方便。而且由于机械调频方式还可能存在硬件上面接触不良的情况,所以也会给用户在调频时带来没反应甚至反向调频的麻烦。对此,本文基于用户在使用数字调频发射器时的便捷以及如今蓝牙手机的普及情况考虑,给出了基于arduino单片机的手机蓝牙遥控数字调频解决方案。

1 硬件结构设计与介绍

1.1 硬件结构框图设计

本文采用的是带有蓝牙模块的arduino单片机作为数字调频发射器的控制器,以其为中心再分别连接内嵌有RDA5820芯片的PL102BH-20立体声收发模块和带有蓝牙无线通信技术的手机,并外接USB的5V电压进行供电。具体硬件结构框图如图1所示。

1.2 相关硬件介绍

1.2.1 Arduino单片机与arduino蓝牙模块

Arduino是一款基于开发原始代码的开源电子原型平台。它具有便捷灵活、方便上手以及极好功能扩展性等优点,它使用类似Java、C语言的Processing/Wiring开发环境。Arduino的UNO版单片机,其有左右两排串口,左排串口包括3.3V、5V的供电串口和6个模拟串口;右排主要由14个的数字串口构成。Arduino蓝牙模块,并且它的串口刚好能和Arduino单片机上的串口一一对应,便于设计者在使用Arduino其他扩展功能的时候,不改变其与其他设备的原来连接方式,有利于设计者后期对设计方案的改进和优化。

1.2.2 PL102BH-20立体声收发模块

“PL102BH-20”是一款内置RDA Microelectronics公司研发的RDA5820 IC的立体声收发模块,它是最新开发生产的一片高灵敏度、低功耗、小体积的调频立体声收发模块。此模块外围组件少、噪声系数极小。具有体积小(11*11)、低功耗、低成本、应用简单、使用范围广等优点。是一款简单易用且具极高性价比的单芯片FM立体声收发模块。最主要的是此模块的串口模式是I2C模式,符合我们刚才在RDA5820芯片里面选用的串口模式。

PL102BH-20模块在不减少RDA5820芯片功能的前提下已经把RDA5820的24个串口封装成了只有10个串口,这给设计者带来了很大方便。而且这里面的SDA和SCK串口刚好能和Arduino单片机的A4、A5两个串口进行I2C模式的通信。

通过阅读RDA5820芯片的设计手册,可知配置RDA5820芯片寄存器40H的3-0这4位的CHIP_FUNC[3:0]数值(0000为FM RX,0001FM TX)来改变芯片接收和发射之间不同的工作模式;配置寄存器03H的15-6这10位的CHAN[9:0]数值来改变公式1中的CHAN参数以达到改变接受或发送频点的目的;配置寄存器03H的3-2这2位的BAND[1:0]数值来改选择芯片的工作频段(00为87.0-108.0MHz,01为76.0-91.0.0MHz,10为76.0-108.0MHz);通过提取寄存器0AH的9-0这10位的READCHAN[9:0]数值,再通过公式2算出READCHAN[9:0]参数以达到获取当前接受或发送频点数值的目的。

1.2.3 Arduino蓝牙模块与手机的蓝牙无线通信技术

蓝牙是一种支持设备间短距离通信(一般10m内)的无线电技术,它能在包括PDA、无线耳机、移动电话、笔记本电脑等众多带有蓝牙功能的设备之间进行无线的信息交换。通过蓝牙技术,能够有效地简化不同通信设备之间的电路连接和通信,从而使数据传输变得更加方便和高效,为无线通信技术拓宽道路。蓝牙采用的是分散式网络结构以及快跳频和短包技术,支持点对点和点对多点的通信,工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段。它的数据传输速率为1Mb/s。采用时分双工传输方案,可实现全双工传输。

本设计中主要用到的是蓝牙配对技术[3]和Bluetooth Serial Port协议[4]。其中配对技术指的是两个Bluetooth设备间建立新的通信链路的技术。在配对过程中,将交换链路密钥(在请求建立连接之前或在连接阶段);而Bluetooth Serial Port的主要功能是将Bluetooth的通信转化成Virtual Serial Port(虚拟串口)。经过这样的转换后,使用Bluetooth的Client程序就可以像使用串口一样操作,即通过这个可以把Arduino单片机软件的监控窗口转化为手机上的显示界面,这样通过手机界面就可以实现对Arduino单片机进行控制和检测的操作[5]。

2 手机蓝牙数字调频发射器的设计与实现

2.1 软件的设计

通过上面对Arduino单片机、手机与Arduino单片机蓝牙无线通信以及RDA5820芯片的学习和掌握,设计了如图2所示的流程图。并根据该流程图在Arduino编程环境中进行相应代码的编写。

2.2 硬件的搭建

根据图2所示流程图,搭建如图3所示的手机蓝牙遥控数字调频发射器的硬件结构图。

3 手机蓝牙数字调频发射器的测试

基于前面硬件、软件的设计与实现,把已经编好的程序烧录到Arduino单片机中,取两部手机(一部蓝牙遥控,一部进行广播收音)并在设计的硬件电路上进行实测。实测结果如图4所示。

通过图4所示的实测图,我们可以看出通过黑色手机的蓝牙软件监控窗口,不仅可以显示从Arduino单片机传回来的RDA5820芯片工作频点,而且还可以往Arduino单片机传送一个预期频点,让RDA5820芯片的工作频点直接调整到预期频点上,达到快速高精度调频的目的。

4 总结

通过本文的设计与实现,可以看出手机通过蓝牙无线技术和Arduino的蓝牙模块进行连接通信,不仅能大大简化整个系统的电路结果达到解决成本的目的;更为重要的是通过手机蓝牙遥控功能,能很好的解决调频精度和调频步长之间的矛盾,也避免了因为编码旋钮开关接触不良给用户在调频时带来的麻烦。

参考文献

[1]徐万明.基于FPGA的数字调频发射机设计[J].电脑与电信,2009(3):75-76.

[2]樊昕.基于DSP的数字调频广播激励器[D].郑州大学,2011.

[3]BluetoothSlany W. A mobile visual programming system for Android smartphones and tablets[C]//Visual Languages and Human-Centric Computing (VL/HCC), 2012 IEEE Symposium on. IEEE, 2012: 265-266.

[4]何彪,周开班.基于NFC技术的蓝牙对象交换方法[J].微计算机信息,2009(6):133-134.

[5]郑昊,钟志峰,郭昊,许骏.基于Arduino/Android的蓝牙通信系统设计.