SPI裸机驱动程序设计

Posted wulei0630

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SPI裸机驱动程序设计相关的知识,希望对你有一定的参考价值。

1. SPI(Serial Peripheral Interface)串行外设接口,是一种高速的、全双工、同步的通信总线。采用主从模式(Master Slave)架构,支持多个slave,一般仅支持单Master。

技术分享图片

 

2. SPI接口共有4根信号线,分别是:设备选择线(SS)、时钟线(SCK)、串行输出数据线(MOSI)、串行输入数据线(MISO)。

技术分享图片

 

3. 数据传输过程:主节点通过MOSI 线输出数据,从节点在SIMO 处从主节点读取数据。同时,也在通过SOMI 输出MSB(最高位),主节点会在MISO处读取从节点的数据,整个过程将一直持续,直至交换完所有数据。

技术分享图片

 

4. 总线时序

(1)CPOL极性:决定时钟空闲时为高电平还是低电平

  CPOL = 0:CLK空闲时是低电平,CLK有效时是高电平
  CPOL = 1: CLK空闲时是高电平,CLK有效时是低电平

(2)CPHA相位:决定何时进行数据采样(读取)
  CPHA = 0:第一个边沿(上升沿)采样  
  CPHA = 0:第一个边沿(下降沿)采样

(3)根据CPOL和CPHA的不同组合,SPI被分为4种模式

技术分享图片

(4)SPI总线时序图

技术分享图片




以上是关于SPI裸机驱动程序设计的主要内容,如果未能解决你的问题,请参考以下文章

裸机上I2C的设计

如何在裸机下设计一个嵌入式系统架构?

ZYNQ随笔——PL端按键中断之裸机设计

STM32F1 - 在裸机上使用主 SPI

STM32------- SPI通信

DM9000裸机驱动程序设计