Firefly开源社区

12
发表新贴

RK3308 2通道模拟MIC无法录音

28

积分

0

威望

0

贡献

技术小白

积分
28
发表于 2020-3-20 16:05:04     

pdm_i2s_dais: pdm-i2s-dais {
                status = "okay";
                compatible = "rockchip,rk3308-multi-dais", "rockchip,multi-dais";
                dais = <&pdm_8ch>, <&i2s_8ch_2>;
                capture,channel-mapping = <6 2>;
                playback,channel-mapping = <0 2>;
                bitclock-inversion = <1 0>;
        };
我用的RK3308-ROC-CC请教下,我插入耳机录音为什么录到的所有通道都是空的,没数据,按理说前6个通道没数据,最后2个通道有数据的啊?能解释下吗?谢谢
回复

使用道具 举报

351

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
351
发表于 2020-3-21 14:47:06     
1. pdm_i2s_dais: 这个是适配麦克风阵列板的或者数字mic的
2. 使用耳机mic,可以参考如下
  1. diff --git a/kernel/arch/arm64/boot/dts/rockchip/rk3308-roc-cc-dmic-pdm_emmc.dts b/kernel/arch/arm64/boot/dts/rockchip/rk3308-roc-cc-dmic-pdm_emmc.dts
  2. index b996358..735ddb2 100644
  3. --- a/kernel/arch/arm64/boot/dts/rockchip/rk3308-roc-cc-dmic-pdm_emmc.dts
  4. +++ b/kernel/arch/arm64/boot/dts/rockchip/rk3308-roc-cc-dmic-pdm_emmc.dts
  5. @@ -13,7 +13,7 @@
  6.         compatible = "firefly,rk3308-roc-cc-dmic-pdm_emmc", "firefly,rk3308";

  7.         pdm_i2s_dais: pdm-i2s-dais {
  8. -               status = "okay";
  9. +               status = "disabled";
  10.                 compatible = "rockchip,rk3308-multi-dais", "rockchip,multi-dais";
  11.                 dais = <&pdm_8ch>, <&i2s_8ch_2>;
  12.                 capture,channel-mapping = <6 2>;
  13. @@ -34,13 +34,23 @@
  14.         };

  15.         vad-sound {
  16. -               status = "okay";
  17. +               status = "disabled";
  18.                 compatible = "rockchip,multicodecs-card";
  19.                 rockchip,card-name = "rockchip,rk3308-vad";
  20.                 rockchip,cpu = <&pdm_i2s_dais>;
  21.                 rockchip,codec = <&acodec>, <&vad>;
  22.         };

  23. +       vad_acodec_sound: vad-acodec-sound {
  24. +                status = "okay";
  25. +                compatible = "rockchip,multicodecs-card";
  26. +                rockchip,card-name = "rockchip,rk3308-acodec";
  27. +                rockchip,codec-hp-det;
  28. +                rockchip,mclk-fs = <256>;
  29. +                rockchip,cpu = <&i2s_8ch_2>;
  30. +                rockchip,codec = <&acodec>, <&vad>;
  31. +        };
  32. +
  33.      leds {
  34.          status = "okay";
  35.          compatible = "gpio-leds";
  36. @@ -63,6 +73,14 @@
  37.         status = "disabled";
  38. };

  39. +&acodec {
  40. +    rockchip,micbias1;
  41. +    rockchip,micbias2;
  42. +    rockchip,en-always-grps = <0 1 2 3>;
  43. +    rockchip,adc-grps-route = <0 1 2 3>;
  44. +    /delete-property/rockchip,loopback-grp;
  45. +};
  46. +
  47. &bluetooth_sound {
  48.      status = "okay";
  49. };
  50. @@ -74,7 +92,7 @@
  51. };

  52. &pdm_8ch {
  53. -       status = "okay";
  54. +       status = "disabled";
  55.         #sound-dai-cells = <0>;
  56.         rockchip,no-dmaengine;
  57.         pinctrl-names = "default";
  58. @@ -88,7 +106,7 @@

  59. &vad {
  60.         status = "okay";
  61. -       rockchip,audio-src = <&pdm_8ch>;
  62. +       rockchip,audio-src = <&i2s_8ch_2>;
  63.         rockchip,det-channel = <0>;
  64.         rockchip,mode = <1>;
  65.         rockchip,buffer-time-ms = <200>;
  66. @@ -102,7 +120,7 @@
  67. };

  68. &pdm_i2s_dais {
  69. -       status = "okay";
  70. +       status = "disabled";
  71.         #sound-dai-cells = <0>;
  72. };
复制代码
回复

使用道具 举报

351

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
351
发表于 2020-3-23 10:45:49     
本帖最后由 firefly_zhongw 于 2020-3-23 11:19 编辑

1. 数字音频总线跟内置codec mic是不一样的通道
2. 数字音频接口数据拼接: capture,channel-mapping = <6, 2>;表示pdm占据前6ch,i2s占据后2ch,构成录音8ch
3. 如果要用内置的codec mic录音就要配置内置codec并检查原理图上的耳机座子是否有接入mic

回复

使用道具 举报

28

积分

0

威望

0

贡献

技术小白

积分
28
发表于 2020-3-23 13:03:18     
本帖最后由 zhangfengzan 于 2020-3-23 13:46 编辑

1584939310(1).jpg
MIC是有的,第一环就是,应该是美标的。我的意思就是i2s_8ch_2和pdm不能同时work的吗?按理说不用配的啊,i2s_8ch_2播音的时候(adc),pdm也是使能的啊,耳机能听到声音不需要配的啊
回复

使用道具 举报

351

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
351
发表于 2020-3-23 14:21:32     
1.可以同时工作,只要gpio口不复用
2. ROC-RK3308-CC和ROC-RK3308B-CC是不同的开发板,拿到的开发板找对应的原理图
回复

使用道具 举报

83

积分

0

威望

0

贡献

技术小白

积分
83
发表于 2020-3-31 23:07:29     
firefly_zhongw 发表于 2020-3-21 14:47
1. pdm_i2s_dais: 这个是适配麦克风阵列板的或者数字mic的
2. 使用耳机mic,可以参考如下

你好,我按照上面的修改,耳机mic录不到音,aplay播音耳机也不出声,arecord -l查看到的设备如下:# arecord -l
**** List of CAPTURE Hardware Devices ****
card 7: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 7: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7

录音指令采用:arecord -D hw:7,0 -c 8 -r 16000 -f S16_LE --period-size=1024 --buffer-size=4096 mic7-0.wav和
                        arecord -D hw:7,1 -c 8 -r 16000 -f S16_LE --period-size=1024 --buffer-size=4096 mic7-0.wav
录到的文件无声。
请问这是哪里不对呢?


rk3308-roc-cc-dmic-pdm_emmc.pdf

3.09 KB, 下载次数: 0, 下载积分: 灯泡 -1 , 经验 -1

回复

使用道具 举报

351

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
351
发表于 2020-4-1 09:10:18     
本帖最后由 firefly_zhongw 于 2020-4-1 09:11 编辑

1. 先确定开发板的型号
2. ROC-RK3308-CC开发板耳机座子没有接mic
QQ截图20200401090823.png
回复

使用道具 举报

83

积分

0

威望

0

贡献

技术小白

积分
83
发表于 2020-4-1 18:37:01     
本帖最后由 sai-blf 于 2020-4-1 18:51 编辑
firefly_zhongw 发表于 2020-4-1 09:10
1. 先确定开发板的型号
2. ROC-RK3308-CC开发板耳机座子没有接mic

开发板型号是:ROC-RK3308-CC;看的原理图是roc-rk3308-cc-v1_3.pdf,所以一直认为有mic。roc-rk3308-cc_v00.pdf原理图确实没有mic,同时也没有模拟mic录音。按照上面的改法,aplay耳机没声音,怎么回事呢?
回复

使用道具 举报

83

积分

0

威望

0

贡献

技术小白

积分
83
发表于 2020-4-1 18:58:58     
sai-blf 发表于 2020-4-1 18:37
开发板型号是:ROC-RK3308-CC;看的原理图是roc-rk3308-cc-v1_3.pdf,所以一直认为有mic。roc-rk3308-cc_ ...

公司有种类型的板子,我在V13的版本上测的,有mic录音
2.png
1.png
回复

使用道具 举报

351

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
351
发表于 2020-4-2 09:50:11     
1. kernel/arch/arm64/boot/dts/rockchip/rk3308-roc-cc-dmic-pdm_emmc.dts修改文件贴出来
2. 从arecord -l看,声卡设备0都没有
arecord -l查看到的设备如下:# arecord -l
**** List of CAPTURE Hardware Devices ****
card 7: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 7: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
回复

使用道具 举报

返回列表
12
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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