RTC چیست و چه کاربردی دارد؟

RTC چیست و چه کاربردی دارد؟

RTC چیست و چه کاربردی دارد؟
RTC چیست و چه کاربردی دارد؟

real-time clock (RTC) یک آی سی یا بخشی از یک آی سی است که زمان را به‌صورت به‌روز شده در خود نگه می‌دارد. اطلاعات RTC معمولاً توسط یک میکروپروسسور، و از طریق یک اینترفیس سریال خوانده می‌شود.

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

RTC

شکل 1

RTC ها المان‌های بسیار رایجی هستند و در اغلب وسایل وجود دارند، از ابزارها و سیستم‌های سرگرمی در کاربردهای خودرویی تا دستگاه‌های اندازه‌گیری و متریک خانه‌ها. RTC ها اغلب در دیوایس‌های دیگر ادغام می‌شوند، به‌عنوان مثال IC های با ارتباطات broadband که در رادیوهای اتومبیل استفاده می‌شوند.

 

نحوه ارتباط

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

RTC

شکل 2

 

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

RTC، زمان یا همان ساعت را با شمردن سیکل‌های یک اسیلاتور ذخیره می‌کند – این اسیلاتور معمولاً یک مدار اسیلاتور کریستالی 32.768 کیلوهرتز یا یک اسیلاتور مبتنی بر خازن داخلی و یا حتی یک کریستال کوارتز امبدد یا تعبیه‌شده است. برخی از آن‌ها می‌توانند انتقال‌ها را شناسایی کرده و تناوب یک ورودی را که ممکن است متصل باشد، محاسبه کنند.

پس با استفاده از این امکان، RTC می‌تواند از نوسان برق شهر (50/60Hz) یا ثابت زمانی GPS به‌عنوان رفرنس زمان استفاده کنند.

RTC که این کار را انجام می‌دهد مانند یک PLL عمل می‌کند و مرجع کلاک داخلی خود را برای قفل شدن بر روی سیگنال خارجی، تغییر می‌دهد. اگر RTC مرجع خارجی خود را از دست بدهد، می‌تواند این رویداد را تشخیص دهد (زیرا PLL از قفل خارج می‌شود) و از اسیلاتور داخلی خودکارش را ادامه می‌دهد.

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

 

شرایط محیطی

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

برخی از RTC ها دارای جبران ساز حرارتی یکپارچه هستند که می‌تواند دقت مدار اسیلاتور کریستالی را گسترش و افزایش دهد. کریستال‌ها نیز پیر می‌شوند و این ماهیت فیزیکی آن‌ها را تغییر می‌دهد که منجر به خطاهای اضافی می‌شود. کریستال‌های معمولی کم‌هزینه دارای محدوده خطای فرکانس در حدود +/-20ppm (parts per million) هستند و به‌آرامی خطاها را انباشته می‌کنند. یک کریستال 20ppm+/- می‌تواند تا 72 میلی‌ثانیه در هر ساعت یا 1.7 ثانیه در روز رانش کند. آن‌ها گاهی اوقات برای اصلاح رانش نیاز به کالیبراسیون مجدد دارند.

پردازنده متصل به RTC به‌نوعی “زمان” به‌روز شده را به‌دست می‌آورد و این مقدار جدید را برای RTC می‌نویسد تا از آن شروع به شمارش کند. این زمان می‌تواند از ورودی دستی که از طریق رابط کاربری است، خواندن یک واحد GPS یا از طریق اتصال ابری به‌دست بیاید.

RTC

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

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

 

منبع

0 نفر

پــــســنــدیـده انـد

توجه

دیدگاه ها

2 دیدگاه

  • مهدی
    ۲۳ فروردین ۱۴۰۱

    ممنون خیلی جالب بود ولی ای کاش در ادامه به rtc میکروهای مثلا STM32 هم میپرداختید که متاسفانه نمونه هایی هم که داخل ایران هستند معمولا دچار مشکلاتی هستند و راه حل میدادید

    • Zeus ‌
      Zeus ‌
      ۲۳ فروردین ۱۴۰۱

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

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 3 سال پیش
راه اندازی LCD گرافیکی Nokia 1661

راه اندازی LCD گرافیکی Nokia 1661

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش
ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش
همه چیز درباره ریموت کنترل‌های هاپینگ

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش
مسابقه سوم: استخراج داده از رشته ها در زبان C

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش
مسابقه ششم: بزن میکروکنترلر را بسوزون!

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 12 ماه پیش
آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش
کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش
ساخت ماینر با FPGA و ARM

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش
مسابقه چهارم: کدام حلقه سریع‌تر است؟

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک