一、 小知识
-
串行:一次只发送一位数据;
并行:是指每次发送多位数据; -
单工:通信只能从发送方到接收方,不能从接收方发送数据,也就是数据只能单向发送;
半双工:数据可以双向通信,但不能同时双向通信,一个时刻只能有一个方向上通信;
双工:数据可以同时,双向通信;
-
波特率:用于描述串口通信时的通信速度,指每秒可以发送的bit(位)的数量;文章来源:https://www.toymoban.com/news/detail-622482.html
二、UART、I2C、SPI通信的对比
终于搞清了:SPI、UART、I2C通信的区别与应用文章来源地址https://www.toymoban.com/news/detail-622482.html
对比项 | UART | SPI | I2C |
---|---|---|---|
信号线数目 | 3根,RX、TX、GND | 4根,SDO、SDI、SCLK、SS | 2根,SDA、SCLK |
设备从属关系 | 无 | 存在主从设备。SPI用片选信号选择从机 | 存在主从设备。IIC用地址选择从机。 |
通信方式 | 全双工通信 | 全双工通信 | 半双工通信 |
通信速率 | 速度慢 | 比I2C总线要快,速度可达到几Mbps | I2C的速度比SPI慢 |
应用领域 | 1、UART常用于控制计算机与串行设备的芯片2、就是我们经常所说的串口,基本都用于调试。 | 主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间 | I2C一般是用在同一个板子上的2个IC之间的通信 ,它可以替代标准的并行总线,连接各种集成电路和功能模块。 |
传输距离 | I2C需要有双向IO的支持,而且使用上拉电阻,抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信 | ||
通信特征 | 异步,一帧可以传5/6/7/8位 | 同步,SPI允许数据一位一位的传送,甚至允许暂停。从最高位开始传。 | 同步,电平信号,一次连续8bit。从最高位开始传 |
协议复杂度 | 结构比较复杂 | SPI实现要比UART简单,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓,因为它是有时钟的协议。 | 协议比SPI复杂,但是连线比标准的SPI要少 |
对比 | 在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。在多个从器件的系统中,每个从器件需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。 |
到了这里,关于FPGA-基本通信协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!