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

Giống như giao tiếp UART, I2C chỉ áp dụng hai dây để truyền dữ liệu giữa các thiết bị:
SDA (Serial Data) - con đường truyền mang đến master cùng slave để gửi và nhận dữ liệu.
SCL (Serial Clock) - đường mang biểu thị xung nhịp.
I2C là một giao thức truyền thông nối tiếp, vị vậy dữ liệu được truyền từng bit dọc theo một đường duy nhất (đường SDA).
Giống như SPI, I2C là đồng bộ, vì vậy đầu ra của những bit được đồng hóa hóa với bài toán lấy mẫu những bit do một dấu hiệu xung nhịp được share giữa master cùng slave. Bộc lộ xung nhịp luôn luôn được tinh chỉnh và điều khiển bởi master.
Cách buổi giao lưu của I2C
Với I2C, tài liệu được truyền trong những tin nhắn. Tin nhắn được phân thành các form dữ liệu. Mỗi tin nhắn bao gồm một khung địa chỉ cửa hàng chứa showroom nhị phân của địa chỉ slave cùng một hoặc các khung tài liệu chứa dữ liệu đang rất được truyền. Thông điệp cũng bao hàm điều khiếu nại khởi rượu cồn và điều kiện dừng, các bit gọi / ghi và các bit ACK / NACK giữa mỗi form dữ liệu:

Điều kiện khởi động: Đường SDA chuyển từ mức năng lượng điện áp cao xuống đến mức điện áp thấp trước khi đường SCL chuyển từ nấc cao xuống tới mức thấp.
Điều kiện dừng: Đường SDA đưa từ mức điện áp phải chăng sang mức năng lượng điện áp cao sau thời điểm đường SCL gửi từ nút thấp lên đến mức cao.
Bit Đọc / Ghi: Một bit duy nhất hướng dẫn và chỉ định master đã gửi dữ liệu đến slave (mức điện áp thấp) hay yêu cầu tài liệu từ nó (mức điện áp cao).
Bit ACK / NACK: Mỗi khung trong một tin nhắn được theo sau do một bit xác nhận / không xác nhận. Nếu như một khung địa chỉ cửa hàng hoặc size dữ liệu được trao thành công, một bit ACK sẽ được trả lại cho thiết bị nhờ cất hộ từ máy nhận.
Địa chỉ
I2C không tồn tại các mặt đường Slave Select như SPI, bởi vì vậy đề nghị một cách khác để cho slave biết rằng dữ liệu đang được gửi cho slave này chứ chưa phải slave khác. Nó tiến hành điều này bằng phương pháp định địa chỉ. Khung địa chỉ luôn là khung thứ nhất sau bit khởi cồn trong một lời nhắn mới.
Xem thêm:
Master gửi địa chỉ cửa hàng của slave nhưng nó muốn tiếp xúc với phần nhiều slave được liên kết với nó. Sau đó, từng slave sẽ so sánh địa chỉ được nhờ cất hộ từ master với showroom của thiết yếu nó. Nếu địa chỉ cửa hàng phù hợp, nó đã gửi lại một bit ACK năng lượng điện áp thấp đến master. Nếu showroom không khớ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 showroom bao bao gồm một bit độc nhất ở cuối tin nhắn cho slave biết master ước ao ghi tài liệu vào nó tuyệt nhận tài liệu từ nó. Ví như master mong muốn gửi tài liệu đến slave, bit phát âm / ghi ở tại mức điện áp thấp. Nếu như master đang yêu thương cầu dữ liệu từ slave, thì bit ở tầm mức điện áp cao.

