MSP430F169单片机结构.doc

上传人:laozhun 文档编号:4131408 上传时间:2023-04-06 格式:DOC 页数:20 大小:474KB
返回 下载 相关 举报
MSP430F169单片机结构.doc_第1页
第1页 / 共20页
MSP430F169单片机结构.doc_第2页
第2页 / 共20页
MSP430F169单片机结构.doc_第3页
第3页 / 共20页
MSP430F169单片机结构.doc_第4页
第4页 / 共20页
MSP430F169单片机结构.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《MSP430F169单片机结构.doc》由会员分享,可在线阅读,更多相关《MSP430F169单片机结构.doc(20页珍藏版)》请在三一办公上搜索。

1、MSP430F169单片机结构MSP430F16x系列是TI的MSP430F1x系列(FLASH存储器型)单片机中功能最强的子系列。MSP430F16x具有更大的程序和数据存储区、更多的外围模块,其片内甚至还包括一个硬件乘法器。同时F16x系列单片机开发工具简便,固化于FLASH存储器内的程序易于在线升级和调试,内置A/D和D/A转换模块,其具有丰富的片内外围,性价比极高,所以本题目采用这个型号作为微处理器。德州仪器公司(TI)推出的MSP430F16x系列是超低功耗Flash型16位RISC指令集单片机。它采用冯-纽曼结构,RAM、ROM和全部外围模块都位于同一个地址空间内。MSP430F1

2、6x单片机的设计结构完全以系统低功耗运行为核心。它的体系结构由五种低功耗模式组成,最优化延长电池寿命以利于便携式的测量应用。器件以最大代码效率的一台强有力的16 位RISC CPU 、16 位记数器, 和恒定的发电器为特色。数控晶振(DCO) 允许在不到6微秒内从低功率方式唤醒到活动方式。MSP430x15x/16x/161x 系列是微型控制器配置与二个固定16 位定时器, 8路快速的12 位A/D 转换器, 双路12 位D/A 转换器,两个通用连续同步/非同步通信接口(USART), I2C 、DMA, 和48 个I/O 引脚。另外, MSP430x161x 系列提供强大的RAM 寻址为记忆

3、密集和大量C 堆栈要求的应用。典型的应用包括获取模拟信号, 转换它们成数字值, 过程和传输数据给主机系统的传感器系统。定时器可利用在工业控制应用譬如数字式马达控制、手动仪表、光纤网络技术控制,等。其主要部件及其功能结构如图所示:MSP430F15X/F16X系列单片机结构框图定时器B7 (仅MSP430x16x/161x):定时器B7是带有七种捕获比较记数器的16 位定时器/记数器。 定时器B7 支持倍数捕获比较, PWM 输出, 和间隔定时。 定时器B7 并且有强大的中断能力。中断可在记数器在溢出时和各捕获比较记数器引发。比较器A:比较器A 模块的主要作用将支持精精密的斜率模数转换,电池电压

4、监控, 和外模拟信号监视。ADC12: ADC12 模块支持快速12 位模数转换。 模块使用12位SAR生核心, 采样选择控制, 参考发电器和16 个字节的转换和控制缓冲。 转换和控制缓冲允许无任何CPU 干预的16 个独立ADC 采样转换和存放。DAC12: DAC12 模块是12 位, R 阶数模转换模块, 电压输出 。 DAC12 也能使用在8 或12 位方式,并且可以使用与DMA控制器一起使用。 当多个DAC12 模块存在, 他们可以一起被编组同步操作。在本次设计中直接引用MSP430F169单片机中本模块的D/A 转换功能。外围器件:外围器件被连接到CPU 在数据、地址, 和控制总线

5、之间被所有指令处理使用。DMA控制器: DMA控制器允许数据不经CPU 干预从一个存储地址移动到另一个。例如, DMA控制器能被使用从ADC12转换存储数据到RAM。使用DMA控制器能增加外围模块流量。DMA控制器通过允许CPU在没有数据移动到外围器件时保持在睡眠方式而不唤醒以减少系统功耗。晶振和系统时钟:时钟系统在器件MSP430x15x 和MSP430x16x(x)由32768 赫兹晶体控制振荡器、内部数控晶振的基本的时钟模块 (数控晶振) 和高频率晶体控制振荡器组成。基本的时钟模块的设计符合低成本和低功耗的要求。内部数控晶振提供一个快速打开的稳定在6微秒之内时钟源。基本的时钟模块提供以下

