آموزش مدیریت کلاک در میکرو STM32

  • تاریخ ایجاد آذر ۱۲, ۱۳۹۹
  • تاریخ بروزرسانی فروردین ۳, ۱۴۰۲
  • فایلمتنی
  • فروش 28
  • دیدگاه 5
شناسه محصول: آموزش مدیریت کلاک در میکرو STM32 دسته:

در این بخش به آموزش مدیریت کلاک در میکرو STM32 پرداخته شده است.

دوستان عزیزم،

بخش تامین و مدیریت کلاک از پابه ای ترین بخش های راه اندازی هر میکروکنترلر می باشد.

ما در این آموزش سعی کردیم به صورت جزئی و دقیق به راه اندازی کلاک و مدیریت اون در میکروکنترلر stm32 بپردازیم.

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

فرض کنید می خواهیم کلاک میکروکنترلر stm32f103RET6 رو مدیریت و کنترل کنیم. این میکروکنترلر میتواند فرکانس های زیر را به منظور تامین سیگنال کلاک تهیه کند:

  • فرکانس ۴۰khz داخلی یا LSI
  • فرکانس ۸Mhz داخلی یا HSI
  • فرکانس ۳۲.۷۶۸khz خارجی یا LSE برای واحد RTC
  • فرکانس ۴Mhz تا ۱۶Mhz خارجی یا HSE
  • فرکانس ۱Mhz تا ۲۵Mhz خارجی یا HSE با اسیلاتور خارجی
  • فرکانس حداکثر تا ۷۲Mhz توسط PLL

منظور از واژه های انگلیسی بالا:

LSI = Low Speed Internal

HSI = High Speed Internal

LSE = Low Speed External

HSE = High Speed External

PLL = Phase Lock Loop

RTC = Real Time Clock

حالا تک تک فرکانس های بالا را بررسی می کنیم:

فرکانس ۴۰Khz (LSI) و ۸Mhz (HSI) داخلی:

فرکانس ۴۰Khz داخلی یا LSI و فرکانس ۸Mhz داخلی یا HSI توسط مدار RC کالیبره شده داخلی تولید میشود. این مورد برای عملیات سخت افزاری که نیاز به دقت بالا در زمان بندی ها وجود دارد مثل تایمرها یا پروتکل های انتقال دیتا و … مناسب نمی باشد. زیرا رزوناتور RC از  کیفیت بالایی برخوردار نیست و برای عملیاتی که نیاز به دقت در زمان بندی ندارند بکار می رود. در این حالت مطابق شکل زیر به پایه های مربوطه چیزی متصل نمی شود. این فرکانس بعنوان فرکانس اصلی میکرو قرار می گیرد که به عنوان فرکانس مرجع واحد PLL هم (برای تولید فرکانس های بیشتر تا ۶۴Mhz) بکار می رود. (پایه های مربوط به اسیلاتور در شکل زیر نشان داده شده است)

(کلاک اصلا چیه؟)

تعاریف زیر را به کلاک نسبت می دهند:

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

همه تعریف های بالا به نوعی درست است و یه طور خلاصه: ” کلاک عنصر حیاتی و هماهنگ کننده درون یک میکروکنترلر است” که اگر به خوبی تنظیم و تامین نشود موجب بی نظمی و عدم کارکرد مناسب در میکروکنترلر می شود.

فرکانس ۴Mhz تا ۱۶Mhz و (HSE) خارجی:

فرکانس ۴mhz الی ۱۶mhz خارجی یا همون hse بوسیله یه قطعه کریستال با یه مقدار خاص (اکثرا ۸ مگاهرتزه) که طبق شکل زیر به پایه های میکرو وصل شده، تامین می شود. درواقع این فرکانس به عنوان فرکانس اصلی میکرو استفاده میشه و همچنین بعنوان فرکانی مرجع در واحد pll هم برای تولید فرکانس ۷۲ مگاهرتز (بسته به نوع میکروکنترلر) به کار میره

