I. Đồng hồ thời gian thực DS12887
I.2 Chức năng các chân
• GND, Vcc
Nguồn 1 chiều + 5Vđợc cung cấp cho thiết bị thông qua chân 24. Khi nguồn 5V đợc cung cấp thì ta có thể đọc hoặc ghi dữ liệu trên thiết bị. Khi nguồn vào thấp hơn 4,25V thì việc đọc ghi dữ liệu bị ngăn cấm. Tuy nhiên thiết bị vẫn hoạt động không phụ thuộc vào nguồn vào. Khi mà nguồn vào thấp hơn 3V thì lúc đó thiết bị sẽ sử dụng nguồn pin lithium bên trong để duy trì hoạt động. Độ chính xác của DS12887 là ± 1 phút/1 tháng tại 250C.
• MOT (Mode Select)
Chân MOT đợc sử dụng để lựa chọn giữa hai loại bus. Khi đợc nối với Vcc, chế độ thời gian bus Motorola đợc chọn. Khi nối với GND hoặc không đợc
nối thì chế độ thời gian bus Intel đợc chọn. Chân này có điện trở kéo bên trong cỡ 20KΩ.
• SQW (Square-Wave Output)
Chân SQW tạo ra tín hiệu xung vuông. Tần số của tín hiệu phát ra từ chân SQW có thể thay đổi bằng cách lập trình trên thanh ghi A (ở bảng 1). Tín hiệu SQW có thể đợc bật hoặc tắt bằng cách sử dụng bit SQWE trong thanh ghi B. Tín hiệu SQW sẽ không có khi Vcc nhỏ hơn 4,25V.
• AD0-AD7
Bus địa chỉ và dữ liệu. Thông tin của địa chỉ và thông tin của dữ liệu thời gian chia xẻ trong cùng 1 đờng tín hiệu. Địa chỉ đợc chỉ ra trong suốt phần đầu của chu kỳ bus, cũng những chân này và đờng tín hiệu đợc sử dụng cho dữ liệu trong phần 2 của chu kỳ bus.
• AS (Address Strobe Input)
Khi ở mức cao AS kéo bus giải đa hợp. Khi ở sờn xuống của AS/ALE đó là nguyên nhân địa chỉ đợc chốt bên trong DS12887. ở sờn lên kế tiếp của bus, AS sẽ xóa địa chỉ.
• DS (Data Strobe or Read Input)
Chân DS/RD có hai chế độ hoạt động dựa vào chế độ ở chân MOT. Khi chân MOT đợc nối với Vcc (chế độ thời gian bus Motorola đợc chọn) trong chế độ này DS đợc kéo ở mức cao trong suốt phần cuối của chu kỳ bus và đợc gọi là
Data Strobe. Trong suốt chu kỳ đọc DS biểu thị thời gian mà DS12887 điều
khiển 2 đờng bus trực tiếp. Trong chu kỳ ghi DS12887 chốt dữ liệu ghi. Khi chân MOT nối với GND (chế độ thời gian bus Intel đợc chọn). Trong chế độ này chân DS đợc gọi là chân Đọc (RD).RD xác định phần thời gian khi DS12887 điều khiển bus cùng với dữ liệu đọc.
Bảng 1: Tần số của xung SQW phát ra
• R/W (Read/Write Input)
Chân R/W có hai chế độ hoạt động. Khi chân MOT đợc nối với Vcc,
W
R/ ở mức chỉ thị mà không cần biết chu kỳ hiện tại là đọc hay ghi. Chu kỳ đọc đợc chỉ thị cùng với ở R/W khi DS ở mức cao. Chu kỳ ghi đợc chỉ thị khi R/W thấp qua DS.
Khi chân MOT đợc nối với GND, tín hiệu R/W là tín hiệu kích hoạt thấp đợc gọi là WR . Trong chế độ này chân R/W có ý nghĩa nh chân cho phép ghi (write enable-WE).
• CS (Chip Select Input)
Tín hiệu chọn chip phải ở mức thấp để cho chu kỳ bus của DS12887 đợc truy nhập. CS phải đợc giữ cho hoạt động khi DS và AS ở chế độ thời gian Motorola và khi RD và WR ở chế độ thời gian Intel. Khi Vcc < 4,25V thì DS12887 cấm các truy nhập trong chu kỳ bằng cách vô hiệu hóa chân CS . Hoạt động này giúp bảo vệ dữ liệu thời gian và dữ liệu trong RAM khi nguồn ngừng hoạt động.
• IRQ (Interrupt Request Output)
Chân IRQ đợc kích hoạt ở mức thấp đầu ra của DS12887 và có thể đợc sử dụng nh đầu vào ngắt của vi xử lý. Để xóa chân IRQ, vi xử lý dùng chơng trình đọc thanh ghi C. Chân RESET xóa khi gửi các ngắt.
• RESET (Reset Input)
Chân RESET không ảnh hởng đến đồng hồ, lịch, hoặc RAM. Khi mức năng lợng cao, chân RESET đợc giữ ở mức thấp trong 1 khoảng thời gian để cho nguồn cấp vào ổn định. Khoảng thời gian giữ ở mức thấp còn dựa vào các ứng dụng. Tuy nhiên nếu RESET đợc sử dụng, thời gian RESET ở mức thấp nên lớn hơn 200ms để chắc chắn bộ định thời bên trong có thể điều khiển DS12887. Khi
RESET ở mức thấp và Vcc > 4,25V thì các trờng hợp sau xảy ra: a) PIE (Periodic Interrupt Enable) bị xóa = 0.
b) AIE (Alarm Interrupt Enable) bị xóa = 0. c) UF (Update Ended Interrupt Flag) bị xóa = 0. d) IRQF (Interrupt Request Status Flag) bị xóa = 0. e) PF (Periodic Interrupt Flag) bị xóa = 0.
f) Thiết bị không đợc truy nhập cho đến khi RESET trở lại mức cao. g) AF (Alarm Interrupt Flag) bị xóa = 0.
h) Chân IRQ ở mức trở kháng cao.
i) SQWE (Square-Wave Output Enable) bị xóa = 0. j) UIE (Update Ended Interrupt Enable) bị xóa = 0.