Tổng quan về I2C

Được phát triển bởi Philips vào những năm 1980, I2C đã trở thành một trong những giao thức truyền thông nối tiếp phổ biến nhất trong ngành điện tử. I2C cho phép liên lạc giữa các linh kiện điện tử hoặc IC với IC, cho dù các thành phần có cùng PCB hay kết nối qua cáp hay không. Tính năng chính của I2C là khả năng có một số lượng lớn các thành phần trên một bus giao tiếp duy nhất chỉ với hai dây giúp I2C hoàn hảo cho các ứng dụng đòi hỏi sự đơn giản và chi phí thấp hơn tốc độ.

Tổng quan về Giao thức I2C

I2C là một giao thức truyền thông nối tiếp chỉ yêu cầu hai đường tín hiệu được thiết kế để giao tiếp giữa các chip trên PCB. I2C ban đầu được thiết kế cho truyền thông 100kbps nhưng các chế độ truyền dữ liệu nhanh hơn đã được phát triển qua nhiều năm để đạt tốc độ lên tới 3,4Mbit. Giao thức I2C đã được thiết lập như một tiêu chuẩn chính thức, cung cấp khả năng tương thích tốt giữa các triển khai I2C và khả năng tương thích ngược tốt.

Tín hiệu I2C

Giao thức I2C chỉ sử dụng hai đường tín hiệu hai hướng để giao tiếp với tất cả các thiết bị trên bus I2C. Hai tín hiệu được sử dụng là:

Lý do I2C chỉ có thể sử dụng hai tín hiệu để giao tiếp với một số thiết bị ngoại vi là cách giao tiếp giữa bus được xử lý. Mỗi giao tiếp I2C bắt đầu với một địa chỉ 7 bit (hoặc 10 bit) gọi ra địa chỉ của thiết bị ngoại vi phần còn lại của giao tiếp có nghĩa là để nhận được thông tin liên lạc. Điều này cho phép nhiều thiết bị trên bus I2C đóng vai trò của thiết bị chính khi nhu cầu của hệ thống ra lệnh. Để ngăn chặn xung đột giao tiếp, giao thức I2C bao gồm khả năng phát hiện va chạm và trọng tài cho phép truyền thông trơn tru dọc theo xe buýt.

Ưu điểm và hạn chế

Là một giao thức truyền thông, I2C có rất nhiều lợi thế mà thực hiện là một lựa chọn tốt cho nhiều ứng dụng thiết kế nhúng. I2C mang lại những ưu điểm sau:

Với tất cả những ưu điểm này, I2C cũng có một vài hạn chế có thể cần phải được thiết kế xung quanh. Các giới hạn I2C quan trọng nhất bao gồm:

Các ứng dụng

Bus I2C là một lựa chọn tuyệt vời cho các ứng dụng đòi hỏi chi phí thấp và thực hiện đơn giản hơn là tốc độ cao. Ví dụ, đọc IC bộ nhớ nhất định, truy cập DAC và ADC, đọc cảm biến , truyền và điều khiển hành động hướng người dùng, đọc cảm biến phần cứng và giao tiếp với nhiều bộ vi điều khiển là sử dụng phổ biến của giao thức truyền thông I2C.