Bài viết này, chúng ta đang tìm hiểu về giao thức tiếp xúc I2C, Hartware của chính nó, bí quyết tài liệu được truyền với các cấu hình khác biệt mà nó vận động.

Bạn đang xem: I2c là gì

Giới thiệu về tiếp xúc I2C

I2C là tên viết tắt của cụm từ tiếng anh “Inter-Integrated Circuit”. Nó là một trong giao thức tiếp xúc được phát triển bởi Philips Semiconductors nhằm truyền tài liệu giữa một Chip xử lý trung trung ương với rất nhiều IC bên trên cùng một board mạch chỉ áp dụng hai tuyến đường truyền bộc lộ.

Do tính đơn giản của chính nó phải loại giao thức này được thực hiện rộng rãi mang lại giao tiếp giữa vi điều khiển và tinh chỉnh cùng mảng cảm biến, những lắp thêm hiển thị, máy IoT, EEPROMs, v.v …

Đây là một trong những nhiều loại giao thức giao tiếp thông liền nhất quán. Nó Tức là các bit dữ liệu được truyền từng bit một theo những khoảng tầm thời gian gần như đặn được tùy chỉnh bởi một dấu hiệu đồng hồ đeo tay tđam mê chiếu.

Đặc điểm

Sau đấy là một trong những điểm sáng đặc biệt quan trọng của giao thức giao tiếp I2C:

Chỉ cần có hai tuyến phố bus (dây) tầm thường nhằm điều khiển và tinh chỉnh ngẫu nhiên thứ / IC nào bên trên mạng I2CKhông cần thỏa thuận hợp tác trước về tốc độ truyền tài liệu như trong tiếp xúc UART. Vì vậy, vận tốc truyền dữ liệu rất có thể được kiểm soát và điều chỉnh bất kể bao giờ đề xuất thiếtCơ chế đơn giản dễ dàng để đảm bảo dữ liệu được truyềnSử dụng khối hệ thống xúc tiến 7 bit nhằm xác minh một trang bị / IC rõ ràng trên bus I2CCác mạng I2C thuận lợi không ngừng mở rộng. Các trang bị bắt đầu rất có thể được kết nối đơn giản và dễ dàng với hai tuyến phố bus chung I2C

Phần cứng

Bus thứ lý I2C

Bus I2C (dây giao tiếp) chỉ bao gồm nhị dây cùng chọn cái tên là Serial Cloông xã Line (SCL) cùng Serial Data Line (SDA). Dữ liệu được truyền đi được gửi vào dây SDA và được đồng nhất với biểu lộ đồng hồ đeo tay (clock) từ SCL. Tất cả các máy / IC trên mạng I2C được kết nối với cùng con đường SCL cùng SDA nlỗi sau:

*

Cả hai tuyến phố bus I2C (SDA, SCL) các chuyển động như những bộ lái rất máng hở (open drain). Nó Tức là ngẫu nhiên thiết bị / IC bên trên mạng I2C có thể lái SDA và SCL xuống mức thấp, nhưng lại cần yếu lái bọn chúng lên đến mức cao. Vì vậy, một điện trlàm việc dàn ra (khoảng tầm 1 kΩ mang đến 4,7 kΩ) được sử dụng cho mỗi đường bus, để lưu lại cho chúng ở tại mức cao (sống năng lượng điện áp dương) theo mặc định.

Lý do thực hiện một hệ thống cực máng hở (open drain) là để ko xẩy ra hiện tượng nđính mạch, điều này rất có thể xảy ra lúc 1 máy nỗ lực kéo mặt đường dây lên cao và một số trong những đồ vật khác nỗ lực kéo con đường dây xuống phải chăng.

Thiết bị công ty (Master) với tớ (Slave)

Các sản phẩm công nghệ kết nối với bus I2C được phân nhiều loại Hoặc là lắp thêm Chủ (Master) hoặc là lắp thêm Tớ (Slave). Tại bất cứ thời khắc như thế nào thì chỉ tất cả duy nhất một máy Master sống trang thái hoạt động trên bus I2C. Nó tinh chỉnh con đường tín hiệu đồng hồ đeo tay SCL và đưa ra quyết định vận động nào sẽ được thực hiện trê tuyến phố tài liệu SDA.

Tất cả những thứ thỏa mãn nhu cầu các hướng dẫn tự lắp thêm Master này hầu hết là Slave. Để minh bạch thân những sản phẩm công nghệ Slave sầu được liên kết với 1 bus I2C, từng sản phẩm công nghệ Slave sầu được gán một tác động đồ vật lý 7-bit thắt chặt và cố định.

Lúc một thứ Master mong muốn truyền dữ liệu mang đến hoặc nhấn dữ liệu xuất phát từ một lắp thêm Slave sầu, nó xác định địa chỉ máy Slave sầu cụ thể này trên tuyến đường SDA và tiếp nối thực hiện truyền dữ liệu. Vì vậy, tiếp xúc gồm hiệu quả diễn ra giữa vật dụng Master với một sản phẩm Slave rõ ràng.

Tất cả các đồ vật Slave sầu khác ko bình luận trừ khi xúc tiến của chúng được chỉ định vị sản phẩm Master trên loại SDA.

*

Giao thức truyền dữ liệu

Giao thức dưới đây (tập hòa hợp các quy tắc) được theo sau do sản phẩm Master và những lắp thêm Slave để truyền dữ liệu giữa bọn chúng.

Dữ liệu được truyền giữa trang bị Master cùng các thiết bị Slave sầu thông qua một con đường dữ liệu SDA duy nhất, trải qua những chuỗi bao gồm cấu tạo gồm các số 0 với 1 (bit). Mỗi chuỗi số 0 và 1 được điện thoại tư vấn là giao dịch thanh toán (transaction) với tài liệu trong mỗi giao dịch thanh toán có cấu tạo nhỏng sau:

*

Điều kiện bắt đầu (Start Condition)

Bất cứ đọng bao giờ một sản phẩm chủ / IC ra quyết định bắt đầu một giao dịch, nó đã đưa mạch SDA từ nấc năng lượng điện áp cao xuống tới mức năng lượng điện áp thấp trước khi đường SCL đưa trường đoản cú cao xuống phải chăng.

Khi điều kiện bắt đầu được gửi bởi vì lắp thêm Master, tất cả những trang bị Slave sầu số đông vận động trong cả lúc bọn chúng ở chính sách ngủ (sleep mode) và ngóng bit xúc tiến.

*

Kân hận địa chỉ

Nó bao hàm 7 bit và được lấp đầy với địa chỉ của máy Slave sầu cho / từ kia đồ vật Master đề xuất gửi / dìm tài liệu. Tất cả các vật dụng Slave sầu bên trên bus I2C đối chiếu các bit tương tác này cùng với liên can của chúng.

Bit Read / Write 

Bit này xác lý thuyết truyền tài liệu. Nếu đồ vật Master / IC cần gửi dữ liệu mang đến sản phẩm công nghệ Slave sầu, bit này được tùy chỉnh thiết lập là ‘0’. Nếu IC Master cần thừa nhận tài liệu từ bỏ vật dụng Slave, bit này được cấu hình thiết lập là ‘1’.

Xem thêm: Cấy Nguyên Bào Sợi Là Gì - Nuôi Cấy Thành Công Nguyên Bào Sợi

Bit ACK / NACK

ACK / NACK là viết tắt của Acknowledged/Not-Acknowledged. Nếu địa chỉ đồ dùng lý của bất kỳ trang bị Slave nào trùng cùng với can hệ được lắp thêm Master phân phát, cực hiếm của bit này được set là ‘0’ vì chưng sản phẩm Slave sầu. trái lại, nó vẫn ở tại mức xúc tích ‘1’ (mang định).

Kân hận dữ liệu

Nó bao hàm 8 bit cùng chúng được tùy chỉnh thiết lập vày mặt gửi, với các bit dữ liệu nên truyền cho tới mặt nhận. Kăn năn này được theo sau vị một bit ACK / NACK cùng được phối thành ‘0’ vì bên nhận giả dụ nó nhấn thành công dữ liệu. Ngược lại, nó vẫn ở mức lô ghích ‘1’.

Sự phối hợp của kăn năn tài liệu theo sau do bit ACK / NACK được tái diễn cho đến quy trình truyền dữ liệu được hoàn toàn.

Điều khiếu nại hoàn thành (Stop condition)

Sau Khi các kác loạn liệu quan trọng được truyền qua mặt đường SDA, đồ vật Master chuyển đường SDA từ bỏ mức năng lượng điện áp thấp sang nấc điện áp cao trước khi con đường SCL gửi trường đoản cú cao xuống thấp.

*

Giao tiếp I2C vận động như vậy nào?

Giao tiếp I2C được ban đầu bởi vì sản phẩm công nghệ Master hoặc nhằm gửi tài liệu mang lại sản phẩm Slave hoặc nhận tài liệu từ bỏ sản phẩm công nghệ đó. Chúng ta hãy tìm hiểu về phong thái thao tác của tất cả nhị kịch bản một giải pháp chi tiết.

Gửi tài liệu mang lại sản phẩm Slave

Trình trường đoản cú chuyển động tiếp sau đây ra mắt khi một sản phẩm công nghệ Master gửi dữ liệu cho một trang bị Slave sầu cụ thể thông qua bus I2C:

Thiết bị Master gửi điều kiện bắt đầu mang lại toàn bộ các vật dụng SlaveThiết bị Master gửi 7 bit liên can của trang bị Slave sầu cơ mà lắp thêm Master ao ước tiếp xúc cùng rất bit Read/Write

*

