广告

基于多核ARM的低成本,低功耗影音播放器

时间:2017-03-07 14:50:00 阅读:
低功率系统设计不仅已成为手持移动设备的强制要求,汽车信息娱乐系统同样要求低功率系统设计。此外,汽车系统需要能够将在家庭和办公室的用户体验带到车上。对海量计算、高质量和低功耗解决方案的不断增长的需求迫使嵌入式计算诉求多核系统。因此,基于多核平台的嵌入式解决方案已经在移动、汽车、医疗和工业等应用领域中的游戏、视频和图像处理等许多应用中普及开来。本文介绍了使用低成本、低密度的Zynq FPGA为载客工具(小汽车、公交车、火车、飞机和船舶)的信息娱乐系统创建一个计算平台。
广告

低功率系统设计不仅已成为手持移动设备的强制要求,汽车信息娱乐系统同样要求低功率系统设计。此外,汽车系统需要能够将在家庭和办公室的用户体验带到车上。对海量计算、高质量和低功耗解决方案的不断增长的需求迫使嵌入式计算诉求多核系统。因此,基于多核平台的嵌入式解决方案已经在移动、汽车、医疗和工业等应用领域中的游戏、视频和图像处理等许多应用中普及开来。

多核系统设计面临的挑战在于:利用基于多核的系统和可用的媒体框架,提供开放源代码访问和可移植性的可扩展性,以实现对低功耗、高性能嵌入式应用的需求。随着强大的软硬件可编程片上系统(SoC)FPGA器件的出现,嵌入式系统设计人员能够根据客户的需要设计出精确满足形状、功能和性能要求的解决方案。这些解决方案是满足最终客户要求的最佳、高效、具成本效益的方案。赛灵思的Zynq SoC系列FPGA就是这样的器件。

本文介绍了使用低成本、低密度的Zynq FPGA为载客工具(小汽车、公交车、火车、飞机和船舶)的信息娱乐系统创建一个计算平台。这种平台的其它应用包括用于私人和公共场所的数字标牌和信息显示器,如在旅馆、医院、加油站或售货亭等场所;以及用于消费市场的数字相框。

概述

车载信息娱乐体验面临着匹配家庭或办公室的用户体验的双重要求,同时还要满足汽车行业的能效要求。在我们的案例中,具体要求是构建极低成本、低功耗,720p/30fps的影音播放器方案,它要具有视频-音频同步功能、能够与客户在可编程结构上实现的硬件模块连接。这一目标是通过开发与硬件实时加速紧密耦合的多核软件来实现的,且同时着眼于大大降低BOM、一次性工程(NRE)费用、设计风险,以及极其重要的更快的上市时间。

客户要求多?通用SoC无法满足?自己来Design Start设计一颗

我们对Atria Logic AL-AVPLR-IPC 影音播放器的要求进行了分解,它包括:文件读取器、解复用器、具有色彩空间转换器的H.264 Baseline Profile HD解码器和AAC-LC立体声解码器。还包括具有用于基本播放器操作的内置GUI的影音播放器应用,诸如播放、暂停、停止和快进特技模式等。由Ubuntu LTS提供操作系统支持,因为它提供了极高效核利用率的多核使用。影音播放器应用完全基于Linux GTK,而解码器本身则完全由Linux GStreamer开源多媒体框架实现。播放器的框图如下图1所示。

Atria17030701
图1:Atria Logic 影音播放器框图。(来源:Atria Logic Inc)

我们觉得赛灵思Zynq-7000系列的Z-7010器件为最佳选择,它满足所有要求。该基于ARM的可编程SoC提供最高的CPU性能和最佳的热性能。同时,该器件为那些需要用逻辑阵列实现加速器引擎的需求提供了足够的可编程构造资源,从而确保即使对于这种低功耗平台也具有足够的性能。我们选用该器件的另一个原因是其提供了现成的小巧Zybo开发板,可加快我们的开发进度、尽快出成果。

除了可定制实现胶合逻辑、RAM和DSP功能的可编程逻辑外,Zynq架构还包括一个带有Neon DSP引擎的双核ARM Cortex-A9 CPU、一个完整的串行I/O阵列、USB和PCIe接口、加密/解密引擎、GbE和存储器控制器。低功耗、集成的CAN总线接口和扩展的温度选项使Zynq系列的这款完全硬件和软件可编程的SoC非常适合低功耗、低成本的汽车信息娱乐应用。

