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.

[参考译文] MSP430I2041:使用DAC的MSP430I2041 EVM响应时间

Guru**** 2582985 points
Other Parts Discussed in Thread: MSP430I2040, DAC161S997, MSP430I2041

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/616588/msp430i2041-msp430i2041-evm-response-time-using-a-dac

部件号:MSP430I2041
主题中讨论的其他部件:MSP430I2040DAC161S997

尊敬的各位:

我选择了MSP430i2040子测量模块,因为它具有快速RMS测量(80ms或4个交流周期)。 由于我没有访问 度量源代码的权限,所以我使用“rms_current(ph)”发送到DAC,我为DAC设置了一个函数;“updateCurrentOutput (unsigned short)(CL)”,

其中CL =(unsigned short)(rms_current (ph)/ 100.00);  //有时为0,而不是pH

我在"void foreground_process_off (void)"下调用了上面的函数(也在其他位置尝试过)。

DAC响应速度较快,响应速度太慢(下图所示为响应时间)。 从0到固定值的步进响应电流。

由于处理器应该需要80mS (50Hz交流)来更新测量值,我不太明白为什么我的电路需要1.5秒以上的时间? 我有一些理论来解释原因,如下所示:

  1>交流电流输入滤波器延迟(nah! 不能,模拟它)。

  2>中断;每次后台进程开始收集ADC样本时,它都会中断所有其他操作。

     -即使处理器已经测量了步进电流,但在后台进程中断开始之前,DAC没有足够的时间达到最终值。

  3>我的DAC代码中有错误,但使用静态预定义值(CL =0xD555;)时,它不会出现任何故障。

最后,我们非常感谢你在这方面提供的协助。

提前感谢

谨致问候

Subhronil

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

    您好Subhronil,

    后台进程由ADC以采样率触发。 此进程在ADC的中断服务例程中运行,并自动处理。 前台进程由后台进程以报告和更新速率完成而触发。 后台进程在变量phone_state中设置标记phone_status_new_log,以指示数据已准备就绪,可以由前台处理。 然后,应用程序通过调用calculate_phone_readings ()来监视此标志以触发前台进程。 前台进程执行计算并更新结果。

    您可以通过监控EVM上的LED来测量在这些功能/状态中花费的时间。 请参阅 TI设计用户指南中的表6。 如果您有范围,则可以查看前台进程所需的时间。 GUI每隔1秒更新一次,这是我在检查计量结果时建议的时间段。

    关于DAC,我不确定您将其用于什么用途,我假设这是一个外部设备。 也许,您正在尝试输出由i20xx设备观察到的信号,以观察 Σ-Δ 捕获的内容。

    此致,

    詹姆斯

    MSP客户应用程序

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

    非常感谢您的回复。 我明白了你所说的一切,但它仍然不能回答我的问题,我正在使用DAC来控制输出环路。 也许指定DAC的型号可能会有所帮助;DAC161S997是一个外部电路。

    简而言之,"我正在根据测得的电流控制输出回路"。

    我预期的结果是,达到最终产出值最多需要两个步骤,而不是20个步骤(如图所示)。 每个步骤应大约为80毫秒,因为这是获取ADC值并对其进行处理以计算电流值所需的时间(计算时需要更多时间)。

    我想这就是为什么中断服务会真正中断DAC操作? 如果是,我可以做些什么? 否则,您能否建议我解决方案。

    再次感谢。

    谨致问候

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

    感谢您提供DAC的部件号以及有关您正在尝试执行的操作的更多信息。 这种方法非常有用。

    ADC中断肯定会中断MSP430i2041和DAC161S997之间的通信。 由于此中断发生在后台进程中,因此在触发前台进程之前,RMS当前值不会更新(计算)。 因此,更新之间的时间将取决于前台进程的周期,并将限制您更新外部DAC的速度。

    理想情况下,可以在ADC中断之间将数据传输到DAC。 正如我前面提到的,使用EVM上的LED来确定这些时间可能是一种很好的方法,这样您就可以知道每个进程所花费的处理时间。

    此致,

    詹姆斯

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

    尊敬的James:

    非常感谢您尽早回复。 我选择这款处理器是因为它的测量时间更快。 我需要的响应时间(从输入更改到输出更改)不超过200毫秒。 我定时打开和关闭前台进程,总共大约是80-81毫秒,请找到LED 4开/关图像。这似乎太短了,我需要几毫秒。 您会怎么估计?

     再次感谢。

    谨致问候

    Subhronil