嵌入式 > 技术百科 > 详情

MSP430常见问题解答

发布时间:2024-09-10 发布时间:
|

1-问:JTAG 与 I/O 功能之间的 MSP430 引脚复用 
答: 四个引脚 P1.7 - P1.4 在 20 与 28 引脚 MSP430F1xx 器件上均同时具有 I/O 与 JTAG 功能。这些引脚的默认功能是,当器件通电时具有 I/O 功能。当测试引脚拉高时,则将这些引脚选为 JTAG。当使用交互式系统内调试程序时,这些器件的 FET 会将这些引脚处于 JTAG 模式下。如欲了解有关在使用调试程序时从 JTAG 模式发布引脚的信息,敬请参阅《FET 工具用户指南》。
注:如果将外部电路附加到共享引脚上,则必须考虑 JTAG 信号对引脚的相互影响。
如果通过 JTAG 对该器件进行系统内交互式编程或调试,则需考虑电路将产生的影响。如果电路将增加共享引脚的负载或偏置,进而干扰 JTAG 通信,则应考虑这一点。更高引脚计数器件具有仅可用于调试与编程的专用 JTAG 引脚。 

2-问:MSP430 ADC12 模块的速度 
答: ADC12 的转换速率是转换所需的 ADC12CLK 以及时钟的一项功能。ADC12CLK 的近似最小值与最大值分别为 500kHz 及 6.5MHZ。速度最快的整个转换过程可以在 17 个周期内完成(13 个周期进行转换,4 个周期进行采样及保持)。6.5MHz/17 = 382ksps。ADC12 的运行速率不能低于最小值的 ADC12CLK,但在软件的控制下,采样门可以无限制保持打开状态。如欲了解有关采样与转换时间规范的更多详情,敬请参阅数据表。 

3-问:MSP430 I/O 引脚的汲极电流与源极电流 
答: MSP430 未指定来自 I/O 引脚的最大绝对电流。如欲了解 Voh 与 Vol 的规范,敬请参阅数据表。其中显示了每个 I/O 引脚均可提供几毫安的电流,但输出电压将随着电流的增大而发生变化。这些规格的附注通常提供了要维持特定电压,所有组合的输出提供的最大总电流。MSP430 I/O 不适于驱动高电流的20mA LED。 

4-问: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 功能的完整说明,其网址是:www.ti.com/msp430。 

5-问:MSP430 中断所需的最小输入脉宽  
答: 最小中断脉宽必须大于 1.5 主时钟周期 (MCLK),以确保中断有效。有关问题请参阅器件特定的数据表。 

6-问:MSP430 使用入门 
答: 如欲了解有关 MSP430 产品系列的完整信息,敬请访问 MSP430 主页:www.ti.com/msp430。在 MSP430 主页上,提供了可与所有文档、应用报告、可下载代码示例以及开发商信息相连的链接。每个 MSP430 器件均具有相关的数据表,其中包含了特定器件的电气参数以及集成到特定器件中的外设模块的列表。此外,每个器件系列(MSP430x1xx、MSP430x3xx、MSP430x4xx)均具有相关的用户指南,其中提供了有关 CPU、编程以及外设操作的详细信息。所有 MSP430 器件在不出现异常的情况下均具有相同的 CPU 及指令集。器件独立外设模块(定时器、UART、A/D)均经过严格地存储器映射。MSP430 快闪仿真工具 (FET) 是一款全面、低成本、易于使用的工具,同时,通过它可以很好地熟悉 MSP430。FET 中包含许多业经验证的范例程序,并且提供了完成一个项目所需的器件样片以及所有硬件和软件。 

7-问: MSP430: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 状态机制。 

8-问:MSP430 端口引脚中断类型 
答: 端口引脚中断与边缘有关,并可单独选择。用户可以为每个引脚选择上升边缘或下降边缘中断。请注意,中断标记只能在具有专用中断矢量的 I/O 引脚上自动清除,P0.0 与 P0.1 仅可用于MSP430x3xx 器件。在具有中断功能的其它端口引脚上,该标记不会自动清除,并且用户程序必须明确清除该标记。除了个别中断启用位之外,还必须为待服务的任何中断设置在状态寄存器中的全局中断启用 (GIE) 位。如欲了解其它信息,敬请参阅用户指南中有关数字 I/O 的章节。 

