FM33A048B SPI0

SPI0模块支持最高FAHBCLK/1波特率的4线通信,具备主从模式配置、时钟极性和频率可调特性。MISO、MOSI、SCLK和SSN是其关键引脚。在Master模式下,数据从TXBUF传至MOSI,而Slave模式则等待SSN跳变进行发送。TXONLY模式用于单向发送,接收数据会被忽略。
摘要由CSDN通过智能技术生成

概述
SPI0 模块实现与外部SPI 接口器件之间的同步通信,硬件实现串并转换。主要特性如下:
⚫ 最高波特率支持到FAHBCLK/1
⚫ 4 线工作方式:SCLK、MOSI、MISO、SSN
⚫ 主从模式可配置
⚫ 时钟极性可控制
⚫ 时钟频率可调
⚫ 支持DMA

应用场景
SPI0 通过4 个引脚与外部器件相连:
⚫ MISO:在Master 下为输入引脚,接收数据;在Slave 下为输出引脚,发送数据。
⚫ MOSI:在Master 下为输出引脚,发送数据;在Slave 下为输入引脚,接收数据。
⚫ SCK: 时钟,Master 的输出,Slave 为输入
⚫ SSN: 片选信号,Slave 设备的选择信号。

工作流程
Master 模式
发送流程:
⚫ 通信开始
总线写数据到TXBUF。TXBUF 的数据被装载到发送寄存器,接着,串行地移出到MOSI 脚上;MSB
在先还是LSB 在前,由寄存器控制。
⚫ 中断
中断标志位:TXBUF 为空时,TXEMPTY 标志被置位,根据使能报中断。
⚫ Busy 位
当TXBUF 非空,或者数据发送中,BUSY=1;当TXBUF 为空,而且数据发送完毕,BUSY=0。
接收流程:
和发送流程一样,如果本次操作只是接收流程,那么写到TXBUF 的数据为无效数据(可为0)。
⚫ 通信开始:总线写数据到TXBUF, MISO 脚串行输入(MSB 在先),先接收的数据先存入RXBUF。
⚫ 通信结束:TXBUF 为空时,TXEMPTY 标志被置位,根据使能报中断。RXBUF 不为空时(表
示有接收的数据),根据使能报非空中断。

Slave 模式
发送流程:
⚫ 通信流程:在SSN 跳变之前,写TXBUF。发送过程开始(此时第一个位被发送出去)。余下的位
(对于8 位数据,还有7 位)被装进移位寄存器。当TXBUF 中的数据传输到移位寄存器而且移位
寄存器开始动作时,TXBUF 被读出一个字节,当被读空标志被置起,根据其使能报中断。
⚫ 中断种类:TXBUF 为空时,TXEMPTY 标志被置位,根据使能报中断。
接收流程:
⚫ 通信流程:被动开始,SSN 的跳变。
⚫ 中断分类:RXBUF 非空中断。RXBUF 不为空时(表示有接收的数据),RXBUF 一次只能被读
走一个字节。根据使能报中断。

TXONLY 模式
TXONLY 模式设置的目的在于SPI 通信的时候很多情况是半双工的,可以支持只发送模式,接收的
内容直接舍弃。
在Master 模式或者Slave 模式,都支持只发送模式(TXONLY)。在TXONLY 模式下,从SPI 接口
返回的数据不会被写入到RXBUF 中。
TXONLY 模式进入:软件打开TXONLY 的使能。
TXONLY 模式退出:当TXBUF 为空时,而且SPI 接口已经完成本次传输,若TXO_AC 寄存器为1,
硬件自动清除TXO 寄存器,退出TXONLY 模式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小菜鸡叶不凡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值