اتصال کریستال کلاک به میکروکنترلر

توسط | 6 فروردین, 1399 | AVR, lpc, STM32, آردوینو, برد مدار چاپی, طراحی PCB | 23 دیدگاه ها

داخل-نوسان-ساز-کریستال-کوارتز

آموزش STM32 یوبرد

شروع بازی ST

آموزش های رایگان STM32

فیلم های آموزش STM32

آموزش خصوصی STM32

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

نحوه محاسبه ظرفیت خازن دو سر کریستال چگونه است؟

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

محاسبه ظرفیت خازن دو سر کریستال با استفاده از دیتاشیت تراشۀ مقصد

معمولاً در دیتاشیت تراشه هایی که کریستال به آن متصل است، مثل میکروکنترلرها، ظرفیت پیشنهادی برای خازن دوسر کریستال ذکر شده است. برای آشنایی بیشتر با این موضوع، ظرفیت پیشنهادی خازن دو سر کریستال را در دیتاشیت سه میکروکنترلر زیر ببینیم:

ظرفیت پیشنهادی خازن دو سر کریستال در دیتاشیت میکروکنترلر AVR ATmega128a

در میکروکنترلرهای AVR (آموزش AVR)، ظرفیت خازن دو سر کریستال با توجه به وضعیت فیوز بیت های CKOPT و CKSEL و فرکانس کریستال تعیین شده است. مقدار پیشنهادی شرکت Atmel برای ظرفیت خازن های دوسر کریستال میکروکنترلر AVR ATmega128a در جدول زیر ارائه شده است. که به طور مثال برای اتصال کریستال ساعت به AVR می توانیم از آن استفاده کنیم.

خازن-کریستال-میکروکنترلرهای-avr

تصویر 1 – خازن دو سر کریستال در دیتاشیت میکروکنترلر AVR

Recommended Range for Capacitors C1 and C2
for Use with Crystals (pF)
Frequency Range(MHz) CKSEL3:1 CKOPT
0.4 – 0.9 101(2) 1
22-Dec 0.9 – 3.0 110 1
22-Dec 3.0 – 8.0 111 1
22-Dec 1.0 -16.0 101, 110, 111 0

جدول 1 – مقدار پیشنهادی ظرفیت خازن دو سر کریستال در دیتاشیت AVR

ظرفیت پیشنهادی خازن دو سر کریستال در دیتاشیت میکروکنترلر ARM LP1768

در دیتاشیت میکروکنترلر LPC1768 (آموزش ARM LP1768)، ظرفیت خازن دوسر کریستال به 4 پارامتر که عبارتند از، Rs، CL، فرکانس کریستال و بیت OSCRANGE بستگی دارد. (مقادیر Rsو RL را در ادامه بیشتر بررسی می کنیم.). مقدار پیشنهادی شرکت NXP برای ظرفیت خازن های دوسر کریستال میکروکنترلر ARM LP1768 در جدول زیر ارائه شده است.

خازن-کریستال-میکروکنترلرهای-lpc1768

تصویر 2 – خازن دو سر کریستال در دیتاشیت میکروکنترلر LPC1768

ظرفیت-خازن-کریستال-میکروکنترلرهای-lpc1768

تصویر 3 – مقدار پیشنهادی ظرفیت خازن دو سر کریستال در دیتاشیت LPC1768

خازن دو سر کریستال در دیتاشیت میکروکنترلرهای ARM STM32F1

شرکت ST نیز به طور مثال در دیتاشیت های میکروکنترلرهای STM32F103xC, STM32F103xD, STM32F103Xe خود مقادر پیشنهادی مطابق جدول زیر را ارائه کرده است (فیلم آموزش ARM STM32).

خازن-کریستال-میکروکنترلرهای-stm32

تصویر 4 – خازن دو سر کریستال در دیتاشیت میکروکنترلرهای STM32F1

Unit Max Typ Min Conditions Parameter Symbol
pF 30 RS = 30 Ω Recommended load capacitance versus equivalent serial resistance of the crystal (RS) C

جدول 2 – ظرفیت پیشنهادی خازن دو سر کریستال در دیتاشیت STM32F1

محاسبه ظرفیت خازن دو سر کریستال با استفاده از فرمول مربوطه

حال قبل از پرداخت به روش دوم و اتصال کریستال کلاک به میکروکنترلر، ابتدا با Crystal بیشتر آشنا شویم.

کریستال کوارتز (Quartz Crystal) چیست؟

کریستال کوارتز (Quartz Crystal) یک قطعۀ پیزوالکتریک است. یعنی انرژی الکتریکی را به انرژی مکانیکی تبدیل می کند و بالعکس. از این قطعه برای ساخت یک قطعه الکترونیکی به نام کریستال استفاده می شود. پس از شکافتن یک کریستال الکترونیکی، در تصویر زیر نمای داخلی و خارجی یک کریستال الکترونیکی را مشاهده می کنید که در داخل آن یک لایۀ بسیار نازک از کریستال کوارتز قرار دارد.

