网易首页 > 网易号 > 正文 申请入驻

【技术干货】原来ARM+Linux音频方案如此简单!

0
分享至

嵌入式产品开发中经常遇到音频的输入输出问题,如何为其添加“喇叭”、“麦克风”设备呢?本文将简单介绍ARM+Linux产品中的音频解决方案。

我们先认识下I2S(Inter-IC Sound)总线。I2S又称集成电路内置音频总线,该总线专门用于音频设备之间的数据传输,广泛应用于各种多媒体系统。它采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,有效避免因时差诱发的失真。

以HDG2L-IoT评估套件为例,RZ/G2L处理器提供至少一路I2S总线,通过该总线与音频编解码芯片(IC型号WM8960)连接,用于提供高质量的录音播音功能。音频模块的硬件部署如下所示。

图1 HDG2L-IoT音频接口

G2L核心板与WM8960的音频通讯引脚如下所示:

在Linux系统的音频编解码驱动中,通过I2C通讯接口与音频IC通讯,把音频IC内的各个功能寄存器抽象成音频控件,这样用户即可在User空间内直接调整IC内的参数。I2S音频引脚,则是数字信号发送、接收的通道。

播音时,音频IC接收到数字信号后则转换为模拟信号发送出去,录音时,音频IC把收到的音频模拟量转换为数字量,发送给处理器。

ALSA是linux的主流音频体系结构,它包含内核驱动集合, API 库和工具对 Linux 声音进行支持,应用程序只要调用alsa-lib提供的API,即可以完成对底层音频硬件的控制。

Linux通过alsa库以及alsa工具管理音频IC的控件,通过“amixer controls”列出当前系统内的音频控制项:

音频功能的关键控件信息如下所示。(录音通道、播音通道、耳机音量大小、喇叭音量大小)。

在开发板下,运行aplay程序可以对音频播放进行测试。在测试前,需要将耳机插入开发板的耳机插孔中。

为测试基于I2S的音频输出接口,在命令行下执行如下命令:

其中2.wav为需要播放的音频文件,且此处假定2.wav位于/home/root/audios目录下。

在进行音频播放时,对于基于I2S的音频输出接口,可以使用amixer程序对音量进行调节。使用amixer程序对耳机播放音量进行调节的命令行格式为:

其音量值取值范围在0~127之间,127表明最大音量。例如要将音量设置为100,可在命令行下执行如下命令:

将扬声器接入HDG2L-IOT开发板的左右声道插座中,在播放音频前可先设置扬声器播放音量以及总音量,然后播放音频文件:

录音功能需设置录音控件的参数,如下所示。


9.jpg

用arecord命令录音并保存为“/tmp/t.wav”,然后用aplay命令回放进行验证。


10.jpg

由于当前的麦克风输出信号仅接到了音频处理的Left端作为输入,所以播放录音文件时仅左声道有输出,若希望将麦克风输出信号同时记录在左右声道可做如下设置:


11.jpg

将“ADC Data Output Select”设定为1,其值含义为“Left Data = Left ADC; Right Data = Left ADC”。

由上可知,音频编解码芯片在Linux系统中以控件的形式存在,内部的参数一般只记录在内存中,当系统掉电时,修改的参数就会消失,所以需要保存和恢复指令将上次的参数保存在配置文件中。

alsa的配置文件为:/var/lib/alsa/asound.state

控件修改后的写入操作如下所示。


12.jpg

控件恢复参数的操作如下所示(注:重启板子后会自动读取配置文件)。


13.jpg

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
孩子画鸡“不及格”,爸爸晒真鸡照片质问老师:画得不够像吗?

孩子画鸡“不及格”,爸爸晒真鸡照片质问老师:画得不够像吗?

新时代的两性情感
2024-05-22 11:01:46
法国军事教官真去乌克兰了!俄罗斯红线接连被踏破,会爆发三战?

法国军事教官真去乌克兰了!俄罗斯红线接连被踏破,会爆发三战?

鹰眼Defence
2024-06-02 17:17:11
河南“双面书记”落马:卖官鬻爵疯狂敛财,曾令数百人无家可归

河南“双面书记”落马:卖官鬻爵疯狂敛财,曾令数百人无家可归

天闻地知
2024-06-03 10:55:04
十个化疗九个死,这是真的吗?揭秘:癌症化疗+中医“带瘤生存”

十个化疗九个死,这是真的吗?揭秘:癌症化疗+中医“带瘤生存”

流逝的沙
2024-05-14 10:12:49
瓦罐车在中国不流行的根本原因

瓦罐车在中国不流行的根本原因