(خازنهایی که به کریستال وصل میشن از نوع بدون پلاریته و در رنج ۱۵ تا ۲۵ پیکوفاراد هستن)

فرکانس ۳۲.۱۶۸Khz (LSE) خارجی برای واحد RTC:

فرکانش ۳۲.۷۶۸khz خارجی یا LSE توسط یک قطعه کریستال با همین مقدار که مطابق شکل زیر به پایه های میکرو وصل میشه، تامین می شود. این کریستال به منظور راه اندازی اسیلاتور RTC مورد استفاده قرار میگیره و RTC هم در واقع به معنی Real TIme Clock است. یعنی ساعت واقعی و بدون وقفه.(این مورد بیشتر در پروژه هایی استفاده می شود که نیاز به زمان بندی به روز و جهانی هستند.)

فرکانس ۱Mhz تا ۲۵Mhz از نوع (HSE)  خارجی با اسیلاتور خارجی:

برای مواردی که دقت در انجام عملیات یا دقیق بودن سیگنال کلاک یا کاهش نویزپذیری خیلی مهمه از اسیلاتور کریستالی ۱ تا ۲۵ مگاهرتزی خارجی استفاده می شه. این اسبلاتور قطعه ای چهار پایه با تغذیه جداگانه است که به تنهایی تولید سیگنال کلاک را انجام می دهد. که در شکل زیر یک نمونه از آن را می بینید.

نحوه اتصال اسیلاتور نیز در شکل زیر نشان داده شده است.

در واقع این فرکانس به عنوان فرکانس اصلی میکروکنترلر قرار میگیره که بعنوان فرکانس مرجع واحد PLL  به کار میره. (برای تولید فرکانسهای بیشتر تا ۷۲ مگاهرتز (بسته به نوع میکرو))

 

فرکانس حداکثر ۷۲ مگاهرتز با PLL:

واحد PLL در میکروهای سری آرم برای افزایش فرکانس تا یک حد مشخص به کار میره. حداکثر این فرکانس وابسته به معماری تراشه میتونه فرق کنه که در میکروکنترلر سری f103 معمولا حداکثر تا ۷۲ مگاهرتزه.

وجود واحد PLL در تراشه های آرم کمک شایانی به طراحی سخت افزار کرده است زیرا دیگه نیاز به ایجاد فرکانسهای بالا در سطح بردهای الکترونیکی نیست. این مساله از خیلی جهات از جمله نویز، تداخل های فرکانسی، هزینه طراحی و… به کاربر کمک میکنه.

 

ادامه دارد….

درصورتی که در رابطه با میکروکنترلرهای stm32 تازه کار هستید اینجا را کلیک کنید.

3 دیدگاه برای آموزش مدیریت کلاک در میکرو STM32

  1. پوریا رشیدی

    سلام. دمتون گرم که آموزشهارو رایگان میذارید. منم مدتهاست تو وبلاگم اینکارو میکنم

    سوالی دارم
    من دارم با میکرو stm32f103zet6 کار میکنم. این آموزشها قابل پیاده سازی روی این سری میکروها هستن؟

    مرسی و خداقوت

    • admin@amokh

      سلام ممنون دوست عزیز، بله قابل پیاده سازی هستند روی سایر خانواده های stm32

  2. پوریا رشیدی (خریدار محصول)

    کلیک روی آیکون stm32 در وبلاگم شمارو به صفحه گوگل درایوم هدایت میکنه که بیشتر آموزش های سایت شمارو اونجا قرار دادم(اونهایی که رایگان بودن)
    اسکرین شات بخش معرفی سایتتون رو هم قرار دادم

    • admin@amokh

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

  3. پوریا رشیدی (خریدار محصول)

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

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

اطلاعات فروشنده

  • آدرس:
  • 4.03 امتیاز از 88 دیدگاه
قبلا حساب کاربری ایجاد کرده اید؟
گذرواژه خود را فراموش کرده اید؟
Loading...