嵌入式第二课(SPI篇)

从零开始SPI

对于像我这种只听过嵌入式,却从来没有做过嵌入式的小白来说,SPI就是我职业生涯的开始。可能昨天我还不知道通信协议,底层驱动是什么,时钟有什么用,但从今天起,我好像还是什么都不知道。。。。。

1.简单概括SPI

SPI 是英语Serial Peripheral interface的缩写,中文名叫串行外围设备接口。这些都不用记,只需要知道他是一种通讯协议就行。再简单一点理解,SPI就是四根线,全双工。

1.全双工:就是输入和输出同时进行,发一个数据就要收一个数据,可以理解为环形传输。
2.四根线:时钟(SCK),输出(MOSI),输入(MISO),片选(CS/SS)。

其中MOSI:M:Master,O:Output,S:Slave,I:Input(当然也不光四根线,还要接电源,还有共地)

当SPI Master想读/写Slave时,它首先拉低Slave对应的SS线(SS是低电平有效),接着开始发送工作脉冲到时钟线上,在相应的脉冲时间上,Master把信号发到MOSI实现“写”,同时可对MISO采样而实现“读”,这就到了SPI最最最重要的一个地方,SPI时序!!!!!!!

2.SPI时序

当前面的你都已经记住了(看过一遍),那接下来就可以搞时序了,可以说SPI最重要的地方就是他的时序。一般来讲,谈到时序,肯定是先甩一张图上来,看图说话,但是对于小白来说,图不一定能看明白,所以有一个细节,SPI一共就四种模式,实在不行就把四个都试一次。

但是我还是要浅讲一下,如图所示:
在这里插入图片描述

CPOL = 0 : 空闲时SCK为低电平
CPOL = 1 : 空闲时SCK为高电平
CPHA = 0 : 数据在第一个(奇数)边沿被采样
CPHA = 1 : 数据在第二个(偶数)边沿被采样

只需要记住这些就可以了,大多数时候SPI要求Master和Slave保持时序上的一致。

3.SPI速率

这个是我在做整个项目中总结出来的经验之谈,很多人在配置SPI的时候根本不注意他的速率,要么是默认的,要么没有设置,对于Slave而言,他的SPI能力可能没有主控Master的那么强,所以往往需要降低主控的最高串行时钟,例如主频在168M的STM32F407,在和ICM20602通信时,就需要设置32分频,将频率降低到5.25MHZ再进行通信。
很多时候SPI无法通信,可能就是频率过高或者过低导致的,建议留心一下。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

现在是不是就觉得SPI好像还没有那么难,理解起来也不费劲啊,那既然你有这样的错觉,让我们进入项目实战一下吧。。。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
全志V3S是一款嵌入式处理器,为了在该处理器上开发驱动程序,需要了解SPI-NAND存储器的镜像制作和烧入过程。 SPI-NAND存储器是一种通过SPI总线和处理器进行通信的非易失性存储器。制作SPI-NAND镜像的第一步是获取原始镜像文件,该文件包含了存储器的原始数据。在V3S处理器上,可以通过SPI接口读取存储器中的数据。 SPI-NAND镜像文件制作的第二步是将原始数据转换为可读取的镜像格式。这可以通过使用专门的工具或库来完成,例如U-Boot中提供的mkenvimage工具。 在制作好SPI-NAND镜像文件后,就可以将其烧入到V3S处理器的存储器中。烧入可以通过多种方法完成,最常见的是使用烧写软件,例如PhoenixSuit。首先,连接V3S处理器和主机,并将处理器进入烧写模式。然后,使用烧写软件选择SPI-NAND镜像文件并启动烧写过程。等待烧写完成后,断开连接并重启V3S处理器即可。 需要注意的是,在进行SPI-NAND驱动开发时,还需要编写相应的设备驱动程序以与处理器进行通信。这包括设置SPI接口的参数、进行数据读取和写入等操作。 总结来说,全志V3S嵌入式驱动开发涉及到SPI-NAND镜像的制作和烧入过程,需要获取原始镜像数据并转换为可读取格式,然后使用烧写软件将其烧入到V3S处理器的存储器中。在开发驱动程序时,还需要编写相应的设备驱动程序以实现与处理器的通信。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值