• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

spi为什么会有硬件spi和模拟spi

Flipped 2019-04-22 浏览量:5189
有什么区别?为什么好多例程都是模拟spi?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 硬件SPI是芯片的外设功能,而模拟的SPI是用GPIO实现的,

    一般使用模拟SPI是由于芯片没有SPI外设,但是要与SPI芯片进行通讯时才会使用的

    你看到的可能是比较老的51单片机了,现在的芯片大多都是在硬件 的SPI的

    • 发布于 2019-04-23
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:9
  • 硬件spi是内部集成了spi通信接口 可以直接调用相应的寄存器和中断 占用mcu资源比较少

    软件spi就是用io口模拟spi端口 可以是任意io口都可以模拟 但是占用muc资源比较多 速度相对来说也慢一些

    • 发布于2019-04-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 硬件SPI的传输过程不需要CPU参与,节省CPU性能;

    使用软件SPI方便程序移植,一些没有硬件SPI的MCU也可以使用

    • 发布于2019-04-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 硬件spi速度快,而且不需要mcu关心发送和接收,都是由硬件完成的,软件的话一般是在没有硬件spi接口的条件下使用的,速度慢,比较耗mcu资源
    • 发布于2019-04-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 硬件SPI因为有专用的寄存器支持,所以很少占用CPU资源,但是并不是每一款处理器都能提供SPI,而且有时候即使有SPI硬件接口,可能因为数量不够或者管脚被占用,导致硬件SPI不能使用,这时候就可以使用GPIO模拟SPI通讯,这样的好处是可以使用任意GPIO管脚实现SPI通讯,并且代码通用性很强,可以在不同处理器甚至不同架构之间移植,比较方便。
    • 发布于2019-04-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 硬件SPI是靠硬件上面的SPI控制器,这个SPI控制器是挂在芯片的内部总线上面的,硬件SPI控制器的优势在于所有的时钟边缘采样,时钟发生,还有时序控制,都是由硬件完成的。软件SPI就是用代码控制IO输出高低电平,模拟SPI的时序,这种方法通信速度较慢,且不可靠。在带有硬件SPI控制器的情况下应优先用硬件的
    • 发布于2019-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 硬件的SPI,协议在单片机中已经设计好的,只要使用外设就可以了

    模拟的要使用GPIO模拟SPI的时序,效率比较低,速度比较慢

    • 发布于2019-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 模拟 spi 其实就是软件 spi ,使用 cpu 模拟 gpio 口反转实现的。只要有 gpio 就可以当作 spi 使用

    硬件 spi 是个外设,硬件模块。设置好,自己产生 spi 逻辑电平

    • 发布于2019-04-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 软件管脚模拟SPI就是软SPI
    有些单片机集成了这个 就是硬SPI了

    如果你软件实现的非常漂亮,各种时间参数上都很标准。那么我想区别就在于所能接收的最大速率了。因为软件模拟需要中断,而处理器处理中断能力是有限的,肯定没有spi硬件控制器所能达到速度更快。
    其次就是软件模拟需要大量中断,对系统来说是个很大负担,能不用尽量不用。有硬件就不要用软件模拟。

    • 发布于2019-04-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 硬件的SPI需要有对应硬件模块和接口支持,软件SPI只要芯片资源还能满足,接口也有空闲就可以实施(更好移植)

    不过一般在实际应用中要优先采用硬件的。

    • 发布于2019-04-25
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

spi为什么会有硬件spi和模拟spi