Raspberry Pi几乎可以用于任何用途。从家庭媒体中心到自定义的复古游戏设置,可以肯定地说Pi和类似的单板计算机正变得无处不在。
当您开始尝试在Raspberry Pi上使用GPIO引脚时,事情将会变得更多。有趣。我们已经介绍了所有这些引脚的功能,所以现在让我们看看如何在Pi上启用SPI和I2C协议,以及为什么要这么做。
Raspberry Pi上的SPI是什么?
在深入研究之前,让我们简要介绍一下这两种协议的作用。
SPI (或串行外围接口)允许Pi等微控制器与一次可容纳100个外围组件。微控制器充当所有“从属”组件的“主”,并可以与它们进行高速通信。此图概述了一个简单的SPI连接:
《图id =“ attachment_760970” aria- describeby =“ caption-attachment-760970” class =“ wp-caption aligncenter”》
图片来源:Cburnett/wikipedia.org
如果这是您第一次阅读有关SPI看起来似乎很吓人,但要坚持下去! SCLK 是主机设置的时钟速度,它确定设备之间共享信息的速度。
在时钟的每个周期(或“滴答”),两个主机从站发送和接收一位信息。这就是 MOSI (主输出从动输入)和 MISO (主输入从动输出)引脚的作用。
SS 或从选择引脚(在Pi上标记为CE0或CE1)用于告诉从设备在任何给定时间与主设备进行通信(或不与之通信)。在大多数情况下,每个从设备都需要自己的SS引脚,但可以共享SCLK,MOSI和MISO引脚。
某些设备可以通过“菊花链式”共享一个SS引脚,从而保持使用的总引脚数减少到四个,再加上两个用于电源和地。 SPI以极快的速度而闻名,通常用于移位寄存器或ADC(模拟到数字转换器)以在设备之间传递数据。
增强型初创公司YouTube频道具有易于遵循的SPI入门知识,可以解释协议进一步:
如何在Raspberry Pi上启用SPI
要在Raspberry Pi上启用SPI,请在终端上输入以下内容打开 raspi-config :
sudo raspi-config
导航至接口选项,然后在以下菜单上选择 P4 SPI启用/禁用SPI内核模块的自动加载 。在窗口提示符下选择是。现已启用SPI!
或者,您可以从/boot/config.txt 文件启用SPI。打开终端窗口,然后输入:
sudo nano /boot/config.txt
查找读为#dtparam = spi = on 的行,并删除#符号。不管您以哪种方式启用SPI,都将重新启动Pi并启用SPI。
在Raspberry Pi上使用SPI可以做什么?
尽管有数百个使用许多不同SPI的不同项目,外设,一个不错的入门项目是对自己的RFID读取器进行编程。
我们在带Arduino的DIY智能锁和RFID教程中使用了MFRC-522读取器。要获得Raspberry Pi风味的RFID简介,请查看piddlerintheroot的深入的Instructable。
这种设置也不仅仅适用于爱好电子产品。在我们最好的Raspberry Pi项目集合中,我们采用了使用Raspberry Pi和RFID运行的全尺寸MES系统,作为欧洲大规模工厂运营的一部分。
Raspberry Pi上的I2C是什么?
I2C是菲利普斯电子公司(Phillips Electronics)创建的通信协议,该协议在基于微控制器的爱好项目中已得到广泛使用。原因很明显-它仅使用两根线,而不是SPI的最少四根线。用户制作的库也很好地支持它。 Raspberry Pi上有许多旨在与I2C一起使用的组件。虽然它比SPI慢,但对于大多数日常使用而言仍然可以足够快地工作。
与SPI一样,该协议具有 master 设备,例如Pi和从设备设备,例如屏幕,移位寄存器或电机驱动器。
设备之间的第一个连接是 SCL (串行时钟)由主机设置以同步数据传输。第二行是 SDA (串行数据),它在I2C总线上的所有设备之间来回传输数据。
主设备开始与 start通信位和一个7位十六进制地址。这必须与从属设备匹配,以便它们进行通信。这就是用两根导线可以使用的设备数量。
然后,主设备在接收之前指定它是要读取还是写入( R/W )从设备确认或 ACK 。
YouTuber增强型初创企业再次提供了易于理解的I2C深入了解:
如何启用Raspberry Pi上的I2C
还可以通过 raspi-config 菜单在Pi上启用I2C。打开终端并输入:
sudo raspi-config
使用箭头键选择接口选项,然后选择 P5 I2C启用/禁用自动加载I2C内核模块。确认要启用该协议,然后会看到一个确认屏幕。
与SPI一样,您也可以通过修改配置来启用I2C。 txt文件。打开终端并输入:
sudo nano /boot/config.txt
修改# dtparam = i2c_arm = on ,删除#符号。
重新启动您的Pi,I2C即可使用!
您可以在Raspberry Pi上使用I2C做什么?
I2C非常适合需要大量输出的任何项目。 LCD屏幕的典型用途是使用,最多需要16个引脚。 I2C将其减少到只有两个用于通讯,两个用于电源和地。
许多LCD屏幕都附带一个 I2C“背包” ,这使它们的安装更加简单,
TheRaspberryPiGuy上有详细的YouTube教程,介绍如何在Raspberry Pi上通过I2C设置和使用LCD屏幕。
使用SPI和I2C节省引脚!
Raspberry Pi上的SPI和I2C肯定不是完整的业余电子产品初学者,但也没什么可担心的。
在开始潜水之前,它会遵循我们的Raspberry Pi入门指南学习基础知识是一个好主意。
责任编辑:wv
-
SPI
+关注
关注
17文章
1688浏览量
91159 -
I2C
+关注
关注
28文章
1473浏览量
122978 -
树莓派
+关注
关注
116文章
1686浏览量
105439
发布评论请先 登录
相关推荐
评论