无线分布式背景音乐系统的设计
扫描二维码
随时随地手机看文章
引 言
互联网的繁荣带动了物联网的发展,智能家居作为物联网的一部分也在快速的发展,智能家居的网络化、智能化、信息化慢慢把用户端的交互扩大为物与物之间的信息交换和通信,同时也促进了嵌入式设备、传感器设备和家庭传统设备在一定范围的连接,形成了整个智能家居系统的的协调发展。在智能家居的众多子系统中,背景音乐系统也正朝着智能化快速发展。
无线网络与智能系统的不断成熟彻底改变了人们的生活习惯,无线分布式音乐播放系统融合了无线技术、智能控制、全布局音乐系统。通过网络独特的创新性与交融性,将家庭影音技术与无线传输相结合 [1]。在控制方式方面完全不同于传统的影音设备单调的操控,而是结合PC、Mac、iphone、iPad 与Android 手机等数字化智能操作设备进行多元化的控制,更加体现出人性化的特点,用户在家中的每个角落都可以轻易实现对整套音乐系统的播放控制[2]。
1 系统概述
本文设计一种分布式的无线背景音乐系统,所谓分布式即音源是一个,播放是在不同的房间播放,音源不是集中在一个中心的,而是分散在各个播放盒里。如每个人的生活习惯和爱好不一样,自己下载自己的音乐,多个不同的音乐源再共享资源,虚拟成一个整体来控制实现共享,此系统不需要庞大的主机,各个小型控制器分散在不同的房间里但又不是独立的个体,却可以统一组网到一起。
图 1 所示为无线背景音乐系统的整体效果图。图中整个系统中各个无线音乐盒与无线路由相连,处于同一个无线环境中,通过设计无线模式实现资源共享 ;各音乐盒将自身存储音频文件或者无线环境内的其他音乐盒内的共享音频文件通过无线传输给无线音箱进行播放 ;播放控制通过手机、pad 或PC 等移动终端设备实现。
2 系统相关原理和技术
2.1 分布式系统原理
分布式系统使得资源的共享更加方便。各种信息、文件、数据库和各种昂贵的硬件资源被分布式地管理和维护,并为用户的访问提供了方便。这样就能节省大量的重复投资 [3]。分布式系统对外提供无状态节点,内部实现具体有状态或者无状态节点逻辑,节点既可以提供服务,也可以存储数据。
为了使种类各异的计算机和网络都呈现为单一的系统, 分布式系统常常通过一个软件层组织起来,该“软件层”在逻辑上位于由用户和应用程序组成的高层与由操作系统组成的低层之间,如图 2 所示。这样的分布式系统有时又称为中间件(middleware)[3]。
分布式系统数据有 4 种分布方式,如下所述:
(1) 哈希方式,把不同的值进行哈希运算,映射到不同的机器或者节点。实现扩展时比较困难,数据分散在很多机器上,扩展的时候要从多个机器上获取数据,容易出现分布不均的情况。
(2) 按数据范围分布,比如ID在 1~20的在机器A上,ID在 21~40的在机器B上,ID在 40~60的在机器C上实现, ID 在 60~100的分布在机器D上,数据分布比较均匀。如果某个节点处理能力有限,可以直接分裂该节点。维护数据分布的元信息,可能出现单点瓶颈。
(3) 按数据量分布,与哈希方式和按数据范围方式不同, 数据量分布数据与具体的数据特征无关,而是将其视为一个顺序增长的文件,并将这个文件按照某一较为固定的大小划分为若干数据块(chunk),不同的数据块分布到不同的服务器上。
(4) 一致性哈希,构造哈希环,有哈希域[0,10],则构造 3个部分 [1,4)/[4,9)/[9,10),[0,1)/, 这 3部分是一个环状,增加机器时,变动的是其附近的节点,分担的是附近节点的压力。
2.2 WiFi技术
WiFi 全称为WirelessFidelity(无线保真技术),也叫做 IEEE 802.11 b 标准,工作在 2.4 GHz 频段上。传输速度快, 带宽可达 11 Mb/s,并且带宽可以自动调整,遇到干扰或者信号不太好的时候, 带宽可变为 5.5 Mb/s、2 Mb/s 和 1 Mb/s, 很好的控制了网络的可靠和稳定。传输距离长,在空旷的地方可以达到 300 米左右,封闭环境下也能达到 100 米左右的传输距离。同时WiFi 无线组网成本低,而且更安全。
WiFi 的两个基本模式如下所述:
(1) AP:AccessPoint,即无线网络桥接器或接入点,创建了一个无线网络环境,是无线网络的中心节点。主要在媒体存取控制层 MAC 中扮演无线工作站与有线局域网络的桥梁。
(2) STA:Station,即无线站点,类似于无线终端,STA 本身并不接受无线的接入,它可以连接到AP,一般无线网卡即工作在该模式[4]。
WiFi 的工作方式如下所述:
(1)被动型串口设备联网
被动型串口设备联网指系统中的设备处于被动的等待连接状态,与这些设备的连接主要由后台服务器来主动发起。典型的应用,如某些无线传感器网络,每个传感器终端实时的在采集数据,暂时保存在设备中。而后台服务器则周期性的每隔一段时间主动连接设备,并请求上传或下载数据。
(2)主动型串口设备联网 主动型串口设备联网指的是由设备主动发起连接,并与后 台服务器进行数据交互(上传或下载)的方式。典型的主动型 设备,如无线 POS 机,在每次刷卡交易完成后即开始连接后 台服务器,并上传交易数据 [5]。
3 系统硬件设计
本系统由多个无线音乐盒播放系统组合而成,各个小的 系统之间通过 WiFi 实现无线资源共享,下面介绍单个无线音 乐盒播放系统的设计。
3.1 无线音乐盒播放系统的设计
系统的硬件示意图如图 3 所示,下面对系统中的各个模 块进行说明。
3.2 主控模块
主 控 模 块 使用 S3C2440A,S3C2440A 微 处 理 器是 一 款由 Samsung 半导体公司推出的高性能、低功耗、高集成 度并具有工业级温度范围和性能的微处理器,S3C2440A 采 用了 16/32 位 RISC 体系结构和 ARM920T 内核强大的指令 集,具有指令高速存储缓冲器(I-Cache)、数据高速存储缓冲 器(D-Cache),写缓冲器和物理地址 TAG RAM 减少主存带 宽和响应性带来的影响。工作频率最高可达 533 MHz ;2 片 4Banks×4 MB×16 b 的 SDRAM,共 64 MB 的内存,可扩展 至 128 MB ;256 M×8 b 的 Nandflash(K9F2G08);4 MB 的 Norflash,支持容量 128 M 或更高 。
3.3 无线音频传输模块
随着蓝牙、WiFi和 2.4GHz技术等无线技术的快速发展和成熟,音频的传输也正在越来越多的使用无线技术。未来无线音频技术的不断成熟,无线技术将取代有线的音频传输, 这样将带来更加便利的生活。在目前种类繁多的无线音频技术中,2.4GHz技术有着广泛的应用,同时也是比较有可能被大范围应用在普通音频设备中的。蓝牙、WiFi和 2.4GHz技术在工作频段上是相同的,都是 2.4~2.485GHzISM无线频段。从目前市场上的无线音频产品上来看,低功耗的优点使得蓝牙无线音响应用最多,当然技术也是最为成熟的了,但是蓝牙有着天生的带宽窄的缺点,对于高保真音频信号的传输显得力不从心,另一个缺点就是传输距离只有 10米左右,对于距离要求远的用户达不到要求,同时抗干扰也是一个问题。与蓝牙技术相比,WiFi 技术似乎不存在这些缺点,带宽宽、传输距离远。但是在抗干扰方面还是存在问题。与蓝牙、WiFi 相比,2.4 GHz 技术具有能传输高品质音频信号的宽带宽 ;在抗干扰方面,2.4 G 技术使用了自动调频技术,在工作状态下, 当发现频段被占用的时候,能自动地跳转到一个无人使用的频段 ;此外,2.4 GHz 技术也具有低功耗的特点,在发射、接收音频信号时不需要连续的工作[6]。
所以本系统的无线音频传输模块使用 Nordic 公司的nRF24L01 无线模块,采用 2.4 GHz 短距离无线传输技术。
3.4 nRF24L01模块介绍
nRF24L01是Nordic公司研发的单片2.4G无线通信芯片, 工作于 2.4GHz~2.5GHz世界通用ISM频段。nRF24L01内部有若干寄存器,外部留有SPI接口,外部单片机通过SPI接口配置此芯片内部的寄存器。因为有自己的协议,所以只能是用在 nRF24L01与 nRF24L01或者 Nordic公司此系列的芯片通信,一般情况下,用在两个 nRF24L01之间的通信,任何一个模块都可以设置为接收或者发送模式,而且可由主控单片机随时根据需要设置为发送或者接收模式。
两个 nRF24L01 的通信,需要满足 3 个条件 :(1)频道相同(设置频道寄存器 RF_CH);(2)地址相同(设置 TX_ ADDR 和RX_ADDR_P0 相同);(3)每次发送接收的字节数相同(如果设置了通道的有效数据宽度为 n,那么每次发送的字节数也必须为 n,当然,n<=32)。
nRF24L01 也可以实现一对多通信,使用nRF24L01 的通道 0,通过改变频道和地址来实现 1 对多的互发。它虽然属于2.4 G 芯片,但实际上,可在 2.4 G 到 2.5 G 之间的频道上通信, 一共有 125 个频道,它的地址是 5 字节的。所以用这种方式, 理论上可以实现一对无数的通信。
nRF24L01 芯片的接口电路如图 4 所示。
3.5 发射与接收部分设计
图 5 所示为发射与接收部分原理图。
发射部分由主控模块将音源数据通过 nRF24L01 模块 的 2.4 GHz 频段发射出去。接收部分由 MCU 控制器通过 SPI 接口从 2.4 GHz 无线模块 nRF24L01 接收音频数据,再通过 I2S 接口将音频数据传送给音频输出模块来播放音乐。控制器 MCU 需要支持 SPI 和 I2S。选用新唐 M451 系列开发板为控 制器 MCU,内建 ARM CortexTM-M4 内核,最高可运行 72 MHz 外部时钟,具有 256 kB 内建 Flash 存储器和 32 kB 内建 SRAM,还兼有 SPI、I2S、USB2.0 等常用外设。可以满足无 线音频接收控制模块的数据处理要求。
4 系统软件设计
图 6 为无线音乐盒初始化和工作状态软件设计流程图。
初次使用需进行初始化操作,首先通过指示灯检查是否 能正常工作,正常工作情况下,通过长按配对按键与房间区域 内的需要连接的一个或多个无线音箱设备配对形成一个音乐 播放子系统,再通过 WiFi 连接无线路由器加入局域网,此时 单个播放系统配置完成,系统会处于睡眠状态等待播控信号 唤醒。当音乐盒接收到播控信号时,首先检查目标播放的音源 文件是否在本地,若音源在本地则直接发送音源数据给予播 放子系统内的无线音箱设备进行播放 ;若音源不在本地,则 发出获取目标音源文件的请求信号,由无线路由器负责转发请 求给其他局域网内的无线音乐盒,再由路由器转发获取的音源 文件或者音源不存在的通知信息。
5 结 语
本文设计的无线分布式背景音乐系统,通过手机端软件 的设计实现背景音乐的控制,利用 WiFi 技术实现局域网内的 音源无线共享,同时利用了无线音频传输技术,解决了家居环境布线带来的烦恼。但是本设计还没有应用到实际的家庭环境中,研发技术还有待于进一步的提高,将这些技术应用到智能家居系统上来,希望在以后的研究中提高本系统的应用性和可用性。