I2C phối hợp những bản lĩnh cực tốt của SPI với UART. Với I2C, chúng ta có thể liên kết các slave sầu với 1 master độc nhất vô nhị (như SPI) với chúng ta cũng có thể có nhiều master tinh chỉnh một hoặc các slave sầu. Điều này đích thực hữu dụng Khi bạn có nhu cầu có rất nhiều rộng một vi điều khiển ghi tài liệu vào một trong những thẻ lưu giữ duy nhất hoặc hiển thị văn bạn dạng bên trên một màn hình LCD.

Bạn đang xem: Giao tiếp i2c là gì

*

Giống nhỏng giao tiếp UART, I2C chỉ sử dụng nhì dây để truyền tài liệu thân những thiết bị:

 

SDA (Serial Data) - đường truyền mang lại master với slave sầu để gửi cùng dìm dữ liệu.

 

SCL (Serial Clock) - con đường có dấu hiệu xung nhịp.

 

I2C là một trong những giao thức truyền thông media tiếp nối, bởi vì vậy tài liệu được truyền từng bit dọc từ một đường độc nhất vô nhị (mặt đường SDA).

 

Giống nlỗi SPI, I2C là nhất quán, vì vậy Áp sạc ra của các bit được đồng nhất hóa cùng với vấn đề đem mẫu những bit bởi vì một dấu hiệu xung nhịp được chia sẻ giữa master với slave. Tín hiệu xung nhịp luôn được điều khiển và tinh chỉnh vày master.

 

Cách hoạt động vui chơi của I2C

Với I2C, dữ liệu được truyền trong số tin nhắn. Tin nhắn được phân thành những khung dữ liệu. Mỗi tin nhắn gồm một form liên hệ cất hệ trọng nhị phân của can dự slave sầu và một hoặc các khung tàn liệu cất tài liệu đang rất được truyền. Thông điệp cũng bao hàm ĐK khởi cồn và điều kiện giới hạn, những bit đọc / ghi với các bit ACK / NACK thân mỗi kác loạn liệu:

*

Điều kiện khởi động: Đường SDA gửi tự nấc năng lượng điện áp cao xuống tới mức điện áp phải chăng trước lúc đường SCL gửi tự mức cao xuống tới mức thấp.

 

Điều khiếu nại dừng: Đường SDA gửi trường đoản cú mức năng lượng điện áp rẻ sang mức điện áp cao sau khi mặt đường SCL chuyển từ bỏ nút phải chăng lên mức cao.

 

 

Bit Đọc / Ghi: Một bit tốt nhất chỉ định master đã gửi dữ liệu mang lại slave sầu (nấc năng lượng điện áp thấp) xuất xắc trải nghiệm tài liệu trường đoản cú nó (nút năng lượng điện áp cao).

 

Bit ACK / NACK: Mỗi size trong một tin nhắn được theo sau vì chưng một bit chứng thực / ko xác nhận. Nếu một size tương tác hoặc khung dữ liệu được trao thành công xuất sắc, một bit ACK sẽ được trả lại đến sản phẩm gửi từ bỏ lắp thêm nhận.

 

Địa chỉ

I2C không tồn tại các đường Slave sầu Select nlỗi SPI, vị vậy yêu cầu một cách khác khiến cho slave sầu biết rằng dữ liệu đang được gửi đến slave sầu này chứ đọng chưa hẳn slave sầu không giống. Nó thực hiện vấn đề này bằng cách định thúc đẩy. Khung cửa hàng luôn là form đầu tiên sau bit khởi đụng vào một lời nhắn bắt đầu.

Xem thêm: "Sự Nổi Bật Tiếng Anh Là Gì : Định Nghĩa, Ví Dụ Anh Việt, Định Nghĩa Của Từ Nổi Bật Trong Từ Điển Lạc Việt

 

Master gửi can hệ của slave sầu mà nó hy vọng giao tiếp với mọi slave sầu được kết nối cùng với nó. Sau kia, mỗi slave vẫn đối chiếu liên quan được gửi tự master với liên quan của nó. Nếu can hệ cân xứng, nó đang gửi lại một bit ACK năng lượng điện áp phải chăng mang lại master. Nếu can hệ không hợp, slave không làm những gì cả và con đường SDA vẫn tại mức cao.

 

Bit gọi / ghi

Khung thúc đẩy bao gồm một bit độc nhất sinh hoạt cuối tin nhắn đến slave sầu biết master hy vọng ghi dữ liệu vào nó giỏi dấn tài liệu từ nó. Nếu master mong gửi dữ liệu cho slave, bit hiểu / ghi ở mức năng lượng điện áp phải chăng. Nếu master đang yêu cầu tài liệu từ slave sầu, thì bit ở tầm mức điện áp cao.

 


