I2C ไม่ได้ถูกออกแบบมาให้ใช้งานในระยะทางไกล แต่ฉันรู้ว่ามีแอพพลิเคชั่นหลายตัวที่ใช้งานจริงในระยะทางประมาณ 2 เมตร ฉันยังรู้กรณีหนึ่งที่พวกเขามีปัญหากับเรื่องนั้นและมันก็ถูกแก้ไขในที่สุดโดยการแก้ไขลูปพื้นดินที่ฉันเชื่อ
เพื่อให้แน่ใจว่ามันจะทำงานได้คุณควรใช้ตัวขยายบัส I2C เช่น P82B715
อย่างไรก็ตามแผ่นข้อมูลของ PB2B715กล่าวว่าต่อไปนี้ในส่วน 8.2:
สำหรับคู่บิดทั่วไปหรือสายเคเบิลแบนที่ใช้สำหรับโทรศัพท์หรือ Ethernet (Cat5e) สายไฟ, ความจุที่มีอยู่ประมาณ 50 pF ถึง 70 pF / เมตรเพื่อให้สายเคเบิลสามารถในทางทฤษฎีจะขึ้นถึง 50 เมตรยาว จากประสบการณ์จริง30 ม. ได้พิสูจน์ความยาวสายเคเบิลที่ปลอดภัยเพื่อขับเคลื่อนด้วยวิธีง่าย ๆ นี้สูงสุด 100 kHzด้วยค่าที่แสดง ระยะทางไกลกว่าและความเร็วที่สูงขึ้นเป็นไปได้ แต่ต้องมีการออกแบบอย่างระมัดระวังมากขึ้น
ดังนั้นผู้เชี่ยวชาญ (NXP เป็นอดีตฟิลิปส์ผู้ประดิษฐ์ของ I2C) กล่าวว่า 30 เมตรได้รับการพิสูจน์แล้วว่าเป็นระยะทางที่ทำได้ ประสบการณ์ของฉันบอกว่า 2 เมตรเป็นระยะทางที่ทำได้และประสบการณ์ที่ได้รับรายงานกลับมาให้ฉันระบุว่ารถบัส I2C ที่โหลดหนักกว่าโดยไม่ต้องมีตัวขยายใด ๆ
จุดสำคัญในการใช้งานบัส I2C ในระยะทางไกลคือ:
- การใช้สายเคเบิลความจุต่ำ (คู่บิด / Ethernet);
- การ จำกัด ความเร็วบัส
- มีพูลอัพที่มีขนาดที่ถูกต้อง
การคำนวณแบบพูลอัพ
Texas Instruments มีดีทราบโปรแกรมประยุกต์ (SLVA689) เกี่ยวกับการคำนวณดึงขึ้น
- ขอบเขตล่างของ pullup (ค่าต่ำสุด) ถูกกำหนดโดยกระแสต่อพ่วงที่อ่อนแอที่สุดบนบัสสามารถดึงได้และแรงดันไฟฟ้าสูงสุดที่แทน 0 สำหรับอุปกรณ์ต่อพ่วงใด ๆ ดังนั้นถ้า 1V ยังคงเป็น 0 VCC ของคุณคือสูงสุด 3V6 และอุปกรณ์ที่อ่อนแอที่สุดของคุณสามารถดึงได้เพียง 20mA ความต้านทานของคุณจะถูกกำหนดโดยการสูญเสียแรงดันไฟฟ้าผ่านตัวต้านทานและอุปกรณ์ที่ดึงมาปัจจุบัน:\(3.6 V−1 V) / 20 mA=130 Ω
- ขอบเขตสูงสุดถูกกำหนดโดยเวลาเพิ่มขึ้นสูงสุด: ความถี่ I2C สูงสุดของคุณเกี่ยวข้องโดยตรงกับความถี่นั้น แต่ก็มีขีด จำกัด สูงสุดที่กำหนดโดยโปรโตคอล ขีด จำกัด บนเป็นC_b) โดยที่คือเวลาเพิ่มขึ้นสูงสุดและคือความจุบัส ดังนั้นหากเป็น 400pF และรถบัสที่มีการดำเนินงานในโหมดปกติ ( = 1 มิลลิวินาที) แล้วคุณจะพบ\ ใบสมัครของ TI มีกราฟเพื่อให้คุณสามารถค้นหาค่าที่เหมาะสมได้อย่างรวดเร็วRmax=tr/(0.8473∗Cb)trCbCbtrRmax=2950 Ω
- แน่นอนว่าค่าของการดึงคือมูลค่าที่เท่ากันของพูลอัพทั้งหมดรวมกัน คุณอาจมีการดึงที่ปลายต้นแบบปลายทาสและทาสอื่น ๆ บนรถบัส
- ยิ่งคุณเป็น "ขีด จำกัด " ยิ่งคุณต้องคำนึงถึง "ปรสิต" เช่นแรงดันไฟฟ้าตกที่สายเคเบิล