两款芯片既然都支持SPI通信,那这两款芯片之间就通过SPI即可实现数据通信。SPI是一种串行外设接口,可以实现高速、全双工通信,主要用在近距离通信中,如芯片之间的通信,常用的有三总线和四总线之分。
三总线SPI
三总线SPI主要有三根线即可实现数据通信:
SCLK:串行通讯时钟线,
MOSI:主机输出/从机输入数据线;
MISO:主机输入/从机输出数据线;
除此之外,SPI必须要片选信号,片选信号为低电平有效。三总线SPI中,片选信号被硬件拉低,适用于只有一个从设备的情况,占用单片机的三个GPIO口。三总线SPI的接口连接方式如下图所示。
四总线SPI
四总线SPI主要由四根线构成,分别为SCLK、MOSI、MISO和CS,其代表的含义如下所示:
SCLK:串行通信时钟线;
MOSI:主机输出/从机输入数据线;
MISO:主机输入/从机输出数据线;
CS:片选信号,低电平有效;
与三总线的区别是,四总线的CS片选信号由软件控制,主要用在一个主机对多个从机的通讯中,占用单片机的四个GPIO口。四总线SPI的接口连接方式如下图所示。
芯片之间常用的通讯方式主要有三种:UART、SPI和IIC。SPI上文已经介绍过,下面简单介绍一下UART和IIC。
芯片间的通讯方式之二:UART
UART是通用异步收发传输器,也就是我么所说的串口通信,该接口主要有两根线:TXD和RXD,该接口在单片机上几乎是标配,因为该接口也可以实现单片机程序的下载。通过UART接口和不通的电平转换芯片,可以实现不通的通信方式,常用的方式有:1)RS232通讯,由UART和MAX232电平转换芯片实现;2)RS485通信接口,由UART和MAX3082电平转换芯片实现;3)CAN通讯,由UART和42675电平转换芯片实现。另外,该接口也可以和蓝牙模块、WiFi模块等实现通信。UART应用广泛,可拓展型强。
芯片间的通讯方式之二:IIC
IIC也称为I2C,也是一种适用于主从结构的串行通讯总线,适用于芯片间的近距离通讯,主要由两根线构成:SDA和SCL。SDA是数据线,SCL是通讯时钟总线。该总线可以挂接多个从设备,每个从设备具有地址选择端,典型的IIC实现原理如下图所示。
UART、SPI、IIC对比
UART、SPI、IIC都是常用的近距离通讯总线,通常用在芯片之间的通信实现数据的交互。UART可以可以扩展出其他远距离的通信。而SPI和IIC在芯片间用的比较多,这两种通讯方式都可以使用单片机的片上资源也可以使用普通的GPIO口来模拟。
以上就是这个问题的回答,感谢留言、评论、转发。更多电子设计、硬件设计、单片机等内容请关注本头条号:玩转嵌入式。感谢大家。