视频解码可以30帧/秒的速率处理高达1280×720分辨率的HD图像,立体声音频解码为48kHz。音频和视频保持了完美同步,避免了对白不同步的问题。

设计实现面临的挑战是:尽可能多地留下可用于实现其它功能的可编程逻辑,且同时保持低功耗。这意味着该实现需要充分利用可用的ARM核和Neon DSP,同时优化固件以尽可能高效地运行。这是通过充分利用Ubuntu中的多线程和对称多处理(SMP)功能实现的。

多线程双核播放器

播放器将音频和视频指定为在独立线程上运行的流水线的一部分,用于在两个ARM Cortex-A9内核上并行执行。AAC-LC音频解码器的负荷比H.264视频解码器小得多。因此,视频解码器分为两个线程,以充分利用两个核,每个核运行在667MHz。在图2中,视频线程2生成一个新线程,线程4,这两个视频线程在两个不同的核上运行。

Atria17030702
图2:多线程视频和音频解码执行。(来源:Atria Logic公司)

影音播放器GUI应用程序在单线程、线程1上启动。压缩的音频数据和视频数据分别在线程2和线程3中排队,以保持堆栈溢出限制。对这两个线程中音频和视频数据的解复用(De-multiplexing)将解耦在两个独立的音频和视频处理线程中的数据接收器(sink data)中处理。

Ubuntu操作系统需要估算每个线程所需的最大堆栈空间。每个线程或分支的多队列或单队列元素用于并行或流水线执行任务。操作系统互斥器(mutexes)的所有必需的锁止被启动。在存储器子系统栈空间被正确锁定和解锁的情况下,产生新的视频线程或保持在特定核上的小负荷(small hold)的音频线程。在返回线程时,进程被破坏。但Linux准系统(bare bone)线程无法自动解除分配的本地堆栈存储器。因此,父进程通过将堆栈空间添加到malloc()自由列表来回收存储器空间作为线程清除。用于影音播放器的代码存储器是16KB,而数据存储器被限制为4KB。用于完整框架的整个系统存储器限制为512MB。可以通过仅保留Gstreamer框架的已用特性并剔除未用特性以在很大程度上实施优化。

多线程方法实现的音频和视频解码,最高效地利用了两个核。Gstreamer最初运行的播放器的效率低下,CPU1的利用率只有66%,CPU2的利用率只有81%。线程流水线实现了近100%的核利用率,效率提高了29~34%。

Neon DSP发挥的效率和性能

但几乎100%的核利用率仍不足以满足播放器的性能要求。一个选择是在SoC的可编程逻辑部分实现色彩空间转换。虽然这将减少可能需要的可用于其它系统逻辑的可编程逻辑的存量,视频质量与使用定点逻辑相比差一些。

因此,我们选择在Neon DSP引擎上实现色彩空间转换模块。 Cortex-A9 Neon MPE使用ARM v7高级SIMD和向量浮点指令集扩展了CPU核的功能。充分利用Neon DSP的能力利用32位、64位和128位四元寄存器执行浮点计算明显加速了YUV420到RGB444的色彩空间转换,并且通过利用用于SIMD操作的并行向量数据排列,设法将两个Neon DSP引擎的使用减少到一个。

下面的列表显示了使用Neon DSP引擎的色彩空间转换例程的示例代码列表。Neon DSP还以实时数据解交织的方式支持了多个寄存器的并行加载和存储。

Atria17030704
列表:由Neon DSP引擎实现的YUV到RGB色彩空间转换例程(来源:Atria Logic公司)

性能结果

用于色彩空间转换矩阵例程的Neon DSP代码优化率为1.4×至1.64×。 表1列出了具有不同比特率、大小和复杂性的不同流的结果的详细信息。

Atria17030705
表1:由Neon DSP色彩空间转换代码实现的H.264 + AAC播放器的性能结果。(来源:Atria Logic Inc)

将去模块化滤波器执行转移到一个Neon DSP引擎是降低负荷的另一种可能方式。
在带有ARM Cortex-A9 @667MHz核的赛灵思Z-7010 SoC FPGA上,该方案以近100%的性能利用率、以30帧/秒的速率实现了1280×720的视频解码和AAC-LC立体声音频。在图3中,CPU1核和CPU2核的利用率分别显示为99.3%和100%。

Atria17030703
图3:影音播放器多核加载。(来源:Atria Logic公司)

汽车功能安全和质量

