如何在树莓派上启用SPI / I2C

电子说

1.3w人已加入

描述

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”》

I2C

图片来源: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!

I2C

或者,您可以从/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内核模块。确认要启用该协议,然后会看到一个确认屏幕。

I2C

与SPI一样,您也可以通过修改配置来启用I2C。 txt文件。打开终端并输入:

sudo nano /boot/config.txt

修改# dtparam = i2c_arm = on ,删除#符号。

I2C

重新启动您的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

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

全部0条评论

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

×
20
完善资料,
赚取积分