文件名称:SPI外设描述-史上最直白的ica教程
文件大小:5.26MB
文件格式:PDF
更新时间:2024-06-23 16:19:37
LPC23XX 中文资料
广州周立功单片机发展有限公司 第16章 SPI接口SPI0 LPC23xx 用户手册 ©2008 Guangzhou ZLGMCU Development CO., LTD 306 数据和时钟的相位关系在表 16.1 中描述。该表汇集了在下列情况下 CPOL 和 CPHA 的 每一种设定: 当驱动第一个数据位时; 当驱动所有其它数据位时; 当采样数据时。 表 16.1 SPI 数据和时钟的相位关系 CPOL 和 CPHA 的设定 驱动的第一个数据 驱动的其它数据 采样的数据 CPOL=0, CPHA=0 在第一个SCK上升沿之前 SCK 下降沿 SCK 上升沿 CPOL=0, CPHA=1 第一个 SCK 上升沿 SCK 上升沿 SCK 下降沿 CPOL=1, CPHA=0 在第一个SCK下降沿之前 SCK 上升沿 SCK 下降沿 CPOL=1, CPHA=1 第一个 SCK 下降沿 SCK 下降沿 SCK 上升沿 8 位传输起始和停止时间的定义取决于器件为主机还是从机,以及 CPHA 变量的设定。 当器件为主机时,传输的起始由包含发送数据字节的主机来指示。此时,主机可激活时 钟并开始传输。当传输的最后一个时钟周期结束时,传输结束。 当器件为从机并且 CPHA=0 时,传输在 SSEL 信号激活时开始,并在 SSEL 变为无效时 结束。当器件为从机且 CPHA=1 时,如果该器件被选择,传输从第一个时钟沿开始,并在 数据采样的最后一个时钟沿结束。 16.4 SPI外设描述 16.4.1 概述 有 4 个寄存器控制 SPI 外设。将在 16.6 节“寄存器描述”中详细讲述。 SPI 控制寄存器包含许多可编程位来控制 SPI 模块的功能。该寄存器必须在数据传输之 前进行设定。 SPI 状态寄存器包含只读位,用于监视 SPI 接口的状态,包括一般性功能和异常状况。 该寄存器的主要用途是检测数据传输的完成,这通过 SPIF 位来实现。寄存器中的其它位用 于指示异常状况。异常情况将在后面描述。 SPI 数据寄存器用于提供发送和接收的数据字节。串行数据实际的发送和接收通过 SPI 模块逻辑中的内部移位寄存器来实现。在发送时向 SPI 数据寄存器写入数据。数据寄存器和 内部移位寄存器之间没有缓冲区。写数据寄存器会使数据直接进入内部移位寄存器。因此数 据只能在没有执行数据发送时写入该寄存器。读数据带有缓冲区。当传输结束时,接收到的 数据转移到一个单字节的数据缓冲区,下次传输时将其读出。读 SPI 数据寄存器将返回读数 据缓冲区的值。 当 SPI 模块处于主模式时,SPI 时钟计数器寄存器用于控制时钟速率。该寄存器必须在 数据传输之前设定。当 SPI 模块处于从模式时,该寄存器无效。 SPI 控制器具有一个使能位(SPEN),该位控制以下功能: 激活 SPI I/O 口; 使能 SPI 内部状态机。如果传输正在进行,使能信号无效,则传输将结束,再禁能 SPI 控制器; 禁能其它可被禁止的逻辑转换为功率; 使能位不禁止寄存器访问 SPI 控制器。 SPI 所使用的 I/O 口为标准 CMOS I/O 口。设计上没有实现开漏 SPI 选项。当器件设置