ARM, STM, STM8, آموزش, توصیه شده, مقاله

آموزش میکروکنترلر STM8 قسمت هشتم : کلاک سیستم (CLK)

سیسوگ در قسمت‌ هفتم  آموزش  میکروکنترلر STM8 آموزش ها را به صورت عملی به کار گرفت و نتیجه را به صورت پروژه LED چشمک‌زن مشاهده کردیم. در این قسمت از آموزش های میکروکنترلر STM8 قصد دارد، سیستم کلاک میکروکنترلر را بیان کند. با سیسوگ همراه باشید.

سیستم کلاک داخلی STM8 به ما این اجازه را می‌دهد که سرعت عملکرد CPU را متناسب با نیاز خود تنظیم کنیم. تأخیر نرم‌افزار و توان مصرفی به تنظیمات کلاک سیستم وابسته است.

در میکروکنترلرهای STM8، سه منبع کلاک اصلی وجود دارد. کلاک داخلی سرعت بالا (HSI)، کلاک خارجی سرعت بالا (HSE) و کلاک داخلی کم مصرف (LSI). کلاک داخلی سرعت بالا (HSI)  دارای فرکانس نوسان 16 مگاهرتز است و یک نوسانگر داخلی RC با دقت خوب است – حدود 1٪ تحمل در طیف گسترده‌ای از دما. HSE می‌تواند به عنوان یک مدار کلاک خارجی، نوسانگر کریستالی با جبران حرارت (TCXO) یا تشدید کننده کریستال معمولی باشد. می‌تواند فرکانس‌های از 1  مگاهرتز تا 24 مگاهرتز را بپذیرد. در نهایت، کلاک LSI مبتنی بر اسیلاتور RC داخلی است که عمدتاً برای حالت‌های کم مصرف و تایمر نظارت مستقل (IWDG) استفاده می‌شود. این کلاک دارای فرکانس ثابت 128 کیلوهرتز است و مانند HSE و HSI دقیق نیست. هم‌چنین تقسیم کننده‌های کلاک/ پیمایشگرها در نقاط مختلف به منظور اندازه‌گیری کلاک‌ها وجود دارد. به طور عمده به دو پیمایشگر، پیمایشگر HSI و تقسیم کننده CPU نیاز داریم. Peripherals به طور مستقیم توسط منبع کلاک اصلی تأمین می‌شود. به علاوه یک پین خروجی برای کلاک  (CCO) وجود دارد که فرکانس ساعت را به خروجی می‌دهد. از این می‌توان برای کلاک دیگر میکروها نیز استفاده کرد، برای دیگر آی سی‌های منطقی کلاک تولید می‌کند. هم‌چنین می‌تواند به عنوان یک نوسان‌ساز آزاد و یا آزمایشات عملکرد کلاک مورد استفاده قرار گیرد. یک حالت کلاک امنیتی fail-safe وجود دارد که باعث می‌شود در زمانی که HSE از کار افتاد به صورت خودکار HSI شروع به فعالیت کند. بلوک دیاگرام داخلی آن در زیر نشان داده شده است:

 

بلوک دیاگرام کلاک امنیتی

 

بلوک داخلی کلاک امنیتی

 

اتصالات سخت افزاری

اتصالات سخت افزاری

نمونه کد

کد زیر نشان می‌دهد چگونه CPU را با استفاده از HSI با کلاک 2 مگاهرتز راه اندازی کنید و کلاک 500 کیلو‌هرتز را روی پین CCO به عنوان خروجی داشته باشیم. HSE به 8 تقسیم شده است، یعنی 16 مگاهرتز تقسیم بر 8 برابر 2 مگاهرتز شده است. این 2 مگاهرتز منبع کلاک اصلی است و 4 مرتبه دیگر تقسیم شده است تا فرکانس 500 کیلوهرتز را تولید کند.

توجه داشته باشید پین CCO تنها در برخی از پین در دسترس است. به عنوان مثال، در STM8S003F3 این پین تنها در PC4 است. ما باید عملکرد پیش فرض پین PC4 را به حالت خروجی CCO بدهیم.

توضیحات کد

پیکربندی CCO به صورت زیر است:

 

 

این خطوط منبع کلاک را انتخاب می کند که پین CCO به عنوان خروجی خواهد بود. ماژول CCO را فعال کرده و صبر می کند تا آن را تثبیت کند. در اینجا من CCO را برای خروجی CPU انتخاب کردم.

در قسمت بعدی آموزش میکروکنترلر STM8 سیسوگ قصد دارد روی وقفه خارجی تمرکز کند. در ادامه نیز سیسوگ را همراهی نمایید.

 

منبع

نوشته های مشابه

2 دیدگاه در “آموزش میکروکنترلر STM8 قسمت هشتم : کلاک سیستم (CLK)

  1. Hossein گفت:

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

    1. N H N H گفت:

      سلام
      در این بخش به کلاک داخلی و خارجی و تفاوت آن ها پرداخته شده و در مثال بیان شده چگونه CPU را با استفاده از کلاک داخلی راه اندازی کنید و خروجی CPU را به عنوان کلاک خارجی داشته باشید. لطفا نمونه کد را خودتان به صورت عملی پیاده کنید و سپس اگر سوالی داشتید مطرح نمایید.

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

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