S12 XEP100 Clock Speed Math

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

S12 XEP100 Clock Speed Math

ソリューションへジャンプ
849件の閲覧回数
overclocker123
Contributor II

Hello,

My company is using an S12 XEP100 General Purpose Eval Board (S12XE General Purpose Evaluation Board | NXP Semiconductors). We have increased the clock speed by turning on the PLL and adjusting the respective register settings. Our settings are as follows:

SYNR = 0xD8

REFDV = 0x01

POSTDIV = 0x01

Attached is a picture of the math based on these settings, but the summary is that we expect the bus clock to be 25MHz. However, when using a scope on Port PE4 with the ECLK enabled, we see a bus clock of 50MHz, double the expected.

The only working theory that we have is that Fosc is actually 8MHz instead of the 4MHz from the crystal. Is there something else that we missed? Any thoughts?

Thank you

タグ(2)
0 件の賞賛
1 解決策
806件の閲覧回数
lama
NXP TechSupport
NXP TechSupport

Hi,

this MCU is from older set which enables you to check oscillator in special mode.

So easily, if you connect BDM to it and starts the MCU in special single chip mode (SSM) - standard debugging process when the MCU stops and waits for BDM command from the PC. In this case ECLKCTL_NECLK is set to 0 after reset which means you are able to check the OSCCLK/2 frequency at PE4 pin.

(Another approach to set the SSM is reset the MCU with pins MODC=MODB=MODA=0)

One more thing, could you please chceck whether you accidentally do not write PLLSEL=1 before you change PLL setup registers and/or you do not have already PLL set somewhere else in the code in some forgotten routine which sets the PLLSEL to 1 (start12.c,....) .

Best regards,

Ladislav

元の投稿で解決策を見る

0 件の賞賛
4 返答(返信)
807件の閲覧回数
lama
NXP TechSupport
NXP TechSupport

Hi,

this MCU is from older set which enables you to check oscillator in special mode.

So easily, if you connect BDM to it and starts the MCU in special single chip mode (SSM) - standard debugging process when the MCU stops and waits for BDM command from the PC. In this case ECLKCTL_NECLK is set to 0 after reset which means you are able to check the OSCCLK/2 frequency at PE4 pin.

(Another approach to set the SSM is reset the MCU with pins MODC=MODB=MODA=0)

One more thing, could you please chceck whether you accidentally do not write PLLSEL=1 before you change PLL setup registers and/or you do not have already PLL set somewhere else in the code in some forgotten routine which sets the PLLSEL to 1 (start12.c,....) .

Best regards,

Ladislav

0 件の賞賛
800件の閲覧回数
overclocker123
Contributor II

Thanks for your advice. I was able to connect to the BDM and read the OSSCLK/2 as 4MHz, putting OSSCLK at 8MHz. This confirms our theory that the OSSCLK is double the physical crystal frequency on our board. (And thankfully no, I did not have any errant settings of the PLL registers)

 

 I think we are all set now, thank you again for all your help!

0 件の賞賛
827件の閲覧回数
lama
NXP TechSupport
NXP TechSupport

Hi,

Your calculation is ok. You can check it with calculator:

https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12X-PLL-Filter-Calculator/ta-p/1125313

Download  S12XE_iPLL_Calc_103.exe from attachments at the page

 

It would be good to check whether the oscillator uses the first harmonics. Also it is good to be sure the load capacitance is correctly calculated. For Pierce circuitry the load capacitors must be  C1=C2 > 2*CL where CL is a load capacitance of the oscillator provided in the oscillator data sheet.

 

Finally, be sure you really measure ECLK and not ECLKX2..... (I know you wrote PE4 but it already happened that HW eng. accidentally connected to the check pin ECLKX2)

(Note, there are some examples from my history at https://community.nxp.com/t5/S12-MagniV-Microcontrollers/LAMA-s-S12XE-unofficial-examples/ta-p/11007...  )

 

Best regards,

Ladislav

0 件の賞賛
809件の閲覧回数
overclocker123
Contributor II

Ladislav,

Thank you for the information.

I would assume that the load capacitance is correctly calculated as we are using an evaluation board as sold by NXP with no modifications. Your suggestion about the first harmonic is intriguing though. How would I go about checking that? 

 

And thank you for all your example code, I have used it as a reference for a couple projects.

 

Kind regards,

Kyle

0 件の賞賛