IV. Bộ đếm thời gian
1. Chíp tạo dao động: DS
Chíp thời gian thực DS1307 là loại chíp tiêu thụ điện áp thấp, tích hợpsẵn mã chuyển đổi BCD -> clock/carlender. Bộ nhớ trong 56 byte SRAM. Quá trình giao tiếp với chíp được truyền theo chuẩn I2C.
Mã clock/carlender tích hợp mã: giây, phút, giờ, ngày, thứ, tháng, năm. Chíp có khả
năng tự điều chỉnh ngày trong tháng (ứng với từng trường hợp tháng có 30 ngày hoặc 31 ngày), có khả năng chọn chế độ hiển thị giờ trong ngày có thể là 12 giờ với AM hoặc PM, hoặc 24 giờ. Các đặc tính đó có được thông qua việc tác động vào thanh ghi của chíp.
Sơ đồ khối:
Chức năng của các chân như sau:
Chân Tên Chức năng
1 X1
2 X2
3 VBAT Nguồn battery bên ngoài (chuẩn 3V)
4 GND Nối đất
5 SDA Serial data. Chân truyền nhận dữ liệu giữa DS1307 với thiết bị khác theo chuẩn I2C, kiểu chân open drain nên phải có mắc điện trở treo (pullup) bên ngoài
6 SCL Serial clock, trong giao thức I2C dữ liệu được truyền nối tiếp, đồng bộ, đây chính là chân xung nhịp clock của quá trình truyền.
7 SQW/OUT Chân điều khiển đầu ra 8 VCC Nguồn cung cấp 5V Hoạt động
Sự hoạt động của DS1307 dựa trên việc tác động vào thanh ghi. Cụ thể như sau:
chỉ 6 5 3 2 1 0 năng giá trị
00H CH Lưu giá trị giây lớn hơn 10
Lưu giá trị giây bé hơn 10
T/h giây
0 – 59 01H 0 Lưu giá trị phút 10 Lưu giá trị phút bé hơn
10 T/h phút 0 – 59 02H 0 12 10 giờ
10 giờ Giờ Giờ 1-12
AM/PM 00-23 24 Pm/am
03H 0 0 0 0 0 Thứ Thứ 01 – 07
04H 0 0 Ngày trên 10 Ngày Ngày 01-31 05H 0 0 0 Tháng
trên 10
Tháng Tháng 01-12
06H Năm trên 10 Năm Năm 00-99
07H OUT 0 0 SQWE 0 0 RS1 RS0 Control 08- 3FH RAM 56 x 8 00H – FF H Chuẩn truyền thông I2C trong quá trình giao tiếp với chíp DS1307
Sơ đồ truyền nhận:
Thông thường trong các ứng dụng DS1307 được coi như slave, bus phải được điều khiển từ một thiết bị master khác là thiết bị phát ra xung chuẩn trên đường SCL, sự truyền nhận được thực hiện thông qua việc phát tín hiệu STOP và START, qua trình truyền nhận như sau:
- Khi đường dữ liệu và đường clock ở mức cao: Bus ở trạng thái nhàn rỗi
- Khi có sự thay đổi trạng thái trên bus từ mức HIGH xuống mức LOW, trong khi bus clock ở mức HIGH tương ứng với điều kiện START
- Khi có sự thay đổi trạng thái trên bus từ mức LOW xuống mức HIGH, trong khi bus clock ở mức HIGH tương ứng với điều kiện STOP
- Sau khi có tín hiệu START dữ liệu được truyền trên đường I2C, dữ liệu được thiết lập trong khi xung clock ở mức HIGH. Dữ liệu được nạp trong quá trình xung đồng hồ ở mức LOW.
- Với mỗi thiết bị nhận đều có một địa chỉ xác định, địa chỉ của thiết bị được phát bởi thiết bị MASTER, thiết bị SLAVE có quá trình nhận biết địa chỉ, nếu địa chỉ đó đúng với địa chỉ của thiết bị thì SLAVE phát lại tín hiệu nhận biết và tiến hành trao đổi dữ liệu với MASTER.
- Quá trình trao đổi dữ liệu kết thúc khi MASTER phát lên đường truyền tín hiệu STOP