tctuvan

New Member
Tải miễn phí tiểu luận

Hiện lớp mình có nhiều bạn làm đồ án về đồng hồ số nên mình xin post 1 số tài liệu về
I2C và DS1307 để các bạn tham khảo giúp các bạn hoàn thành tốt đồ án.Trong phần 1
sẽ giới thiệu 1 tài liệu trên mạng nói về I2C và DS1307 bằng tiếng Việt.
I, Nói qua về chuẩn giao tiếp I2c
Giao thức ưu tiên truyền thông nối tiếp được phát triển bởi Philips Semiconductor và được
gọi là bus I2C. Vì nguồn gốc nó được thiết kế là để điều khiển liên thông IC (Inter-
Intergrated Circuit) nên nó được đặt tên là I2C. Tất cả các chip có tích hợp và tương thích với
I2C đều có thêm một giao diện tích hợp trên Chip để truyền thông trực tiếp với các thiết bị
tương thích I2C khác. Việc truyền dữ liệu nối tiếp theo hai hướng 8 bit được thực thi theo 3
chế độ sau: Chuẩn (Standard)—100 Kbits/sec Nhanh (Fast)—400 Kbits/sec Tốc độ cao (High
speed)—3.4 Mbits/sec Đường bus thực hiện truyền thông nối tiếp I2C gồm hai đường là
đường truyền dữ liệu nối tiếp SDA và đường truyền nhịp xung đồng hồ nối tiếp SCL. Vì cơ
chế hoạt động là đồng bộ nên nó cần có một nhịp xung tín hiệu đồng bộ. Các thiết bị hỗ trợ
I2C đều có một địa chỉ định nghĩa trước, trong đó một số bit địa chỉ là thấp có thể cấu hình.
Đơn vị hay thiết bị khởi tạo quá trình truyền thông là đơn vị Chủ và cũng là đơn vị tạo xung
nhịp đồng bộ, điều khiển cho phép kết thúc quá trình truyền. Nếu đơn vị Chủ muốn truyền
thông với đơn vị khác nó sẽ gửi kèm thông tin địa chỉ của đơn vị mà nó muốn truyền trong dữ
liệu truyền. Đơn vị Tớ đều được gán và đánh địa chỉ thông qua đó đơn vị Chủ có thể thiết lập
truyền thông và trao đổi dữ liệu. Bus dữ liệu được thiết kế để cho phép thực hiện nhiều đơn vị
Chủ và Tớ ở trên cùng Bus. Quá trình truyền thông I2C được bắt đầu bằng tín hiệu start tạo ra
bởi đơn vị Chủ. Sau đó đơn vị Chủ sẽ truyền đi dữ liệu 7 bit chứa địa chỉ của đơn vị Tớ mà
nó muốn truyền thông, theo thứ tự là các bit có trọng số lớn nhất MSB sẽ được truyền trước.
Bit thứ tám tiếp theo sẽ chứa thông tin để xác định đơn vị Tớ sẽ thực hiện vai trò nhận (0)
hay gửi (1) dữ liệu. Tiếp theo sẽ là một bit ACK xác nhận bởi đơn vị nhận đã nhận được 1
byte trước đó hay không. Đơn vị truyền (gửi) sẽ truyền đi 1 byte dữ liệu bắt đầu bởi MSB.
Tại điểm cuối của byte truyền, đơn vị nhận sẽ tạo ra một bit xác nhận ACK mới. Khuôn mẫu
9 bit này (gồm 8 bit dữ liệu và 1 bit xác nhận) sẽ được lặp lại nếu cần truyền tiếp byte nữa.
Khi đơn vị Chủ đã trao đổi xong dữ liệu cần nó sẽ quan sát bit xác nhận ACK cuối cùng rồi
sau đó sẽ tạo ra một tín hiệu dừng STOP để kết thúc quá trình truyền thông. I2C là một giao
diện truyền thông đặc biệt thích hợp cho các ứng dụng truyền thông giữa các đơn vị trên cùng
một bo mạch với khoảng cách ngắn và tốc độ thấp. Ví dụ như truyền thông giữa CPU với các
khối chức năng trên cùng một bo mạch như EEPROM, cảm biến, đồng hồ tạo thời gian
thực… Hầu hết các thiết bị hỗ trợ I2C hoạt động ở tốc độ 400Kbps, một số cho phép hoạt
động ở tốc độ cao vài Mbps. I2C khá đơn giản để thực thi kết nối nhiều đơn vị vì nó hỗ trợ cơ
chế xác định địa chỉ.
II, Sơ lược về chip thời gian thực Ds1307
DS1307 là chip đồng hồ thời gian thực (RTC : Real-time clock), khái niệm thời gian thực ở
đây được dùng với ý nghĩa thời gian tuyệt đối mà con người đang sử dụng, tình bằng giây,
phút, giờ… DS1307 là một sản phẩm của Dallas Semiconductor (một công ty thuộc Maxim
Integrated Products). Chip này có 7 thanh ghi 8-bit chứa thời gian là: giây, phút, giờ, thứ
(trong tuần), ngày, tháng, năm. Ngoài ra DS1307 còn có 1 thanh ghi điều khiển ngõ ra phụ và
56 thanh ghi trống có thể dùng như RAM. DS1307 xuất hiện ở 2 gói SOIC và DIP có 8 chân

Link download cho anh em:

Nhớ thank mình
 

Các chủ đề có liên quan khác

Top