jeder Controller hat ja "nur" je ein Byte von 16 verschiedenen I2C Devices zu lesen. Wenn wir von einem Standard I2C ausgehen, hat der eine Taktfrequenz von 100 kHz. Wenn wir mal großzügig für die Abfrage eines Bausteins (Adresse senen, ACT senden, Daten senden, Stop senden usw.) mal 50 Bus-Zyklen ansetzen, schaffen wir also 2.000 Abfragen pro Sekunde. Wenn wir noch ein wenig Overhead für die Verarbeitung im Controller mitrechnen dürften es also theoretisch möglich sein, alle Expander 100 mal pro Sekunde abzufragen. Wenn ein Modul keine Veränderung eines seiner Eingangs-Pins erkennt, muss es auch nicht per RS485 kommunizieren. Wenn es jedoch eine fallende Flanke erkennt, meldet es das an ein Master-Modul. Das nimmt alle "Treffermeldungen" entgegen und vergleicht es mit dem erwarteten Ergebnis. Zur Sicherheit wartet es doppelt so lange wie die Ergennung eigentlich dauert würde und sendet dann die Meldung für das Schalten des nächsten Test-Pegels. Damit sollten immer noch 50 verschiedene Signale pro Sekunde getestet werden können. Bei 500 Messpunkten würde ein Durchlauf also 10 Sekunden dauern. Wenn wir einen Fast-I2C oder weniger Bausteine pro Controller verwenden, wäre das ganze auch noch deutlich schneller zu schaffen.
Ich gebe Dir aber recht, dass damit lose Klemmen usw. nicht erkannt werden würden. Das Prüfergebnis würde nur aussagen, ob die richtigen Drähte in den richtigen Klemmen gelandet sind und ob es irgendwo Kurzschlüsse gibt![]()
Lesezeichen