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.

[参考译文] MSP430FR2355:如何缩短计算时间、包括颠簸和 div

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/880918/msp430fr2355-how-to-reduce-the-calculation-time-including-mpy-and-div

器件型号:MSP430FR2355

你好。

当我测量 P6.1时、测量时间为118us。

我认为与其他具有硬件 MPY 和除法指令的24MHz 微控制器相比、这段时间太长。

您能否告诉我减少以下公式的计算时间?

它在24MHz 下工作。

静态无符号长整型值_0 = 0;
静态无符号长整型值_1 = 0;
静态无符号长整型值_2 = 0;

静态无符号长整型 a = 24000000;
静态无符号短整型 b = 40000;
静态短接 c = 2000;
静态无符号短整型 d = 400;

P6OUT &=~BIT1;/*将 P6.1设置为低电平*/


P6OUT |= BIT1;//将 P6.1设置为高电平(启动)*/

/* 118μsec */
value_0 =(unsigned long)((a /(b + c))/ 2);
Value_1 =(unsigned long)(((a /(b + c))*(50 - d / 20))/ 100);
value_2 =(unsigned long)(((a /(b + c))* d / 20)/ 100);

P6OUT &=~BIT1;/*将 P6.1设置为低电平*/
/*结束*/

我在 CCSv9的项目属性中的"RTS mpy 例程的内联硬件乘法版本"中设置为"F5"。

我阅读了以下文档、但我无法很好地理解...

可以告诉我任何建议吗?

此致

U-SK

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

    您好、U-SK、

    我不确定您所参考的是哪份文档、但有一个 IQ Math 软件包可为 MSP430提供优化的数学函数、请查看

    和用户指南。

    您也可以在 Code Composer Studio 和 TI Resource Explorer 的软件和库下找到该工具。

    此致

    Peter

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

    尊敬的 Peter:

    感谢你的答复。

    很抱歉、我正在阅读以下文档。

    http://www.ti.com/lit/an/slaa329a/slaa329a.pdf

    IQmth lib 是否使用上述文档中所述的计算来执行?

    计算的 CPU 周期数是否能够减少?

    此致、

    U-SK  

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

    您好、U-SK、

    非常感谢作出澄清。 据我所知、您所提到的文档是 IQMath 库中后续实现的内容的基础。 我不能说、在代码大小、使用各自的函数方面是否存在重大差异、但在尝试处理和优化实现乘法和除法时、本文档也是非常有用的。

    关于您的问题、与您的实现方案相比、是否可以减少指令周期的数量、很遗憾、我只能这样说、 让 TI 的代码成为 slaa329a 或 IQMath 库中的代码、这可能是您可以为 MSP430获取的最佳代码。

    可能会进行粗略估算。 您已经说过、您在24MHz 上测量了118µs μ s 执行时间。 这将提供2.832个指令周期。 在表1中的 slaa329中、您可以找到一些有关基本计算的数字。 基于这一点、您应该能够计算是否可以获得某种结果。

    此致

    Peter

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

    您是否正在使用编译器的优化器?  

    MSP430不进行硬件划分、因此改进功能的最明显方法是减少硬件划分。 优化器实际上非常好。

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

    您好、U-SK、

    我们还能为您做什么其他事情吗? 如果是这种情况、请告知我们。

    此致

    Peter