Part Number:LAUNCHXL-F28379DOther Parts Discussed in Thread:BOOSTXL-POSMGR, , C2000WARE
TI工程师,你好!我在做编码器实验时,用的板子是LAUNCHXL-F28379D(主频应该是200MHZ)和BOOSTXL-POSMGR,然后程序用的是TI例程,路径为D:\ti\c2000\C2000Ware_MotorControl_SDK_3_01_00_00\solutions\boostxl_posmgr\f2837xd。考虑到编码器通讯需要2.5MBPS的时钟频率。例程中有有关于2.5M的设置,其语句如下:
,
但是我发现只有当我把这里的20改为10 ,我用示波器测得的频率才是2.5MBPS,也就是说我的板子此时系统频率是100MHZ,比手册上说的200MHZ少了一半。不知道是什么原因,希望能得到解答,谢谢!
Susan Yang:
futian jishu 说:也就是说我的板子此时系统频率是100MHZ,比手册上说的200MHZ少了一半。
您是想设置200MHz的系统时钟?在例程内有如下定义,默认的系统时钟就是200MHz的系统时钟
您是如何测量的系统时钟呢?
// // 200MHz SYSCLK frequency based on the above DEVICE_SETCLOCK_CFG. Update the // code below if a different clock configuration is used! // #define DEVICE_SYSCLK_FREQ((DEVICE_OSCSRC_FREQ * 40 * 1) / 2)
,
futian jishu:
您好!我板子的系统时钟100MHZ,是我推算出来的,因为我把这里的20改为10 ,我用示波器捕捉到的波形才满足2.5MBPS。关于您发的语句:
#define DEVICE_SYSCLK_FREQ ((DEVICE_OSCSRC_FREQ * 40 * 1) / 2)我也看到了。但是感觉我现在的系统频率不是200MHZ,不懂哪里出了问题
,
Susan Yang:
您可以在CCS内调试一下,使用watch窗口看一下 DEVICE_SYSCLK_FREQ 的值
,
futian jishu:
您好!当我添加这个变量的时候,由于未定义数据类型,会出错
,
Susan Yang:
我之后拿板子看一下后给您回复
,
Susan Yang:
您可以使用下面的函数来获取系统频率
//***************************************************************************** // //! Calculates the system clock frequency (SYSCLK). //! //! \param clockInHz is the frequency of the oscillator clock source (OSCCLK). //! //! This function determines the frequency of the system clock based on the //! frequency of the oscillator clock source (from \e clockInHz) and the PLL //! and clock divider configuration registers. //! //! \return Returns the system clock frequency. If a missing clock is detected, //! the function will return the INTOSC1 frequency. This needs to be //! corrected and cleared (see SysCtl_resetMCD()) before trying to call this //! function again. // //***************************************************************************** extern uint32_t SysCtl_getClock(uint32_t clockInHz);
,
futian jishu:
好的,感谢您的耐心回答,谢谢!
,
Susan Yang:
不客气~也谢谢您对TI产品的支持