Gast
#7148348
Hallo, ich versuche mich gerade daran den Si1141/42/43 Sensor auf dem deca fpga board zum laufen zu bringen und hab da etwas Schwierigkeiten das i2c timing zu verstehen. Genauer wann SDA umgeschaltet werden soll (input / output) und wann der Zustand von SDA gesetzt / gelesen werden soll. Im db des Sensors stehen folgende Angaben:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
Ich würde SCL mit 400KHz betreiben. Mein Plan (ausgenommen während der start / stop condition) ist umschalten von SDA (input / output) sowie setzen von SDA in der Mitte der SCL Low Phase und lesen von SDA in der Mitte der SCL High Phase. Was mich dabei aber etwas verwirrt ist die Input Data Hold Time: min 0 ns. Bedeutet das jetzt wenn ich SDA lesen möchte z.B. ACK/NACK vom Sensor das ich das beim Flankenwechsel (low->high) von SCL machen sollte weil in der Mitte der SCL High Phase evtl. der Zustand nicht mehr valide ist oder interpretiere ich da einfach zuviel rein? Wollte das einfach nur verstanden haben bevor ich jetzt wild drauflos designe und mich dann nachher wundere warum es evtl. nicht funktioniert. Thx