I2C không được thiết kế để sử dụng trong khoảng cách xa nhưng tôi biết một số ứng dụng thực sự được sử dụng trong khoảng cách khoảng 2 mét. Tôi cũng biết một trường hợp họ gặp vấn đề với điều đó và nó đã được khắc phục một cách ngẫu nhiên bằng cách sửa các vòng lặp trên mặt đất mà tôi tin.
Để chắc chắn rằng nó sẽ hoạt động, bạn nên sử dụng bộ mở rộng bus I2C như P82B715.
Tuy nhiên, biểu dữ liệu của PB2B715 cho biết như sau trong phần 8.2:
Đối với cáp xoắn đôi hoặc cáp phẳng thông thường, như được sử dụng cho hệ thống dây điện thoại hoặc Ethernet (Cat5e), điện dung đó vào khoảng 50 pF đến 70 pF / mét , theo lý thuyết, cáp có thể dài đến 50 m . Từ kinh nghiệm thực tế, 30 m đã chứng minh chiều dài cáp an toàn được điều khiển theo cách đơn giản này, lên tới 100 kHz, với các giá trị được hiển thị. Khoảng cách dài hơn và tốc độ cao hơn là có thể nhưng đòi hỏi thiết kế cẩn thận hơn.
Vì vậy, các chuyên gia (NXP là cựu Philips, nhà phát minh của I2C) nói rằng 30 mét đã được chứng minh là một khoảng cách có thể làm được. Kinh nghiệm của tôi nói rằng 2 mét là một khoảng cách có thể thực hiện được và những kinh nghiệm được báo cáo lại cho tôi chỉ ra rằng xe buýt I2C tải nặng hơn mà không có bất kỳ bộ mở rộng nào cũng có thể.
Các điểm chính để làm việc xe buýt I2C trên quãng đường dài là:
- Sử dụng cáp điện dung thấp (cáp xoắn / Ethernet);
- Hạn chế tốc độ xe buýt;
- Có pull-up có kích thước chính xác.
Tính toán pullup
Texas Cụ có một lưu ý ứng dụng tốt (SLVA689) về tính toán kéo lên .
- Giới hạn dưới của pullup (giá trị tối thiểu) được xác định bởi dòng ngoại vi yếu nhất trên bus có thể kéo và điện áp tối đa đại diện cho 0 cho bất kỳ thiết bị ngoại vi nào. Vì vậy, nếu 1V vẫn là 0, thì VCC của bạn tối đa là 3V6 và thiết bị yếu nhất của bạn chỉ có thể kéo 20mA, điện trở của bạn được xác định bởi tổn thất điện áp trên điện trở và dòng điện được kéo bởi thiết bị đó: (3.6 V−1 V) / 20 mA=130 Ω .
- Rmax=tr/(0.8473∗Cb)trCbCbtrRmax=2950 Ω. Ghi chú ứng dụng của TI có biểu đồ để bạn có thể tìm thấy các giá trị phù hợp một cách nhanh chóng.
- Tất nhiên giá trị cho pullup là giá trị tương đương của tất cả các pullups song song. Bạn có thể có một pullup ở đầu chủ, đầu nô lệ và bất kỳ nô lệ / chủ nào khác trên xe buýt.
- Bạn càng "ở giới hạn", bạn cũng cần phải tính đến "ký sinh trùng", chẳng hạn như sụt áp trong cáp.