Tốc độ và độ tin cậy tối thiểu của I2C


12

Có tốc độ xung nhịp tối thiểu được chỉ định bởi I2C không? Tôi biết tốc độ xung nhịp được sử dụng rộng rãi nhất là 100kHz và có chế độ "nhanh" 400kHz được hỗ trợ bởi một số thiết bị và chế độ nhanh hơn nhưng được hỗ trợ bởi các thiết bị khác (tôi nghĩ là 1 MHz?). Vì tín hiệu SCK được tạo bởi chủ, tôi cho rằng người ta có thể hoạt động ở tốc độ chậm hơn nhiều so với bất kỳ tín hiệu nào - có bị ràng buộc thấp hơn trong thực tế không? Các thiết bị nô lệ quan tâm đến tốc độ xung nhịp đến mức nào (ví dụ như thông thường chúng có thời gian chờ ngắn)? Lý do tôi hỏi là tôi tự hỏi liệu có thể chạy I2C trên một khoảng cách dài hơn (ví dụ 20 feet) để lập trình EEPROM I2C đáng tin cậy trong một thiết lập thử nghiệm sản xuất. Tôi cho rằng nó sẽ không hoạt động đáng tin cậy trong khoảng cách đó với tốc độ dữ liệu tiêu chuẩn.


Chế độ tốc độ cao cho phép đồng hồ tối đa 3,4 MHz. Điện dung bus 100 pF.
stevenvh

Câu trả lời:


16

Không, không có tần số tối thiểu, tần số xung nhịp tối thiểu là 0 hoặc DC. Xem thông số kỹ thuật , trang 48.

Nhưng bạn sẽ phải chú ý đến thời gian tăng và giảm. Đó là tối đa 1000 ns và 300 ns. Và một cáp dài hơn, với một số điện dung sẽ ảnh hưởng đến các cạnh, bất kể tần số.

Đó là điện dung, cùng với điện trở kéo lên sẽ xác định thời gian tăng. Thời gian rơi không phải là vấn đề vì FET kéo mức thấp xuống có điện trở rất thấp, và sau đó hằng số thời gian rơi cũng sẽ rất thấp. Vì vậy, chúng tôi còn lại với thời gian tăng. Để có được thời gian tăng 1000 ns trên cáp 200 pF, điện trở kéo lên của bạn không được lớn hơn 2,2 kΩ. (thời gian tăng lên 90% giá trị cuối.)

nhập mô tả hình ảnh ở đây

Biểu đồ cho thấy điện trở kéo lên tối đa (tính bằng Ω) so với điện dung cáp (tính bằng pF) để có được các cạnh tăng 1000 ns. Lưu ý rằng các thiết bị I2C không phải chìm hơn 3 mA, do đó, ở mức 3,3 V, điện dung của bus không nên cao hơn khoảng 395 pF, nếu không, điện trở kéo lên phải nhỏ hơn 1100 và cho phép nhiều hơn hơn 3 mA. Đó là những đường đứt nét màu xanh lục. Đối với hoạt động 5 V, công suất cho phép thậm chí là 260 pF, đối với giá trị kéo lên 1667 ((các đường đứt nét màu tím).


Ai nói rằng thiết bị I2C có thể chìm tối đa 3mA? Các thiết bị I2C của tôi có VOL = 0,4 V cho IOL = 20mA. Điều này có nghĩa là nó có thể chìm nhiều dòng điện hơn nên các điện trở kéo lên có thể nhỏ hơn. Điều này gây ra rằng nhiều điện dung có thể được xử lý. @stevenvh
Kono

Một ví dụ là nô lệ Arduino. Chúng có thể chìm tới 10mA trước khi VOL = 0,4-0,5V. Điều này có nghĩa là họ có thể lái các xe tải cao hơn nhiều.
Kono

Hầu hết các thiết bị I2C thực sự có thể chỉ chìm 3mA, nhưng ngày nay có nhiều thiết bị hơn với khả năng chìm nhiều hơn. May mắn!
Kono

4

Tôi đã chạy I2C ở khoảng 100Hz mà không gặp vấn đề gì. Giống như @stevenvh đã nói, chỉ cần lo lắng về tốc độ tối đa và điện dung đường truyền.


2
Tôi có i2c một bước. Điều đó không đảm bảo mọi thiết bị bạn tìm thấy sẽ được chế tạo theo cách đó, nhưng về mặt kỹ thuật không có gì để ngăn thiết bị hoạt động "xuống DC".
gbarry

4

Bạn sẽ có thể giải quyết các vấn đề về độ dài dòng với việc lựa chọn cẩn thận các trình điều khiển và kết hợp trở kháng.

Một tùy chọn khác, giả sử về lâu dài là một phần của thiết lập chứ không phải sản phẩm, có thể là sử dụng thứ gì đó xử lý khoảng cách tốt như RS422 (hoặc thực tế nói ngay cả RS232) để nói chuyện với một vi điều khiển được đặt trong đầu nối của bộ kiểm tra, mà sau đó sẽ nói chuyện i2c trong một khoảng cách khá ngắn đến mục tiêu.

Hoặc bạn có thể làm điều này mà không cần trí thông minh, sử dụng một bảng nhỏ bắc cầu giao thức báo hiệu khác biệt với các máy thu kích hoạt Schmidt đến và từ tín hiệu i2c tại mục tiêu.

Việc chạy của bạn có thể không đủ lâu để thời gian truyền tín hiệu (vấn đề giải quyết vắng mặt) sẽ yêu cầu tốc độ xung nhịp đặc biệt chậm để tránh quay vòng xe buýt trong khi dữ liệu cũ vẫn còn trong chuyến bay.

Tất nhiên bạn sẽ muốn thực hiện xác minh đọc lại dữ liệu bạn vừa lập trình.

Chỉ để so sánh, màn hình VGA IIRC có đầu đọc ID i2c (hoặc giống như i2c), có thể vẫn hoạt động nếu bạn thêm cáp mở rộng 6 feet vào cáp 3 hoặc 4 chân.

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.