Mỗi trang bị Slave sầu so sánh ảnh hưởng được gửi trường đoản cú sản phẩm Master cho ảnh hưởng riêng biệt của chính nó. Nếu liên hệ trùng khớp, sản phẩm công nghệ Slave gửi về một bit ACK bằng cách kéo mặt đường SDA xuống phải chăng cùng bit ACK / NACK được thiết lập cấu hình là ‘0’,. Nếu địa chỉ còn thiết bị Master không phù hợp với shop riêng rẽ của sản phẩm công nghệ Slave sầu thì con đường SDA ở mức cao và bit ACK / NACK vẫn ở tầm mức ‘1’ (khoác định).

*

Thiết bị Master gửi hoặc nhấn kác loạn liệu. Nếu sản phẩm Master ước ao gửi dữ liệu cho thứ Slave sầu, bit Read / Write là nút điện áp thấp. Nếu sản phẩm Master sẽ thừa nhận dữ liệu trường đoản cú vật dụng Slave, bit này là nút năng lượng điện áp cao.

*

Nếu khung tàn liệu được thứ Slave sầu nhận thấy thành công, nó vẫn tùy chỉnh cấu hình bit ACK / NACK thành ‘0’, thông tin mang lại máy Master tiếp tục

*

Sau khi tất cả dữ liệu được gửi mang lại thiết bị Slave sầu, máy Master gửi ĐK ngừng để thông tin cho tất cả những sản phẩm Slave biết rằng bài toán truyền dữ liệu vẫn chấm dứt.

*

Hình sau đây trình bày cục bộ các bit tài liệu được gửi trên đường SDA và máy điều khiển và tinh chỉnh chúng khi vật dụng Master gửi tài liệu đến thiết bị Slave.

*

Hình dưới đây biểu hiện toàn bộ những bit tài liệu được gửi trên đường SDA với thiết bị tinh chỉnh bọn chúng lúc trang bị Master thừa nhận dữ liệu đến thiết bị Slave sầu.

*

Các cơ chế hoạt động của I²C

Dựa vào tốc độ ta chia thành 2 loại

Chế độ chuẩn (standard mode) chuyển động sinh hoạt tốc độ 100 Kbit/s.Chế độ vận tốc rẻ (low-tốc độ mode) vận động sống vận tốc 10 Kbit/s.

Nếu phân tách theo dục tình công ty tớ:

Một Master một Slave sầu.Một Master nhiều Slave.đa phần Master các Slave sầu.

Một Master những Slave

Bởi do I2C áp dụng shop, các sản phẩm công nghệ Slave rất có thể được tinh chỉnh và điều khiển xuất phát từ một thứ Master độc nhất vô nhị. Với 7 bit cửa hàng tương xứng 128 (27) tương tác duy nhất gồm sẵn. Để liên kết nhiều thiết bị Slave với cùng một một đồ vật Master nhất, hãy nối dâgiống hệt như hình dưới, với các điện trnghỉ ngơi dàn ra 4.7 kΩ liên kết các con đường SDA với SCL cùng với Vcc:

*

Nhiều Master những Slave sầu.

Xem thêm: Tạo Mới Angular Cli Là Gì - Tìm Hiểu Angular, Tạo Project Sample Angular

Nhiều lắp thêm Master hoàn toàn có thể được kết nối với cùng 1 trang bị Slave sầu đơn hoặc các sản phẩm công nghệ Slave sầu. Vấn đề cùng với nhiều lắp thêm Master vào và một khối hệ thống lộ diện lúc hai trang bị Master nỗ lực gửi hoặc dìm dữ liệu và một thời gian bên trên cái SDA. Để giải quyết và xử lý sự việc này, mỗi vật dụng Master cần vạc hiện xem mặt đường SDA rẻ hay cao trước khi truyền một thông điệp. Nếu đường SDA tốt, điều đó Tức là một đồ vật Master khác gồm quyền tinh chỉnh bus và sản phẩm công nghệ Master còn lại buộc phải đợi để nhắn tin nhắn. Nếu đường SDA cao thì bình yên để truyền thiết lập thông điệp. Để liên kết nhiều thiết bị Master với khá nhiều đồ vật Slave sầu, hãy sử dụng sơ trang bị tiếp sau đây, với điện trsinh hoạt kéo lên 4.7 kΩ kết nối các đường SDA và SCL với Vcc:

*

Tổng kết

I2C là giao thức truyền thông nối liền đồng bộ phổ biến hiện nay, được thực hiện rộng thoải mái trong Việc kết nối nhiều IC với nhau, hay kết nối giữa IC và những ngoại vi với vận tốc tốt.

Qua bài viết này, tôi hy vọng bạn đã có đều kiến thức và kỹ năng khăng khăng về một số loại giao thức này. Nếu bạn có ngẫu nhiên câu hỏi hoặc có ý kiến góp phần cho nội dung bài viết thì vui mắt để lại phản hồi sau đây. Và hãy nhớ đăng ký để thừa nhận thêm các nội dung bài viết như vậy này trong vỏ hộp thư mang lại của bạn!


Chuyên mục: Ý NGHĨA
Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *