龙空技术网

嵌入式实操----基于RT1170 使能展频功能(二十七)

嵌入式实操 180

前言:

今天同学们对“周立功使用教程”大概比较关心,咱们都想要分析一些“周立功使用教程”的相关资讯。那么小编在网摘上搜集了一些关于“周立功使用教程””的相关资讯,希望大家能喜欢,咱们一起来了解一下吧!

本文主要是通过迁移的思维,记录本人初次使用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.cdiff --git a/boards/evkmimxrt1170/display_examples/fbdev_freertos/cm7/clock_config.c b/boards/evkmimxrt1170/display_examples/fbdev_freertos/cm7/clock_config.cindex 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主页 嵌入式实操的博客_CSDN博客-06--Am335x,05-RT1170 开发,01--RT1052 Aworks 开发领域博主、今日头条号 平台上。

标签: #周立功使用教程