单片机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
完善资料,
赚取积分