这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » 【STCAi8051U】学习Ai8051U的I2S外设之飞利浦模式下的输出测试

共4条 1/1 1 跳转至

【STCAi8051U】学习Ai8051U的I2S外设之飞利浦模式下的输出测试

专家
2025-05-04 13:49:11     打赏

前面发过I2S在左对齐模式下的输出逻辑波形,本次实验飞利浦模式下的输出。

在原来程序的基础上,只是简单修改工作模式,支出需要修改宏定义即可

//0: I2S 飞利浦标准

//1: MSB 左对齐标准

//2:LSB 右对齐标准

//3:PCM 标准

//#define STD_MODE     1    //I2S 标准选择

#define STD_MODE       0    //    飞利浦标准

//#define STD_MODE     2    //    右对齐标准

//#define STD_MODE     3    //    PCM 标准

编译、下载、执行。

获得的逻辑波形:

按照飞利浦标准的资料:

图片5.png

I2S格式的信号无论有多少位有效数据,数据的最高位总是被最先传输,它是出现在LRCK变化(也就是一帧开始)后的第2个SCLK脉冲处。因此最高位拥有固定的位置,而最低位的位置则是依赖于数据的有效位数。这就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的 低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位(常补足为零)。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。


对照看,感觉有以下是我无法理解的几个地方:

    1、SCK的第一个信号发生时,LRCK信号没有高到低的变化

    2、因为1的问题,程序中的0x00声道数据丢失

    3、感觉LRCK信号提前了一个SCK周期那这一点非常明显。

但是,如果在忽视LRCK信号的话,在SCK的第二个时钟之后开始按照顺序处理SDA信号的话,除了第一个声道的数据0x00丢失外,其它数据按照时序处理,应该没有问题。






关键词: 菜鸟学单片机     STCAi8051U     I2S          飞利    

专家
2025-05-04 20:32:25     打赏
2楼

感谢分享


专家
2025-05-04 20:33:31     打赏
3楼

感谢分享


专家
2025-05-04 20:35:31     打赏
4楼

感谢分享


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]