接下来我们看一下i2s和spi的区别。 首先,i2s有三个信号:串行时钟SCLK,也称为位时钟(BCLK)。 帧时钟LRCK(也称为WS)和串行数据SDATA。 下面是具体的时序图。
SPI一般有四个信号,分别是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS。 下面是时间安排。
。
从上面可以看出,提问者提到的spi(个人猜测是单片机自带的spi外设)无法实现i2s数据传输。
不过,以上总线协议(无论是i2s还是spi)都是通过数据线上高低电平的变化来传输数据,但是有特定的规则,这个规则就是时序。 只要我们能实现时序图所示的改变,数据传输就已经实现了。 普通IO口就可以轻松实现上述需求,因此可以通过IO实现i2s数据传输。 其实只要是数字信号传输,给出具体的时序图,并且IO口的工作速度满足要求,我们就可以使用IO口来实现,无论是i2s、spi、i2c、 ETC。