MCU模块系统时钟
1. Mcu模块通⽤配置
McuTimeout: 由于Mcu系统各时钟从开启到⽣效需要⼀定的时间,所以代码中定义⼀个超时时间作为各个时钟⽣效的最⼤时间,以避免在最⼤的时间范围内时钟未⽣效⽽导致Mcu内核死等,此数值 的时间⻓度为Mcu内核运⾏for循环周期。
McuEnableSchmSupport:是否开启临界段代码保护。标准的AutoSar应⽤必须要考虑各个函数的 可重⼊性,所以需要开启临界段代码保护。
1.1 在应⽤中如果有带OS系统,建议开启临界段代码保护功能
1.2 在应⽤中如果调度系统简单(如时间⽚形式的前后台调度),并且需要代码以⽐较⾼的执⾏效 率运⾏,在评估函数⽆可重⼊调⽤时,可以关闭临界段代码保护功能。
2 系统时钟配置
2.1 McuFxOSCClockConfig:外部Fxosc时钟配置
2.1.1 当系统应⽤当中使⽤的外部晶振时勾选McuFXOSCEnable和McuFXOSCUnderMcuControl选型
2.1.2 当系统使⽤有缘晶振或者外部时钟直接输⼊到XTAL引脚时使⽤ByPass模式, McuFXOSCByPassMode选项关联
2.1.3 当系统应⽤中需要进⼊低功耗模式(仅DeepSleep模式)时,根据应⽤需求使能或关闭FXOSC, McuFXOSCDeepSleepEnable选项关联
2.2 McuFIRCClockConfig:配置Mcu内部Firc相关使能选项
2.2.1 当系统应⽤中所使⽤的MCU外设模块不依赖于FIRC时才关闭FIRC时钟,McuFIRCEnable选项关 联,当关闭FIRC时,McuFIRCUnderMcuControl选项必须同时关闭
2.2.2 FIRC时钟属于MCU内部时钟,FIRC时钟频率由MCU型号决定,为固定值
2.2.3 当系统应⽤中需要进⼊低功耗模式(仅DeepSleep模式)时,根据应⽤需求使能或关闭FIRC,低功 耗模式下开启或关闭FIRC会影响Mcu低功耗电流,McuFIRCDeepSleep选项关联
2.3 McuSIRCClockConfig: 配置Mcu内部Sirc相关使能选项
2.3.1 SIRC属于MCU内部时钟,FIRC时钟频率由MCU型号决定,为固定值,默认开启
2.3.2 当系统应⽤中需要进⼊低功耗模式时,根据应⽤需求使能或关闭SIRC,SIRC在除Sleep模式下其他 各种低功耗模式下都可开启或关闭,低功耗模式下开启或关闭SIRC会影响Mcu低功耗电流
2.4 McuSXOSCClockConfig:外部Sxosc时钟配置
2.4.1 当McuSXOSCClockConfig前⾯的使能选项不勾选时,McuSXOSCClockConfig⻚⾯下的所有选项均 ⽆法配置
2.4.2 外部的SXOSC仅为RTC模块提供时钟源,⼀般应⽤中如果不使⽤RTC模块,外部Sxosc时钟配置可 不使能,即McuSXOSCClockConfig前⾯的使能选项不勾选
2.5 McuSystemPll:内部Pll时钟配置
2.5.1 当启⽤Pll时钟时,⼀般同时勾选McuSPLLEanble选项和McuSystemPllUnderMcuControl选项
2.5.2 可根据选择的Pll时钟源频率和所需要的Pll时钟输出频率计算McuSPLLInputClkPreDivider值和 McuSPLLMultiplier值
2.6 McuRunClock: 配置Mcu内核运⾏时钟,Fastbus总线时钟,Slowbus总线时钟
2.6.1 选择Mcu系统时钟源,关联选项McuSystemClockSwitch
2.6.2 输⼊CoreClock分频数,范围1~16,关联选项McuCoreClockDivider,点击⾃动计算CoreClock 频率,关联选项McuCoreClockFrequency
f(CoreClock) = f(SystemClock)/CoreClockDiv
2.6.3 输⼊FastBusClock分频数,范围1~16,关联选项McuFastBusClockDivider,点击⾃动计算 FastBusClock频率,关联选项McuFastBusClockFrequency
f(FastBusClock) = f(CoreClock)/FastBusClockDiv
2.6.4 输⼊SlowBusClock分频数,范围1~16,关联选项SlowFastBusClockDivider,点击⾃动计算 SlowBusClock频率,关联选项McuSlowBusClockFrequency
f(SlowBusClock) = f(FastBusClock)/SlowBusClockDiv
2.7 McuClockOut: 配置Mcu系统时钟输出到外部Pin脚
2.7.1 如果需要Mcu系统相关时钟输出到Mcu的外部pin脚,需要在Port模块中配置相应的pin
2.7.2 ⼀般当调试时或者Mcu需要给外设模块提供时钟时才需要系统时钟输出
2.7.3 McuClockOut分频数必须为偶数分频
3. McuPeripheralClockConfig: Mcu外设模块时钟配置
3.1.1 MCU初始化时该页面相关外设时钟配置项是否生效
3.1.2 外设模块选择
3.1.3 是否是能外设时钟
3.1.4 外设时钟源选择
3.1.5 外设时钟分配树设定
3.1.6 自动计算的外设时钟源频率
4. 应⽤场景
4.1 外部晶振频率20M,作为Pll时钟源,内核时钟配置到最⾼频率120M
4.2 使能内部FIRC,FIRC作为GPIO的时钟源,
4.3 使能SIRC,SIRC时钟输出到MCU硬件PIN脚