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.

[参考译文] TMS320F2800157-Q1:需要澄清具有6个样片的输入鉴定。

Guru**** 2546550 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1269064/tms320f2800157-q1-needed-clarification-for-input-qualification-with-6-samples

器件型号:TMS320F2800157-Q1

尊敬的 TI 专家:

场景:  

1、使用下面3个 GPIO 引脚与6样片输入限定:

GP A QSEL1.GPIO09 = 2; /*对于6个样本*/
GP A QSEL1.GPIO05 = 2;/*对于6个样本*/
GP B QSEL1.GPIO45 = 2;/*对于6个样本*/

2.应用如下 GPxCTRL[QUALPRDN]值:  

/*表示 GPIO 09和05 我必须选择  GP 的 QUALPRD1 A CTRL reg、用于设置采样窗口宽度*/
GP A CTRL.QUALPRD1 = 120;/* 2uSec  采样之间的时间*/  

/*表示 GPIO45 我必须选择下面的 QUALPRD1 GPBCTRL  用于设置采样窗口宽度的寄存器*/
GP B CTRL.QUALPRD1 = 120; /*  2U  采样之间的时间 */  

3.时钟速度为120MHz=8.33333333nSec

需要查询或澄清:  

1.此配置是否适用于 10uSec  采样窗口宽度,值120? 是/否?

  1. SO 之间的时间(6-1) 5 每个采样值为2uSec。

2.在我选择 GP 时 A CTRL.QUALPRD1和 GP B CTRL.QUALPRD1 reg、 此寄存器将采样窗口宽度时间设置为 10 μ s 实现 所有 GPIO 已分配给 GP、 A CTRL.QUALPRD1 寄存器和 GP B CTRL.QUALPRD1 寄存器  

  1. 所以、查询是->
    1. 这个10us 时间将应用于 GPIO 08至15 如果我在   GP 中设置120 A 控制 QUALPRD1 寄存器? 偶数在 GP 中 A QSEL1.GPIO0x = 2我 是否选择了 GPIO09和05作为6采样输入鉴定?
    2. 或者、该120/10us 对于6样本仅根据  GpioCtrlRegs.GPBQSEL1.GPIO09和 GpioCtrlRegs.GPBQSEL1.GPIO05的选择应用于 GPIO09和 GPIO05 ?  
  2. GPIO40至 GPIO47具有相同问题、  
    1. 这个 10us  时间将应用于 GPIO40至 GPIO47  如果我在  GPBCTRL 中设置120QUALPRD1 寄存器? 即使在 GpioCtrlRegs.GPBQSEL1 = 2中、我 是否已选择 GPIO45作为6采样输入鉴定?
    2. 或者、根据 GpioCtrlRegs.GPBQSEL1.GPIO45的选择、这个用于6样本的120/10us 只应用于 GPIO45
  3. 在  GP 中设置该值之后、 A CTRL.QUALPRD1到" GPIO_setQualificationPeriod (PINADDR、120)"、 为什么它显示为实际值的一半的60 (0x3C)?
    1. 为什么  GPIO_setQualificationPeriod (引脚、分频器); 函数有除法 分隔器/2?

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

请对此做出说明、并 告知我6采样窗口宽度的配置是否有问题。  

提前感谢  

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

    大家好、

    感谢您的提问。 请参阅器件 TRM 的"使用采样窗口的限定"部分。 下面介绍了选择特定采样窗口的完整过程:

    此致、

    文斯

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

    尊敬的 Vince Toledo:

    在发布我的问题之前、我已经检查了这个、

    实际上、我想交叉验证我在问题中提到的流程。

    让我知道我必须传递到的确切分频器  GPIO_setQualificationPeriod 驱动程序库函数

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

    请参阅下面有关如何计算 qualprd 寄存器值的细分信息、这可以解释除以2的原因:

    SAMPLEFREQ = fSYSCLKOUT × 1 ÷ (2 × GPxCTRL[QUALPRDn])
    
    SAMPLEFREQ/fSYSCLKOUT  = 1 ÷ (2 × GPxCTRL[QUALPRDn])
    
    fSYSCLKOUT/SAMPLEFREQ  = (2 × GPxCTRL[QUALPRDn])
    
    (fSYSCLKOUT/SAMPLEFREQ)/2  = GPxCTRL[QUALPRDn]

    有关 qualprd 计算器、请参阅附加的 Excel (未经测试、请自行验证它是否正常工作)。

    编辑:删除了带有不正确公式的 Excel 文件、以便其他人不会意外使用。

    此致、

    文斯

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

    在您的 Excel 工作表中,您提到样本数不是3和6,但它应该是(样本数-1)正确吗? 或者我必须采取6和3吗?  



    我对吗?

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

    大家好、

    感谢您的关注、已更正了下面的一处误差(保持3/6可见、并使公式表示-1)。

    e2e.ti.com/.../gpio_5F00_qual_5F00_period_5F00_qualprd_5F00_calculator_5F00_v1.xlsx

    此致、

    文斯

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

    那么、我必须给出的分频器的值是多少?  

    GPIO_setQualificationPeriod (PINaddr、240);  

    对吧? 如上所述、将其除以2。 因此我会得到寄存器中加载的实际值为120。

    请确认相同。  

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

    了解一下、

    " GPIO_setQualificationPeriod "为您完成所有的除法计算。 请参阅 GPIO.h 中的说明:

    //*****************************************************************************
    //
    //! Sets the qualification period for a set of pins
    //!
    //! \param pin is the identifying GPIO number of the pin.
    //! \param divider specifies the output drive strength.
    //!
    //! This function sets the qualification period for a set of \b 8 \b pins,
    //! specified by the \e pin parameter. For instance, passing in 3 as the value
    //! of \e pin will set the qualification period for GPIO0 through GPIO7, and a
    //! value of 98 will set the qualification period for GPIO96 through GPIO103.
    //! This is because the register field that configures the divider is shared.
    //!
    //! To think of this in terms of an equation, configuring \e pin as \b n will
    //! configure GPIO (n & ~(7)) through GPIO ((n & ~(7)) + 7).
    //!
    //! \e divider is the value by which the frequency of SYSCLKOUT is divided. It
    //! can be 1 or an even value between 2 and 510 inclusive.
    //!
    //! \return None.
    //
    //*****************************************************************************
    extern void
    GPIO_setQualificationPeriod(uint32_t pin, uint32_t divider);

    因此、在您的情况下、如果您需要将 GPxCTRL 周期加载到寄存器120中、那么是的、您可以为该值输入240。

      

    您之所以输入240、是因为它将 SYSCLK 除以240 == 500000Hz == 2us 周期。

      

    此致、

    文斯