در این جلسه قصد داریم تا در ابتدا پایه های این آی سی و وظیفه هریک را برشمریم و پس از آن رجیسترهای مربوط به آی سی DS3231 را بررسی نماییم تا با کسب اطلاعات کامل در مورد آن بتوانیم این آی سی کاربردی و دقیق را راه اندازی نماییم.
پایه های این آی سی و شرح عملکرد هر کدام از پایه ها را می توانید در زیر مشاهده نمایید.
پایه 32KHz : در صورت استفاده از این پایه یک موج مربعی با فرکانس 32KHz در خروجی آن ایجاد می شود که برای استفاده از آن باید پایه مورد نظر را با یک مقاومت pullup نمود.
پایه VCC : از این پایه به عنوان تغذیه ثانویه آی سی مورد استفاده قرار می گیرد و توصیه می شود بین این پایه و زمین یک خازن با ظرفیت 0.1uF تا 1uF قرار گیرد.
پایه INT/SQW : این پین می تواند دو عملکرد داشته باشد.یکی به عنوان خروجی اینتراپت و یکی به عنوان خروجی پالس. برای استفاده از این پین می بایست آنرا pullup نمود. برای تنظیم این پین باید از بیت INTCN در رجیستر کنترل استفاده نمود.
پایه RST : این پین هم بصورت ورودی و هم بصورت خروجی می تواند عمل کند و در صورتیکه تغذیه مدار از مقدار VPF کمتر شود این پایه تغییر وضعیت می دهد یا می توان با قرار دادن یک کلید آی سی را ریست نمود.
پایه های N.C : از این پایه ها استفاده نمی شود و پیشنهاد می شود که آنها را به زمین متصل نمایید.
پایه VBAT : از این پایه برای اتصال باطری Backup استفاده می شود.
پایه SDA : برای انتقال دیتا از طریق پروتکل I2C از این پایه استفاده می شود.
پایه SCL : وظیفه تامین کلاک در ارتباط I2C را دارد.
تمامی رجیسترهای DS3231 را می توانید در جدول زیر مشاهده نمایید:
وظیفه هر رجیستر و آدرس مربوط به آن به شرح زیر می باشد.
رجیستر Seconds با آدرس 00h : برای خواندن یا نوشتن اطلاعات مربوط به ثانیه از این رجیستر استفاده می شود. اطلاعات بصورت BCD بر روی این رجیستر قرار می گیرند.
رجیستر Minutes با آدرس 01h : برای خواندن یا نوشتن اطلاعات مربوط به دقیقه از این رجیستر استفاده می شود. اطلاعات بصورت BCD بر روی این رجیستر قرار می گیرند.
رجیستر Hours با آدرس 02h : از این رجیستر برای خواندن یا نوشتن اطلاعات ساعت ، تنظیم ساعت بصورت 24 یا 12 ساعته و تنظیم قبل از ظهر و بعد از ظهر استفاده می شود.
رجیستر Day با آدرس 03h : این رجیستر مشخص می کند که کدام روز از هفته است که اعدادی بین 1 تا 7 می باشد.
رجیستر Date با آدرس 04h : از این رجیستر برای تنظیم روزهای سپری شده از ماه استفاده می شود.
رجیستر Month/Century با آدرس 05h : از این رجیستر برای تنظیم ماه مورد نظر استفاده می شود همچنین بیت شماره 7 آن در صورتیکه رجیستر سال از 99 بیشتر شود می توان این بیت یک می شود.
رجیستر Year با آدرس 06h : از این رجیستر برای تنظیم سال استفاده می شود که اعداد بین 0 تا 99 را می توان در خود جای دهد.
این آی سی دارای دو آلارم مجزا می باشد که می توانید با تنظیم رجیسترهای مربوط به آنها آلارم های مورد نظر را تنظیم نمایید. رجیستر های مورد نظر را می توانید در شکل زیرملاحظه نمایید.
رجیستر Alarm 1 Seconds با آدرس 07h برای تنظیم ثانیه آلارم یک از این رجیستر استفاده می شود.
رجیستر Alarm 1 Minutes با آدرس 08h برای تنظیم دقیقه آلارم یک از این رجیستر استفاده می شود.
رجیستر Alarm 1 Hours با آدرس 09h برای تنظیم ساعت آلارم یک از این رجیستر استفاده می شود. زمان در این رجیستر می تواند بصورت 12 یا 24 ساعته تنظیم شود.
رجیستر Alarm 1 Day / Alarm 1 Date با استفاده از این رجیستر می توان روز مورد نظر را بصورت هفتگی یا ماهیانه تنظیم نمود.
رجیستر های بالا مربوط به رجیسترهای آلارم 2 می باشند که مشابه آلارم یک می توانیم دقیقه، ساعت(12 یا 24 ساعتی)، روز هفته یا روز ماه را تنظیم نمود.
رجیستر Control با آدرس 0Eh مربوط به تنظیمات کنترلی آی سی می باشد که به شرح بیت به بیت این رجیستر می پردازیم.
BIT7 : بیت مربوط به فعال سازی اسیلاتور داخلی آی سی می باشد و با مقدار 0 فعال می شود.
BIT6 : با Set شدن این بیت حالت square wave فعال می شود.
BIT5 : همانطور که قبلا گفته شد این آی سی از روش TCXO برای جبران تغییرات فرکانس کریستال ساعت بر اثر تغییرات دما استفاده می کند با Set کردن این بیت آی سی این پروسه را انجام می دهد و جبران سازی فرکانسی را با روش TCXO انجام می دهد.
BIT4 و BIT3: از این بیت ها برای تنظیم فرکانس خروجی پایه SQW استفاده می شود و فرکانس مورد نظر را می توانید از جدول زیر انتخاب نمایید.
BIT2 : با استفاده از این بیت می توانیم مشخص کنیم که پایه INT/SQW در کدام حالت فعال باشد در صورتی که این بیت 0 باشد پایه به عنوان خروجی پالس فعال می شود و در صورت 1 شدن این بیت در صورتیکه مقدار رجیستر آلارم با رجیستر های زمان یکی شود یک اینتراپت بر روی این پایه اتفاق می افتد.
BIT1 : این بیت مربوط به فعال سازی اینتراپت برای تطابق رجیسترهای زمان و رجیسترهای مربوط به آلارم 2 می باشد و در صورتیکه این بیت 1 باشد و بیت INTCN هم یک باشد وقفه ای روی پایه INT/SQW ایجاد می شود
BIT0 : عملکرد این بیت نیز مانند BIT1 می باشد و فعال ساز اینتراپت برای آلارم 1 می باشد.
رجیستر Control/Status با آدرس 0Fh
BIT7 : بیت مربوط به فلک توقف عملکرد اسیلاتور می باشد.
BIT3 : بیت مربوط به فعال سازی پایه خروجی مربوط به تولید پالس با فرکانس 32.768KHz می باشد.
BIT2 : این بیت بیت Busy می باشد و مشخص می کند که آی سی در حال انجام پروسه TCXO می باشد.
BIT1 : این بیت مربوط به فلک آلارم 2 می باشد و یک شدن این بیت در صورت فعال بودن بیت های INTCN و A2IE مشخص می کند که زمان آی سی با آلارم 2 تطابق پیدا کرده است.
BIT0 : وظیفه این بیت مانند بیت BIT1 می باشد ولی نمایانگر تطابق زمان با آلارم 1 می باشد.
رجیسترهای با آدرس 11h و 12h مربوط به رجسترهای سنسور دما می باشد و با توجه به اینکه دما بصورت 10 بیتی می باشد از دو رجیستر 8 بیتی برای نمایش دما استفاده می شود که با استفاده از این دو رجیستر می توانید مقدار دمای اندازه گیری شده توسط سنسور موجود در آی سی را قرائت نمایید.
با آرزوی سلامت و بهروزی شما دوستان گرامی
محمد هادی دشتی