问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

I2C SPI UART和CAN的区别

发布网友 发布时间:2022-04-23 08:25

我来回答

1个回答

热心网友 时间:2022-05-14 23:07

2C的数据输入输出用的是一根线,SPI则分为dataIN和dataOUT。由于这个原因,采用I2C时CPU的端口占用少,SPI多一根。但是由于I2C的数据线是双向的,所以隔离比较复杂,SPI则比较容易。所以系统内部通信可用I2C,若要与外部通信则最好用SPI带隔离(可以提高抗干扰能力)。但是I2C和SPI都不适合长距离传输。长距离时就要用485了。
第一:
SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS);UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)
第二,区别在电气信号线上:
SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。 如果用通用IO口模拟SPI总线,必须要有一个输出口(SDO),一个输入口(SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。
I2C总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。 如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口(SDA),另外还需一个输出口(SCL)。(注:I2C资料了解得比较少,这里的描述可能很不完备)
UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。显然,如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。
第三,从第二点明显可以看出,SPI和UART可以实现全双工,但I2C不行;
个人认为:
I2C线更少,我觉得比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。SPI实现要简单一些,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓,因为它是有时钟的协议。
I2C的速度比SPI慢一点,协议比SPI复杂一点,但是连线也比标准的SPI要少。
SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。外围设置FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOST和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT或INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。
SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)。
(1)SDO – 主设备数据输出,从设备数据输入
(2)SDI – 主设备数据输入,从设备数据输出
(3)SCLK – 时钟信号,由主设备产生
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 真心求教,困扰半年了。I2C传输问题 单片机内部i2c接口传输距离。 网上买电影票哪里便宜? 为什么淘宝网的电影票那么便宜? 现在很少有人原价买电影票了,在哪里团购票最便宜? 我主要是想看电影,介绍几个团购网站,买电影票便宜的团购网站?谢谢! 网上团购的电影票和在电影院买的 有差别吗? 差别多大? 在哪个网站可以买到便宜的电影票?最近想去看电影。 听说现在团购电影票很便宜,是真的么? 请问在网上团购电影票能便宜多少?为什么去电影院那么贵呢 现在还能查看好友淘宝购买记录吗?怎么查? 怎么查淘宝好友的购买记录 淘宝中怎么查询好友买过的东西? 怎么样查到淘宝好友的购物记录? 淘宝里怎么查看好友曾经的购买记录? 怎么看淘宝好友买了啥 怎么看自己的好友在淘宝上买了什么东西 怎么看到对方淘宝购买的东西? 淘宝怎么查看好友买的东西? 做伴郎需要注意什么、如何避免伴娘整… mpu6050通过i2c远距离通信不成功怎么回事 SPI,UART,I2C都有什么区别,各自的特点是什么? 多个单片机间I2C数据传输 现场CAN总线传输精度高准确是嘛?那I2C,UART等串口线,具体的使用范围或领域及其他他们的去别怎样呢? I2C总线只是用在电路板上?这个用不用在远距离通信上面? I2C传输数据是怎么回事? 关于I2C总线传送数据的问题 I2C总线的数据传输 I2C的大量数据利用单片机传输的问题!! I2C 总线操作,应答信号是有从机器件产生的呢?还是有我主机发起的呢?大师们指点解释一下. 非常感谢. 单片机中的SPI,I2C,单总线,总线什么意思,什么用,什么区别, spi总线和i2c总线的区别 I2c硬件上是怎样实现双向传输的 iic的数据传输 在电视上投屏钉钉能连麦吗? I2C的传输速率由什么决定? i2c可以一对多吗 小米电视可以下载钉钉吗? 智能电视机上可以安装钉钉吗? 大虾的虾头和虾皮儿能吃吗?吃了对身体有没有好处?