6、时钟信号:辅助时钟(ACLK), 32768 赫兹晶振或一个高频率晶振主要时钟(MCLK), 系统时钟由CPU. 子时钟(SMCLK), 子系统时钟通过外围模块使用。数字式I/O:有六个8位I/O 口P1 到P6。所有I/O 位都是独立可编程序的。可进行任一个输入、输出, 和中断状态的组合。中断输入功能由P1 和P2口所有八位端口执行。对端口控制记数器的读写通过指令执行。看门狗定时器:看门狗定时器(WDT) 模块的主要作用在软件问题发生之后是控制系统重启。如果到选择的间隔时间, 则引起系统重启。如果看门狗不作用,被用作时间定时器, 在选择的间隔时间引起中断。乘法器(仅MSP430x16x/16

7、1x):乘法操作由一个专用的外围模块支持。不仅支持有符号和无符号乘法,同时支持有符号和无符号倍增和累加操作。操作数被载入外转围记数器之后,操作的结果立即被存储。不需要另外的时钟周期。CPU: MSP430 CPU 是16 位RISC对应用程序高度透明的结构。除程序流动指令之外,所有操作都在记数器操作七个寻址模式时执行,以操作数和四个寻址模式为目的操作数。CPU 集成16 位记数器以减少指令执行时间。记数器之间的操作执行时间为CPU 时钟的一个周期。四个记数器, R0 到R3为程序计数器, 堆栈指针, 状态寄存器,和恒定的发电器,记数器通用寄存器。外围器件被连接到CPU 使用数据,地址和控制总线

8、, 并且能被所有指令处理。指令组:指令组包括51 条指令与三种格式和七个寻址方式。 每条指令在字和字节数据之间操作。工作方式: MSP430 有一个有活动模式和五种软件可选择的低功率运行方式。中断事件可能触发器件服务请求恢复到任何五个低功率方式中的任何一个。低功率方式从中断程序返回。以下六种操作方式能被软件设置:活动方式AM:所有时钟有效的。低功率方式0 (LPM0): CPU 不工作; ACLK 和SMCLK 保留。 MCLK不工作低功率方式1 (LPM1): CPU不工作。ACLK 和SMCLK 保留。 MCLK不工作数控晶振的 直流发生器不工作如果数控晶振 没被使用在活动方式。低功率方式

9、2 (LPM2): CPU 不工作, MCLK 和SMCLK 不工作数控晶振的 直流发生器保留使能ACLK 保留活动。低功率方式3 (LPM3):CPU 不工作,MCLK 和SMCLK 不工作,数控晶振的 直流发生器不工作,ACLK 保留。低功率方式4 (LPM4): CPU 不工作,ACLK 不工作,MCLK 和SMCLK 不工作,数控晶振的 直流发生器不工作,晶振停止。MSP430F169单片机引脚说明 MSP430F15X/F16X系列单片机外形图MSP430F169单片机为64引脚封装,48个数字I/O,其中大部分引脚有复用功能。各引脚名称及功能如表所述。MSP430F169引脚功能表

10、引脚名称引脚编号I/O描述AVCC64模拟正电源端,向电压检测电路,brownout,晶体振荡电路,所频环电路,比较器A,端口1,以及液晶分压电阻网络供电,上电不必早于DVCC。AVSS62模拟负电源端,内部连接于DVCC。DVCC1数字正电源端,提供所有部件电源(由AVCC供电的除外)。DVSS63数字地,所有部件的接地端(由AVCC/AVSS供电的除外)。VREF+7ADC12正向参考电压。VeREF+10外部参考电压输入。VREF/VeREF11参考电压负端,内部参考电压, 或应用外部参考电压XT2IN53I/O晶振XT2输入。XT2OUT52I/O晶振XT2输出。P5.7/TBoutH

