本章主要讲解MSP430F14x的内部结构,主要包括以下内容:
1、MSP430F14x的系统时钟
2、MSP430F14X内部结构概述
3、MSP430F14x的CPU
4、MSP430F14x的硬件乘法器
1,MSP430F14x的系统时钟
我们先来看一看MSP430F14x的中文结构图。MSP430单片机采用的是冯·诺依曼结构,主要包含16位的RSIC CPU、存储器、外围模块、灵活的时钟系统以及连接他们的数据总线和地址总线。
MSP430F14x结构图
MSP430F14x单片机的硬件结构特点是:
·超低功耗结构,能够延长电池生存周期。RAM保持方式下电流为0.1uA;等待方式时,电流为0.8uA;活动状态时,电流仅为250uA/MIPS。
·高性能的模拟器件可以用于精确测量。集成12位200ksps的A/D转换器,自带采样保持。
·16位RISC中央处理器,125ns指令周期。可以用较少的代码空间实现高性能的应用。
·在系统可编程的Flash,为ukaifa编程提供便利。
2,MSP430F14X内部结构概述
首先,在左上角的位置为系统时钟。系统时钟是一个程序运行的指挥官,时序和中断也是整个程序的核心和中轴线。
MSP430最多有3个振荡器:
1、DCO内部振荡器;
2、XT1外接低频振荡器,常见的32.768KHz,不用外接负载电容;也可接高频450KHz~8MHz,需接负载电容;
3、XT2接高频450KHz~8MHz,加外接电容。
这里需要强调一下DCO内部振荡器,DCO是由外部的Rosc电阻控制的,如果不接外部的低速晶体振荡器和高速晶体振荡器,DCO就可以工作。
MSP430有三种时钟信号:
1,MCLK系统主时钟,可分频1、2、4、8,供CPU使用,其他外围模块在有选择的情况下也可使用;
2,SMCLK系统子时钟,供外围模块使用,可选择不同振荡器产生的时钟信号;
3,ACLK辅助时钟,只能由LFXT1产生,供外围模块使用。
MSP430F14x的内部定时器:分别是看门狗单元,定时器B单元,定时器A单元。看门狗可以说是一个特殊的定时器,我们将他们放在一起来概述一下。
MSP430系列单片机内部集成了看门狗定时器。该看门狗除了用作看门狗的功能外,还可以作为普通的8位定时器使用。
WDT看门狗有如下特性:
※其主体是一个16位计数器;
※需要口令才能对其操作;
※有两种方式,看门狗和定时器;
※8种可选的定时时间。
还有两个一个是定时器B7,一个是定时器A3。这两个定时器基本上是相似的,都有四种工作模式。分别是:停止模式,增计数模式,连续计数模式,增/减计数模式。
Timer A3,就有3种中断;Timer B7,就有7种中断.
msp430的定时器,分两个大部分,一个是定时器,一个是比较捕获寄存器。
定时器只是管进行计时功能。比较捕获寄存器则是来控制计时器,和中断的。
这个两个模块还可以产生PWM脉冲信号,这是MSP430的高级应用,需要大家自己研究。
可以看到,一个比较器A,可以进行比较,两个电压之间的比较。还有USART0和USART1,也就是说MSP430F14x内部实际上是由两个串口的。USART模块可以自动从任何一种低功耗模式自动开始工作。所有的USART模块都可以实现USART异步通信和SPI同步通信这两种通信方式,这两种通信方式的硬件是通用的,经过适当的软件设计,这两种通信方式可以交替使用。
MSP430的6个I/O组,每一个I/O组一共有8个端口,从P1.0~P6.7一共48个通用I/O。然后它的P1和P2这两组里面,共16个I/O具有外部中断的能力。这点其实非常好,大家知道51单片机里面是有2个外部中断的,而且只支持下降沿中断。但是MSP430中,有16个外部中断,这个外部中断用户是可以选择的,可以选择上升沿,也可以选择下降沿中断。但是它不支持电平中断,这点需要注意。
MSP430的12位的ADC,是非常常用的模块。在此我们也不过多的讲述,在后面会有课时针对性的讲解。
MSP430的RAM和ROM。可以看一下,这个32K Flash和这个1K Ram对应着MSP430F147,48K Flash和这个2K Ram对应着MSP430F148,60K Flash和这个2K Ram对应着MSP430F149。所以说,如果您使用MSP430F149的话,基本上可以满足最常用的一般的程序的需求了。