MSP430

编辑
本词条由“匿名用户” 建档。

MSP430是德州仪器(TI)的16位RISC微控制器。微控制器针对功耗最低的应用进行了优化。可以使用编程语言C和/或汇编程序中的编译器对处理器核心进行编程。该控制器有不同的版本。德州仪器不断扩大范围,这表明该控制器系列取得了巨大成功。 MSP430具有经典的冯诺依曼架构。对于大多数衍生产品,可寻址内存的大小限制为64字节。内存大小高达256kbyteFLASH和高达16kbyteRAM(目前也在...

MSP430

编辑

MSP430 是德州仪器 (TI) 的 16 位 RISC 微控制器。 微控制器针对功耗最低的应用进行了优化。 可以使用编程语言 C 和/或汇编程序中的编译器对处理器核心进行编程。 该控制器有不同的版本。 德州仪器不断扩大范围,这表明该控制器系列取得了巨大成功。

内存分配

编辑

MSP430 具有经典的冯诺依曼架构。 对于大多数衍生产品,可寻址内存的大小限制为 64 字节。 内存大小高达 256 kbyte FLASH 和高达 16 kbyte RAM(目前也在同一模块中)。 在所有衍生产品中,较低可寻址的 64 KB 中约有 2 KB 保留用于内部功能(例如引导加载程序),因此对于两个xxx的 16 位内存配置,60 KB 的 FLASH 和 2 KB 的 RAM 或 48 KB带有 10 kbyte RAM 的 FLASH。

自 2006 年 11 月以来,TI 还提供了一个带有所谓 MSP430X CPU 的系列。 这是基于最多可寻址 1 MB 内存的内存模型。 地址总线在这里有20位,所以所有寄存器(除了状态寄存器R2/SR)不再是16位宽,而是20位。 这意味着“普通”CPU 中可用的命令仍然可用,无需任何更改。 然而,内部处理必须适应更大的地址宽度,例如对于 CALL 命令,必须在堆栈上写入一个字,因为必须将另外 4 位存储为返回地址。 设备可提供高达 120 kB 闪存/4 kB RAM 或 116 kB 闪存/8 kB RAM,均带有 LCD 驱动器。

在最低的 16 个字节(地址 0000h 到 000Fh)中,显示了用于中断和“模块”控制的特殊寄存器(SFR,特殊功能寄存器)。 8 位外设的寄存器占用接下来的 240 个字节(地址 0010h 到 00FFh)。 至此,需要逐字节访问内存。 除此之外,接下来的 255 个字节(地址 0100h 到 01FFh)为 16 位外设保留。 从这里开始,逐字访问内存。

RAM 位于第 513 个字节(地址 0200h 至 09FFh)。 对于更大的 RAM 配置(大于 2 kbytes),这实际上在内存中更高(地址 1100 h 到 38FF h),但部分反映在较低的地址范围内。 中间是引导和信息存储器(地址 0C00h 到 0FFFh 或 1000h 到 10FFh)。

代码存储器一样,信息存储器也是一种闪存,其特点是分为两个128字节的段,可以作为不时更改数据的“临时存储器”。 剩余的闪存(用于程序代码和常量)有 512 字节的段。 它基本上位于内存区域 1100 h 到 FFFF h,但取决于内存配置(更多 RAM 或更小的 FLASH),它只会来自地址 FC00 h(对于 1 kbyte FLASH)。 此外,存储器的前 32 个字节(地址 FFE0h 到 FFFFh)保留给中断向量,仅在需要时使用。 如果不使用中断,它们的向量存储器也可以用作程序存储器。

最近,还提供了基于 FRAM 的 MSP430。 与闪存相比,这种类型的存储器可以更快地写入并且消耗更少的能量。 这些设备的另一个好处是代码和数据(闪存和 RRAM)之间没有严格的界限,可以根据需要进行选择。 用于 FRAM 组件的制造工艺由 Ramtron 和 TI 联合开发。

中断处理

编辑

MSP430 基本上知道 16 个中断源,它们根据它们在中断向量中的位置排列优先级。 并非所有源都在每个块中都被占用,这取决于“内部”xxx设备的配置。

多个中断可以占用同一个向量。 如果是这种情况,软件必须使用适当的位来决定当前存在哪个中断。 此外,各种中断都有它们“自己的”向量寄存器,每个向量寄存器最多可以有 10 个不同的源(可扩展到 128 个)。 这里以定时器中断为例。

MSP430 可以处理多种掉电模式,在这些模式下指令处理停止或时钟关闭。 在最低的模式下,功耗为 0.4 µA,具体取决于类型。 如果要实现实时时钟,则需要大约 2 µA。 CPU可以被各种中断再次唤醒。

处理器

编辑

该指令集仅包含 27 条“基本指令”和 24 条由基本指令组成的“模拟”指令。 术语“RISC”适用于此。

一条命令的处理需要 1 到 6 个周期。 使用高达 25 MHz 的时钟频率,可以实现低至 40 ns 的步进时间。

MSP430 微控制器可以包含一个 MSP430 内核或一个 MSP430X 内核作为处理器。 后者处理附加指令以操作 20 位加宽寄存器并寻址超过 64K 字节(16 位限制),并与 MSP430 内核兼容(不带“X”)。 从 MSP430X 指令集的角度来看,扩展位宽被“限制”为 32 位,选择 20 位寄存器宽度作为当前寻址范围 (1 MiByte) 与复杂性和能耗之间的折衷方案。 如果20位足以进行某些算术运算,这些扩展寄存器也可以通用(目前只能在汇编程序中使用)。

架构

MSP430 有 16 个寄存器。 寄存器 0 是程序计数器 (PC),寄存器 1 是堆栈指针 (SP),寄存器 2 是处理器状态寄存器 (PS)。 寄存器 3(常数发生器,CG)是一个伪寄存器,提供常用常数 −1、0、+1 和 +2。 这四个寄存器具有特殊的功能,但与所有其他十二个寄存器一样,它们也可以自由使用。 PDP-11 中已经使用了将程序计数器或堆栈指针用作“空闲”寄存器的可能性。 寄存器不可寻址; 它们不能作为 MSP430 地址空间中的副本使用。

可能的寻址类型有寄存器寻址 (Rn)、变址寻址 (X(Rn))、符号寻址、xxx寻址、间接寻址 (@Rn)、自动递增间接寻址 (@Rn+) 和常量直接寻址。 这些寻址类型可用于源操作数。 对于有两个操作数的指令,只有寄存器寻址、符号寻址、xxx寻址和变址寻址可用于目标操作数。

内部xxx设备(“模块”)

编辑

“内部”外设(时钟生成、SVS(电源电压监控)、硬件乘法器、DMA、端口、看门狗、定时器、串行接口、比较器、ADC 和 DAC)的寄存器(如上所述)集成在地址区。 根据型号的不同,该xxx设备集成在芯片上。 8 位外设和 16 位外设是有区别的。

MSP430

时钟生成

在生成时钟时,TI 依靠三种不同的源,根据要求,它们具有极低的功耗(时钟晶体形式的 32.768 kHz)、中断后非常快速的唤醒(内部 RC 振荡器,6 µs 时间达到标称 RC 时钟频率)或高频(最高 16MHz)。MSP430 非常适合超频:低频振荡器可以用 100kHz 晶振驱动(大约 200% 超频),HF 振荡器可以超频xxx ,至少在室温和xxx允许工作电压下。

SVS

电源电压监控器,也称为欠压复位或欠压检测器,监控电源电压并允许系统以受控方式启动(复位),即使短暂低于最小电压也是如此。 如果未达到最小电压,系统中可能会出现不可预见的错误,这可能导致不需要的程序执行或挂起。 使用 SVS,可以避免此类错误并执行受控重启,甚至无需切断电源电压。

硬件倍增器

硬件乘法器处理无符号和有符号 8 位和 16 位数字的乘法,结果是最多 32 位的数字。 MSP430 系列中最小的子器件甚至可以处理 32 位数字和 64 位结果。 它还处理无符号和有符号的乘法和加法(MAC,DSP 的一个域)。 这四个操作的xxx个操作数存储在一个特殊的寄存器中,第二个操作数总是在同一个寄存器中。 结果总是在相同的两个输出寄存器中。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/372603/

(10)
词条目录
  1. MSP430
  2. 内存分配
  3. 中断处理
  4. 处理器
  5. 架构
  6. 内部外围设备(“模块”)
  7. 时钟生成
  8. SVS
  9. 硬件倍增器

轻触这里

关闭目录

目录