中国建设银行威海分行网站,网页界面制作,软件开发模型比较,uc浏览器关键词排名优化平台#xff1a;Android12SOC#xff1a;RK3568外围芯片#xff1a;XS9922i2s简介#xff1a;从上图看I2s主要的线有#xff1a;SDO SCLK LRCK MCLK I2S协议只定义三根信号线#xff1a;串行时钟信号SCLK(BCLK)、数据信号SD和左右声道选择信号WS。#xff08;1#xff…平台Android12SOCRK3568外围芯片XS9922i2s简介从上图看I2s主要的线有SDO SCLK LRCK MCLK I2S协议只定义三根信号线串行时钟信号SCLK(BCLK)、数据信号SD和左右声道选择信号WS。1时钟信号 Serial Clock 串行时钟SCLK也叫位时钟BCLK。SCLK是模块内的同步信号Slave模式时由外部提供Master模式时由模块内部自己产生。不同厂家的芯片型号时钟信号叫法可能不同也可能称BCLK/Bit Clock或SCL/Serial Clock 例如设声音的采样频率为44.1 kHz即声道选择信号帧时钟WS的频率必须也为44.1 kHz左/右2个声道的量化深度均为16 bit则I2S的SCK的频率为44.1 kHz×16×21.4112 MHz 如果需要传输20 bit、24 bit或32 bit的左右声道的数据可以提高SCK的频率由上式可以计算出需要的SCK的频率。 2左右声道选择信号 Word Select WS也称帧时钟即LRCLKLeft Right Clock。WS频率等于声音的采样率。WS既可以在SCK的上升沿也可以在SCK的下降沿变化。Slave设备在SCK的上升沿采样WS信号。数据信号MSB在WS改变后的第二个时钟SCK上升沿有效即延迟一个SCK这样可以让Slave设备有足够的时间以存储当前接收的数据并准备好接收下一组数据。WS是声道选择信号表明数据发送端所选择的声道。当√ WS0表示选择左声道√ WS1表示选择右声道MCLK 在I2S/PCM接口的ADC/DAC系统中除了SCK和WS外CODEC经常还需要控制器提供MCLK (Master Clock)这是由CODEC内部基于Delta-Sigma (ΔΣ)的架构设计要求使然。其主要原因是因为这类的CODEC没有所谓提供芯片的工作时钟晶振电路。它需要外部的时钟提供内部PLL。抄自https://blog.csdn.net/qq_22168673/article/details/128288954XS9922A/B 内嵌音频 Codec支持 5 路 Line In/3Mic In 输入和 1 路 Line Out 输出采样率最高支持 48K精度最高为 24bit可以方便的进行语音录音与对讲应用简化产品设计。开发步骤首先先找XS9922原厂拿驱动代码还会给一组audio配置数组开机会跑i2c初始化会让XS9922会做音频主设备所以只RK3568做从设备从设备的话不用发出任何信号只需读就行主设备会发出LRCLK SCLK (MCLK可有可无Xs9922不会发出)设备树上描述xs9922为dummy_codecdummy_codec: dummy-codec {status okay;compatible rockchip,dummy-codec;#sound-dai-cells 0;}; compatible simple-audio-card;目前我不知配对的驱动是什么但是xs9922作为音频输入这个Property所属的设备不用配只需配置rockchip,multicodecs-card master / slave 设置
示例RK3568 工作于 slave 模式xs9922 工作于 master 模式
vad_sound: vad-sound {
status okay;compatible rockchip,multicodecs-card;rockchip,card-name rockchip,rk3568-vad;rockchip,frame-master dummy_codec; rockchip,bitclock-master dummy_codec;rockchip,format i2s;rockchip,mclk-fs 256;rockchip,cpu i2s3_2ch;//我用的是i2s3这里需要改rockchip,codec dummy_codec, vad;
};console:/ # cat /proc/asound/cards 0 [rockchiprk3568v]: rockchip_rk3568 - rockchip,rk3568-vadrockchip,rk3568-vad1 [rockchiprk3568d]: rockchip_rk3568 - rockchip,rk3568-dummyrockchip,rk3568-dummy可以使用tinycap进行获取音频数据举个例子tinycap /sdcard/test.pcm -D 0 -d 0 -c 4 -r 32000 -b 32 -n 10
-D 0选择声卡rockchip,rk3568-vad 1为rockchip,rk3568-dummy
-d 0选择通道例如i2s1_8ch就支持8通道(sdi的输入信号) i2s3_2ch 就只支持2通道 默认选择0就行
-b 位宽
-r 采样频率
-n 不懂
-c 好像是通道结束