免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7048 | 回复: 0
打印 上一主题 下一主题

[其它] RK3399瑞芯微开发板声卡调试方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2017-10-12 18:16 |只看该作者 |倒序浏览
      RK3399开发板,搭建了最新android7.1 系统,4G DDR3内存,32G EMMC 存诸,搭配8.4寸高清IPS屏。RK3399开发板主板尺寸为:155*104mm,设计有非常丰富的接口,板载3路TTL UART,2路USB2.0接口,一路USB3.0接口,WIFI/BT二合一,HDMI OUT 、HDMI INT、Type C、4G、IR、以太网等;可扩展模块包括4G模块、Camera(1300万、500万)等应用类功能模块。

声卡调试
1. 通过如下命令确认声卡是否注册成功
root@rk3366:/ # cat /proc/asound/cards
0 [rockchiprt5640c]: rockchip_rt5640 - rockchip,rt5640-codec
rockchip,rt5640-codec
root@rk3366:/ # ls -l /dev/snd/
crw-rw---- system audio 116, 2 2013-01-18 08:51 controlC0
crw-rw---- system audio 116, 4 2013-01-18 08:51 pcmC0D0c
crw-rw---- system audio 116, 3 2013-01-18 08:51 pcmC0D0p
2. 通过命令行播放录制调试声卡:
播放:一般播放 1khz 0db 正弦波,然后在 codec 输出端示波器简单测量是否失真,杂音,然
后再使用音频分析仪测试指标。
root@rk3366:/ # tinyplay
Usage: tinyplay file.wav [-D card] [-d device] [-p period_size] [-n n_periods]
|root@rk3366:/ # tinyplay /sdcard/test44.wav -D 0 -d 0 -p 1024 -n 3
Playing sample: 2 ch, 44100 hz, 32 bit
录制:
root@rk3366:/ # tinycap
Usage: tinycap file.wav [-D card] [-d device] [-c channels] [-r rate] [-b bits] [-p
period_size] [-n n_periods]
|root@rk3366:/ # tinycap /sdcard/rec.wav -D 0 -d 0 –c 2 –r 44100 –b 16 –p 1024
–n 3
3. 通过命令行调试声卡的通路:
一般复杂的 codec 可提供各种通路的配置,如下图:分别是数字部分通路和模拟部分通路,通
路旁边都有标注控制的寄存器 bit,codec driver 负责将这些控制实例化为 kcontrol,提供给上层
设置切换通路使用,实际的调试方法为从数字部分的通路开始,比如 DACDAT 然后顺着找出一条最
优的路径到达模拟输出端,比如 HPOUT。然后通过 tinymix 控制路径上的相应节点开关,打通通
路。

4. tinymix 调试通路:
root@rk3366:/ # tinymix
Mixer name: 'rockchip,rt5640-codec'
Number of controls: 123
ctl type num name value
0 BOOL 1 Mono Playback Switch Off
1 INT 2 Mono DAC Playback Volume 175 175
2 BOOL 2 Speaker Channel Switch Off Off
3 INT 2 Speaker Playback Volume 31 31
4 BOOL 2 HP Channel Switch Off Off
可通路 ctr id 或者 name 来控制,例子如下,不带 val 设置时,为查询该 mix 的当前状态
root@rk3366:/ # tinymix 0 1
root@rk3366:/ # tinymix 0
Mono Playback Switch: On
root@rk3366:/ # tinymix "Mono Playback Switch" 1
root@rk3366:/ # tinymix "Mono Playback Switch"
Mono Playback Switch: On
5. 声卡功能以及通路调试 ok 后,需要把通路配置配置到 hal 层,然后可以配置不同场景下的通路
路由,通路的配置即为 tinymix 配置成功后的通路列表的值,把这些值做成相应
codec_config.h 加入到 hal 中,比如如下:
hardware/rockchip/audio/tinyalsa_hal/codec_config/rt5640_config.h
#ifndef _RT5640_CONFIG_H_
#define _RT5640_CONFIG_H_
#include "config.h"

const struct config_control rt5640_speaker_normal_controls[] = {
{
.ctl_name = "DAI select",
.str_val = "1:2|2:1",
},
{
.ctl_name = "Mono DAC Playback Volume",
.int_val = {175, 175},
},
{
.ctl_name = "DAC2 Playback Switch",
.int_val = {on, on},
},
……
hardware/rockchip/audio/tinyalsa_hal/codec_config/config_list.h
struct alsa_sound_card_config sound_card_config_list[] = {
……
{
.sound_card_name = "rockchiprt5640c",
.route_table = &rt5640_config_table,
},
……
通过以上步骤即完成基本的声卡创建,简单调试, 以上使用的 tinyplay, tinycap, tinymix
代码位于android/external/tinyalsa中,如果系统中没有该命令,可进到该目录执行mm生成相
应的命令。


      RK3399瑞芯微开发板声卡调试方法友坚科技推出的RK3399开发板为消费类电子、智能终端、MID、无线通讯、医疗设备、工业控制等行业产品的应用开发而设计,超强的视频处理能力,超高清视频输出优势,尤其适合广告机客户使用!供广大企业用户进行产品前期软硬件性能评估验证、设计参考用;也是高校、培训机构、嵌入式爱好者学习研究的最佳工具。其丰富的接口、精湛的设计,主要供广大企业用户进行产品前期软硬件性能评估验证、设计参考用;也是高校、培训机构、嵌入式爱好者学习研究首选最佳工具。



您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP