zoukankan      html  css  js  c++  java
  • 【转载】SPI总线和I2C总线的异同点

    来源:https://blog.csdn.net/lishun1422840684/article/details/77776763 

    总结的简单、明了、适用!

    一:SPI接口的全称是"Serial Peripheral Interface",意为串行外围接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM、FLASH、实时时钟、AD转换器,还有数字信号处理器和数字信号解码器之间。

     

    (1)MOSI – 主器件数据输出,从器件数据输入

    (2)MISO – 主器件数据输入,从器件数据输出

    (3)SCLK –时钟信号,由主器件产生,最大为fPCLK/2,从模式频率最大为fCPU/2

    (4)NSS – 从器件使能信号,由主器件控制,有的IC会标注为CS(Chip select)

    二:I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。

    SDA(串行数据线)和SCL(串行时钟线)都是双向I/O线。

    三:2种总线的异同点
    1:I2C总线是半双工,2根线SCL SDA;SPI总线实现全双工,4根线SCK CS MOSI MISO。
    2:I2C是多主机总线,通过SDA上的地址信息来锁定从设备;SPI只有一个主设备,主设备通过CS片选来确定从设备。
    3:I2C总线传输速度100Kbps----4Mbps;SPI可达30Mbps以上。
    4:I2C总线空闲时SDA SCL都是高电平,SPI总线空闲状态由CPOL(时钟极性)决定。
    5:I2C高电平时SDA下降沿标志传输开始,上升沿标志传输结束;SPI总线CS拉低标志传输开始,CS拉高标志传输结束。
    6:I2C总线SCL高电平采样;SPI具体根据CPHA(时钟相位)决定,一般情况下,master device是SCK的上升沿发送,下降沿采集。
    7:I2C和SPI总线数据传输都是MSB(最高有效位)在前,LSB在后(串口是LSB在前)。
    8:I2C总线和SPI总线时钟都是由主设备产生,并且只在数据传输时发出时钟。
    9:I2C总线读写时序比较固定统一,设备驱动编写方便。SPI总线不同从设备datasheet来实现读写,相对复杂一些。
  • 相关阅读:
    linux 查看 服务 命令
    Java Swing中键盘事件的处理(转)
    VI常用命令及快捷键(转)
    Linux source用法(转)
    无线桥接 WDS 中继(转)
    在远程桌面连接中使用任务管理器(转)
    linux 运行 级别(转)
    linux 当前用户 命令 w who(转)
    vecket适合和不适合的10种人(转)
    在查找预编译头使用时跳过解决(转)
  • 原文地址:https://www.cnblogs.com/risunlee/p/9596881.html
Copyright © 2011-2022 走看看