Saya mencoba menggerakkan layar LCD I2C ini dengan mikrokontroler ATxmega16A4U .
Kedua perangkat terdaftar untuk bekerja dengan frekuensi clock I2C hingga 400 kHz. Kedua perangkat adalah satu-satunya perangkat di bus I2C.
Namun, menghitung perhitungan untuk batas resistor pull-up memberikan beberapa nilai yang agak aneh.
Menghitung nilai resistor pullup minimum I2C:
Melihat lembar data UC, pada halaman 92 daftar kapasitansi input pin maksimum 10pF.
Namun untuk LCD, ada pada halaman 8 sesuatu yang disebut Capacitive load represent by each bus line
berlabel Cb, dan terdaftar pada nilai maksimal 400pF. Saya berasumsi saya hanya harus menambahkan nilai ini ke kapasitansi input UC 10pF, tapi ini tampaknya sangat tinggi dan perhitungannya tidak bagus.
Misalnya, ketika saya mencoba menghitung nilai resistor pullup maksimum untuk clock 400kHz:
Apakah saya salah menafsirkan lembar data LCD? Jelas nilai resistor pullup maksimum yang diijinkan tidak boleh lebih kecil dari nilai minimum yang diijinkan.
demikian juga, jika saya mengasumsikan kapasitansi bus bersih maksimum 400pF, saya mendapatkan:
masih di bawah nilai maksimum yang diijinkan.
Perhitungan Anda masuk akal. Ada perhitungan serupa dalam catatan aplikasi TI ini (bagian 4.1) . Perhatikan bahwa mereka menggunakan V cc = 1.8V untuk menghitung R min .
Ini dibayangkan bahwa C b adalah kapasitansi max bus yang LCD dapat bekerja dengan, dan tidak kapasitansi yang LCD menambah bus. Anda dapat menguji kapasitansi input I 2 C dengan mengukur konstanta RC-nya. Itu akan memberikan cek kewarasan urutan-of-magnitude.
sumber