Stručně řečeno, jaký je maximální datový tok, kterého lze dosáhnout zápisem na sběrnici I2C z Raspberry Pi? Mělo by to být teoretické maximum 100 kB / s?
Podrobněji píšu na sběrnici I2C z mého Pi a posílá zprávy na 10 mikrokontrolérů PWM, každý se 16 kanály. (Model je Adafruit's PCA9685).
Chtěl bych být schopen aktualizovat tyto registry na něco jako 10-20Hz. Každý kanál má dvoubajtový registr, takže naivně bych očekával, že se bude rovnat 16 * 10 * 20 = 3,2 kB / s. To je v rámci limitu protokolu 100 kB / s.
Když se však pokusím řídit tyto mikrokontroléry ze skriptu Pythonu běžícího na mém Pi, jsem schopen dosáhnout pouze frekvence aktualizace 2 Hz; Vytvořil jsem profil kódu a většinu času jsem strávil v knihovně, která skutečně volá zařízení / dev / i2c *.
Zajímalo by mě, jestli existuje omezení hardwaru nebo ovladače, které omezuje bitrate?
Používám model 1. generace B, Raspbian verze 2015-02-16.