spi总线和i2c总线的区别

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-02
单片机中的SPI,I2C,单总线,总线什么意思,什么用,什么区别,

嘿嘿 你提出的问题很多呀 我来帮你解答吧
1 先来回答你什么是总线:
总线就是一个公共的计算机的连接线 所有外围设备 都可以通过它与计算机相连接 是信息传递的通道 在它上面可以挂很多个外设元件。
2 总线的种类很多:
如芯片级的总线 如 SPI,I2C,单总线 近距离进行CPU与其它外围芯片的连接
他们多是采用串行方式传送 数据的 即一位一位传送数据 可以节省传送线的条数
SPI 需要3条线: 一条时钟线 一条数据接收线 一条数据发送线
I2C 需要2跳线 一条时钟线 一条 数据线
单总线 即是用一条数据线来通讯 如DS18B20数字温度传感器
还有RS-232 用于计算机和计算机或单片机进行数据通讯的
还有RS-485 、CAN等工业现场总线 用于远距离通讯 距离可达1000米。
3 总线的概念、种类、区别 都给你介绍了 呵呵 满意 就给加分啊

SPI总线

----串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口。Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI总线是一种三线同步总线,因其硬件功能很强,所以,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。
IIC总线是荷兰飞利浦PHILIPS开发的一种高效,实用,可靠的双向二线制(也有3线制,家电很少用)串行数据传输结构总线,该总线使各电路分割成各种功能的模块,并进行软件化设计,各个功能模块电路内都有集成一个IIC总线接口电路,因此都可以挂接在总线上,很好的解决了众多功能IC与CPU之间的输入输出接口,使其连接方式变得十分简单。
IIC总线上的器件分为主控器和被控器两大类它们之间只要在正常工作,总有一个IIC在总线上发送信息数据(一般是在开机后cpu首先像各个功能模块电路发出自检信号,得到各个功能模块电路正常反馈的数据信号后机器才进入正常工作状态)。

1 iic总线不是全双工(半双工),2根线SCL SDA。spi总线实现全双工,4根线SCK CS MOSI MISO

2 iic总线是多主机总线,通过SDA上的地址信息来锁定从设备。spi总线只有一个主设备,主设备通过CS片选来确定从设备

3 iic总线传输速度在100kbps-4Mbps。spi总线传输速度更快,可以达到30Mbps以上。

4 iic总线空闲状态下SDA SCL都是高电平。spi总线空闲状态MOSI MISO也都是 SCK是有CPOL决定的

5 iic总线scl高电平时sda下降沿标志传输开始,上升沿标志传输结束。spi总线cs拉低标志传输开始,cs拉高标志传输结束

6 iic总线是SCL高电平采样。spi总线因为是全双工,因此是沿采样,具体要根据CPHA决定。一般情况下master device是SCK的上升沿发送,下降沿采集

7 iic总线和spi总线数据传输都是MSB在前,LSB在后(串口是LSB在前)

8 iic总线和spi总线时钟都是由主设备产生,并且只在数据传输时发出时钟

9 iic总线读写时序比较固定统一,设备驱动编写方便。spi总线不同从设备读写时序差别比较大,因此必须根据具体的设备datasheet来实现读写,相对复杂一些。

总结:

I2C线更少,我觉得比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。SPI实现要简单一些,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓,因为它是有时钟的协议。

 





  • 串口通信,spi通信和i^2c通信的数据帧有什么不同?
    答:2、使用线的根数不同 串口通信可以在使用一根线发送数据的同时用另一根线接收数据。spi通信是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线。I2C总线是一种简单、双向二线制同步串行总线,它只需要两根线即可在连接于总线上的器件之间传送信息。3、基本协议不同 串口进行通信过...
  • spi总线和i2c总线的区别
    答:总结:I2C线更少,我觉得比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。SPI实现要简单一些,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓,因为它是有...
  • IIC和SPI有什么区别?
    答:一、优势不同:1、IIC:IIC总线是双向、两线(SCL、SDA)、串行、多主控(mulTI-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。2、SPI:SPI在芯片的管脚上只占用四根线,节约...
  • spi总线和i2c总线的区别
    答:NSPI总线和I2C总线是两种不同的通信协议,它们的主要区别在于其设计的目的和特性。NSPI总线通常用于高速数据传输和大容量存储器的访问,而I2C总线则更适合连接低速设备和传感器。NSPI总线是由Cypress公司开发的一种串行通信协议,它的设计目的是为了满足高速数据传输和大容量存储器访问的需求。NSPI总线支持高...
  • i2c接口和spi接口区别
    答:“定义不同:SPI:SPI是串行外设接口(SerialPeripheralInterface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议,比如AT91RM9200。I2C:I2C总线支持任何IC...
  • SPI,UART,I2C都有什么区别,各自的特点是什么?
    答:UART。I2C:能用于替代标准的并行总线,能连接的各种集成电路和功能模块。I2C是多主控总线,所以任何一个设备都能像主控器一样工作,并控制总线。总线上每一个设备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为发射器或接收器工作。多路微控制器能在同一个I2C总线上共存。
  • 三种串行总线的区别
    答:SPI、I2C、UART三种串行总线协议的区别 SPI(Serial Peripheral Interface:串行外设接口);I2C(INTER IC BUS)UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现 多个SPI设备互相连接...
  • 谁能给我解释一下SPI,I2C,SCI总线的区别和应用在什么场...
    答:回答:SPI总线有4根线,分别是SCK,SDO,SDI,SS,可以挂多个从设备,但是在挂多个从设备时,主设备端还需要做一个n选一的译码器,用于选择将要访问的从设备,因此,主设备上的管脚需求比较多;SPI总线在只有一个从设备时,只要用到SCK,SDO,SDI这三根线,此时选择SPI比I2C总线占优。 I2C总线只有两根线,...
  • 当系统总线分为片内总线、片间总线、内部总线、外部总线时,其中片内总...
    答:它是同步通信的一种特殊形式,具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。2、SPI总线 串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口。Motorola公司...
  • 常用总线有哪些
    答:一、I2C总线 I2C(Inter-Integrated Circuit)总线是一种主要用于连接微控制器和其他外围设备(如传感器、存储器等)的通信总线。它具有简单、双向通信能力,且传输速率较高。由于其功耗较低,广泛应用于嵌入式系统中。二、SPI总线 SPI(Serial Peripheral Interface)总线是一种同步串行通信总线,适用于微...