8.4.2 通信模式中的信号
8.5 串行通信中断
8.6 SCI波特率计算
8.7 SCI模块寄存器
8.8 串行通信实例
8.8.1 串行通信回环传输实例
8.8.2 使用中断执行SCI数据的接收
DSP
TXD
RXD
TTL-232
电平转换
TTL电平
PC机232接口
232电平
第9章 串行外设接口SPI
SPI是一个高速同步串行输入/输出端口,传送速率可编程,应用,外部移位寄存器、D/A转换器,A/D转换器、
串行EEPROM、LED显示驱动器等外部设备 进行扩展。
9.1 串行外设接口的结构
4个外部引脚,以下引脚都可用作数字I/O引脚。
SPISIMO,SPI从输入、主输出;
SPISOMI,SPI主输入、从输出;
SPICLK,SPI时钟;
SPISTE*,SPI从发送使能。
SPI模块中有 9个 寄存器 用于控制该模块的操作:
(1)SPICCR,SPI配置控制寄存器。
(2)SPICTL,SPI操作控制寄存器。
(3)SPISTS,SPI状态寄存器。
(4)SPIBRR,SPI波特率寄存器。
(5)SPIRXEMU,SPI仿真缓冲寄存器。
(6)SPIRXBUF,SPI串行输入缓冲寄存器。
(7)SPITXBUF,SPI串行发送缓冲寄存器。
(8)SPIDAT,SPI串行数据寄存器。
(9)SPIPRI,SPI优先级控制。
图9-2是SPI用于两个控制器(一个主控制器和一个从控制器)通信的典型连接方式。
SPICLK
SPICLK
SPISIMO SPISIMO
SPISTE*SPISTE*
SPISOMI
SPISOMI
主出/从入
SPI选通主入/从出串行时钟图9-2 SPI主/从控制器连接
SPI主控制器 SPI从控制器
9.2 SPI操作
?由图9-2可知,SPI有 两种 工作模式,主模式 和 从模式,操作模式由 SPICTL.2(MASTER/SLE位) 决定。
?主控制器控制SPICLK信号,通过发出SPICLK信号启动数据发送,从控制器则通过检测SPICLK信号接收数据。
?一个主控制器可以连接多个从控制器,但是 一次只允许一个从控制器给主控制器发送数据
SPI可工作于主模式或从模式。
SPICTL.2位---MASTER/SLE用来选择操作模式和
SPICLK的源。
(1)主模式将Master的数据传送给Slave,8位数据传送,传送完毕,
申请中断。
SPICLK
SPIMOSI
SPICLK
时钟
SPIMOSI
(2)从模式
8位数据传送,传送完毕,申请中断。
SPICLK
SPIMISO
SPISTE
SPICLK
时钟
SPIMISO
SPISTE
9.3 串行外设接口中断有 五个控制位 用于初始化串行外设接口的中断:
?SPI中断使能 位:SPI INT ENA (SPICTL.0);
?SPI中断标志 位:SPI INT FLAG(SPISTS.6);
?SPI超限中断使能 位:OVERRUN INT ENA(SPICTL.4);
?SPI超限中断标志 位:RECEIVER OVERRUN
FLAG(SPISTS.7)
?SPI中断优先级选择 位:SPI PRIORITY(SPIPRI.6)。
9.4 数据格式
MSB 移位寄存器 SPIDAT LSB
?SPI通信时,要发送的数据从SPIDAT寄存器的MSB依次移出,接收的数据则从SPIDAT的LSB依次移入。
?SPI数据字符位数(1-16位)由SPICCR.3-0指定。
?当写入SPIDAT或SPITXBUF时,数据必须是左对齐的。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-29489-40.html
千玺千玺小王子