کلاک در میکروکنترلر چیست؟ ساعت Microcontroller Clock

محتویات
میکروکنترلرها به منبع ساعت خود متکی هستند. پردازنده، گذرگاه و تجهیزات جانبی همگی از ساعت برای همگام سازی عملیات های خود استفاده می کنند. ساعت تعیین می کند که پردازنده با چه سرعتی دستورالعمل های خود را اجرا می کند، بنابراین برای عملکرد بسیار مهم است. اما منبع ساعت چقدر مهم است؟ آیا اهمیتی دارد که چقدر دقیق باشد؟ پاسخ کوتاه این است که به کاری که میکروکنترلر انجام می دهد و رابط های آن بستگی دارد.
دو ملاحظه باید در نظر گرفته شود: سرعت ساعت، که تعیین میکند اتفاقات با چه سرعتی رخ میدهند، و دقت ساعت، که ثبات دوره بین هر تیک ساعت و چگونگی تغییر سرعت ساعت در طول زمان را تعیین میکند.
کلاک در پردازش میکروکنترلر
پردازنده مرکزی میکروکنترلر را می توان به عنوان یک زنجیره همگام از بلوک های منطقی در نظر گرفت که عملکرد خاصی را انجام می دهد. اگر کلاک خیلی کند کار کند، پردازش بیشتر طول می کشد. اگر کلاک خیلی سریع اجرا شود، ممکن است زمان کافی برای تکمیل عملیات مورد نیاز قبل از شروع مجموعه بعدی وجود نداشته باشد. پردازنده با طیف وسیعی از بلوکهای مؤلفه مختلف، از حافظه پویا گرفته تا پینهای رابط، ارتباط دارد. هر گونه خطای قابل توجه در سرعت ساعت عواقب غیر قابل پیش بینی برای عملیات میکروکنترلر داخلی خواهد داشت.
بهتر است دیتاشیت میکروکنترلر خود را بخوانید تا در مورد کلاک آن اطلاعات کسب کنید.
نمونه گیری داده ها
سیگنال ساعت میکروکنترلر نرخ تبدیل هر عملیات آنالوگ به دیجیتال را کنترل می کند. سرعت ساعت حداکثر نرخی را که می توان از سیگنال آنالوگ نمونه برداری کرد، تعیین می کند. دقت کلاک ، دقت نرخ نمونهبرداری را تعیین میکند. فرض کنید در حال ضبط یک نمونه دو بار در ثانیه با مهر زمانی هستید. در این صورت یک درصد خطا در فرکانس ساعت ارتباط بین مهر زمانی نمونه شما و زمان نشان داده شده در ساعت دیواری شما را از بین می برد. با 1٪ آفست ثابت منبع ساعت، مهر زمانی نمونه شما هر روز بیش از 14 دقیقه حذف می شود.
تولید شکل موج
سرعت ساعت حداکثر فرکانس قابل تولید برای سیگنال آنالوگ را تعیین می کند. دقت ساعت، دقت شکل موج تولید شده را تعیین می کند.
ارتباطات سریال ناهمزمان
یک کاربرد حیاتی برای کلاک میکروکنترلر، مدیریت ارتباطات ناهمزمان است که در آن سیگنال ساعت تعیین می کند که چه زمانی از جریان داده ورودی نمونه برداری می شود. یک نمونه ارتباط سریال ناهمزمان ارتباط UART است. در ارتباط سریال ناهمزمان، دستگاه گیرنده و فرستنده باید در یک سرعت کلاک مشخص نمونه برداری از داده ها را انجام دهند. فقط در این صورت است که داده ها به درستی دریافت میشود و در صورتی که ساعت فرستنده و گیرنده متفاوت باشد ارتباط به درستی برقرار نیست.
مقدار کلاک ساعت
معمولاً هنگام انتخاب منبع ساعت برای هر میکروکنترلر خاص، چند گزینه مختلف وجود دارد. گزینه های خاص به نوع و مدل ساعت میکروکنترلری که استفاده می کنید بستگی دارد. ما در اینجا همه گزینه های استاندارد را مورد بحث قرار خواهیم داد.
گزینه های مختلف اصولاً با دقت، هزینه و تعداد اجزای آنها متمایز می شوند. استفاده از یک منبع ساعت داخلی که همه میکروکنترلرها ارزان ترین و ساده ترین گزینه است. برای افزایش دقت میتوانید از اسیلاتور های خارجی استفاده کنید اما هزینه را افزایش میدهد.
نوسانگرهای داخلی
میکروکنترلرها معمولاً با یک نوسان ساز مقاومتی-خازن داخلی برای تولید یک سیگنال ساعت اولیه و یک حلقه قفل فاز برای ضرب فرکانس ارائه می شوند. مشکل استفاده از نوسانگر داخلی این است که دقت آنها به طور قابل توجهی کمتر از نوسانگرهای خارجی است. به طور معمول، یک میکروکنترلر با مدیریت حرارتی خوب می تواند سیگنال ساعت را با دقتی در محدوده 1٪ تا 5٪ ارائه دهد.
نوسانگرهای خارجی
منابع کلاک خارجی برای میکروکنترلرها در دو نوع اصلی وجود دارند:
- دستگاه های تشدید کننده مکانیکی: کریستال ها و تشدید کننده های سرامیکی
- نوسانگرهای غیرفعال RC
ابتدایی ترین شکل نوسانگرها مدار RC است که مدار نوسان ساز داخلی را شبیه سازی می کند اما از قطعاتی با مقادیر دقت بالاتر و با استفاده از تکنیک های مدیریت حرارتی برای جداسازی قطعات از گرمای تولید شده توسط ساعت میکروکنترلر و سایر عناصر داغ مدار استفاده می کند. استفاده از این نوسانگر ها میتواند دقت را بهبود ببخشید اما به عنوان یک نوسانگر خارجی، باز هم دقت کمی دارد.
نوسانگرهای کریستالی رایج ترین شکل نوسانگرهای خارجی هستند که در آن سیگنال کلاک میکروکنترلر با دقت بسیار بالا ایجاد میشود. یک کریستال کوارتز و مدار های پشتیبانی آن دقت و ثبات بسیار بالایی را ارائه میدهند. یک کریستال ارزان میتواند دقتی بیشتر از یک میلیونیم درصد داشته باشد. این دقت تقریبا برای همه کاربرد ها مناسب است. با این حال، کریستال کوارتز می تواند تحت تأثیر عوامل محیطی قرار گیرد که ممکن است نیاز به حفاظت بیشتری داشته باشد. مدار نگهدارنده کریستال کوارتز می تواند منجر به خروجی امپدانس بالا شود که به تطابق امپدانس اضافی برای ادغام با بقیه مدار نیاز دارد.
نتیجه
به طور خلاصه، نوع سیگنال ساعتی که باید برای میکروکنترلر خود استفاده کنید، عمدتاً به ماهیت دستگاهی که در آن تعبیه شده و محیط عملکرد آن بستگی دارد. پروتکل های ارتباط سریال ناهمزمان با سرعت بالا و سیگنالهای آنالوگ با فرکانس بالا نیاز به سیگنال ساعت دقیق دارند. فرض کنید دستگاه باید در یک محیط سخت کار کند، خواه در محدوده دمایی وسیع، در سطوح بالای تداخل الکترومغناطیسی یا در معرض ارتعاشات مکانیکی باشد.
باسلام ، سوالی داشتم اگه بخواهیم سرعت اردینو را از ۱۶ مگا هرتز بالاتر ببریم آیا میشه کریستال آن را با کریستال مثلا ۲۵ مگا هرتز عوض کنیم مشکلی در میکرو بوجود میآید ممنون توضیح بدهید
سلام عزیز
در صورت تغییر کریستال باید فیوز بیت های میکروکنترلر هم تغییر داده بشه تا برنامه نویسی دقیق باشه در غیر اینصورت مواردی که انتظار دارید در زمان نادرست اجرا خواهند شد