OrangePi Kullanıyorum Ama I2C de çok büyük işlemci yükü harcıyor.

Başlatan clonex, 13 Haziran 2018, 14:34:50

clonex

Alıntı yapılan: ibocakir - 18 Haziran 2018, 20:19:13Hocam yerinde olsam I2C ile okuyacağın slave cihaz/entegre ne ise bir MCU ile okuyup OrangePi'te UART'tan söylerdim.

Aynı mantık değil mi ? I2C' nin normalde daha hızlı olması gerekmiyor mu ?


ibocakir

I2C Slave cihazın orangepi'nin maksimum hızına ulaşabiliyor mu ?

clonex

Alıntı yapılan: ibocakir - 19 Haziran 2018, 16:23:03I2C Slave cihazın orangepi'nin maksimum hızına ulaşabiliyor mu ?

Ne demek istediğinizi anlayamadım hocam.

SERRO EFE

OrangePi nin i2c clock hızı bağlı olan donanımın hızını aşıyor olabilir. Bu ikisi birbirine uyumlu olması gerekli.
Örneğin OrangePi 4Mhz hızla i2c haberleşmesi yapmaya çalışıyodur ama bağlı olan entegre 1.7Mhz maksimum hızıdır.

clonex

Alıntı yapılan: mufitsozen - 18 Haziran 2018, 16:52:33I2C interrupt'ina bir python callback fonksiyonu ekleyerek basla. Daha sonra Callback fonksiyonunda isledigin bilgiyi bir Queue ile ana python programina(thread'e) aktar mesela

Hocam Allah senden razı olsun. Hiç threading ile yapmak aklıma gelmemişti. O şekilde yaptım inanın işlemci yükü sıfıra indi direk. %10 civarında chrome kullanıyor. Çok teşekkürler.

Hocam, bu neyden kaynaklanıyorda böyle oldu? Sırasıyla bashtan işlem yaptırmışım, yada hepsini thread üzerinden yaptırmışım mantık aynı gibi gözüküyor ama bu neyden farklılık söz konusu?

Bu eksikliği giderebilmek için hangi konulara bakmam gerekiyor?

Yardımcı olursanız çok sevinirim.

mufitsozen

Alıntı yapılan: clonex - 21 Haziran 2018, 01:53:28Hocam Allah senden razı olsun. Hiç threading ile yapmak aklıma gelmemişti. O şekilde yaptım inanın işlemci yükü sıfıra indi direk. %10 civarında chrome kullanıyor. Çok teşekkürler.
Allah senden de razi olsun.

Verdigim basit ipucu/anahtar kelime(keyword)lerden cozumu bulmussun. Buda Allahin sana verdigi akil, fikir ve calisma/ogrenme azmini kullanmaya calistigini gosteriyor.

Modern MCUlari dogru programlarsan zaten %10-15den daha fazla yukleyebilmek icin COOOOK ama COOOOOK  ciddi bir program yazman lazim. picproje'deki tipte iki usart, i2c, spi, canbus adc,dac gpio kontrol eden bir program yazsaniz, duzgun bir sekilde yazilirsa %10-15den fazla yuk binmez.

Amma 72Mhz bir MCU alip, delay kullanip led yakip sonduren bir programla %98 yuk yapabilirsin  :)


Alıntı yapılan: clonex - 21 Haziran 2018, 01:53:28Hocam, bu neyden kaynaklanıyorda böyle oldu? Sırasıyla bashtan işlem yaptırmışım, yada hepsini thread üzerinden yaptırmışım mantık aynı gibi gözüküyor ama bu neyden farklılık söz konusu?
Bu temel bilgisayar proglama kavram ve teknikleri kullanilmadigindan oluyor.


Alıntı yapılan: clonex - 21 Haziran 2018, 01:53:28Bu eksikliği giderebilmek için hangi konulara bakmam gerekiyor?

Yardımcı olursanız çok sevinirim.

Tabiiki yardimci olmaya calisirim ama sizin bilginiz, tecrubeniz vb ile ilgili birsey bilmedigim icin onerilerimi nasil kurayim/yapilandirayim bilemedim.
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.