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

معرفی DS1307

DS1307 یک آی سی کنترل زمان واقعی (RTC) است. در DS1307، داده ها در الگوی بیتی به صورت کدگذاری شده باینری دسیمال منتقل می شوند. سرعت انتقال اطلاعات در DS1307  56 بایت است.

حافظه ای که در DS1307 استفاده می شود NV SRAM است. NV SRAM اساسا یک حافظه با دسترسی تصادفی غیر فرار است. در عملکرد، NV SRAM کاملاً شبیه به حافظه دسترسی تصادفی استاتیک (SRAM) است.

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

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

پروتکلی که DS1307طبق آن کار می کند I2C است. I2C یک پروتکل تک خطی است که در آن داده ها بیت به بیت در طول یک سیم واحد منتقل می شوند.

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

http://smartcomp.ir/product-4

http://smartcomp.ir/product-6


پایه های DS1307

DS1307 در مجموع دارای 8 پایه است که در زیر توضیح داده شده است:

پین 1،2: این پین ها برای کریستال های کوارتز 32.768 استاندارد هستند. هر دو پایه می توانند به عنوان ورودی و خروجی برای نوسان ساز داخلی استفاده شوند. اگر X1 ورودی است، X2 به عنوان خروجی استفاده می شود.

پین 3: این پین برای اتصال باتری به DS1307 استفاده می شود.

پین 4: باید Ground را به این پین اعمال کنیم.

پین 5: این پین با عنوان SDA که مخفف عبارت Serial Data Line است، مشخص شده است.

پین 6: برای ورودی کلاک سریال (SCL) و همگام سازی داده ها استفاده می شود.

پین 7: این پایه برای مولد موج مربعی خروجی (SQW) استفاده می شود.

پین 8: در این پین یک منبع تغذیه خارجی (Vcc) اعمال می کنیم.

پروتکل I2C

I2C یک پروتکل ارتباط سریال است که در آن داده ها بیت به بیت بر روی فقط یک خط منتقل می شود.

I2C بهترین ویژگی SPI و UART را ترکیب می کند. با استفاده از آن با یک میکروکنترلر می توانیم بسیاری از دستگاه های اسلیو را کنترل کنیم.

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

اجرای پروتکل I2C نسبت به پروتکل SPI ارزان تر است. SPI فقط یک دستگاه Slave را کنترل می کند در حالی که I2C بیش از یک دستگاه را کنترل می کند.

برای درک بهتر، اجازه دهید نگاهی به تصویر پروتکل I2C بیندازیم.

عملکرد DS1307

برای درک بهتر کار DS1307 اجازه دهید مداری را که از آن استفاده می کنیم بحث کنیم.

در این مدار ساده، دو پایه اول ماژول را که X1 و X2 هستند به نوسانگر کریستالی 32.768 کیلوهرتز به عنوان منبع کلاک تراشه وصل می کنیم.

پایه سوم به یک باتری 3 ولتی متصل می شود.

به پایه Vccتغذیه 5 ولت می دهیم که با استفاده از یک میکروکنترلر می توان آن را تامین کرد. اگر Vcc اعمال نشده باشد، شرط خواندن و نوشتن غیرممکن می شود.

اجازه دهید نگاهی به مدار بیندازیم:

هنگامی که یک دستگاه می خواهد با دستگاه های دیگر در پروتکل I2c ارتباط برقرار کند، شرایط شروع و توقف لازم است.

برای ایجاد شرایط شروع، ما یک شناسه و ثبت آدرس مشخص را به یک دستگاه ارائه می دهیم، با این کار، شرایط شروع را ایجاد می کنیم.

برای درک بهتر شرایط توقف و شروع، اجازه دهید نگاهی به شکل کلاک بیندازیم.

ویژگی های DS1307

برای پی بردن به خصوصیات ماژول، جدول زیر را ملاحظه کنید.

No.ParameterSymbolValueUnit
1.Supply VoltageVCC5V
2Logic   1 InputVIH2.2V
3Logic   0 InputVIL+0.8V
4VBAT Battery   VoltageVBAT3.5V
5Input LeakageILI1uA
6I/O LeakageILO1uA
7Logic   0 OUTPUTVOL0.4V
8Active   Supply Current (fSCL = 100kHz)ICC1.5mA
9Standby   CurrentICCS200uA
10VBAT   Leakage CurrentIBATLKG50nA
11Power-Fail   Voltage (VBAT = 3.0V)VPFtd>1.284   x VBATV
12VBAT   Current (OSC ON); SQW/OUT OFFIBAT1500nA
13VBAT   Current (OSC ON); SQW/OUT ON (32kHz)IBAT2100nA
14VBAT   Data-Retention Current (Oscillator Of)IBATDR100nA
15SCL   Clock FrequencyfSCL100kHZ
16Bus   Free Time Between a STOP and START ConditiontBUF4.7us
17Hold   Time (Repeated) START ConditiontHD:STA4us
18LOW   Period of SCL ClocktLOW4.7us
19HIGH   Period of SCL ClocktHIGH4us
20Setup   Time for a Repeated START ConditiontSU:STA4.7us
21Data   Hold TimetHD:DAT0us
22Rise   Time of Both SDA and SCL SignalstR1000ns
23Fall   Time of Both SDA and SCL SignalstF300ns
24Setup   Time for STOP ConditiontSU:STO4.7us

کاربردهای DS1307

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

با استفاده از آن با میکروکنترلرها می توانیم از آن در چندین پروژه مرتبط با ثبت اطلاعات، زنگ هشدار، ساعت و غیره استفاده کنیم.