نوسان-ساز-کریستال-کوارتز

تصویر 5 – نمای داخل کریستال الکترونیکی

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

کریستال-کوارتز-در-ساعت

تصویر 6 – نمونه ای از استفاده از کریستال در ساخت ساعت مچی

از این پس در این نوشته یعنی «اتصال کریستال کلاک به میکروکنترلر، صفر تا صد Crystal» منظور از کریستال، قطعۀ کریستال مورد استفاده در مدارات الکترونیکی است. برای رسیدن به فرمول محاسبۀ خازن های دوسر کریستال نیاز داریم که مدار معادل یک کریستال کوارتز را بشناسیم. مدار معادل کریستال در تصویر زیر مشاهده می شود.

مدار-معادل-کریستال-کوارتز

تصویر 7 – مدار معادل کریستال کوارتز

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

C0: خازنی که در صفحات موازی توسط الکترودها تشکیل شده است.

Cm: این خازن ناشی از خاصیت ارتجاعی کریستال کوارتز به وجود می آید که به آن خازن حرکتی (Motional Capacitance) نیز گفته می شود.

Rm: این مقاومت نیز مقاومت حرکتی (Motional Resistance) نام دارد. Motional Resistance تعیین کنندۀ اصلی ضریب کیفیت (Q Factor) است.

Lm: این اندوکتانس سلفی نیز توسط ارتعاش کریستال کوارتز به وجود می آید که به آن خاصیت سلفی حرکتی (Motional Inductance) نیز گفته می شود

در جدول زیر، پارامترهای مذکور را برای یک نمونه کریستال 8 مگاهرتزی می بینیم. برای هر کریستال در دیتاشیت آن می توانید به این اطلاعات دست پیدا کنید.

Value Equivalent component
5.57pF C0
0.027pF Cm
8W Rm
14.7mH Lm

جدول 3 – پارامترهای یک کریستال کوارتز

در این نوشته قصد نداریم که وارد محاسبات و فرمول های کریستال کوارتز از جمله فرمول محاسبۀ امپدانس، فرکانس بار، ظریب کیفیت و … شویم. در بین فرمول های بسیار مربوط به کریستال کوارتز، تنها دو فرمال مهم مربوط به محاسبه ظرفیت خازن دو سر کریستال و همچنین مقاومت سری با کریستال را بررسی می کنیم. در تصویر زیر هم خازن ها و هم مقاومت متصل به کریستال قابل مشاهده است.

خازن-کریستال-میکروکنترلرهای-stm32

تصویر 8 – خازن و مقاومت دو سر کریستال

فرمول محاسبه خازن دو سر کریستال

در دیتاشیت کریستال ها یک ظرفیت نامی برای خازن های دو سر کریستال (CL Load Capacitor) ارائه می شود. اما این ظرفیت برای حالت ایده آل است. یعنی حالتی که هیچ ظرفیت خازنی دیگری در مسیر کریستال تا مقصد وجود نداشته باشد(مثلا قطعۀ مقصد یک میکروکنترلر باشد). در دنیای واقعی باتوجه به این که ظرفیت خازنی دیگری نیز در مسیر وجود دارد، باید یک فرمول وجود داشته باشد که باتوجه به ظرفیت خازنی مسیر، از خازن های با ظرفیت های مناسب در دوسر کریستال استفاده شود. به طور مثال چنانچه یک برد مدار چاپی PCB بخوبی ترسیم شده باشد (مثل نمونه هایی که در ادامه ارائه می شود)، ظرفیت خازنی مسیر برابر 5pf خواهد بود. همچنین به طور مثال در دیتاشیت یک کریستال 8 مگاهرتزی، مقدار CL برابر 15pf ذکر شده است. لذا با استفاده از فرمول زیر، ظرفیت خازن های دو سر کریستال باید برابر 20pf باشد.

CL1=CL2 = 2*(CL*CS) = 2*(15-5) = 20pf

CL1 و CL2: خازن های دو سر کریستال

CL: مقدار خازن دو سر کریستال که توسط شرکت سازندۀ کریستال در دیتاشیت کریستال ارائه شده است.

CS: ظرفیت خازنی که در مسیر کریستال تا مقصد به وجود می آید (Stray Capacitor).

فرمول محاسبه مقاومت سری با کریستال، REXT

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

قرائت توان مصرفی کریستال

