目录
一、数据传送方式
串行通信
串行通讯是指设备之间通过少量数据信号线(一般是8根以下),地线以及控制信号线,按数据位形式一位一位的传输数据。像单个车道的公路,同一时间只能传输一个数据位的数据。
USART,IIC,SPI
并行通讯
并行通讯是指使用8、16、32、64根或者更多的数据线进行传输的通讯方式。像多个车道的公路,同时可以传输多个数据位的数据。
FSMC(很多接口)
两种方式的对比
- 并行通讯:数据各个位同时传输,速度快,但占用资源多;
- 串行通讯:数据按位的顺序传输,速度慢,但占用资源少;
二、数据通信方式
单工
任何时候都只能进行一个方向的通讯,即一个固定为发送设备,另一个固定为接收设备。IIC、SPI、打印机
半双工
两个设备可以收发数据,但不能在同一时刻进行。SPI、对讲机
全双工
在同一时刻,两个设备之间可以同时收发数据。USART、SPI
三、数据同步方向
同步通讯
收发设备双方会使用一根信号线表示时钟信号,在时钟信号的驱动下双方进行协调,同步数据。通讯中双方会统一规定在时钟信号的的上升或下降沿对数据进行采样。
特点
- 数据传送是以数据块(多个字符组成数据块流)。
- 在一个数据块(信息帧)内,字符与字符间无间隔。
- 因为一次传输的数据块中包含的数据较多,所以接收时钟与发送时钟严格同步,通常要有同步时钟SCLK。
- 通信双方的时钟SCLK是连在一起的,提供同步时钟。
- 通信双方接收与发送是同步的(时刻相同)。
异步通讯
由于异步通讯没有时钟线SCLK的约束,使得通信双方的发送与接收不同步(接收方根本不知道你什么时候发送数据过来,也不知道你发来的一串字符哪些是有效的)。所以你每发一个字符数据,你都要先发送一个起始位(告诉对方你要发送数据了),然后才是数据字符和奇偶校验(可选择)最后你要告诉对方我数据发送完了(发送停止位)。
异步通信与同步通信的比较
- 异步通信双方之间没有SCLK之间的约束,同步通信双方的SCLK连在一起。
- 异步通信数据传输是以字符(一个字节)传输的,同步通信数据传输是以字节块(所个字节)传输的。
- 异步通信传输效率低,同步通信传输效率高(但复杂)。
- 异步通信字节传送的间隔是任意的,同步通信的字节传输是没有间隔的。
四、数据的通信速率
比特率(bitrate)
每秒传输的二进制位 bit/s。IIC/SPI
波特率(baudrate)
每秒传输的码元个数。串口
一个二进制位表示一个码元。比如 0v ----- 0, 3.3v -----1。所以波特率和比特率是相似的。