سلام دوستان! امیدواریم حالتون عالی باشه. در این آموزش، نگاهی به معرفی دقیق ماژول ساعت و تاریخ DS1307 خواهیم داشت. DS1307یک ساعت بلادرنگ است. این ماژول یک دستگاه کم مصرف است و دارای یک باتری پشتیبان است که در مواقعی که منبع تغذیه خارجی آن کار نمی کند یا خاموش است، برق را برای حفظ داده هایش تامین می کند. مطابق با پروتکل I2C کار می کند. این یک ماژول دو طرفه است و می تواند داده ها را از هر دو طرف ارسال و دریافت کند. DS1307 در پروژه های صنعتی که نیاز به زمان و تاریخ ثابت برای انجام برخی پروژه ها است استفاده می شود.
معرفی DS1307
DS1307 یک آی سی کنترل زمان واقعی (RTC) است. در DS1307، داده ها در الگوی بیتی به صورت کدگذاری شده باینری دسیمال منتقل می شوند. سرعت انتقال اطلاعات در DS1307 56 بایت است.
حافظه ای که در DS1307 استفاده می شود NV SRAM است. NV SRAM اساسا یک حافظه با دسترسی تصادفی غیر فرار است. در عملکرد، NV SRAM کاملاً شبیه به حافظه دسترسی تصادفی استاتیک (SRAM) است.
DS1307 یک ماژول الکترونیکی است که نقش به سزایی در سیستم های امبدد بلادرنگ ایفا می کند. در سیستم های یکپارچه امبدد می توانیم از مزایای ساعت سیستم و تاریخ وقایع بهره مند شویم، همچنین می توانیم از آن به عنوان زنگ هشدار برای کارهای خاص استفاده کنیم.
DS1307 از یک مدار حسگر ولتاژ و جریان منبع تغذیه تشکیل شده است. هدف مدار حسگر داخلی این است که اگر برق قطع شود، به طور خودکار به منبع تغذیه پشتیبان سوئیچ می شود. به این ترتیب مدار ما در شرایط کار باقی می ماند.
پروتکلی که DS1307طبق آن کار می کند I2C است. I2C یک پروتکل تک خطی است که در آن داده ها بیت به بیت در طول یک سیم واحد منتقل می شوند.
برای آشنایی با برنامه نویسی میکروکنترلرهای AVR به دو لینک زیر مراجعه کنید:
پایه های 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. | Parameter | Symbol | Value | Unit |
1. | Supply Voltage | VCC | 5 | V |
2 | Logic 1 Input | VIH | 2.2 | V |
3 | Logic 0 Input | VIL | +0.8 | V |
4 | VBAT Battery Voltage | VBAT | 3.5 | V |
5 | Input Leakage | ILI | 1 | uA |
6 | I/O Leakage | ILO | 1 | uA |
7 | Logic 0 OUTPUT | VOL | 0.4 | V |
8 | Active Supply Current (fSCL = 100kHz) | ICC | 1.5 | mA |
9 | Standby Current | ICCS | 200 | uA |
10 | VBAT Leakage Current | IBATLKG | 50 | nA |
11 | Power-Fail Voltage (VBAT = 3.0V) | VPFtd> | 1.284 x VBAT | V |
12 | VBAT Current (OSC ON); SQW/OUT OFF | IBAT1 | 500 | nA |
13 | VBAT Current (OSC ON); SQW/OUT ON (32kHz) | IBAT2 | 100 | nA |
14 | VBAT Data-Retention Current (Oscillator Of) | IBATDR | 100 | nA |
15 | SCL Clock Frequency | fSCL | 100 | kHZ |
16 | Bus Free Time Between a STOP and START Condition | tBUF | 4.7 | us |
17 | Hold Time (Repeated) START Condition | tHD:STA | 4 | us |
18 | LOW Period of SCL Clock | tLOW | 4.7 | us |
19 | HIGH Period of SCL Clock | tHIGH | 4 | us |
20 | Setup Time for a Repeated START Condition | tSU:STA | 4.7 | us |
21 | Data Hold Time | tHD:DAT | 0 | us |
22 | Rise Time of Both SDA and SCL Signals | tR | 1000 | ns |
23 | Fall Time of Both SDA and SCL Signals | tF | 300 | ns |
24 | Setup Time for STOP Condition | tSU:STO | 4.7 | us |
کاربردهای DS1307
همانطور که می دانیم DS1307 برای نشان دادن زمان و تاریخ بطور پیوسته استفاده می شود، به این ترتیب برای دستگاه های الکترونیکی مانند کامپیوتر، موبایل و لپ تاپ قابل استفاده است.
با استفاده از آن با میکروکنترلرها می توانیم از آن در چندین پروژه مرتبط با ثبت اطلاعات، زنگ هشدار، ساعت و غیره استفاده کنیم.
دیدگاه خود را بنویسید