智能小区中嵌入式MP3流媒体网络广播系统的设计与应用_图文

嵌入式技术

智能小区中嵌入式 !"# 流媒体网络广播系统的设计与应用
邓 丹 #吴 小 强 #罗 代 升 ’ 四 川 大 学 电 子 信 息 学 院 # 四 川 成 都 !&GG!" (
摘 要 & 智 能 小 区 中 基 于 HI:< 开 发 板 $ 4/-J 库 和 45678 实 时 操 作 系 统 的 嵌 入 式 *+, 系 统 的 设 计 与应用% 关 键 词 & 嵌 入 式 系 统 *+, 广 播 12+ 协 议 智 能 小 区
早期的智能小区广播大多采用模拟方式# 如调幅$ 调频广 播% 这 种方式 的优 点是 减少了 布线 的麻烦 #缺点 是容易在传输过程中受空中杂波的干扰% 随着数字技 术$多媒体技术$网络技术的发展#数字网络音频广播 已悄然兴起% 数字网络广播将模拟信号转换为数字信 号进行 处理 和传输 % 由于 它采 用了纠 错编 码技术 #消除 了模拟 方式 的噪声 干扰 #从而 保证了 传输 的可靠 性% 传 统广播只能在规定的频率和发射功率内进行传播#覆 盖范围受到制约% 而数字网络广播却可以通过网络将 广播发送至网络用户#广 播范 围大幅 度增 大#并且 其接 收 音 质 好 # 可 令 听 众 享 受 到 #$ 质 量 的 广 播 节 目 % 网 络 广播 抗干 扰能力 强#信 号 几 乎 零 失 真% 目 前#智 能 小 区 已开始利用千兆以太局域网进行音频广播% 网络广播 一 般 分 为 两 种 方 式 &%&’ 下 载 播 放 # 即 先 把 数 据 通 过 网 络 下载在 本地 #然后再 用媒 体播 放器播 放% 这 种广播 的优 点是播放与网络的传输速率无关#播放效果好#允许分 段多次续传下载#下载后可以反复播放% 缺点是必须等 待文件完全下载后才能播放#时间较长#且用户端要有 较 大 的 存 储 容 量 % %()流 式 播 放 % 流 是 连 续 传 输 的 数 据 # 流式传输方式是将整个多媒体文件经过特殊的压缩方 式分成一个个压缩包# 由服务器向用户计算机连续实 时传输% 它采用边下载边播放的方式% 与下载播放方式 相比#流式播放不仅使启 动延 时大幅 度缩 短#而且 对系 统缓存容量的需求也大大降低% 流式播放为实时广播 提供了保证% 本 文 设 计 实 现 了 一 种 嵌 入 式 *+, 流 媒 体 广 播 系 统# 用于智能小区的媒体广播% 系统的硬件采用嵌入 式结构#优点是体积小$成本低$占有资源少$管理简 单 $ 维 护 容 易 % 因 为 *+, 是 目 前 网 络 上 音 频 播 放 文 件 最 普 遍 的 格 式 # 所 以 音 频 数 据 格 式 采 用 *+, % 与 其 他 音 频 数 据 格 式 ’ 如 +#* $ -.# $ */$/ 等 ( 相 比 # *+, 具 有 较 高 的 压 缩 率 和 不 逊 于 #$ 的 音 频 质 量 % 数 据 传 输 和 播 放 采 用 流 媒 体 形 式 % 采 用 *+, 流 媒 体 广 播 的 优 点 是 兼容性强$实 时性高 $连续 性好 $数据传 输和 广播连 续 进行$无须数据下载#解决了掉包$时断时续$数据下 载等待等问题%

! 嵌 入 式 "#$ 流 媒 体 网 络 广 播 系 统 的 设 计
在过去的十年中# 嵌入式系统的开发与应用方式 发生了很大变化#其应 用已由 工业 $通信 和网络 扩展 到 与数 字多 媒体 相关的 各个 消费领 域% 过 去#嵌 入式系 统 是一个 孤立 的$资源 有限 $功能 较少$用 途单 一 的 系 统# 各自拥有独特的显示方式和用户界面% 它们的生产商 追求在有限的价格上满足一定的功能要求# 通常采用 功 能 并 不 强 大 的 #+0 # 尽 可 能 地 压 缩 系 统 性 能 % 今 天 # 人们将嵌入式系统用在智能化和互联化的系统中是希 望它们能够通过互联网$无 线或 其他 方式相 互连 接#采 用相同的方式#运行很多 相同的 应用 程序 #实现多 种智 能化的功能% 由嵌入式系统的结构可以看出# 在实时操作系统

