完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
XMC1400 系列内部有一个 48MHz 的高速时钟(DCO1)和一个 32.768kHz 的低速时钟(DCO2)。另外芯片支持外部输入一个高速时钟 OSC_HP 以及低速时钟 OSC_LP. OSC_HP和 DCO1 通过选择器成为 Double 的输入,经过 Double 变为 DCLK。一般情况下,可以选择DCO1 通过选择器成为 Double 的输入,再 2 倍频后变为 96MHz 的 DCLK。而外部的OSC_HP 用来校准内部的 DCO1,另外 OSC_HP 用来给 CAN 模块提供源时钟。
OSC_HP 外部输入范围为 4~20MHz, 因此如果用它来作为 DCLK,DCLK 范围为 8~40MHz,而 DCLK 通过 2 分频后变为 MCLK, 因此如果用 OSC_HP 作为 MCU 主时钟源,MCU 主时钟最大只能到 20MHz.在工程中的 system_XMC1x00.c 文件的 SystemInit()函数中初始化系统时钟。上电复位后,PCLK=MCLK=8MHz, 通过 SystemInit()选择内部 DCO1 作为 DCLK,初始化PCLK=96MHz, MCLK=48MHz. 也就是说 DCLK 通过 Fractional divider(IDIV=1, FDIV=0)后,直接作为 PCLK,然后通过 1/2 分频后作为 MCLK。这个需要注意的是,PCLK 作为源时钟的外设有 CCU8, POSIF, CCU4, MATH, BCCU,因此这些外设的时钟是 96MHz。而其他外设均有 MCLK 提供时钟,因此外设时钟是 48MHz 的。MCLK 为 CPU 提供时钟。另外 CAN 模块由于对时钟精度较高,由外部 OSC_HP 直接提供时钟。 |
|
|
|
使用外部晶振时,首先需要将晶振连接到MCU的相应引脚。对于XMC1404,其外部晶振连接到MCU的输入引脚,即X1和X2引脚。
接下来,需要在MCU的代码中进行相应的配置以使用外部晶振。具体步骤如下: 1. 在代码中包含相关的头文件。 ```c #include ``` 2. 配置晶振的时钟源和分频系数。根据晶振的频率和MCU的要求,设置相应的分频系数。例如,对于20MHz的晶振,分频系数可设置为1。 ```c XMC_SCU_CLOCK_SetExternalCrystalFrequency(20000000); XMC_SCU_CLOCK_StartExternalCrystal(); XMC_SCU_CLOCK_SetSystemClockSource(XMC_SCU_CLOCK_SYSCLKSRC_PLL); XMC_SCU_CLOCK_SetPllClockSource(XMC_SCU_CLOCK_PLLCLKSRC_EXTERNAL); XMC_SCU_CLOCK_SetPllClockDivider(1, 2); XMC_SCU_CLOCK_StartPll(1, 2); XMC_SCU_CLOCK_SetSystemClockDivider(1); XMC_SCU_CLOCK_SetCcuClockDivider(1); ``` 3. 配置MCU的PLL以使用外部晶振。根据MCU的手册,设置PLL的相应参数。例如,对于XMC1404,设置PLL的分频器和乘数以获取所需的系统时钟频率。 ```c XMC_SCU_PLL_CONFIG_t pll_config = { .p_div = 1, .n_div = 80, .k_div = 4 }; XMC_SCU_CLOCK_EnableUsbPll(); XMC_SCU_CLOCK_StartUsbPll(); XMC_SCU_CLOCK_StartPll(XMC_SCU_CLOCK_PLL_USB, &pll_config); XMC_SCU_CLOCK_SetUsbClockDivider(1); XMC_SCU_CLOCK_SetUsbClockSource(XMC_SCU_CLOCK_USBCLKSRC_USBPLL); ``` 4. 在代码中配置所需的时钟源和分频系数。根据需求,选择使用PLL生成的时钟。 ```c XMC_SCU_CLOCK_SetSystemClockSource(XMC_SCU_CLOCK_SYSCLKSRC_PLL); ``` 以上步骤是实现XMC1404使用外部20MHz晶振的基本流程。请注意,具体的配置需要根据MCU的手册和使用的开发工具进行相应的调整。 希望对您有所帮助! |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
494 浏览 0 评论
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
1050 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1151 浏览 0 评论
887 浏览 0 评论
928 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11843 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-2 15:00 , Processed in 0.694983 second(s), Total 44, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号