阅读量:0
本章通过讲解在应用层中使用SPI总线与外部设备的通讯,讲解Linux系统总线类型设备驱动架构的应用,它与上一章的I2C 总线操作方法非常相似,可以对比学习。
在Linux内核文档的Documentation/SPI目录下有关于SPI驱动非常详细的说明。
1.SPI通讯协议简介
SPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、 LCD 等设备与 MCU 间,要求通讯速率较高的场合。学习本章时,可与 I2C 章节对比阅读,体会两种通讯总线的差异。下面我们分别对 SPI 协议的物理层及协议层进行讲解。
1.1.SPI物理层
SPI通讯设备之间的常用连接方式见下图。
SPI通讯使用3条总线及片选线,3条总线分别为SCK、MOSI、MISO,片选线为 SSX,它们的作用介绍如下:
(1) ( Slave Sel