9-问:MSP430 内置温度传感器的精度  
答: 产品说明书中提供了带有相应容差范围的额定 00C 电压与温度系数。额定 00C 电压规定为986mV,其最大误差为 +/- 5%。因此,温度传感器的 00C 电压在最恶劣的环境下,每个器件可能会相差几乎 +/- 50mV。这大约等于 +/- 14C。请注意,这种差异主要与各个器件有关,因此,只要对单个器件进行适当校准,即可通过满分辨率的 ADC12 获得非常准确的绝对温度。 

10-问:MSP430F11x1 与 MSP430F11x1A 之间的差异 
答: MSP430F11x1:
BSL 版本 1.10(勘误表:BSL2 与 BSL3)发布保密保险丝 (Security-Fuse) 并非供应用之用(勘误表:FUSE2)为了确保安全操作,引脚 Test/Vpp 处需要一个外部下拉电阻器(勘误表 TEST1)
MSP430F11x1A:
BSL 版本 1.30(勘误表 BSL2 与 BSL3 已修改,如欲了解详情,敬请参阅“MSP430 引导加载程序的功能”(SLAA089A)) 该 Security-Fuse 的发布供应用所用(勘误表 FUSE2 已修改) 为了确保安全操作,在引脚 Test/Vpp 处无需任何外部下拉电阻器(勘误表 TEST1 已修改)
提示:
将未使用的 Test/Vpp 引脚连接到 VSS 是一种很好的设计实践。如果将 Test/Vpp 信号连接至 JTAG 连接器以启用电路内调试与编程功能,则外部下拉电阻器将提高 EMI(电磁干扰)与 ESD(静电放电)性能。
 
11-问:大规模生产期间的快闪编程方法 
答: 在大规模生产期间对 MSP430 闪存器件进行编程时,可以使用以下选项:
 1-使用编程器(随时使用,无需开发): 
 a MSP-PRGS430 
 b BSL工具(例如来自 Gessler Elektronik、Softbaugh、Elprotronic 的工具) 
 c 群组编程器 MSP-GANG430
  如欲了解第三方工具, 敬请访问 
   http://www.ti.com/sc/msp430 >>> 第三方>>> 第三方工具
 2-通过您自己的软件来使用编程器(需要一些开发工作):
 MSP-PRGS430 与 MSP-GANG430 工具随 Windows DLL 一起提供。您可以使用 DLL 的功能并通过您自己的软件来对 MSP430 进行编程。SLAU048 与 SLAU101 工具的用户指南中分别包含有关DLL 功能的详细描述。
 3-独立完成所有工作: 
 a JTAG 接口:
   您可以在网上找到有关 JTAG 接口的相关文档,网址为: 
   使用 JTAG 接口对基于快闪的 MSP430 进行编程 (slaa149)
 b BSL 接口 (RS232):
   您可以在网上找到有关 BSL 接口的相关文档,网址是: 
   MSP430 引导加载程序的功能(slaa089a) 
   引导加载程序在具有快闪硬件与软件 Propo 的 MSP430 中的应用(slaa096b)

12-问:与 FET 一起使用所需的 MSP430 JTAG 信号有哪些?  
答: 如欲了解有关如何连接 JTAG 信号以用于适当的系统内仿真、编程以及调试的详细信息,敬请参阅最新版《快闪仿真工具 (FET) 用户指南》。《FET 用户指南》随 FET 软件一起安装,通过 MSP430 网站www.ti.com/msp430即可获得。随 MSP-FET430Pxxx 套件一起提供的接口框 ( interface box) 允许调试软件与系统内器件进行通信。而 MSP-PRGS430 也使用同一个 JTAG 连接(在 MSP-PRGS430 手册中加以介绍),它仅可用于编程。 

