百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 软件资讯 > 正文

飞凌嵌入式丨如何在iMX8MQ 核心板上实现低功耗音频播放

ninehua 2025-04-11 03:10 35 浏览

飞凌嵌入式FETMX8MQ-C核心板基于NXP i.MX8MQ处理器设计,该处理器拥有4个Cortex-A53处理器(工业级主频最高为1.3GHz、商业级主频最高为1.5GHz)+1个Cortex-M4处理器。本文将系统讲解——如何在FETMX8MQ-C核心板上实现低功耗音频播放。

01、低功率音频应用概述

在这个应用中,i.MX8处理器A53内核会向M4内核发送请求,然后休眠。M4核独立播放或录制音频,操作完成后唤醒A53核。

五个软件组件被创建来实现这个功能:

  • Linux的Play和 record应用
  • Linux RPMSG 字符设备驱动
  • Linux 远程核心共享内存驱动程序
  • FreeRTOS 音频服务

低功率音频程序

02、软件设计

RPMSG字符设备驱动程序

i.MX8上,核心间使用RPMSG机制来进行消息通信。RPMSG是基于MU模块实现的。

远程核心共享内存驱动程序

在低功耗音频应用中,Linux需要创建一个非缓冲、非缓存和连续的内存来存储解码的音频数据。M4core只能处理这样的内存空间。

此外,Linux需要获得内存的物理地址并将其传递给M4核心。

通常,在Linux中,我们有两种方法来创建这样的内存空间。

  • 使用DMA内存空间,这是使用CMA(连续内存分配器)。
  • 在DTS文件中预定义了一个保留的内存空间。

这里我们建议使用DMA内存空间。它更灵活。我们不需要分配一个保留的内存空间,我们可以释放分配的空间。同时,我们可以得到实际地址。

对于这种情况,函数dma_alloc_coherent()是一个理想的函数。

在此基础上,我们创建了一个远程核心共享内存驱动程序,它可以帮助用户分配、读写DMA相干内存空间。

AMP优化

默认情况下,当检测到M4时,内核启用所有模块的时钟。所以SOC电流会很大。在i.mx8M上,电流大约是500毫安。

因此在内核中,我们需要启用m4程序所需的时钟,并对所有其他模块的时钟进行使能。

Linux低功率音频应用程序设计

下图表明低功耗播放音频功能的模块间的关系

1. 低功耗播放程序

低功耗播放程序将解码mp3文件,并在M4核心上播放该文件。

在本程序中,我们将:

  • 解码mp3音频文件。
  • 复制解码数据到共享内存空间。
  • 将已分配缓冲区的物理地址发送到M4核心。
  • Linux休眠,等待唤醒信号。
  • 当播放结束时,MU中断信号唤醒Linux。

2.低功耗录音程序

低功耗录音程序将接收M4核心上的声音,并在“A53”核心上保存PCM原始数据。

程序将:

  • 分配足够的共享内存空间。
  • 将已分配缓冲区的物理地址发送到M4核心。
  • Linux休眠,等待唤醒信号。
  • 当录音完成时,MU中断信号唤醒Linux。
  • 从共享内存空间获得音频数据并保存到文件。

3.Decode mp3音频文件

在这个程序中,我们使用gstreamer解码mp3文件到PCM原始数据。

4.复制解码数据到共享内存空间

在这里,我们将使用远程核心共享内存驱动程序将PCM原始数据复制到一个连续的内存空间。

5.将已分配缓冲区的物理地址发送到M4核心

使用RPMSG字符设备发送物理地址的缓冲区到M4核心。

这里我们强调,通常,在一个核心和M4核心之间应该有一个协议。使用RPMSG字符设备,可以在用户空间中实现协议。例如,在低功耗播放程序中,为了访问远程M4核上的音频设备,我们创建了一个音频请求和响应协议。

6. Linux 内核休眠

在Linux中进入挂起模式的命令是:

