单片机SPI通信原理说明

描述

  单片机是一个可编程的微控制器,和spi通信其实是两个独立的东西。

  只不过我们用单片机可以去实现spi通信而已,但是实现spi通信不一定非要单片机。

  我们人和人之间沟通,要靠说话,并且两个人语言要一样,比如说都用普通话。

  那芯片和芯片沟通,它们又不会说话,怎么传递信息呢?

  就是通过通信总线,通信总线有很多种,比如IIC、SPI、USART、CAN,它们的区别就像普通话、英语、韩语、俄语,都是用来传递信息用的,只是传递方式不同。

  但传递信息,有一个前提,就是语言要相同,也就是通信方式要相同。

  所以说,spi是一种通信方式,是用来传递信息的。

  不同的通信方式,传递信息的方式不同。

  Spi是一种全双工、高速的、同步的通信总线。

  简单来说,就是你们两个可以同时快速地说话,你能把你要说的告诉对方,同时也能听到对方说什么,这就是全双工。

  还有一种叫半双工,就是你们同时只能有一个人说,另一个听,说完了,另外一个才能说。

  很明显,全双工传递信息的效率更高吧。

  同步的意思我给你们两个对话设定个条件,比如说我说开始你们才可以对话,我说停止就都不能说话。

  我们人和人传递信息一般是靠耳朵和嘴巴对吧?

  Spi通信传递信息是通过接口,来看下图:

通信

  SPI通信协议:单片机spi通信接口什么意思,spi接口干什么用的?

  spi接口有4根线,分别是CS、SCLK、MOSI、MISO。

  SCLK是同步信号,一般由主控来控制。

  既然是通信,自然是需要有个”对象”,如上图A和B。

  A是SPI Master,也就是主控,比如说单片机,一般就是主控的角色,主控来负责发送SCLK同步信号通知SPI Slave是否需要进行数据通信。

  B是SPI Slave,也就是从机,比如说Flash芯片。

  CS代表片选信号,为什么要用片选呢?

  因为一个SPI Master可以跟不同的SPI Slave进行通信。

通信

  SPI Master就是通过CS来控制,具体跟哪个SPI Slave通讯,控制CS为低电平就代表选中该SPI Slave。

  如果说只跟一个从设备通讯,也可以直接把CS串联电阻接地,省的每次都去控制它。

  MOSI英文全称是Master Output Slave Input,这个一般接主控器件数据输出引脚,从机器件数据输入引脚。

  MISO英文全称是Slave Input Master Output,这个一般接主控器件数据输入引脚,从机器件数据输出引脚。

  除此以外,还有一种特殊的用法,就是只用SCLK和MOSI这两个引脚的SPI通信。

  比如说我们无际单片机编程实战项目课程里有个OLED屏的应用。

通信

  片选引脚CS我直接硬件接地了,因为只有一个从设备。

  我们主要是控制OLED屏去显示内容,并不需要从OLED读取数据,所以MISO也不需要。

  这种情况是可以只用2根线的。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分