嵌入式底层驱动学习笔记(一) SPI

本文详细介绍了SPI模块的功能特点,包括全双工、模式选择、位速率调节等,深入剖析了SPI控制寄存器(SPICR1, SPICR2)、波特率选择寄存器和状态寄存器的工作原理。还提供了SPI应用实例,涉及硬件驱动初始化和函数,帮助理解SPI在实际项目中的应用和配置。

1.SPI模块简介

1.1 SPI功能特点

SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一 种同步串行接口技术,是一种高速的,全双工,同步的通信总线。串行设备接口SPI主要用于同步串行通信,它使MCU具备了与外围设备以及其他微处理器进行同步通信的能力,也能够在多主系统中实现处理器间的通信。可连接的设备包括简单的移位寄存器、、LCD显示驱动器或AID转换器的接口。MCU可选择8种不同的位传送频率、两种不同的时钟极性、相位和位传送顺序,因此可直接与各个厂家生产的多种标准的串行外围接口器件连接。在串行外围接口中,数据和时钟线是分开的,在SPI格式中,时钟不包括在数据流中,它必须是另一个独立的信号线。。MC9S12的SPI可定义为主机或从机方式,主要特性如下:
(1)全双工、三线同步传送。
(2)单个数据引脚的双向传送方式。
(3)主机或从机工作方式。
(4)每一晶体频率下可通过程序选择八种不同的主机位传送频率。
(5)主机位传送频率最大4MHz,当MCU总线频率=8MHz时最小为31.25kHz。
(6)从机位传送频率最大4MHz,允许频率范围为0-4MHz。
(7)可程控设置位时钟极性、相位和数据位传送顺序,即可选高位在前或低位在前。
(8)发送完成中断标志。
(9)多主机系统控制冲突保护中断标志。
(10)写冲突标志保护。
(11)可方便地与各种简单扩展器件接口,如PLL、D/A、锁存器、LCD显示驱动器等。

1.2 SPI通信协议及时序

SPI通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。
(1)SDO/MOSI – 主设备数据输出,从设备数据输入;
(2)SDI/MISO – 主

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值