13-问: MSP430:与 MSP430 引导加载程序进行通信的工具 
答: TI 不直接提供可与引导加载程序进行通信的特定工具。应用手册“MSP430 快闪中引导加载程序应用的硬件与软件建议”SLAA096 中包含了已经验证的软件与电路范例,可以对它们轻松进行构建以连接到引导加载程序。应用手册“MSP430 引导加载程序的功能”SLAA089 还包含非常实用的信息。这些应用报告可以通过 MSP430 网站www.ti.com/msp430获得。此外,还可访问MSP430 网站,以查找可提供现成引导加载程序工具或解决方案的第三方公司。 

14-问:在 MSP430 引导加载程序 (BSL)通信中使用十六进制 80 
答: 十六进制 80 在每次传输之前均作为同步字符进行发送。该器件通过十六进制 90 进行确认。然后再发送数据帧。每个帧均以报头字节 = 十六进制 80 开头。其它字节的帧则紧跟在十六进制 80 报头的后面。MSP430 website上的“MSP430 引导加载程序的功能”应用手册 SLAA089 中定义了 BSL 数据帧的正确格式。
对随“引导加载程序在 MSP430 w/Flash 中的应用-硬件与软件建议”应用手册 SLAA096 一起提供的代码进行仔细检查后会发现,这是最佳的技术。该应用手册中的软件与硬件均经过测试,证明其可以正常工作。 

15-问:在何处可以找到 BSDL 文件来构建 JTAG 链? 
答: 所有 MSP430 均具有仅用于程序开发与快闪编程的 JTAG 接口。但这个 JTAG 接口并不 完全与 IEEE 1149.1 兼容。例如,任何 MSP430 均没有边界扫描单元 (Boundary Scan Cell)。我们仅支持所需的命令 BYPASS,但不支持其它所需的命令:EXTEST 与 SAMPLE/PRELOAD。
结论:
任何 MSP430 器件都没有 BSDL 文件。 
您不能 将 MSP430 与其它器件一起放入 JTAG 链中。 

16-问:在除 32.768kHz 以外的其它晶振频率下运行 MSP430  
答: 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) 是一种很好的设计实践。如果将引脚 Test/Vpp 路由到 JTAG 连接器以进行调试,则外部下拉电阻器将提高 EMI/EMC 性能。
 
18-问:系统内快闪编程或用作EEPROM  
答: MSP430 能够对闪存内任何位置、系统内任何单个位、字节或字进行编程。即使从快闪执行代码,并且即使程序正从已编程的数据段中执行代码,快闪仍可进行系统内编程。在编程之前不必擦除数据段,但 1s 只能通过编程转换成 0s。在完整的数据段上执行擦除操作,并且将所有数据段中的 bits 擦除为 1s。在从快闪执行代码时,可以进行系统内闪存编程或擦除,在执行操作的过程中,程序计数器将在器件数据表中指定的持续时间内自动停止。或者,也可以将程序计数器移到 RAM 中,并在快闪进行系统内编程或擦除期间执行应用程序 - 在这种情况下,代码将继续从 RAM 中全速执行。信息存储器与主内存闪存区域均可用于存储数据或代码,或者同时存储这两者。唯一的区别在于:信息内存由 128 字节的较小数据段组成,而主内存则由 512 字节的数据段组成。尽管器件数据表中规定了限制 Vcc 的最小值,但不需要较高的电压来对快闪进行编程。如欲了解有关 MSP430 闪存的更多信息,敬请参阅用户指南中有关快闪的章节、web 上的应用报告以及特定器件的数据表。 

19-问:使 MSP430的基本时钟模块中的DCO保持稳定 
答: 通过补偿电压、温度方面的变化以及部件之间的差异,可以对 DCO 频率进行校准并将其设定为指定的频率。通常,低速晶振或外部信号可以通过比较一个低速参考频率周期内出现高速 DCO 时钟周期的次数来实现这一点。借助软件,可以调整基本时钟控制寄存器,以便将DCO 的频率设置为较慢的晶振或信号的所需倍数。该器件的数据表详细介绍了 DCO 的工作范围。《MSP430x1xx 用户指南》提供了有关基本时钟的详细信息。 
通过 MSP430 网站可以获得证明DCO设置的范例代码及应用报告。 

20-问: MSP430:使用 MSP430 串行编程适配器 MSP-PRGS430 时可能遇到的问题  
答: 如欲获得解决使用 MSP-PRGS430 时所出现问题的完整列表,请参阅最新版的“MSP430 系列串行编程适配器手册”,TI 资料号 SLAU048。此外还需安装最新版本的 PC 用户界面软件。该软件可以从 MSP430 网站www.ti.com/msp430 中的“工具更新”上下载。该工具经过了所有 MSP430 OTP 与快闪器件的广泛测试。 

21-问:使用 MSP430 快闪仿真工具 (FET) 可能出现的问题 
答: 如欲了解解决使用 MSP430 FET 所遇到问题的完整解决方案列表,敬请参阅光盘版的《FET 用户指南》。该指南也会随 FET 软件一起安装。请参阅《FET 用户指南》中的附录“常见问题解答”。请确保安装了最新版的 FET 软件。该软件可以从www.ti.com/msp430上的“设计资源” ->“开发工具”处下载。更新该软件的同时也会更新《FET 用户指南》 

22-问: MSP430:所有MSP430 运算代码的列表(记忆方法)  
答: 我们不提供所有运算代码的列表,因为其存在许多可用的寻址模式。但是,根据指令与寻址模式,我们为组成各种运算代码的单个位提供了说明。
《MSP430xxxx 系列用户指南》在“RISC 16 位 CPU”一章中提供了适用于指令集的所有信息。“寻址模式”一节对“As”以及“Ad”位进行了解释。 在“指令集”一节中,您可以了解指令如何从位生成 HEX 表达式:
运算代码 
S-Reg (0b0000 = R0, 0b0001 = R1 ... 0b1111 = R15) 
D-Reg (0b0000 = R0, 0b0001 = R1 ... 0b1111 = R15) 
Ad 
As 
B/W
“指令集说明”一节包含了核心指令映射。
“指令周期与长度”部分概括了指令所使用的时钟周期数。

23-问: MSP430:哪种晶振可与 MSP430 一起使用?  
答: 32.768kHz 晶振与 MSP430 一起使用时需要遵循的重要规格是:
负载电容(请参阅数据表中的具体说明)
注:有效负载电容
晶振制造商通常会在晶振的数据表中定义有效负载电容。从电子学角度来说,电容器以串行方式连接到引脚XIN 与XOUT上,这时有效负载电容为:
C(eff) = {C(XIN) ? C(XOUT)}/{C(XIN) + C(XOUT)}
因此,晶振的数据表中规定12pF的有效负载电容要求在每个引脚XIN 与 XOUT上具有22pF(2 * 12pF = 24pF = 22pF + 2pF 寄生电容)。 MSP430x1xx 与 MSP430x3xx 系列为32kHz振荡器提供了约12pF的固定集成负载电容器,并且无需任何其它外部负载电容器即可支持需要6pF有效负载电容的晶振。高频率 XTAL 振荡器无内置负载电容器。 MSP430x4xx 系列为低频率与高频率模式下的LFXT1 振荡器提供了软件可选的集成负载电容器。该器件数据表中提供了可选值。XT2 振荡器没有任何内置负载电容器。 
ESR
为了确保振荡器操作稳定,MSP430x1xx 与MSP430x3xx 系列均需要ESR < 50kOhm的32kHz晶振。MSP430x4xx 系列的低功耗振荡器需要 ESR < 100kOhm的 32kHz 晶振。 高频率晶振的建议 ESR 值是 <= 40Ohms(频率为8MHz时)。 与建议的最大值相比,ESR的值越低,振荡器启动性能与稳定性也越好。
设计考虑事项:
使晶振、外部电容器(如果有)与 MSP430 之间的信号线尽可能保持最短。当非常低的电流通过MSP430晶振振荡器时,如果线路太长,会使它对 EMC、ESD 与串扰产生非常敏感的影响。而且长线路还会给振荡器增加寄生电容。 
如果MSP430在插座中:请注意插座会给振荡器增加寄生电容。 
尽可能将其它时钟线路与频繁切换的信号线路布置在远离晶振连接的位置。 
当心晶振和地的走线 
将晶振外壳接地 
当 VCC < 2.5 V 时,MSP430x1xx 的 LFXT1 振荡器要求在LF模式下使用从XOUT 到 VSS 的 5.1MOhm 电阻器。如欲了解详情,敬请参阅数据表

