梁工 发表于 2026-6-1 17:06:36

suqeqylr 发表于 2026-6-1 16:26
我看过您写的这个的代码了,我现在示波器实测就是主机的时候BCK会优先一点一点比LRCK跳变,作为从机的时 ...

如果担心DMA竞争,可以先不用DMA,直接中断刷新。
两个I2S接口最好使用相同的标准。
你使用的是什么ADC与DAC?请告知型号。

suqeqylr 发表于 2026-6-1 20:53:15

梁工 发表于 2026-6-1 17:06
如果担心DMA竞争,可以先不用DMA,直接中断刷新。
两个I2S接口最好使用相同的标准。
你使用的是什么ADC与 ...

我使用的是TEF6686(它做从机,8051做主没问题,它做主机,8051做从机就有问题,STC32G也是一样)输出IIS数据,一个收音机芯片,不是ADC也 不是DAC,现在基本确定就是帧错误if (I2SSR & 0x40)// FRE 位   这个位报错,只有在做从机接收的时候会随机出现,非常明显,时好时坏。还是没解决,还在研究怎么解决,因为用在别的地方只能被动做从机,没办法。

梁工 发表于 2026-6-1 22:40:42

suqeqylr 发表于 2026-6-1 20:53
我使用的是TEF6686(它做从机,8051做主没问题,它做主机,8051做从机就有问题,STC32G也是一样)输出IIS ...

明白了,应该是时钟同步问题。
MCU读取外部的ADC时,MCU为主机,外部ADC设置为从机,MCU发出MCLK、BCLK、LRCK,从机ADC输出DI,这样ADC与MCU 的时钟是同步的,就不会有问题。

8051做从机时,时钟跟收音机芯片不同步,导致错位,我估计是这样的。

suqeqylr 发表于 2026-6-2 09:20:01

梁工 发表于 2026-6-1 22:40
明白了,应该是时钟同步问题。
MCU读取外部的ADC时,MCU为主机,外部ADC设置为从机,MCU发出MCLK、BCLK、 ...

梁工那这个怎么解决?AI说有些是有寄存可以微调这个时钟的相位的,可是我们这里没有啊,基本确定是时钟同步的问题,因为一直就是报FRE错误。之前您那个主从都是从MCU内部共用一个时钟,我这个是外部输入的

梁工 发表于 2026-6-2 10:58:21

suqeqylr 发表于 2026-6-2 09:20
梁工那这个怎么解决?AI说有些是有寄存可以微调这个时钟的相位的,可是我们这里没有啊,基本确定是时钟同 ...

收音机芯片的I2S不能接外部主时钟吗? 我没有用过这个收音机芯片。

suqeqylr 发表于 2026-6-3 15:39:56

梁工 发表于 2026-6-2 10:58
收音机芯片的I2S不能接外部主时钟吗? 我没有用过这个收音机芯片。

这个芯片是可以做从机的,有自己的晶振,MCU做主机的时候没问题!我是打算拿去做别的应用,MCU必须做从机,在这个基础上尝试了一下发现有问题,一直没解决。。。

神农鼎 发表于 2026-6-3 20:30:37


https://www.stcaimcu.com/data/download/Datasheet/STC32G144K246.pdf









suqeqylr 发表于 2026-6-3 21:01:19

神农鼎 发表于 2026-6-3 20:30
https://www.stcaimcu.com/data/download/Datasheet/STC32G144K246.pdf

现在是时钟不同步,查不到原因。CKCON按照手册=1了,一直提示FRE错误
页: 1 [2]
查看完整版本: STC32G144K246的IIS做从机的时候,数据不定时出现不对齐问题