❗❗❗ 本文档使能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接口测试
上图中显示出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退出,之后再使用放音命令即可收听录音文件 |
|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )
GMT+8, 2024-11-22 09:47
Powered by Discuz! X3.4
© 2001-2013 Comsenz Inc.