EFR32 晶振电容设置
_SILICON_LABS_32B_SERIES_2 (EFR32MG21)系列芯片可以设置电容值的地方有3处。
这里只说高速晶振的,低速晶振类似
#define USERDATA_TOKENS 0x1000
第1处( A ):
#define MFG_XO_TUNE_LOCATION (USERDATA_TOKENS | 0x070) // 2 bytes
第2处( B ):
#define MFG_CTUNE_LOCATION (USERDATA_TOKENS | 0x100) // 2 bytes
第3处( C ):.hwconf文件
生效顺序:A > B > C
所以如果同时设置了A、B、C三处,生效的是A。
代码逻辑:
#if defined(BSP_CLK_HFXO_CTUNE) && (BSP_CLK_HFXO_CTUNE >= 0)#if defined(_SILICON_LABS_32B_SERIES_2)hfxoInit.ctuneXiAna = BSP_CLK_HFXO_CTUNE;hfxoInit.ctuneXoAna = BSP_CLK_HFXO_CTUNE;#elsehfxoInit.ctuneSteadyState = BSP_CLK_HFXO_CTUNE;#endif // series 2#endif // BSP_CLK_HFXO_CTUNE#if defined(_SILICON_LABS_32B_SERIES_2)uint8_t customSteadyCtuneXi;uint8_t customSteadyCtuneXo;uint16_t customSteadyCtuneToken;// check factory calibrated ctune valueif (halInternalGetModuleCtuneXiXo(&customSteadyCtuneXi, &customSteadyCtuneXo)) {hfxoInit.ctuneXiAna = customSteadyCtuneXi;hfxoInit.ctuneXoAna = customSteadyCtuneXo;}// otherwise check for ctune in mfg tokenelse if (halInternalGetCtuneToken(&customSteadyCtuneToken, &customSteadyCtuneToken)) {hfxoInit.ctuneXiAna = (uint8_t)customSteadyCtuneToken;hfxoInit.ctuneXoAna = (uint8_t)customSteadyCtuneToken;}#elseuint16_t customSteadyCtuneModule;uint16_t customSteadyCtuneToken;// check factory calibrated ctune valueif (halInternalGetModuleCtune(&customSteadyCtuneModule)) {hfxoInit.ctuneSteadyState = customSteadyCtuneModule;}// otherwise check for ctune in mfg tokenelse if (halInternalGetCtuneToken(&customSteadyCtuneToken, &customSteadyCtuneToken)) {hfxoInit.ctuneSteadyState = customSteadyCtuneToken;} else {// satisfy MISRA 15.7}#endif // series 2CMU_HFXOInit(&hfxoInit);
EFR32 晶振电容设置相关推荐
- STM32F103VBT6 使用16M晶振和8M晶振 RCC设置有何不同?
STM32F103VBT6 使用16M晶振和8M晶振 RCC设置有何不同? 原来使用8M的晶振,设置如下,通讯发送数据正常 RCC_PLLConfig(RCC_PLLSource_HSE_Div1, ...
- stm32启用内部晶振(stm32设置外部晶振)
STM32中的晶振电路有什么作用 stm32 有两个可接入的外部晶振,自己内部也有低俗的晶振.举个例子,手册也有说明低速主要给RTC使用了,高速是给一些外设及内核提供时钟元,内部的主要是给看门狗用或 ...
- 让Atmega8A-PU 支持外部晶振的熔丝设置
这段时间搞了个arduino玩,感觉买的板子不过瘾,照着网上的教程折腾Arduino最小系统,过程非常曲折,现将部分内容总结记录下来,以备日后查阅. 参考文章:Arduino 1.0--让最小系统更简 ...
- STM32的晶振,时钟稳定性要重视
最近看了不少网上网友的应用案例,在STM32晶振问题上不少都栽了跟头.我自己也碰见过一次.就是电容值搞错了. ourdev有网友说:他的设备隔几天系统就出问题,系统时钟变慢. ------------ ...
- Multisim 晶振设置频率详解
我们在用Multisim的时候,提供给我们用的晶振只有固定的几种频率,是不能随意修改的.像在单片机中要用12Mhz的晶振的时候怎么办呢.先双击晶振,打开编辑. Multisim里面的真实晶体没有12M ...
- 晶振噪声及杂散_晶振如何匹配电容看了就知道
描述 一.什么是晶振 了解晶振之前,我们先来看一下我们最为熟悉的51单片机,我们都知道51单片机最小系统包括供电电源.复位电路以及晶振系统. 这是CPU能跑起来的最基本条件.由此我们可以看到晶振在电路 ...
- 晶体(crystal、无源晶振)两端电容取值计算
数字电路中往往会需要一个时钟源,常用的比如晶体振荡器(oscillator.有源晶振).晶体(crystal.无源晶振)等,一般晶体用的更多些.对于晶体来说,一般电路设计时会在晶体两端各接一个电容到地 ...
- 晶振两端的谐振电容有特殊要求吗_干货 | 晶振电路设计诀窍
在单片机中晶振是普遍存在的.晶振为什么如此必要,原因在于单片机能否正常工作的必要条件之一就是时钟电路.晶振好比单片机的心脏,如果没有心脏起跳,单片机无法工作.当然,电子电路设计并非速度越快越好,实际上 ...
- 晶振两端的谐振电容有特殊要求吗_“吃瓜群众”也能秒懂的晶振电路原理
原标题:"吃瓜群众"也能秒懂的晶振电路原理 晶振,全称是石英晶体振荡器,是一种高精度和高稳定度的振荡器.通过一定的外接电路来,可以生成频率和峰值稳定的正弦波. 而单片机在运行的时候 ...
- 为什么 战舰stm32f103开发板32.768k晶振没有接电容
主要是方便起振,ST的RTC晶振特难振,不焊接这两个电容,起振率高一点 转自: http://www.openedv.com/forum.php?mod=viewthread&tid=737 ...
最新文章
- ACdream1032(树形DP)
- codeforces Gargari and Permutations(DAG+BFS)
- VMware vSphere 虚拟化简介
- Spring如何解决循环依赖问题
- ESP8266在线视频网址
- Kubernetes学习总结(14)—— Kubernetes 实用命令总结
- stylelint 规则
- @service注解_SpringBoot最最最常用的注解梳理
- Linux学习笔记018---Centos7 下安装JDK1.8
- 老程序员也搞不定的 4 个巨坑!
- qt调用import sys库_QTCreator调用动态库实例
- 35岁不是职场的终点,而是人生的起点
- python监控钉钉群消息_使用python对mysql主从进行监控,并调用钉钉发送报警信息...
- 神经网络的BP算法推导详解
- linux安装vim不成功,centos安装vim失败解决
- abaqus中python怎么建立参考点_怎么在abaqus中选定中心为参考点
- 数据挖掘实战 —— 泰坦尼克号
- java 电子签章 开源_java操作pdf制作电子签章 - CSDN博客
- 实现DevOps的三步工作法
- python 文件读取