Sơ đồ nguyên lí của mach tạo xung đồng hồ:
Giơi thiệu các chân và dạng tín hiệu tại đó:
Vcc, GND – Nguôn DC cung cấp năng lượng cho DS1307 được đưa vào các chân này. Nguồn Vcc +5V được đưa vào. Khi nguồn Vcc thấp hơn V_BAT thì sẽ tự động ngắt Vcc chuyển sang V_BAT.
V_BAT – Sử dụng nguôn Pin 3V đề phòng mất điện và sụt áp Vcc.
SCL(Serial Clock Input) – SCL sử dụng đồng bộ di chuyển dữ liệu trên giao tiếp nối tiếp.
SDA(Serial Data Input/Output) – SDA là chân input/output cho giao tiếp I2C.
SQW/OUT (Square Ware/Output Driver) – Khi được phép SQWE bit to 1, Chân SQW/OUT có thể cho ra dang xung (1Hz, 4kHZ, 8kHz, 32kHz). Các chế độ này được quy đinh bởi các bit của thanh ghi Control
Registers
X1, X2 – Kết nối dao động thạch anh 32.768 kHz
RTC và sơ đồ địa chỉ RAM
Thanh ghi RTC được xác định trong địa chỉ từ 00h tới 07h. RAM chứa đia chỉ từ 08h tới 3Fh.
Đồng hồ và lịch:
Thông tin thời gian và lịch được thu dược
bằng cách đọc các bytes trong thanh ghi RTC. Thời gian và lịch đuợc thiết lập hoăc từ SCL SDA SQW Y 1 CRY STAL VBAT 5V 5V J11 CON2 1 2 R2 2k2 R3 2k2 R18 RESISTOR GND D9 LED 5V 5V U2 DS1307 SQW/OUT 7 SDA 5 X1 1 X2 2 SCL 6 VBAT 3 VCC 8
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
máy tính và dược ghi vào thanh ghi RTC. Nội dung của thời gian và lịch được trong thanh ghi được định dạng BCD. Bit 7 của thanh ghi 0 gọi là bit dừng đồng hồ. Khi bit được thiết lập băng 1, thì oscillator được ngắt. Khi xoá về 0, oscillator được mở.
DS1307 có thế hoạt động ở chế độ 12 giờ hoặc 24 giờ. Bit 6 của thanh ghi giờ được định nghĩa là chọn chế độ 12- hoặc 24h bằng cách chọn bit. Khi cao, 12 h được chọn. Trong chế độ 12h, bit 5 là AM/PM bit với mức logic cao sẽ trở thành PM.
Thanh ghi điều khiển:
Thanh ghi điều khiển của DS1307 được sử dụng để điều khiền hoạt động của
chân SQW/OUT
OUT (Output control): Đây là bit điều khiển mức ra của chân SQW/OUT khi dạng sóng vuông bị ngắt. Nếu SQWE=0, mức logic mở của chân SQW/OUT là 1 và 0 nếu OUT=0.
SQWE (Square Wave Enable): Đây là bit, khi ở mức logic 1, sẽ cho phép oscillator output. Tần số của dạng sóng vuông output được thiết lập bởi bit RS0 và RS1.
RS ( Rate Select): Đây là bit điều khiển tần số của dạng sóng ra hình vuông khi sóng vuông được mở. Bảng dưới đây là list các tần số dạng sóng vuông được chợn với các bit RS
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
Sơ đồ điển hình của 2-wire bus:
Dạng sóng trên bus I2C:
Quá trình truyền dữ liệu từ Master tới slave :
- Gửi địa chỉ của slave lên đương truyền. Dùng để chọn Slave nào hoạt động, đợi cho đến khi truyền xong
- Gửi sô byte của dữ liệu. Đợi cho đến khi truyền xong - Slave sẽ gửi lại ACK bit sau mỗi byte nhân được.
- Dữ liệu truyền với bit (MSB) đầu tiên cực kì quan trọng.
Quá trình truyền dữ liệu từ slave tới master.
- Gưi địa chỉ của slave được truyền bởi master. - Slave sẽ gưi lại ACK bit.
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
- Tiếp theo slave truyền số byte của dữ liệu
- Master sẽ gửi lại ACK bit sau khi nhận một byte dữ liệu - Tại byte nhận cuối cùng , sẽ gui “ not ACK”
Thiết bị master phát tất cả xung serial clock, START và STOP condition. Quá trình truyền dữ liệu sẽ được bắt đầu với START condition và kết thúc với STOP condition. Dữ liệu truyền với bit MSB đầu tiên.
DS1307 có thể hoạt động theo hai chế độ:
- Slave receiver (DS1307 write mode): Serial data và clock được nhận từ SDA và SCL. Sau mỗi byte nhận được sẽ truyền ACK bit. START và STOP condition được công nhận là bắt đầu và kết thúc của truyền nối tiếp. Byte địa chỉ là byte đầu tiên sau khi nhận được sau start condition và được phát bởi master. Byte địa chỉ của DS1307 có 7 bit đó là 1101000, tiếp theo là bit (R/W), với quá trình write thì bit R/W bằng 0. Sau khi nhận và giải mã thì thiết bị sẽ xuất ra bit ACK trên đường SDA . Master sẽ truyền thanh ghi địa chỉ tới DS1307, điều đó sẽ thiết lập register pointer trên DS1307. Master sẽ bắt đầu phát mỗi byte của dữ liệu và DS1307 sẽ phát lại ACK sau mỗi byte nhận được. Master sẽ phát bit STOP condition sau khi kết thúc việc viết dữ liệu.
- Slave transmitter mode (DS1307 read mode): Byte địa chỉ là byte đầu tiên nhận sau sau START condition và được phát bởi master. Byte địa chỉ của DS1307 có 7- bit địa chỉ, đó là 1101000, sau đó là bit (R/W) vơi read thì bit co giá trị 1. Sau khi nhận và giải mã byte địa chỉ thiết bị sẽ nhận được ACK trên đường SDA. DS1307 truyền dữ liệu bắt đầu với con trỏ thanh ghi địa chỉ tới con trỏ thanh ghi. DS1307 sẽ nhận được “not acknowledge” là kết thúc việc đọc.