การคำนวณตัวต้านทาน I2C pullup


10

ฉันกำลังพยายามขับจอแสดงผล LCD I2C นี้ด้วยไมโครคอนโทรลเลอร์ATxmega16A4U

อุปกรณ์ทั้งสองจะแสดงรายการเพื่อทำงานกับความถี่สัญญาณนาฬิกา I2C สูงถึง 400 kHz อุปกรณ์สองชิ้นเป็นอุปกรณ์เดียวในบัส I2C

อย่างไรก็ตามการคำนวณหาขอบเขตตัวต้านทานแบบดึงขึ้นให้ค่าที่ค่อนข้างแปลก

การคำนวณค่าตัวต้านทานการดึงต่ำสุดของ I2C:

Rม.ผมn=V-0.43ม.A=966.7Ω

ดูที่เอกสารข้อมูลทางเทคนิคของ uC ในหน้า 92 แสดงรายการค่าความจุขาเข้าสูงสุดของ 10pF

อย่างไรก็ตามสำหรับ LCD มันมีหน้า 8 สิ่งที่เรียกว่าCapacitive load represent by each bus lineป้ายชื่อเป็น Cb และแสดงไว้ที่ค่าสูงสุด 400pF ฉันสมมติว่าฉันควรจะเพิ่มค่านี้ลงใน 10pF uC input capacitance แต่ดูเหมือนว่าจะสูงมากและการคำนวณนั้นไม่มีประโยชน์

ตัวอย่างเช่นเมื่อฉันลองคำนวณค่าตัวต้านทานการดึงสูงสุดสำหรับนาฬิกา 400kHz:

Rม.ax=300ns10พีF+400พีF=731.7Ω

ฉันตีความแผ่นข้อมูล LCD ผิดหรือไม่ เห็นได้ชัดว่าค่าตัวต้านทานการดึงสูงสุดที่อนุญาตไม่สามารถมีค่าน้อยกว่าค่าที่อนุญาตขั้นต่ำ

เช่นกันถ้าฉันถือว่าความจุสุทธิบัสสูงสุดที่ 400pF ฉันจะได้รับ:

Rม.ax=300ns400พีF=750Ω

ยังอยู่ภายใต้ค่าสูงสุดที่อนุญาต

คำตอบ:


11

มีการพิมพ์ผิดในแผ่นข้อมูล Atmel เวลาเพิ่มขึ้นสำหรับกรณี 100kHz ควรเป็น 1,000ns ไม่ใช่ 100ns (ไม่จำเป็นต้องต่ำกว่า 400kHz กรณี 300ns) จากนั้นคุณจะได้รับ:

1ยูs400พีF=2.5kΩ

แผ่นข้อมูล LCD (เกือบจะแน่นอน) หมายถึงความจุบัสสูงสุดไม่ใช่ความจุที่เพิ่มเข้ากับบัส มันอาจจะเพิ่มประมาณ 10pF คุณสามารถตรวจสอบด้วยเครื่องวัด LCR ​​หรือเพียงแค่ตั้งค่าด้วยตัวต้านทาน 2k และดูเวลาที่เพิ่มขึ้น

อุปกรณ์จำนวนมากไม่ปฏิบัติตามข้อกำหนด 400kHz อย่างเป็นทางการดังนั้นจึงควรอ้างถึงสิ่งเหล่านี้เพื่อทำความเข้าใจเงื่อนไขที่ 400kHz สามารถทำงานได้ (ความจุบัส, การดึง / แหล่งกระแส / ฯลฯ ) ดูส่วนที่ 6 เป็นต้นไป (ดูตัวอย่าง หมายเหตุ 4 ใน pg.47:

[4] เพื่อขับโหลดบัสเต็มความเร็ว 400 kHz ต้องใช้ IOL 6 mA ที่ 0.6 V VOL ชิ้นส่วนที่ไม่เป็นไปตามข้อกำหนดนี้ยังสามารถใช้งานได้ แต่ไม่ทำงานที่ 400 kHz และ 400 pF)

นอกจากนี้ตารางเหล่านี้มีประโยชน์มากและดูเหมือนจะเห็นด้วยกับการคำนวณของคุณ:

I2C Pullups


ใช่ฉันสังเกตเห็นว่าเกี่ยวกับแผ่นข้อมูล สัญญาณ 400kHz ควรมีเวลาเพิ่มขึ้นสั้นกว่าสัญญาณ 100kHz: D
helloworld922

1

การคำนวณของคุณสมเหตุสมผล มีการคำนวณที่คล้ายกันในนี้คือทราบ app TI (มาตรา 4.1) แจ้งให้ทราบว่าพวกเขาใช้วีซีซี = 1.8V สำหรับการคำนวณRนาที

เป็นไปได้ว่าC bเป็นความจุบัสสูงสุดที่จอแอลซีดีสามารถใช้งานได้และไม่ใช่ความจุที่ LCD เพิ่มเข้ากับบัส คุณสามารถทดสอบความจุของอินพุตI 2 C ได้โดยการวัดค่าคงที่ RC นั่นจะให้การตรวจสุขภาพจิตตามลำดับ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.