UART、SPI、 I2C等串行通信是嵌入式开发中非常常见的通信方式,这些通信的最底层通信原理其实不难,但很多初学者却学不会。
今天分享一些常见通信的底层数据传输原理。
1、UART串口
UART:Universal Asynchronous Receiver/Transmitter,通用异步收发传输器。UART串口是最常见的一种串口通信,下面是串口连接上位机电脑,以及RS232应用的动画。
▲ PC上通过UART来调试MCU
▲RS-232通过电平转换芯片与MCU通讯
2、SPI串行通信
SPI:Serial Peripheral Interface,串行外设接口。SPI是一种常见的串行同步通信协议,其应用也非常广泛。
下面是SPI数据传输的时序图:
▲ SPI 数据传输(1)
▲ SPI数据传输(2)
▲ SPI时序信号
3、I²C通信
I²C:Inter-Integrated Circuit,字面意思是集成电路之间,是I²C Bus简称。I²C主要是通过地址来区分识别从机,其通信原理相对较简单。
▲ I2C总线以及寻址方式
4、红外遥控
红外遥控在我们现实生活中比较常见,家庭各种遥控器大部分都是红外遥控。红外遥控是通过控制脉宽(高低电平的时间)来实现通信的,只是它是通过红外无线信号建立通信链路(红外遮挡了就不行,但可反射)。
红外遥控在我们现实生活中比较常见,家庭各种遥控器大部分都是红外遥控。红外遥控是通过控制脉宽(高低电平的时间)来实现通信的,只是它是通过红外无线信号建立通信链路(红外遮挡了就不行,但可反射)。
▲ 红外控制信号也是一个串行通讯信号
▲ 红外信号接收与放大整形电路
▲ 一个使用红外接收光电管控制继电器进行鱼食投喂电路
5、串并转换电路
串并转换,就是串行数据转成并口数据,通过时钟控制串行数据一位一位传输,凑整(8位)就是一个并行数据了。这种转换器有很多现成的芯片,原理很简单。
▲ 串入、并出移位寄存器
▲ 由八个D寄存器组成的移位寄存器
▲ 串行传输示意图
6、其他
这里再分享一些其他串行传输的原理(波形):
这里再分享一些其他串行传输的原理(波形):
▲ PWM控制LED亮度
▲ 调幅与调频信号
▲ 相位调制信号
▲ 方波边沿抖动波形