برنامه نویسی، کامپیوتر و IT

اهمیت منبع کلاک در میکروکنترلر چقدر است؟

میکروکنترلرها به منبع کلاک خود متکی هستند. پردازنده، گذرگاه ها و تجهیزات جانبی همگی از کلاک برای همگام سازی عملیات خود استفاده می کنند. کلاک تعیین می کند که پردازنده با چه سرعتی دستورالعمل های خود را اجرا می کند، بنابراین یکی از اصول مهم در عملکرد میکروکنترلر هاست. اما منبع کلاک چقدر مهم است؟ آیا اهمیتی دارد که چقدر دقیق باشد؟ پاسخ کوتاه این است که بستگی دارد… به رابط های آن و کاری که میکروکنترلر انجام می دهد.
دو ملاحظه باید در نظر گرفته شود: سرعت کلاک، که تعیین می کند اتفاقات با چه سرعتی رخ می دهند، و دقت کلاک ، که ثبات دوره بین هر تیک کلاک و چگونگی تغییر سرعت کلاک در طول زمان را تعیین می کند.

چرا منبع کلاک مهم است ؟

پردازش میکروکنترلر
پردازنده مرکزی میکروکنترلر را می توان به عنوان یک زنجیره همگام از بلوک های منطقی در نظر گرفت که عملکرد خاصی را انجام می دهد. اگرکلاک خیلی کند کار کند، پردازش بیشتر طول می کشد و اگر خیلی سریع اجرا شود، ممکن است زمان کافی برای تکمیل عملیات مورد نیاز قبل از شروع مجموعه بعدی را نداشته باشد . پردازنده با طیف وسیعی از بلوک‌هایی با مؤلفه های مختلف، از حافظه پویا تا پین‌های رابط، واسط می‌شود. هر خطای قابل توجهی در سرعت کلاک عواقب غیر قابل پیش بینی برای عملیات میکروکنترلر داخلی خواهد داشت.

نمونه گیری داده ها

سیگنال کلاک میکروکنترلر سرعت تبدیل هر عملیات آنالوگ به دیجیتال را کنترل می کند و همچنین حداکثر نرخی را که می توان از سیگنال آنالوگ نمونه برداری کرد را تعیین می کند. دقت کلاک، دقت نرخ نمونه برداری را تعیین می کند.

تولید شکل موج

در مورد نمونه‌گیری داده‌ها، سیگنال کلاک میکروکنترلر بر نرخ تبدیل هر عملیات دیجیتال به آنالوگ نظارت می‌کند. سرعت کلاک حداکثر فرکانس های قابل تولید برای سیگنال آنالوگ را تعیین می کند و همینطور دقت کلاک، دقت شکل موج تولید شده را تعیین می کند.

ارتباطات سریال ناهمزمان

یک کاربرد حیاتی برای سیگنال کلاک میکروکنترلر، مدیریت ارتباطات ناهمزمان (آسنکرون ) است که در آن سیگنال کلاک تعیین می کند چه زمانی از جریان داده ورودی نمونه برداری شود که اغلب پس از دریافت بیت شروع و شکل موج جریان داده خروجی بر حسب زمانی که انتقال بین هر بیت داده رخ داد ، می باشد.

با ارتباطات ناهمزمان، فرستنده و گیرنده برای رمزگذاری و رمزگشایی جریان های داده به سرعت کلاک یکسان نیاز دارند. با این حال، این کلاک ها نیازی به همگام سازی ندارند. آنها فقط باید به اندازه کافی ، نسبت کلاک برابر داشته باشند و آن هم به این دلیل است که گیرنده هنگام تشخیص اولین لبه در خط سیگنال شروع به پردازش جریان داده های دریافتی می کند سپس باید سرعت کلاک صحیح را برای مدت زمان جریان داده حفظ کند تا از بیت های داده در زمان های صحیح نمونه برداری کند. دقت مورد نیاز ، به پنجره ای که داده ها باید در آن نمونه برداری شوند بستگی دارد.

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

