PDA

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



sina6688
20-03-2015, 02:56
سلام یه سوال در مورد فرکانس کار میکرو داشتم

به فرض وجود کریستال خارجی 18.432 برای میکرو و با تنظیم رجیسترها برای بدست آوردن فرکانس PLL روی 55 مگاهرتز، آیا این فرکانس تولیدی فرکانس اجرای دستورات هم هست یا کاربردش فقط برای مدارات جانبی هست؟

چون یک چشمک زن نوشته بودم اما احساس میکردم سرعت چشمک زدن آن متناسب با فرکانس 55 مگاهرتز نیست و خیلی کمتره شاید بین ده تا بیست مگاهرتز. ولی طبق محاسبه فرکانس بالا بود و حتی کمی بیشتر از اون مدار احتمالا بخاطر فرکانس بیش از حد از کار می افتاد.

میکرو at91sam7x256
با تشکر

sadeghbakhshi
20-03-2015, 03:03
You can see links before reply

sadeghbakhshi
20-03-2015, 03:08
You can see links before reply

esisafa
20-03-2015, 15:23
در اتمل میشه فرکانس cpu رو از فرکانس اصلی تقسیم کرد. همچنین میشه با فرکانس اصلی برابر گرفت. اگر فرکانس اصلی رو 55 مگ تنظیم کردید و بخواهید cpu هم با همین سرعت کار کنه نباید کلاک سی پی یو رو تقسیم کنید.

sina6688
20-03-2015, 23:56
متشکرم
کدوم متغیر مرتبط با تقسیم فرکانس سی پی یو هست؟

کدهایی که من داده بودم اینها هستند :
*AT91C_CKGR_MOR=0x00000701;
*AT91C_CKGR_PLLR=0x006A0845;
*AT91C_PMC_MCKR=0x00000003;

فرکانس خارجی انتخاب شده.
پی ال ال محاسبه شده.
خط سوم، prescaler مقدارش 1 هست و pll انتخاب شده.


غیر از اینها چیز دیگری لازم است که تنظیم بشه؟

sina6688
21-03-2015, 13:31
سلام
اول اینکه من ارم اتمل کار نکردم
ولی چندتا چیز هست که باید بدونید
اول اینکه حداکثر سرعت gpio چقدر هست؟
دویم اون فرکانس باز هم تقسیم میشه یا نه
سوم دستوراتتون توی چندتا سیکل اجرا میشه
و در اخر اگر اشتباه نکنم سرعت رم یا فلش میکروهای اتمل از این مقدار کمتر هست یعنی سرعت پردازش رو محدود میکنه
توی سایت همسایه یه تاپیک بود که مفصل سر این موضوع بحث کرده بودن

سلام فکر میکنم به همین موضوع فلش وابسته باشه
You can see links before reply
چون توی تنظیمات جادوگر یه جا گزینه هایی برای اینکه خوندن و نوشتن توی چند سیکل انجام بشن بود که وقتی برش میداشتم میکرو قفل میشد .
به لینکی که میگید سر میزنم تا ببینم مشکل حل میشه یا نه.

تشکر.

sina6688
21-03-2015, 15:02
من تیک مربوط به خوندن و نوشتن فلش رو برداشتم و یا به یک سیکل کاهشش دادم . فرکانس رو کم کردم با توجه به شکل زیر تا قفل نکنه.فقط از تنظیمات جادوگر استفاده کردم.
You can see links before reply
این تصویر مربوط به حلقه while در خط 104 هست . 10 تا سیکل اسمبلی دقیقا اجرا میشن. و تا 10 میلیون هم متغیر رو باید بشماره.
You can see links before reply


یعنی حدود 100 میلیون خط اسمبلی رو در تقریبا 7 ونیم ثانیه میشماره؟!
وقتی روی فرکانس خارجی اصلی 18.432 هم میذارم میشه حدود 11 ثانیه.

اگه هر دستور در یک سیکل انجام بشه فرکانس به جای اینکه حدود 32 مگاهرتز باشه حدود 13 مگاهرتزه!

نتیجه اینکه باز هم مشکل حل نشده. کجا هست که فرکانس داره تقسیم میشه و ما بی اطلاعیم؟

esisafa
21-03-2015, 15:06
شما فرکانس رو تنظیم کن همونی که لازمه. تنظیمات فلش رو هم عوض نکن. کتابخونه تاخیر رو تغییر بدی بهتره

sina6688
21-03-2015, 15:21
از کتابخونه تاخیر استفاده نکردم. فقط از همین while استفاده کردم.
You can see links before reply