Tính toán điện trở pullup I2C


10

Tôi đang cố gắng lái màn hình LCD I2C này bằng vi điều khiển ATxmega16A4U .

Cả hai thiết bị được liệt kê để hoạt động với tần số xung nhịp I2C lên đến 400 kHz. Hai thiết bị là thiết bị duy nhất trên bus I2C.

Tuy nhiên, việc tính toán các giới hạn điện trở kéo lên cho một số giá trị khá kỳ lạ.

Tính giá trị điện trở pullup tối thiểu I2C:

RmTôin= =Vcc-0,43mMột= =966,7Ω

Nhìn vào bảng dữ liệu uC, trên trang 92 liệt kê điện dung đầu vào pin tối đa là 10pF.

Tuy nhiên, đối với LCD, nó có trên trang 8 một cái gì đó được gọi Capacitive load represent by each bus linelà Cb và được liệt kê ở giá trị tối đa 400pF. Tôi giả sử tôi chỉ nên thêm giá trị này vào điện dung đầu vào 10pF uC, nhưng điều này có vẻ thực sự cao và các tính toán rất khó khăn.

Ví dụ: khi tôi thử tính toán giá trị điện trở pullup tối đa cho đồng hồ 400kHz:

Rmmộtx= =300nS10pF+400pF= =731,7Ω

Tôi có hiểu sai về bảng dữ liệu LCD không? Rõ ràng giá trị điện trở pullup tối đa cho phép không thể nhỏ hơn giá trị cho phép tối thiểu.

tương tự, nếu tôi giả sử điện dung bus tối đa là 400pF, tôi nhận được:

Rmmộtx= =300nS400pF= =750Ω

vẫn dưới giá trị tối đa cho phép.

Câu trả lời:


11

Có một lỗi đánh máy trong biểu dữ liệu Atmel, thời gian tăng cho trường hợp 100kHz phải là 1000ns, không phải 100ns (không cần phải thấp hơn trường hợp 400kHz 300ns) thì bạn sẽ nhận được:

1bạnS400pF= =2,5kΩ

Bảng dữ liệu LCD (gần như chắc chắn) có nghĩa là điện dung của bus tối đa, không phải là điện dung mà nó thêm vào bus. Nó có thể thêm khoảng 10pF. Bạn có thể kiểm tra bằng máy đo LCR hoặc chỉ thiết lập nó với điện trở 2k và xem thời gian tăng.

Nhiều thiết bị không tuân thủ đầy đủ các thông số kỹ thuật 400kHz chính thức , vì vậy tốt nhất bạn nên tham khảo các điều kiện này để hiểu các điều kiện theo đó 400kHz có thể hoạt động (cụ thể là điện dung xe buýt, pullup / nguồn hiện tại / v.v.) lưu ý 4 trên trang.47:

[4] Để lái xe tải đầy đủ ở 400 kHz, cần có 6 mA IOL ở 0,6 V VOL. Các bộ phận không đáp ứng thông số kỹ thuật này vẫn có thể hoạt động, nhưng không ở 400 kHz và 400 pF)

Hơn nữa, các bảng này khá hữu ích và có vẻ đồng ý với các tính toán của bạn:

Kéo I2C


Vâng, tôi nhận thấy rằng về bảng dữ liệu. tín hiệu 400kHz sẽ có thời gian tăng ngắn hơn tín hiệu 100kHz: D
helloworld922

1

Tính toán của bạn có ý nghĩa. Có một tính toán tương tự trong ghi chú ứng dụng TI này (phần 4.1) . Lưu ý rằng họ sử dụng V cc = 1.8V để tính R min .

Có thể hình dung rằng C b là điện dung bus tối đa mà LCD có thể làm việc và không phải là điện dung mà LCD thêm vào bus. Bạn có thể kiểm tra điện dung của các đầu vào I 2 C bằng cách đo hằng số RC của chúng. Điều đó sẽ cung cấp việc kiểm tra độ sạch theo thứ tự.

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.