PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل بردن LPC1768 به 100MHz



hopo
11-08-2012, 21:53
سلام دوستان... من تازه کارم

میخوام فرکانس کاری میکرو رو ببرم به 100 مگا هرتز .
با pll هم تلاش کردم ولی نشد...

1- مشکل اینکه که من چی جوری ببرم رو 100 مگا هرتز؟

2- چی جوری بفهمم که میکرو روی 100 مگ داره کار میکنه؟

ممنون میشم کمک کنید...

mzarkoob
11-08-2012, 22:59
سلام
به صورت معمول روی 100 مگ تنظیم شده است:

You can see links before reply

رابطه در یوزر منوآل است.

PLL_CLK=(2*MSEL*PLL_CLK_SRC)/NSEL
CCLK=PLL_CLK/CCLKSEL

hopo
12-08-2012, 00:02
ممنون دوست عزیز .....

فقط راهی هست که بدون اسیلوسکب بتونم ببینم میکرو داره رو 100 مگ کار میکنه یا نه... ممنون

mzarkoob
12-08-2012, 00:26
اصلا فکر کنم با اسکوپ هم نمی تونید این فرکانس را مشاهده کنید! مثلا می خواهید به کدام پایه میکرو اسکوپ را وصل کنید که که 100 مگ را بهتون بده ii998) این فرکانس داخلی هست.

Aghaeifar
12-08-2012, 06:12
تنها کار جهت مطمئن شدن خوندن رجیسترهای مربوط به PLL و مقسم ها و سپس محاسبه ی فرکانس است.
به سخت افزار خارجی هم می تونی یک جور ازمایش برای خودت بسازی. مثلا فرض کن اول 100 مگ کلاک cclk هست حالا بیا بر حسب این فرکانس و مقسیم های پیش رو با تایمر یک موج 1 کیلوهرتز تولید کن. حالا این رو با اسکوپ ببین دقیقا 1 کیلو هست یا نه.

esi_52000
12-08-2012, 12:10
سلام .یه راه عالی وجود داره .اونم استفاده از تایمر هستش.
به این صورت که با در نظر گرفتن فرکانس 100مگ تایمر رو طوری برنامه ریزی کنین که مثلا بعد 1 ثانیه وضعیت یه پایه از میکرو رو toggle کنه . بعد ببینین در عمل این پین توی یک ثانیه وضعیتش عوض میشه یا نه .این روشی هستش که من خودمم استفاده میکنم

hopo
12-08-2012, 14:15
یه سوال.. من یک تابع Delay ساده نوشتم که حلقه for توش هست.......

اگه کرسیتال 12 مگ استفاده کنم, اگه حلقه for تابع delay از 1 تا 12 هزار میشمرد, تقریبا یک ثانیه میشد, که درست....
کریستال 24 مگ, حلقه for رو از 1 تا 24 تغییر دادم, بازم شد یک ثانیه... بازم درست...

ولی وقتی PLL استفاده میکنم.. میبرم به 100 مگ, حلقه رو از یک تا 100 هزار میزارم, یک ثانیه نمیشه, بیشتر میشه... شمارنده با فرکانس کریستال میشماره...
جرا؟

esi_52000
12-08-2012, 14:45
یه سوال.. من یک تابع Delay ساده نوشتم که حلقه for توش هست.......

اگه کرسیتال 12 مگ استفاده کنم, اگه حلقه for تابع delay از 1 تا 12 هزار میشمرد, تقریبا یک ثانیه میشد, که درست....
کریستال 24 مگ, حلقه for رو از 1 تا 24 تغییر دادم, بازم شد یک ثانیه... بازم درست...

ولی وقتی PLL استفاده میکنم.. میبرم به 100 مگ, حلقه رو از یک تا 100 هزار میزارم, یک ثانیه نمیشه, بیشتر میشه... شمارنده با فرکانس کریستال میشماره...
جرا؟

وقتی حلقه for میخواد کامپایل بشه خودش به چنتا دستور اسمبلی تبدیل میشه .پس شما از 1 تا 100 میلیون رو بشمری عملا باید 4 تا 5 ثانیه و حتی بیشتر طول بکشه.

behnam6500
10-10-2012, 14:33
دوستان برای تنظیم فرکانس، این پنجره برای برنامه keil هست؟ اگه اره از کجا میاریدش؟

نتونستم پیداش کنم!

You can see links before reply

mzarkoob
10-10-2012, 22:32
سلام
قبلا ذکر شده این را فایل system_LPC17xx.c را باز می گنید در پایینش گزینه configuration wizard

gangi
10-10-2012, 23:19
KEIL

1-
Project->option for ...->Debug
tik : use simulator

2-
بعد از کامپایل

3-
Debug->Start/Stop Debug Session

4-
Peripheral->Clocking & power control-> Clock Generation Schematic

در آن تصویر وضعیت کلاک را مشاهده می کنید.