一、概念
(一)概念
1、全双工同步串行外围接口
2、采用主从模式架构,支持单主机多从机模式
3、时钟由Master控制
4、数据按位传输,高位在前,低位在后
5、SPI接口有2根单向数据线,全双工通信,速率可达几M的速度
6、SPI总线被广泛地使用在FLASH、 ADC、 LCD等设备与MCU间,要求通讯速率较高的场合
(二)拓扑结构
SPI接口公有4根信号线,分别是:
设备选择线:NCS 、 NSS 、 CS 、 SS
时钟线:SCL 、 SCK 、 SCLK(Serial Clock)
串行输出数据线:MOSI
串行输入数据线:MISO
M:master
O:Output
S:Slave
I :Input
(三)连接
1. 单主机单从机(四线制)
2. 单主机单从机(三线制)
3. 单主机多从机连接
二、时序和通信协议
(一)信号
起始信号:NSS信号线由高变低,是SPI通讯的起始信号
结束信号: NSS信号线由低变高,是SPI通讯的停止信号
数据传输:
SPI使用MOSI及MISO信号线来传输数据,使用SCK信号线进行数据同步。
MOSI及MISO数据线在SCK的每个时钟周期传输一位数据,且数据输入输出是同时进行的。
- 注:SPI每次数据传输可以 8 位或 16 位为单位,每次传输的单位数不受限制。
(二)通信模式
在SPI操作中,最重要的两项设置就是时钟极性(CPOL) 和 时钟相位(CPHA) 这两项即是主从设备间数据采样的约定方式。
时钟极性CPOL : 设置时钟空闲时的电平
当CPOL = 0 , SCK引脚在空闲状态保持低电平;
当CPOL = 1 , SCK引脚在空闲状态保持高电平。
时钟相位CPHA : 设置数据采样时的时钟沿
当 CPHA=0 时, MOSI或 MISO 数据线上的信号将会在 SCK时钟线的奇数边沿被采样
当 CPHA=1 时, MOSI或 MISO 数据线上的信号将会在 SCK时钟线的偶数边沿被采样
1. CPHA=0
2. CPHA=1
三、电路图
(一)数码管
1. 分类
(1)段数:七段数码管和八段数码管
八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP)
(2)位数:1位、2位、3位、4位、5位、6位、7位
显示的位数不同
- 注:多位数的数码管显示时,利用余晖效应,速度的较快的遍历每位数码管,呈现出同时亮起不同的数字的效果
(3)发光二极管单元连接方式:共阳极二极管和共阴极数码管
共阳极二极管
发光二极管的阳极接到一起形成公共阳极(COM)的数码管
相应字段对应的引脚输出低电平点亮二极管
共阴极二极管
发光二极管的阴极接到一起形成公共阴极(COM)的数码管
相应字段对应的引脚输出高电平时点亮二极管
2. 电路图
(1)八段4位共阴极数码管
(2)14HC595芯片
第一片驱动段:
第二片驱动位:
(3)使用引脚
(二)stm32mp157A芯片手册
模拟SPI总线的时序和通信协议
1. RCC
2. GPIO
(三)74HC595芯片手册
1. 引脚功能描述
2. 框图