常见问题与解答
|
|
1、MSP430开发工具功能比较
工具
|
MSP430 JTAG
|
MSP430 U-JTAG
|
MSP430 BSL
|
PRGS430 PRO
|
读写程序
|
支持
|
支持
|
支持
|
支持
|
烧 熔 丝
|
不支持
|
支持
|
不支持
|
支持
|
高级加密
|
不支持
|
不支持
|
不支持
|
支持
|
仿真调试
|
支持
|
支持
|
不支持
|
不支持
|
在线编程
|
支持
|
支持
|
支持
|
支持
|
离线编程
|
不支持
|
不支持
|
不支持
|
支持
|
支持JTAG
|
支持
|
支持
|
不支持
|
支持
|
支持 SBW
|
不支持
|
支持
|
不支持
|
支持
|
支持 BSL
|
不支持
|
不支持
|
支持
|
支持
|
|
2、如何保护MSP430芯片内的程序不被破解
您的产品推出市场后,硬件破解很容易,而未烧过熔丝的MSP430单片机内的程序可以直接通过JTAG编程器读出来,那么工程师们的辛苦劳动就被别人直接获取了。只有对MSP430芯片进行“烧熔丝”操作后,JTAG口物理损坏,芯片内的程序只有通过BSL进行更新或读出,但通过BSL读程序需要先校验BSL密码,从而实现保护MSP430芯片内程序不被破解。
|
3、JTAG、BSL的区别
通过JTAG接口能够对MSP430单片机进行程序下载、仿真、内存修改、烧熔丝等操作,熔丝烧断后,JTAG接口将物理损坏,MSP430单片机再也无法通过JTAG接口进行程序下载、仿真等操作。通过BSL接口能够对MSP430单片机进行编程操作,MSP430单片机熔丝烧断后,仍可以通过BSL接口进行再编程。
烧熔丝必须使用JTAG接口,熔丝烧断后只能通过BSL或者用户IAP来实现编程更新。
|
4、BSL密码的作用
通过BSL可以对芯片内的程序进行读写操作,擦除全部FLASH信息时不需要校验密码,其它操作都得先校验BSL密码正确后才能进行,以防止芯片内部程序被读出。BSL密码长度为256位,即程序中的16个中断向量,位于地址0xFFE0到0xFFFF。 |
5、高级加密作用
256位的BSL密码长度几乎没可能使用穷举法来实现破解,由于MSP430的BSL密码与16个中断向量共用,未使用的中断向量值为0xFFFF,而且使用过的中断向量为FLASH程序空间范围内的偶数,当程序中只用到极少的中断向量时,BSL密码位数将极大地被缩短,采用穷举法即可很轻松地得到BSL密码。如MSP430F1011A单片机,如果程序中未使用中断,那么最多只需要512次即可得到BSL密码。
为提高BSL密码的复杂性,我们首次推出“高级加密”功能,即采用随机数或用户输入的数据填充未用的中断向量,包含奇数,这样使用BSL密码长度为真实的256位,而不是默认的240位,这就是“高级加密”,使用“高级加密”后还能有效防止反编译器反编译得到真实的程序。 |
6、MSP430的JTAG 与 I/O 口引脚功能复用
在 20 与 28 引脚 MSP430F1xx 器件上 P1.7 - P1.4 四个引脚均同时具有 I/O 与 JTAG 功能。这些引脚当器件通电时默认
I/O 功能。当TEST引脚拉高时,则将这些引脚选为 JTAG。当使用交互式系统内调试程序时,这些器件的 FET 会将这些引脚处于
JTAG 模式下。
如果通过 JTAG 对该器件进行编程或调试,则需考虑附加电路(增加共享引脚的负载或偏置)所产生的影响和对JTAG 通信的干扰。 |
7、MSP430 ADC12 模块的速度
ADC12 的转换速率是转换所需的 ADC12CLK 以及时钟的一项功能。ADC12CLK 的近似最小值与最大值分别为 500kHz
及 6.5MHZ。速度最快的整个转换过程可以在 17 个周期内完成(13 个周期进行转换,4 个周期进行采样及保持)。6.5MHz/17
= 382ksps。ADC12 的运行速率不能低于最小值的 ADC12CLK,但在软件的控制下,采样门可以无限制保持打开状态。如欲了解有关采样与转换时间规范的更多详情,敬请参阅数据表。
|
8、MSP430 I/O 引脚的灌电流与拉电流
MSP430 未指定来自 I/O 引脚的最大绝对电流。如欲了解 Voh 与 Vol 的规范的更多详情,敬请参阅数据表。其中显示了每个
I/O 引脚均可提供几毫安的电流,但输出电压将随着电流的增大而发生变化。这些规格的附注通常提供了要维持特定电压,所有组合的输出提供的最大总电流。MSP430
I/O 不适于驱动高电流的 20mA LED。 |
9、MSP430 SPI 或 UART 的速度
在 SPI 主模式下,通信速率可以达到 4Mbps,而在 UART 模式下,速率也可达到 2Mbps。USART 可进行配置,以便同时支持同步
(SPI) 与异步 (UART) 操作,并且可从几个内部及外部时钟源(与 CPU 时钟无关)中进行选择。在 SPI 主模式下,USART
的运行速率可达到应用时钟的 1/2。例如,如果使用 8MHz 时钟,则 SPI 主模式的传输速率可达到 4Mbps。在 UART 模式下,实现可靠通信至少要求每位
3 或 4 个时钟。例如,8MHz 时钟除以 4 可以支持高达 2Mbps 的速率。MSP430xxxx 用户指南中提供了有关 USART
功能的完整说明。 |
10、MSP430 中断所需的最小输入脉宽
最小中断脉宽必须大于 1.5 主时钟周期 (MCLK),以确保中断有效。有关问题请参阅器件特定的数据表。 |
11、MSP430 的硬件 USART 配置
MSP430 中的硬件 USART 模块是一种状态机制 (state machine),每次定义新的 USART 配置时都必须将其状态复位。这可以通过固件,由
UCTL 寄存器中 SWRST 位的设置/复位序列来实现。
默认情况下,SWRST 位是在上电复位 (POR) 后设置的。如果在 POR 之后通过配置控制寄存器第一次对 USART 模块参数进行定义,则配置
UCTL 寄存器应在序列中排在最后一位,这样就可以将SWRST 复位,以启动带有预定设置的状态机制。这可以通过 MOV.B #000X
XXX0B汇编语言编写的 &UCTL 以及 C 语言编写的 UCTL = 0b000X XXX0 来实现。如欲了解更多详情,敬请参阅该器件的用户指南以及代码范例。
如果在固件中重新配置了 USART 模块,则在重新配置后必须对 SWRST 位进行设置/复位操作,以重新启动带有新配置的 USART
状态机制。 |
12、MSP430 端口引脚中断类型
端口引脚中断与边缘有关,并可单独选择。用户可以为每个引脚选择上升边缘或下降边缘中断。请注意,中断标记只能在具有专用中断矢量的 I/O
引脚上自动清除,P0.0 与 P0.1 仅可用于MSP430x3xx 器件。在具有中断功能的其它端口引脚上,该标记不会自动清除,并且用户程序必须明确清除该标记。除了个别中断启用位之外,还必须为待服务的任何中断设置在状态寄存器中的全局中断启用
(GIE) 位。如欲了解其它信息,敬请参阅用户指南中有关数字 I/O 的章节。 |
13、MSP430 内置温度传感器的精度
产品说明书中提供了带有相应容差范围的额定零度电压与温度系数。额定零度电压为986mV,其最大误差为 +/- 5%。因此,温度传感器的零度电压在最恶劣的环境下,每个器件可能会相差几乎
+/- 50mV。这大约等于 +/- 14C。请注意,这种差异主要与各个器件有关,因此,只要对单个器件进行适当校准,即可通过满分辨率的
ADC12 获得非常准确的绝对温度。 |
14、MSP430F11x1 与 MSP430F11x1A 之间的差异
MSP430F11x1:
BSL 版本 1.10
发布保密保险丝 (Security-Fuse) 并非供应用之用
为了确保安全操作,引脚 Test/Vpp 处需要一个外部下拉电阻器
MSP430F11x1A:
BSL 版本 1.30
该保密保险丝的发布供应用所用
为了确保安全操作,在引脚 Test/Vpp 处无需任何外部下拉电阻器
提示:
将未使用的 Test/Vpp 引脚连接到 VSS 是一种很好的设计实践。如果将 Test/Vpp 信号连接至 JTAG 连接器以启用电路内调试与编程功能,则外部下拉电阻器将提高
EMI(电磁干扰)与 ESD(静电放电)性能。 |
15、MSP430与 FET 一起使用所需的 JTAG 信号有哪些
MSP430x11x(1)、MSP430x12x系列需要用到 TDI、TDO、TMS、TCK、TEST、RST 信号,其它系列需要用到TDI、TDO、TMS、TCK、RST
信号。 |
16、MSP430在除 32.768kHz 以外的其它晶振频率下运行
MSP430x3xx 器件经过专门设计,可以使用 32kHz 钟表晶振,然后从独立、内部数字控制振荡器 (DCO) 生成内部高速主时钟
(MCLK)。MCLK 通过使用内部锁频环 (FLL) 电路,可以根据用户设定的值在 MSP430x3xx 器件中自动趋于稳定。
MSP430x1xx 与 MSP430x4xx 器件具有一个可接受 32kHz 或高速晶振的晶体振荡器。某些MSP430x1xx
与 MSP430x4xx 另外还有一个仅可接受高速晶振的晶体振荡器。这可以同时连接一个或两个晶振,并且每个晶振仅在必要时使用。
MSP430x1xx 与 MSP430x4xx 器件还具有可产生高速时钟(与任何晶振无关)的可编程内部 DCO。在 MSP430x4xx
器件中,FLL 还可根据类似于 MSP430x3xx 器件的许多外部 32kHz 晶振使 DCO 趋于稳定。如欲了解不同时钟电路与器件的具体特性及功能,敬请参阅数据表及用户指南。 |
17、如何处理未使用的 I/O 引脚
导致功耗高于预期值的一个问题是打开输入。为了防止打开输入,请对未使用的 I/O 引脚使用以下解决方案之一:
将未使用的 I/O 切换到输出模式
将未使用的输入连接到 VCC 或 VSS
通过电阻器将未使用的输入连接到 VCC 或 VSS
提示:
将未使用的 Test/Vpp 引脚连接到 VSS (GND) 是一种很好的设计实践。在进行JTAG调试时,外部下拉电阻器将提高
EMI/EMC 性能。 |
18、使 MSP430的基本时钟模块中的 DCO 保持稳定
通过补偿电压、温度方面的变化以及部件之间的差异,可以对 DCO 频率进行校准并将其设定为指定的频率。通常,低速晶振或外部信号可以通过比较一个低速参考频率周期内出现高速
DCO 时钟周期的次数来实现这一点。借助软件,可以调整基本时钟控制寄存器,以便将DCO 的频率设置为较慢的晶振或信号的所需倍数。该器件的数据表详细介绍了
DCO 的工作范围。《MSP430x1xx 用户指南》提供了有关基本时钟的详细信息。 |
19、MSP430处理多个同时发生的外部中断
是的,只要确定了最低要求的中断事件脉宽,MSP430 就永远不会丢失中断。即使已经接受了中断请求并为其提供了服务,也应保留这些多个源中断的标记,因此,每个得到服务的标记都必须在其相应的中断服务例程内重新进行设定。这会导致
CPU 识别出其余的暂挂中断。 |
20、MSP430电流高于期望值
导致电流高于预期值的一个问题是未使用的输入。为了避免这一问题,所有未使用的 I/O引脚都必须保留输出状态,并切换到端口功能,保持与输出配置相同的方向。器件用户指南的系统复位、中断与操作模式一章的连接未使用引脚一节中列出了所有未使用引脚的正确配置。
提示:
将未使用的 Test/Vpp 引脚连接到 VSS (GND) 是一种很好的设计实践。在进行JTAG调试时,外部下拉电阻器将提高
EMI/EMC 性能。 |