ĐỊNH NGHĨA.4 ❖ Chuẩn giao tiếp I2C Inter-Integrated Circuit : là một loại bus nối tiếp hai chiều với hai dây tín hiệu được phát triển bởi hãng sản xuất linh kiện điện tử cho quá trình
Trang 1TÌM HIỂU VỀ
CHUẨN GIAO
TIẾP I2C
🌏
Trang 2MỤC LỤC 2
01
02
03
05
06
07
Định nghĩa, cấu
tạo
Phân loại và cách
ghép nối
Nguyên lí hoạt
động
So sánh
Ứng dụng
Một ví dụ
cụ thể 04
Ưu và nhược điểm
08 Kết luận
Trang 31 ĐỊNH NGHĨA,
CẤU TẠO
Trang 41.1 ĐỊNH NGHĨA.
4
❖ Chuẩn giao tiếp I2C (Inter-Integrated Circuit) :
là một loại bus nối tiếp hai chiều với hai dây tín
hiệu được phát triển bởi hãng sản xuất linh kiện
điện tử cho quá trình giao tiếp giữa các IC
❖ Giao tiếp I2C là quá trình truyền thông đồng bộ
nối tiếp, hỗ trợ nhiều master (thiết bị chủ) và
slave (thiết bị tớ) trên đường truyền I2C phù
hợp với các ngoại vi mà sự ưu tiên về kết nối
đơn giản và chi phí sản xuất thấp
Trang 51.2 CẤU TẠO
Trang 62 PHÂN LOẠI VÀ
CÁCH GHÉP NỐI
6
Trang 72,pHÂN LOẠI, cách ghép nối
1 Một master một
slave
2 Một master nhiều Slave 3 Nhiều Master nhiều Slave
Trang 83 Nguyên lí hoạt động
8
Trang 92 Master gửi địa chỉ ra mạng lưới
3 Các slave so sánh địa chỉ
4 Master gửi (hoặc nhận) khung dữ liệu
5 Master gửi lệnh dừng
Trang 104 Ưu và nhược điểm của chuẩn
Ưu điểm Nhược điểm
⮚ Chỉ sử dụng 2 dây, hỗ trợ nhiều
master và nhiều slave
⮚ Cấu trúc đơn giản dễ dàng sử
dụng, giá thành rẻ
⮚ Tốc độ truyền dữ liệu giao tiếp I2C chậm hơn so với giao tiếp SPI, UART
⮚ Bit ACK / NACK xác nhận rằng mỗi
khung dữ liệu hay địa chỉ được gửi
(hoặc nhận) thành công
⮚ Kích thước của khung dữ liệu được giới hạn ở 8 bit.
⮚ Phần cứng ít phức tạp hơn với giao
tiếp UART
⮚ Độ dài cáp giới hạn: Độ dài cáp tối
đa của I2C chỉ vài mét
⮚ Độ trễ cao: I2C có độ trễ cao hơn các giao thức khác
⮚ Giao thức nổi tiếng và được sử
dụng rộng rãi
Trang 115 So sánh với các giao tiếp
Đặc điểm so sánh UART
(Universal Asynchronous Receiver/Transmitter) (Inter – Integrated Circuit)I2C
Sơ đồ kết nối Chân TX của thiết bị 1 được nối với chân RX của
thiết bị 2; Chân RX của thiết bị 1 nối với chân TX của thiết bị 2;
Chân SDA của thiết bị 1 được nối với chân SDA của thiết bị 2, Chân SCL của thiết bị 1 được nối với chân SCL của thiết bị 2;
Số lượng dây và thiết bị kết
nối Giao tiếp đơn điểm, Chỉ kết nối được giữa 2 thiết bị 2 dây (TX-RX)
với nhau
2 dây (SDA-SCL) Giao tiếp đa điểm, Có thể kết nối được nhiều thiết bị (127 thiết bị) với cùng 1 bus
Chế độ truyền thông Truyền thông bất đồng bộ Truyền thông đồng bộ
Tốc độ truyền
thông Có thể đạt được tốc độ truyền tối đa lên đến 115200 baud Chỉ đạt tốc độ truyền thông tối đa là 400kHz
Độ dài truyền thông tối đa Khoảng 10m Khoảng 1m
Dung lượng đệm trên Arduino 64 byte cho việc truyền và 64 byte cho việc nhận 32 byte cho việc truyền và 32 byte cho việc nhận
Điều khiển dòng dữ liệu Không hỗ trợ Có hỗ trợ
Chi phí xây dựng Đắt hơn Rẻ hơn
Trang 126 Ứng dụng 12
Trang 137 Một ví dụ cụ thể:
Vd1: Viết chương trình cho
bên phát và bên thu dùng
giao thức I2C trao đổi dữ liệu
giữa 2 Arduino Uno.
Trang 14Sơ đồ ghép nối giữa thiết bị phát và thu
Trang 15Lưu đồ thuật toán
Trang 16Mô phỏng trên proteus 16
Trang 17Kết quả được mô phỏng
Trang 187 Một ví dụ cụ thể:
Vd2: Viết chương trình cho
Raspberry pi đọc dữ liệu từ
cảm biến i2c, gửi dữ liệu của
cảm biến lên thingspeak
18
Trang 19Sơ đồ ghép nối giữa thiết bị phát
và thu
Trang 20Kết quả thu được