嵌入式
返回首页

瑞芯微EASY EAI RV1126B音频输出

2026-04-09

EASY-E-Nano-TB的声卡资源仅包含一块由RV1126B主控输出的声卡。

通过串口调试或ssh调试,可以进入开发板终端。执行aplay命令查看声卡相关的详细信息,如下所示。

aplay -l

wKgZPGnM4aCAJxnXAABrDPZHwaU203.jpg

1.1 硬件

硬件接口位置如下所示。

wKgZO2nM4aCAMcyoABZ4WEAknk4301.jpg

2. 声卡控制

系统在应用层调用声卡,通常采用alsa(aplay,arecord,amixer)框架,本文只会描述本开发板平台相关的部分。如果用户想要进一步地了解alsa用法,可以通过开发者社区的《alsa使用简介》进行更进一步的了解。

2.1 播放

音频播放采用aplay命令进行。

aplay -D plughw:0,0 st.wav ##声音从Card0输出

2.2 音量调节

Card0输出音量【值】的【范围】是从 0到510

amixer -c 0 cset name=' Digital Volume' 0,0 ##设置Card0输出音量【值】为 0 amixer -c 0 cset name='DAC Digital Volume' 192,192 ##设置Card0输出音量【值】为 192 amixer -c 0 cset name='DAC Digital Volume' 255,255 ##设置Card0输出音量【值】为 255

注:此处的【值】是跟增益正相关的一个变量,但它既不是增益,也不是音量百分比。并且调整它,音量大小变化【不是线性】的。

0~255:为数字增益部分,设置成255,是不失真的最大音量。

256~510:为增益部分,只要超出255,声音输出就会失真。

3. 声卡使用笔记

硬件层面使用的i2s/sai,它们本身就是不支持单声道、混音等使用情况。但用户可以通过alsa-plug去做一些数据转换。具体操作方法就是修改~/.asoundrc文件。

3.1 通道转换

由于i2s/sai控制器不支持单声道,如果用户要播放一些单声道的音频文件,会出现“2倍速播放”的现象。因此用户需要修改~/.asoundrc文件做通道转换,在文件的具体添加如下内容:

pcm.!default { type asym playbk.pcm 'playbackmono' capture.pcm 'hw:0,0' } pcm.playbackmono { type route slave.pcm 'hw:0,0' # 输出到声卡设备hw:0,0 slave.channels 2 ttable { #配置通道route, 0.0 0.5 0.1 0.5 1.0 0.5 1.1 0.5 } }

然后在播放音频文件时,把命令改成:

aplay -D default test_mono.wav

或者

aplay -D playbackmono test_mono.wav

进入嵌入式查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • FollowMe 第二季:3 - EK_RA6M5 开发板入门

  • FollowMe 第二季: 1 Adafruit Circuit Playground Express及任务讲解

  • Azure RTOS step by step workshop

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • 从0到1:树莓派与物联网教程(英文)

精选电路图
  • 24瓦甲类放大器

  • 100瓦高保真MOSFET放大器

  • 高保真前置放大器

  • 20MHz函数发生器

  • 50MHz频率计

  • 用于精确信号测量的示波器探头

    相关电子头条文章