例如50mm的管径,45度对射,两个换能器间距约71mm,换能器中心频率200K, USS_NUM_OF_TRILL_PULSES =12, USS_NUM_OF_ADDTL_TRILL_PULSES = 0,介质为空气,请问想要采样到整个波形需要设置哪些参数?参数的数值如何确定?
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.
例如50mm的管径,45度对射,两个换能器间距约71mm,换能器中心频率200K, USS_NUM_OF_TRILL_PULSES =12, USS_NUM_OF_ADDTL_TRILL_PULSES = 0,介质为空气,请问想要采样到整个波形需要设置哪些参数?参数的数值如何确定?
您所说的配置是指配置步骤还是什么?
配置步骤的话头文件中的参数都是由上位机生成的,您根据您的需求修改上位机的参数,然后生成头文件即可
原始波形,测量换能器两端,如下图,这样看的话,从发射到回波之前大概有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_SEC & USS_CAPTURE_DURATION_USEC就可以了。
首先更改USS_ADC_SAMP_COUNT_SEC直到可以在GUI里找打波形;
然后调整USS_CAPTURE_DURATION_USEC来保证ADC可以捕获到整个波形。