MSP430F2111IPWR

描述

德州仪器(TI)MSP430系列超低功耗微控制器由多个器件组成,具有针对各种应用的不同外设集。该架构与五种低功耗模式相结合,经过优化,可在便携式测量应用中实现更长的电池寿命。该器件具有功能强大的16位RISC CPU,16位寄存器和恒定发生器,有助于实现最高的代码效率。数字控制振荡器(DCO)允许在不到1μs的时间内从低功耗模式唤醒至工作模式。
MSP430x21x1系列是一款超低功耗混合信号微控制器,内置16位定时器,通用模拟比较器和16个I / O引脚。

品牌:TI
型号;MSP430F2111IPWR
封装:SOP20
包装:2000
年份:18+
典型应用包括捕获模拟信号,将其转换为数字值,然后处理数据以供显示或传输到主机系统的传感器系统。独立的RF传感器前端是另一个应用领域。模拟比较器提供斜率A / D转换功能。

特性

FAE:13723714318
低电源电压范围:1.8 V至3.6 V.
超低功耗
有源模式:1 MHz时为250μA,2.2 V
待机模式:0.7μA
关闭模式(RAM保持):0.1μA
待机模式下的超快速唤醒时间小于1μs
16位RISC架构,62.5 ns指令周期时间
基本时钟模块配置
内部频率高达16 MHz,四个校准
频率为±1%
32kHz晶体
高达16 MHz的高频晶体
谐振器
外部数字时钟源
具有三个捕捉/比较寄存器的16位Timer_A
用于模拟信号比较功能或斜率的片上比较器
模数(A / D)转换
掉电探测器
串行板载编程,无需外部编程电压,
安全保险丝可编程代码保护
Bootstrap Loader
片上仿真模块
家庭成员:
MSP430F2101
1KB + 256B闪存
128B RAM
MSP430F2111
2KB + 256B闪存
128B RAM
MSP430F2121
4KB + 256B闪存
256B RAM
MSP430F2131
8KB + 256B闪存
256B RAM
采用20引脚塑料小外形宽体(SOWB)封装,
采用20引脚塑料小外形薄(TSSOP)封装,20引脚TVSOP封装,和24引脚QFN封装

类别功能

FAE:13723714318
功能MCLK = ACLK和P2SEL控制位
描述使用ACLK作为CPU MCLK时钟源时,振荡器故障保护功能可以
如果P2SEL6或P2SEL7位清零,则不会自动将MCLK切换到DCO。这个
当ACLK = LFXT1(外部低频时钟源)时适用。 CPU将停止运行操作,因为没有MCLK信号。
解决方法无
BCL11 BCS模块
类别功能
功能看门狗在使用ACLK时是故障安全的
描述当使用ACLK作为WDT +时钟源时,WDT +振荡器故障保护功能可以实现
如果P2SEL6或P2SEL7位清零,则不会自动切换到DCO。这适用
当ACLK = LFXT1(外部低频时钟源)时。 WDT +将停止运行操作,因为没有时钟信号。
解决方法无
BCL12 BCS模块
类别功能
功能切换RSELx或修改DCOCTL可能导致DCO死区时间或完整的DCO停
说明将RSELx位(位于寄存器BCSCTL1中)从> 13的值切换为值
<12 OR从值<12到值> 13,得到的时钟由
DCO可以在应用新时钟频率之前停止。这个死时间是大约20我们。在某些情况下,DCO可能完全停止,需要a
电源周期。
此外,如果BSCTL1寄存器中的所有RSELx位都置1,则修改
用于更改DCOx或MODx位的DCOCTL寄存器也可能导致DCO死机时间或DCO挂断。
解决方法 - 将RSEL从> 13切换到<12时,请使用中频步骤。该
中间RSEL值应为13。

  • 当将RSEL从<12切换到> 13时,建议将RSEL设置为默认值
    在切换到所需目标频率之前,首先将值(RSEL = 7)。和
  • 如果RSEL为15(最高设置),建议将RSEL设置为默认值
    在访问DCOCTL以修改DCOx和MODx位之前,首先进行值(RSEL = 7)。
    在DCOCTL寄存器修改之后,可以在一个中操作RSEL位额外的一步。
    在大多数情况下,如上所述直接切换到中间RSEL步骤
    以上将防止BCL12的发生。但是,一种更可靠的方法可以
    通过逐步改变RSEL位来实现,以保证安全功能没有任何DCO的死时间。
    注意,3步时钟启动序列包括清除DCOCTL,加载
    BCSCTL1目标值,最后按照建议加载DCOCTL目标值
    在MSP430x2xx系列的“TLV结构”章节中,用户指南不受影响BCL12 if(且仅当)在任何其他设备复位(PUC)之后执行
    对BCSCTL1进行了修改,因为在这种情况下,RSEL仍处于其默认值但是,对DCOx和MODx位的任何进一步更改都需要考虑上面概述的变通方法。

类别功能
功能DCO上电停止
说明当Vcc上升时间非常慢时,设备可能会进入一个状态
DCO不会振荡。没有JTAG访问或程序执行是可能的
器件将保持复位状态,直到电源电压断开。
解决方法在所有开机/电源循环方案下应用Vcc poweron ramp> = 10V /秒。
BCL14 BCS模块
类别功能
当P2SEL.7位未置1时,功能振荡器故障在旁路模式下被强制说明当LFXT1振荡器用于旁路模式且P2SEL.7未设置时,振荡器
故障标志(OFIFG)将被强制设置且无法清除。由于故障安全逻辑,在这种情况下,LFXT1不能用作MCLK。该bug只会影响该行为振荡器故障,时钟本身正常工作。解决方法如果应用程序需要正确的功能,请设置P2SEL.6和P2SEL.7振荡器故障标志(例如MCLK故障保护逻辑)。注意:设置P2SEL.7位会禁用GPIO功能并启用输入施密特触发器的引脚。 P2.7应连接到固定电压电平(VCC或GND)以防止交叉电流。

类别功能
功能中断处理程序,错误的中断向量提取描述当接受中断并且中断向量应用于MAB时,产生中断向量比预期地址低32字节的地址可以应用于地址总线。这是真的仅当堆栈指针地址处于以下范围之一时:
0x02C0到0x02DF
0x0280到0x029F
0x0240到0x025F
0x0200到0x021F

解决方法#1:将堆栈深度限制为32个字节。
解决方案#2(推荐,适用于所有条件):复制中断向量表(0xFFE0到

类别编译器 - 固定
功能ADD指令的执行不正确
描述当CPU使用间接寻址模式执行ADD(.B或.W)指令时
目的地R1或R4到R15,在RET或RETI指令之后直接添加
将被执行两次。 此错误不适用于间接源的情况
工作寄存器是R2或R3(#2或#4的常量发生器访问有效)。与CPU6条件对应的指令字掩码如下:

解决方法1.(首选)使用带偏移0的索引寻址而不是间接寻址:
ADD(.B / .W)0(R10),R11
请注意,某些汇编器可能会将此指令转换为间接寻址。
或者,当源处于汇编状态时,进行以下更改即可
围绕这个bug。 仅在无法实施解决方法1时执行以下操作。

2.在CALL和的任何实例之间放置一条指令(例如NOP)
ADD(.B / .W)指令,其中ADD紧跟在CALL之后。

3.用“DW 01301h”替换所有RETI指令。 RETI的指令字是
01300h。 通过在01301h组装中直接替换它,可以避免错误RETI指令正确执行; 例如:
WDT_ISR; 在reti退出LPM3

bic.w#LPM3,0(SP);
; reti; 用RE替换RETI
DW 01301h; 这行代码

类别功能
功能程序计数器访问后无效的状态寄存器描述在PC所在的寄存器模式下寻址程序计数器(PC)时目的地,状态寄存器(SR)可能是错误的。 BIS,BIC和BIS指令MOV不会影响SR内容。仅影响CPU标志:不适用于LPMx控制位。
解决方法无
CPU12 CPU模块
类别编译器 - 固定
以PC作为目标的功能CMP或BIT指令描述紧跟在使用本程序的CMP(.B)或BIT(.B)指令之后的指令
作为目标寄存器的计数器(PC)将被忽略或错误执行。什么时候
以下指令长于一个字,第二个字由CPU提取
并解码为指令,导致不可预测的行为。受影响的来源
寻址模式是索引和间接寻址模式。例:cmp&200,PC
添加#4,R8
在此示例中,不会执行add指令。
解决方法在BIT或CMP指令后插入NOP指令。 NOP将被忽略程序执行将按预期继续。

类别编译器 - 固定
功能CPUOFF修改可能导致无意的寄存器读取描述如果修改状态寄存器中CPUOFF位的指令后跟一个
带有间接寻址操作数的指令(例如MOV @ R8,R9,RET,POP,POPM),
在唤醒CPU期间可能发生无意的寄存器读操作。 如果无意读取发生在读敏感寄存器(例如UCB0RXBUF,TAIV)中
更改其值或其他寄存器(IFG)的值,该错误会导致中断丢失或错误的寄存器读取值。
解决方法在每个CPUOFF指令后插入NOP指令。

有关特定于编译器的修复实现信息,请参阅下表。
请注意,实现此修复程序的编译器可能会导致双栈使用RET / RETA遵循编译器插入的NOP。

猜你喜欢

转载自blog.csdn.net/szrileyH/article/details/89448237