حداکثر توان مصرفی کریستال توسط شرکت سازنده برحسب میلی وات مشخص می شود. باید توان مصرفی کریستال در عمل قرائت و با مقدار ارائه شده توسط شرکت سازنده مقایسه شود. در این فرایند به نوعی درحال تست کریستال (مثلاً تست کریستال RTC) هستیم. برای قرائت توان مصرفی کریستال باید که مثل تصویر زیر یکی از پایه های کریستال را به اسیلوسکوپ متصل و جریان عبوری را مشاهده کنیم.

نحوه-قرائت-جریان-کریستال

تصویر 9 – اتصال کریستال به اسیلوسکوپ برای خواندن جریان عبوری

پس مشاهده جریان عبوری، می توانیم که طبق فرمول زیر، توان کریستال را محاسبه می کنیم:

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

چنانچه DL محاسبه شده، از مقدار گفته شده در دیتاشیت کریستال کمتر بود، نیاز به قرار دادن مقاومت نیست. اما در غیر این صورت نیاز به قرار دادن مقاومت سری با کریستال است. می توان که در زمان طرحی PCB (آموزش طراحی PCB)، جای مقاومت را بر روی برد تدارک دید که اگر در زمان تست، مشاهده شد که نیاز به مقاومت سری هست، مقاومت مناسب را در آن قسمت قرار داد و چنانچه نیاز به استفاده از مقاومت نبود، مقاوت 0 اهم در آن قسمت لحیم کاری کرد (آموزش لحیم کاری و مونتاژ). اما این مقاومت سری با کریستال چطور محاسبه می شود؟

نحوه محاسبه مقدار مقاومت سری با کریستال

پس از محاسبه توان مصرفی کریستال و تشخیص این که توان مصرفی آن بیشتر از حد مجاز یا کمتر از حد مجاز است، محاسبه مقاومت سری با کریستال مرحلۀ راحتی محسوب می شود. با استفاده از فرمول زیر می توان مقاومت دو سر کریستال را محاسبه کرد. (اعداد موجود در فرمول به عنوان مثال ذکر شده اند.)

فرمول-محاسبه-مقاومت-سری-کریستال

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

چرا از اسیلاتور کریستالی استفاده کنیم؟

در ساخت اسیلاتوها می توان از مدارات مختلفی استفاده کرد و هم اکنون استفاده می شود. اما می توان با کیفیت ترین آنها را اسیلاتور با استفاده از کریستال یا همان اسیلاتور کریستالی (کریستال رزوناتور) دانست. ضریب کیفیت (Quality Factor یا Q-Factor) نشانگر پایداری بیشتر است. ضریب کیفیت کریستال های کوارتز بسیار بیشتر از مداراتی همچون LC است. ضریب کیفیت در بسیاری از کریستال های متداول در حدود 20000 و در برخی از انواع با کیفیت حتی به بیشتر از  100000 نیز می رسد که عدد بسیار خوبی است. می توان گفت که امروزه پایدارترین اسیلاتور مورد استفاده به عنوان منبع کلاک، اسیلاتور کریستالی است. امروزه از سرامیک نیز در ساخت نوسان سازها استفاده می شود که باعث کیفیت بیشتر آنها شده است.

طراحی برد مدار چاپی PCB برای کریستال

چطور یک PCB خوب برای کریستال پالس ساعت یا به طور کلی کریستال طراحی کنیم؟ این سوال، سوال بسیاری از طراحان PCB است. در ادامه تصاویری را می بینیم که به عنوان بهترین PCB های موجود برای کریستال هستند. تمامی این مدارات پیشنهادی از شرکت های مثل NXP و ST و  Freescale بوده که تمامی آنها در محصولات یوبرد تست شده و بهترین آرایش های پیشنهادی هستند.

اتصال-کریستال-thd-به-میکروکنترلر

تصویر 10 – اتصال کریستال به میکروکنترلر THD

اتصال-کریستال-بدون-مقاومت-سری

تصویر 11 – اتصال کریستال بدون مقاوت سری

اتصال-کریستال-با-مقاومت-سری

تصویر 12 – اتصال کریستال با مقاومت سری

لحیم کاری کریستال ساعت

برای این که انتظار عملکرد مطلوب از مداری که کریستال در آن قرار گرفته داشته باشیم (مثلاً کریستال ساعت دقیق)، باید تمامی فرایند ها از جمله مونتاژ و لحیم کاری را به خوبی انجام دهیم. به طور کلی طراحی برد مدار چاپی PCB مناسب و همچنین مونتاژ و لحیم کاری کریستال پالس ساعت استوانه ای در نوشتۀ «آموزش روش استاندارد مونتاژ و لحیم کردن کریستال ساعت» ارائه شده است.

کریستال-ساعت-برد-توسعه-یوبرد

تصویر 13 – کریستال ساعت استوانه ای مونتاژ شده بر روی برد توسعه  LPC1768 یوبرد