用Zynq Z-7010实现的AV 播放器完全符合MISRA 2000合规性C代码编码准则、完全通过了静态QAC检查。该实现也符合ISO26262安全标准ASIL B准则。

结论

随着对用于各种应用的低功耗、低成本解决方案的不断增长的需求,可编程SoC计算平台以其价值主张提供了独特的解决方案。完全的价值利用来自于在需要时充分利用可用的CPU核和DSP引擎(例如图像色彩空间及其动态范围质量或音频后处理增强或视觉计算质量和精度)或可编程资源以进行必要的硬件加速或性能改进处理(用于视频和/或视觉)。这一本具优势、加之借力最新的多核处理技术,可为针对这样的应用提供坚实的设计基础。

Atria Logic AL-AVPLR-IPC 影音播放器就是这样一种汽车信息娱乐方案,它在赛灵思Zynq Z-7010上实现了性能、密度和性能的最佳平衡,通过将该器件所有剩余的可用可编程逻辑与其它板逻辑的整合,最小化了BOM成本并提高了系统可靠性。该方法为多种应用(诸如:载客车辆的信息娱乐系统,具有视频能力的信息娱乐系统、数字标牌和信息以及数字相框等)的影音回放提供了高效解决方案。

本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 又一芯片大厂终止研发! ‍‍Mobileye 将终止内部激光雷达开发Mobileye 宣布终止用于自动驾驶的激光雷达的开发,并裁员 100 人。Mobileye 认为,下一代 FMCW 激光雷达对可脱眼的自动驾驶来说必要性没
  • 银河E5和小鹏MONAM03开门红,纯电车或将卷土重来? 文|萝吉今年下半年开始,国内新能源市场正式跨过50%历史性节点,且份额依然在快速增长——7月渗透率破50%,8月份破55%……在这一片勃勃生机万物竞发的景象下,新能源市场占比最高的纯电车型,却在下半年
  • 发奖金,人均105万,1.2万人有份! ‍‍近期,IC 设计大厂联发科宣布了2024年上半年度的员工分红计划,与8月份薪资一起发放。据外界估算,按照上半年税前盈余约648.66亿新台币(约 144.42 亿元人民币)进行估算,此次分红总额接
  • 协作机器人鼻祖进军移动机器人,势要东山再起? 会议预告向世界展示中国最具创新力、领导力和品牌化的产品与技术!9月27号,“第6届国际移动机器人集成应用大会暨复合机器人峰会”将在上海举行,敬请关注!再度出现,能否再次“出线”?文|覃洁兰近日,曾经在
  • 2032年单晶硅市场营收将增至201亿美元! 据市场调查机构Allied Market Research的《单晶硅晶圆市场》报告指出,2022年单晶硅晶圆市场价值为109亿美元,预计到2032年将达到201亿美元,2023年~2032年的复合年均
  • 【光电通信】特种光纤与光纤通信-236页收藏  今日光电      有人说,20世纪是电的世纪,21世纪是光的世纪;知光解电,再小的个体都可以被赋能。追光逐电,光赢未来...欢迎来到今日光电!----追光逐电 光赢未来----来源:通信大讲堂申明
  • 上半年SiC汽车中国销售近110万辆,供应商有哪些? 近日A股上市公司陆续完成2024年上半年业绩披露,其中24家SiC概念股上半年合计营收同比增长14.58%至1148.65亿元,研发费用同步增长7.22%至69.16亿元。尤为值得注意的是,天岳先进、
  • 60%汽车供应商裁员! 疫情后的劳动力囤积和强有力的员工保护规则掩盖了德国高薪制造业工作市场令人担忧的变化。根据联邦劳工办公室的数据,欧元区最大经济体德国的失业率在2019年春季曾达到历史最低点4.9%,现已上升至6%。虽然
  • 突发!三星印度厂工人大规模罢工! 9月11日消息,根据外国媒体报道,位于印度清奈的Sriperumbudur工厂三星电子工厂的员工发起了无限期罢工,要求提高工资并改善工作时间。此次罢工涉及大约2000名工人,导致工厂的日产量大约减少了
  • 总投资12亿元!这一IGBT项目明年投产 [关注“行家说动力总成”,快速掌握产业最新动态]9月6日,据“内江新区”消息,晶益通(四川)半导体科技有限公司旗下IGBT模块材料和封测模组产业园项目已完成建设总进度的40%,预计在明年5月建成。据了
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
广告
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了