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.

[参考译文] MSP430F67791A:SLAA577G 代码库在100ms 内所需的计量数据

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/917192/msp430f67791a-metering-data-required-in-100-msec-for-slaa577g-code-library

器件型号:MSP430F67791A
主题中讨论的其他器件: MSP430I2040

您好!

我们有一款基于 MSP430F67791A 的旧设计产品。 除计量参数外、该产品还很少
特殊函数,基于计量数据的决策。计量代码库是 TI slaa577g 代码库

根据代码和应用手册 SLAA577G……功率、电流、电压样本正在更新
或在 emeter-background.c 中以1秒的间隔被掠夺

现在、我们的客户要求在同一产品中添加一个要求我们获取电压、电流、功率、PF 和的附加功能
频率数据、并且我们希望使用相同的现有代码库来完成附加功能。


我在 emeter-structs.h 中尝试了跟随

#define SAMPLE_RATE 409 // 4096
#define ADC_BITS 16.
#define SAPESS_PER_10_seconds 4090 // 40960ul

但这对我来说是不可行的。我想...这里的 SAMPLE_RATE = 409意味着在1秒的时间间隔内获得409个样本。它不会解决我的目的。如果我错了、请纠正我的问题。


在这方面,任何人都能提供帮助...在 slaa577g 代码库中需要进行哪些更改(以及哪些文件),以便在每隔<100ms 获得所需的计量数据。

