引言
当您将微控制器连接到传感器,显示器或其他模块时,您是否考虑过这两种设备如何相互通信?他们到底在说什么?他们如何互相了解?
电子设备之间的通信就像人类之间的通信。双方都需要说相同的语言。在电子学中,这些语言称为 通信协议。对我们来说幸运的是,在构建大多数DIY电子产品项目时,我们只需要知道一些通信协议即可。
首先,我们将从有关电子通信的一些基本概念开始,然后详细说明SPI的工作原理。
SPI,I2C和UART比USB,以太网,蓝牙和WiFi等协议要慢很多,但它们更简单,使用的硬件和系统资源也更少。SPI,I2C和UART非常适用于微控制器之间以及不需要传输大量高速数据的微控制器与传感器之间的通信。
正文
串行与并行通信
电子设备 通过物理连接在设备之间的电线发送数据位来相互通信 。有点像单词中的字母,除了不是26个字母(英语字母中的字母)外,位是二进制的,只能是1或0。通过电压的快速变化,位从一个设备转移到另一个设备。在以5 V工作的系统中,0位作为0 V的短脉冲进行通信,而1位通过5 V的短脉冲进行通信。
数据位可以并行或串行形式传输。在并行通信中,数据位通过一条单独的导线同时全部发送。下图显示了二进制(01000011)中字母“ C”的并行传输:
在串行通信中,位通过单根线一一发送。下图显示了二进制(01000011)中字母“ C”的串行传输:
SPI通信简介
SPI是许多不同设备使用的通用通信协议。例如, SD卡模块, RFID卡读取器模块和 2.4 GHz无线发送器/接收器 均使用SPI与微控制器通信。