户外小阿隋
2024-06-03 02:20:03
23岁女性患者,咳嗽无力2周,由诊所送至医院时已昏迷,尸体解剖结果出乎意料!

23岁女性患者,咳嗽无力2周,由诊所送至医院时已昏迷,尸体解剖结果出乎意料!

听李医生说
2024-06-03 09:07:50
辽宁队主力中锋莫兰德恐将离队,要求涨工资230万不满签下阿丘尔

辽宁队主力中锋莫兰德恐将离队,要求涨工资230万不满签下阿丘尔

带着篮球闯天下
2024-06-03 17:43:16
还有四天,欧洲将迎来历史性变革!

还有四天,欧洲将迎来历史性变革!

罗sir职话
2024-06-02 17:03:59
原来她早已离世!抗癌整整七年花了7500万,59岁留下遗书离开人世

原来她早已离世!抗癌整整七年花了7500万,59岁留下遗书离开人世

圈里的甜橙子
2024-05-30 12:52:22
下一个进入NBA的中国人,定是这个“广西仔”!

下一个进入NBA的中国人,定是这个“广西仔”!

林子说事
2024-05-31 07:35:07
终于明白健身优势,50岁郑秀文同框44岁林嘉欣,打扮性感却像小辈

终于明白健身优势,50岁郑秀文同框44岁林嘉欣,打扮性感却像小辈

顶牌故事会
2024-06-02 14:57:32
中国女篮VS日本女篮,3天2赛+时间敲定,门票最贵888块钱,谁能赢

中国女篮VS日本女篮,3天2赛+时间敲定,门票最贵888块钱,谁能赢

体育大学僧
2024-06-03 12:57:54
这些食物正在损害你的皮肤!兰州大学:咖啡、猪肉或导致皮肤衰老

这些食物正在损害你的皮肤!兰州大学:咖啡、猪肉或导致皮肤衰老

时光派健康抗衰
2024-06-03 17:41:39
大S为什么这样痛快地答应了汪小菲接走儿子的事情

大S为什么这样痛快地答应了汪小菲接走儿子的事情

娱乐八卦木木子
2024-06-03 11:05:08
Costco常见知名矿泉水大规模召回!大批消费者中招:刚囤40箱!

Costco常见知名矿泉水大规模召回!大批消费者中招:刚囤40箱!

薪想事成的班
2024-06-03 09:24:53
《庆余年2》众演员发文告别角色范建不舍田雨动情张若昀千字泪目

《庆余年2》众演员发文告别角色范建不舍田雨动情张若昀千字泪目

阿芒娱乐说
2024-06-03 12:11:01
比亚迪秦L满油满电跑2400公里,喵哥全程测试来了,这下服气了吗

比亚迪秦L满油满电跑2400公里,喵哥全程测试来了,这下服气了吗

看看娱乐与体育
2024-06-03 18:17:15
如今最大的悲哀

如今最大的悲哀

王晓爱体彩
2024-06-03 11:02:33
回归经典,被称为“十年来最美的宝马”?Skytop概念车亮相

回归经典,被称为“十年来最美的宝马”?Skytop概念车亮相

户外小阿隋
2024-06-03 16:09:42
回顾:男子心疼老人卖米,花200元全买走,回家打开米袋瞬间懵了

回顾:男子心疼老人卖米,花200元全买走,回家打开米袋瞬间懵了

玲说百态味
2024-06-03 11:25:43
2024-06-03 19:36:49
武汉万象奥科
武汉万象奥科
工业物联网系统级解决方案
127文章数 0关注度
往期回顾 全部

科技要闻

特斯拉回应单踏板模式可能被禁止:暂无影响

头条要闻

美国放宽限制后 乌克兰首次使用"海马斯"袭击俄本土

头条要闻

美国放宽限制后 乌克兰首次使用"海马斯"袭击俄本土

体育要闻

万人空巷!皇马举行欧冠夺冠庆典

娱乐要闻

混战升级!编剧赵冬苓力挺王阳遭围攻

财经要闻

接班100天,宗馥莉急了

汽车要闻

搭载华为HiCAR 传祺M6 MAX售14.58万元

态度原创

亲子
教育
艺术
手机
数码

亲子要闻

弟弟把姐姐试卷弄坏被教育,直到姐姐离开才敢扔鞋“泄愤”

教育要闻

又到高考季!祝福张桂梅校长生日快乐,身体健康,平安顺遂

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

手机要闻

AYANEO AIR 1S 掌机预装 AYASpace 2.0:预置快设小窗、性能场景

数码要闻

"Mac Guy"贾斯汀-朗出演新广告:放弃苹果 改用骁龙 X Windows PC

无障碍浏览 进入关怀版