*

Khung ác liệu

Sau lúc master phát hiện tại bit ACK từ bỏ slave sầu, kác loạn liệu thứ nhất đã chuẩn bị được gửi.

 

Khung ác liệu luôn luôn bao gồm độ lâu năm 8 bit với được gửi cùng với bit quan trọng duy nhất trước. Mỗi khung ác liệu ngay lập tức tiếp nối là 1 trong bit ACK / NACK nhằm xác minch rằng form vẫn được trao thành công. Bit ACK phải được nhận vày master hoặc slave sầu (tùy thuộc vào dòng nào vẫn gửi dữ liệu) trước khi khung dữ liệu tiếp theo sau rất có thể được gửi.

 

Sau khi tất cả các khung ác liệu đã làm được gửi, master có thể gửi một ĐK ngừng cho slave sầu để tạm ngưng quá trình truyền. Điều kiện dừng là sự chuyển đổi năng lượng điện áp từ rẻ lên rất cao trê tuyến phố SDA sau khoản thời gian chuyến qua trường đoản cú phải chăng lên rất cao trê tuyến phố SCL , cùng với mặt đường SCL vẫn ở tầm mức cao.

 

Các bước truyền dữ liệu I2C

Master gửi điều kiện khởi rượu cồn đến đa số slave sầu được kết nối bằng cách gửi con đường SDA tự nấc năng lượng điện áp gánh vác nút điện áp tốt trước khi gửi đường SCL từ nấc cao xuống mức tốt.

 

Master gửi cho từng slave sầu địa chỉ 7 hoặc 10 bit của slave mà lại nó ao ước tiếp xúc, cùng rất bit gọi / ghi.

 

Mỗi slave vẫn đối chiếu tác động được gửi từ bỏ master cùng với can dự của chính nó. Nếu liên can trùng khớp, slave sẽ trả về một bit ACK bằng phương pháp kéo mẫu SDA xuống phải chăng cho một bit. Nếu địa chỉ còn master không hợp với hệ trọng của slave sầu, slave rời khỏi mặt đường SDA cao. Master gửi hoặc nhận khung dữ liệu.

 

Sau Khi từng khung ác liệu được gửi, sản phẩm công nghệ dấn trả về một bit ACK không giống cho vật dụng gửi để chứng thực đã nhận được thành công form.

 

Để giới hạn truyền tài liệu, master gửi điều kiện dừng mang đến slave sầu bằng cách đổi khác mức cao SCL trước lúc chuyển mức cao SDA.

 

Một master với tương đối nhiều slave

Vì I2C thực hiện định địa nên làm những slave có thể được điều khiển và tinh chỉnh từ một master độc nhất. Với shop 7 bit sẽ sở hữu 128 (2 mũ 7) hệ trọng nhất. Việc áp dụng can hệ 10 bit ko thịnh hành, cơ mà nó hỗ trợ 1.024 (2 mũ 10) tác động tuyệt nhất. Để liên kết nhiều slave sầu cho một master tuyệt nhất, bạn cũng có thể đấu dây như thế này, với điện trsinh sống đẩy lên 4,7K Ohm kết nối mặt đường SDA với SCL cùng với Vcc:

*

đa phần master với nhiều slave

phần lớn master có thể được kết nối với cùng 1 slave sầu hoặc các slave. Sự ráng với rất nhiều master vào và một hệ thống xẩy ra Khi nhị master nỗ lực gửi hoặc nhấn dữ liệu cùng một lúc qua đường SDA. Để giải quyết vụ việc này, từng master cần phải phân phát hiện xem mặt đường SDA thấp xuất xắc cao trước lúc truyền lời nhắn. Nếu đường SDA phải chăng, điều này có nghĩa là một master khác tất cả quyền tinh chỉnh và điều khiển bus với master đó đề nghị chờ để gửi tin nhắn nhắn. Nếu mặt đường SDA cao thì có thể truyền lời nhắn bình an. Để kết nối những master với khá nhiều slave sầu, hãy sử dụng sơ đồ vật sau, với những điện trnghỉ ngơi kéo lên 4,7K Ohm kết nối các mặt đường SDA và SCL với Vcc:

*

Ưu điểm và điểm yếu kém của I2C

Có không ít điều sống I2C có thể khiến nó nghe có vẻ phức hợp đối với các giao thức không giống, mà lại bao gồm một vài nguyên nhân quang minh chính đại khiến cho chúng ta cũng có thể hy vọng hoặc không thích sử dụng I2C nhằm liên kết với một thứ núm thể:

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 *