24-问: MSP430:哪个编程器会将我的程序写入快闪中?  
答: 您可以使用这些MSP430接口对MSP430Fxxx快闪进行编程:
 1-通过 JTAG: 
   MSP430 快闪仿真工具接口板 MSP-FETP430IF 
   TI 串行编程适配器MSP-PRGS430 
   TI 群组编程器MSP-GANG430
   或来自第三方的编程器
http://www.msp430.com/ - 单击“设计资源” >> “第三方”,然后单击“第三方工具” 
 2-通过引导加载程序:
   TI 建议您使用第三方网页上列出的工具, 例如来自Elprotronic的快速BSL编程器、 Gessler Electronic GmbH. 以及来自Softbaugh的MSP430 Flash Bootloader
http://www.msp430.com/ - 单击“设计资源”>>“第三方”,然后单击“第三方工具”

  两种不同编程方法的特性:
 1-通过JTAG: 
  您可以烧断保险丝。
  MSP-PRGS430、MSP-GANG430和 第三方群组编程器均支持烧断保险丝的功能。但MSP-FETP430IF不支持! 
  不可能通过保险丝已烧断的 JTAG 来进行任何 JTAG 访问或对 器件重新编程。 
 2-通过引导加载程序: 
  不可能烧断保险丝。 
  您可以对保险丝已烧断的器件快闪进行读取、擦除及重新编程。 “读取”功能受密码保护。 该密码是中断向量表的目录。
 
 何时使用何种工具:
 1-MSP430 快闪仿真工具接口板 MSP-FETP430IF: 
  适用于程序开发。 
  可与 IAR 嵌入式工作台开发工具配合使用。 
  是所有快速入门快闪仿真工具的一部分。 
  无法烧断保险丝。 
 2-TI 串行编程适配器 MSP-PRGS430: 
  适用于生产。 
  用于MS Windows的编程器类用户界面。 
  MS-Windows DLL,可轻松实施到其它软件系统中 
  将文件的内容写入MSP430 快闪中。 
  读取 MSP430 快闪的内容并将其存储到文件中。 
  可以烧断保险丝。 
  无法写入保险丝已烧断器件的快闪中。 
 3-Gessler 的“MSP430 FLASH 编程套件”、来自 Elprotronic 的快速 BSL 编程器以及来自 Softbaugh 的、支持引导加载程序的“MSP430 闪存引导加载程序”: 
  用于软件现场升级。 
  用于 MS Windows 的编程器类用户界面。 
  MS-Windows DLL,可轻松实施到其它软件系统中 
  将文件的内容写入 MSP430 闪存中。 
  读取MSP430快闪的内容并将其存储到文件中。 
  无法烧断保险丝。 
  可以写入保险丝已烧断器件的快闪中。 该功能受密码保护。 您所需的密码是中断向量表的目录。 
 4-群组编程器MSP-GANG430: 
  适用于生产。 
  用于MS Windows的编程器类用户界面。 
  MS-Windows DLL,可轻松实施到其它软件系统中 
  将文件的内容写入MSP430快闪中。 
  读取该内容

25-问:处理多个同时发生的外部中断  
答: 是的,只要确定了最低要求的中断事件脉宽,MSP430 就永远不会丢失中断。即使已经接受了中断请求并为其提供了服务,也应保留这些多个源中断的标记,因此,每个得到服务的标记都必须在其相应的中断服务例程内重新进行设定。这会导致 CPU 识别出其余的暂挂中断。 

26-问: MSP430:电流高于期望值!  
答: 导致耗流量高于预期值的一个问题是未使用的输入。为了避免这一问题,所有未使用的 I/O引脚都必须保留打开状态,并切换到端口功能,保持与输出配置相同的方向。器件用户指南的系统复位、中断与操作模式一章的连接未使用引脚一节中列出了所有未使用引脚的正确终止。
提示:
将未使用的 Test/Vpp 引脚连接到 Vss (GND) 是一种很好的设计实践。如果需要将此引脚路由到JTAG 连接器以进行调试,则外部下拉电阻器将提高 EMI/EMC 性能。

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
光纤通道的实时数字图像存储