نتایج اتصال کریستال کلاک به میکروکنترلر، صفر تا صد Crystal

  1. کلاک یک مدار که یکی از منابع حیاتی یک برد الکترونیکی در کنار منبع تغذیه و حافظه است.
  2. برای محاسبه خازن دو سر کریستال می توان از دیتاشیت تراشۀ مقصد کمک گرفت و یا این که با استفاده از فرمول های مربوطه محاسبه کنیم.
  3. در دیتاشیت تراشه هایی که کریستال به آن متصل است، ظرفیت پیشنهادی برای خازن دو سر کریستال ذکر شده است.
  4. از کریستال کوارتز الکترونیک در طیف وسیعی از محصولات الکترونیکی استفاده می شود.
  5. مدار داخلی کریستال کوارتز از یک مسیر خازنی ناشی از صفحات موازی الکترودهای کریستال و یک مسیر که در اثر ارتعاش کریستال به وجود می آید تشکیل شده است.
  6. اگر توان مصرفی کریستال کمتر از مقداری که مشخص شده توسط شرکت سازنده باشد، نیازی به استفاده از مقاومت سری با کریستال نیست. اما در غیر این صورت باید که از این مقاومت استفاده شود.
  7. ضریب کیفیت کریستال های کوارتز از مداراتی همچون LCبسیار بیشتر است.

 

رضا اسدی

رضا اسدی

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

سفارش پروژه میکروکنترلر یوبرد

زیرساخت مطمئن صنعت

جدیدترین تاپیک های STM32

راه-اندازی-dac-stm32

راه اندازی DAC در STM32

راه اندازی DAC در STM32، ویژگی های DAC در میکروکنترلرهای STM32F1، بلوک دیاگرام DAC در STM32، اتصالات راه اندازی DAC در میکروکنترلر STM32F107VC، نمونه کد رجیستری راه اندازی واحد DAC در میکروکنترلرهای STM32F1، ساخت موج سینوسی با STM32، راه اندازی مبدل دیجیتال به آنالوگ STM32 با توابع HAL

راه-اندازی-usart-stm32

راه اندازی UART در STM32، رجیستری و HAL

راه اندازی UART در STM32، اتصالات و نرم افزار مورد نیاز، نمونه کد USART در STM32 به صورت رجیستری، نمونه کد رجیستری USART با وقفۀ دریافت، نمونه کد HAL برای راه اندازی USART در STM32، نمونه کد HAL با وقفۀ دریافت، نحوه محاسبه Baud rate در USART میکروکنترلرهای STM32F1

برنامه-نویسی-میکروکنترلر-ویژوال-استودیو

برنامه نویسی میکروکنترلرها با ویژوال استودیو

نصب VisualGDB روی ویژوال استودیو، ساخت پروژه برای برنامه نویسی میکروکنترلرها با ویژوال استودیو، ساخت پروژه برای STM32 در ویژوال استودیو، کدنویسی STM32 در ویژوال استودیو، ساخت پروژه برای AVR در ویژوال استودیو، ساخت پروژه برای LPC در ویژوال استودیو، ساخت پروژۀ آردوینو در ویژوال استودیو

راه-اندازی-adc-stm32

راه اندازی ADC در STM32، رجیستری و HAL

راه اندازی ADC در STM32، استفاده از پیکربندی Independent، کانال تکی، تبدیل Discontinuous و کانال Regular، اتصالات لازم برای راه اندازی واحد ADC در STM32، نمونه کد رجیستری، نمونه کد ADC میکروکنترلر STM32 با HAL، خواندن از چند کانال ADC با توابع HAL، توابع HAL راه اندازی ADC

23 دیدگاه ها

  1. ممنون از شما مطلب کاملی بود.

    پاسخ

یک دیدگاه بنویسید

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

دیگر آموزش های یوبرد

آموزش FreeRTOS یوبرد

زمان واقعی در میکروکنترلر و پردازنده های کوچک با FreeRTOS

آموزش طراحی PCB و نویز یوبرد

تجسم دنیای الکترونیک

آموزش زبان C و MISRA-C یوبرد

گام نخست دنیای میکروکنترلر

آموزش لحیم کاری و IPC-A-610 یوبرد

ساخت دنیای الکترونیک

آموزش آردوینو یوبرد

جادۀ آسفالت میکروکنترلر

آموزش ماژول های SIM800 یوبرد

تلفن همراه صنعت

آموزش زبان ++C و ++MISRA-C یوبرد

لمس شی گرایی در میکروکنترلرها

آموزش میکروکنترلرهای AVR یوبرد

شاهکار 8 بیتی Atmel

آموزش میکروکنترلرهای LPC یوبرد

یادگار فیلیپس

آموزش های شاخص

ضبط پیام صوتی

زمان هر پیام صوتی 4 دقیقه است