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.

[参考译文] CCS/MSP430FR6047:MSP430FR6047 USSLIB 体验

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/866409/ccs-msp430fr6047-msp430fr6047-usslib-experiences

器件型号:MSP430FR6047

工具/软件:Code Composer Studio

大家好。

我使用 MSP430FR6047设计了新的 PCB、用于水流测量。 我没有 MSP430FR6047 EXP 板。

我在项目中使用 USSLIB 02_20_00_18。 代码源自 USSSWLib_TEMPLATE_example 和 UltrasonicWaterFR604x_02_20_00_08 CCS 示例。

我的管道为131毫米(传感器-传感器距离),因此,我预计 ToFups 和 ToFdns 是相同的(因为测试是在静止水中进行的),并且接近89usec (131毫米/1480米秒= 89 μ s)。

我测量了显示 PICS 的 CH0和 CH1信号。 我认为传输和接收信号很好。

但是;

在 USS_runAlgorithms 之后、消息代码为122 (USS_MESSAGE_CODE_VALLED_Results)、而不是 USS_MESSAGE_CODE_NO_ERROR。 这是正常的吗? 我认为这个结果不是正常的、因为在这个结果之后、我测试了 deltaToF、totalTOF_UPS、totalTOF_DNS 值、其中包含 alResult 变量。 所有这些都是零。 只有 volumeFlowRate 具有不同的零形式、但具有非常湍流的值。

在附加组件中、我修改了 USS_userConfig.h 中的以下条件;

#define USS_HSPLL_FREQ_IN_MHz 80 //(也在72中进行了测试)

#define USS_HSPLL_INPUT_CLK_TYPE USS_HSPLL_INPUT_CLOCK_TYPE_CRYSTAL

#define USS_ALG_DTOF_COMPUTATION_MODE USS_ALG_DTOF_COMPUTATION_OPTION _Estimate

#define USS_ALG_VOLUME_RATE _计算_模式 USS_ALG_VOLUME_RATE _计算_选项_水//(也在通用模式下进行了测试)

#define USS_HSPLL_USSXTAL_Setting_USEC 10000

#define USS_GAIN_RANGE USS_Capture_GAIN_Range_8_7

#define USS_START_CAPTURE_SEC 1.0E-5F //500000e-9f (在模板中)

#define USS_ADC_SAMP_COUNT_SEC 6.99995E-5F //532000e-9f (在模板中)

我缺少什么?

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

    您好!

    我的团队成员将检查您的问题并在稍后回复。

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

    你好,赵先生

    我迫不及待地等待您的回复。  

    谢谢。

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

    Mesut、您好!


    您能否检查平台上的 ADC 捕获以确保捕获良好的信号? 您可以查看 GUI 项目中的代码以了解这是如何完成的。 (捕获结果存储为16位整数值的数组。)

    void CommandHandler_transmits(Packet_t *txPacket)

       //计算需要发送的数据包数

       //每个 ADC 捕获数据包最多可以容纳27个捕获

       uint16_t updnsCaptureSize = gUssSWConfig.captureConfig->sampleSize;

       uint8_t numOfPcks =(uint8_t)(uint8_t)(updnsCaptureSize/ COMMAND_ERR_UPS_DNS_CAP_MAX_CAP_SIZE);

       int8_t finalPckLength =(uint8_t)(updnsCaptureSize % COMMAND_ERR_UPS_CAP_MAX_CAP_SIZE);

       //计算每次捕捉中的字节数

       uint8_t* pUPSCap =(uint8_t*)(USS_getUPSPtr (&gUssSWConfig));

       uint8_t* pDNSCap =(uint8_t*)(USS_getDNSPtr (&gUssSWConfig));

    BR、
    Leo