Firefly开源社区

标题: rk3308采集128k采样率的音频丢数据 [打印本页]

作者: 墨瞳    时间: 2020-6-16 15:04
标题: rk3308采集128k采样率的音频丢数据
rk3308采集128k采样率,2通道,32bit的音频数据,有丢数据现象,丢了一半的数据,有人遇到过吗?是什么原因呢?如下图,红框中是正常的数据,FF FF FF FF 部分是没有采到的数据。

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

1592290947(1).jpg

作者: firefly_zhongw    时间: 2020-6-17 14:19
1. 贴出 cat /proc/asound/cards
2. 录音命令是什么?
作者: 墨瞳    时间: 2020-6-17 15:36
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上。
作者: firefly_zhongw    时间: 2020-6-17 16:24
4颗ac108的adc硬件怎么接的,是否都正常能采集音频数据?
作者: 墨瞳    时间: 2020-6-17 21:09
firefly_zhongw 发表于 2020-6-17 16:24
4颗ac108的adc硬件怎么接的,是否都正常能采集音频数据?

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

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

2.png

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

1592398786(1).jpg

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

1592398821(1).jpg

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

11.jpg

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

22.jpg

作者: 墨瞳    时间: 2020-6-17 21:17
firefly_zhongw 发表于 2020-6-17 16:24
4颗ac108的adc硬件怎么接的,是否都正常能采集音频数据?

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

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

3.jpg

作者: firefly_zhongw    时间: 2020-6-18 09:45
录制16K,32K等其他采样率,是否正常?
作者: 墨瞳    时间: 2020-6-18 09:51
firefly_zhongw 发表于 2020-6-18 09:45
录制16K,32K等其他采样率,是否正常?

也不正常,也有FF FF的数据
作者: firefly_zhongw    时间: 2020-6-18 11:41
联系商务:sales<sales@t-firefly.com>
作者: 墨瞳    时间: 2020-6-18 14:54
firefly_zhongw 发表于 2020-6-18 11:41
联系商务:sales

给商务发了邮件,没回复。。请问一下,只接收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>;
};
作者: firefly_zhongw    时间: 2020-6-18 15:20
关于32bit音频录音,AC108芯片自身是否支持?
作者: 墨瞳    时间: 2020-6-18 16:07
firefly_zhongw 发表于 2020-6-18 15:20
关于32bit音频录音,AC108芯片自身是否支持?

支持,用示波器量了发出来的数据是对的。
作者: firefly_zhongw    时间: 2020-6-18 16:48
关于i2s的dts配置,可以参考rk3308-evb-dmic-i2s-v13.dts
作者: 中国移动,我不    时间: 2020-12-19 10:48
请问音频怎么开发???我看文档一直没看懂感觉跟海思不是一个级别的芯片额
作者: 中国移动,我不    时间: 2020-12-19 10:50
墨瞳 发表于 2020-6-18 14:54
给商务发了邮件,没回复。。请问一下,只接收i2s_8ch0_sdi0的数据,不接收其它sdi脚的数据,是不是在设备 ...

请问我想做音频通过i2s或者pcm采样后然后编码,怎么写代码(就是不知道rk有没相关的接口,在哪个目录写都还不清楚)??
作者: 中国移动,我不    时间: 2021-12-21 11:25
请问能否分享一份驱动 1103650728@qq.com




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1