工具与软件:
您好、专家们、
您能告诉我 QCLK 的实际值、它是单位位置事件频率时钟(MHz)
查看 driverlib 函数"eQEP_setCaptureConfig"说明:
//***************************************************************************** // //! Configures eQEP module edge-capture unit. //! //! \param base is the base address of the eQEP module. //! \param capPrescale is the prescaler setting of the eQEP capture timer clk. //! \param evntPrescale is the prescaler setting of the unit position event //! frequency. //! //! This function configures the operation of the eQEP module edge-capture //! unit. The \e capPrescale parameter provides the configuration of the eQEP //! capture timer clock rate. It determines by which power of 2 between 1 and //! 128 inclusive SYSCLKOUT is divided. The macros for this parameter are in //! the format of EQEP_CAPTURE_CLK_DIV_X, where X is the divide value. For //! example, \b EQEP_CAPTURE_CLK_DIV_32 will give a capture timer clock //! frequency that is SYSCLKOUT/32. //! //! The \e evntPrescale parameter determines how frequently a unit position //! event occurs. The macro that can be passed this parameter is in the format //! EQEP_UNIT_POS_EVNT_DIV_X, where X is the number of quadrature clock //! periods between unit position events. For example, //! \b EQEP_UNIT_POS_EVNT_DIV_16 will result in a unit position event //! frequency of QCLK/16. //! //! \return None. // //*****************************************************************************
在最后一行中、它说"例如、eQEP_UNIT_POS_EVNT_DIV_16将导致单位位置事件
QCLK/16的频率。"
但首先什么是 QCLK?
如果我按如下方式配置函数:
eQEP_setCaptureConfig (obj->qepHandle、eQEP_capture_CLK_DIV_128、eQEP_unit_POS_EVNT_DIV_32);
捕获计时器时钟将是 SYSCLKOUT/128、如果系统时钟是200 MHz、则这将是200/128 = 1.56 MHz。
但单位位置事件的频率是多少?
在 TRM 中我发现了这个,但它没有帮助计算 QCLK 的值。(除非它的意思是4 * 200 / 32 = 25 MHz ?)

亲切的帮助!


