完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一、前言
本人使用的是stm32f103的开发板,Flash芯片是W25Q64。本章介绍SPI的相关通讯知识,后续篇章会有SPI实现简单的读写Flash的代码。 二、简介 SPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、 LCD 等设备与 MCU 间,要求通讯速率较高的场合。 1.SPI物理层 SPI 通讯使用 3 条总线及片选线,3 条总线分别为 SCK、 MOSI、MISO,片选线为SS(也称为NSS、CS)。 ①SCK:时钟信号线,用于通讯数据同步 。 ②SS:从设备选择信号线,也称为片选线。SPI与I2C协议不同,I2C通过设备地址来寻址,而SPI协议中没有设备地址,他是通过设备的片选信号线来寻址,当主机与设备相连时,即将设备的NSS片选信号线置低电平,即片选有效,所以当置高电平时为结束片选。通常我们通过普通的GPIO,控制高低电平的软件模拟的方式来产生通讯起始和停止信号 ,更方便。 ③MOSI:主设备输出/从设备输入。(Master Output, Slave Input) ④MISO:主设备输入/从设备输出。(Master Input,, Slave Output) 2.SPI协议层 这是SPI的通讯时序,NSS、 SCK、 MOSI 信号都由主机控制产生,而 MISO 的信号由从机产生,主机通过该信号线读取从机的数据。 MOSI 与 MISO 的信号只在 NSS 为低电平的时候才有效,在 SCK 的每个时钟周期 MOSI 和 MISO 传输一位数据。 ①CPHA: 时钟相位,决定了SPI数据的“奇偶边沿采样。当CPHA=0时,MOSI或MISO在数据线上的信号将会在SCK时钟线上的“奇数边沿”被采样;当CPHA=1时,MOSI或MISO在数据线上的信号将会在SCK时钟线上的“偶数边沿”被采样; ②CPOL: 时钟极性,意思是当SPI通讯设备处于空闲的状态(NSS线为高电平)时,SCK信号线的电平信号。当CPOL=0时,SCK在空闲状态时为低电平;当CPOL=1时,SCK在空闲状态时为高电平。 (由CPHA和CPOL两种特性使SPI有四种通讯模式,模式的选择需通过查阅相关FLASH芯片手册的功能介绍中得知,实际中模式0和模式3使用的比较多,如下图) ————————————————————————————————— 三、STM32的SPI内部架构 SPI 的 MOSI 及 MISO 都连接到数据移位寄存器上 ,当外部发送数据时,数据移位寄存器以“发送缓冲区”为数据源,将数据一位一位地发送出去;当外部接收数据时,数据移位寄存器将数据线上接收到地数据一位一位地发送到“接收缓冲区”中。 ————————————————————————————————— 四、SPI地通讯过程 相关过程解析: 1.控制NSS线,开启通讯; 2.将要发送地数据发送到“数据寄存器”中,其会发送到“发送缓存区”中; 3.通讯开始, SCK 时钟开始运行。 MOSI 把发送缓冲区中的数据一位一位地传输出去;MISO 则把数据一位一位地存储进接收缓冲区中 ; 4.等待发送完一帧数据时,“状态寄存器”中的TXE(发送缓存区为空)标志位会置1,表示发送缓存区为空;当接收完一帧数据时,“状态寄存器”中的RXNE标志位会置1,表示接收缓存区为非空,已接收到数据的意思。 |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2955 浏览 16 评论
3455 浏览 1 评论
8987 浏览 16 评论
4050 浏览 18 评论
1102浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1856浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 19:52 , Processed in 1.743818 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号