M
Michael Schlegel
Guest
Hallo,
ich habe folgendes Verständnisproblem mit dem I2C-Bus Protokoll:
Wenn der Master Transmitter und der Slave Receiver ist kann der Slave,
wenn er keine Daten mehr empfangen kann, ein NoAcknowledge senden und
der Master, wenn er nicht mehr senden mag, ein Stop-Bit.
Wenn aber der Master Receiver und der Slave Transmitter ist kann nur der
Master durch ein NoAcknowledge oder Stop-Bit die Übertragung beenden.
Was macht aber der arme Sklave wenn der Meister mit Acknowledge immer
mehr Daten haben will, der Sklave aber keine mehr zum Senden hat? SCL
solange auf Low ziehen und damit den ganzen Bus blockieren bis wieder
Daten zum Senden da sind kann ja eigentlich nicht die Lösung sein. Aber
selbst die I2C-Spec von Philips schweigt sich genau zu diesem Fall aus.
MfG
Michael
--
Michael Schlegel
Faculty of Electrical Engineering and Information Technology
Chemnitz University of Technology, Germany
http://www.tu-chemnitz.de/~micsch
ich habe folgendes Verständnisproblem mit dem I2C-Bus Protokoll:
Wenn der Master Transmitter und der Slave Receiver ist kann der Slave,
wenn er keine Daten mehr empfangen kann, ein NoAcknowledge senden und
der Master, wenn er nicht mehr senden mag, ein Stop-Bit.
Wenn aber der Master Receiver und der Slave Transmitter ist kann nur der
Master durch ein NoAcknowledge oder Stop-Bit die Übertragung beenden.
Was macht aber der arme Sklave wenn der Meister mit Acknowledge immer
mehr Daten haben will, der Sklave aber keine mehr zum Senden hat? SCL
solange auf Low ziehen und damit den ganzen Bus blockieren bis wieder
Daten zum Senden da sind kann ja eigentlich nicht die Lösung sein. Aber
selbst die I2C-Spec von Philips schweigt sich genau zu diesem Fall aus.
MfG
Michael
--
Michael Schlegel
Faculty of Electrical Engineering and Information Technology
Chemnitz University of Technology, Germany
http://www.tu-chemnitz.de/~micsch