Download presentation
Presentation is loading. Please wait.
1
MSP430F5529 微控制器工作坊
2
日程 介绍MSP430F5xxx (lab-0) 5xx低功率模式及PMM/UCS模块(Q?) MSP430计时器(lab-1)
ADC12介绍(lab-2) 使用DMA和计时器以节约用电(lab-3) 端口映射及USCI模块(lab-4) MSP430ware (lab-5) MSP430USB及工具箱(lab-6) MSP430工具、资源及结论 2
3
TI嵌入式处理系列产品 TI嵌入式处理器 软件及开发工具 C2000™ Sitara™ C6000™ Delfino™ Stellaris®
微控制器(MCUs) 基于ARM®的处理器 数字信号处理器(DSPs) 16-bit超低功率 low power MCUs 32-bit 实时 MCUs 32-bit ARM Cortex™-M3 MCUs ARM Cortex-A8 MPUs DSP DSP+ARM 多核DSP 超低功率 DSP C2000™ Delfino™ Piccolo™ Sitara™ ARM® Cortex™-A8 & ARM9 C6000™ Stellaris® ARM® Cortex™-M3 C5000™ MSP430™ DaVinci™ video processors C6000™ OMAP™ 300MHz to >1Ghz +Accelerator Cache RAM,ROM USB,ENET, PCIe,SATA,SPI 浮点/定点 视频,音频,语音, 安全,会议 $5.00 to $200.00 MMACS Cache RAM,ROM SRIO,EMAC DMA,PCIe 电信测试和测量, 媒体网关, 基站 $40 to $200.00 Up to 300 MHz +Accelerator Up to 320KB RAM Up to 128KB ROM USB,ADC McBSP,SPI,I2C 音频,语音 医疗,生物统计学 $3.00 to $10.00 Up to 25 MHz Flash 1 KB to 256 KB Analog I/O,ADC LCD,USB,RF 测量, 感应,通用 $0.25 to $9.00 40MHz to 300 MHz Flash,RAM 16 KB to 512 KB PWM,ADC, CAN,SPI,I2C 电机控制, 数字电源, 照明,可再生能源 $1.50 to $20.00 Up to 100 MHz Flash 8 KB to 256 KB USB,ENET MAC+PHY CAN, ADC,PWM,SPI 连接功能,安全, 运动控制,HMI, 工业自动化 $1.00 to $8.00 300MHz to >1GHz Cache, RAM,ROM USB,CAN, PCIe,EMAC 工业计算, POS & 便携式 数据终端 $5.00 to $20.00 软件及开发工具
4
MSP430系列产品+路线图 G = Value Line F = Flash FR = FRAM FR57xx F5/665x
512kB Flash F5/663x BGM,Catalog F67xx Metering 器件 F53xx Gen Purpose G = Value Line F = Flash FR = FRAM 生产 开发 AFE2xx Metering AFE F67xx Metering F550x/10 USB F51x2 照明 F261x F241x L092 0.9V Native 100+器件 2xx-Catalog 16 MIPS 120 kB Flash 8 kB RAM 500 nA Standby 1.8 – 3.6V CC430 RF F23x-F24x F552x USB 新一代产品 5xx-6xx 25MIPS 256 kB Flash 16 kB RAM 1.8 – 3.6V V (L092) FRAM,USB,RF 6xx: LCD Controller 160 uA/MIPS F23x0 F23x0 F543xA F541x F22xx F21x2 F21x1 F438/F439 F20xx F11xx F12xx F13x-F14x F15x-F16x FG461x G2xx3 16kB,CapTouch I/O F471xx G2xx2 8kB,CapTouch I/O Fx43x F43x F44x 100+器件 4xx: LCD 16 MIPS 120 kB Flash 8 kB RAM LCD Controller,160 segments 1.8 – 3.6V G2xx1 Fx47x Fx42x 75+器件 1xx-Catalog 8MIPS 60 kB Flash 10 kB RAM 1.8 – 3.6 V F47x4 Fx42x0 F41x2 F41x FE42x2
5
5xx各代产品总结 超低功率 增强性能 创新性能 230 μA/MHz 1.9 μA 待机模式 从待机模式唤醒仅需< 5 μs
全线产品8 MHz ( V) 1.8V ISP 闪存擦除及写入 自动防故障,灵活的时钟系统 创新性能 集成LDO,BOR,WDT+,RTC 多通道DMA支持待机模式下的数据传送 更多连接方式:USB,RF AES加密,RTC后备电池 用户定义的引导装入程序 业界领先的代码密度
6
MSP430各代产品 1xx 2xx 4xx 5xx 基本时钟系统 基本时钟系统+ FLL,FLL + 统一时钟系统UCS
核心电压与供电电压相同 核心电压可以用集成式PMM进行编程 16位CPU 16位CPU,CPUX 16位CPUXV2 GPIO GPIO,带有上拉及下拉 GPIO,带有上拉及下拉,驱动强度(drive strength) N/A CRC16 软件RTC 软件RTC,带有基本计时器,基本计时器+ RTC 真正32位RTC带闹钟 USART USCI,USI USART,USCI USCI,USB,RF DMA up to 3-ch DMA up to 8-ch MPY16 MPY16,MPY32 MPY32 ADC10,12 ADC12 ADC12_A 4-wire JTAG 4-wire JTAG,有些器件带有Spy-Bi-Wire 4-wire JTAG及Spy-Bi-Wire
7
MSP430各代产品 Category 2xx 4xx 5xx CPU Clock (max) 16MHz 8MHz 25MHz
Active Current 3.0V,typical) 1MHz 8MHz 16MHz 1MHz 8MHz N/A 290uA @ 1MHz 8MHz 230 uA/MHz 25MHz 120KB / 8KB (Flash / RAM) 256KB / 16KB (Flash / RAM) Wake-up Time From LPM3 1us 6us 5us Standby LPM3 Current 0.9 – 1.1uA 1.1 – 2.5uA 1.9uA (RTC,WDT,SVS enabled) LPM4 Current 0.1uA 1.2uA (LPM4) / 0.1uA (LPM4.5) Flash ISP Minimum DVCC 2.2V 2.7V 1.8V Port I/O Interrupt Capability P1/P2 Some devices also P3/P4 Prog. Port Pin Drive Strength All port pins Prog. Pull-ups / Pull-downs 12-bit A/D Internal Reference Current 500 uA 100 uA* 12-bit A/D Active Conversion Current 800 uA 150 uA* Available MCLK Sources DCO LFXT1 XT2 (if available) VLO FLL LFXT1 / XT1 UCS XT2 (if available) REFO Available FLL Reference Clocks LFXT1,REFO, & XT2 (if present) * 2xx,4xx – ADC12;5xx - REF & ADC12_A
8
示例:MSP430F5438主动模式电源…… 最大效率 @ 最小VCORE & 最大MCLK 12MHz:~150μA/MHz
实现了PMM overhead的最小影响 峰值静止ICC < 2mA:可以用纽扣电池供电
9
1MIPs Task Average ICC – 2xx 对比 5xx各代产品
F24xx 平均 ICC (mA) F54xx 平均 ICC (mA) Time (%) 峰值及均值ICC改进 F54xx平均降低~3x MCLK (MHz)
10
5xx MSP430Xv2正交CPU 适用于C语言编译器 存储地址范围增加到1MB CPU寄存器增加到20位
地址-字指令(Address-word instructions) 直接20位CPU寄存器存取 原子(内存到内存)指令 指令兼容前代CPU 循环计数优化 所有指令都允许使用延伸词(extension word) 直接存取1MB地址空间 位、字节、词及地址-词数据 重复指令功能 UCS ……
11
5xx工作模式 SVS保护,just 200 nA 主动模式 – 230 uA/MHz CPU活动 快速外设Enabled
32 kHz外设 Enabled - RTC LPM0 – 70 uA CPU disabled 32 kHz外设 Enabled – RTC LPM3 – 1.9 uA 快速外设Disabled 32 kHz外设 Enabled RTC,监视器和SVS保护 LPM4 – 1.2 uA 所有时钟disabled 中断时唤醒 LPM4.5 (LPM5) – 100 nA 稳压器&所有时钟disabled 没有RAM滞留 BOR on nRST/NMI or Port I/O
12
5xx电压 对比频率运行范围 25MHz峰值性能 整个VCC 范围提供了更多性能 可编程VCORE提高了电源效率
Flash min. VCC min. VCC 2.4V-3.6V 可编程VCORE提高了电源效率 降低VCC或者VCORE降低了系统电流
13
5xx内存映射 Page-free 20位寻址 用户可定义的引导装入程序 RAM始于0x1C00 总是连续块
MAIN闪存的开始根据RAM移动 向量表始于0xFF80 12
14
进入低功率模式
15
中断和堆栈 进入中断 完成当前正在执行的指令 指向下一个指令的PC被推到堆栈上 SR被推到堆栈上 选择最高优先级的中断
出现单一源标志时,中断请求标志自动复位。多源标志保持,软件服务。 SR被清除。这将终止任何低功率模式。因为GIE bit被清除,其他中断将被关闭。 中断向量的内容装入PC;程序继续该地址中断服务。
16
使用内部函数进行状态寄存器(SR)编程 Intrinsic Functions: Other useful intrinsics:
__bic_SR_register(LPM3_bits); __bic_SR_register_on_exit(LPM3_bits); __bis_SR_register(LPM3_bits + GIE); __bis_SR_register_on_exit(unsigned short a); __get_SR_register(void); __get_SR_register_on_exit(void); __enable_interrupts( ); __disable_interrupts( ); Other useful intrinsics: __no_operation(); __delay_cycles( ); __bcd_add_short( short,short ); __bcd_add_long( long,long ); __even_in_range( ); 请参阅“intrinsics.h”或者编译器文档
17
5xx外设 – GPIO PxDIR – 方向(输入 vs 输出) PxREN – 实现了内部上拉/下拉电阻器(输入)
端口寄存器允许不同的配置 PxDIR – 方向(输入 vs 输出) PxREN – 实现了内部上拉/下拉电阻器(输入) PxDS – 实现了额外的驱动强度(输出) 选择劝中断能力的端口 PxIE –中断允许 PxIES –中断边缘选择(edge select) PxIFG –中断标志寄存器 模拟及数字外设功能成倍增强了GPIO功能 PxSEL – 外设功能选择
18
Power Supply & Supervision
5xx + USB 单片USB解决方案 只需增加USB连接器和TI提供的USB API软件,适用于大多数常用器件级别(CDC/HID/MSC) USB + 模拟 +超低功率 +3.3V VUSB DVCC Serial Comms Comparator 12-bit ADC Timers RAM CPU RTC CRC 16 DMA 32x32 MPY Power Supply & Supervision Flash Clocks USB Module +5V VBUS PUR D- D+ ESD TPD2E001DRL ESD保护 二极管矩阵 4MHz
19
日程 介绍MSP430F5xxx (lab-0) 5xx低功率模式和PMM/UCS模块(Q?) MSP430计时器(lab-1)
ADC12介绍(lab-2) 使用DMA和计时器以节约用电(lab-3) 端口映射及USCI模块(lab-4) MSP430ware (lab-5) MSP430USB及工具箱(lab-6) MSP430工具、资源及结论 2
20
超低功率(ULP)运行的最佳实践 节能的MSP430应用: MSP430具有低功率特性,但是你的设计对节能性能影响重大
降低了瞬间电流消耗 提高了低功率模式的时间 MSP430具有低功率特性,但是你的设计对节能性能影响重大 适当的低功率设计技巧非常重要 ULP最佳实践…
21
超低功率(ULP)运行的最佳实践 功耗随以下参量的升高而增加…… 减缓 MCLK 虽可降低瞬时功耗,但常常会增加有源占空比
Vcc CPU 时钟速度 (MCLK) 温度 减缓 MCLK 虽可降低瞬时功耗,但常常会增加有源占空比 功率节省会被完全抵消 以最小的每 MIPS 流耗实现性能最大化的 ULP“最佳点”:8 MHz MCLK 完整工作范围(低至 1.8V) 5xx 具有集成型 LDO 与可变输出电压 可针对选定的 MCLK 速度优化内核电压
22
超低功率(ULP)运行的最佳实践 数字输入脚受到直通电流影响 端口I/Os应该
如果输入允许“浮动”(不连接),VIL和VIH之间的输入电压将导致直通 端口I/Os应该 作为输出驱动 被外部器件Vcc/ground驱动 具有一个pull-up/down电阻器
23
MSP430F5xx统一时钟系统(UCS) LFXT1 晶体振荡器 32768Hz 400kHz …… >25MHz
VLO 内部甚低功率、 低频振荡器 ~12kHz REFO 内部32768Hz振荡器 XT2 晶体振荡器 400kHz …… >25MHz FLL 锁频回路 DCO 数字控制振荡器 ~100kHz …… >25MHz MODOSC 模块振荡器 如用于ADC、闪存控制器等
24
低频时钟源 多种选择,以适应不同的应用需求。 (如果时钟用于ACLK,电流就包括在Active及LPM0-3电流中。) 功率 精确度 成本
XTAL 1uA 高 元件 REFO 3uA 中 零 VLO <500nA 低 (如果时钟用于ACLK,电流就包括在Active及LPM0-3电流中。)
25
高频时钟源 多种选择,以适应不同的应用需求。 功率 精确度 成本 XTAL (XT1) 60uA @ 12MHz 150uA @ 20MHz
元件 XTAL (XT2) DCO 1MHz 取决于Ref + Jitter 零 (DCO电流包括在Active及LPM0电流中。)
26
5xx FLL概述 FLL:将参考的DCO频率调整到较低的时钟源(类似PLL) 通常,FLL被用作MCLK (CPU)的源
输出频率具有非常灵活的缩放能力 参考源:REFO / LFXT1/XT1 / XT2 输出频率:100kHz - >32Mhz
27
VLO(Very LP/LF振荡器) 在无需高精确度的应用中,32kHz晶体的甚低功率、低成本备选方案 功耗数字包括在ILPM3,VLO中
推出时间:2xx
28
参考振荡器 工厂校正的振荡器 精确度足以用于UART通讯(高达9600波特) 电流高于LF振荡器 32kHz晶体的备选方案
根据电压/温度调解频率公差 类似DCO,远远好于VLO 精度低于32kHz晶体 功耗高于晶体或者VLO 是默认的FLL参考时钟
29
REFO可以做什么? 定期唤醒符合以下条件的应用: 无需晶体的精确度…… 但需要比VLO更好的精确度 相对于功率,对成本更加敏感
你能做RTC吗? 可能不行——+/-2%的差错率意味着~每天+/- 1/2小时的差错 但当晶体故障时,可以用于“带病工作”的RTC模式!
30
MODOSC 内部振荡器,帮助某些模块的自动化运行 替代Flash模块中的时钟源 无需配置fFTG 没有因为闪存时钟错误导致编程错误的风险
用于ADC12_A的内部振荡器(ADC12OSC) ~ 5MHz 不适用于系统时钟 – 直接应用在模块中 通常用于偏离并不太重要的应用之中 按需启动 在编程或者擦除时,闪存自动将其启动 当被选作转换时钟时,ADC12将其启动
31
振荡器故障 / 故障安全模式 故障检测(XT1,DCO,XT2) 如果启动了振荡器但它工作不正常,标志故障
晶体振荡器时钟将打开,以保护后备时钟 故障标志必须通过软件复位:不是自动复位! 如果主时钟源发生故障,故障安全模式可以确保最低水平的运行 MCLK/SMCLK/ACLK: 如果选择了LFXT1而它发生故障:回复到REFO 如果选择了HFXT1/XT2而它发生故障:回复到DCO 在振荡器故障期间,DCOCLK在最低DCO tap状态运行,为CPU提供时钟。
32
5xx FLL概述 FLL:将参考的DCO频率调整为较低的时钟源(类似PLL) 通常,FLL被用于MCLK (CPU)的时钟源
输出频率伸缩非常灵活 参考源:REFO / LFXT1/XT1 / XT2 输出频率:100kHz - >32Mhz
33
FLL:名义频率的选择
34
FLL:调制 所选 频率 f2 f3 f4 f5 f6 频率 周期时间 所选频率: f3: f4: 1000 kHz 1000毫微秒
1060毫微秒 1042 kHz 960毫微秒 MOD = 19
35
理解FLL错误 时钟精确度:平均稳定性 FLL的“锁定时间”示例
显示: 1MHz 所需频率 DCO = MHz DCO+1 = MHz 50个时钟周期后,时钟错误 < 0.1% 50个时钟周期后,时钟错误 < 0.003%
36
让应用变得更加稳健 如果原来选择的时钟源无法使用,在其安全要求下,监视器(watchdog)将主动选择VLOCLK时钟源。
硬件提供了很多安全性能,但在应用中需要尊重其故障安全机制,采取必要的行动。 实施OSC故障中断服务程序 使用输入时钟间隔(input clock divider)可以防止系统因为尖峰脉冲发生锁定或者错误(尤其是外部时钟)。
37
全自动时钟请求 模块可以使用时钟请求,强制其时钟源保持活动——即便在进入LPMx的时候 否则,LPMx生效
在5xx中的应用远远超过之前的系列产品
38
回顾现有时钟 * 包括在ILPM3,VLO规格中(~1.2uA) 时钟 频率(名义) 精确度 电流消耗 所需晶体 高频 DCO
100kHz – 32MHz 低 60uA HFXT1/2 4 - 32MHz 高 12MHz X MODOSC 5MHz n/a 低频 LFXT1 32kHz 300nA VLO 12kHz 0nA* REFO 中/高 3uA
39
电源管理模块(PMM) 5xx 内核(CPU、内存等)采用一个低电压 - 不能接受系统级上所要求的较高电压范围(不同于 5xx 系列之前的器件) 因此一个内部 LDO 可采用 DVcc 生成 VCORE 电源轨 模块主要处在 DVcc 或 VCORE 电压域 DVcc: 1.8V 至 3.6V(与 2xx/4xx 的输入范围相同) VCORE: 系统可根据 MCLK 要求编程至 1.35V/1.55V/1.75V/1.85V 仅需要一个用于 VCORE 的外部电容器 (470nF)
40
PMM亮点 PMM具有提供“监督”和“监控”功能的子单元 如果发生低压事件,“监督”将生成POR 发生事件时,“监控”将提供中断
VCC是LDO的“高侧”,VCORE为“低侧” 仍然有零功率BOR,类似4xx 精确的电影监控,100nA的成本!
41
为什么使用PMM? 大多数应用可以在最低设置下运行,无需改变默认的PMM设置。但是……
42
PMM监督功能 DVCC及VCORE都有: 可编程监督/监控(SVS/SVM)级别 软件可选POR及掉电条件 SVM(供电电压监控)
如果电压超过/低于可编程的阈值,生成中断 应用于DVcc及VCORE SVS(供电电压监督) 如果电压超过/低于可编程的阈值,生成POR BOR(节电复位)(BrownOut Reset) 最低VCORE 阈值复位 精确度低于SVS,但功率较低
43
监督/监控 根据轨道状态,标志自动设定/清除 SVM,SVS,BOR协同工作 也生成POR事件
44
高压侧SVS/SVM 高压测SVS/SVM用于系统电压观察 SVM提供了预先警报,并给系统提供时间进入安全状态 关闭关键任务
降低电流消耗,以便系统恢复 保存参数 默认操作: SVSH on in Active and LPM0 mode SVSH off in LPM2/3/4
45
低压侧SVS/SVM 低压侧SVS/SVM主要用于VCORE的安全变化 当VCORE水平足够高,达到所需的MCLK频率时,SVM生成指示标志
默认操作: 在主动及LPM0模式下,SVSL on 在LPM2/3/4下,SVSL off
46
BOR / POR / PUC源 BOR 源: 电源开 / 节电模式 RST/NMI 安全违规(保护存储器) 软件(Bit in PMM)
LPM5唤醒 POR SVS 低/高 PUC WDT 重要违规(WDT,Flash,PMM……) 从外设区域之外取得
47
PMMCOREV水平 大多数应用可以在最低设置下运行,无需改变默认的PMM配置
48
存取PMM寄存器(密码) PMM寄存器有密码保护! “通用”密码位于PMMCTL寄存器中 打开PMM 锁定PMM
还可以清除PMM中断标志,PMM需要被打开(读取IV寄存器(如SYSSNIV)除外) PMMCTL_H = 0xA5; PMMCTL_H = 0x00;
49
推荐改变VCORE的软件流 在运行模式下,确保VCORE 电压的安全转变 在提高CPU频率之前,设定并检查所需的VCORE 电压
50
示例:将MCLK从默认设置提高到20MHz 如果MCLK>12MHz,必须提高VCORE ,以支持更高的速度 解锁PMM寄存器
将SVM设定为所选速度的最小阈值 改变LDO输出 轮询SVM输出,直至电压OK 关闭SVM(如果未使用)并锁定PMM寄存器 PMMCTL0_H = 0xA5;// Open PMM module PMMCTL0 = 0xA500 + level;// Set VCore SVSMLCTL = SVMLE + (level * SVSMLRRL0);// Set SVM new Level while ((PMMIFG & SVSMLDLYIFG) == 0);// Wait till SVM is settled (Delay) PMMIFG &= ~(SVMLVLRIFG + SVMLIFG);// Clear already set flags 如果((PMMIFG & SVMLIFG)) while ((PMMIFG & SVMLVLRIFG) == 0);// Wait till level is reached PMMCTL0_H = 0x00;// Lock PMM module registers // Change DCO speed here
51
使用已提供的宏及函数 MSP430 F5xx/6xx核心库
使用已经提供的函数设置PMM,你的生活将变得更加简单。 SetVCore (3); ………… SetVCore (3);// Handles Vcore up and down ………… SetVCoreUp (1);// Handles Vcore up ………… SetVCoreDown (0);// Handles Vcore down …………
52
现有标志及中断源 SVS/SVM具有低及高侧状态标志
SVS/SVM提供了一个延迟中断标志,显示SVS/SVM已经在变化后稳定下来(软件处理更加轻松) 复位(BOR,POR,PUC)及其中断源有不同的标志及,以实现单独的通电处理 不同的系统初始化,如RTC 通电 系统违规错误
53
性能设置 SVSH、SVSL、SVMH、SVML每个都在快或者慢的模式中运行(可单独控制) “快” = 连续运行
“慢” = 较慢的工作周期驱动(开关模式) 默认 较慢的低电压响应速度 很快的低电压峰值可能无法捕捉到(需要有适当的解耦才能捕捉到非常快的低电压峰值) 模式 响应时间 电流消耗 快 ~1us 20uA 慢 ~150us / 200us 200nA
54
SVS/SVM性能控制模式 慢/快模式可以通过软件控制,或者自动控制 默认为慢模式
在自动模式下,SVS/SVM不同性能级别之间的运行模式开关 慢:SVS/SVM开启模式(反应较慢) 快:全性能模式 手动模式 自动模式
55
PMM模式的功率考量 默认设置(慢模式)提供了较高的可靠性及较低的功率消耗。
需要最高功率可靠性的应用可以将SVS设定在全性能模式,实现连续观察 不那么敏感的应用可以关闭SVS/SVM,以获得最低的功率消耗。
56
低功率模式,LDO启动模式 LPM无需高电流 解耦可以缓冲所有所需的峰值电流 VCORE自动提高,提供更多动态余量
在关键应用中(尤其是高温下),请关注电容器的质量。
57
保护PMM设置不被改变 SYSCTL寄存器中的一个比特可以锁定PMM模块,防止写入操作
设定这个比特后,PMM将不允许用户写入操作 SYSCTL |= SYSPMMPE; PMM仍然可以通过被保护的BSL线段存取 PMM保护复位只能通过BOR完成
58
F5xx/6xx核心库 提供了上述PMM、UCS、PMAP及Flash模块最常见操作所需的功能,例如改变核心电压超频运行、晶体/时钟初始化、映射端口I/O及写入/擦除闪存操作。
59
配置UCS及PMM模块的最简单方法是什么?
UCS/PMM/LPM的相关问题 配置UCS及PMM模块的最简单方法是什么? 如果外部晶体发生故障,UCS将如何保护系统? 在正常模式下,SVSH将用多少电流消耗?
60
MSP430F5529方框图
61
MSP-EXP430F5529 轻松电源选择 USB通讯 麦克风 过滤PWM音频输出 2轴加速度计 点阵式液晶显示器(102x64)
USB,JTAG,电池 USB通讯 麦克风 过滤PWM音频输出 主动、可选择的增益 兼容头戴耳机 2轴加速度计 点阵式液晶显示器(102x64) 集成背光 模拟式拇指转轮 2 x 按钮开关 MicroSD卡 eZ-FET USB 5帽触摸式按键 RF接口 CCxxxx EVMs EZRF I/F (6 & 18- pin)
62
提供其他MSP430 IDE选项! 了解更多 @ www.ti.com/msp430tools
Code Composer Studio 基于Eclipse的IDE(编译器、调试程序、链接器等),适用于所有TI 嵌入式处理器 不受限版本仅售$495 提供免费版本! 免费的16kB代码限制版本可供下载 免费的全功能120天试用版本 IAR Embedded Workbench 强大的第三方IDE产品,带有项目管理工具和编辑器。包括所有MSP430器件的配置文件。 提供免费版本! 免费4/8/16kB限制代码快速入门版本可供下载 免费的全功能30天试用版本 MSPGCC 免费的开放源码GCC工具链,适用于MSP430 包括GNU C 编译器(GCC)、汇编程序及链接器(binutils)、调试程序(GDB) 工具可以用于Windows、Linux、BSD及其他大多数Unix系统 了解更多 @ 提供其他MSP430 IDE选项! 了解更多 @
63
Code Composer Studio 5.1 现已上市 www.ti.com/ccs 统一定价:微控制器&白金版将合并,售价$445
依然提供免费版本: 30天免费评估工具(可以延长额外90天) 16KB代码大小限制工具,适用于MSP430 轻松升级路径: 具有有效订阅的CCSv4用户将获得免费升级。过期用户可以续订。 功能: 更简单、更直观的用户界面 动态下载,减小了初次下载的文件大小! 推出TI Resource Explorer(带有MSP430ware、StellarisWare & C2000 控制套件) 集成Grace version 1.10 包括CGTv4
64
TI Resource Explorer是什么
以及它如何配合…… 简单干净的图形用户界面(GUI)前端,设计用于在MSP430ware内容中轻松导航 3个主要类别 器件 数据表单、用户指南、代码示例及grace examples(如果适用) 开发工具 用户指南、用户体验代码、设计文件、目标板、程序设计器 库 Driverlib、USB软件包 内置自动关键词过滤,只显示关注内容 在同一个窗口中导入、构建和调试项目
65
Lab_0:闪动LED 使用在MSP430F5529上运行的样品项目,实现LED闪动 红色LED闪烁!
66
Lab_0,使用项目模版启动 项目->新项目 ① ②
67
Lab_0:闪动LED _code 这段代码为什么不够好?
68
日程 介绍MSP430F5xxx (lab-0) 5xx低功率模式和PMM/UCS模块(Q?) MSP430计时器(lab-1)
ADC12介绍(lab-2) 使用DMA和计时器以节约用电(lab-3) 端口映射及USCI模块(lab-4) MSP430ware (lab-5) MSP430USB及工具箱(lab-6) MSP430工具、资源及结论
69
计时器_A 异步16-Bit计时器/计数器 连续的、自上而下的up count模式 多次捕获/比较寄存器 PWM输出
中断矢量寄存器,以便快速解码 可以触发DMA转移 可用于所有MSP430产品
70
计时器_A 计数模式 Stop/Halt Continuous Up Up/Down CCR – 计数比较寄存器 计时器停止 计时器连续加总
0FFFFh 0h Up 计时器在0及CCR0之间计数 Up/Down 计时器在0及CCR0及0之间计数 0FFFFh CCR0 0h CCR – 计数比较寄存器
71
TimerA输出模式
72
计时器_A PWM示例 完全自动 完全自动 可以为每一个CCR生成不同工作周期的独立频率 MSP430网站提供代码示例
MSP430F11x1 TEST TA2/P1.7 Vcc P1.6 P2.5 P1.5 Vss P1.4 XOUT P1.3 XIN TA1/P1.2 RST P1.1 CCR1 CCR1 CCR1 P2.0 P1.0 P2.1 P2.4 P2.2 P2.3 CCR0 CCR0 CCR0 完全自动 可以为每一个CCR生成不同工作周期的独立频率 MSP430网站提供代码示例 完全自动
73
计时器_A中断 TACCR1 CCIFG TACCR2 CCIFG TAIV TIMERA1_VECTOR TAIFG
The Timer_A Capture/Comparison Register 0 Interrupt Flag (TACCR0) generates a single interrupt vector: TACCR0 CCIFG TIMERA0_VECTOR 无需处理程序 TACCR1,2 and TA interrupt flags are prioritized and combined using the Timer_A Interrupt Vector Register (TAIV) into another interrupt vector TACCR1 CCIFG TACCR2 CCIFG TAIV TIMERA1_VECTOR TAIFG 你的代码中必须包括一个处理程序,以判断触发哪一个Timer_A1中断
74
TAIV处理机示例 Source TAIV Contents No interrupt pending 0 TACCR1 CCIFG 02h
Reserved 06h Reserved 08h TAIFG 0Ah Reserved 0Ch Reserved 0Eh TAIV x x x x 15 #pragma vector = TIMERA1_VECTOR __interrupt void TIMERA1_ISR(void) { switch(__even_in_range(TAIV,10)) case 2 : // TACCR1 CCIFG P1OUT ^= 0x04;break; case 4 : // TACCR2 CCIFG P1OUT ^= 0x02;break; case 10 : // TAIFG P1OUT ^= 0x01;break; } 0xF814 add.w &TAIV,PC 0xF818 reti 0xF81A jmp 0xF824 0xF81C jmp 0xF82A 0xF81E reti 0xF820 reti 0xF822 jmp 0xF830 0xF824 xor.b #0x4,&P1OUT 0xF828 reti 0xF82A xor.b #0x2,&P1OUT 0xF82E reti 0xF830 xor.b #0x1,&P1OUT 0xF834 reti IAR C代码 汇编代码
75
计时器_B 对比 计时器_A 默认功能与计时器_A相同 8,10,12,或者16-bit计时器或者计数器 (计时器_A只有16位)
输出双缓冲,实现同时载入 CCRx寄存器可以分组同时更新 三态功能,来自外部管脚
76
Lab_1:呼吸LEDs_TimerA PWM
调整PWM的工作周期,可以重复增加/减少LED亮度。 LED1及LED2呼吸
77
Lab_1:呼吸LEDs_TimerA PWM
T1:如何选择IO函数? T2:RATIO = ? 当MLCK=8Mhz时 T3:如何设置计时器A,令其生成自动 2-CH相同的PWMs? T4:如何设置计时器A,令其生成自动 2-CH反向PWMs?
78
日程 介绍MSP430F5xxx (lab-0) 5xx低功率模式和PMM/UCS模块(Q?) MSP430计时器(lab-1)
ADC12介绍(lab-2) 使用DMA和计时器以节约用电(lab-3) 端口映射及USCI模块(lab-4) MSP430ware (lab-5) MSP430USB及工具箱(lab-6) MSP430工具、资源及结论
79
ADC12_A功能 12位,SAR,200 ksps+ 计时器A/B,软件触发 多达12个外部输入 转换方式: 内部/外部参考
单 序列 重复-单 重复-序列 内部/外部参考 16个转换结果存储 输入范围:Vss – Vref
80
ADC12_A 性能增强 VREF稳定时间 内部参考的温度系数更紧 更低功率模式 更高的时钟分频器,实现了更快的系统时钟
75us 对比 17ms 内部参考的温度系数更紧 ±50ppm 对比 ±100ppm 更低功率模式 可选择速度或者功率 ADC12_A核心只有在需要时才启动 更高的时钟分频器,实现了更快的系统时钟 比ADC12减少~6x 150uA,ADC启动时 100uA,2.5V VREF启动时
81
ADC12温度 & Vcc采样 片上温度感应通道 片上 Vcc/2通道 温度取样期间 > 30 us
温度感应器偏移电压较大,必须经过校正 工厂应用数据中有两点校正数据
82
ADC12转换存储器及控制 每个存储寄存器都可以设置 可以混合输入通道,实现顺序转换
EOSx – 识别顺序转换(sequence-of-conversions)的结尾。 当转换结果写入EOS ADC12MEMx寄存器时,中断将被触发。 SREFx – 选择参考(内部、外部等) INCHx – 选择ADC12MEMx寄存器的输入通道 可以混合输入通道,实现顺序转换
83
ADC12中断控制 功率优化: ADC12中断启动(ADC12IE)比特,在写入相应ADC12MEMx寄存器时,启动中断请求
当前: 轮询ADC12MEM1IFG 优化: 启动ADC12MEM1IFG中断并唤醒CPU 只处理转换数据 ADC12中断启动(ADC12IE)比特,在写入相应ADC12MEMx寄存器时,启动中断请求 ADC12MEM1具有EOS set,因此,在完成温度和vcc/2转换之后,将请求中断。 读取ADC12MEMx寄存器将清除相应的中断标志。
84
如何写ADC12IFG1处理程序 switch(__even_in_range(ADC12IV,36)) {
case 0:break;// No interrupt case 2:break;// Overf低 case 4:break;// Time overflow case 6:break;// ADC12MEM0IFG case 8:// ADC12MEM1IFG Disable REF & ADC12 samples; Read ADC12MEM0 & ADC12MEM1; Exit active to main( ); break; case 36:break; }
85
Lab 2 ADC12: 采样拇指转轮
86
Lab-2 ADC12:采样拇指转轮 T1:配置ADC CH5到单一通道、单一转换模式 T2:触发ADC采样及转换
87
Lab-2 ADC12:采样拇指转轮 ADC采样及转换:17 * ADC12CLK ISR:11周期 + 5周期 延迟:5000周期 I 2.3mA 平均功率 = ? 152uA t
88
Lab-2 ADC12:采样拇指转轮 怎么做才能降低功耗?
89
日程 介绍MSP430F5xxx (lab-0) 5xx低功率模式和PMM/UCS模块(Q?) MSP430计时器(lab-1)
ADC12介绍(lab-2) 使用DMA和计时器以节约用电(lab-3) 端口映射及USCI模块(lab-4) MSP430ware (lab-5) MSP430USB及工具箱(lab-6) MSP430工具、资源及结论
90
DMA 所有HW模块提供了多达32个edge/level 触发器 独立通道 Single, Block, Burst-block
字节/词或者混合传送 2 MCLK周期/传送 DMA Channel 1 DT DMA Channel 0 DMA0SZ DMA0DA DMA0SA DMA Channel 2 ROUNDROBIN DMAONFETCH DMATRIG0 --- DMATSELx Complete Address Space Halt CPU DMATRIG1 DMATRIG2 DMATRIG31
91
DMA传送模式
92
DMA寄存器
93
定时器触发的ADC12 适用于MSP430F5529的ADC12计时器触发源为TA0.1
94
Lab 3 ADC,带有计时器和DMA 自动触发! I 10mA 150uA LPM3,大多数时间 2.1uA t RAM
ADC_value[0] ADC_value[1] …… TimerA ADC DMA 自动触发!
95
Lab 3 ADC,带有计时器和DMA T1:配置DMA
96
日程 介绍MSP430F5xxx (lab-0) 5xx低功率模式和PMM/UCS模块(Q?) MSP430计时器(lab-1)
ADC12介绍(lab-2) 使用DMA和计时器以节约用电(lab-3) 端口映射及USCI模块(lab-4) MSP430ware (lab-5) MSP430USB及工具箱(lab-6) MSP430工具、资源及结论
97
USCI 为超低功率而设计: 从任何低功率模式自动启动 两个单独区块: 双重缓冲TX/RX 波特率/位时钟发生器: RX故障抑制
USCI_A: UART或者SPI USCI_B: SPI或者I2C 双重缓冲TX/RX 波特率/位时钟发生器: 自动检测波特率 灵活的时钟源 RX故障抑制 DMA enabled 错误检测 推荐的USCI 初始化/重新配置流程 显示在你的培训手册中。
98
USCI增强功能 全新标准MSP430串联接口 从任何LPMx实现自动时钟启动 两个独立的通信阻断 异步通讯模式 UART标准及多处理器协议
UART,带有自动波特率感测(LIN支持) 两个调节器支持n/16 bit计时 IrDA bit shaping编译码器 同步通讯模式 SPI (主从模式,3 & 4 wire) I2C (主从模式)
99
USCI波特率发射器 过采样波特率生成 两个调节器: UCBRSx和UCBRFx选择调解方式 RX示例使用BITCLK16
100
UART波特率配置
101
端口映射控制器 端口映射控制器实现了端口管脚数字化功能的灵活而且可配置的映射。 端口映射控制器功能如下: 配置得到写入存取密钥的保护。
为每个端口管脚提供默认映射(设备无关,器件数据表单中提供引脚分配信息)。 运行时可以重新配置映射。 每个输出信号可以映射到多个输出管脚上。
102
5xx外设 - 端口映射模块 额外数字信号的端口映射需要映射在一个或者多个输出管脚上。 PM_xxx 指示端口可映射信号
产品规格中列出可以映射哪些端口 默认状态下,单个配置每个PUC复位 端口映射重新配置位(PMRECNFG)实现了运行时的重新配置 端口映射配置有密码保护 特定MSP430系列产品中提供(请参阅产品规格清单) 15
103
端口映射寄存器 MSP430F5529数据表
104
端口映射寄存器
105
Lab-4将ADC数值发送到PC,带有USCI
波特率 = 2400
106
Lab-4将ADC数值发送到PC,带有USCI
T1:初始化PM模块 T2:初始化USCI模块
107
日程 介绍MSP430F5xxx (lab-0) 5xx低功率模式和PMM/UCS模块(Q?) MSP430计时器(lab-1)
ADC12介绍(lab-2) 使用DMA和计时器以节约用电(lab-3) 端口映射及USCI模块(lab-4) MSP430ware (lab-5) MSP430USB及工具箱(lab-6) MSP430工具、资源及结论
108
MSP430ware是什么? 一站式获取我们的软件及硬件文档,不包括应用说明,而无需访问TI网站
包括driverlib、MSP430 API软件驱动程序 从StellarisWare + controlSUITE中提取了最佳内容 当客户下载CCSv5.1时,提供了更好的开箱即用体验 可以在Windows文件夹结构中导航
109
TI Resource Explorer是什么?
以及它如何配合…… 简单干净的图形用户界面(GUI)前端,设计用于在MSP430ware内容中轻松导航 3个主要类别 器件 数据表单、用户指南、代码示例及grace examples(如果适用) 开发工具 用户指南、用户体验代码、设计文件、目标板、程序设计器 库 Driverlib、USB软件包 内置自动关键词过滤,只显示关注内容 在同一个窗口中导入、构建和调试项目
110
MSP430ware Driverlib 软件库,驱动MSP430外设 提供源代码 当前支持的系列产品 – 5xx/6xx
编译器支持 - IAR及CCS 帮助新用户轻松开始使用MSP430 与高级用户直接操作寄存器相比,出错的机会更少
111
要求 CCSv5.1 RC1或者更新
112
Lab 5 推出CCSv5.1 生成新的工作空间 只使用MSP430ware 切换P8.1 T1:切换P8.1
113
日程 介绍MSP430F5xxx (lab-0) 5xx低功率模式和PMM/UCS模块(Q?) MSP430计时器(lab-1)
ADC12介绍(lab-2) 使用DMA和计时器以节约用电(lab-3) 端口映射及USCI模块(lab-4) MSP430ware (lab-5) MSP430USB及工具箱(lab-6) MSP430工具、资源及结论
114
MSP430现在支持USB! 超低功率,TI模拟产品,现在支持USB – 全部集成在单片上! 全速USB器件(12Mbps)
支持控制、中断及大量传送 八个输入和输出末端 集成3.3V LDO 集成D+ pullup 可编程PLL 集成收发器 MSP430是超低功率MCUs的行业领导者 单片解决方案
115
USB方框图
116
USB电源系统 集成LDO LDO输出从外部提供 DVCC还可以通过其他方式提供 USB通过VBUS提供电源,但它是5V
还可以用于为非MSP430元件(<12mA)提供电源 DVCC还可以通过其他方式提供 简单、灵活,适用于总线/自供电运行、USB电池充电等。
117
USB时钟 USB需要一个HF时钟,由集成的PLL提供 PLL需要一个参考时钟 PLL可以编程,实现多种频率 XT2可以重新用于其他系统功能
或者,在旁路模式(>1.5MHz)中,从系统的别处应用时钟 PLL可以编程,实现多种频率 选择系统中已有的一个 或者选择你可以找到的价格最低的晶体 XT2可以重新用于其他系统功能
118
MSP430 USB路线图 超低功率消耗 超低power with USB MSP430概述 Integration
生产 采样 F663x / F563x 20 MHz KB Flash ADC12,DAC12 USB,EDI,LCD 起价$3.49 高性能& 更多集成 开发 18器件 F66xx/56xx F552x / F551x 25 MHz KB Flash ADC12,Comp,USB 起价$2.15 Integration 13器件 F552x/1x 超低power with USB MSP430概述 F550x 25 MHz 8-32 KB Flash ADC10,Comp,USB 起价$0.96 11器件 F550x 成本低廉,带有缩减的功能
119
MSP430 USB API堆栈 打好基础:MSP430的USB API堆栈 基于标准USB设备类别的API库
可以存取源代码;大多数应用无需编辑。 每个堆栈都有完整的程序员指南支持 最常见的设备类别(CDC/HID/MSC)都有堆栈
120
设备类别的权衡 CDC HID MSC 每种类别都提供了独特的价值主张 COM端口 HID器件 储存卷 否 是 数百KB/秒 64KB/秒
主机接口 COM端口 HID器件 储存卷 所需的主机驱动 否 主机静音加载 是 带宽 数百KB/秒 64KB/秒 所需的文件系统 通常 代码大小 5K 7K或者12-14K 每种类别都提供了独特的价值主张
121
USB现场固件升级 USB实现了MSP430固件的现场升级 将错误修正程序提供给最终用户 减少因为程序错误而退货的数量
减少用户运到程序错误时的求助电话数量 通过降低成本和退货,节省金钱 OEM 网站 OEM 上传固件 用户下载固件 或者通过光盘分发 用户将设备接入USB并双击鼠标
122
MSP430 USB BSL MSP430的USB固件更新模型使用片上引导装入程序(BSL)
带USB的MSP430,BSL使用USB作为接口 对主机而言,像是一个人机交互设备 8-15秒钟下载完成,取决于不同的大小 “器件固件升级”,而不是“DFU设备类别” 为什么?因为HID静音加载到任何USB主机上 – 无需安装任何驱动 可以使用USB更新固件、主要应用,或者二者兼备 如果MCU主应用具有USB功能,那么它将与BSL分离 主机将其视为两个不同的器件(即,看到不同的VID/PID) BSL可以通过软件或者硬件调用
123
Lab 6:现场固件更新程序 安装FFU工具“\F5529 oneday workshop\5529UETXT\”
作为工具的一部分,提供一个‘MSP-EXP430F5529_User_Experience.txt’ bin文件 使用工具,将代码下载到器件上 目标:熟悉MSP430 USB工具套件
124
Lab 6 – 安装固件更新程序 安装程序位于\F5529 oneday workshop\USBfirmwareupdateinstaller\MSP430 USBfirmwareUpgrade Example Setup.exe 双击.exe文件 选择‘Application with Source Code’选项 根据提示信息完成安装 启动固件更新程序
125
Lab 6 – 使用固件更新程序 代码下载的欢迎屏幕及软件许可证协议
126
Lab 6 – 使用固件更新程序 选择‘Blink LED Example’选项 拔出MSP-FET430U缆线
按住目标板上的S3按键,同时将USB缆线插入目标板 MSP430作为HID class列出 升级固件按键被启动 点击“Upgrade Firmware”,下载代码并观察目标板上的LED指示灯 还可以用于下载定制源代码
127
日程 介绍MSP430F5xxx (lab-0) 5xx低功率模式和PMM/UCS模块(Q?) MSP430计时器(lab-1)
ADC12介绍(lab-2) 使用DMA和计时器以节约用电(lab-3) 端口映射及USCI模块(lab-4) MSP430ware (lab-5) MSP430USB及工具箱(lab-6) MSP430工具、资源及结论
128
eZ430系列MSP430工具 eZ430是MSP430传统的低成本、操作简单的工具
可选功能包括RF、能量收集、RFID,开发包中甚至还包括一个运动跑表!
129
编程工具 Parallel FET USB FET 支持所有MSP430器件 只支持4-Wire JTAG模式 固定输出电压2.8V
简单的硬件电路,可以作为产品的一部分实施 USB FET 支持所有的MSP430 器件 支持4-Wire及2-Wire (Spy-Bi-Wire) JTAG 可调整的输出电压: V,100mA JTAG熔断器熔断 快速运行
130
Gang程序设计器GANG430
131
MSP430软件工具 无线网络协议 Z-Stack (CC2520 + MSP430F5438 ZigBee) TI-MAC
SimpliciTI (on MSP430 MediaWiki) DASH7 无线M-Bus 6LoPAN MSP-EXP430F5438体验板的示范代码 ( 硬件外设、LCD、USB连接的驱动 操作系统 uC-OSII IAR PowerPac Salvo FreeRTOS …
132
www.ti.com/msp430 用户指南 数据表 代码库 100+应用报告 1000+ 代码示例 产品图册 最新的工具软件 第三方列表
Silicon勘误表
133
高集成度降低了复杂性,让设计师可以用更少时间,完成更多工作
电源监视 电源监控 节约用电 定时和控制 高性能 模拟产品 通讯 I/O & 显示 统一时钟系统 AES 通用计时器 捕捉/ 比较 PWM 输出 ADC DAC 运算 放大器 比较器 通用串行通讯接口 SPI,USART,I2C USB 2.0 (全速) 通用I/O 上拉, 下拉,驱动 Segment LCD Static,Muxed RF 收发器 CPU 接口 Sub-1GHz 收音机 调制解调器 频率 合成器 RF/ANALOG TX & RX CPU/ 存储器 时钟,电源管理 Flash RAM RISC CPU 16-bit 增强 仿真 模块 JTAG Spy-Bi-Wire 接口 DMA 控制器 系统控制 /监视器 包处理程序 数字RSSI 载波 Sense PQI / LQI CCA 基本计时器 + RTC 9.1*9.1 mm2 封装
134
5xx各代产品总结 超低功率 230 μA/MHz 1.9 μA 待机模式 从待机模式唤醒只需不到5 μs 增强性能 高达25 MHz
整个工作电压范围内( V)均为8 MHz 1.8V ISP 闪存擦除和写入 自动防故障的、灵活的时钟系统 创新功能 集成LDO,BOR,WDT+,RTC 多通道DMA支持待机模式中的数据移动 更多连接方式:USB,RF AES加密,后备电池RTC 用户定义的引导装入程序 领先业界的代码密度 The 5xx generation of MSP430 offers an appealing list of 超低power功能,including extremely 低 active-及standby current consumption及a fast wakeup from standby. We increased the maximum CPU speed to 25 MHz,opening a number of new possibilities for applications that have larger bandwidth requirements. You also get more functionality across the entire operating range of the device,including the ability to run at 8 MHz及to successfully execute in-system flash programming. Most MSP430 applications require no more than 8 MHz,so the ability to run at this frequency及log data into flash down to 1.8V means longer application lifetimes. The 5xx core is also the platform for many intelligent及innovative外设from MSP430. You get your favorites,such as an always-active 零-power brownout circuit,a watchdog,实时clock,16-bit计时器,及a DMA but then you also get some great new外设,like the USB及RF模块,an 自动battery backup circuit及even AES加密. A new flash boot-strap loader allows devices to be securely re-programmed in the field through any number of hardware interfaces. I2C,SPI,even USB boot loaders can now replace the standard 9600波特计时器UART implementation,with example code provided on the MSP430 应用说明 page. One of the key differences of the 5xx family is this first bullet under ‘Innovate功能’ that communicates an integrated LDO. The power management模块,或者PMM,integrates a 高ly 可编程LDO that separates the core from the external DVcc domain. You may see the core 电压domain referred to as the ‘低侧’及the externally applied 电压domain referred to as the ‘高侧’,with 低-power 供电电压监控ing及监督available on both domains. 134 134
135
84
Similar presentations