FPGA-基本通信协议

本文介绍了串行与并行通信的基本概念,并详细对比了UART、SPI和I2C三种通信协议的信号线数目、设备从属关系、通信方式、通信速率、应用领域及传输距离。UART常用于串口调试,SPI速度较快适用于多从设备系统,而I2C适合短距离、低速的板内通信。
摘要由CSDN通过智能技术生成

一、 小知识

  • 串行:一次只发送一位数据;
    并行:是指每次发送多位数据;

  • 单工:通信只能从发送方到接收方,不能从接收方发送数据,也就是数据只能单向发送;

    半双工:数据可以双向通信,但不能同时双向通信,一个时刻只能有一个方向上通信;

    双工:数据可以同时,双向通信;

  • 波特率:用于描述串口通信时的通信速度,指每秒可以发送的bit(位)的数量;

二、UART、I2C、SPI通信的对比

终于搞清了:SPI、UART、I2C通信的区别与应用

对比项UARTSPII2C
信号线数目3根,RX、TX、GND4根,SDO、SDI、SCLK、SS2根,SDA、SCLK
设备从属关系存在主从设备。SPI用片选信号选择从机存在主从设备。IIC用地址选择从机。
通信方式全双工通信全双工通信半双工通信
通信速率速度慢比I2C总线要快,速度可达到几MbpsI2C的速度比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系统要稍微复杂一些。
  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值