Khung dữ liệu
Sau khi master phát hiện nay bit ACK tự slave, form dữ liệu thứ nhất đã chuẩn bị sẵn sàng được gửi.
Khung dữ liệu luôn luôn có độ dài 8 bit cùng được nhờ cất hộ với bit đặc biệt nhất trước. Từng khung dữ liệu ngay sau đó là một bit ACK / NACK nhằm xác minh rằng size đã được trao thành công. Bit ACK phải được nhận bởi master hoặc slave (tùy thuộc vào chiếc nào đang gửi dữ liệu) trước lúc khung tài liệu tiếp theo hoàn toàn có thể được gửi.
Sau khi toàn bộ các khung dữ liệu đã được gửi, master rất có thể gửi một đk dừng đến slave để tạm dừng quy trình truyền. Điều kiện giới hạn là sự chuyển đổi điện áp từ thấp lên rất cao trên đường SDA sau khoản thời gian chuyển tiếp trường đoản cú thấp lên cao trên con đường SCL , với đường SCL vẫn ở mức cao.
Các bước truyền tài liệu I2C
Master gửi đk khởi đụng đến hồ hết slave được kết nối bằng cách chuyển con đường SDA từ bỏ mức năng lượng điện áp cự phách mức điện áp thấp trước lúc chuyển đường SCL từ bỏ mức cao xuống tới mức thấp.Master gửi cho từng slave địa chỉ cửa hàng 7 hoặc 10 bit của slave nhưng nó mong muốn giao tiếp, cùng với bit phát âm / ghi.
mỗi slave đã so sánh showroom được gửi từ master với địa chỉ cửa hàng của chính nó. Nếu địa chỉ cửa hàng trùng khớp, slave sẽ trả về một bit ACK bằng cách kéo chiếc SDA xuống thấp cho một bit. Nếu địa chỉ từ master không hợp với địa chỉ cửa hàng của slave, slave rời ra khỏi đường SDA cao. Master gởi hoặc nhấn khung dữ liệu.
sau khoản thời gian mỗi khung dữ liệu được chuyển, thiết bị dìm trả về một bit ACK khác mang đến thiết bị giữ hộ để xác thực đã nhận thành công khung.
Xem thêm: Nữ Sinh 1975 Mệnh Gì - Tử Vi Trọn Đời Của Tuổi Ất Mão
Để ngừng truyền dữ liệu, master gửi đk dừng đến slave bằng cách chuyển đổi mức cao SCL trước khi chuyển mức cao SDA.
Một master với tương đối nhiều slave
Vì I2C thực hiện định add nên nhiều slave hoàn toàn có thể được điều khiển từ một master duy nhất. Với địa chỉ cửa hàng 7 bit sẽ sở hữu 128 (2 nón 7) add duy nhất. Bài toán sử dụng showroom 10 bit ko phổ biến, tuy thế nó cung ứng 1.024 (2 mũ 10) showroom duy nhất. Để kết nối nhiều slave mang lại 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ở dàn ra 4,7K Ohm kết nối đường SDA với SCL với Vcc:

Nhiều master với nhiều slave
Nhiều master rất có thể được kết nối với một slave hoặc các slave. Sự cố với tương đối 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 dữ liệu cùng một thời điểm qua đường SDA. Để giải quyết và xử lý vấn đề này, từng master cần phải phát hiện xem mặt đường SDA thấp xuất xắc cao trước khi truyền tin nhắn. Nếu con đường SDA thấp, điều này có nghĩa là một master khác bao gồm quyền điều khiển và tinh chỉnh bus và master đó bắt buộc đợi để gửi tin nhắn. Nếu con đường SDA cao thì có thể truyền lời nhắn an toàn. Để kết nối nhiều master với khá nhiều slave, hãy sử dụng sơ đồ gia dụng sau, với những điện trở đẩy lên 4,7K Ohm kết nối các đường SDA cùng SCL với Vcc:

Ưu điểm với nhược điểm của I2C
Có không hề ít điều nghỉ ngơi I2C rất có thể khiến nó nghe bao gồm vẻ phức hợp so với các giao thức khác, nhưng lại có một số trong những lý do chính đại quang minh khiến chúng ta cũng có thể muốn hoặc không thích sử dụng I2C để kết nối với một thiết bị thay thể: