本文旨在介紹有關展頻的基本理論,以及如何為 RT 功能啟用此功能以增強 EMI性能。
二、 展頻介紹
窄頻信號具有集中的信號強度、以特定頻率為中心的尖銳窄峰的頻譜特徵,具有以下特性 :
- 信號頻寬占用的頻率範圍很窄
- 功率密度高
- 能量擴散低且集中
- 容易產生干擾
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
參考來源