Home / میکروکنترلر / آموزش میکروکنترلر AVR / آموزش میکروکنترلر AVR قسمت هفتم (منابع تولیدکلاک در میکروکنترلر AVR)

آموزش میکروکنترلر AVR قسمت هفتم (منابع تولیدکلاک در میکروکنترلر AVR)

منابع تولید کلاک در میکروکنترلر  AVR :

1. اسیلاتور کریستالی خارجی (external crystal / ceramic resonator )

2. اسیلاتور RC خارجی (external RC oscillator)

3. اسیلاتور RC کالیبره شده داخلی (calibrated internal RC oscillator)

4. اسیلاتور کریستالی فرکانس پایین(کریستال ساعت) (external low frequency crustal)

5. کلاک خارجی(external clock)

که در پایین هر یک رو به طور کامل توضیح میدم:

1-اسیلاتور کریستالی خارجی :

intrenal rc clock AVR

یکی از منابع تولید کلاک در میکروکنترلر AVR استفاده از اسیلاتور کریستالی خارجی می باشد .در این حالت پایه های XTAL1 و XTAL2 میکرو کنترلر مانند شکل به کریستال متصل می شود. مقادیر خازن های مورد استفاده و نحوه تنظیم فیوز بیت ها در جدول های پایین آمده است.

jadaval int rc

2-اسیلاتور RC خارجی:

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

external rc

در کاربردهایی که به زمان بندی ها حساسیتی ندارد می توان از ساختار اسیلاتور RC خارجی استفاده کرد که فرکانس آن به صورت تقربی از رابطه ی( f=1/(3RC

بدست می آید . C حداقل باید 22pf باشد. با برنامه ریزی فیوز CKOPT می توان خازن 36pf مابین پایه های XTAL و GND را فعال کرد به این ترتیب نیازی به استفاده از خازن خارجی نیست.

اسیلاتور می تواند در چهار حالت مختلف کار کند که هریک برای محدوده ی خاصی از فرکانسها مناسب می باشد این حالت ها به کمک فیوز بیت های CKSEL0..3 تنظیم می شود. که در جدول پایین مقادیر لازم آورده شده است.

rc external jad

3-اسیلاتور RC کالیبره شده داخلی :

این اسیلاتور چهار 1 و 2 و4 و8 MHZ را تولید میکند. که برای استفاده از این اسیلاتور باید فیوز بیت های CKSEL0..3 تنظيم شود.که مقادیر این این فیوز بیت ها در جدول پایین آورده شده است.

avr clk int

4-اسیلاتور کریستالی فرکانس پایین(کریستال ساعت):

اگر از یک کریستال ساعت بعنوان کلاک استفاده شود باید فیوز بیت های CKSEL0..3 را به صورت 1001 برنامه ریزی نمود. اتصال ای کریستال همانند کریستال خارجی است.

نکته : با فعال کردن فیوز بیت CKOPT خازن داخلی 36pf فعال شده و دیگر نیازی به استفاده از خازن خارجی نمی باشد.

5-کلاک خارجی :

در صورت استفاده از یک کلاک خارجی بعنوان منبع کلاک این کلاک به پایه ی XTAL1 متصل میشود وپایه ی XTAL2 بدون اتصال باقی می ماند. در این حالت باید فیوز بیت های CKSEL0..3 را به صورت 0000 برنامه ریزی نمود.

در پست بعدی کامل در مورد فیوزبیت ها توضیح میدم و بعد از اون پست به بحث شیرین برنامه نویسی میکروکنترلر ها وارد می شیم .

About علی عزتی

علی عزتی هستم. رشته ی مهندسی برق الکترونیک رو خوندم. علاقه ی من به یادگیری و به اشتراک گذاشتن چیز هایی که یاد گرفتم. باعث شد تا الکترولب ایجاد بشه. علاقه ی زیادی به الکترونیک دارم. و دوست دارم چیزهای جدید یادبگیرم و بسازم ... :))

Check Also

میکروپایتون و راه اندازی آن روی ESP8266 قسمت اول

پایتون یک زبان برنامه‌نویسی همه منظوره سطح بالا می باشد. قابلیت یادگیری آسان، آن را ...

9 comments

  1. آیا می توان بجای استفاده از کریستال خارجی از کریستال داخلی میکرویی که همان مقدار فرکانس را نوسان می کند استفاده نمائیم؟

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

      • با سلام. یعنی شما میفرمایید برای کاهش نویز روی AVR بهتره از کلاک (کریستال) خارجی استفاده بشه؟
        یه سوال دیگه! برای کمتر کردن نویز بهتره از خازن های داخلی میکرو در اتصال XTAL1,XTAL2 استفاده بشه یا خودمون خازن ها رو به صورت خارجی مطابق دستور دیتاشیت میکرو قرار بدیم؟

        • دقت و پایداری کریستال خارجی بهتر از اسیلاتور rc داخلی هست. در مورد استفاده از خازن های داخلی میکرو هم من تا به حال مدار هایی که دیدم همشون از خازن خارجی استفاده کردند. بهتره طبق گفته ی دیتاشیت عمل بشه

  2. سلام
    من در حال ساخت یه فاصله سنج لیزری هستم با atmega32 و sharp GP2D12 که تو دیتاشیتش نوشته خروجیش آنالوگه. حالا 2 تا سوال دارم.
    یکی اینکه به a/d داخلی خود میکرو جواب میده یا باید از مبدل بیرونی استفاده بشه؟
    و یکی هم اینکه نیاز به چه اسیلاتور خارجی هستش؟ با تشکر

  3. با سلام خدمت شما…
    من یه مدار تایمر برای موتور درست کردم که تو برنامه نویسی از دستور Enable Timer2 استفاده کردم…..تو پروتوس مدار کار میکنه اما وقتی که مدار رو بستم تایمر او کار نمی کنه….نمی دونم مشکل از کجاست….

    • اگر در شبیه ساز کار میکنه پس باید در عمل نیز کار کنه چک کنید ببنید چه مواردی رو رعایت نکردید مثلا پول آپ کردن پایه ریست یا استفاده از خازن برای جلوگیری از نویز و اینکه بهتره مدار تغذیه ی موتور جدا از تغذیه میکروکنترلر باشه

  4. با سلام برای استفاده از کلاک داخلی 1 نگا هرتز من CKSEL رو 0001 قرار دادم برای مدار راه اندازش چجوری باید عمل کنم یعنی پایه های XTAL1 و XTAL2 رو باید به چی وصل کنم؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.