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

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

*

Giống nhỏng tiếp xúc UART, I2C chỉ áp dụng nhì dây nhằm truyền tài liệu thân những thiết bị:

 

SDA (Serial Data) - con đường truyền cho master với slave sầu nhằm gửi với dấn dữ liệu.

 

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

 

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

 

Giống như SPI, I2C là nhất quán, vì thế Áp sạc ra của những bit được đồng nhất hóa cùng với câu hỏi đem chủng loại các bit vì chưng một biểu hiện xung nhịp được share thân master với slave sầu. Tín hiệu xung nhịp luôn được tinh chỉnh vì master.

 

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

Với I2C, tài liệu được truyền trong những lời 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 size shop cất can dự nhị phân của liên hệ slave sầu với một hoặc những khung tàn liệu cất dữ liệu đang được truyền. Thông điệp cũng bao hàm điều kiện khởi động cùng điều kiện ngừng, các bit đọc / ghi và các bit ACK / NACK thân mỗi kác loạn liệu:

*

Điều khiếu nại khởi động: Đường SDA đưa từ bỏ 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 mặt đường SCL chuyển từ mức cao xuống mức thấp.

 

Điều khiếu nại dừng: Đường SDA đưa từ bỏ mức điện áp rẻ lịch sự nút điện áp cao sau thời điểm con đường SCL chuyển trường đoản cú nấc rẻ lên đến mức cao.

 

 

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

 

Bit ACK / NACK: Mỗi form vào một tin nhắn được theo sau vày một bit xác thực / không chứng thực. Nếu một khung can hệ hoặc kác loạn liệu được trao thành công xuất sắc, một bit ACK sẽ tiến hành trả lại mang lại thứ gửi tự trang bị dấn.

 

Địa chỉ

I2C không tồn tại những đường Slave sầu Select nhỏng SPI, vị vậy yêu cầu một phương pháp không giống làm cho slave sầu biết rằng tài liệu đang rất được gửi mang lại slave này chứ không hẳn slave không giống. Nó tiến hành điều đó bằng cách định ảnh hưởng. Khung liên hệ luôn luôn là size trước tiên sau bit khởi đụng vào một lời nhắn mới.

Xem thêm: Những Điều Cần Biết Về Icloud Drive Là Gì Khác Nhau? Cách Quản Lý Icloud Drive

 

Master gửi cửa hàng của slave sầu cơ mà nó mong muốn giao tiếp với tất cả slave được kết nối với nó. Sau đó, từng slave vẫn so sánh tương tác được gửi tự master cùng với liên tưởng của chính nó. Nếu liên tưởng tương xứng, nó đang gửi lại một bit ACK năng lượng điện áp thấp mang đến master. Nếu tương tác không khớp, slave ko làm cái gi cả và mặt đường SDA vẫn ở tại mức cao.

 

Bit đọc / ghi

Khung cửa hàng bao gồm 1 bit độc nhất vô nhị ngơi nghỉ cuối lời nhắn mang đến slave biết master mong mỏi ghi tài liệu vào nó giỏi nhận dữ liệu tự nó. Nếu master mong muốn gửi dữ liệu cho slave, bit đọc / ghi ở mức năng lượng điện áp phải chăng. Nếu master đang yêu thương cầu tài liệu tự slave, thì bit ở tại mức điện áp cao.

 


*

Kác loạn liệu

Sau lúc master phạt hiện tại bit ACK từ bỏ slave sầu, khung ác liệu trước tiên đang sẵn sàng được gửi.

 

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

 

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

 

Các bước truyền tài liệu I2C

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

 

Master gửi cho mỗi slave sầu can hệ 7 hoặc 10 bit của slave mà lại nó ao ước tiếp xúc, cùng rất bit phát âm / ghi.

 

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

 

Sau Lúc mỗi khung tàn liệu được gửi, sản phẩm thừa nhận trả về một bit ACK khác mang đến đồ vật gửi nhằm xác nhận đã nhận được thành công xuất sắc size.

 

Để ngừng truyền dữ liệu, master gửi ĐK dừng mang đến slave bằng phương pháp thay đổi mức cao SCL trước khi gửi nút cao SDA.

 

Một master với rất nhiều slave

Vì I2C áp dụng định địa nên làm nhiều slave sầu có thể được điều khiển xuất phát từ 1 master duy nhất. Với địa chỉ 7 bit sẽ có được 128 (2 mũ 7) liên quan độc nhất vô nhị. Việc thực hiện xúc tiến 10 bit không phổ biến, nhưng mà nó hỗ trợ 1.024 (2 nón 10) liên can nhất. Để kết nối những slave sầu mang đến một master duy nhất, chúng ta cũng có thể đấu dây như vậy này, với năng lượng điện trở đẩy lên 4,7K Ohm kết nối đường SDA với SCL cùng với Vcc:

*

Nhiều master với khá nhiều slave

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

*

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

Có không hề ít điều sống I2C hoàn toàn có thể khiến cho nó nghe có vẻ như phức tạp đối với các giao thức khác, tuy vậy bao gồm một trong những nguyên do đường đường chính chính khiến bạn có thể mong mỏi hoặc không muốn áp dụng I2C nhằm liên kết với một máy 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 *