11、/SVSOUT51I/O通用数字I/O;交换所有PWM 数字输出端口到定时器_B7的 TB0 到TB6高电平端, SVS比较器输出。P5.6/ACLK50I/O通用数字I/O;辅助时钟ACLK输出。P5.5/SMCLK49I/O通用数字I/O;子时钟SMCLK输出。P5.4/MCLK48I/O通用数字I/O;主要系统时钟MCLK输出。P5.3/UCLK147I/O通用数字I/O;外部时钟输入端。P5.2/SOMI146I/O通用数字I/O。 P5.1/SIMO145I/O通用数字I/O。P5.0/STE144I/O通用数字I/O。P3.7/URXD135I/O通用数字I/O。P3.6/UTXD

12、134I/O通用数字I/O。P3.5/URXD033I/O通用数字I/O。P3.4/UTXD032I/O通用数字I/O。P3.3/UCLK0/SCL31I/O通用数字I/O。P3.2/SOMI030I/O通用数字I/O。P3.1/SIMO0/SDA29I/O通用数字I/O。P3.0/STE028I/O通用数字I/O。P2.7/TA027I/O通用数字I/O;定时器_A比较方式:OUT0输出。P2.6/ADC12CLK/DMAE026I/O通用数字I/O;转换时钟- 12 位ADC, 直接存储器存取通道0 外在触发器。P2.5/Rosc25I/O通用数字I/O。P2.4/CA1/TA224I/O

13、通用数字I/O;比较器A输入端;比较方式:OUT2输出。P2.3/CA0/TA123I/O通用数字I/O;比较器A输入端;比较方式:OUT1输入。P2.2/CAOUT/TA022I/O通用数字I/O;比较器A输出端;捕获方式:CCIOA输入。P2.1/TAINCLK21I/O通用数字I/O。P2.0/ACLK20I/O通用数字I/O;辅助时钟ACLK输出。P1.7/TA219I/O通用数字I/O;定时器_A比较方式:OUT2输出。P1.6/TA118I/O通用数字I/O;定时器_A比较方式:OUT1输出。P1.5/TA017I/O通用数字I/O;定时器_A比较方式:OUT0输出。P1.4/SM

14、CLK16I/O通用数字I/O;SMCLK信号输出。P1.3/TA215I/O通用数字I/O。P1.2/TA114I/O通用数字I/O。P1.1/TA013I/O通用数字I/O。P1.0/TACLK12I/O通用数字I/O;定时器A时钟输入。P4.0/TB036O通用数字I/O。P4.1/TB137I/O通用数字I/O。P4.2/TB238I/O通用数字I/O。P4.3/TB339I/O通用数字I/O。P4.4/TB440I通用数字I/O。P4.5/TB541I/O通用数字I/O。P4.6/TB642I/O通用数字I/O。P4.7/TBCLK43I/O通用数字I/O。P6.0/A059I/O通

15、用数字I/O。P6.1/A160I/O通用数字I/O。P6.2/A261I/O通用数字I/O。P6.32I/O通用数字I/O。P6.43I/O通用数字I/O。P6.54I/O通用数字I/O。P6.65I/O通用数字I/O。P6.76I/O通用数字I/O。RES/NMI58I复位输入或非屏蔽中断输入端。TCK57I测试时钟端。TCK是芯片编程和测试的时钟输入端。TDI55I测试数据输入端。TDI用作数据输入,芯片的保护熔丝与TDI相连。TDO/TDI54I/O测试数据输出端,TDO/TDI用作数据输出或编程数据输入端。TMS56I测试模式选择端。TMS在芯片编程和测试时是输入端。XIN8I基本振

16、荡器XT1输入端。可以连接标准晶体或晶体振荡器。XOUT9I/O晶体振荡器XT1输出端。MSP430F169单片机D/A转换器DAC12MSP430F169单片机的DAC12是12位,R阶,并且同时可以工作在8位和12位两种方式或者和DMA控制器一起使用。本设计中MSP430F169片内的D/A转换模块(DAC12)将数字化的正弦波所对应的数字量用硬件形式转换成模拟波形。因为MSP430F169片内集成ADC12、DAC12所以无需外部扩展实现上述功能的芯片,硬件结构简单,便于开发调试。DAC12转换器结构如图所示。DAC12转换器结构图DAC12_xDAT的数据格式 :DAC12采用12位二

