嵌入式爱好者

RK3568使能PDM接口与测试

2024-9-12 17:20| 发布者: 大娱乐家| 查看: 20| 评论: 0

类目: RK3568系列产品  >  Linux     文档编号: 1515

❗❗❗ 本文档使能PDM接口,目的为了使用MEMS麦克风--使用纯PDM数字麦,不外接任何声卡设备

✔️ 软件系统: Linux 4.19.206

1. 源码修改

使能PDM接口很简单,只需要在设备树文件中做修改,具体的修改内容如下:

PDM接口功能一共有M0、M1和M2三组,本文档使用的是M2引脚。

diff --git a/arch/arm64/boot/dts/rockchip/OK3568-C-common.dtsi b/arch/arm64/boot/dts/rockchip/OK3568-C-common.dtsi

index 31ffd6024..4124346d2 100644

--- a/arch/arm64/boot/dts/rockchip/OK3568-C-common.dtsi

+++ b/arch/arm64/boot/dts/rockchip/OK3568-C-common.dtsi

@@ -174,13 +174,13 @@

  };

 

  pdmics: dummy-codec {

- status = "disabled";

+ status = "okay";

  compatible = "rockchip,dummy-codec";

  #sound-dai-cells = <0>;

  };

 

  pdm_mic_array: pdm-mic-array {

- status = "disabled";

+ status = "okay";

  compatible = "**-audio-card";

  **-audio-card,name = "rockchip,pdm-mic-array";

  **-audio-card,cpu {

@@ -1382,7 +1382,7 @@

 };

 

 &pwm14 {

- status = "okay";

+ status = "disabled";

 };

 

 &rk_rga {

@@ -1792,7 +1792,7 @@

 };

 

 &uart3 {

- status = "okay";

+ status = "disabled";

  pinctrl-names = "default";

  pinctrl-0 = <&uart3m1_xfer>;

 };

@@ -1840,3 +1840,14 @@

  spi-max-frequency = <50000000>;

  };

 };

+

+&pdm {

+ status = "okay";

+   pinctrl-names = "default";

+ pinctrl-0 = <

+ &pdmm2_clk1

+ &pdmm2_sdi0

+ &pdmm2_sdi1

+ &pdmm2_sdi2

+ &pdmm2_sdi3>;

+};

\ No newline at end of file

2.PDM接口测试

  1. 修改完设备树后,编译kernel后替换到开发板

  2. 使用命令cat proc/asound/cards​查看是否生成pdm声卡

上图中显示出pdm说明声卡配置完成

    3. 接好PDM数字麦

    4. 使用tinycap命令录音

tinycap

Usage: tinycap file.wav [-D card] [-d device] [-c channels] [-r rate] [-b bits] [-p period_size] [-n n_periods] [-T capture time]

# -D 声卡序号/声卡名

# -d 设备名

# -c 声道数量,一般为偶数

# -r 采样率

# -b 位深

# -p 周期

# -n 跳过周期数

# -T 录音时间,单位秒;缺省后时间无限延长

    5. 录音命令

tinycap /sdcard/rec.wav -D 0 -d 0 –c 2 –r 44100 –b 16 –p 1024 –n 3

tinycap后面跟储存录音文件的绝对路径

录音文件后缀名为 .wav

根据查询声卡的结果,录音命令 -D参数选择pdm声卡

    6. 放音命令

tinyplay /sdcard/rec.wav -D 1 -d 0 -p 1024

tinyplay命令后跟录音文件储存位置的绝对路径

放音使用开发板上的耳机孔,使用的声卡为rk809,所以参数 -D 要选择rk809的 1

    7. 如果放音命令没有声音传出,可能是声卡未打开

    8. 使用alsamixer​配置声卡

    9. s​选择rk809声卡,Playback Path选择HP,Capture MIC Path选择Main Mic,选择完成后ESC退出,之后再使用放音命令即可收听录音文件


已解决

未解决

只是看看

最新评论

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-11-22 09:47

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部