目录
什么是SPI
信号线
理解通讯原理
采样
SPI的推广
什么是SPI
SPI是芯片与芯片之间的通讯,准确得说是串行同步通讯。既然都说了同步,那发送数据当然要和时钟线SCK配合才能发数据.
采用一主多从的模式,主机只有一个,而从机可以有若干个。
信号线
需要四条信号线:(SS(CS),SCK,MOSI,MOSO) SS(Slave Select ) 也被称为CS(
- SS(也是CS片选信号线),通过给片选信号线高低电平来决定哪一个从机通讯。(一般是低电平有效,当然具体看芯片的约定)
- SCK :由主设备产生.
- MOSI.发送信号线,Master Output Slave Input)看英译就能读懂它是干什么-主机输出,从机输入。
- MISO 接受信号线.Master Input Slave Output -主机输入,从机输出。
理解通讯原理
以93C46 eeprom存储器为例.片内有1024位。通过SPI,只需4根线就能读写着1024位(128个字节)数据。
93C46是一种串行EEPROM(电可擦除可编程只读存储器)芯片,由Microchip Technology Inc.公司生产。它具有1K位的存储空间,并可以通过SPI接口进行编程和读取。93C46采用了单电源供电方式,工作电压范围为2.5V至5.5V。该芯片广泛应用于汽车电子、工业控制、安防监控等领域,以满足各种数据存储需求。
93C46eeprom的数据格式.7位地址码,刚好有128种组合,对于着128个字节。
采样
主机通过MOSI线上发出数据,而从机在SCK的上升沿采集MOSI线上的数据。之所以从机要在上升沿采集数据,这是由从机决定的。这只是从机采集数据的一种方式。
(具体是哪一种采集方式,需要我们去查阅芯片数据手册)
总共有4种采集的方式
- 空闲时钟(SCK)为低电平时,上升沿采集/下降沿采集。
- 空闲时钟 (SCK)为高电平时,上升沿/下降沿采集。
(SCK)为高电平时,上升沿/下降沿采集对于如下:左(上升沿) 。右(下降沿)
(SCK空闲时钟为低电平,从机在上升沿采集)
(需要配合SCK时钟线发送数据)、
主机发送数据MOSI配合SCK
- 通过SS片选线,高电平有效选中需要写的93C46,选中得93C46开始生效.
- 发送起始位 1
- 发送操作码01
- 发送7位地址
- 发送8位数据
主机接受数据MISO配合SCK也是同理。主机在时钟信号的上升沿/下降沿采样视具体情况而定,一般是下降沿采集MISO线的数据.
SPI的推广
SPI对一帧数据有多少位没有限定,数据帧看芯片设定,只要符合SPI的四种采样特性,就可以被认为是SPI通讯.
参考
爱上半导体