嵌入式实操----基于RT1170 使能展频功能(二十七)
本文主要是通过迁移的思维,记录本人初次使用NXP MCUXpresso SDK API进行BSP开发
车载电子设备对EMC的要求比较高,本文主要讲述在RT1170上面,使能spread spectrum功有,通过对实钟进行展频配置,以得到良好的EMC效果。之前在RT1052上面有试过,但是使用的是周立功的aworks系统,本文在原生的SDK上面开启该功能。
参考文档:EMC design consideration on i.MXRT Series.pdf
1. 原理
本质上Spread spectrum 功能,通上如上两张图的比较,可以看出其本质就是降低某个频点上面的能量,以达到优化EMC的效果。
从RT1170的手册上面可以得出计算的公式:
在官方的手册上提供了参考值数值:
2. 软件设置
在clock_config.c当中做如下修改,开启12M展频功能。
$ git diff boards/evkmimxrt1170/display_examples/fbdev_freertos/cm7/clock_config.c
diff --git a/boards/evkmimxrt1170/display_examples/fbdev_freertos/cm7/clock_config.c b/boards/evkmimxrt1170/display_examples/fbdev_freertos/cm7/clock_config.c
index 2af4840e..57c4a4fc 100644
--- a/boards/evkmimxrt1170/display_examples/fbdev_freertos/cm7/clock_config.c
+++ b/boards/evkmimxrt1170/display_examples/fbdev_freertos/cm7/clock_config.c
@@ -258,13 +258,26 @@ const clock_arm_pll_config_t armPllConfig_BOARD_BootClockRUN =.loopDivider = 166, /* PLL Loop divider, Fout = Fin * ( loopDivider / ( 2 * postDivider ) ) */};+clock_pll_ss_config_t sysPLL2_ss_config =
+{+ .stop = 0x240,
+ .step = 0x6,
+};
+const clock_sys_pll2_config_t sysPll2Config_BOARD_BootClockRUN ={- .mfd = 268435455, /* Denominator of spread spectrum */
- .ss = NULL, /* Spread spectrum parameter */
- .ssEnable = false, /* Enable spread spectrum or not */
+ .mfd = 0x960, /* Denominator of spread spectrum */
+ .ss = &sysPLL2_ss_config, /* Spread spectrum parameter */
+ .ssEnable = true, /* Enable spread spectrum or not */};+//const clock_sys_pll2_config_t sysPll2Config_BOARD_BootClockRUN =
+// {+// .mfd = 268435455, /* Denominator of spread spectrum */
+// .ss = NULL, /* Spread spectrum parameter */
+// .ssEnable = false, /* Enable spread spectrum or not */
+// };
3. 验证
不开展频的效果:
开展频的效果:
4. 总结
1.可以通过官方的配置工具生成相关的代码:
2.说一下 12MHz 和 60KHz 这两个数值。
12MHz 是扩频信号带宽,60KHz是调制信号带宽,两者需满足 12M/60K = 200 > 100 的关系。
希望对各位读者帮助。
欢迎订阅
“嵌入式实操”一个分享开发实践经验的地方。
文章会同时发布到我的 CSDN主页、今日头条号 平台上。
嵌入式实操----基于RT1170 使能展频功能(二十七)相关推荐
- 嵌入式实操----基于RT1170 首板硬件之EEPROM AT24C16调试(十五)
本文主要是通过迁移的思维,记录本人初次使用NXP MCUXpresso SDK API进行BSP开发 前面调通了SDRAM Flash GPIO之后,接下来调试EEPROM AT24C16功能,硬件设 ...
- Python自学笔记6:实操案例三(十进制转换二、八、十六进制),手机充值,计算能量消耗,预测未来子女身高
Python自学笔记6:实操案例三(十进制转换二.八.十六进制),手机充值,计算能量消耗,预测未来子女身高 杨淑娟老师网课传送门(非广告):https://www.bilibili.com/video ...
- 从零实操基于WSL2 Docker部署Asp.Net Core项目
前言 平日在公司里都是基于阿里Teambition中的飞流进行Docker部署Api项目或服务,已经习惯了那一套成熟的操作流程,开发和部署确实快捷方便,但是还没在自己的电脑上进行操作过,特别是Wind ...
- frp(内网穿透)实操篇--映射远程端口(二)
frp(内网穿透)实操篇–远程电脑(二) 内网穿透的前提需要:一个拥有固定的ip地址的主机: 常规家用网络运营商都采用的是动态ip,ip随时在变化 我这里用到的是 腾讯云:大家有需要也可以购买. 新用 ...
- 游戏设计模式实操经验:游戏结算功能实现的两个要点
从事游戏行业1年多了,个中心酸不知从何说起.抛开非技术的不说,一个开发者需要面对的最大问题,可能就是和策划频繁改变的需求做斗争了吧,这时候就体现了设计模式的重要性,抛开正式的设计方式不说,先讲讲我1年 ...
- 个推0代码数据可视化实操 | 基于Tableau的中国奥运数据探索
8月8日,东京奥运会正式落下帷幕.经过17天的激烈角逐,中国代表团在本届奥运会上共斩获38金32银18铜,位居奖牌榜第二,追平了在伦敦奥运会取得的境外参赛最好成绩. 奥运会期间,奖牌榜上的每一次变动都 ...
- 如何浅显得理解风控模型中的特征筛选|附实操细节(全)
今天我们综合了星球同学的一些需求,给大家梳理了这样一篇风控建模中特征筛选,希望对所有的风控人员在模型开发上都有所启发. 本文,我们会跟大家介绍特征选择的内容,包括其中的重点问题跟注意的细节. 因为完整 ...
- 数字化风控全流程 实操课程V2.0 第三期
一:课程主题 数字化风控全流程 实操训练营V2.0 第三期 二:时间 7月中旬-8月中旬,课后还会有录制回放视频. 三:活动方式 1:线上远程直播培训 2:线下现场课程培训 四:简介 五:老师简介 此 ...
- MOOC TensorFlow入门实操课程代码回顾总结(三)
欢迎来到TensorFlow入门实操课程的学习 MOOC TensorFlow入门实操课程代码回顾总结(一) MOOC TensorFlow入门实操课程代码回顾总结(二) 注: 用于表示python代 ...
最新文章
- 【Java8】@FunctionalInterface
- 字符串中包含汉字和\u,显示出汉字来
- for循环一定要指定键么 vue_vue的for循环使用方法
- django ajax 简书,Django_ajax
- rabbitmq生产者基于事务实现发送确认
- 【数字逻辑设计】多级组合逻辑电路减少硬件
- 整理了vue2.0的思维导图
- 力扣 - 独一无二的出现次数 python解
- 如何正确的更换网站服务器?
- Java接口xss,Java审计之XSS篇
- 第 7 章 Neutron - 068 - Neutron 物理部署方案
- WORD里边替换所有中文
- git可视化工具——GitKraken
- html5趣味智力答题测试,10个趣味智力题及答案
- IMDB 2003.07.12 最新排名
- 如何使用数据分析客户购买意愿
- 130242014013+杨俊杰+第3次实验
- wps如何修改已经存在的目录标题内容?
- 了解Robocode
- 安科瑞油烟浓度在线监控仪在江苏省某县餐饮油烟监测治理项目中的应用