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.

MSP430FR6043: 如何设置参数才能准确采样到整个波形

Part Number: MSP430FR6043

例如50mm的管径,45度对射,两个换能器间距约71mm,换能器中心频率200K, USS_NUM_OF_TRILL_PULSES =12, USS_NUM_OF_ADDTL_TRILL_PULSES = 0,介质为空气,请问想要采样到整个波形需要设置哪些参数?参数的数值如何确定?

  • 你说的几个文档我都看过,没有一个提到如何配置USS_userConfig头文件中的参数,我举的这个例子能帮我配置一下吗,麻烦用具体的参数来回答一下,而不是扔给我一个文档

  • 您所说的配置是指配置步骤还是什么?

    配置步骤的话头文件中的参数都是由上位机生成的,您根据您的需求修改上位机的参数,然后生成头文件即可

  • 原始波形,测量换能器两端,如下图,这样看的话,从发射到回波之前大概有700us;

    Gap between pulse start and ADC capture设置为700us,

    Capture Duration设置为200us,

    Start PPG Count固定200us,这样设置应该可以吧,但是。。看后面的图

    #define USS_SEQUENCE_SELECTION                            USS_CAPTURE_SEQUENCE_SELECTION_CH0_CH1

    #define USS_CAPTURE_DURATION_USEC                         200

    #define USS_GAIN_RANGE                                    USS_Capture_Gain_Range_0_1

    #define USS_START_CAPTURE_SEC                             200e-6f

    #define USS_ADC_SAMP_COUNT_SEC                            700e-6f

    #define USS_RESTART_CAP_COUNT_SEC                         8.000E-3

    你看输入单片机的波形变成什么样了?根本检测不到信号!!!

    反而是下面这种配置可以看到波形,但是单片机仍然检测不到信号:

    #define USS_SEQUENCE_SELECTION                            USS_CAPTURE_SEQUENCE_SELECTION_CH0_CH1

    #define USS_CAPTURE_DURATION_USEC                         200

    #define USS_GAIN_RANGE                                 USS_Capture_Gain_Range_0_1

    #define USS_START_CAPTURE_SEC                             200e-6f

    #define USS_ADC_SAMP_COUNT_SEC                            100e-6f

    #defineUSS_RESTART_CAP_COUNT_SEC                         8.000E-3

    正常来说只要调节Gap between pulse start and ADC capture就行了,但是完全没有用,我调节Capture Duration竟然也会影响波形,如下图:

    #define USS_SEQUENCE_SELECTION                            USS_CAPTURE_SEQUENCE_SELECTION_CH0_CH1

    #define USS_CAPTURE_DURATION_USEC                         400

    #define USS_GAIN_RANGE                                    USS_Capture_Gain_Range_0_1

    #define USS_START_CAPTURE_SEC                             200e-6f

    #define USS_ADC_SAMP_COUNT_SEC                            100e-6f

    #define USS_RESTART_CAP_COUNT_SEC                         8.000E-3

    麻烦解答一下到底如何我才能捕捉到正确的波形?

  • 看起来您是直接修改了头文件。我们推荐您使用上位机修改头文件。

    比如,上位机中Gap between pulse start and ADC capture默认值是170us,配置生成的头文件里,可以看到USS_ADC_SAMP_COUNT_SEC的值是370us(3.7E-4);将默认值修改为700us之后,头文件中的相应值变为900us(9.0E-4),能看出头文件中的相应参数是叠加了1个200us的偏置,而这个偏置就是Start PPG Count (ns)。所以推荐您使用上位机。下面这个路径中给出了这些参数的范围以及转换关系:

    file:///C:/ti/msp/USS_02_40_00_00/USS/docs/UserGuide/UserGuide/ch_config.html#id1

    您的第一张图片用的是什么配置?

  • 第一张图用的这个,信号是两个换能器的信号,不是单片机引脚的信号

    #define USS_SEQUENCE_SELECTION                            USS_CAPTURE_SEQUENCE_SELECTION_CH0_CH1

    #define USS_CAPTURE_DURATION_USEC                         200

    #define USS_GAIN_RANGE                                    USS_Capture_Gain_Range_0_1

    #define USS_START_CAPTURE_SEC                             200e-6f

    #define USS_ADC_SAMP_COUNT_SEC                            700e-6f

    #define USS_RESTART_CAP_COUNT_SEC                         8.000E-3

    还有为什么我修改USS_CAPTURE_DURATION_USEC 也会影响信号呢,这个不是采样的窗口吗?这个时间也会加到GAP上面,为什么呢

  • 使用USS软件配置头文件依然是没有任何作用,Gap between pulse start and ADC capture从100到1000我都试过了,USS_CAPTURE_DURATION_USEC,USS_START_CAPTURE_SEC,USS_ADC_SAMP_COUNT_SEC 这三个参数是相关的,需要组合设置,你们文档上面说的东西都太表面了,换个板子就不适用

  • 方便总结一下您的问题吗?我去向相关方面的专家寻求帮助

  • 问题还是不知道如何设置才能捕捉到正确波形啊,USS_CAPTURE_DURATION_USEC,USS_START_CAPTURE_SEC,USS_ADC_SAMP_COUNT_SEC,这三个参数都会影响到输入单片机的波形,按照文档所说的更改USS_ADC_SAMP_COUNT_SEC也就是Gap between pulse start and ADC capture调整窗口位置好像是不对的,并且USS_CAPTURE_DURATION_USEC也不只是窗口大小,同样会影响到发射到接收的GAP时间

  • 好的,我已经咨询相关方面的专家了。有了结果我会第一时间回复。

  • 反而是下面这种配置可以看到波形,但是单片机仍然检测不到信号:

    #define USS_SEQUENCE_SELECTION                            USS_CAPTURE_SEQUENCE_SELECTION_CH0_CH1

    #define USS_CAPTURE_DURATION_USEC                         200

    #define USS_GAIN_RANGE                                 USS_Capture_Gain_Range_0_1

    #define USS_START_CAPTURE_SEC                             200e-6f

    #define USS_ADC_SAMP_COUNT_SEC                            100e-6f

    #defineUSS_RESTART_CAP_COUNT_SEC                         8.000E-3

    正常来说只要调节Gap between pulse start and ADC capture就行了,但是完全没有用,我调节Capture Duration竟然也会影响波形,如下图:

    #define USS_SEQUENCE_SELECTION                            USS_CAPTURE_SEQUENCE_SELECTION_CH0_CH1

    #define USS_CAPTURE_DURATION_USEC                         400

    #define USS_GAIN_RANGE                                    USS_Capture_Gain_Range_0_1

    #define USS_START_CAPTURE_SEC                             200e-6f

    #define USS_ADC_SAMP_COUNT_SEC                            100e-6f

    #define USS_RESTART_CAP_COUNT_SEC                         8.000E-3

    您好,这两张图片是不是上下颠倒了?

    如果保持time back同步的话,那么应该是400 ADC会比200 ADC更快开启采样。

  • 这两张图没有颠倒,USS_CAPTURE_DURATION_USEC 400的时候是会切掉部分输入单片机的波形,像是延长了USS_ADC_SAMP_COUNT_SEC一样,所以无从下手了

  • 我的理解是这样,你看对不对?USS_START_CAPTURE_SEC  是给单片机初始化功能模块预留的时间,所以默认200我没有动;USS_ADC_SAMP_COUNT_SEC是从发射到接收的时间间隔,这一段不需要采样,按照实际时间滤掉即可;USS_CAPTURE_DURATION_USEC 是采样的窗口时间,这样理解是对的吗?

    但是,实际的情况和上面的理解完全不一样,这3个值都会影响从发射到接收的这个时间间隔,甚至会改变示波器测到的波形形状,无论怎么更改回波都不在窗口内。。

  • 您的理解是正确的。

    实际上您只需要更改USS_ADC_SAMP_COUNT_SECUSS_CAPTURE_DURATION_USEC就可以了。

    首先更改USS_ADC_SAMP_COUNT_SEC直到可以在GUI里找打波形;

    然后调整USS_CAPTURE_DURATION_USEC保证ADC可以捕获到整个波形。