برای جریان‌های داده کوتاه، الزامات دقت می‌تواند بسیار ضعیف باشد زیرا کلاک نمونه‌گیری هر بار که یک جریان داده جدید دریافت می‌شود، بازنشانی می‌شود. با این حال، برای ارتباطات سریالی پرسرعت با جریان داده های طولانی، دقت مورد نیاز می تواند بیشتر شود. به عنوان مثال، پروتکل CAN bus آن را به انحراف کلاک بسیار حساس می کند تا حدی که استفاده از هر منبع سیگنال کلاک مبتنی بر کریستال ممکن است مشکل ساز باشد. با مثالی از دستگاه‌های UART، می‌توانیم ببینیم که نرخ کلاک مطلق بی‌اهمیت است، زیرا گیرنده UART خود را در شروع هر فریم همگام‌سازی می‌کند.

قابلیت های منبع کلاک

معمولاً هنگام انتخاب منبع کلاک برای هر میکروکنترلر خاص، چند گزینه مختلف وجود دارد. ما در اینجا همه گزینه های استاندارد را مورد بحث قرار خواهیم داد. گزینه های مختلف اصولاً با دقت، هزینه و تعداد اجزا متمایز می شوند. استفاده از یک منبع کلاک داخلی که همه میکروکنترلرهای خوب شامل آن می‌شوند، ارزان‌ترین و ساده ترین گزینه خواهد بود، اما معمولاً کمترین دقت را خواهد داشت.

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

کلاک

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

میکروکنترلرها معمولاً با یک نوسان ساز مقاومتی-خازنی داخلی ارائه می شوند. مشکل استفاده از نوسانگر داخلی این است که دقت آنها به طور قابل توجهی کمتر از نوسانگرهای خارجی است. به طور معمول، یک میکروکنترلر با مدیریت حرارتی خوب می تواند یک سیگنال کلاک را با دقتی در محدوده ۱٪ تا ۵٪ ارائه دهد. این ممکن است برای برخی از گذرگاه های ارتباطی ناهمزمان کندتر و برای مدیریت پردازش سیگنال آنالوگ فرکانس پایین به اندازه کافی خوب باشد.

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

نوسانگرهای خارجی

منابع کلاک برای میکروکنترلرها در دو نوع اصلی وجود دارند: دستگاه های تشدید کننده مکانیکی، از جمله کریستال ها و تشدید کننده های سرامیکی، و نوسانگرهای غیرفعال RC.
ابتدایی ترین شکل نوسانگرها مدار RC است که مدار نوسان ساز داخلی را شبیه سازی می کند. در حالی که این امر می تواند دقت را حداقل تا حدی بهبود بخشد، اما برای یک نوسان ساز خارجی کم دقت ترین گزینه است و راه حل های بهتری برای هزینه و اندازه نسبتا مشابه در دسترس هست. کلاک تولید شده توسط مدار RC نیز تحت تأثیر نوسانات در سطوح منبع تغذیه قرار می گیرد و مستعد تداخل الکتریکی است و کارایی آنها را در اکثر برنامه های معمولی محدود می کند.

نوسانگرهای کریستالی

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

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

نتیجه

به طور خلاصه، نوع سیگنال کلاکی که باید برای میکروکنترلر خود استفاده کنید، عمدتاً به ماهیت دستگاهی که در آن تعبیه شده و محیط عملکرد آن بستگی دارد.گذرگاه ‌های ارتباطی ناهمزمان با سرعت بالا و سیگنال‌های آنالوگ با فرکانس بالا نیاز به سیگنال کلاک دقیق را افزایش می‌دهند. فرض کنید دستگاه باید در یک محیط سخت کار کند، خواه در محدوده دمایی بالا، در سطوح بالای تداخل الکترومغناطیسی یا در معرض ارتعاشات مکانیکی باشد. در این صورت، باید به دنبال گزینه ای باشید که با معیار های شما هماهنگ باشد. میکروکنترلری که چنین الزامات حساس به زمان یا چالش برانگیز محیطی را ندارد، ارزان تر می باشد.

 

منبع: www.resources.altium.com

این متن ترجمه مقاله How Important is your Microcontroller Clock Source  می باشد.

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

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

دکمه بازگشت به بالا