【MSP430】MSP430F5529关于SPI模式的学习

一、MSP430F5529——SPI模式

在SPI模式下,数据的发送和接收是由多个器件共享一个主时钟运行的。
MSP430提供一个额外的引脚,该引脚被主机控制,用来使外部器件执行接收和发送的数据所产生的功能。
  UCxSTE(统一通信的专用测试设备引脚)

MSP430提供3或4个信号用于SPI数据转换:

UCxSIMO
   -主模式:UCxSIMO是数据输出行
   -从模式:UCxSIMO使数据输入行

UCxSOMI
   -主模式:UCxSOMI为数据输入行
   -从模式:UCxSOMI为数据输出行

UCxCLK – USCI SPI Clock
   -主模式:UCxCLK作为输出时钟
   -从模式:UCxCLK作为输入时钟

UCxSTE
   -从传输使能

在这里插入图片描述

1、USCI 的初始化和重置
USCI由 PUC 或 UCSWRST位进行重置。当单片机获取一个PUC信号之后,UCSWRST位会自动置“1”,使 USCI 保持在一个复位的状态下。当 UCSWRST 被置“1”时,UCRXIE、UCTXIE、UCRXIFG、UCOE和UCFE位被重置,并且 UCTXIFG 被置“1”。当UCSWRST被清除时,USCI处于运行状态。

USCI初始化配置过程:
1、令 UCSWRST = 1;
2、当 UCSWRST = 1时,初始化所有USCI寄存器(包括UCxCTL1)
3、配置端口
4、通过软件令 UCSWRST = 0
5、通过UCRXIE 或者 UCTXIE 是中断能够工作

2、SPI传输中断操作
UCTXIFG中断标志是由发送器设置的,表示UCxTXBUF准备接受另一个字符。如果同时设置了UCTXIE和GIE,则会产生一个中断请求。如果将字符写入UCxTXBUF,则会自动重置UCTXIFG。UCTXIFG在PUC信号之后或UCSWRST = 1时设置。UCTXIE在PUC信号之后或UCSWRST = 1时重置。

注意:在SPI模式下写入UCxTXBUF
当UCTXIFG = 0时写入UCxTXBUF的数据可能会导致数据传输错误。

3、SPI接收中断操作
UCRXIFG中断标志在每次接收到字符并加载到UCxRXBUF时设置。当UCSWRST = 1时,通过系统复位PUC信号重置UCRXIFG和UCRXIE。读取UCxRXBUF时会自动重置UCRXIFG。

4、中断向量发生器
  USCI中断标志被优先化并组合成一个单一的中断向量。中断向量寄存器UCxIV用于确定哪个标志请求中断。最高优先级的中断在UCxIV寄存器中产生一个数字,可以被计算或添加到程序计数器(PC)来自动进入适当的软件程序。禁用的中断不会影响UCxIV值。
  对UCxIV寄存器的任何访问(读或写)都会自动重置最高挂起的中断标志。如果设置了另一个中断标志,则在处理初始中断之后立即生成另一个中断。

5、串行时钟控制
  UCxCLK由总线上的主时钟提供。当UCMST = 1时,由UCxCLK引脚上的USCI位时钟发生器提供位时钟。用UCSSELx位选择用于生成位时钟的时钟信号。当UCMST = 0时,主程序在UCxCLK引脚上提供USCI时钟,不使用位时钟发生器,此时无需关心UCSSELx位。SPI接收机和发射机并行操作,使用相同的时钟源进行数据传输。
  比特率控制寄存器(UCxxBR1和UCxxBR0)中UCBRx的16位值是USCI时钟源BRCLK的分割因子。在主模式下可以生成的最大位时钟是BRCLK。SPI模式下不使用调制,USCI_A使用SPI模式时应清除UCAxMCTL。

UCAxCLK/UCBxCLK频率计算公式:
在这里插入图片描述

即使设置UCBRx产生一个1:1占空比的位时钟,奇数UCBRx设置导致奇数分区。在这种情况下,位时钟的高相位比低相位长一个BRCLK周期。当UCBRx = 0时,对BRCLK不加除法,位时钟等于BRCLK

6、串行时钟的极性和相位
UCxCLK的极性和相位是通过USCI的UCCKPL和UCCKPH控制位独立配置的。每种情况的时间安排如图37-4所示。
 
 
在这里插入图片描述

二、MSP40F5529——SPI模式寄存器

1、USCI_A SPI Mode Registers
表37-2列出了适用于SPI模式的USCI_A寄存器。基本地址可以在设备特定的数据表中找到。地址偏移量列于表37-2
在这里插入图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值