This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430F6.7791万A:修改源代码

Guru**** 2534260 points
Other Parts Discussed in Thread: MSP430F6779, TIDM-AUX-MODULE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/631191/msp430f67791a-modifying-the-source-code

部件号:MSP430F6.7791万A
主题中讨论的其他部件: MSP430F6779,TIDM-AUX-MODULE

HII,

  我在为空闲运行计时器配置中断生成时遇到问题。 我正在使用具有可用在线代码(EVM430-F6779.但我无法跟踪源代码(http://www.ti.com/lit/zip/slaa577)中的设置。  

  请建议我采取哪些步骤来找到它。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Praful:

    您想使用哪种计时器? 我怀疑您正在尝试配置已在使用的模块。 在IAR中,我建议使用搜索功能来浏览项目文件,查找要使用的计时器。 还可以查看'emeter-setup.c'和'emeter-structs.h'文件。

    此致,

    詹姆斯

    MSP客户应用程序
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Praful:

    您是否能够了解问题?

    此致,

    詹姆斯

    MSP客户应用程序
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    我对MSP430F6.7791万A的工作有一些疑问

    1. 我已参考EVM代码 。 它使用32kHz晶体, 通过  使用512 FLL比率获得16MHz的fsystem。  时钟的不准确度在温度范围内是否保持不变。

    2.我需要使用硬件乘法器,但 如果在乘法中断期间发生,并且进一步使用了硬件乘法器块,情况会怎样。 将恢复上一乘法

    3.如果我使用具有内部参考的ADC,将保持温度范围内的精度。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Praful:

    1.  我已参考EVM代码 。 它使用32kHz晶体, 通过  使用512 FLL比率获得16MHz的fsystem。  时钟的不准确性在温度范围内是否保持不变。[/QUOT]

    默认情况下,外部晶体XT1用于FLL。 您必须检查所选晶体制造商提供的规格和性能信息。 对于内部DCO,表5-5指定0.1 % 频率温度漂移通常为DCO 使用FLL稳定DCO有助于减少因温度和电压变化而对操作频率的影响。

    2. 我需要使用硬件乘法器,但 如果在乘法中断期间发生,并且进一步使用了硬件乘法器块,情况会怎样。 上一个乘法是否会恢复[/QUOT]

    有关在MPY32模块中使用中断的指导,请参阅 《MSP430x5xx/MSP430x6xx用户指南》中的第25.2 7节。

    此致,

    詹姆斯

    MSP客户应用程序

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    3. 如果我使用带有内部参考的ADC,将保持温度范围内的精度。[/QUOT]

    假设您指的是SD24 ADC,您可以在数据表的表5-42中找到增益和偏移错误。 对于增益误差温度系数,单位为ppm/C,其中ppm是每摄氏度(C)误差百分之一的万分之一。 外部引用的误差似乎低于内部引用(但这显然需要更多的组件)。 校准SD24非常重要,您可能需要根据您的要求对转换实施温度补偿。

    此致,

    詹姆斯

    MSP客户应用程序

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,James:
    我非常感谢你的答复。 我已按照您的说明开始工作。 由于使用此芯片对我来说是全新的,我能否从TI获得驱动程序层以下方面的软件支持:
    1. Fsystem:16MHz,使用32kHz晶振(外部晶体振荡器)
    2.配置1毫秒的自由运行计时器。
    3. UART配置为以300 bps至115.2 kbps的波特率运行,8位数据,奇偶校验:奇数/偶数,停止位:1,2 (外部晶振为32 kHz)
    4. SD24 ADC:需要以固定间隔100usec持续ADC中断。在ADC中断上,所有通道读数都应就绪
    5. I2C配置为@40kbps
    6.硬件乘数考虑因素
    7. RTC _B已配置
    8.监护程序配置为100ms
    9.需要详细的电压控制(用户手册中没有明确提到)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Praful:

    我非常感谢您的回复。 我已按照您的说明开始工作。 使用此芯片对我来说是全新的,我能否从TI获得驱动程序层以下方面的软件支持:[/QUOT]

    我们基于MSP430F6779(A)的参考设计将是最佳参考和资源。 虽然它们的配置可能会因您的要求而异,但许多体系结构已经存在,只是需要更改。 老实说,我发现在IAR中打开项目并使用"查找"功能搜索整个代码以查找特定模块及其配置是最有用的。 请记住,如果对源代码进行了任何更改,您将需要按正确的顺序重建所有项目(从IAR中项目概述窗口底部左侧的项目开始)。

    1. Fsystem:16MHz,使用32kHz晶体(外部晶体振荡器)[/QUOT]

    我们的大多数设计已经以16MHz运行。 有些频率为25MHz。 默认情况下,FLL使用32kHz晶体。

    2. 配置1毫秒的自由运行计时器。[/QUOT]

    同样,您必须搜索代码以查看使用了哪些计时器模块。 我认为现有代码每隔一秒使用一个标志来处理数据,这取决于样本数量。 如果您在8192Hz采样,这意味着当采集了8个样本时,已通过大约1毫秒。

    3. UART配置为以300 bps至115.2 kbps的波特率运行,8位数据,奇偶校验:奇数/偶数,停止位:1,2 (32 kHz的外部晶振)[/QUOT]

    对于我们的大多数设计,UART是以9600波特率实现的,具有8位数据,无奇偶校验,无停止位。 请记住,外部32kHz晶体不能提供11.52万的波特率。

    4. SD24 ADC:需要以固定间隔100usec持续ADC中断。在ADC中断上,所有通道读数都应就绪[/QUOT]

    此间隔需要大约10kHz的采样频率。 这应该是可能的,但您可能必须降低OSR,这将降低SNR性能。 您可以使用组位(请阅读用户指南中的相关内容)将所有SD24信道组合在一起进行一次中断。

    5. I2C配置为@40kbps

    某些设计可能具有I2C,但主要使用UART。 请参阅我们的非计量代码示例,了解I2C示例代码。

    6. 硬件乘法器注意事项[/QUOT]

    硬件乘法器用于许多基于MSP430F6779(A)的参考设计。

    7. 已配置RTC _B

    我看到过与此相关的代码,但不是很熟悉。 同样,我建议您仔细阅读代码并阅读用户指南。

    8. 监护程序配置为100msec

    在我们的参考设计中,这通常为1秒,但可以更改。

    9. 需要有关退电的详细信息(用户手册中未明确提及)[/QUOT]

    请参阅用户指南,我建议在其中搜索"Brownout (浏览)"。 在快速搜索后,我找到了几个讨论"取消重置(BOR)"功能的部分。

    此致,

    詹姆斯

    MSP客户应用程序

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的James:
    感谢您的回复。 对于此项目,我要使用UART配置为300到115 kbps的波特率。 同时,我只想使用内部RTC。 如果发生电源故障,币形电池将仅为MSP430F6.7791万A的AUXVCC3引脚供电。
    如您所述,32kHz冷冻不能用于支持115kbps Baudrate。 请建议我选择可用于此应用程序的外部晶体值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Praful:

    有关RTC和AUXVCCx配置,请参阅我们的TIDM-AUX-MODULE TI设计。 有将近20种不同的配置,其中包含代码示例,以及一些关于如何使用这些模块的非常好的建议。

    关于11.52万波特率,我不建议使用外部晶体来实现此目的。 您需要使用内部DCO来执行此操作。 如果您计划使用任何低功耗模式(LPMx),请记住,CPU的唤醒时间会有所不同,如果太慢,CPU将无法及时唤醒以较高的波特率(如11.52万)捕获数据。 通常,当睡眠和对RTC计时时,外部晶体工作正常。

    此致,

    詹姆斯

    MSP客户应用程序