Tải bản đầy đủ (.ppt) (24 trang)

chuẩn giao tiếp i2c và ứng dụng i2c trong 8951

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (631.02 KB, 24 trang )

GVHD: Thầy Võ Xuân Thịnh
Thực hiện:
Nhóm:
Trần Hoàng Đạt MSSV: 0620124
Nguyễn Huỳnh Nguyên MSSV: 0620046
Tổng quan:

1./ Giới thiệu chung về I2C:

1.1/ Đặc điểm chung của I2C

1.2/ Các chế độ hoạt động.

2./ Ứng dụng I2C trong 8051:

2.1/ Đồng hồ thời gian thực (Master-Slave).

2.2/ Chat hai vi điều khiển (Multi-Master).

3./ Hướng phát triển:
1./Giới thiệu chung về I2C:

I2C (Inter-Intergrated Circuit) là một loại bus nối tiếp
được phát triển bởi hãng linh kiện điện tử Philip.

Do tính ưu việt và đơn giản, I2C đã được chuẩn hoá và
ứng dụng rộng rãi trong các module truyềnn thông nối
tiếp của vi mạch tích hợp ngày nay.
1.1/ Đặc điểm chung của I2C:


Mỗi thiết bị sẽ được nhận ra bởi một địa chỉ duy nhất
với một quan hệ chủ/tớ tồn tại trong suốt thời gian kết
nối.

Mỗi thiết bị có thể hoạt động như là thiết bị nhận dữ
liệu hay vừa truyền vừa nhận. Hoạt động truyền hay
nhận còn tùy thuộc vào việc thiết bị đó là chủ (master)
hay tớ (slave).

Một giao tiếp I2C gồm có 2 dây: Serial Data (SDA) và
Serial Clock (SCL). SDA là đường truyền dữ liệu 2
hướng, còn SCL là đường truyền xung đồng hồ và chỉ
theo một hướng (master điều khiển).

Có 3 tốc độ truyền:

100 kbit/s stardard mode.

400 kbit/s fast mode.

3.4 Mbit/s high-speed mode.

Cấu trúc bên trong của chân SDA và SCL.
2.2/ Các chế độ hoạt động

Có 2 chế độ hoạt động: Master-slave và Multi-Master.
Ch đ Master-Slaveế ộ

Điều kiện START (S), điều kiện STOP (P)


Bus coi như bận sau điều kiện START, và trở lại rảnh
sau điều kiện STOP.

Quá trình truyền:

Master kiểm tra bus, nếu rỗi (SCL=1,SDA=1) sẽ gửi
điều kiện START.

Master gửi địa chỉ slave mà nó muốn truyền dữ liệu
lên bus.

Slave có địa chỉ đúng sẽ gửi lại tín hiệu ACK báo
cho master.

Master sau khi nhận ACK sẽ gửi dữ liệu cho slave.

Khi nhận đủ một byte slave sẽ gửi tín hiệu ACK báo
cho master.

Master gửi điều kiện STOP.

Định dạng khung truyền một byte dữ liệu:

Quá trình nhận:

Master kiểm tra bus, nếu rỗi (SCL=1,SDA=1) sẽ gửi
điều kiện START.

Master gửi địa chỉ slave mà nó muốn nhận dữ liệu
lên bus.


Slave có địa chỉ đúng sẽ gửi lại tín hiệu ACK báo
cho master.

Master sau khi nhận ACK sẽ bắt đầu nhận dữ liệu.

Khi nhận đủ một byte master sẽ gửi tín hiệu ACK
báo cho slave. Nếu master không gửi ACK thì slave
ngưng việc truyền

Master gửi điều kiện STOP.

nh d ng khung nh n n byte d li u:Đị ạ ậ ữ ệ
Ch đ Multi-Masterế ộ

Việc truyền và nhận dữ liệu trong chế độ này hoàn toàn
giống với chế độ Master-Slave.

Tuy nhiên ở chế độ này việc truyền nhận có thế xuất hiện
tình huống Đụng Bus.

Chủ bus: là thiết bị có thể đưa dây SCL hay SDA lên
mức cao khi nó cần.

Trong quá trình giao tiếp master nào kéo SDA xuống
thấp trước sẽ chiếm quyền chủ bus.
2./ ng d ng I2C trong 8951Ứ ụ

Vi điều khiển này không có module phần cứng hỗ trỡ
giao tiếp I2C, vì thế khi muốn giao tiếp với các thiết bị

I2C ta phải viết module I2C mền.

Những dòng Pic có hỗ trợ module I2C cứng.
2.1/ Đồng hồ thời gian thực

Mạch thực hiện giao tiếp với IC realtime là DS1307 để
nhận ngày, tháng, năm, giờ, phút, giây; hiển thị lên
LCD (16*2).

Mạch có khả năng hiện thị giờ(24), phút giây, ngày,
tháng, năm; và điều chỉnh giá trị hiển thị.
2.2/ Chat hai vi điều khiển

Mạch hoạt động ở chế độ multi-master với hai
master(vi điều khiển) và một slave (EEPOM 24C16).

Mạch có khả năng: master 1 nhận dữ liệu từ serialport
ghi vào 24C16 và master 2 đọc dữ liệu từ 24C16 và ghi
ra serialport, ngược lại
3./ Hướng phát triển

S th c hi n vi c giao ti p I2C d a trên module c ng ẽ ự ệ ệ ế ự ứ
có s n các dòng vi đi u khi n khác nh Pic…ẵ ở ề ể ư

×