Spread spectrum (RF Desense) on i.MX53

cancel
Showing results for 
Search instead for 
Did you mean: 

Spread spectrum (RF Desense) on i.MX53

Jump to solution
634 Views
mfuzzey
Contributor I

Hi,

I have enabled spread spectrum on the i.MX53 for DPLL2  for EMC reasons.

This does reduce the RF emissions but I am now observing clock drift (9 seconds in 10 minutes)

Running mainline linux 3.13 or 3.16 with custom patch to configure spread spectrum.

The nominal PLL frequency is 400 MHz

The spread spectrum parameters being used are:

MFD=383

MFI=8

MFN_MIN=352

MFN_MAX=-96

PDF=2

fREF=24MHz

Toggle count = 10

According to the calculations that should give a frequency switching between 372 MHz and 428 MHz (the average being exactly 400 MHz)

So,  I would not expect this to affect the system timer stability but it does:

Set time and Synchronize system and RTC:

# date -s "2014-07-31 14:11:00"; hwclock -w

Thu Jul 31 14:11:00 UTC 2014

Display initial time

# date;hwclock -r

Thu Jul 31 14:11:05 UTC 2014

Thu Jul 31 14:11:06 2014  -0.382017 seconds


Wait 10 minutes, measured from time set (so should be 14:21:00)

Re read times

# date;hwclock -r

Thu Jul 31 14:20:51 UTC 2014

Thu Jul 31 14:21:01 2014  -0.807810 seconds

So RTC has advanced 10 minutes as expected but system clock (based on i.MX53 GPT) only 9mins 51 seconds

The problem no longer occurs without spread spectrum activated.

Any ideas?

Has anyone else tried this?

Regards,

Martin

Labels (2)
0 Kudos
1 Solution
284 Views
CommunityBot
Community Manager
This an automatic process.

We are marking this post as solved, due to the either low activity or any reply marked as correct.

If you have additional questions, please create a new post and reference to this closed post.

NXP Community!

View solution in original post

0 Kudos
2 Replies
285 Views
CommunityBot
Community Manager
This an automatic process.

We are marking this post as solved, due to the either low activity or any reply marked as correct.

If you have additional questions, please create a new post and reference to this closed post.

NXP Community!

View solution in original post

0 Kudos
284 Views
igorpadykov
NXP TechSupport
NXP TechSupport

Hi Martin

reason may be that usually from PLL2 are derived all bus/ddr clocks:

at least this is done in Freescale BSPs: L2.6.35_11_09_ER_SOURCE

That is 400MHz is allowable max. PLL2 value, since for example DDR2 max.

frequency is 400MHz, AXI_A,AXI_B - max. 400MHz (also derived from PLL2),

check Table 7-5 IMX53RM i.MX53 Reference Manual.

I am not sure about mainline linux 3.13 or 3.16 with custom patch,

but if this is so, this [PLL2 frequency switching between 372 MHz and 428 MHz]

may violate almost all processor specifications.

Another very interesting point is "SW bus frequency driver"

arch/arm/mach-mx5/bus_freq.c, description may be found in

Chapter 22 "Software Based Peripheral Domain Frequency Scaling"

IMX53_1109_LINUXDOCS_BUNDLE

This driver is also swinging bus clocks - and it assumes that nobody,

except him, is changing bus clocks.

Best regards

chip

0 Kudos