在I2S外设中,按照BLCK时钟频率的计算公式:SCLK的频率=2×采样频率×采样位数,这里的采样位数是指I2S通道数据位数。
一、在采样率=48KHz,通道数据宽度32位,音频数据16位为条件,
BLCK时钟 = 2 x 48KHz x 32 = 3.072MHz
实际测试结果:
1、雅特力L021开发板:
BLCK≈2.8MHz,正常(就是误差稍微有点儿大)
2、ES32S3开发板
BLCK≈3.0MHz,正常
3、STC的Ai8051U单片机
BLCK≈3.1MHz,正常
二、以采样率=44.1KHz,通道数据宽度16位,音频数据16位为条件,理论上BLCK时钟 = 2 x 44.1KHz x 16 = 1.4112MHz
实际测试结果:
1、雅特力L021开发板
BLCK≈1.4MHz
2、ES32S3开发板
BLCK≈1.4MHz
3、STC的Ai8051U单片机
BLCK≈5.7MHz,这个绝对是不正常的。
因为STC的Ai8051U的偏离比较大,于是及专门对它测试44.1KHz、48KHz下,通道为16位、32位时的BCLK情况,结果发现44.1KHz下,16位和32位的结果都不好,偏离很大;48KHz、32位下,BLCK是正常的,48KHz、16位下,BLCK不正常,与32位的一致。