1、MSP430 教程 1:MSP430 单片机系列简介1、MSP430 单片机的发展 MSP430 系列是一个 16 位的、具有精简指令集的、超低功耗的混合型单片机,在 1996 年问世,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。回忆 MSP430 系列单片机的发展过程,可以看出有这样三个阶段: 开始阶段 从 1996 年推出 MSP430 系列开始到 2000 年初,这个阶段首先推出有 33X 、 32X 、 31X 等几个系列,而后于 2000 年初又推出了 11X 、 11X1 系列。 MSP430 的 33X 、 32X 、 31X
2、等系列具有 LCD 驱动模块,对提高系统的集成度较有利。每一系列有 ROM 型( C )、 OTP 型( P )、和 EPROM 型( E )等芯片。 EPROM 型的价格昂贵,运行环境温度范围窄,主要用于样机开发。这也表明了这几个系列的开发模式,即:用户可以用 EPROM 型开发样机;用 OTP 型进行小批量生产;而 ROM 型适应大批量生产的产品。 2000 年推出了 11X/11X1 系列。这个系列采用 20 脚封装,内存容量、片上功能和 I/O 引脚数比较少,但是价格比较低廉。 这个时期的 MSP430 已经显露出了它的特低功耗等的一系列技术特点,但也有不尽如人意之处。它的许多重要特性
3、,如:片内串行通信接口、硬件乘法器、足够的 I/O 引脚等,只有 33X 系列才具备。 33X 系列价格较高,比较适合于较为复杂的应用系统。当用户设计需要更多考虑成本时, 33X 并不一定是最适合的。而片内高精度 A/D 转换器又只有 32X 系列才有。 寻找突破,引入 Flash 技术 随着 Flash 技术的迅速发展, TI 公司也将这一技术引入 MSP430 系列中。在 2000 年 7 月推出 F13X/F14X 系列,在 2001 年 7 月到 2002 年又相继推出 F41X 、 F43X 、 F44X 这些全部是 Flash 型单片机。 F41X 单片机是目前应用比较广的单片机,
4、它有 48 个 I/O 口, 96 段 LCD 驱动。 F43X 、 F44X 系列是在 13X 、 14X 的基础上,增加了液晶驱动器,将驱动 LCD 的段数由 3XX 系列的最多 120 段增加到 160 段。并且相应地调整了显示存储器在存储区内的地址,为以后的发展拓展了空间。 MSP430 系列由于具有 Flash 存储器,在系统设计、开发调试及实际应用上都表现出较明显的优点。这是 TI 公司推出具有 Flash 型存储器及 JTAG 边界扫描技术的廉价开发工具 MSP-FET430X110 ,将国际上先进的 JTAG 技术和 Flash 在线编程技术引入 MSP430 。 这种以 Fl
5、ash 技术与 FET 开发工具组合的开发方式,具有方便、廉价、实用等优点,给用户提供了一个较为理想的样机开发方式。 另外, 2001 年 TI 公司又公布了 BOOTSTRAP 技术,利用它可在烧断熔丝以后只要几根线就可更改并运行内部的程序。这为系统软件的升级提供了又一方便的手段。 BOOTSTRAP 具有很高的保密性,口令可达到 32 个字节的长度。 蓬勃发展阶段 在前一阶段,引进新技术和内部进行调整之后,为 MSP430 的功能扩展打下了良好的基础。于是 TI 公司在 2002 年底和 2003 年期间又陆续推出了 F15X 和 F16X 系列的产品。 在这一新的系列中,有了两个方面的发
6、展。一是从存储器方面来说,将 RAM 容量大大增加,如 F1611 的 RAM 容量增加到了 10KB 。这样一来,希望将实时操作系统( RTOS )引入 MSP430 的,就不会因 RAM 不够而发愁了。二是从外围模块来说,增加了 I 2 C 、 DMA 、 DAC12 和 SVS 等模块。 在 2003 年中, TI 公司还推出了专门用于电量计量的 MSP430FE42X 和用于水表、气表、热表上的具有无磁传感模块的 MSP430FW42X 单片机。我们相信由于 MSP430 的开放性的基本架构和新技术的应用,新的 MSP430 的产品品种必将会不断出现。 2、 MSP430 单片机的特点
7、 MSP430 系列单片机的迅速发展和应用范围的不断扩大,主要取决于以下的特点。 强大的处理能力 MSP430 系列单片机是一个 16 位的单片机,采用了精简指令集( RISC )结构,具有丰富的寻址方式( 7 种源操作数寻址、 4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在 8MHz 晶体驱动下指令周期为 125 ns 。这些特点保证了可编制出高效率的源程序。 在运算速度方面, MSP430 系列单片机能在 8MHz 晶体的驱动下,实现 125ns 的指令周期。 16 位的数据宽
8、度、 125ns 的指令周期以及多功能的硬件乘法器(能实现乘加)相配合,能实现数字信号处理的某些算法(如 FFT 等)。 MSP430 系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的备用状态时,用中断请求将它唤醒只用 6us 。 超低功耗 MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。 首先, MSP430 系列单片机的电源电压采用的是 1.83.6V 电压。因而可使其在 1MHz 的时钟条件下运行时, 芯片的电流会在 200400uA 左右,时钟关断模式的最低功耗只有 0.1uA 。 其次,独特的时钟
9、系统设计。在 MSP430 系列中有两个不同的系统时钟系统:基本时钟系统和锁频环( FLL 和 FLL )时钟系统或 DCO 数字振荡器时钟系统。有的使用一个晶体振荡器( 32768Hz ) , 有的使用两个晶体振荡器)。由系统时钟系统产生 CPU 和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。 由于系统运行时打开的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有一种活动模式( AM )和五种低功耗模式( LPM0LPM4 )。在等待方式下,耗电为 0.7uA ,在节电方式下,最低可达 0.1uA 。 系统工作稳定 上电复位
10、后,首先由 DCOCLK 启动 CPU ,以保证程序从正确的位置开始执行,保证晶体振荡器有足够的起振及稳定时间。然后软件可设置适当的寄存器的控制位来确定最后的系统时钟频率。如果晶体振荡器在用做 CPU 时钟 MCLK 时发生故障, DCO 会自动启动,以保证系统正常工作;如果程序跑飞,可用看门狗将其复位。 丰富的片上外围模块 MSP430 系列单片机的各成员都集成了较丰富的片内外设。它们分别是看门狗( WDT )、模拟比较器 A 、定时器 A ( Timer_A )、定时器 B ( Timer_B )、串口 0 、 1 ( USART0 、 1 )、硬件乘法器、液晶驱动器、 10 位 /12
11、位 ADC 、 I 2 C 总线直接数据存取( DMA )、端口 O ( P0 )、端口 16 ( P1P6 )、基本定时器( Basic Timer )等的一些外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出 A/D 转换器; 16 位定时器( Timer_A 和 Timer_B )具有捕获 / 比较功能,大量的捕获 / 比较寄存器,可用于事件计数、时序发生、 PWM 等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的 I/O 端口,最多达 6*8 条 I/O 口线; P0 、 P1 、
12、P2 端口能够接收外部上升沿或下降沿的中断输入; 12/14 位硬件 A/D 转换器有较高的转换速率,最高可达 200kbps ,能够满足大多数数据采集应用;能直接驱动液晶多达 160 段;实现两路的 12 位 D/A 转换;硬件 I 2 C 串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用直接数据传输( DMA )模块。 MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。 方便高效的开发环境 目前 MSP430 系列有 OPT 型、 FLASH 型和 ROM 型三种类型的器件,这些器件的开发手段不同。对于 OPT 型和 ROM 型的器件是使用仿真器开
13、发成功之后在烧写或掩膜芯片;对于 FLASH 型则有十分方便的开发调试环境,因为器件片内有 JTAG 调试接口,还有可电擦写的 FLASH 存储器,因此采用先下载程序到 FLASH 内,再在器件内通过软件控制程序的运行,由 JTAG 接口读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台 PC 机和一个 JTAG 调试器,而不需要仿真器和编程器。开发语言有汇编语言和 C 语言。 MSP430 单片机目前主要以 FLASH 型为主。 适应工业级运行环境 MSP430 系列器件均为工业级的,运行环境温度为 -40 85 摄氏度 ,所设计的产品适合用于工业环境下。 MAP430 系列与
14、89C 51 系列的比较 我国的多数读者对 89C 51 系列的单片机是很熟悉的,为了加深对 MSP430 系列单片机的认识,我们不妨将两者进行一下比较。 首先, 89C 51 单片机是 8 位单片机。其指令是采用的被称为“ CISC ”的复杂指令集,共具有 111 条指令。而 MSP430 单片机是 16 位的单片机,采用了精简指令集( RISC )结构,只有简洁的 27 条指令,大量的指令则是模拟指令,众多的寄存器以及片内数据存储器都可参加多种运算。这些内核指令均为单周期指令,功能强,运行的速度快。 其次, 89C 51 单片机本身的电源电压是 5 伏,有两种低功耗方式:待机方式和掉电方式
15、。正常情况下消耗的电流为 24mA ,在掉电状态下,其耗电电流仍为 3mA ;即使在掉电方式下,电源电压可以下降到 2V ,但是为了保存内部 RAM 中的数据,还需要提供约 50uA 的电流。而 MSP430 系列单片机在低功耗方面的优越之处,则是 89C 51 系列不可比拟的。正因为如此, MSP430 更适合应用于使用电池供电的仪器、仪表类产品中。 再者, 89C 51 系列单片机由于其内部总线是 8 位的,其内部功能模块基本上都是 8 位的虽然经过各种努力其内部功能模块有了显著增加,但是受其结构本身的限制很大,尤其模拟功能部件的增加更显困难。 MSP430 系列其基本架构是 16 位的,
16、同时在其内部的数据总线经过转换还存在 8 位的总线,在加上本身就是混合型的结构,因而对它这样的开放型的架构来说,无论扩展 8 位的功能模块,还是 16 位的功能模块,即使扩展模 / 数转换或数 / 模转换这类的功能模块也是很方便的。这也就是为什么 MSP430 系列产品和其中功能部件迅速增加的原因。 最后,就是在开发工具上面。对于 89C51 来说,由于它是最早进入中国的单片机,人们对它在熟悉不过了,再加上我国各方人士的努力,创造了不少适合我们使用的开发工具。但是如何实现在线编程还是一个很大的问题。对于 MSP430 系列而言,由于引进了 Flash 型程序存储器和 JTAG 技术,不仅使开发
17、工具变得简便,而且价格也相对低廉,并且还可以实现在线编程。4.MSP430 系列的内部结构概述 MSP430 系列器件包含 CPU 、程序存储器 (ROM 、 ROM 和 Flash ROM) 、数据存储器 (RAM) 、运行控制、外围模块和振荡器和倍频器等主要功能模块。其基本结构如 图 1 所示。可以看出, MSP430 内部包含了计算机所有部件,是一个真正的单片机 ( 微控制器 MCU) 。 图 2 所示。在 16 个寄存器中,程序计数器 PC 、堆栈指针 SP 、状态寄存器 SR 和常数发生器 CGl 、 CG2 这 4 个寄存器有特殊用途。除了 R3 CG2 和 R2 CGl 外,所有
18、寄存器都可作为通用寄存器来用于所有指令操作。常数发生器是为指令执行时提供常数的,而不是用于存储数据的。对 CGl 、 CG2 访问的寻址模式可以区分常数的数据。 图 2 图 3 所示。 表 1 中。 图 3)。 图 4 所示为外围模块的连接总线示意图。从图中可以看出,外围模块可分为字( 16 位)模块和字节( 8 位)模块两种。对大多数外围模块, MAB 通常是 16 位, MDB 是 8 位或 16 位。 CPU CPU 由一个 16 位的 ALU 、 16 个寄存器和一套指令控制逻辑组成,其逻辑简图如 在 CPU 内部有一组 16 位数据总线和 16 位的地址总线; CPU 运行正交设计、
19、对模块高度透明的精简指令集; PC 、 SR 和 SP 配合精简指令组所实现的控制,使应用开发可实现复杂的寻址模式和软件算法。图 1 存储器 MSP430 系列采用 “冯纽曼结构”。因此, RAM 、 ROM 和全部外围模块都位于同一个地址空间内,即用一个公共的空间对全部功能模块进行寻址。支持外部扩展存储器是将来性能增强的目标。特殊功能寄存器及外围模块安排在 000H 1FFH 区域; RAM 和 ROM 共享 0200H FFFFH 区域,数据存储器( RAM )的起始地址是 0200H 。 存储器与 CPU 及存储器数据总线 (MDB) 、存储器地址总线 (MAB) 的连接关系如图 3 (
20、 1 )程序存储器 MSP430 系列程序存储器的类型有 ROM 、 OTP 和 Flash ROM 三种,存储器的类型和容量示于本刊网站的ROM 的容量在 1KB 60KB 之间;对于 Flash 型的芯片,内部还集成有两段 128B (共 256B )的信息存储器以及 1KB 存放自举程序的自举存储器( BOOT ROM );对代码存储器的访问总是以字形式取得代码,而对数据存储器可以用字或字节方式访问。每次访问需要 16 条数据总线( MDB )和访问当前存储器模块所需的地址总线( MAB );存储器模块由模块允许信号自动选中。最低的 64KB 空间的顶部 16 个字,即 0FFFFH 0
21、FFE0H ,保留存放复位和中断的向量;在程序存储器中还可以存放表格数据,以实现查表处理等应用;程序对程序存储器可以任意读取,但不能写入。 ( 2 ) 数据存储器 数据存储器 (RAM) 经两条总线与 CPU 相连,即存储器地址总线 MAB 和存储器数据总线 MDB (见数据存储器可以以字或字节宽度集成在片内,其容量在 128B 10KB 之间;所有指令可以对字节或字进行操作。但是对堆栈和 PC 的操作是按字宽度进行的,寻址时必须对准偶地址。 运行控制 MSP430 系列微控制器的运行主要受控于存储在特殊寄存器 (SFR) 中的信息。不同 SFR 中的位可以允许中断,以支持取决于中断标志状态的
22、软件以及定义外围模块的工作模式。 禁止外围模块,停止它的功能,可以减少电流消耗,而所有存储在模块寄存器中的数据仍被保留。外围模块的工作模式可以用 SFR 的特定位置来标明。 外围模块 外围模块包括基本定时器( Basic Timer )、 16 位定时器 (Timer_A 及 Timer_B) 、 ADC 转换器、 I/O 端口、异步及同步串行通讯口( USART )以及液晶显示驱动模块等。 外围模块经 MAB 、 MDB 与 CPU 相连。 字节( 8 位)模块的数据总线是 8 位的,需经总线转换电路与 16 位的 CPU 相连。这些模块的数据交换毫无例外地要用字节指令处理;对字( 16 位)模块,其数据总线是 16 位的,无需经过转换而直接与 CPU 的 16 位数据总线相连。模块的操作指令就没有任何限制。 MSP430 系列所包含的字节( 8 位)模块和字( 16 位)模块,请参看本刊网站上的表 2 和表 3 。 图 4 振荡器和时钟发生器 振荡器 LFXT1 ( LF )是专门为通用的低功耗 32768 Hz 时钟晶振设计的。除了晶体外接外,所有的模拟元件都集成在片内。但是也可以用一个高速的晶振工作,这时需要外接负载电容。
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。