Thiết bị I2C: 3.3V và 5V mà không thay đổi mức trên bus 3.3V?


12

Tôi có thực sự cần một bộ chuyển đổi mức nếu tôi sử dụng các thiết bị hỗ trợ 5V trên xe buýt I2C có pull-up lên 3.3V không? Theo hiểu biết của tôi, các thiết bị sẽ chỉ kéo các đường dây (SDA, SCL) xuống thấp (xuống đất) và không bao giờ lái điện áp cung cấp của chúng đến xe buýt. Vì vậy, tôi không thấy một lý do cho bộ dịch chuyển cấp miễn là tất cả các thiết bị phát hiện điện áp từ các pull-up (3.3V) là mức logic cao. Đó phải là trường hợp với các thiết bị sử dụng 5V làm nguồn cung cấp.

Trong trường hợp của tôi, tôi có một IC có đầu vào không chịu được 5V như chủ và tôi có thể cấp nguồn cho nô lệ của mình với 3,3V nhưng sử dụng 5V thì dễ dàng hơn trong mạch của tôi và cho phép tốc độ xung nhịp (bên trong) cao hơn cho các nô lệ.


2
Vì vậy, để tổng hợp mọi thứ: - Không có chip nào gặp nguy hiểm khi sử dụng các thiết bị có 5V như Vdd trên bus I2C sử dụng pull-up đến 3.3V - Nó có thể hoạt động hoặc không, tùy thuộc vào dung sai, thiết kế chip bên trong, ...
Jannis

2
Đúng - không có nguy cơ thiệt hại, chỉ không đảm bảo hoạt động chính xác.
Adam Lawrence

Câu trả lời:


15

Tôi2C

"Do sự đa dạng của các thiết bị công nghệ khác nhau (CMOS, NMOS, lưỡng cực) có thể được kết nối với bus I2C, các mức logic '0' (THẤP) và '1' (CAO) không cố định và phụ thuộc vào mức độ liên quan của VDD. Các mức tham chiếu đầu vào được đặt là 30% và 70% của VDD, VIL là 0,3VDD và VIH là 0,7VDD. Xem Hình 38, sơ đồ thời gian. Một số mức đầu vào thiết bị cũ được cố định ở VIL = 1,5 V và VIH = 3.0 V, nhưng tất cả các thiết bị mới yêu cầu thông số kỹ thuật 30% / 70% này. Xem Phần 6 để biết thông số kỹ thuật điện. " (trang 9)

0,7×VDD

trích từ thông số kỹ thuật NXP I2C rev.  4

Đối với hệ thống 5V của bạn:

0,7×5V= =3,5V

0,3×5V= =1,5V

0,7×VDD

Số dặm của bạn có thể thay đổi, nhưng tốt nhất là luôn ở trong thông số kỹ thuật bất cứ khi nào có thể ...


Cảm ơn đã dọn dẹp stevenvh. Tôi đã vội vã ngày hôm qua.
Adam Lawrence

11

Câu trả lời của Cees là không chính xác, đặc biệt là "luôn luôn" và "bất kỳ". Bộ vi điều khiển I / O có thể cần 0,6 Vdd ở mức tối thiểu cho mức cao, loại khác có tối thiểu 0,7 Vdd và giống như Madmanguruman chỉ ra đây là tiêu chuẩn cho I2C. 0,7 Vdd là 3,5 V khi cung cấp 5 V, vì vậy 3,3 V đã quá thấp.

Nhưng nó thậm chí còn tồi tệ hơn. Bộ điều chỉnh điện áp thường có dung sai 5% trên điện áp đầu ra danh định của chúng, vì vậy trường hợp xấu nhất 5 V có thể là 5,25 V, và sau đó 0,7 Vdd trở thành 3.675 V. Đầu vào tối thiểu cho mức cao. Nếu 3,3 V có dung sai 5% âm thì 3,3 V trở thành 3.135 V. Vì vậy, với các dung sai được tính đến, đầu vào có thể là một nửa volt quá thấp, hoặc 15%.

Vì thế,

Vì vậy, tôi không thấy một lý do cho bộ dịch chuyển cấp miễn là tất cả các thiết bị phát hiện điện áp từ các pull-up (3.3V) là mức logic cao. Đó phải là trường hợp với các thiết bị sử dụng 5V làm nguồn cung cấp.

là một kết luận kịp thời. Luôn kiểm tra datasheets và làm phép tính.


-1

Tôi cảm thấy rằng những câu trả lời khác không thực sự trả lời câu hỏi của Jannis. Ông hỏi về việc sử dụng các thiết bị 5V trên xe buýt 3,3V (có lẽ là 3,3V MCU). Tôi đồng ý rằng có các pull-up được gắn vào 3.3V sẽ ổn, ví dụ như an toàn cho thiết bị chính, vì các chân SDA / SCL sẽ chỉ kéo xuống, như ông đã đề cập. Xin lưu ý rằng các nô lệ và chủ sẽ cần phải chia sẻ một điểm chung (chân Vss có khả năng) để bảo vệ MCU khỏi quá điện áp, nhưng dù sao thì điều này cũng có thể xảy ra. Vì vậy, phương pháp của Jannis sẽ hoạt động, không có bộ dịch mức.


2
Chào mừng bạn Tôi nhận thấy bạn là một người đóng góp mới, vì vậy bạn có thể không nhận ra rằng bạn đang cung cấp câu trả lời cho một câu hỏi đã hơn sáu tuổi. Hệ thống liên tục đưa ra các câu hỏi cũ để chúng được sửa đổi, bạn nên ghi nhớ điều đó.
Edgar Brown
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.