17、进制数格式,由于DAC12是双路,所以当数字量从0到212变化时,对应的输出电压量也就从0到2.5V变化。输入数字量与输出电压关系如图所示:图2.3.2 DAC12输出量示意图Fig 2.3.2 DAC12 output schematic drawingMSP430F169定时器A输入时钟可以有多种选择,可以是慢时钟,快时钟以及外部时钟。 虽然没有自动重载时间常数功能,但产生的定时脉冲或 PWM(脉宽调制)信号没有软件带来的误差。 不仅能捕获外部事件发生的时间还可锁定其发生时的高低电平。 可实现串行通讯。 完善的中断服务功能。 4种计数功能选择。 8种输出方式选择。 支持多时序控制。 DMA

18、使能。 图2.4.1 定时器A结构图Fig 2.4.1 Timer-A structure drawing定时器A功能模块、结构框图如图所示,主要包括:计数器部分:输入的时钟源具有4种选择,所选定的时钟源又可以1、2、4或8分频作为计数频率,Timer_A可以通过选择4种工作模式灵活的完成定时/计数功能。 捕获/比较器:用于捕获事件发生的时间或产生时间间隔,捕获比较功能的引入主要是为了提高I/O 端口处理事务的能力和速度。不同的MSP430单片机,Timer_A模块中所含有的捕获/比较器的数量不一样,每个捕获/比较器的结构完全相同,输入和输出都决定于各自所带的控制寄存器的控制字,捕获/比较器相

19、互之间工作完全独立。 输出单元:具有可选的8种输出模式,用于产生用户需要的输出信号,支持PWM。CCR0捕获/比较寄存器0中断结构框图如图所示。 CCR0捕获/比较寄存器0中断结构框图CCR1CCRx捕获/比较寄存器1x和定时器中断结构框图如图所示。 定时器中断结构框图Timers severances structure diagram定时器模式设置框图如图所示。定时器模式设置框图停止模式停止模式用于定时器暂停,并不发生复位,所有寄存器现行的内容在停止模式结束后都可用。当定时器暂停后重新计数时,计数器将从暂停时的值开始以暂停前的计数方向计数。例如,停止模式前,Timer_A工作于增/减计数模

20、式并且处于下降计数方向,停止模式后,Timer_仍然工作于增/减计数模式,从暂停前的状态开始继续沿着下降方向开始计数。如果不能这样,则可通过TACTL中的CLR控制位来清除定时器的方向记忆特性。 增计数模式捕获/比较寄存器CCR0用作Timer_A增计数模式的周期寄存器,因为CCR0为16位寄存器,所以该模式适用于定时周期小于65 536的连续计数情况。计数器TAR可以增计数到CCR0的值,当计数值与CCR0的值相等(或定时器值大于CCR0的值)时,定时器复位并从0开始重新计数。增计数模式的计数过程如图所示。增计数模式的计数过程图增计数模式的中断标志位设置如图所示。增计数模式的中断标志位设置改

21、变CCR0值重置计数周期增计数方式,新周期大于旧周期的响应如图所示: 值重置计数周期响应图新周期小于旧周期的响应如图所示: CCR0值重置计数周期响应图连续计数模式 在需要65 536个时钟周期的定时应用场合常用连续计数模式。定时器从当前值计数到0FFFFH后,又从0开始重新计数如图所示,中断标志位置位如图所示。定时器计数过程图定时器计数过程图连续计数模式的典型应用举例,如图所示: 连续计数模式应用举例过程图产生多个独立的时序信号:利用捕获比较寄存器捕获各种其他外部事件发生的定时器数据。 产生多个定时信号:通过中断处理程序在相应的比较寄存器CCRx上加上一个时间差来实现。这个时间差是当前时刻(

22、既相应的CCRx中的值)到下一次中断发生时刻所经历的时间。 增/减计数模式 需要对称波形的情况经常可以使用增/减计数模式,该模式下,定时器先增计数到CCR0的值,然后反向减计数到0。计数周期仍由CCR0定义,它是CCR0计数器数值的2倍。计数器的计数过程如图所示。 计数器的计数过程图标志位设置过程如图所示。 标志位设置过程图MSP430F169定时器B定时器B功能模块、结构框图如图所示:定时器B功能模块、结构框图Timer_B和Timer_A共同的特征: 4种工作模式 具有可选,可配置的计数器输入时钟源 有多个独立可配置捕获/比较模块 有多个具有8种输出模式的可配置输出单元 DMA使能 中断功

23、能强大,中断可能源自于计数器的溢出,也可能源自于各捕获/比较模块上发生的捕获事件或比较事件。 Timer_B与Timer_A不同之处:Timer_B计数长度为8位,10位,12位和16位可编程,而Timer_A的计数长度固定为16位。 Timer_B中没有实现Timer_A中的SCCI寄存器位的功能。 Timer_B在比较模式下的捕获/比较寄存器功能与Timer_A不同,增加了比较锁存器: 有些型号芯片中的Timer_B输出实现了高阻输出 比较模式的原理稍有不同:在Timer_A中,CCRx寄存器中保存与TAR相比较的数据;而在Timer_B中,CCRx寄存器中保存的是要比较的数据,但并不直接

24、与定时器TBR相比较,而是将CCRx送到与之相对应的锁存器之后,由锁存器与定时器TBR相比较。从捕获/比较寄存器向比较锁存器传输数据的时机也是可以编程的,可以是在写入捕获/比较寄存器后立即传输,也可以是由一个定时事件来触发。 Timer_B支持多重的、同步的定时功能;多重的捕获/比较功能;多重的波形输出功能(比如PWM信号)。而且,通过对比较数据的两级缓冲,可以实现多个PWM信号周期的同步更新 MSP430F169PIO端口类型丰富: P1,P2,P3,P4,P5,P6,S和COM。功能丰富:I/O,中断能力,其它片内外设功能,驱动液晶。寄存器丰富:P1与P2各有7个寄存器,P3、P4、P5、

25、P6有四个寄存器。端口数据输出特性:低电平输出特性,如图所示:低电平输出特性高电平输出特性,如图所示: 高电平输出特性具有中断功能的数据输入、输出端口P1和P2 (Port1/2)各寄存器符号、地址和功能在头文件中定义,输入、输出端口P1和P2寄存器定义如下。#define P1IN_ (0x0020) /* Port 1 输入寄存器 */const sfrb P1IN = P1IN_;#define P1OUT_ (0x0021) /* Port 1 输出寄存器 */sfrb P1OUT = P1OUT_;#define P1DIR_ (0x0022) /* Port 1 方向选择寄存器,为

26、1位输出,为0位输入 */sfrb P1DIR = P1DIR_;#define P1IFG_ (0x0023) /* Port 1 中断标志寄存器 */sfrb P1IFG = P1IFG_;#define P1IES_ (0x0024) /* Port 1 中断触发沿选择寄存器 */sfrb P1IES = P1IES_;#define P1IE_ (0x0025) /* Port 1 中断使能寄存器 */sfrb P1IE = P1IE_;#define P1SEL_ (0x0026) /* Port 1 功能选择寄存器 */sfrb P1SEL = P1SEL_;#define P2I

27、N_ (0x0028) /* Port 2 输入寄存器 */const sfrb P2IN = P2IN_;#define P2OUT_ (0x0029) /* Port 2 输出寄存器 */sfrb P2OUT = P2OUT_;#define P2DIR_ (0x002A) /* Port 2 方向选择寄存器 */sfrb P2DIR = P2DIR_;#define P2IFG_ (0x002B) /* Port 2 中断标志寄存器 */sfrb P2IFG = P2IFG_;#define P2IES_ (0x002C) /* Port 2 中断触发沿选择寄存器 */sfrb P2IE

28、S = P2IES_;#define P2IE_ (0x002D) /* Port 2 中断标志寄存器 */sfrb P2IE = P2IE_;#define P2SEL_ (0x002E) /* Port 2 功能选择寄存器 */sfrb P2SEL = P2SEL_;不有中断功能的数据输入、输出端口P3和P4(Port3/4)各寄存器符号、地址和功能在头文件中定义,输入、输出端口P3和P4寄存器定义如下。#define P3IN_ (0x0018) /* Port 3 输入寄存器 */const sfrb P3IN = P3IN_;#define P3OUT_ (0x0019) /* Po

29、rt 3 输出寄存器 */sfrb P3OUT = P3OUT_;#define P3DIR_ (0x001A) /* Port 3 方向选择寄存器 */sfrb P3DIR = P3DIR_;#define P3SEL_ (0x001B) /* Port 3 功能选择寄存器 */sfrb P3SEL = P3SEL_;#define P4IN_ (0x001C) /* Port 4 输入寄存器 */const sfrb P4IN = P4IN_;#define P4OUT_ (0x001D) /* Port 4 输出寄存器 */sfrb P4OUT = P4OUT_;#define P4DI

30、R_ (0x001E) /* Port 4 方向选择寄存器 */sfrb P4DIR = P4DIR_;#define P4SEL_ (0x001F) /* Port 4 功能选择寄存器 */sfrb P4SEL = P4SEL_;不有中断功能的数据输入、输出端口P5和P6(Port5/6)各寄存器符号、地址和功能在头文件中定义,输入、输出端口P5和P6寄存器定义如下。#define P5IN_ (0x0030) /* Port 5 输入寄存器 */const sfrb P5IN = P5IN_;#define P5OUT_ (0x0031) /* Port 5 输出寄存器 */sfrb P5

31、OUT = P5OUT_;#define P5DIR_ (0x0032) /* Port 5 方向选择寄存器 */sfrb P5DIR = P5DIR_;#define P5SEL_ (0x0033) /* Port 5 功能选择寄存器 */sfrb P5SEL = P5SEL_;#define P6IN_ (0x0034) /* Port 6 输入寄存器 */const sfrb P6IN = P6IN_;#define P6OUT_ (0x0035) /* Port 6 输出寄存器 */sfrb P6OUT = P6OUT_;#define P6DIR_ (0x0036) /* Port

32、6 方向选择寄存器 */sfrb P6DIR = P6DIR_;#define P6SEL_ (0x0037) /* Port 6 功能选择寄存器 */sfrb P6SEL = P6SEL_;MSP430F169时钟电路MSP430F169芯片时钟输入源分为以下几种:LFXT1CLK:低频时钟源,需外接晶体振荡电路。XT2CLK:高频时钟源,需外接晶体振荡电路。DCOCL:数字控制RC振荡器,由外接电阻或芯片内部电路构成。时钟输出信号分为以下几种:ACLK 辅助时钟:片内或片外慢速外设。MCLK主系统时钟:CPU和系统。SMCLK子系统时钟:片内或片外快速外设。振荡器控制逻辑:如图所示,图中各

33、控制端所标符号是相应寄存器中的位符号,在编译头文件中都有定义。标准位定义表示BITx在寄存器中的位。基本时钟模式控制字定义表示时钟模块寄存器和寄存器中的位定义,以及相应的工作模式。其中sfrb定义了字节(8位)专用功能寄存器代码。振荡器控制逻辑标准位定义如下。#define BIT0 (0x0001)#define BIT1 (0x0002)#define BIT2 (0x0004)#define BIT3 (0x0008)#define BIT4 (0x0010)#define BIT5 (0x0020)#define BIT6 (0x0040)#define BIT7 (0x0080)#d

34、efine BIT8 (0x0100)#define BIT9 (0x0200)#define BITA (0x0400)#define BITB (0x0800)#define BITC (0x1000)#define BITD (0x2000)#define BITE (0x4000)#define BITF (0x8000)根据实际连接情况,确定ACLK、SMCLK和MCLK时钟源:ACLK:LFTX1 (32768);MCLK:DCOCLK或者LFTX1;SMCLK:DCOCLK或者LFTX1。电路如图所示。MSP430F169晶振1电路ACLK:0;MCLK:DCOCLK;SMCLK:DCOCLK。电路如图所示。MSP430F169晶振2电路ACLK:LFTX1 (高频模式);MCLK:DCOCLK或者LFTX1(高频模式);SMCLK:DCOCLK或者LFTX1(高频模式)。电路如图所示。MSP430F169晶振3电路注意:ACLK只能来源于LFXT1。LFXT1只有工作于高频模式才需要外接电容。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号