【NXP i.MX RT1170 技術手冊】- 如何在 RT 系列上開啟展頻

一、 前言

展頻是一種將傳輸信號的頻譜轉換為比其原始頻寬更寬的通信技術,以避免電波干擾或被攔截,目前廣泛用於無線通訊領域。 當系統的 clock 工作時,脈衝的峰值會產生電磁干擾(EMI),利用展頻技術可以降低或抑制因頻率所產生的電磁干擾,提高系統穩定性。 

本文旨在介紹有關展頻的基本理論,以及如何為 RT 功能啟用此功能以增強 EMI性能。


二、 展頻介紹

1. 窄頻信號 ( Narrow-band signal )

窄頻信號具有集中的信號強度、以特定頻率為中心的尖銳窄峰的頻譜特徵,具有以下特性 :

- 信號頻寬占用的頻率範圍很窄
- 功率密度高
- 能量擴散低且集中
- 容易產生干擾




2. 展頻信號 ( Spread Spectrum Signals )

展頻信號是將傳輸訊號的頻譜 ( spectrum ) 打散到較其原始頻寬更寬的一種技術,具有以下特性 :


- 信號頻寬占用很寬的頻率範圍
- 功率密度很低
- 能量分布廣




若對電子裝置的時脈做展頻,也就是刻意在時脈信號 ( Clock signal ) 中加入抖動 ( jitter ),

則可以將特定造成電磁干擾的能量由特定頻率打散,進而減輕其干擾程度。

以下將介紹如何在 i.MX RT 的系統上做 clock 的展頻設定。


三、 展頻配置

下列是i.MX RT 系列,支援展頻的 PLL。



RT 系列的展頻,主要是調變時脈訊號的頻率,造成時脈訊號的能量,分散到一個可以控制的小範圍內開啟展頻時,需要做 Spread Range 和 Spread Step 的這兩個設定。


Spread Range 是指由 PLL 的頻率開始,向下擴展的頻率範圍。

例如 : 12 MHz Spread Range 意味著 PLL 的頻率將在 "目標頻率" 和 "目標頻率 - 12 MHz" 之間反復。



Spread Step 是指頻率變化 STEP 的大小。


以下是 Spread Range 與 Spread Step 的計算公式:

Spread Range = stop / mfd × Fref

Spread Step = step / mfd × Fref          ( Fref is the PLL Reference Frequency sourced from 24MHz )

*stop 為 16 bit 資料長度
*step 為 15 bit 資料長度
*mfd 為 31 bit 資料長度


以 PLL528 為例,假設我們對系統的 PLL528 開啟展頻,並設定在 528MHz 和 516MHz 之間回掃,回掃的 Spread Step 為 60 KHz。

將 Spread Range 與 Spread Step 帶入公式

Spread Range = 12MHz = stop / mfd × 24MHz

Spread Step = 60KHz = step / mfd × 24MHz


建議將公式上的 mfd 設定成 0x960,24MHz 除以 mfd 後可以得到 10KHz 的基準 

再以 Spread Range 與 Spread Step 分別除以 10KHz 可以得到 stop 與 step

Spread Range = 12MHz = stop / 0x960 × 24MHz,  stop = 0x480

Spread Step = 60KHz = step / 0x960 × 24MHz,  step = 0x6


從以上算式推算後,可以得到

stop = 0x480
step = 0x6
mfd = 0x960


在 clock_config.c -> sysPll2Config_BOARD_BootClockRUN 進行配置。




將計算出的 mfd、stop 及 step 數值填進結構中,並將 ssEnable 開啟。




當初始化 PLL 時,展頻功能會同時配置。當開啟 PLL,展頻功能會同時開啟。


四、 展頻測試

在 EMI 測試中,未開啟展頻時,本來一些能量較高的頻段,在經過展頻後 db 值有效地改善

1. Normal



2. 12MHz Spread spectrum




五、 參考資料

1. i.MX RT1170 Processor Reference Manual

2. AN12879 - How to Enable Sparead Spectrum for RT Family

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能