%12.3 ) 之 上 建 立 嵌 入 式 系 统 的 应 用 程 序 非 常 必 要 % 嵌 入
式系统应用软件的开发与研究#一直都是非常重要及有 意义的课题% 本 系 统 就 是 基 于 嵌 入 式 45678 操 作 系 统 开 发 的 一 个 应 用 系 统 # 其 功 能 是 实 现 智 能 小 区 中 *+, 流 媒 体 网 络 广播% 系统主要由服务器端和客户终端两部分组成% 要 创 建 *+, 流 媒 体 广 播 嵌 入 式 系 统 # 已 有 的 45678 下 的 开 放源码工具不符合嵌入式系统的工 作条 件和要 求9如 采 用 5:;:<=> 和 5:;= 进 行 创 建 ) # 因 此 # 必 须 对 广 播 的 服 务 器 端和客户终端进行软件的研究和设计% 本系统的服务器 端 在 ?56@AB= 环 境 下 工 作 # 界 面 用 -# 编 程 实 现 % 嵌 入 式 客 户 终 端 的 操 作 界 面 应 用 C>D;EF;@@;@ 库 实 现 % 在 小 区 的 物 业 管 理 中 心 安 装 了 *+, 广 播 服 务 器 % 服 务 器 端 由 管 理 中 心 人 员 操 作 % 由 于 ?56@AB= 系 统 的 普 及 性 及 易 操 作 性 # 所 以 在 服 务 器 端 选 择 以 ?56@AB= 作 为 系

!电子技术应用 " !""! 年第 " 期

本 刊 邮 箱 # !"#$%&’! ( &)* ( &%

KL

嵌入式技术
统 平 台 运 行 %&’ 的 播 放 程 序 # 为 了 让 用 户 能 有 更 多 的 选 择 $ 系 统 实 现 了 多 路 的 %&’ 广 播 # 对 于 多 路 的 发 送 与 接 收 $ 主 要 利 用 /0& 和 /01& 所 用 端 口 号 分 别 监 听 # 每 一 路 分 别 采 用 一 个 独 立 的 /0& 和 /01& 端 口 号 $ 与 接 收 端的接收路数的端口号相对应# 这样才能使每一路的数 据在网 络中 不交叉 $各自 独 立 # 考 虑 到 网 络 的 带 宽 以 及 使用需求$本设计采用了 # 路通 道以 保证数 据流 能顺畅 地发送# 在系统文件中$将需广播的歌曲分别放置到 # 个不同目录%以后对歌曲 的管 理都 在相应 的文 件夹下 进 行 &中$每 路播放 分别 对应不 同的 目录 $启动服 务 器 端 程 序即启动 # 路播放线程# 首先分别读出 # 路所对应文件 夹 下 的 所 有 %&’ 文 件 $ 每 路 都 产 生 随 机 数 以 便 歌 曲 被 随 机 播 放 # 随 后 每 路 利 用 不 同 的 /0& 和 /01& 端 口 号 分 别 建 立 /0& 会 话 # %&’ 数 据 被 封 装 为 一 个 个 的 /0& 包 $ 不断循环地送往小区局域网络$ 直到一首歌曲发送完 成$开 始对下 一首 歌曲文 件 进 行 封 包 发 送 # 这 样 不 断 循 环$从 而实 现随机 循环 广 播 # 路 歌 曲 的 目 的 # 服 务 器 端 的结构如图 , 所示#
小区管理人员启动 # 路播放线程 播放 图 $ %&’ 流 媒 体 广 播 系 统 客 户 终 端 结 构 图 数据流写入循环队列 读出数据并解码 小 区 中 需 求 用 户 开 启 终 端 %&( 收 听 )启动两个线程*

# 路数据进入小区局域网络

的 实 现 中 $ 服 务 器 端 基 于 456789: 平 台 $ 客 户 终 端 系 统 基 于 ;56<= 内 核 # ;56<= 操 作 系 统 可 应 用 于 多 种 硬 件 平 台$ 原型可以在标准平台上开发后移植到具体的硬件 上 $ 使 软 件 与 硬 件 的 开 发 过 程 加 快 # 本 系 统 在 >#! 上 开 发 后 再 移 植 到 硬 件 平 台 上 # ;56<= 的 高 度 模 块 化 使 添 加 部件非常容易$而且是 免费 开源$定 会节 省大 量的开 发 费 用 # ;56<= 的 优 势 还 体 现 在 可 靠 性 和 软 件 规 模 方 面 #