谢谢、此致

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

    您好 ARS、

    感谢您的详细博文。 更改这两个变量是一个很好的开始、看起来它们是正确的。 但是、100ms 比1秒周期短得多、因此在减少这么多之前、我建议尝试一半原始值、以查看通信/功能是否仍然正常。 如果确实如此、这是很好的。

    但是、对于您的情况、您需要更快的报告、这意味 着使用 sample_per_10_seconds 的代码(您可以通过在项目文件中搜索此变量来找到该代码)可能无法针对如此低的值正常工作。 此外、您可能会过度运行通信速度、甚至计算每个相位的参数所需的时间量。 您可能需要提高通信和/或 CPU 速度、以确保数据的发送速度足够快、以便执行计算。

    此致、

    James

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

    您好 James、

    感谢您的回答。我需要您的帮助才能解决问题。

    请注意,我的应用使用单相电压和 电流。并且,百分比计量误差可以高达2%。

    在上述应用中,系统时钟以16MHz 运行,根据应用报告 SLAA577,ΣΔ24 ADC 的时钟选择为1.048576MHz,采样频率为4.096ksps。 即4096个样本/秒。 因此 、每个 ΣΔ24 Δ Σ ADC 采样中断的发生频率为244uec。

    我的第一个选择:

     遵循  emeter-structs.h 中定义的宏

    #define SAMPLE_RATE 4096
    #define ADC_BITS 16.
    #define SAMOESS_PER_10_seconds 40960ul

    我仍然认为、仅将 SAMPLE_RATE 和 SAMPS_PER_10_Seconds 更改为1/10的值(即409和4090)、就不会在100msec 提供结果。因为我的理解是、根据宏名称建议 、SAMPLE_RATE 宏定义了在1秒时间间隔内累积的样本数。 因此,如果我将其设为409, 我认为现在相当于409个样本的样本数据将在1秒内累积,因此样本数据的上升 率不会降低(在我的情况下,我希望它在100毫秒内)。 相反、1秒间隔内的任何样本都不会减少。结果也是如此。

    请评论!

    我认为的第二个选项是:调用 log_parameters (phase)函数(来自 emeter-background.c 中的 ADC ISR 例程),以减少采样数 (在本例中为409)。

          

    // if (phase -> metal量.dot_prod.sample_count >= samples_per_sond)//原始代码
    if (phase -> metal量.ode_prod.sample_count >= 409) //完成的更改,希望获取数据@100毫秒
    {
    log_parameters (phase);
    _BIC_SR_IRQ (LPM0_Bits);
    /*当作为主机程序运行时,没有 RTC,但我们仍需要以某种方式启动前台。 */
    }
    
    
    一
    // if (phase -> metal量.dot_prod.sample_count >= samples_per_second + 200)//原始代码
    if (phase -> metyetition.ode_prod.sample_count >=(409 + 10))//已完成更改,希望获取数据@100msec
    {
    /*我们似乎没有检测到电源周期的结束,因此没有检测到力
    处理块条件的结束。 *
    log_parameters (phase);
    _BIC_SR_IRQ (LPM0_Bits);
    } 

    但我不知道上述变化的副作用。 这第二种方法是否会以100毫秒的速度提供数据?这第二种方法是否正确?

    Samples_per_second = Samples_per_10_seconds / 10.

      emeter-setup.c emeter-background.c 中使用的" samples_per_10_seconds "值。我可以说明的是、它用于检查40至70Hz 之间的频带。

    由于我们更加关注应用端代码并将 TI 计量代码库作为一个完整的工具库,我请求您的 TI 专家团队能提供合适的解决方案,使其在100mSec 下工作。   

    谢谢、此致、

    ARS

     

     

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

    尊敬的 James 和 TI 团队:

    1.我可否就上述申请要求及上述解释提供进一步的帮助?

    2. 项目中有一个库文件 Emeter-fi-table.c、并且有 一个 FIR 系数表来校正相移。

    const Int16_t fir _coeffs[][2]=

    {32767、8198}、// 2.1973度
    {31761、8326}、// 2.1629度

    三、会议的报告

    };

    如果 系统时钟频率发生更改或采样频率发生更改,而不是4096Hz,我认为必须更改此表。 TI 是否提供任何计算器来生成 除4096Hz 采样频率之外的 fir 表。

    3. 这是唯一决定采样频率的函数,可在 Emeter-setup.c 中找到

       在下面的代码中,我想让系统时钟频率= 25MHz (使用的外部晶振= 32.768kHz)和采样频率= 4096Hz

    静态__inline__void init_analog_front_end_normal (void)
    {
    
    int i;
    REFCTL0 = REFMSTR + REFVSEL_1 + REFON; /* Enabale Reference = 2.0V */
    SD24BCTL1 &=~SD24GRP0SC;
    
    
    #if MCLK_DEF = 25
    SD24BCTL0 = SD24SSEL_SMCLK //时钟为 SMCLK */
    | SD24PDIV_3 /* 8分频=> ADC 时钟:2MHz */
    | SD24DIV1
    | SD24REFS; /*使用内部基准*/
    #endif
    
    
    
    SD16INCTL_CURRENT_1 = CURRENT_PHASE_GAIN; /*设置通道1的增益*/
    SD16CCTL_CURRENT_1 = SD24DF_1 | SD24SCS_4;
    SD16BOSR_CURRENT_1 = 256 - 1;
    // SD16BOSR_CURRENT_1 = 512 - 1;
    SD16PRE_CURRENT_1 = 0;
    
    SD16INCTL_CURRENT_2 = CURRENT_PHASE_GAIN; /*设置通道2的增益*/
    SD16CCTL_CURRENT_2 = SD24DF_1 | SD24SCS_4; /*将过采样率设置为256 (默认值)*/
    SD16BOSR_CURRENT_2 = 256 - 1;
    // SD16BOSR_CURRENT_2 = 512 - 1;
    SD16PRE_CURRENT_2 = 0;
    
    
    SD16INCTL_CURRENT_3 = CURRENT_PHASE_GAIN; /*设置通道3的增益*/
    SD16CCTL_CURRENT_3 = SD24DF_1 | SD24SCS_4;//| SD16IE; /*将过采样率设置为256 (默认值)*/
    SD16BOSR_CURRENT_3 = 256 - 1;
    // SD16BOSR_CURRENT_3 = 512 - 1;
    SD16PRE_CURRENT_3 = 0;
    
    SD16INCTL_NEUTRAL = CURRENT_NEW_GAIN; /*为通道中性设置增益*/
    SD16CCTL_NEUTRAL = SD24DF_1 | SD24SCS_4; /*将过采样率设置为256 (默认值)*/
    SD16BOSR_NEUTRAL = 256 - 1;
    SD16PRE_NEUTRAL = 0;
    
    // SD16BOSR_NEUTRAL = 512 - 1;
    
    
    /*配置模拟前端通道2 -电压*/
    SD16INCTL_VOLTGE_1 = VOLTGE_GAIN;
    SD16CCTL_VOLTGE_1 = SD24DF_1 | SD24ALGN | SD24SCS_4;
    SD16BOSR_VOLTGE_1 = 256 - 1;
    // SD16BOSR_VOLTGE_1 = 512 - 1;
    SD16PRE_VOLTGE_1 = DEFAULT_V_PRESALE_FACTOR;
    
    // SD16PRE_VOLTGE_1 = DEFAULT_V_PRESALE_FAC因 子_A;
    
    SD16INCTL_VOLTGE_2 = VOLTGE_GAIN;
    SD16CCTL_VOLTGE_2 = SD24DF_1 | SD24ALGN | SD24SCS_4;
    SD16BOSR_VOLTGE_2 = 256 - 1;
    // SD16PRE_VOLTGE_2 = DEFAULT_V_PRALE_FACTOR _B;
    // SD16BOSR_VOLTGE_2 = 512 - 1;
    SD16PRE_VOLTGE_2 = DEFAULT_V_PRESALE_FACTOR;
    
    SD16INCTL_VOLTGE_3 = VOLTGE_GAIN;
    SD16CCTL_VOLTGE_3 = SD24DF_1 | SD24ALGN | SD24SCS_4;
    SD16BOSR_VOLTGE_3 = 256 - 1;
    // SD16BOSR_VOLTGE_3 = 512 - 1;
    SD16PRE_VOLTGE_3 = DEFAULT_V_PRESALE_FACTOR;
    // SD16PRE_VOLTGE_3 = DEFAULT_V_PRALE_FACT_C;
    
    
    对于(i = 0;i < NUM_PASes;i++)
    CHAN [i].metrology.current.in_phase_correction[0].sd16_preloaded_offset = 0;
    
    SD24BIE=0x7F;
    SD24BCTL1 |= SD24GRP0SC;
    
    } 

    此致、

    ARS

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

    在"emeter-background.c"中、此代码确定何时触发前台进程、该进程将完成计算并发送数据。 更改 Samples_per_10_seconds 会导致触发速度更快或更慢。 您应该能够使用选项1、该选项应自动为您执行选项2。

    /*查看是否
    记录了足够长的测量间隔,并捕捉下一个周期的开始。 只要
    块
    的长度合理、我们实际上并不关心有多少个周期。 设置至少1秒
    比计算周期更好、因为它不受噪声
    尖峰的影响。 同步到一个完整的周期数可减少
    块到块抖动、尽管它不会影响
    测量的长期精度。 //
    if (phase -> metal量.dot_prod.sample_count >= samples_per_second)
    {
    log_parameters (phase);
    _BIC_SR_IRQ (LPM0_Bits);
    //作为主机程序运行时没有 RTC,但我们仍需要使用
    以某种方式启动前景。 * 

    [引用 user="ars"]   emeter-setup.c emeter-background.c 中使用的" samples_per_10_seconds "值。我可以说明的是、它用于检查40至70Hz 之间的频带。

    没错。 由于您要调整 Samples_per_10_seconds、因此需要相应地调整该代码。 所发生的情况是、您的采样数不会递增、因为代码认为交流电源输入频率超出范围。

    #IF 定义(MAIN_FREQUENCY 支持)
    /*对样本计数应用限制、以避免尖峰或电源线逐渐耗尽干扰
    频率读数太大*/
    /*主电源应小于40Hz 或大于70Hz,以使此测试失败! *
    if (256*SAMPS_PER_10_seconds/700<= PHASE_>metality.cley_sample_count && PHASE_metality.cley.cley_sample_count <= 256*SAMPS_PER_10_seconds/400)
    {
    
    }
    其他
    {
    phase -> metal量 度.cycle_sample_count = 0; 

    FIR 表需要针对不同的采样率进行重新生成。 TI 不提供该计算器。

    采样率通过将 ADC 源时钟除以过采样率(OSR)来确定。 您可以通过在 ADC ISR 中切换 GPIO 来验证该速率。

    此致、

    James

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

    您好 James、

    感谢您的指导。

    1) 1)我遵循  了选项1:    更改了 emeter-structs.h 中定义的以下宏

    #define SAMPLE_RATE 409   // 4096
    #define ADC_BITS 16.
    #define SAPESS_PER_10_seconds 4096ul   // 40960ul

    下面的代码部分已更改。 如果 有任何问题、请帮我解决。

    #IF 定义(MAIN_FREQUENCY 支持)
    /*对样本计数应用限制、以避免尖峰或电源线逐渐耗尽、从而干扰频率读数过多*/
    /*主电源应小于40Hz 或大于70Hz,以使此测试失败! *
    
    // if (256*SAMPS_PER_10_seconds/700 <= PHASE_>metal量 度量.cycle_sample_count && PHASE_metality.cycle_sample_count <= 256*SAMPS_PER_10_seconds/400)
    //更改为.....
    if (256*SAMPS_PER_10_seconds/70 <= PHASE_>metal量.cycle_SAMPLE_COUNT && PHASICLE->met量.cycle_SAMPLE_COUNT <= 256*SAMPS_PER_10_seconds/40)
    {
    
    }
    其他
    {
    phase -> metal量 度.cycle_sample_count = 0;
    } 

     我的应用可以接受电压和电流测量读数。但我观察到、反向电流检测在较低功耗下需要花费大量时间。 例如。 如果我想检测100瓦的反向电流,在注入105瓦时需要500毫秒,但如果注入大约200瓦,则检测到180毫秒。您能在这里指导我缩短检测时间吗?

    我已经改变了这个宏、认为它将减少时间。

    /*! 这是必须同意的连续测量块的数量

    反转的当前状态在我们接受它之前发生了变化。 *
    #define PHASE_REGAL_Persistence_CHECK  2  // 5

    2)  2)为什么  emeter-background.c 的 ADC ISR 例程中调用 log_parameters (phase)函数两次

    if (phase->metnationality.dot_prod.sample_count >= samples_per_sond) //完成的更改,希望获取数据@100毫秒
    {
    log_parameters (phase);
    _BIC_SR_IRQ (LPM0_Bits);
    /*当作为主机程序运行时,没有 RTC,但我们仍需要以某种方式启动前台。 */
    }
    
    
    一
    
    if (phase -> metal量 度.dot_prod.sample_count >=(samples_per_second + 200))//完成更改,希望获得@100ms
    的数据{
    /*我们似乎没有检测到电源周期的结束,因此没有检测到力
    处理块条件的结束。 *
    log_parameters (phase);
    _BIC_SR_IRQ (LPM0_Bits);
    } 

    我想删除第二 个 log_parameters (phase) 函数。它可以吗?

    谢谢、此致、

    ARS

     

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

    [引用 user="ARS"]

    1) 1)我遵循  了选项1:    更改了 emeter-structs.h 中定义的以下宏

    #define SAMPLE_RATE 409   // 4096
    #define ADC_BITS 16.
    #define SAPESS_PER_10_seconds 4096ul   // 40960ul

    下面的代码部分已更改。 如果 有任何问题、请帮我解决。

    [/报价]

    看起来是正确的。

    [引用 user="ars"> 我的应用可以接受电压和电流测量读数。但我观察到、反向电流检测在功耗较低的情况下需要花费大量时间。 例如。 如果我想检测100W 的反向电流,则注入105W 的电流需要500ms,但如果注入200W 的电流,则检测到180ms 的电流。您能在这里指导我缩短检测时间吗?[/引述]

    我假设您要通过更改 PHASE_REGAL_THRESHOLD_POWER 来调整该电平。 是否启用 power_balance_detection_support?

    还有 一个 power_balance_detection_support 可能会影响您的结果。 这些参数可能还需要 调整 PHASE_INDEAL_PONENT_CHECK。

     您是否将 NEL_MONITOR 支持定义为1?

    /*! 这是必须同意的连续测量块的数量
    不平衡状态在我们接受它之前发生了变化。 */
    #define PHASE_INGAL_persistence_check 5
    
    星! 这可以监控带电和中性点电流之间的平衡
    用于篡改检测。 */
    #define POWER_ALANGAND_DETECHNOT_SUPPLIC支持
    
    /*! 这是最小电流电平(跛行模式)和最小功率电平(正常)
    模式)、在该模式下、我们将检查接地条件。 非常小
    读数缺乏进行有意义的 FF 比较所需的精度和分辨率
    中性点之间的差异。 */
    #define PHASE_INGAL_THRESHOLD_CURRENT 500
    #define PHASE_INGAL_THRESHOLD_POWER 2000年 

    查看'emeter-forefore.c'、在检查"curry_Reversed"之前有一些代码。 该代码似乎取决于 NEUTRAL_MONITOR_SUPPORTING_SUPPORTY_POWER_Balance_DETECTENT_SUPPORT助 。

    #if 已定义(power_balance_detection_support)
    #IF 定义(single_phase)
    x = TEST_PHASE_Balance (x、y、PHASE_INBALING_THRESHOLD_POWER);
    其他
    x = TEST_PHASE_Balance (PHASE、x、y、PHASE_INBALING_THRESHOLD_POWER);
    #endif
    IF (((PHASE_>STATUS & PHASE_INBONGH))
    {
    /*当相位不平衡时,我们仅在中查找反向电流
    电流的情况下产生最大的电流。 如果我们不施加此限制、则耦合
    通过寄生 CT 电源变压器会导致反向情况
    不正确地升高。 如果没有寄生电源、则该测试可能是
    浪费时间。 *
    if ((阶段->状态& CURRENT_FENT_NEUTRAN))
    Reversed= phase -> status & I_nel_Reversed;
    其他
    Reversed= phase -> status & I_Reversed;
    }
    #endif 

    2为什么  emeter-background.c[/quot]的 ADC ISR 例程中调用 log_parameters (phase)函数两次?

    在输入频率超出40至70Hz 时、这被称为两次超时。 如果您不应用任何内容、第二次调用将更新结果(虽然可能只是噪声)。 这也适用于测量不具有频率或过零的直流信号。

    此致、

    James

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

    感谢 James 的支持!

    [引用 user="James Evans 的说法]我假设您要通过更改 PHASE_REGAL_THRESHOLD_POWER 来调整该电平。 是否启用 power_balance_detection_support?

    是的。 您是正确的。我已将宏值更改为50

    #define PHASE_REGAL_THRESHOLD_POWER        50 //已更改

    由于我没有检查任何不平衡、我还评论了以下内容。

    /*! 这可以监控带电和中性点电流之间的平衡
    用于篡改检测。 *

    //#define power_balance_detection_support

    我的结果是在代码中执行上述操作。

    /*! 这是必须同意的连续测量块的数量
    不平衡状态在我们接受它之前发生了变化。 *

    #define PHASE_INDEAL_persistence_check 5.

    但是、我在下面的代码中进行了更改  

    /*! 这是必须同意的连续测量块的数量

    反转的当前状态在我们接受它之前发生了变化。 *

    #define PHASE_REGAL_Persistence_CHECK  2  // 5

     

    [报价用户="James Evans"]您是否将 NEL_MONITOR 支持定义为1?[/QUERPLET]

    否 我的应用不需要中性监控或篡改检测。 因此、我没有对其进行定义

    #undef nel_monitor_support

    #define PHASE_UNBALANCED_THRESHOLD_CURRENT          500

    #define PHASE_UNBALANCED_THRESHOLD_POWER            2000


    [引用 user="James Evans 的值]如果输入频率在40至70Hz 范围之外、则调用两次作为超时。 如果您不应用任何内容、第二次调用将更新结果(虽然可能只是噪声)。 这在测量不具有频率或过零的直流信号时也适用。[/quot]

    好的。 注意到。 我曾观察到测量更新有相当长的延迟。 假设5 - 8秒。 测量输入时的电流。 例如、我注入了220V 交流测量输入、有时我停止了220VAC。 它应该在100-200毫秒内为零。 但有时我会看到、变为零需要5到8秒。可能的原因是什么?

    谢谢、此致、

    ARS

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

    尊敬的 James 和 TI 团队:

    除了我在上一篇文章中发表的几点意见之外,我想与大家分享在应用中也需要解决的问题。

    我喜欢根据超出设定可编程阈值的有功功率值采取措施。

    1。 例如,如果我将阈值设置为100瓦...并且在应用程序检查中,需要花费100瓦的时间。

    情况 A:我注入102瓦,代码大约需要520 - 540毫秒才能确定是否超过100瓦。这不符合要求。

    情况 b: 我注入250瓦,大约需要120 - 140 毫秒的代码来确定它是否超过100瓦。

    我怀疑在100毫秒内,当注入的功率仅为100瓦时,代码无法检测到100瓦的有效功率。 但它会检测注入的功率何时更高(情况 b)。 为解决此问题,需要对库代码进行哪些更改?

    2. 在下面的代码段中,请帮助我了解为什么在每个 ADC 中断中添加256?

    #IF 定义(MAIN_FREQUENCY 支持)
    
    phase -> metal量 度.cycle_sample_count += 256;
    
    #endif 

    感谢您的支持。

    此致、

    ARS

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

    尊敬的 James 和 TI 团队:

    我能否对上一篇帖子进行任何更新。但我仍然无法获得结果。

    感谢您在图书馆的帮助...尽管我知道 TI 已转向新的 EMDC。

    在 TI 网站上搜索时,我看到 了应用报告  SLAA638 :单相和直流嵌入式计量(功率监视器)
    MSP430I2040的使用 方法、该方法介绍 了... 对于 50Hz 信号、读数每4个交流周期更新一次、即80毫秒。 这与我的要求类似。 我认为与此注释相关的计量代码采用库文件格式。

    TI 能否为我使用的 MCU 器件提供类似行的库...或任何综合详细指南。

     

    谢谢、此致、

    ARS

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

    [引用 user="ARS]1。 例如,如果我将阈值设置为100瓦...并且在应用程序检查中,超过100瓦所需的时间。

    我不确定为什么检测时间之间存在差异。 遗憾的是、这些宏可能已作为参考实现、但并非在所有场景中都经过全面测试。 但是、我怀疑您设置的电平实际上是接近250W 而不是100W 的电平。 也许您可以降低电平、直到它在100ms 内触发。

    很明显、由于噪声、可能会有较低的限制、因此您可能会接近该点。 也许您可以以较低的电流校准您的系统、看看这是否会有所改善。 希望您使用的增益设置能够充分利用整个满量程范围。

    [引用 user="ARS]2.  在下面的代码段中,请帮助我了解为什么在每个 ADC 中断中添加256?

    该值取决于 OSR。 每个 ADC 样本之间有256 (预加载)步长。 在相位校准期间对齐电压和电流样本时、这一点很重要。

    关于另一个库、它们可能是类似的。 我不确定它们之间的区别是什么、但您可以通过一些 API 进行移植。

    是的、我们建议在新设计中采用 EMDC、因为设计中心使配置、校准和评估一切变得更容易。 此外、CCS 现在受免费使用的新库支持。

    此致、

    James