Firefly开源社区

打印 上一主题 下一主题

[Linux] rk3308采集128k采样率的音频丢数据

133

积分

0

威望

0

贡献

技术小白

积分
133

rk3308采集128k采样率的音频丢数据

发表于 2020-6-16 15:04:18      浏览:10901 | 回复:15        打印     [复制链接] 楼主
rk3308采集128k采样率,2通道,32bit的音频数据,有丢数据现象,丢了一半的数据,有人遇到过吗?是什么原因呢?如下图,红框中是正常的数据,FF FF FF FF 部分是没有采到的数据。

1592290947(1).jpg (49.95 KB, 下载次数: 125)

1592290947(1).jpg
回复

使用道具 举报

133

积分

0

威望

0

贡献

技术小白

积分
133
发表于 2020-6-17 15:36:24      沙发
firefly_zhongw 发表于 2020-6-17 14:19
1. 贴出 cat /proc/asound/cards
2. 录音命令是什么?

# cat /proc/asound/cards
0 [rockchiprk3308b]: rockchip_rk3308 - rockchip,rk3308b-acodec
                      rockchip,rk3308b-acodec
1 [ac108          ]: ac108 - ac108
                      ac108
7 [Loopback       ]: Loopback - Loopback
                      Loopback 1
#
# arecord -t wav -c 2 -r 128000 -f S32_LE -Dhw:1,0 --period-size=1024 --buffer-s
ize=20480 /userdata/test.wav

4颗ac108的adc,接在i2s0上。
回复

使用道具 举报

133

积分

0

威望

0

贡献

技术小白

积分
133
发表于 2020-6-17 21:09:24      板凳
firefly_zhongw 发表于 2020-6-17 16:24
4颗ac108的adc硬件怎么接的,是否都正常能采集音频数据?

使用i2c2和i2c3配置寄存器,数据线接在i2s_8ch_0上,硬件上接了两根数据线,只用到了一个。用示波器量的发出来的时钟和数据都是对的。感觉应该是驱动里面哪里解析错了?

2.png (75.95 KB, 下载次数: 128)

2.png

1592398786(1).jpg (152.94 KB, 下载次数: 124)

1592398786(1).jpg

1592398821(1).jpg (61.81 KB, 下载次数: 135)

1592398821(1).jpg

11.jpg (488.16 KB, 下载次数: 138)

11.jpg

22.jpg (189.69 KB, 下载次数: 126)

22.jpg
回复

使用道具 举报

133

积分

0

威望

0

贡献

技术小白

积分
133
发表于 2020-6-17 21:17:35      地板
firefly_zhongw 发表于 2020-6-17 16:24
4颗ac108的adc硬件怎么接的,是否都正常能采集音频数据?

另外比较奇怪的一个问题是,adc端发数据,通过DATA1脚,发送数据到cpu端的I2S0_SDI1脚接收。但是在驱动里面要配置为I2S0_SDI0脚接收才能收到数据,数据就是一段对的,一段错的。设备树配置如下:

3.jpg (33.86 KB, 下载次数: 123)

3.jpg
回复

使用道具 举报

133

积分

0

威望

0

贡献

技术小白

积分
133
发表于 2020-6-18 09:51:00      5#
firefly_zhongw 发表于 2020-6-18 09:45
录制16K,32K等其他采样率,是否正常?

也不正常,也有FF FF的数据
回复

使用道具 举报

133

积分

0

威望

0

贡献

技术小白

积分
133
发表于 2020-6-18 14:54:53      6#

给商务发了邮件,没回复。。请问一下,只接收i2s_8ch0_sdi0的数据,不接收其它sdi脚的数据,是不是在设备树里面做如下设置就可以了:
&i2s_8ch_0 {
        status = "okay";
        assigned-clocks = <&cru SCLK_I2S0_8CH_RX>;
        assigned-clock-parents = <&cru SCLK_I2S0_8CH_TX_MUX>;
        rockchip,clk-trcm = <1>;
        #sound-dai-cells = <0>;
        pinctrl-names = "default";
        pinctrl-0 = <&i2s_8ch_0_sclktx
                     &i2s_8ch_0_lrcktx
                     &i2s_8ch_0_sdi0>;
};
回复

使用道具 举报

133

积分

0

威望

0

贡献

技术小白

积分
133
发表于 2020-6-18 16:07:57      7#
firefly_zhongw 发表于 2020-6-18 15:20
关于32bit音频录音,AC108芯片自身是否支持?

支持,用示波器量了发出来的数据是对的。
回复

使用道具 举报

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

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表