;56<= 可 以 根 据 实 际 需 要 进 行 裁 剪 $ 并 且 具 备 强 大 的 内
存保护功能$可靠性高# 如今$业界已经达成 共识)嵌 入 式 ;56<= 是 大 势 所 趋 $ 其 巨 大 的 市 场 潜 力 与 酝 酿 的 无 限 商机必然会吸引众多的厂商进入这一领域#
+. +#

+,

+$

+(

+"

+-

+!

%&( &% 硬 件 环 境
在 应 用 于 智 能 小 区 的 嵌 入 式 %&( 流 媒 体 广 播 系 统 的 实 现 中 $ 嵌 入 式 1&? 采 用 @03AAA $ 其 1&? 核 心 是 方 舟 $ 号 % BCDE3 & # @03AAA 集 成 了 高 性 能 1&? 核 心 和 &1 架构南北桥中的大部分功能$是信息终端设备和网络设 备 的 理 想 解 决 方 案 # @03AAA 在 "AA%FG 主 频 下 运 行 时 最 大 功 耗 只 有 ’!A 毫 瓦 $ 是 业 界 最 具 竞 争 力 的 高 性 能 ( 低 功 耗 微 处 理 器 产 品 # 方 舟 开 发 板 +CED8 则 为 基 于 @03AAA 的产品开发提供了一个易于扩充( 易于配置的平台$本 系 统 采 用 了 +CED8 开 发 板 # 一 个 全 新 体 系 结 构 的 开 发 与 应 用 需 要 高 质 量 编 译 器 工 具 链 的 支 持 # 方 舟 1&? 作 为 一 个 全 新 的 /HI1 指 令 集 体 系 结 构 $ 编 译 器 的 支 持 至 关 重 要 # 方 舟 科 技 移 植 增 强 了 @J? 编 译 开 发 环 境 $ 使 其 对 方 舟 1&? 体 系 结 构 提 供 了 全 方 位 的 支 持 # 其 @J? 编 译 工具链覆盖了编译技术和开发环境的方方面面$代码效 率 及 可 移 植 性 在 业 界 处 于 领 先 地 位 $ 已 成 为 ;56<= 操 作 系 统 下 的 标 准 开 发 环 境 $ 也 是 嵌 入 式 1&? 开 发 环 境 事 实上的工业标准#

随机数产生器 各路数据打包送至网络

客户终端 图 , %&’ 流 媒 体 广 播 系 统 服 务 器 端 结 构 图

在小区各用户家中安装系统客户终端$ 客户终端 设计成通过小区局域网同时接收 # 路音乐广播$ 并且 可以对这 # 路音乐进行随意选择和切换收听# 客户端 在 嵌 入 式 环 境 下 运 行 %&’ 广 播 接 收 程 序 # 用 户 通 过 终 端 按 键 启 动 程 序 $ 即 启 动 两 个 线 程 # 一 个 线 程 建 立 /0& 会话及对 # 路分别会话进行相对应的设置$ 然后从网 络 循 环 接 收 %&’ 数 据 流 并 将 数 据 流 写 入 缓 存 ) 这 里 缓 存采用循环队列 的概念 &’另一 个线程 则首 先对 声卡参 数)如声卡采样率(声道等2进行设置 $然后不断地从缓 存 % 循 环 队 列 & 读 出 %&’ 数 据 $ 随 后 对 数 据 流 进 行 实 时 解码并写入声卡$从而达到接收广播并播放的目的# 两 个线程同时进行$ 实现了边从网络接收边播放数据的 功能$体现了系统的实时性# 客户终端结构流程如图 3 所示#

%&% "#$ 流 媒 体 传 输 协 议
在 应 用 于 智 能 小 区 的 嵌 入 式 %&( 流 媒 体 广 播 系 统 的实现中$传输方式采用流式传输 # 实 现流 式传输 的 一 个 重 要 条 件 是 要 有 合 适 的 传 输 协 议 # /0& % /KEL MN5OK

! 嵌 入 式 "#$ 流 媒 体 网 络 广 播 系 统 的 实 现
%&’ 系 统 实 现 环 境 %&(&( 软 件 环 境
在 应 用 于 智 能 小 区 的 嵌 入 式 %&( 流 媒 体 广 播 系 统

0CE6:P8CN &C8N8D8L2 正 是 作 为 这 样 一 种 适 时 的 传 输 协 议 而
出现的$ 它是进行实时流媒体传输的标准协议和关键 技术#

/0& 协 议 是 用 于 H6NKC6KN 上 针 对 多 媒 体 数 据 流 的 一

!A

欢迎网上投稿 !!!"#$%&$%"’& !!!"($%&$%"’)*+’&

!电子技术应用 " !""! 年第 " 期

嵌入式技术
种 传 输 协 议 # 1-0 被 定 义 为 在 一 对 一 或 一 对 多 的 传 输 情 况下工作$其目的是提供 时间 信息和 实现 流同步# 整个 此采用缓存系统# 缓存大小的设置直接影响播放质量# 本系统数据缓冲区采用了循环队列的概念$ 其优点为 在不断顺序读取数据的同时又不断将数据写入队列$ 因此使得缓冲大小相对稳定$从而保证数据的连续性# 在数据发送接收的最初$由于数据量少$声音可能出现 断续$此时$队列 数据 需达到 一定 的数 据量时 才往 声卡 写入# 此后往队列不断写入数据并将队列的数据不断 地写入声卡$从而保证了数据流的连续性# 因此测试收 听音质效果好$对于 每一 帧的 数据大 小$也 就是每 次写 入缓冲队列的数据$ 程序会根据歌曲文件的大小自动 对 其 加 以 调 整 以 最 适 合 传 输 # 例 如 . J .*8 的 文 件 每 一 帧 数 据 被 发 送 时 大 小 为 A /E"8 $ 而 ! J A*8 的 文 件 每 一 帧 数 据 大 小 则 为 F.A8 # 另 外 $ 在 嵌 入 式 客 户 终 端 操 作 时采用图形界面方式# 由于要照顾到不同的使用者$如 老人(小 孩$所 以 就 要 使 操 作 简 单 方 便 # 本 设 计 中 只 利 用简单的几个按键就能直观方便地进行操作$ 从而使 应用操作比以往产品的复杂操作更加人性化$ 应用范 围更加广泛# 在实验测试中$ 模拟了几种丢帧情况下的音质效 果# 实 验中 $故意让 接收 数据进 入队 列时 丢帧$做 了几 组 测试$ 可以观察到丢帧概率不同时的声音断续情况$如 表 A 所示#

1-0 协 议 由 两 个 密 切 相 关 的 部 分 组 成 % 1-0 数 据 协 议 和 1-,0 控 制 协 议 # 1-0 是 通 过 在 2+0 上 工 作 来 进 行 数 据 传 输 的 $ 但 也 可 以 在 其 他 协 议 上 & 如 -,0 ’ 工 作 # 而 控 制
协 议 只 能 使 用 1-,0 # 当 应 用 程 序 开 始 一 个 1-0 会 话 时 将 使 用 两 个 端 口 $ 一 个 给 1-0 $ 另 一 个 给 1-,0 # 1-0 本 身并不能为按顺序传送数据包 提供 可靠的 传送 机制$也 不 提 供 流 量 控 制 或 拥 塞 控 制 $ 它 依 靠 1-,0 提 供 这 些 服 务 # 通 常 1-0 算 法 并 不 作 为 一 个 独 立 的 网 络 层 来 实 现 $ 而 是 作 为 应 用 程 序 代 码 的 一 部 分 # 1-0 与 1-,0 配 合 使 用$它 们能 以有 效的反 馈和 最 小 的 开 销 使 传 输 效 率 最 佳 化$因而 特别 适合 传送网 上 的 实 时 数 据# 相 对 于 传 统 的 传 输 协 议 $ 1-0 协 议 更 能 保 证 数 据 的 实 时 传 输 # 在 本 系 统 实 现 中 $ 采 用 34($5 下 的 3)67 库 进 行 数 据 传 输 # 在 34($5 下 $ 有 很 多 基 于 1-0 协 议 的 库 $ 如 3)81-0 ( 91-03)8 ( 3)67 库 等 # 3)67 库 是 一 个 基 于 1-0:1-,0:

1-;0:;)0 协 议 的 流 媒 体 传 输 库 $ 其 移 植 性 好 $ 既 可 以 在 2(45 平 台 上 编 译 $ 也 可 以 在 <4(=>?@ 平 台 以 及 其 他 一 些
系统平台上编译# 它适合于嵌入式和低功耗场合的流媒 体应用#

!"# $%# 流 媒 体 解 码
在 应 用 于 智 能 小 区 的 嵌 入 式 *0. 流 媒 体 广 播 系 统 的 实 现 中 $ 用 户 接 收 端 接 收 到 的 数 据 是 网 络 传 来 的 *0. 数 据 流 $ 因 此 $ 先 对 *0. 数 据 流 解 码 $ 然 后 才 能 写 入 声 卡播放#

表 ! 丢帧情况模拟表
测试组数 组 H 组 / 组 . 组 " 丢帧率 平 均 端 续 时 间 间 隔 &@’

*0. 解 码 过 程 是 先 将 *0. 数 据 帧 解 包 $ 然 后 用 #$%%&’( 解 码 解 出 位 分 配 信 息 # 接 着 在 逆 变 换 中 利 用 频 谱 系 数 $ 在 合 成 滤 波 器 中 将 ./ 个 子 带 合 并 成 一 个 宽 带
信 号 $ AB 个 频 谱 值 执 行 ./ 次 改 进 型 离 散 余 弦 逆 变 换

HQE H Q HR H Q /R R

/$. !$S /R $ /E


从表 A 可以看出%丢帧率越小$断续出现的时间间 隔 越大 $也就 是数据 越流 畅#而在 不丢 帧的 情况下 $亦即 实验中程序运行情况下$播放基本没有断续$声音 流畅 ( 音色 较好 $达 到了 系统功 能要 求# 从系统实现及实现结果看$系统达到了工程设计要 求 # 在 发 送 *0. 数 据 流 时 $ 可 以 同 时 发 送 多 路 数 据 $ 在 接 收 *0. 广 播 时 $ 能 顺 利 切 换 各 个 频 道 $ 并 且 音 质 流 畅 $ 达 到 了 较 好 接 收 *0. 数 据 流 的 效 果 # 系 统 操 作 简 单$适应于各种层次的用户 # 本系 统除了 能很 好地适 用

C)*+,-D # 再 将 生 成 的 EF! 个 频 谱 值 变 换 成 长 度 为 ./ 的 AB 个 连 续 频 谱 $ 通 过 AB 次 运 算 $ 多 相 位 合 成 滤 波 器 将 这
些 频 谱 转 换 到 时 域 完 成 波 形 重 构 $ 生 成 0,* 音 频 数 据 # 多相位滤波器组包含一个频率映射运算 C例如矩阵相 乘 G 和 一 个 有 EH/ 个 系 数 的 I)1 滤 波 器 # *0. 流 媒 体 解 码的流程如图 . 所示#
#$%%&’(
去复用 和检错 解码 边带 信息解码 图 . *0. 流 媒 体 解 码 流 程 图 反缩放

)*+,-

逆 ./ 子 带 滤波器组

0,*

于智能小区外$ 还可应用于其他一些局域网的场合$如 校 园 ( 酒 店 等 # 系 统 具 有 成 本 低 ( 体 积 小 ( 对 *0. 数 据 流 可进行实时解码等优点$将会被越来越多地应用于人们 的生活中# 参考文献 A 卢 官 明 $ 宗 日方 J 数 字 音 频 原 理 及 应 用 J 北 京 % 机 械 工 业 出 版
社 $ /KKE

# 系统的试验结果与讨论
流 式 传 输 的 实 现 需 要 缓 存 $ 在 传 输 中 实 时 *0. 音 频 文件被拆分为许多数据包# 由于网络动态变化$各个数 据包选择的传输路由不尽相同$ 所以到达客户端时间 延迟也就不等$甚至有先发的包后到及未到的情况# 如 果直接播放这种数据流会引起音频的延迟和抖动$因

/ LM( ,J 0>NO&’(( 著 $ 苏 菲 译 J 数 字 音 频 原 理 与 应 用 $ 北 京 %
电 子 工 业 出 版 社 $ /KK/ & 收 稿 日 期 % /KKEP HK PHE ’

!电子技术应用 " !""! 年第 " 期

本 刊 邮 箱 # !"#$%&’! ( &)* ( &%

!H


相关文档

嵌入式网络MP3设备的设计与应用
一种基于嵌入式的流媒体播放系统的设计与实现
应用于智能小区可视对讲中的嵌入式视频通信及监控系统设计与实现
嵌入式系统在智能小区信息终端的应用
嵌入式系统的智能小区广告机的设计
基于嵌入式以太网的智能小区安防系统设计
基于嵌入式GIS在智能小区信息系统的设计与实现
基于嵌入式系统的MP3播放器设计
基于流媒体的在线音乐点播系统的设计与实现
基于ARM9的智能小区嵌入式门禁控制系统 的分析和设计
电脑版