echomem > /sys/power/state

7. Linux 内核唤醒

在ATF补丁中,我们添加了MU中断作为唤醒源。当Linux内核从M4核得到MU中断时,它将被唤醒。

03、运行低功率音频的程序示例

本章介绍了运行低功率音频的程序示例

ATF 低功耗补丁

ATF实现了功率状态协调接口(PowerState Coordination Interface, PSCI),并具有低功耗的特性。

在默认BSP发行版的Linux内核中,它将会使Cortex-A53内核和Cortex-M4内核同时处于挂起模式。因此ATF需要一个补丁来配合低功耗应用。

ATF补丁将阻止DDR进入retention模式,并且不禁用PLLs

重新编译内核和驱动

在内核中,加上RPMSG字符设备驱动程序和远程内核共享内存驱动程序的补丁。

编译低功耗音频应用

编译低功耗音频应用

编译Cortex-M4核应用

Cortex-M4应用是由IAR开发的,IAR并打开音频服务器示例并编译。

准备好测试环境

连接好A核和M4核调试串口

启动uboot运行M4核音频服务程序


在M4核调试串口可以看到


运行低功耗音频应用

当音频服务在M4内核上运行时,在u-boot中引导内核。

安装RPMSG字符设备和远程核心共享内存驱动程序。

运行./lp_play./ xxxxx .mp3启动低功耗播放。

调试信息:

解码

播放并睡眠

唤醒

运行./lp_record启动低功耗录音。录音的数据将保存为audio_rect.tmp。

04、时间消耗

在低功率音频解决方案中,数据在A53核解码,然后M4核播放。在核之间的协议通信中有一些时间损失。我们试着计算一下这个解的时间损失。

在这个例子中,我们将以两种方式播放48kbps,22050 Hz的steromp3文件,A53核直接播放和M4核通过RPMSG播放。将比较从使用gstreamer打开文件到播放的持续时间。仅对播放进行测试,用户可以根据回放情况对录音进行评估。

由于低功耗音频播放将做额外的操作,如解码mp3到文件,分配CMA缓冲区,将音频数据从文件到缓冲区,然后从缓冲区到CMA缓冲区,需要一些额外的时间,大约350毫秒。

可以对低功耗播放的其他操作进行一些优化,比如在GST解码中使用appsync,它将把mp3数据直接解码到缓冲区中,通过这种方式,额外的时间可以减半。

05、功耗测试

本章对使用或不使用低功率音频比较了功耗。仅对播放进行测试,用户可以根据播放情况对录音进行评估。

正常播放

低功耗音频播放

注:本文来自NXP提供的ApplicationsNote AN1219

相关推荐

数据可视化——R语言为ggplot图形添加P值和显著性水平

很久很久没有写原创文章了,今天给大家写一个大家发论文都用的到的操作--------为ggplot图形添加P值和显著性水平。建议先点收藏,再点关注,因为本文很长。掌握了本文,用R语言画下面这种图就不求人...

R语言从入门到精通:Day7(r语言入门教程)

原创小浣熊科研猫是时候关注我们一波了在向reviewer或者导师展示自己的统计分析结果时,一张图往往顶得上千言万语;在刚接触到数据时,图也能帮助我们发现数据中潜在的模式或者其中的异常值,这两个例子...

360儿童手表3评测 孩子遇危险一键SOS

儿童人身安全问题一直是家长最担忧的大事,多年来频频发生的儿童走失悲剧更是将这一话题推向了舆论高峰,在这个基础上,能打电话、防走丢的儿童智能手表迅速走红,可以说多了一剂强有力的助推剂。可以说,360儿童...

眼保健操想做就做,全面呵护孩子视力!喵喵儿童护眼仪体验

现在的孩子学习压力都很大,平时除了线下作业外,线上作业也不少,不是拍照上传小管家,就是录制视频发到班级群。作为家长的我们不能只关注孩子的学习,更要关注孩子的视力。根据国家卫健委数据显示,2020年我国...

用眼过度?一套恢复视力的米字操 飞行员都用的护眼方法了解一下

咱都知道,现在这生活里,电子产品无处不在,不管是上班用电脑,下班刷手机,眼睛那是一刻都闲不下来,好多人都有用眼过度的毛病。眼睛干干痒痒的,时不时还流眼泪,近视、老花眼等问题也都找上门来了。今天啊,我就...

软硬件齐发力,OPPO Find X8手机配备五大屏幕护眼技术组合

 直到现在2024年,依然有不少消费者非常青睐LCD屏幕的手机,无他,皆是因为LCD屏幕相较于传统的OLED屏幕来说,护眼性能确实要更胜一筹。而全新发布的OPPOFindX8则在软硬件上齐发力,通...

一只360°的智能眼睛------360智能摄像机云台AI版

在数字安防物联网飞速发展的当今,很多品牌都在不断崛起,360作为其中的佼佼者,也推出了不少这类的产品,从第一代水滴摄像头开始,360可谓在可视安防品类的产品上保持了高速发展的态势,无论是室内还是室外...

扩展功能强大:文本编辑器EditPlus 3.8下载

IT之家(www.ithome.com):扩展功能强大:文本编辑器EditPlus3.8下载IT之家讯文本编辑器EditPlus最近更新到3.80版,此次更新增加了和改进了包括对不同文件类型适配不...

世上的计算机只有两种字体(世上的计算机只有两种字体是什么)

还在纠结在你的下一个演示文稿中要不要使用宋体显示小字,或是你打算在你的论文中使用微软雅黑字体吗?今天的推送就来给大家介绍一下两大字体系列:serif和sans-serif。Serif字体如Times...

安卓字体大师2.0.1更新 增加字体搜索及分类功能

手机自带字体看久了想要换个新面貌?如何才能轻松换得新字体呢?机友们有福了!字体控们更是不容错过!作为一款强大的字体美化管家,字体大师2.0.1更新再添个性周到化服务。此次更新,字体大师增加了字体搜索和...

升职加薪全靠它,6款B站知乎上万人推荐的宝藏神器!强烈建议收藏

今天,我们给大家推荐6款电脑软件,B站知乎上万人推荐,每一个都强大到没朋友,升职加薪全靠它,下面一起来看看吧!1.Quicker这是一款能提高我们工作效率的神器,其能帮我们快速打开一些常用工具,像执行...

18种好看的电子书字体推荐!(附实机照片)

对kindle自带的黑体楷体宋体圆体腻味了吗,其实kindle可以自定义字体的,下面推荐几款好看的电子书字体,话不多说直接上干货(以下图片均为kindleoasis2代实机拍摄,方便大家感受各类...

只需万元就能打造媲美影院的环绕音效,JBL BAR 1000回音壁真不错

自从给卧室更换了全新的智能投影,我就发现客厅电视的使用频率变低了,和家人探讨了一下,大家都一致认为这台电视的音效不如新换投影的效果好,但要真说因为音效再换一台电视又觉得不值。纠结再三之后,决定入手一套...

外国歌手杀疯了!比官方机位更震撼的是直播机位的现场舞台,真牛

刷到是缘分,感谢大家的阅读,希望您能动动小手帮忙点赞,关注,评论。你的支持和鼓励是我前进的动力。在此祝福大家天天快乐,日日开心!0102外国歌手这现场表现力真是绝了,直播机位捕捉到的细节比官方镜头更有...

使命召唤手游开启测试,战区手游下载方法/登录教程

《使命召唤》手游澳大利亚服在11月30日开启测试,应该有很多网友都有所了解。作为一款高人气的FPS游戏,《使命召唤》在国外的地位甚至可以与CF和PUBG相媲美了。而且截止到目前,官方针对不同的地区都推...